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