映画にでてくるハッカーになりたい - yapc asia 2010
TRANSCRIPT
![Page 2: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/2.jpg)
自己紹介
![Page 3: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/3.jpg)
id:cho45http://www.lowreal.net/
![Page 4: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/4.jpg)
株式会社はてな
京都8F(@hatena8f)勤務
![Page 5: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/5.jpg)
Perl (バックエンド)
JavaScript (フロントエンド)
Ruby (ツール作り)
Scala (たまに)
Java (Android アプリ)
![Page 6: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/6.jpg)
DSi Browser JS の実装にそれなりに詳しいです
![Page 7: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/7.jpg)
例:DSi ブラウザの textarea でキャレットを表示する方法
JavaScript で textarea に対して focus() させるとキャレットがでる。
この状態で A ボタンを押すとソフトウェアキーボードが開かず改行
を入力することができる。
ただし何かの役に立つわけではない。
![Page 8: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/8.jpg)
趣味
![Page 9: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/9.jpg)
神社巡り
![Page 10: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/10.jpg)
写真
![Page 11: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/11.jpg)
プログラミングコード群: http://github.com/cho45
日記: http://subtech.g.hatena.ne.jp/cho45/
![Page 12: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/12.jpg)
最近作ったもの
![Page 13: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/13.jpg)
P::M::StaticSharedP::M::ServerStatusP::M::Random.Text::Xatena (はてな記法っぽい記法)
Niro (個人用ブログツール、Plack, DBIx::Skinny)
JSDeferred (JS 機能追加など)
git-branch-recent (Ruby)
![Page 14: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/14.jpg)
HTML::Trim (HTML タグを考慮しつつ文字列トリム)DBIx::RewriteDSN (DBI レベルでデバッグ時一括で DSN 書きかえ)togetter_block_all_users.user.js (togetter で纏まれているユーザを一括ブロック)bdfcanvas.js (BDFフォントをcanvasに描画)oecan.js (お絵描きツール)Chemr-js (リファレンスひき支援)jAutoPagerize (なんかあれ)
![Page 15: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/15.jpg)
本題
![Page 16: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/16.jpg)
映画にでてくるハッカーの例
![Page 17: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/17.jpg)
何かわからないが画面に文字が流れる
![Page 18: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/18.jpg)
ものすごい可視化がされてる
![Page 19: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/19.jpg)
よくわからない方法で暗号を解く
![Page 20: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/20.jpg)
見ていて鳥肌がたつ
![Page 21: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/21.jpg)
でもこう…もうちょい
![Page 22: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/22.jpg)
現実的かつかっこよくならないか?
![Page 23: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/23.jpg)
仕事で使いたい
![Page 24: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/24.jpg)
I HATE RIAJU.
![Page 25: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/25.jpg)
コーディングしてモテたい
![Page 26: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/26.jpg)
実用性+
![Page 27: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/27.jpg)
実用性だけでも面白くない
遊びだけじゃただのクソアートだ
![Page 28: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/28.jpg)
というわけで
![Page 29: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/29.jpg)
使えそうで使えない
でもちょっと使えるツール群
![Page 30: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/30.jpg)
および
![Page 31: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/31.jpg)
使えそうで実際使える
というかマジ使えるツール
![Page 32: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/32.jpg)
のご紹介をさせて頂きます
![Page 33: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/33.jpg)
前置き終了
![Page 34: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/34.jpg)
実用的かつ、映画的ハッカーを追求
![Page 35: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/35.jpg)
そのいち
![Page 36: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/36.jpg)
tail -f /etc/httpd/access_log
![Page 37: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/37.jpg)
ハハハ、ワロス
何をいってるんだ
![Page 38: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/38.jpg)
ログを tail -f して
人間が得られるもの
![Page 39: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/39.jpg)
1.動体視力
![Page 40: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/40.jpg)
動体視力を鍛えたいわけじゃない ハッカーになりたいのだ
![Page 41: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/41.jpg)
別に tail -f は悪くないただ何かが足りない
![Page 42: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/42.jpg)
そこでハッカー的なことを加える
![Page 43: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/43.jpg)
ハッカー的なこと
![Page 44: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/44.jpg)
ハッカー的なこと
![Page 45: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/45.jpg)
すごい可視化
![Page 46: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/46.jpg)
realtimeresponsegraph.pl
![Page 47: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/47.jpg)
tail -f a.log | realtimeresponsegraph.pl
tail -f からレスポンスタイムを即座にグラフにする
パフォーマンス改善の結果をすぐ出せる
![Page 48: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/48.jpg)
レスポンスタイムグラフ
![Page 49: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/49.jpg)
レスポンスタイムグラフ
はてなでは一日分を Hadoop で処理してグラフ化している
全解析は一日かかるので本番での
チューニング結果がすぐ解らない
![Page 50: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/50.jpg)
demo
![Page 51: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/51.jpg)
realtimeresponsegraph.pl の実装
![Page 52: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/52.jpg)
use OpenGL;
![Page 53: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/53.jpg)
select();
![Page 54: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/54.jpg)
vec();
![Page 55: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/55.jpg)
fileno();
![Page 56: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/56.jpg)
my $rin = '';vec($rin, fileno(STDIN), 1) = 1;LINE: while (select($rin, undef, undef, $max_wait)) { # ...}
![Page 57: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/57.jpg)
いろいろな機能
グルーピング (デフォルトではHTTPメソッドごとに別のラインにする)Apache ログフォーマットパーサジェネレータ
![Page 58: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/58.jpg)
だいぶ良くなったがまだ何かが足りない
![Page 59: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/59.jpg)
ハッカー的なこと
![Page 60: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/60.jpg)
ハッカー的なこと
![Page 61: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/61.jpg)
ものすごい可視化
![Page 62: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/62.jpg)
realtimeaccesstrack.pl
![Page 63: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/63.jpg)
realtimeaccesstrack.pl
直近アクセスを可視化 特にアクセスが多いクライアントを抽出どこにどうやってアクセスしていっているかがわかる
DOSアタック的クライアントの即時検出
ユーザ行動分析
![Page 64: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/64.jpg)
demo
![Page 65: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/65.jpg)
realtimeaccesstrack.pl の実装
![Page 66: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/66.jpg)
use OpenGL;
![Page 67: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/67.jpg)
select();
![Page 68: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/68.jpg)
vec();
![Page 69: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/69.jpg)
fileno();
![Page 70: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/70.jpg)
realtimeaccessgraph.plとほぼ同じ
![Page 71: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/71.jpg)
だいぶ良くなったがまだ何かが足りない
![Page 72: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/72.jpg)
ハッカー的なこと
![Page 73: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/73.jpg)
原点に還って
![Page 74: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/74.jpg)
画面に何か流れる
![Page 75: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/75.jpg)
Devel::KYTProf
![Page 76: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/76.jpg)
Devel::KYTProf
id:onishi 作 (NYTProf ではない)
DBI とか memcached とか、IO に関わる処理を処理時間とともにターミナルに全て出力
空気 読んで とってくれる プロファイル だとかKYoTo Prof だとか諸説ありますが知りません
![Page 77: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/77.jpg)
便利な点
![Page 78: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/78.jpg)
吐かれるSQLがわかる
![Page 79: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/79.jpg)
どこから吐かれたか
わかる!
![Page 80: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/80.jpg)
かかった時間がわかる
![Page 81: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/81.jpg)
demo
![Page 82: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/82.jpg)
まとめ
![Page 83: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/83.jpg)
realtimeresponsegraph.pl実用度 ★★★
かっこよさ ★★
![Page 84: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/84.jpg)
realtimaccesstrack.pl実用度 ★★
かっこよさ ★★★
![Page 85: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/85.jpg)
Devel::KYTProf実用度 ★★★★★
かっこよさ ★★★
![Page 86: 映画にでてくるハッカーになりたい - YAPC Asia 2010](https://reader034.vdocuments.site/reader034/viewer/2022042607/559cb75e1a28abfc408b469f/html5/thumbnails/86.jpg)
ご静聴ありがとうございました
www.lowreal.net