More Related Content
Similar to セキュリティ&プログラミングキャンプ2009参加レポート (PDF版) (20)
More from Shoot Morii (20)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
- 6. 自己紹介
● Pasta-K
● http:/d.hatena.ne.jp/Pasta-K
● http://twitter.com/pastak
● http://pastak.cosmio.net
● 京都の高1です
●さっきまで土曜講座でした
● セキュリティ&(ry 参加者
● Online.sg主宰
● GoogleWaveの招待欲しいなぁー
- 7. *謝罪*
● セプキャンの濃ゆい5日間を15分のLTで全
てを紹介するのは無茶です。
●スライドが60枚!!!
● 講義とかの内容は参加者のブログとかに感
想とともに載ってそうな感じなので、今回
はブログとかに書けないような話をします
講義の内容というよりは会場の雰囲気
–
を少しでも伝えられたら
● さっきまで突貫で作っていので、あんまり
まとまりが無いかもです…
- 9. セプキャンに行ってきました!
● セキュリティ&プログラミングキャンプ2009
● プログラミングコース
– プログラミング言語組
Me
http://jibun.atmarkit.co.jp/lstudent/special/spcamp2009report/03.html
- 11. 講義の内容
● 全員共通科目
● 情報セキュリティ基礎
● プログラミング入門
● プログラミング組共通科目
– ソースコードの管理入門
– ソースコードの読み方
– Debug Hacks
– オープンソフトウェアの歩き方
- 12. 講義の内容
● プログラミング言語組の講義内容
● 笹田さんによるRuby関係の講義
– Rubyをビルドしてみよう/使ってみよう
– Ruby処理系の構成について
– Rubyコミュニティの紹介
● 稲葉さんの言語理論のお話
– いまどき!?のプログラミング言語理論
- 13. プログラミング言語組について
● 笹田耕一氏
● Rubyの言語処理系YARV開発者
● 園田裕貴(Yugui)氏
●Ruby 1.9系統リリースマネージャ
● 西尾泰和氏
●未踏ユーススーパークリエータ
● 稲葉 一浩氏
●言語関係の何かよく分からないけどスゴい人
● 吉岡弘隆氏
● 説明いいよね?
● MLのみの参加
● まつもとゆきひろ氏
- 14. 初日(会場到着までの話)
● N700系でインターネットが使える!
● 参加者とTwitterを用いて連絡とったり
● @siritoriと東京駅で遭遇
● 事前にTwitterに「WindowsなTシャツ着て
る」って書いておいたらエスカレーターでバ
レた
– インターネットプロコトルがどうこうって
本を持ってたから怪しいなぁと思ってはい
た
● 会場最寄り駅〜会場までの間に参加者っぽい
人たちが等間隔に歩いていたので連いて行く
- 15. 初日の会場での話(1)
● id:daiki41tiに即効で「Pasta-Kだー」っ
と言われた。
● 始めのミーティングでいきなり吉岡さんの向か
いの席に座る。
●daiki41tiがP2Pの小難しい話を始めたり
…
● 全員共通講義「アンチウイルスソフトを使わず
にウイルスを見つける方法」
● 参加者:「パケットやプロセスの監視」
● 模範解答:「長年の経験による勘」
– pdfとか開く動作が遅くなる…
- 16. 初日の会場での話(2)
● 夜はid:amachangプレゼンツの交流会
● 意気込みをみんなで紙に書いて掲示
– 手が動かない参加者の手を動かした
「Twitterに書く感じで」
● 「腹減ったぁ〜」
● 名刺交換ゲーム
– 講師陣の手書き名刺が!!
● レア?
- 18. 初日の夜
● 事前に参加者と交流しているときの指令「八
つ橋買ってこい」を忠実に守り、僕が京都駅
で買った八つ橋を食べつつ交流を図る集いを16
階談話室で開催w
●部屋に入ったら「好きなエディターは?」
– エディタ宗教論争
– 2日目くらいからTWitter上に「16階な
う」が登場
● 裏で酒を飲む講師陣
● @hyoshiokのTwitterなどで発覚
- 19. 通称16階組
● 各々が延長コードを持ち込んでの開発
●普段の成果見せたり、tipsの交換とか
● ニコ動を談話室のテレビに写しての鑑賞会
● Emobileすげー
● 繋ぐためのケーブルを持ってきてた人がいた
● 何を見てたかは(ry
● 言語組講師陣も混ざってた
● ささださん「はやくねろよー。言ったからなー」
(棒読み)
- 21. 事件その1
● 隣の部屋であった言語組のid:yayyuguさんが
キー閉じ込みを○時30分にしてしまう
● 「キー閉じ込み第2号」
– すでに1人いた!!
- 22. 事件その2
● 部屋で新幹線で使った
HotSpotパスが使えたの
でインターネットをして
いたらさらに事件は起
こった
- 26. 2日目午前
● 午前中はプログラミング組共通科目
● 調子に乗って使ったことの無いvimを使うな
どしてしまう
● 実習としてRubyのビルドを行う
– 予習しているはずの言語組勢がなかなかス
ムーズに行かない
● 笹田さん「お前ら予習してないだろ」
● 言語組「・・・」
- 27. 2日目午後
● ここから組に分かれる
● 言語組
– 自己紹介をしつつ、各自Skypeの導入
● 言語組グループチャットの存在
– コミュニケーション・質問
– 講師へのツッコミ
● 講師の横には常にSKypeの画面がw
– 「セキュリティな人たちに怒られそう」
➔ 今も活躍中
– 笹田さんによる今回扱うRubyについての話が
この日は中心
- 28. 2日目の言語組
● Yuguiさんにサインを貰うpokutuna
● 「DebugHacks」の文字組みにダメ出しをする
人もいたw
● 大人気のチョコレート
● 日を増すにつれて減る速度もアップー!
● Rubyなどの本が並ぶ本棚
● はじめてのRuby
● DebugHacks
– こんな本まで・・・ →
- 30. 3日目午前
● 企業見学会
● プログラミングコースはDeNAへ
– モバゲーの会社
● モバゲーの登録者がほとんど居ないw
● サーバ室見せてもらったり、開発者さんと座
談会みたいなことも
● 行きのバスで東京の街を見て「TVで見たやつ
や!」
● 帰りの社内ではOS組講師の川合さんから印税生
活の素晴らしさを教えてもらうw
- 31. 3日目午後
● 言語組は課題に取りかかる
● 「Rubyの見える化・聞こえる化」という課題に挑戦
– 1人で…(Git……
– 西尾さんのサポートで進めることに
● 以前からblogとか見てたので緊張したw
● もちろん2人もSkypeチャット開設
– 参考になるサイトのURLとか
– 「2人で愛を育むためのチャット」by
Nishio
● 方向性としては「聞こえる化」に決定
– 詳しくは最後に話します
● 以後、黙々と作業に打ち込む参加者
- 32. 4日目午前
● 朝に食券を無くしていたことに気付き、朝に再
発行してもらうなど
● 午前中に課題をほぼ完成させないといけなかっ
たので、無言で作業に取り組む
●チョコレートはすぐに無くなる
● 突如鳴り響くピーっという音
● セキュ組が無線APを見つけると音がなるソフ
トを立ち上げて練り歩いていた
● 僕&西尾さん「先を越された」
– その後無事音を鳴らすことに成功
– 「うるさい」と笹田さんに怒られるw
- 33. 4日目午後
● 特別講師による講義
● ハイテク検事 大橋さん
● はてなの伊藤さん
– プログラミングで世界を変える
● 10000人が同じアイデアを思いつく
● 100人が実行出来る力がある
● 10人が実際に実行する
● 1人が成功する
- 34. 4日目午後 その2
● はてなの伊藤さんにはてなTにサインしてもらっ
た!!
●名刺交換もしてもらいました!
– id:naoya「Pasta-Kさんですか、知ってま
すよ!」
– (^ ^)/ <ワーイワーイ
● 夕飯時講師陣に囲まれる
● 言語組チュータ*2+はせがわさん
+吉岡さん+Yuguiさん+竹迫さん
+天野さん+僕
- 36. 4日目 夜 BOF2
● 何人かのグループに分かれてのセッション*2
● 吉岡さん+天野さん「勉強会に行こう」
– 吉岡さんから話をふられて困るなど
– やっぱり勉強会に興味ある人多かった!!!
● 竹迫さん+はせがわさん「脆弱性〜」
– 夕飯の時に講師陣に勧められた
● 「竹迫さんとはせがわさんの漫談は必見」
– 竹迫さんが楽○のサイトのXSSを発見してき
た!
- 38. まさかのキー閉じ込み
● 鍵をフロントに返しに行こうとしたときに鍵を
持ち出すのを忘れていたw
● 続々とフロントに鍵を返しにくる参加者たちの
横でスペアを受け取る…
- 39. 5日目 午前
● プログラミング組内での成果発表会
● 一人5分
● OS組は自分で作ったOSの紹介とデモ
● Linux組はカーネルの改良成果など
● 言語組はそれぞれの課題への取り組み成果
– というわけで、そこで使ったスライドを今
から見せます。
● デモ有!
- 40. Rubyの聞こえる化
Pasta-K - pasta0915@gmail.com
2009.08.15.Sat
セキュリティ&プログラミングキャンプ2009
Supported by 西尾泰和
- 41. 目的
If文中の条件式がtrueかfalseかによって音を鳴ら
す
➔ 画面を見なくても、条件式がtrueかfalseかが音で分か
る
➔ 退屈なデバッグ中に音が鳴ることによって、ちょっぴり
ハッピーになれる
➔ make testの曲なんていうのも表現できる?
➔ ニコニコ動画にうp
- 42. 変更の方針
構文木からバイトコードへの変更を担当している
compile.cを書き換えて、Rubyのif文を書いたとき
に出力されるバイトコードを変えて、音をならすよう
にする。
- 44. 1,if文の条件式を評価しているところ
何をしている部分?
NODE_XXXXを受け取って、それをもとにして、どんな
構文が書かれているのかを判断し、適切なバイトコード
に変換している。
➔ つまり、この部分でthen節とelse節をバイトコード
に変換する前に、音が鳴る動作を付けてやれば、そ
れも一緒にバイトコードに変換されるのではないか
- 48. 音を鳴らす方法
OSS(Open Sound System)というUnix オペレー
ティングシステムで音を作成したりキャプチャしたり
するための標準インターフェイスのAPIを叩いて音
を鳴らす。
引用元:http://ja.wikipedia.org/wiki/%E3%81%AE%E3%81%93%E3%81%8E%E3%82%8A
%E6%B3%A2
- 49. 検証中に・・・
音を鳴らす関数内にオプション的に出力を変えるた
めにif文を用いた分岐を書いていたら、そのif文に
反応して、音を鳴らす関数が呼び出された
➔ また、検証用のif文が実行されるときに(ry
➔ また(ry
➔ 無限ループ突入 orz
- 50. 実際の実装は…
true、falseの場合に鳴らす音をそれぞれ分けて実
装
始めは、各rbファイルに逐一記述していたが、
prelude.rbやgem_prelude.rbに記述すれば、Cの
文字列として、rubyに埋め込まれると分かったので
prelude.rbに記述
prelude.rbやgem_prelude.rb内のif文にも適応され
て、「関数が見つからないよ><」エラーが出てました。
ダミーの関数を用意することで解消
- 52. 感想
CもRubyもあまり書いた経験がなかったので、ソー
スを読んだり、スクリプト書くのもとても大変でした
講師の皆さん、Google先生ありがとうございました
gdbでのデバッグも初体験で新鮮でした。
将来的には、rbファイルを楽譜代わりに演奏なんて
いうのも・・・
- 54. 5日目 午後
● 全員が集まっての成果報告会
● セキュ組:ディスカッションの成果報告
● プログラミング組は各組から代表チームが発
表
– 言語組は笹田さんが全員の成果を紹介する
● BGM:test_prime.rbの動作テスト
● 修了式
● 修了証授与+今後の意気込み
● 「帰るまでがキャンプです」
- 55. 修了式後
● 書籍などが貰えるプレゼント大会
●当たりの人にはデスクトップPC+SP課題!
● 著者の人が居る本もあるからサイン本化も可
● HackerJapan
– 記事の執筆者な上野さんと竹迫さん
● Ruby逆引きレシピ
– Ruby組の講師陣にサイン貰った
● DebugHacksの缶バッチ
– 吉岡さんのサイン入り
- 56. 解散後に・・・
● @ITの件で打ち合わせも兼ねてITmedia
のオフィスに入れて貰えることになって
いたので、参加者10人を引き連れて
ITmediaのオフィスを見学したりしてま
した。
- 57. セプキャン感想まとめ
● とにかく、話が合う同世代の人にたくさん出会
える!!
楽しくないはずが無い!!!!
–
● 話題が尽きない尽きない
– 今も交流してる人も多いです
● 講師陣のレパートリーも半端無い
●「世界最高の講師を準備した」by吉岡さん
– そんな講師の人たちが隣で飯食ってる環境
● 言語組だけに限らず、その道のエキスパートに
直接教えて貰える
- 58. セプキャンtips的なまとめ
● 事前に講師陣のことを知ってたりすると緊張するの
で、あまり知らない方が良いと思います
● 個人的に西尾さんとか天野さんとかスゴイ緊張し
た。。。
● 逆に参加者のことは調べておくと良いかも
– 「Twitterで『〜』って言ってたけど」
● 講師陣に近づいて行くと、意外な裏話が聞けるかも
● Itmediaとか取材クルーにも近づいて行くと、コメ
ント求められたりして、掲載なんてことも
● お土産とか貰えるかもだからカバンに余裕を持たせて
おくと良いかも
- 59. さいごに…
● 対象年齢(〜22歳)の人
●是非!来年のキャンプに参加してみて下さ
い!
– この後、はせがわさん(セプキャン講師)
を捕まえて話を聞き出そうw
● 対象年齢外の人
● 周りの若い人に紹介してあげてください