今回もメモ書きレベル以上に推敲できなかったです。
慶事の都合上初日しかいけなかったので、1日目だけのメモ書きです。
cloudforecast
長野雅広さん
- PDCAがだいじ
- 監視はCheckフェーズ
-
- ツール
- nagios mount
- ツール
- リソース監視
- 変化の可視化
- ツール
- cacti
- munin
- cloudforecast
- perlで書かれている
- RRDToolを利用したグラフ描写
- 高速動作 Gearman
- SNMP.pm CPANにあるのはNet-SNMPのバージョンに依存する
- fetcher workerとupdate workerを分けることでfetcherの数を自由に増やせる
- ライブドアでは
- 監視サーバ 1200台以上
- リソース 5000以上
- 巡回にかかる時間30秒
- cpanm + extlib
- グループ単位で設定。大量にできる
- basic.yaml
- 監視項目設定ファイル
- ついでにMySQLの設定をみることができる
- gearmandを利用する
- -rをつけるとファイル変更時に終了 > ヒント: deamontools
モダンなPerl5環境
tokuhiromさん
- 作ったもの
- Tiffany
- Amon2
- Router::Simple
- Test::TCP
- Perl5を使ったWEBアプリ開発をしている
Perl5 version
- 今だと5.12.2
- 5.8.9でもいい
- 5.10系の機能
- given / when
- say
- smart match
- defined or (//) ☆
- named capture
cpanf
- fresh
- ミラーに反映されない場合。
- cpanm App::CPAN::Fresh
pm-uninstall
- pm-uninstall Acme::Famn
CPANモジュールの選び方
- Task::Belike::
- BINGOS
- RJBS
- FLORA
- DOY
- Tokuhirom
- 他の人に選んでもらう方が良い
- CPANソムリエになる方法 > はてな
- 2004年より前は危険な香り
- テストが放置されているのは危ない
- see t/
- バグレポートをためている
- dependencies
まとめ
- perl is undead
Inside mixi
廣木大地さん
- 2つのスケーラビリティ
- アクセス増加と変動に耐える
- 機能追加と多人数開発に耐える
memcached
キャッシュ方式
- リードスルー
- 読み込み時にキャッシュに追加
- 実装が簡単
- ライトスルー
- 書き込み時にキャッシュに追加
- DBに優しい
- 変速ライトスルー
- DBに書き込んでから
- マスターから読み出す
- 変速ライトスルー2
- incrをうまく使い数を管理する
- 数値のみ使える
キャッシュのレイヤー
- 絡む単位のキャッシュ
- ドメイン単位のキャッシュ
- サービス単位のキャッシュ
DataPortability and social web
- Net::OpenSocial::Client
- 外向けにサービスを提供しているところが少ない
- openIDとOAuthの相違点
- 認証
- OID OPに認証を委譲
- OA OPに認証を委譲しているといえなくもない
- 連携
- OpenIdのOAuth Etension
- OpenIDの上にOAuthをのっけようという試み
OAuth2.0
- SSL必須(署名がなくなった?)
Studying HTTP with perl
malaさん
並列じゃない
- LWP::UserAgentが一般的
- URI::Fetch
- キャッシュしてくれる
- HTTP::Lite
- 依存が無くてシンプル
- httpのみ
- LWPx::ParanoidAgent
- ローカルネットワークへのアクセスを拒否
- WWW::Curl
- 速い
並列
昔
- HTTP::Async
- LWP::Parallel
今
- AnyEvent::HTTP
- AnyEventで書かれている
- 使い方は楽
- ストリーミングとかにむいている
- Coro::LWP
- LWPをCoro化する
- Perlでコルーティン化を実現するライブラリ
- coroは黒魔術
-
- LWP互換機能
Perlで並列処理入門
- ithreadバグっている
- 実質的にはforkによるマルチプロセス
- イベント駆動
- fork
- OSまかせ ジョブ
- マルチコアをいかせる
- AnyEvent POE
- シングルプロセス
- メモリが少ない
- coro
- perlでコルーティンを実現
- 簡単だがはまりどころがおおい
- 変更が少ない
- イベント駆動型
- 処理時間が予測できない
- 強調動作が必要な場合
- RPC
- HTTPの方が有利なケースが多い
- KyotoTykoon
HTTPクライアントのテスト
- Test::Tcp
Tatumaki
- multipart/mixed
- Gearman
- WebService::Async
Webサービスのページング処理について
よしみさん
- ページングの方法
- count(*)
- CALC_FOUND_ROW
- 一つ余分に取得
- 次のページがあるかどうか分かればいいとき