ゆとりなJavaプログラマが読むといいかもしれないオープンソースソフトウェア
Java出来ますって言ってるのにOpenJDKのコードをチェックアウトした事も無いようならモグリである可能性は高い。
一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。
OpenJDKのコードをチェックアウトした事も無いモグリです。こんにちは。
ま、それはともかくw 上記はいいエントリだし参考になります。ただまあモヒカンなのは事実だと思うのでゆとり路線でどういうオープンソースソフトウェアを読むと良いかもしれないって言うのを書いてみたいと思います。かもしれないって書いてるのがすでにゆとりですね。サーセンw
すでに語り尽くされているとは思いますが、これは外せない。
僕自身は下記のJUnit3.8.2を読解する記事を読んでからJUnit3.8.2を読んでみましたね。
Java World (ジャバ・ワールド) 2005年 9月号
- 出版社/メーカー: IDGジャパン
- 発売日: 2005/07/23
- メディア: 雑誌
- 購入: 2人 クリック: 75回
- この商品を含むブログ (7件) を見る
で、読みやすいんだけど、この意見はそれなりに納得できるかもw
JUnit. よく勧める人がいるけど, API でだいたい想像がつくものの中身はいまいち楽しくない. ダメというより優等生すぎてつまらない. もしかすると私は API デザインがドキュメントも含めきちんとしているものには食指が動かないのかもしれない. フレークワークの類も同じ理由で興味が湧かない. このへんの匙加減は悩ましい. お勉強という意味では読んだ方がいいんだろうけど, お勉強という理由だけでコードを読むのはしんどい.
心はさらわれるもの - Backnumbers: Steps to Phantasien
JUnitってコードサイズが小さく(3.8.2でたしか4KS程度)、依存ライブラリが無いので読みやすいんですよね。このJavaWorldの記事を読んでEclipseでどうソースを読むかを学んだ気がします。
僕はゆとりなのでfindとかgrepとかでソース読む気はおきなくて、Eclipseにアタッチできることが最重要ですw
その意味でいうとSeasarプロジェクトは、チュートリアルをダウンロードしてすぐEclipseにアタッチできるプロダクトが多いのでソースを読む敷居が低いですね。ドキュメント日本語だし、JavaDocも日本語が多いからね。
- S2Container
ということでSeasarプロジェクトの本丸S2Containerですね。
ただ結構巨大になっているので初期バージョンとかのほうがいいかも。例えば
http://seasarproject.g.hatena.ne.jp/keyword/S2%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E5%B1%A5%E6%AD%B4
にあるS2-EA1とか読む方がいいかも。規模が大きすぎると心が折れるからねw 規模が大きくても、機能追加してやろうとか目的をはっきりさせて読むならいいと思う。
- Struts 1.2.9
今更Strutsかよという声もありそうですがw、RequestProcessor読めばHTTPリクエストをどう処理するかわかって面白いんでないかと。
- Jenkins
いままで挙げたものは優等生タイプのものですが、ハーカー臭がするものも読んでみたいですよね。それならJenkinsですね。
ただこれはまあ巨大なので全部はつらいです。ただ下記の川口さんの記事とあわせてremotingや実行可能warあたりを読むのは面白いかと。
- 作者: 桜井雅史,縣俊貴,西田圭介,青木靖,川口耕介,井奥雄一,冨田慎一,森田創,鶴岡直也,長野雅広,武者晶紀,富士慶,中山大輔,常澤邦幸,山?賢,近藤裕介,稲葉健二,Elaine Gan,久保田慎之介,酒井三保子,吉野哲仁,井野貴亮,朝日勝雅,伊藤直也,ミック,高林哲,小飼弾,羽生章洋,角田直行,はまちや2,岡野原大輔,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2009/10/24
- メディア: 大型本
- 購入: 6人 クリック: 194回
- この商品を含むブログ (38件) を見る
だいたいこんな感じですかねえ。まあJenkinsのようにプラグイン機構があるものはプラグイン書いてるうちに本体のソースを読むって言うのは結構あります。Eclipseとかね。
そうそう書籍ならこれがいいと思います。
- 作者: WINGSプロジェクト佐藤匡剛,山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2006/11/29
- メディア: 大型本
- 購入: 17人 クリック: 227回
- この商品を含むブログ (58件) を見る
で、ここまで書いといてなんですが、キャリアのほとんどがJavaでのアプリ開発だった僕が、読んで一番感動したソースは実戦経験3か月のpythonで書かれたTracだったりしますw
あのフレームワークつかってない(テンプレートエンジンは使ってる)オレオレ感とDAOナニそれ的な感じでしかもSQLベタ書きなところがいいですw ま、モジュール毎にきっちりフォルダも別れているし読みやすいです。ただしメタクラス全開なcore.pyは除く。