Perlは全然上達しませんが、再びYokohama.pmへいって参りました。ネタ的にPerlを深く理解していなくても役に立つものばかりで非常に有意義でした。
以下、iPhoneでがんばってとったメモ。あくまでiPhoneでとったメモなので、そこんとこよろよろ。
Qudo & Skinny
nekokakさん が自身で開発されている Qudo と Skinny の紹介
Skinny : スキニー。モデルを書くためのもの。ルールベースでコールバックをかける。名前固定や正規表現でに対してフックできる。
Qudo : クドー。TheSchwartzに変わるもの。TheSchwartzのコマンドをタイポしてやだから始めた。
キューをドゥーするものってことでQudo。TheSchwartzはDODべったりだがQudoは好きなO/Rとかつかえる。フックをいろんな場所に入れてる。また、TheSchwartzはPerlをシリアライズしたものを格納するが、QudoはJsonで格納するので、別言語と組み合わせて使いやすい。エラーを一定数で消したりしない。エラったジョブをもう一度キューに入れやすくしている。
ジョブ・キューおもしろそうだなぁ。Pythonはどんなのがあるんだろう?と思ったが、PythonはGILの影響で並列に弱いらしい。
DI×Perl
JPA/モダンPerl入門の 牧さん によるPerlのDI現状。
DI自体はメインストリームに出て10年くらい?
Bread::Boardくらい。本番で使ってるのはほんの数人。
Bread::BoardのDSL書いてると…結局全部書いてる!www
Bread::Boardを美しく分割したものがじきに取り込まれるとのこと。
PerlはDIできないの?っていわれたときにできるよ!と言えるよw
LLにDIはやっぱり…とか思った。
Angelosで学ぶ優しいWAFの作り方
dannさん が作っている Angelos の紹介
他の言語のいいところをとった。
ruby フルスタック+規約
Python wsgi(抽象化とミドルウェア)
java DI
(Peel プラガブルで自由)
抽象化とミドルウェア的なものはJava servletじゃね?っていつも思う。
Railsなんかみてても思うんだけど、routerでurlとアクションのメソッド名がカップリングしてるのってダサくね?設定してないサーブレットみたいな。。
Angelosは総じてすっきりしていて良い感じっぽい。
Peel with Amazon Elastic MapReduce
lopnorさん がPerlでAmazonのMapReduceを使うTipsを紹介
MapReduce: クラスタで計算量の大きな処理をする。
jsonでcredemtialを書く。S3に入力データ、結果をおける。mapper,reducerのプログラムもS3に置いて指定する。
CPAN使えるか?local::libを使ってjarにすれば使えるよ!
注意点。出力ディレクトリが既にあるとそれだけで失敗になる!
インスタンスの単位課金が1時間なので効率の良いインスタンス数を目指そう!
ふーむ。必要になったら試してみたい。が、分散できる計算でまとまった量の計算をする機会がないなぁ。
簡単オブジェクト指向入門 Simo入門
perlcodesampleさん の Simo 入門
SimoはMooseより簡単で、Class::Accessorより機能豊富。
use strict use warningsは自動。
package Hoge; use Simo; sub title {ac}; sub name {ac}; acって書くだけでアクセッサが出来る。 acに続けてハッシュ定義的に制限書ける。違反すると例外が飛ぶ。
アクセッサで値生成のフック書ける。
トリガーも書ける。
なかなか簡単シンプルでよい感じ。制限を違反した場合のエラーは、値を設定した途端に発生するのかな?複数のエラーを同時には取れない?
このへん使ってシェル的なプログラムを書いていくのがPerlへの近道かなぁ。
CAPとBASEとEventually Consistent
山本陽平さん のお話
分散重要。だが難しい。
CAP定理。Consistency、 Availability、 Partition?
Consistency
・更新されたらその後は必ず最新のデータが取れる strong
・最新が取れるとは限らない。 weak → Eventual Consistency 結果整合性でググれカス!ある程度の時間(inconsistent window)経過後は必ず最新のデータが取れるというもの。
Availability 冗長化
Partition 複数のサーバに分散して格納できる。
この3つを同時に満たすことはできない(証明されている)
最近は、構造化オーバーレイ key-value メッセージキュー等の方法がある。
Dbms由来とP2P由来。
ACIDはもうダメ。BASEだよ。ってのはFUDだから状況に応じて最適なものを選ぼう!
おもろいなぁ
HTML::AAFind komoriyaさん
HTML内のAAを探し出す!画像にして200ピクセルにしちゃえば携帯でもみられるお!とやる夫が説明してくれた。
これは素晴らしい!是非LDRで使って欲しい!AAが崩れて悲しいことが多いんだよぉ
懇親会
すぎゃーんさんが小笠原に行ったことがあるらしい。すげー。片道30時間だってさ。
日本に2人しかいないという医師の国家試験を通ったCTOの一人の話がすげーおもろい。
撤収しようと思ったらビジネス鞄が二つとりのこされていた。Perl Mongersすげーっ!って大騒ぎしてたら2人トイレに行っていただけだった。超www
ZIGOROuさんについて行けば駅につけると思ったのに、電車無くなっても飲む人たちの集団とかしていて危険だったw
Perlの会楽しい