torutkのブログ

ソフトウェア・エンジニアのブログ

JJUG ナイトセミナー

本日は、Japan Java User Group主催のナイトセミナーに参加してきました。本日は、次の2冊の書籍の著者(竹添直樹氏、太田健一郎氏)が講演者でした。

現場で使えるJavaライブラリ

現場で使えるJavaライブラリ

入門Jenkins

入門Jenkins

「イマドキの現場で使えるJavaライブラリ事情」(竹添さん)

Javaには、オープンソースのライブラリが膨大に存在するけれども、ライブラリに関する本や記事が少ないです。Javaをずっとやってきている人にはいいけれど、これからJavaをやる人には情報が溢れすぎて困る。

というのが執筆の動機だそうです。確かに・・・。

書籍が出てから1年が過ぎ、書籍で取り上げたライブラリも活発にアップデートされているもの、変化がないもの、いろいろあります。

  • T.B.D. 書籍執筆時と現時点のバージョン一覧表へのリンク

書籍執筆当時はまだJDK1.4対応のものが多かったが、この1年ほどでJDK1.5対応が増えているとのこと、割と保守的で知られるApacheのcommons系プロジェクトもJDK1.5対応になってきているとのことです。

一方、開発が停止しているように見えるのもいくつかあります。

Google Guiceは全く変化ない(バグがあるけど・・・Googleさん、どうした?)

メンテナンスが活発なのは、Apache Foundationのものや、企業がサポートしているもの。

ここからは、書籍で取り上げなかった現場で使えるライブラリ補遺編です。

  • JSONライブラリは書籍で取り上げたJSONIC以外にも、Jackson、gson、JPPがあり性能比較をしてみたら全体的に速い(一部項目では負けているのもあるが)Jacksonが今のおススメ
  • テンプレートエンジン Thymeleaf
  • 軽量DBアクセス Clione-SQLS2DAO,S2JDBCに近いらしい。2way SQL、外だしSQL、行指向・・・
  • RESTEasy。JAX-RS実装で、特にクライアント用ライブラリが便利。
  • JSoup。HTML5パーサ。jQueryのようにCSSセレクタを使い要素の選択ができる、DOMの操作をjQuery風の流れるインタフェースで行える
  • Zip4j。パスワード付ZIPファイル対応。
  • jMagick。ImageMagickのラッパ。JNI経由で呼び出すのでネイティブライブラリ必要(x64版がないとか)。Java標準APIの画像縮小は汚い/メモリ喰いとか。
  • Byteman。javaagentを使って任意のクラス・メソッドに処理を挿入。ログ出し、例外挿入などに活用。JUnit4と組み合わせるBMUnitあり。
  • jqPlot。JavaScriptでグラフを描画するjQueryプラグイン
  • JGit。Gitをjavaで実装。

今日紹介したライブラリのサンプルコードはGithubにアップされています。

書籍執筆裏話もありました。

執筆時期のタイミングで、Sun→Oracle買収でjava.net上のプロジェクトが一時期アクセスできなくなったり、ライブラリのメジャーバージョンアップ直後でバギーな状態だったりと。

プロジェクトサイトが移動して(GitHubに移るもの多し)、リリースが不明になったり(HEADがリリース?)

出版までに時間がかかるので、鮮度の落ちる情報は本に向かないですね、と。

あと、技術書売れない。某入門書(やさしいJ〇v〇)ばかり・・・

発表スライド

「Jenkins実践 継続的インテグレーション」(太田さん)

本は、Androidでの活用、Gerrit連携、Ruby on RailsCatalyst(Perl)。今回はRuby on RailsPerlでの活用について紹介されてました。

LL言語の場合、コンパイルに時間がかからないので、分かりやすい導入効果がないのがネック。意外と環境独立性が高くなく、Jenkins上で動作させるのが大変。プラグインが少ない。といった状況だそうです。

Ruby on Railsについて、RVMとBundlerでアプリケーション(任意の単位)でRuby処理系とGemsのセットを管理できる。Perlは・・・(略)。

テスト、静的解析、カバレッジ、重複コード検出をJenkinsで行う。ツールの出力結果をJenkinsが理解できるフォーマットに変換するスクリプトを作る必要があった。

静的検証は、品質担当者、開発担当者がWin/Winになるように、本当に必要なものを厳選し、単にレポートを出しても修正されないので、テストに組み込むのがよいとのこと。

懇親会

なんと懇親会の席で隣合ったのが次の書籍の著者の井上誠一郎さん。

パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)

パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)

今日はJava(Jenkins)書籍なセミナーです。

ビールといきなり各自で蕎麦を頼みました。ナイトセミナーは夕食抜きで駆けつける人が多いので、おなかがすいてしまうんですね。