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

3,725 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,725
On SlideShare
0
From Embeds
0
Number of Embeds
1,640
Actions
Shares
0
Downloads
2
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

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

×