SiNBLOG

140文字に入らないことを、極稀に書くBlog

ChugokuGTUG GAE/Jハンズオンしてきました!

第12回勉強会@岡山 - ChugokuGTUG

で、GAE/Jのハンズオンの講師をしてきました!
講師として前に出るのは初めてだったので、緊張しましたね。
しかも、いつもよりかなり参加者が多いという!
少し予想外ではありましたが、何とか無事終えることができました。

GAE/Jハンズオン ChugokuGTUG No12

当日のスライドですが、ハンズオンは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へのアクセスも減るので、課金的にも優しいです。