Kamakura.pm #002 with BEAR!
2012/02/24 Fri
20:00 開始
1. Perlハジメマシタ @massat
- Perlをはじめるにあたって、ご近所さんがかまってくれるのでは → kamakura.pm
- 村式株式会社
- もっとプログラマ欲しい いいこと期待
- 自社と受託
- iichi(いいち)| ハンドメイド・クラフト・手仕事品の通販
- iichi をPerlに移植したい
- ふくすけ
- 拡散歓迎 写真もOK!
以上宣伝
- Perl歴1ヶ月からの「Perlハジメマシタ」
- 前会社からJavaの経験はあり。村式からPHP
- PerlBigeners #1
- (僕もそっちだったかも。。。。)
- 村式はPHPを6年メインに
- PHP dis?
- なぜPerl?
- Bootstrap
- よくなったこと
- 配列とリファレンスでハマる
- bless が好きになる
- かわいい、かっこいい
- ふぅーってやってオブジェクト完成
- 気になること
- try-catchない
- public/privateない
- リストとかハッシュとかの使い分け
- 環境どうする?
- Perlを1ヶ月をすると
- わくわく
- いけてる感じ
- でもまだハマる
- try-catchみたいなことをしようとするとevalやらしないといけない
- でも書き続ける
2. CPANモジュールを作る人を増やす @songmu
3. typester的Perlの勉強の仕方 @typester
- まとめ
- 本からスタートはしない
- いきなり何かを書く
- 他人のコードリーディング
- 本からスタートしない理由
- 本で覚えるとつまらない
- 眠くなる。最後まで読みきれない
- 一切読まないわけではない
- 本は情報が古い場合が多い。それに左右されないでスタートできる
- 本の綺麗な書き方だけでは普通じゃないコードは読めなくなる
- 作りたいもの駆動
- 新しい言語でやってみる?
- 言語の得意分野もある
- PerlきっかけはBlogブーム。MTをいれる
- blosxom
- すごく小さい
- plugin拡張。PerlHackersっぽい思想
- shibuya.pm.orgはblosxom
- コードの難易度たかし hackishで楽しい部分を
- Catalyst DBIx::Class
- Plagger
- miyagawaさんのコード綺麗
- 美しくシンプルなコードの書き方を学ぶ
- 他の言語
- C
- Objective-C
- CにPerlみたいな皮をかぶせた言語
- Apple公式ドキュメントで学ぶ
- Mooseで書いて、Objective-Cに移植
- コツ
- わかんないことはほっとかないこと
- 解釈は厳密
- 他人のコードリーディング大事!
- Audryのコードはいみわかんなすぎだけれど天才
- こんなに読んでいるのに未だに知らないことが出てくるPerlはほんとうに面白いですね!
- オススメのPerlコード
- AnyEventはおもしろい
- Perlを初めて一ヶ月だと?
- Plaggerを読む
- 実際に使えて試せるのが面白いよね
- Plaggerを読む
4. 某SNSでfluentdとMongoDBを入れた話 @sfujiwara
- 某SNSで取っているログ
- 行動ログ
- ユーザのアクション
- ユーザのアクティビティの調査等に利用
- 問い合わせ対応に重要
- fluentdとMongoDB
- 以前: gearman > rsyslog > text
- 今は: gearman > fluentd > mongo
- 直接fluentd投げれるが、新しい技術なので、一旦gearmanに投げる
- お試しなので落ちちゃうと取れない
- 今は並行で使っている
- なんで?
- Fluentd::Loggerを書いたし
- 実際に使ってみないとわからないよね
- ある程度の規模で使ってみたかった、でもぶっつけ本番は不安
- 万が一落ちても大丈夫
- 運用の知見をためてみる
- デモ
- (超便利そう!)
- Mongo > Ark > JSON
- 管理ログ追っかけられる ほぼリアルタイムで見れる
- やってみて
- プログラマの手間が減る
- ストーカーするなよ
- 管理画面のログも取ってあるよ!
- 使い方によっては危ない
- job workerログにも導入
- 問い合わせ番号を投稿後に表示(=job id)
- 今まで全くログを吐いていなかった
- warn()で吐き出すようにした
- なにがなんだかになってしまった
- 擬似シグナルハンドラ __WARN__
- warnで吐かれるログをキャッチして投げる
- MongoDBはJSでクエリ投げれるからいろんなことできるよ!
- まとめ
- ログ閲覧を管理画面化してプログラマの負担を下げる
- fluentdは便利
- 動作はかなり安定しているが枯れてはいない
- 設定はわかりやすい。rsyslogは難しい
- 新しいものなので、平行稼動できるところで
- fluentdのバージョンアップ
- MongoDBはまだ枯れていない
- データベース単位でロックされる
- 普通のデータベースとしてもログ取り用途にも
- capped collection 容量制限を設定してログをとれる
- (エンドレスカセットテープみたいなもんですね)
- fluentdのパフォーマンス
- 実用十分ぐらい出る
- 普通に使う分にはRubyなしでもfluentd使える