YAPC::Asia 1日目
今週、金曜日と土曜日。perlのカンファレンスに行ってきました。
今年で4回目の参加になります。
2日分あるのでまず1日目から。
Stylish: Perl ♥ Emacs(Jonathan Rockway)
emacsというエディタでperlをするにはー。みたいなセッション。
・・・・の予定だったのですが、しゃべる人が無断欠席!なんてこったい!
という訳で中止になりました。うー。
なので、
CloudForecastの紹介(長野雅広)
を聞いてきました。
要約すると、yamlで監視先のサーバー情報を書くと、RDDtoolでグラフ作りますよ。
ってな物でした。
次。
モダンな Perl5 開発環境について – Modern Perl5 Development Environment – 2010年代を生きのびる Perl5 活用術(Tokuhiro Matsuno)
そのとき取ったメモをべた張り。
12:15 perl5のバージョン systemパーツ使うのだせぇ! OSに元から入ってるやつ。 コンパイルオプションが普通すぎ。 perlのコンパイルは自前でやったほうがいいよねー。 perl5.10.0 できがよくねえ。正規表現使うとメモリーリークししたりする。<無いわー 駄目!絶対駄目! perl5.x.0はクオリティー高くない。 本番環境で使うべきではない。 5.12.2を使うのが吉。 スピーカーさんは特に問題おきたこと無いよ。 安定志向なら5.8.9で。 5.10系いいよー given/when使えたり。他もいろいろ便利な関数あるよ。 deined of (//) がよい。<・・・何それ? perlbrew・・・・自分のHOMEに自分の好きなバージョンのperlインスコできます。 12:23 簡単インスコ なんもかんがえんでよい perlbrewでCPANモジュール入れると、各々のperlbrewの下にインスコさせる。 cpanm cpan 初回起動時メンドイ。 indexのスキャンが遅い! メモリの少ないvpsでCPAN雨後かねー。→軽いの作ったよ!=cpanm cpan-outdateモジュール・・・・古いcpanモジュール探して列挙する。 cpan-outdate | cpanm とかすれば古いモジュール一括アップデートできる。 cpanf 12:34 f=フレッシュのF。 CPANモジュールに更新が合った場合、ミラーサーバーに反映されるまで数時間かかる。 cpanf -m DateTime とかすればcpan.org?ともかくお pm-uninstall モジュールを消すモジュール pm-uninstall DateTime とかつかう。 12:36 deployment いろんな鯖にperl環境をコピーするにはrsyncを使おう。らくだから。おぬぬめ。 CPANモジュールの選び方 8万6千くらいある。えらべん! 日付系(Date)だけで3500くらいある。わけわけめ。 答え=みんなが使ってるモジュールを使おう! ircで聞けばおk。<えー。はずい! <googlecodeで use hoge;で検索した数が多いのとどうか? ツイッターの@perlism、@lestrratとか。 答え=有名なperlハッカーが使ってるモジュールを使う。 <プラガーとか?カタリストとか?むーすとか? 新しいモジュールがいいとわ限らない。 2004年以前のモジュールは腐ってるから使うべきではない。 testがこけたまま長い間放置されてるモジュールはいくない。 perl5の開発がしやすくなるツールがここ1年で増えてきた。 どんどん使って恩恵を受けましょう。 perl is unded.
How to test scraping(Kuzuha)
HOW TO test スクレーピング 13:04 id:kuzuha ドワンゴの中の人。 25歳になりました。<おめでとー 姉が結婚します テスト書いてますか? つかテストの無いものは製品とは呼びません! CPANにはテストモジュールいっぱいあるよ!使えよ! <一番いいテストフレームワークを頼む。 継続的なテストをするもの。=hudson 外部のものに依存したテストってどう書くの?ってのがこのセッション。 相手依存多すぎ。制御できんし。 信頼性 ページ構成の変化 アクセス数制限 ID・パスワード リファーとか、クッキーとか。 各ページをローカルに保存する。んでテスト。 ページ繊維のテストができない。けどま、いっか。 バグ報告来ますた。orxz 自動リトライ機能付けました。 html再収集するようにしました。 ・・・きりなくね? 解決策=自前で相手のwebサイトっぽい動きをするものを作成しました。 自前サービス->串->相手サービス 串が肝なんだろうな。 TODO クッキーの有効期限とか CPANに公開したいー。 自社製品なのですが、CPANに公開したいです。 13:17
Studying HTTP with Perl(mala)
perlで学ぶHTTP 15:00 web情報ゲットだぜ! 並列じゃないモジュール。 lib::www::perl LWP::Useragentな。 LWP::robbtUAなるもののある。bot作成に特化。 Uri::Fetch キャッシュの効くLWP::Useragent。304をまともに処理。<便利かも。 Http::Lite 依存が少ないLWP::Useragent。HTTPSが使えない。 WWW::Curl 癖がある。早い。つかいづれぇ。 他にもあるらしいが、大体こんなもん。 並列処理できるモジュール HTTP::async、LWP::パラレルはオススメしない。古い。 AnyEvent::HTTP AnyEventで書かれたLWP。ストリーミング対応。使い方簡単。 Coro::LWP LWPをCoro化するらしい。<なんぞ?わけわかめ Coro=マルチスレッド化するものらしい。 あんま使うべきではないっぽい。影響範囲がでかいらしい。LWPとかがらりる。 <AnyEvent::HTTPしか使えるのねーじゃん! LWP重ー。 200回/秒を超えるリクエストを扱う場合は CとかXSつかいませう。 AnyEnevt::Curl作ったよ! Dos攻撃とかにおすすめ!やんなよ!絶対にやんなよ! LWPの8~10倍早いよ! LWP互換機能も付けたから、それ使えば置換が楽ですよー。 並列処理 fork使う。 thread使う←バグってる。使うな。 の2個あるけど実質一択。Fork使え。 coroを使う。 簡単だがはまりやすい。 AnyEnevt::* いろんなものを並列処理してくれるもの? 去年のYAPCでいっぱい発表があったらしい。 パラレルフォーク+WWW::Curlが最速。 httpクライアントのテストの書き方。 Test::TCPを使おう。 ローカルマシン内に仮サーバーを立ち上げられる。 オフラインでも実行できるよ!
AnyEventとEC2を使ったクローリングツールのご紹介((株)GaiaX Songhee Han, 荘野和也)
AnyEventとEC2でクローラーを作る。 ハニービーというクローラー作りました。 ハニービー::Bee=webのデータを取ってくるpelrのプログラム。クロール担当。 bi=受け取ったURLをすくレイプして、結果をJSONで返す。 環境依存が少なく、他サーバーに切り離して動作可能。スケールしやすい。 ハニービー::Hive=URLをデータベースに格納するモジュール beeの管理を行ってる。 2個のデーモン。 クローラーデーモン インスタンスの管理 クローリング処理の実行 フローマネージャー 全体的な何かを処理担当
Perl プログラマが PHP大規模開発の会社に入って(伊藤直也)
perlからPHPへの移行はそんなに大変じゃないらしい。 <そりゃ貴方レベルだからだろう・・・・
Lightning Talks Day One
とにかく面白かった!
スピーチが全部早かった!
忍者が出てきた。
以上です。1日目のレポート終了。以下、会場の写真。
ディスカッション
コメント一覧
まだ、コメントがありません