BPStudy#22 に参加してきた!

GoogleAppEngineの話に興味もあり、何度か名前は聞いていたけど参加したことのなかった「BPStudy」に初参加してきた。
BPStudy - connpass


id:yuroyoroさん遅刻のため第一部/第二部を入れ替え。最初にスティルハウス佐藤一憲さん(id:kazunori_279)から。
第1部「GAE/Jってどう使う?」
BPStudy#22 の資料です - スティルハウスの書庫

  • 「ご都合.com」(http://support.gotsugo.com/whatsthis)
  • GAEの現状、特徴について
    • GoogleAppEngineの仕組み、構成など
    • GAEのスケールアウト事例とか
  • Bigtableについて
    • Bigtableの仕組み。巨大なKey-Value store
    • Datastore。GAEにおけるデータ保存APIBigtableで実装
    • Datastoreにおけるキーの扱い
    • Datastoreにおけるクエリの実装について。インデックスの話
      • 1000件以上とりたいという欲求への対処方法について議論
      • 使うクエリに応じてインデックスが作成される。
      • 不等号を使うとそのぶんインデックスが必要に。爆発する!
      • 「クエリは使ったら負け」by ひがさん
    • エンティティグループとトランザクションの話
      • ローカリティによる速度性能はどうなる?
    • 色々制約はあるけどうまく使いこなしましょう

など。終盤ちょっと時間足りず早足に。
ただのGAE/Jアプリ実装の話にとどまらずGAEの仕組みについて詳細まで踏み込んだ内容で面白かった。


第2部「scala/lift on GAE/J」
id:yuroyoroさん

  • Scala on GAE
    • scalaの言語仕様は一通り使える
    • デフォルトでJPAサポートライブラリがある
    • datanucleus-enhancerだけ差し替える必要がある
  • そもそもScalaとは
    • Javaのclassファイルを生成。普通にJavaとやりとりできるっぽい
    • 関数型。ファーストクラス関数、静的型付け、型推論
    • 高階関数とカリー化、パターンマッチなど
      • デモをまじえて分かりやすく説明
    • 要するに変態言語らしい
  • Lift
    • ScalaによるいいとこどりWebFrameWork
    • CoCとScalaコードで。XMLは使わない
    • Boot, Template, Snipet, Model
      • コントローラが無い。最初からテンプレートへ渡し、そこからSnipetを使う
      • 「View中心アーキテクチャ
      • イベントに関数オブジェクトを動的に割り当てたり
      • すごくその思想というか発想が面白いと思った。Scalaならではの仕組み?
    • Twitterのタイムラインを5秒毎に自動更新するデモアプリ実演
  • 質問:関数型でのWeb開発の利点は?
    • 動的な入力チェック定義など
    • 型推論を使うのでif文はあまり書かないらしい
  • 質問:コンパイルに時間かかるらしいけどバイトコードサイズが大きくなるってこと?
    • そういうわけではないらしい。あくまで型推論などに処理がかかっている、のかな
  • 質問:型推論を利用したIDEでの補完機能は?
    • 今のところ期待できないらしい

Seasar Conferenceでの発表資料などは事前に見ていたけど、実際に話を聴いて、より面白さがよく分かった!
楽しくて飽きない発表。


そして懇親会へ。
初めましての方々とご挨拶。ていうか最初の会場でお釣りのやりとりしていた方が社長さんだったとは知りませんでした…
http://ameblo.jp/beproud-inc/
佐藤治夫さん、すごく面白い方で、ビープラウドという会社もとても面白そう!
色んな仕事が来ていて人が足りず、優秀なエンジニアを募集しているそうで。
今の会社や仕事がつまらなかったら迷わずそこに転職したくなるくらいw
いや、本気で考えようかな…
Scalaの話も色々追加で聞いたのでちょっと手を出してみようと思った。
id:tmatsuoさんによって、id:yuroyoroさんの「あのキャラクター」が命名された。5匹目は決して作ってはいけない名前にw


とても楽しい、良い出会いのあった勉強会でした。絶対次回も参加します。
ビープラウドさん、ありがとうございました!