『プロになるためのWeb技術入門』5刷ができました

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

すでにTwetterでも流れておりますが、5刷増刷が決定いたしました!

今回も地味ながら読者の皆様からの声を反映させていただきました。大きな追記ポイントとして、Amazonのレビューでご意見をいただいた、オープンソースのライセンスの種類について、追記しました。(紙面の都合で簡単なものではありますが)

細かな正誤表については、近日中に公開します。

I’m married

私ごとながら、10月15日に結婚いたしました。

多くの皆さんに祝福していただき、本当に幸せな式でした。

最近お会いしていなくて、お知らせできずに失礼した方もいらっしゃると思いますので、この場を借りてご報告させていただきます。

結婚することになってから式を挙げるまでの時間が結構長かったため、「結婚はなかばひとつの通過点に過ぎないね」といったことも二人の間で話していたこともありました。

実際に式を挙げてみて思ったことは、籍を入れ、式を挙げて、多くの皆様に二人の結婚を認めていただく、というのは思っていた以上に重要なことだったんだ、ということでした。

きっと多くの人が通過して感じてきている当たり前のことで、自分も今までいろんな方の式に呼んでいただいたのですが、式を挙げる側とゲストとして呼ばれる側とでは、やっぱり視点がずいぶん違うんだな、と思った次第。

生活自体もそれまでと変わらないのですが、二人の間の意識もこの1週間で「これからはきちんとした夫婦として二人支え合いながら生きていくんだ」というように改まってきた気がします。

あとは、業界人的にはこれだけ多くのステークホルダーが絡んだ大プロジェクトをPMとしてやり遂げるという経験は、やっぱりしておかなきゃだめかな、なんて思いました。(^^

(こんなこと書いていると、相方から「こんな硬い文章、つまらない!」って突っ込みが入るんでしょう、きっと)

maven-eclipathプラグイン ver0.0.10 をリリースしました

maven-eclipath プラグインがResourceSynchronizerに対応しました。

以下のように、configuration 要素配下に autoRefresh オプションを追加して true に指定すると、eclipath:sync ゴール実行後にEclipse上のプロジェクトを自動更新しますので、F5キーでクラスパスやライブラリの更新結果を反映する手間が省けるようになります。


  org.seasar.uruma
  maven-eclipath-plugin
  0.0.10
  
    true
  

また、以下のように単独で使用することも可能です。

 mvn eclipath:refresh

ご要望いただいた id:jflute さん、ありがとうございます!

eclipathプラグイン ver0.0.9 をリリースしました

id:jflute さんから要望頂いたので、maven-eclipath プラグインに以下の機能を追加して version 0.0.9 としてリリースしました。

eclipath:sync ゴールでソースコードJavadocのダウンロードを抑制する機能

以下のように、configuration 要素配下に downloadSources と downloadJavadocs オプションを追加して false に指定すると、それぞれのダウンロードを抑制します。


  org.seasar.uruma
  maven-eclipath-plugin
  0.0.9
  
    false
    false
  

オプションを省略した場合は、true となり、従来通りソースコードJavadocのダウンロードを行います。

『プロになるためのWeb技術入門』第4刷の正誤表を更新しました

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

第4刷の詳細な正誤表を公開しました。

詳細はこちらをご確認ください。
『プロになるためのWeb技術入門』正誤表

『プロになるためのWeb技術入門』4刷増刷ありがとうございます

おかげさまで、先日『プロになるためのWeb技術入門』4刷目の増刷見本紙が届きました。
毎度ながら買ってくださった皆さまには本当に感謝です。

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

今回の増刷では、誤字・脱字レベル以外に主に以下のような追加・変更を行いました。

  • Lesson3
    • GETとPOSTの使い分けについて、「副作用」を交えて使い分けを説明するようにした(p78〜79)
  • Lesson6
    • iBATISプロジェクトが活動終了し、MyBatis プロジェクトに変更になったため、脚注の参照先URLを変更(p219)(本文の説明自体は変更箇所が多岐にわたるためiBATISのままとなっています)
  • Lesson7
    • 「hiddenタグ」という表現が正確ではなかったため「hiddenパラメータ」という表現に修正(全般)
    • メッセージダイジェストを使用したログイン認証について、レインボーテーブルを使ったクラッキング手法の台頭について言及し、ソルトの利用について説明を追加(p251-253)- hidden パラメータの利用方針について説明を改善(p263)

通常、書籍の増刷時には誤字・脱字レベルやちょっとした修正を行うのだと思います(他の著者の方の話を直接聞いたわけではないので、あくまで想像ですが)。

本書では、直接・間接を問わず読者の皆さまから寄せられたご意見・ご指摘をできるかぎり吸い上げて増刷時に反映させています。

修正内容は私の至らなさによる部分もありますし、出版後の状況変化によるものもありますが、せっかくのチャンスなので可能な限り反映させたいと思っています。

文章がページに収まらなくなって大幅にずれるような修正は難しいそうなので、いつも「○○ページの隙間使ってこの文章入れてください!」という感じで、かなり無理をお願いしているのですが、イヤな顔ひとつせずに受け入れてくれる編集さんにもいつも感謝しております。

このような修正の機会をいただけるのも、ひとえに多くの皆さまに買っていただけているからです。オープンソースソフトウェアの世界でも、ユーザーが多いプロダクトはより多くのフィードバックを得て品質が上がっていくものですが、本書もそんな本を目指していきたいと思います。

eclipathプラグインの使いどころ

先日紹介した Maveneclipath プラグインですが、必要性がいまいち見えないという声もあるかもしれません。(まぁ、もともとニッチなニーズなのですが)

通常、Maveneclipse を連携させる場合、m2eclipse か Q4E あたりがメジャーだと思います。残念ながらQ4Eは試していないのですが、m2eclipseを使えばpom.xmlに記述された依存ライブラリをeclipseのクラスパスコンテナにしてくれるので、eclipsemavenの連携をうまく実現できるでしょう。

当たり前ですが、この場合eclipseにm2eclipseプラグインを導入するのが大前提になります。開発現場のプロジェクトで各開発者の開発環境を統一できる場合は、もちろん問題ありません。

ただし、以下のようなケースだと問題になります。

オープンソースのサンプルなどをeclipseプロジェクトごと公開する場合

eclipse利用者の開発環境は様々なので、m2eclipseのようなプラグインが導入されているとは限りません。m2eclipse前提のeclipseプロジェクトをサンプルとして公開しても、m2eclipseを導入しない人にとっては、ライブラリ解決エラーの嵐で、それだけでサンプルを見る気がなくなります。

そもそも、mavenは使っていないけどソースコードをちょっと見てみたいという人にとって、m2eclipse前提のプロジェクトは障壁になってしまいます。

一方でOSS開発者としては、ライブラリ管理をうまく行うために積極的にmavenを使っていきたいという事情もあります。

プライベートリポジトリを利用している場合

開発プロジェクトでも、独自のライブラリをMavenプライベートリポジトリで管理しているような場合、プライベートリポジトリにアクセスできない環境へeclipseプロジェクトを持って行くと、m2eclipseが依存性を解決できなくなります。

eclipseプラグインを開発する場合

eclipseプラグインを開発していて、依存ライブラリをm2eclipseのクラスパスコンテナで管理していると、eclipse上のランタイム環境ではeclipseクラスローダがm2eclipseのクラスパスコンテナまで見に行ってくれずに正常動作しません。(これは昨年秋くらいに試していたことなので、うろ覚えですが・・・)

      • -

総じてeclipseプロジェクトの可搬性を考えると、依存ライブラリはeclipseプロジェクト配下に置いておいた方が問題が少ない、というのが現時点での私の考えです。そのためには、以下の3つをうまく同期してくれるツールが必要なのです。

  • pom.xml の依存ライブラリ定義
  • eclipseプロジェクト配下の実体(Jarファイル)
  • eclipseプロジェクトの.classpath

eclipathプラグインはこのような問題を解決するために作りました。

追記

id:jflute さんのご尽力で Mac、JDK5、Maven3での動作確認ができました!