質問: ■google app engine for javaの勉強法を教えて下さい。 今までPHPとaction scriptしか触った事がありませんでした。 最近、GAEに興味が出てきたので、どうせならJAVAを覚えてみようと思っています。 eclipseを使いGAE上でjavaを動かす所までは出来ました。 JAVAモJSPとサーブレットの基本的な動きは大体覚えました。 しかし、GAE/Jを調べているとslim3を使った方が良さげのようでしたので、 slim3公式()の「Getting Started」を参考に勉強していたのですが、 TESTやコントローラーの箇所がよく理解できませんでした。 フレームワークを使った事がないので、フレームワークの基本的な動きが理解できていないだと思っています。 最終的にはslim3を覚えたいのですが、その前に読んでいた方が良い本や勉強法があれば教えて下さい。 その他、JAVAを覚えるあたりお勧めがありましたら教えて下さい。
回答: Javaの勉強法、を尋ねていらっしゃる、と理解して私のオススメを回答します。 (1) Javaの入門本など(私は独習Javaでした)を、斜め読みしながら、テキストエディタ(秀丸とか)でjavaファイルを書いて、DOS窓からjavacを叩きます。 →コンパイラとはなんぞや、クラスファイルとはなんぞや、実行する(javaする)とはなんぞや、って事を把握してください。 (2) サーブレット+JSPの本など(私はコア・サーブレット&JSPでした)を斜め読みしながら、テキストエディタ(秀丸とか)でjavaファイルを書いて、DOS窓からjavacを叩きます。 →サーブレットで出来ること、JSPで出来ることを把握してください。 (3) 簡単なwebアプリケーションを作ります。MVCを意識して。 →JSPで行うべき事、サーブレットで行うべき事、モデル層で行うべき事。役割分担を意識してください。 (4) いままで書いてきたソースを、Eclipseにインポートして、統合開発環境の便利さを実感してください。 (5) テスティングフレームワーク、ロギングフレームワーク、webアプリケーションフレームワーク、の使い方を学んでください。デザインパターンを学んでください。 slim3はまだ始まったばかりなので、情報が少ないのかなと思います。S2ならばある程度枯れた技術なので、情報も多いです。S2でDI+AOPに触れれば、slim3への移行は楽なのかなと。 この頃、slim3を使いこなすことが出来るんじゃないかな?と思います。 (一口にフレームワークと行っても、ナニナニフレームワーク、で各種あります。また、Eclipseもフレームワークと言えます。slim3はwebアプリケーションフレームワークですね。) このように遠回りして欲しい理由は、汚いコードを書いて欲しくないからです。 いきなりEclipseを使い始めると、スパゲティのような、読みにくい、自動テストできないソースコードを書きやすいからです。実際の現場にはそのようなソースが存在し、バグの巣窟、テスト工数爆発の原因になっています。 参考になれば嬉しいです。 !リファクタリング―プログラムの体質改善テクニック (Object Technology Series)](http://ecx.images-amazon.com/images/I/51885S48YPL._SL160_.jpg "リファクタリング―プログラムの体質改善テクニック (Object Technology Series)") リファクタリング―プログラムの体質改善テクニック (Object Technology Series) * 作者: マーチン ファウラー Martin Fowler 児玉 公信 平澤 章 友野 晶夫 梅沢 真史 * 出版社/メーカー: ピアソンエデュケーション * メディア: 単行本 ![増補改訂版Java言語で学ぶデザインパターン入門 増補改訂版Java言語で学ぶデザインパターン入門 * 作者: 結城 浩 * 出版社/メーカー: ソフトバンククリエイティブ * メディア: 単行本 !独習Java 第4版](http://ecx.images-amazon.com/images/I/61ygdG3zCKL._SL160_.jpg "独習Java 第4版") 独習Java 第4版 * 作者: ジョゼフ・オニール * 出版社/メーカー: 翔泳社 * メディア: 大型本 ![コア・サーブレット&JSP―Javaサーバ技術によるWeb開発 コア・サーブレット&JSP―Javaサーバ技術によるWeb開発 * 作者: マーティ ホール * 出版社/メーカー: ソフトバンククリエイティブ * メディア: 単行本 ![Seasar2によるスーパーアジャイルなWeb開発 (WEB+DB PRESS plusシリーズ)](http://ecx.images-amazon.com/images/I/51PeOTOUYqL._SL160_.jpg "Seasar2によるスーパーアジャイルなWeb開発 (WEB+DB PRESS plusシリーズ)") Seasar2によるスーパーアジャイルなWeb開発 (WEB+DB PRESS plusシリーズ) * 作者: ひが やすを * 出版社/メーカー: 技術評論社 * メディア: 大型本