駆け出しITインフラ・エンジニア向けの書籍、資料まとめ

諸事情によりITインフラ力を向上中なので、自分用のメモ代わりに、参考にしている書籍、資料を載せておきます。各プロトコルのRFC基本中の基本である、各ネットワーク・プロトコルの仕様です。実装寄りの話は足りないし、より新しいRFCで上書きされることも…

2014〜2015年に読んだお勧めの技術書のまとめ

今年は「システムの品質」が一大テーマでした。 現場の環境に合わせてテーラリングしつつ、実践していくのは大変です...品質関係Software Product Quality Control 最新の考え方、手法に基づく、ソフトウェア製品の品質管理についての教科書です。 ソフトウ…

Business Engineeringを勉強してみる

私は今までフレームワークやツールの開発、技術支援等、設計、実装周辺しか担当したことがなく、Business Engineeringに世界に疎いです。しかし、世間的には(特にSIerでは)「ビジネスが最も大事」「設計、実装は下請けに出す」というのがトレンドらしく、私…

デザインパターンとは何か?

私のキャリアはわずか数年ではありますが、最近になってデザインパターンについて考えがまとまってきたので「そもそもデザインパターンとは何か」を簡潔に説明したいと思います。人によって捉え方は様々ですので、こういう考えの人もいるんだと軽く捉えて頂…

JJUG CCC Fall 2014に行ってきました

JJUG CCC 2014 Fallに行ってきましたので、軽くまとめます。イベントの概要イベントの概要、タイムテーブルなどは、下記のURLを参照してください。JJUG CCC 2014 Fall会場の様子等私は初参加なのですが、休日にも関わらず大盛況でした。 セッションにもより…

Unified ProcessとScrumを比較してみる

有名なイテレーティブ系の開発プロセスであるUnified Processと、もっともよく利用されているアジャイル開発プロセスであるScrumのオーバービューを一枚絵にまとめてみました。かなり抽象化していますし、私の理解が浅いので、突っ込みどころも多いですが、…

シンプルなO/R Mapperを作ってみました

「なるべくシンプルに!」「XML、アノテーション、動的プロキシ、バイトコード生成の廃止」をお題目に、おもちゃみたいなO/R Mapperを即興で作ってみました。https://github.com/zyake/sumoきっかけは、仕事で利用したJPAのあまりの複雑さ、遅さ、効率の悪さ…

JavaOne 2014 サンフランシスコ報告会 Tokyoに参加しました

JavaOne 2014 サンフランシスコ報告会 Tokyoに参加してきたので、軽くまとめてみます。アーキテクチャトレンドと、EEのアップデート以外は関心が無いので、あまり触れません。イベントの概要 9月に米国で開催されたJavaOneの参加者がイベントの内容を共有す…

オブジェクト指向の簡潔なまとめ

最近になって、オブジェクト指向について改めて見直す機会があったので、簡潔にまとめてみました。そもそもオブジェクト指向とは?オブジェクト指向は、一般的にプログラミングテクニック扱いされています。しかし、本来は変更の多い「機能」ではなく 安定し…

Java EE7 CDI1.1のまとめ : その2 各種機能の解説

第一回はCDIの基本的な概念について解説したので、 第二回は具体的なCDIの各種機能について解説していきます。 依存関係の解決CDIの最も基本的な機能になります。 CDIでは他のイネーブルド・ビーンへの参照を@Injectアノテーションで渡します。 /** * DIに使…

Java EE7 CDI1.1のまとめ : その1 重要な概念

Javaのベンダー公式フレームワークであるJava EEでは、DI(Dependency Injection)の仕様である CDI(Context and Dependency Injection for Java EE)が提供されています。CDIはJava EEでアプリケーションを開発する上で避けては通れませんが、それ自体が複雑な…

SIerの問題点

世間一般では、SIerは非効率、プログラマのスキルが酷い、ガラパゴス化している等、評判が悪く袋叩きにあっているようです。実際にはグローバル水準で戦える高スキル者はいるし、特に某親会社の人達はみな頭の回転が速いし、志が高いです。一方で私の5年そこ…

Oracle Masterに見る資格試験の価値

昨年10〜12月頃に、「なんとなく面白そうだから」という理由で、Oracle MasterのBronze〜Goldまで一気に取得しましたが、今一すっきりせず、「何も理解できていないのではないか?」という気持ちでいっぱいでした。そこでOracle通の間で有名な「Exper Oracle …

自作のJavaScriptフレームワークを公開しました。

巷では、Backbone.js、AngularJS等が流行っているようですが、Java資産を使いたい、 そもそもスクリプト言語で開発なんてナンセンス!という、保守的なSIerさんには 評判が悪いようです。そこで良い感じのSIによる、SIのための、SIのフレームワークを自作し…

OneNoteがExcel方眼紙の代替となりうる7つの理由

私はSIer歴約5年ですが、現場では所謂「エクセル方眼紙」を扱うことが多いです。 エクセル方眼紙の任意の位置に文字列を配置できるメリットは大きく、 メモ書きや手順書、設計書等、あらゆる場面で活躍します。 この直感的な使いやすさはWordを凌駕していま…

2013年中に読んだ技術書のまとめ

2013年中に読んでためになった技術書をまとめたものです。 「広く(世間一般的な感覚ではなく、私の感覚で)浅く」「幅優先」で 進めてみました。ミドルウェア系去年、最も力を入れたのはミドルウェア系の書籍です。ミドルウェアの経験のなさが私の弱点のうち…

CIとソフトウェアのデリバリーについて

ビルド、デプロイ、テスト、リリースのタスクの重要性ソフトウェアのビルド、デプロイ、テスト、リリースはアドホックにマニュアルで行われることが多いが、実際にはこれらのタスクは極めて重要であり、設計や実装と同じく、顧客に価値を提供する「value str…

JBehaveでBehaver Driven Developmentを体験してみる

Behaver Driven Developmentって何?要するに、Domain Driven Designの「動くモデルをプロジェクトにおけるユビキタス言語にする」という発想と同じで、なんとか設計書、仕様書とテストケース、製品コードをばらばらに管理するのではなく、技術的詳細を隠蔽し…

「Design Patterns: Elements of Reusable Object-Oriented Software」の私的レビュー

今更ながら、有名な「Design Patterns: Elements of Reusable Object-Oriented Software」をひと通り読んだのでレビューを書いてみます。いいところデザインパターンの位置づけについて記述されている第一章では、そもそもデザインパターンとはどういう世界…

2012年中に読んだ技術書のまとめ

2012年中に読んでためになった技術書をまとめてみました。一応、順番はおおまかな重要度(お役たち度)のつもりです。OOP/OODThe Art and Science of Smalltalk Smalltalkだけでなく、オブジェクト指向プログラミング全般について解説しています。Smalltalkに…

ソート対象が動的に変わる場合PriorityQueueが期待通りに動作しない

Javaでアルゴリズムの練習用プログラムを作成したところ、PriorityQueueが期待どおりに動作せず、盛大にハマってしまったので、自分用のメモを残しておきます。 状況 以下のようにキューからオブジェクトを取り出すごとに、キュー内オブジェクトの ソートに…

The Art and Science of Smalltalkでオブジェクト指向を理解する

会社の先輩から勧められた「The Art and Science of Smalltalk」という本を読んでみました。元は紙の出版物ですが、作者の許可をとった人が以下のWebサイトで無料で公開しているようです。Stéphane Ducasse :: Free Online BooksSmalltalkって何? 1970年代か…

EJB3.1のContainer Managed Transactionでハマった

EJB3.1のContainer Managed Transaction(以下、CMT)を使用したWebアプリを動作させていたら、データソースのコネクションの開放漏れが原因で、コネクションプールがいっぱいになってしまう問題が発生しました。上記の問題が発生した原因は明白で、自分がEJB3…

「The Art of Unit Testing with Examples in .NET」を読んでみた

今のプロジェクトで膨大な数のUT/SIの作成、維持管理に苦労しているので、テストケース作成の体系的な知識が必要だと思い「The Art of Unit Testing with Examples in .NET」を読んでみました。 「The Art of Unit Testing with Examples in .NET」 テストし…

Ubuntu12で起動/レジューム時に画面の明るさを調整する

Ubuntu12で起動/レジューム時に画面の明るさを自動調整する方法の自分用まとめ■起動時の明るさの自動調整 起動時に/etc/rc.localを読み込むことで、自動的に設定できるようにする 1. /etc/rc.localを開く sudo vi /etc/rc.local 2. 次の行を追加 sudo chmod …

Jenkins On JBosssAS7環境構築

Jenkins On JBosssAS7環境構築 ■ゴール ・サービスとして登録したJBossAS7上でJenkinsを動作させること ・サンプルプロジェクトをジョブとして登録し、テストまで実行できること■事前条件 ・JBossAS7がサービスとして登録されていること■Jenkinsのデプロイ 1…

GITの共有リポジトリ環境を構築してみた

自宅のサーバ用ネットブックを使用し、GITの共有リポジトリ環境を構築してみました。■ゴール GITの共有サーバをLinux上に構築し、リモートのWindowsクライアントからアクセスし、pushまで可能とする。■GITの共有サーバの構築 ・事前条件 ・OS: Vine Linux 6.…

Beginning Databases With Postgresqlを読んでみた

きちんとRDBMSの基本的なことを押さえようということで、Beginning Databases With Postgresqlを読んでみました。 PostgreSQLをインストールするところから始まり、SQLの実行、ストアドプロシージャ、実行計画、管理系コマンド、さらに進んで、テーブルのデ…

今年度の達成度と来年度の展望@技術面

今年度の達成度 以下のように、「できるだけ広く、かつ重要なところは深く」の方針でカバー範囲を広げたおかげで、一人で実行7,8kのそれなりに複雑なツールを作れるくらいになった。 APIのコピペでない、きちんとした入門本を読む ネットワークプログラミン…

2011年を振り返ってみる

SE3年目が無事に(?)終わりました〜。大変だったけど、躍進の一年だった気がします。元々興味の対象が少なくて、人付き合いもほぼ無い暇人のアドバンテージを最大限に生かした「全リソース全力投入」戦略 + コミュ障気味なのを「きめ細かい配慮」と「意識合わ…