Ruby勉強会@関西13に参加してきました

そしてそのメモをはてな記法で整形,追記
本当に気になったところだけメモしてるので,偏ってます.

初級者レッスン おっきーさんとなつまさん

今回から(だけ?)かずひこさん&こうざいさんじゃなくて,okkezさん&なつまさんコンビ.

<=>

デバグ技術 いけがみさん

デバグ技術とかその周りはほんと聞いてて面白い.てか,いけがみさんが面白い.これだけはガチ.
http://madscientist.jp/~ikegami/diary/
準備メモは,http://madscientist.jp/~ikegami/diary/20061206.html#p01

  • 省略Boy,解説Kingが新登場
使用と実装がずれているところにバグがある
  • 「どうあるべきか」と「どのように作るか」は全然別もの
    • 要求仕様

どうあるべきか → "object.action" should be "result"

    • 実装

実際はどうだったか → "object.action" may not be "result"

assert person.put_couwn.king?
    • 仕様と実装がセットになってる
    • RSpec
person.put_couwn.should_be_king
    • ちゃんと切り分けられてる
RushCheck
  • kof2006のとだいたい同じ内容
  • テストでバグなんか見つかるはずがない
  • テストはつまらないからプログラマがサボっちゃう
  • そこでランダムテストという考え方(新技術:さきっちょの技術)
require 'rushcheck'

RushCheck::Claim.new(Integer, Integer)
do |x, y|
  RushCheck::Guard.new { y != 0}
  x/y
end.check
  • テスト回数でフォルト100回
  • 原理的にはどんなクラスでも,定義さえしてやれば良い.
Formal Methods
  • 訳としては,形式的手法
  • 意味としては,数理的手法
  • テストよりもコストが高い
    • 学習時間,メモリと計算時間,実行にうつすまで
  • Formal Methodsでバグがなければバグはない!
  • 現状でRubyのためのFormal Methodsは存在しないが,CやJavaに対する方法はある
  • プログラム,要求仕様をシステムがいちど数学的な何かに翻訳してコンピュータが自動判定
    • モデル検査と定理証明
  • モデル検査
  • 定理証明
    • プログラムを数理的モデル
    • 要求仕様を命題に翻訳
      • ツールはいっぱいある
デモ
  • RSpec
    • tutorialを読もう
      • 「-cオプション」でカラフルに
  • RushCheck
    • あっさりと下記述で100回チェックとか
  • RSpecとRushCheckは組み合わせると最強??

Rubyクイズ きゅーじっくさん

  • 企画倒れorz
    • 是非次回はWiiリモコンで!
      • アシスタントさん,頑張って!
Rubyの文字列
  • Rubyでの文字列は任意の長さのバイト列が使える.
5つの文字列リテラル
  • "", '',%{},%q{},ヒアドキュメント
    • 式展開可能
      • ""
      • %{}
      • <
    • 文字列をそのまま
      • ''
      • %q{}
      • <<'EOD'
  • %{},%q{}の使いどころ
    • %は文字列中に\や"を含めたい時
    • 特に%r{}による正規表現リテラルは覚えたいテク
    • 文字列は%メソッドを持つ
  • str % a,b,cはsprintf str, a, b, cと等価.Python由来?

a = "Perlish"とすると,

a[/Perl/, 0] = "Ruby"
a => Rubyish

また,

a["Perl"] = "Ruby"
a => Rubyish

タイプ数は減るかもしれないけれど,正直言って気持ち悪いので素直にsub使いたいな.

SCIM-ruby なかもとさん

  • デスクトップ上の何処でもrubyを実行
  • かな漢字変換エンジンをRubyに変えちまえ!
  • exitは危険なので自己責任
  • コンテキストのリセットとかしてくれたら嬉しい
  • FAQ大杉
  • 技術として,着眼点がとても面白い
  • MLで発表資料のURLが晒される予定っ

オープンソースは愛だ! かずひこさん

本気で聞いてたので,メモはとっていません.ただひとつ確かな事は,「愛」.
全然関係無いけれど,映画TAXiのプジョーは,406です.407はホント異質な感じがするなぁ.

懇親会 タージ・マハール

  • インド料理はウマい
  • 手で喰うとさらにウマい(気分)
  • サイロスさんを中心に,ラッシーフィーバー.ラッシーばかり,3杯飲んだ.
  • ボクはチャイが飲みたかったYO
  • Wiiリモコン面白かった
  • Nitroの勉強してみよっと
    • 今完全な日本語のチュートリアルを書けば,アクセス数伸びるかも?いや,確信はない


まぁこんな感じで.Rails勉強会やHaskell勉強会は,やはり開催地が大阪というのがすごい足かせになってて,どーもスルーしそうな予感っ!Haskell読みやすいよねーとか話題にはなっていたが,ボクはどうもCommon Lispに溺れてしまいそうな予感がしてきた.予感であってくれ.深く学ぶつもりはないんだ…….