YAPC2014参加してきた【2日目】
宗教上の理由で休日は家から出れないのですが、
無理をしてYAPCの2日目に行ってきました(ネタ
久々のカンファレンスで体力的に辛かったよ!
人気のセッションは座席が足りなくて床に座って聞く人が沢山いたのは改善点だと思います!
以下、2日目に聞いたセッションについてのメモ
###############################################################:3#
【セッション】Dockerで遊んでみよっかー (40 分) Masahiro Nagano
【知見】
- Dockerはまだ若いサービスでベストプラクティスがまだない
- Dockerとはアプリケーションの開発、配布のためのプラットホーム
- ファイルシステム、ネットワーク、プロセステーブル、ユーザ権限、リソース権限がコンテナによって制御、隔離される
- コンテナの生存期間はプロセスの終了まで
- Dockerfileで簡単設定
- ファイルシステムの変更もプロセス終了時に消える(揮発性
- 差分イメージで変更部分だけ変えたビルドができる
- Vagrant上で起動すればホストとのファイル共有もお手がる
- Docker Hubで他の人が作った環境をゲットできる
- 問題は、ファイル共有時に上の階層が見えない、port forwardが面倒
【感想】
perlならCarton+cpanm、RubyならBundle+gemで開発環境を簡単に構築できる。
さらに、Dockerならディストリビューションから構築できる!
(CartonもBundleもDockerには勝てなかったよ…状態
現状のアプリケーション配布もだいぶ楽になったけど、開発環境から数個のコマンドで
構築するように世界が変わっていきそう。使う側の幸せ
###############################################################:3#
【セッション】半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情(5.6対応)(40 分) うずら
【知見】
【感想】
すごいネタ感があった、PHPもやれば出来る子ろいうことだけ理解した
###############################################################:3#
【セッション】ほんとにあったスキーマの話 「ソーシャルゲーム」 (40 分) こばけん
【知見】
- 誰が使っても、解釈がかわらないようにスキーマを決める
- ソシャゲの場合はユーザからサーバのアクセスによりサービスを受ける
- ユーザは行動に応じた対価を得る
- 更新対象がユーザ自信、ユーザの行動によるUPDATEが多い
- 更新頻度の高いポイントだけ別スキーマで管理
- ex. 所持モンスターはカードのidと経験値だけ持たせる、成長率は別に管理
- 欲しいデータはindexを舐めるだけで終わるようにする
- ModelとDB層は分けて考える
【感想】
ソシャゲから見たDB設計の話
業務中にも感じることだが、情報を一つのテーブルで管理しようと思うのではなく、
独立に分解できるレベルで管理することがベストだと認識した。
ユーザの行動がいちいちDBのUPDATEになるなかでの効率的な運用が気になった。
###############################################################:3#
【セッション】モバイルアプリとAPIのありかたを考える2014 (40 分) あらたま
【知見】
- アプリは小さく出してコツコツ改善が難しい
- MBaas ( Mobile Backend as a Service
- 代表格Parse:でーたストア、プッシュ通知、解析、pluginなどバックエンドをまるっと面倒みてくれる
- 面倒なデータの同期も簡単にできる
- ユーザの体験を最大化したい→一つの更新データ毎に通信は体験の価値をさげる
- まとめてreq/resがしたい→JSON-RPC2.0のBatch
- ユーザの行動分析のために、ユーザの操作ログを送る時に便利
【感想】
通信を行うアプリケーションは環境を整えるのに時間がかかると思っていたが、
MBaaSのおかげでとても敷居がさがった
また、JSON-RPC2のBatch処理も有益だ
あらたまさんが利用しているライブラリが今後公開予定ではあるので、
ぜひ情報を追っていきたい
この発表を見ていて、アプリ開発って怖くないなと思えた
###############################################################:3#
【セッション】Perl5 meta programming (40 分) karupanerura
【知見】
- メタプログラミングは自由!だけど自由には責任が伴う
- メタプログラミングはパッチが当てやすい
- テストは必ず書く事、また、既存モジュールで解決できるのであればメタプログラミングはしない
- シンプルに表現出来ない場合は素直に諦めたほうが良い
- perlのメタプログラミングはstring eval, universal
- string eval:文字列で書いた関数がそのまま実行される
- universal:全てのpackageにbaseされる
- string evalを使う場合、条件処理などは文字列で埋め込むようにする
【感想】
メタプログラミングが向いている所と向いていないところの判別が難しそう
perlのevalなどは出来れば使わないで生きていきたいと思っていたけれども、
適切に使えば非常に強力だ
メタプログラミングについてもっと知りたくなった