ChugokuGTUG GAE/Jハンズオンしてきました!
で、GAE/Jのハンズオンの講師をしてきました!
講師として前に出るのは初めてだったので、緊張しましたね。
しかも、いつもよりかなり参加者が多いという!
少し予想外ではありましたが、何とか無事終えることができました。
当日のスライドですが、ハンズオンはSlim3の公式サイトを見ながらでしたのが、あまり内容は書いてないですね。
そして、ハンズオンで作成していたサンプルの完成形がこちらです。
Google Code Archive - Long-term storage for Google Code Project Hosting.
今見ると、完成形と言いつつ、テストコードとか書いてないですね・・・。
と・・・とりあえず、これからSlim3を使ってGAEでアプリを作るぞ!って方は以下もチェックすると良いでしょう!
http://code.google.com/intl/ja/appengine/docs/java/overview.html
GAEの公式です。
日本語版は更新が遅いので、英語版推奨です。
http://d.hatena.ne.jp/itaosan/20100421
今回のハンズオンについては、特に設定の話はしませんでした。
まず、こちらの設定を行うことをお勧めします。
App EngineのEntityGroupを理解しよう - yvsu pron. yas
GAEを使う上で、理解しておかなければならないのが、Datastoreの制約です。
特にEntityGroupについて理解していなければ、トランザクションの単位が定まりません。
技術ネタ - TOPGATE Google関連技術サイト
株式会社トップゲートさんの技術ネタです。
Ajaxなんかのところは、僕も参考にさせていただいています。
appengine ja night #18で分かった、Google App Engineの課金の仕組み、節約術・自分用まとめ - えいのうにっき
チューターの1人である @a-know 殿のBlogの記事です。
appengine ja night #18はGAEの課金系の話がたくさん出てきています。
しっかりとしたチューニングを施して、性能の良いアプリケーションを構築しましょう!
M/SからHRDへの変更した場合、設計は変える必要があるのか? - SinDiary
僕のBlogですが、HRDでの結果整合性についてです。
それは、tweet直後にリダイレクトで一覧表示に戻った場合、tweetした内容が表示されていないというものです。
また、F5などで更新すると出てきます。
それに関するお話が上記の記事です。
AppEngine/Jのspin-upを劇的に改善する方法 - yvsu pron. yas
GAE/Jでアプリを作っていると、JSPは使わずstaticなhtmlとAjaxで実装した方が良いのでは無いかと思うようになって来ました。
ひが殿も、小川殿もそのように仰っていたし、GoogleのサービスもAjaxを利用して一部のみ書き換えるものが多いですよね。
また、上記のHRDでの結果整合性の問題も、AjaxでPostしてPostしたものだけをKeyで取得すれば解決します。
更にDatastoreへのアクセスも減るので、課金的にも優しいです。