トップ «前の日(12-05) 最新 次の日(12-07)» 追記

follow ikegami__ at http://twitter.com

イネムリネズミ日記

いけがみを召喚するには、出現予定を参考にしてください。三週間前までにメールをくだされば、日程を追加するなどしてスケジュールに組み込むことができるかもしれません。勉強会や個人的な会合、中途採用面接などに応じます。日記に書かないことはこちら

2003|04|05|06|07|11|12|
2004|01|02|03|04|05|06|07|10|11|
2005|01|02|03|04|05|06|07|08|11|
2006|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|11|12|
2010|03|04|12|
2011|02|03|04|06|08|09|10|

2006-12-06 Ruby勉強会@関西-13の発表の準備メモ

_ Ruby勉強会@関西-13の発表の準備メモを公開します

12/16(土)の13:00から行われるRuby勉強会で発表することになりました(ひょんないきさつから)。まだ現時点でプログラムは公開されていませんが、近日中に公開されると思います。興味のある人はチェックしていてください。なお、Ruby 勉強会は参加登録制をとっています。面倒かもしれませんが、参加してみようかと思った方は試してみてください。

では、私の発表の準備メモに移ります。

いちばん伝えたいこと
Ruby でプログラムを書くときに混入するバグの発見手法は様々である。私が知る限りの手法のいくつかを紹介する。
発表を聞いた後の聴衆がどうなってほしいか
バグの発見のためには費すコストと発見できる確からしさのトレードオフが存在する。 バグを発見する方法を適切に選択できるようになってほしい。
想定している聴衆像
Ruby の自動ユニットテスト環境 Test::Unit についてはすでに知っている、と仮定する。この仮定はそう無理ではない、 というのは、Test::Unit は Ruby にデフォルトでついてくるし、ドキュメントもたくさんあるし、今までの Ruby 勉強会@関西 (たとえば前回の第12回) で何度もとりあげられた題材だからである。今回初参加で、かつテスト手法についてご存知ない方は、 私としては大変申し訳ないが放置されると思う(でも発表そのものを楽しんでいただくための内緒の工夫はいたします)。 自分でプログラムを書いた経験のない人には、今回紹介するデバグ手法の話はつまらないと感じられるかもしれない。
聴衆から見た自分の立場
発表の前に簡単な自己紹介をすることで、私がなぜRubyのデバグ手法について発表するのかを伝えます
プレゼンで伝える問題
  • Test::Unit よりもすぐれたテスト環境とは?→ RSpec
  • テスト漏れを減らし、大量のテストを自動化したい→RushCheck
  • テスト以外のバグ発見手法とは何か→formal methods→model checking, theorem proving
聴衆は納得するか?
  • RSpecはTest::Unitより優れているか?
    • spec で一発テスト自動実行
    • assert_equal :king speaker より speaker.should_be_king
    • context と specify でテスト項目をまとめる
    • 仕様を強く意識することが重要
  • テスト漏れを減らし、大量のテストを自動化するには?
    • [ruby-list:43012]のバグを事前に発見しよう: RushCheck::Claim.new(Number, Number) {|x, y| x * y} で。
    • malformed format string bug "sprintf(s)" をみつけよう: RushCheck::Claim.new(String) {|s| sprintf(s)} で。
  • テスト以外のバグ発見手法とは何か?
    • formal methods (形式的手法または数理的手法と訳される) という方法がある
    • モデル検査と定理証明の2つを紹介する
    • C 言語に対する BDD Model Checking ツールを Ruby extension で使うデモ (予定)
    • 現状では、Ruby に対する formal methods は私は知らない、が将来的に誰かが作るかも?
発表したい根本思想
  • 振舞駆動開発RSpecイイ
  • RushCheck紹介(私が開発者なので紹介したい)
  • Formal Methods紹介(短時間で適切に説明するとなると、私には少し荷の重い題材ですが、料理してみたい。
  • バグを発見することそのものを楽しもう

_ 以上はまだ下書きの段階です。

プレゼンのスライドもまだです。過度の期待はしないでください。今回の発表は、なんか小波先生にうまく乗せられてしまった感があります。(あ、これ、嫌がっているわけじゃないですよ)RushCheck の紹介を KOF 2006 でやりたい、って伝えたら、なんか上手に、formal methods の紹介を Ruby 関西勉強会でしてほしい、って話にすりかわっちゃったので。引き受けた以上は、私流におもしろおかしい発表にするつもりです。なお、この発表は、まっどさいえんてぃすと.jp のメンバーとして発表します。したがって発表の内容に如何にかかわらず、私が所属している研究所とは何の関係もありません。

_ 発表準備のテンプレート

前回の KOF 2006同様、今回も発表スライドを作る前に押さえるべき7項目を準備しました。この方法は伝わる・揺さぶる!文章を書くで取り上げられている「文章の7つの用件を押さえる」を私なりにプレゼンテーションのために解釈したものです。前にも書きましたが、この本は名著です。

_ KOF2006 レポート

なんか、高校生が学校の行事で来ていたそうです。で、その後学校から参加の感想文レポートの提出を要求されたのだと。そのレポートで、Ruby のセッションで踊っていた人が印象深かったとか書かれたようです。はい、わけのわからないことをしてすみません。先生はきっとそういうところを見てほしかったんじゃないと思います。違うんです。

でも、やっぱりやってよかった。ありゃあ一生一代の大舞台でしたバイ。もう一度やれって言われてもたぶんやりませんので。え?RubyKAIGI2007?


2009-12-06 歓迎されるヒイラギ

_ 9月からの出来事報告まとめ

RSS リーダーでお読みの方はご注意ください。この日のブログは stub です。まだ、ユーモアが欠乏しています。以下、個人的に <censored> だった記録をこの日付のブログにまとめて残す予定なので、酢豚を楽しんでください。以下、日付順に:

  • Haskell 秋の年会
  • 日本数学会 秋期総合分科会
  • 決定不能の会 第一回
  • 計算機言語で定理証明(Proof Party)
  • LL 温泉 2009
  • etc...

ちょっといい話、とかは書きません。ありましたが、心の鍵をかちりとはめてしまいました。たのしい思い出は、僕と将来の愛妻のものです。2次元妻なのか3次元妻なのか、それとも4次元妻なのか、よくわかりません!

おとなの事情で 10 月に書き溜めて公開してない文章を、あらためて推敲している段階です。期待するなよ、期待するなよ、絶対期待するなよ。


出現予定(召喚方法 ikegami@madscientist.jp):

RSS feed を再開しました。RSS の思想を尊重するために全文配信はしません、あしからず。