映画にでてくるハッカーになりたい - yapc asia 2010

86
「映画にでてくるハッカーになりたい」 cho45 <[email protected]> 株式会社はてな

Upload: hiroh-satoh

Post on 08-Jul-2015

1.325 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 映画にでてくるハッカーになりたい - YAPC Asia 2010

「映画にでてくるハッカーになりたい」

cho45 <[email protected]>株式会社はてな

Page 2: 映画にでてくるハッカーになりたい - YAPC Asia 2010

自己紹介

Page 3: 映画にでてくるハッカーになりたい - YAPC Asia 2010

id:cho45http://www.lowreal.net/

Page 4: 映画にでてくるハッカーになりたい - YAPC Asia 2010

株式会社はてな

京都8F(@hatena8f)勤務

Page 5: 映画にでてくるハッカーになりたい - YAPC Asia 2010

Perl (バックエンド)

JavaScript (フロントエンド)

Ruby (ツール作り)

Scala (たまに)

Java (Android アプリ)

Page 6: 映画にでてくるハッカーになりたい - YAPC Asia 2010

DSi Browser JS の実装にそれなりに詳しいです

Page 7: 映画にでてくるハッカーになりたい - YAPC Asia 2010

例:DSi ブラウザの textarea でキャレットを表示する方法

JavaScript で textarea に対して focus() させるとキャレットがでる。

この状態で A ボタンを押すとソフトウェアキーボードが開かず改行

を入力することができる。

ただし何かの役に立つわけではない。

Page 8: 映画にでてくるハッカーになりたい - YAPC Asia 2010

趣味

Page 9: 映画にでてくるハッカーになりたい - YAPC Asia 2010

神社巡り

Page 10: 映画にでてくるハッカーになりたい - YAPC Asia 2010

写真

Page 11: 映画にでてくるハッカーになりたい - YAPC Asia 2010

プログラミングコード群: http://github.com/cho45

日記: http://subtech.g.hatena.ne.jp/cho45/

Page 12: 映画にでてくるハッカーになりたい - YAPC Asia 2010

最近作ったもの

Page 13: 映画にでてくるハッカーになりたい - YAPC Asia 2010

P::M::StaticSharedP::M::ServerStatusP::M::Random.Text::Xatena (はてな記法っぽい記法)

Niro (個人用ブログツール、Plack, DBIx::Skinny)

JSDeferred (JS 機能追加など)

git-branch-recent (Ruby)

Page 14: 映画にでてくるハッカーになりたい - YAPC Asia 2010

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

本題

Page 16: 映画にでてくるハッカーになりたい - YAPC Asia 2010

映画にでてくるハッカーの例

Page 17: 映画にでてくるハッカーになりたい - YAPC Asia 2010

何かわからないが画面に文字が流れる

Page 18: 映画にでてくるハッカーになりたい - YAPC Asia 2010

ものすごい可視化がされてる

Page 19: 映画にでてくるハッカーになりたい - YAPC Asia 2010

よくわからない方法で暗号を解く

Page 20: 映画にでてくるハッカーになりたい - YAPC Asia 2010

見ていて鳥肌がたつ

Page 21: 映画にでてくるハッカーになりたい - YAPC Asia 2010

でもこう…もうちょい 

Page 22: 映画にでてくるハッカーになりたい - YAPC Asia 2010

現実的かつかっこよくならないか?

Page 23: 映画にでてくるハッカーになりたい - YAPC Asia 2010

仕事で使いたい 

Page 24: 映画にでてくるハッカーになりたい - YAPC Asia 2010

I HATE RIAJU.

Page 25: 映画にでてくるハッカーになりたい - YAPC Asia 2010

コーディングしてモテたい

Page 26: 映画にでてくるハッカーになりたい - YAPC Asia 2010

実用性+

Page 27: 映画にでてくるハッカーになりたい - YAPC Asia 2010

実用性だけでも面白くない

遊びだけじゃただのクソアートだ

Page 28: 映画にでてくるハッカーになりたい - YAPC Asia 2010

というわけで

Page 29: 映画にでてくるハッカーになりたい - YAPC Asia 2010

使えそうで使えない

でもちょっと使えるツール群

Page 30: 映画にでてくるハッカーになりたい - YAPC Asia 2010

および

Page 31: 映画にでてくるハッカーになりたい - YAPC Asia 2010

使えそうで実際使える

というかマジ使えるツール

Page 32: 映画にでてくるハッカーになりたい - YAPC Asia 2010

のご紹介をさせて頂きます

Page 33: 映画にでてくるハッカーになりたい - YAPC Asia 2010

前置き終了

Page 34: 映画にでてくるハッカーになりたい - YAPC Asia 2010

実用的かつ、映画的ハッカーを追求

Page 35: 映画にでてくるハッカーになりたい - YAPC Asia 2010

そのいち

Page 36: 映画にでてくるハッカーになりたい - YAPC Asia 2010

tail -f /etc/httpd/access_log

Page 37: 映画にでてくるハッカーになりたい - YAPC Asia 2010

ハハハ、ワロス

何をいってるんだ

Page 38: 映画にでてくるハッカーになりたい - YAPC Asia 2010

ログを tail -f して

人間が得られるもの

Page 39: 映画にでてくるハッカーになりたい - YAPC Asia 2010

1.動体視力

Page 40: 映画にでてくるハッカーになりたい - YAPC Asia 2010

動体視力を鍛えたいわけじゃない ハッカーになりたいのだ

Page 41: 映画にでてくるハッカーになりたい - YAPC Asia 2010

別に tail -f は悪くないただ何かが足りない

Page 42: 映画にでてくるハッカーになりたい - YAPC Asia 2010

そこでハッカー的なことを加える

Page 43: 映画にでてくるハッカーになりたい - YAPC Asia 2010

ハッカー的なこと

Page 44: 映画にでてくるハッカーになりたい - YAPC Asia 2010

ハッカー的なこと

Page 45: 映画にでてくるハッカーになりたい - YAPC Asia 2010

すごい可視化

Page 46: 映画にでてくるハッカーになりたい - YAPC Asia 2010

realtimeresponsegraph.pl

Page 47: 映画にでてくるハッカーになりたい - YAPC Asia 2010

tail -f a.log | realtimeresponsegraph.pl

tail -f からレスポンスタイムを即座にグラフにする

パフォーマンス改善の結果をすぐ出せる

Page 48: 映画にでてくるハッカーになりたい - YAPC Asia 2010

レスポンスタイムグラフ

Page 49: 映画にでてくるハッカーになりたい - YAPC Asia 2010

レスポンスタイムグラフ

はてなでは一日分を Hadoop で処理してグラフ化している

全解析は一日かかるので本番での

チューニング結果がすぐ解らない

Page 50: 映画にでてくるハッカーになりたい - YAPC Asia 2010

demo

Page 51: 映画にでてくるハッカーになりたい - YAPC Asia 2010

realtimeresponsegraph.pl の実装

Page 52: 映画にでてくるハッカーになりたい - YAPC Asia 2010

use OpenGL;

Page 53: 映画にでてくるハッカーになりたい - YAPC Asia 2010

select();

Page 54: 映画にでてくるハッカーになりたい - YAPC Asia 2010

vec();

Page 55: 映画にでてくるハッカーになりたい - YAPC Asia 2010

fileno();

Page 56: 映画にでてくるハッカーになりたい - YAPC Asia 2010

my $rin = '';vec($rin, fileno(STDIN), 1) = 1;LINE: while (select($rin, undef, undef, $max_wait)) { # ...}

Page 57: 映画にでてくるハッカーになりたい - YAPC Asia 2010

いろいろな機能

グルーピング (デフォルトではHTTPメソッドごとに別のラインにする)Apache ログフォーマットパーサジェネレータ

Page 58: 映画にでてくるハッカーになりたい - YAPC Asia 2010

だいぶ良くなったがまだ何かが足りない

Page 59: 映画にでてくるハッカーになりたい - YAPC Asia 2010

ハッカー的なこと

Page 60: 映画にでてくるハッカーになりたい - YAPC Asia 2010

ハッカー的なこと

Page 61: 映画にでてくるハッカーになりたい - YAPC Asia 2010

ものすごい可視化

Page 62: 映画にでてくるハッカーになりたい - YAPC Asia 2010

realtimeaccesstrack.pl

Page 63: 映画にでてくるハッカーになりたい - YAPC Asia 2010

realtimeaccesstrack.pl

直近アクセスを可視化 特にアクセスが多いクライアントを抽出どこにどうやってアクセスしていっているかがわかる

DOSアタック的クライアントの即時検出

ユーザ行動分析

Page 64: 映画にでてくるハッカーになりたい - YAPC Asia 2010

demo

Page 65: 映画にでてくるハッカーになりたい - YAPC Asia 2010

realtimeaccesstrack.pl の実装

Page 66: 映画にでてくるハッカーになりたい - YAPC Asia 2010

use OpenGL;

Page 67: 映画にでてくるハッカーになりたい - YAPC Asia 2010

select();

Page 68: 映画にでてくるハッカーになりたい - YAPC Asia 2010

vec();

Page 69: 映画にでてくるハッカーになりたい - YAPC Asia 2010

fileno();

Page 70: 映画にでてくるハッカーになりたい - YAPC Asia 2010

realtimeaccessgraph.plとほぼ同じ

Page 71: 映画にでてくるハッカーになりたい - YAPC Asia 2010

だいぶ良くなったがまだ何かが足りない

Page 72: 映画にでてくるハッカーになりたい - YAPC Asia 2010

ハッカー的なこと

Page 73: 映画にでてくるハッカーになりたい - YAPC Asia 2010

原点に還って

Page 74: 映画にでてくるハッカーになりたい - YAPC Asia 2010

画面に何か流れる

Page 75: 映画にでてくるハッカーになりたい - YAPC Asia 2010

Devel::KYTProf

Page 76: 映画にでてくるハッカーになりたい - YAPC Asia 2010

Devel::KYTProf

id:onishi 作 (NYTProf ではない)

DBI とか memcached とか、IO に関わる処理を処理時間とともにターミナルに全て出力

空気 読んで とってくれる プロファイル だとかKYoTo Prof だとか諸説ありますが知りません

Page 77: 映画にでてくるハッカーになりたい - YAPC Asia 2010

便利な点

Page 78: 映画にでてくるハッカーになりたい - YAPC Asia 2010

吐かれるSQLがわかる

Page 79: 映画にでてくるハッカーになりたい - YAPC Asia 2010

どこから吐かれたか

わかる!

Page 80: 映画にでてくるハッカーになりたい - YAPC Asia 2010

かかった時間がわかる

Page 81: 映画にでてくるハッカーになりたい - YAPC Asia 2010

demo

Page 82: 映画にでてくるハッカーになりたい - YAPC Asia 2010

まとめ

Page 83: 映画にでてくるハッカーになりたい - YAPC Asia 2010

realtimeresponsegraph.pl実用度 ★★★

かっこよさ ★★

Page 84: 映画にでてくるハッカーになりたい - YAPC Asia 2010

realtimaccesstrack.pl実用度 ★★

かっこよさ ★★★

Page 85: 映画にでてくるハッカーになりたい - YAPC Asia 2010

Devel::KYTProf実用度 ★★★★★

かっこよさ ★★★

Page 86: 映画にでてくるハッカーになりたい - YAPC Asia 2010

ご静聴ありがとうございました

www.lowreal.net