第8回 Ruby勉強会@関西に参加しています

最近Ruby触ってないからなー。せめてイベントくらいは… 以下勉強会のメモです。

いろいろ

  • LANケーブル忘れた。名札忘れた。
  • Ruby関西。ひらがなで「るびかん」。
  • 次回は3/11(土)。

InternetExplorer + iTunes/RUby + Win32OLE + by cuzicさん

  • http://cuzic.net/kansai-workshop8/index.html
  • COM。ActiveX、OLE。10年以上前の技術。デザインパターン。いろんな言語から使える。この辺、最近いい参考書ないなー。
  • やおらオブジェクトブラウザを開く。それっぽいオブジェクトを調査。必要なメソッドが存在するかどうかを調査。やっぱりカンの世界なのかなぁ。
  • 純正オブジェクトブラウザ。Officeについてる? ツール→参照設定。SHDocVw。
  • Simple OLE Browser。助田さん。
  • COMオブジェクトの作成。ファクトリパターン。ie = WIN32OLE.new(InternetExplorer.Application)。
  • puttyつかってデモ。cygtermだ。ie.gohome。ie.navigate uriputtyは文字の大きさ変更とかが便利。プレゼンにぴったり。
  • 利点。DOM。パースはIEにおまかせ。リンクだけとりだせるとか。
  • MSHTMLie.navigate 'about:blank'; ie.body.innerHTML = 'Hello, world!!'。JavaScriptぽいことできる。
  • 新高値更新銘柄。shintakane.rb。
  • iTunesiTunes COM SDK。きれいなCOMの実装。Develop - Apple Developer
  • iTunesで現在聞いている曲をGoogleで検索。itunes.currenttrack。itunes.currenttrack.albumとか。
  • midl2rdoc。
  • 早聴したい!! テキストファイルを音声化して、iTunesに! ついでにメモ機能でテキスト自体もiTunesに。持ち運び簡単、すきま時間活用。
  • コントロールパネル。音声認識LH Kenjiくん。voice = WIN32OLE.new(SAPI.SpVoice); voice.Speak(...)。
  • ConvertFileでiTunesにインポートできる。
  • Google画像検索とか。
  • Vectorで声買える。3000円くらい?

DUMPによる多言語連携 by 西本さん

  • J1でDukeくんのウクレレもらったとか。
  • Method Passing(メソッドをたたく)をイメージしてDRUMをいう名前にした。
  • 言語間の違いを吸収。Primitive地の一般化(キャスト)。ObjectはObject IDとして扱う。言語特有な文法や機能は制限。
  • オブジェクトの生成。オブジェクトのメソッド、クラスメソッドの呼出し。クラス変数、定数の参照とか。
  • コールバック。サーバからクライアントの呼出し。イベント処理などで必要。
  • システム拡張機能の呼出し。システムプロパティの取得などなど。
  • 仕組み。TCPを使ったオブジェクトの操作。PrimitiveとObjectを分けて扱う。Primitiveは値を転送、オブジェクトはオブジェクトIDを転送。
  • サーバ側ではセッションで管理(考え方は、Cookieとかのセッションと同じ)。セッションタイムアウト時にGC(されるかもしれない)。
  • Javaがサーバ、Rubyがクライアント。Rubyでいきなり普通のJavaのクラスを生成できてる(javax以下のクラスとか)。
  • デモ。JavaSoundでC:/WINNT/Media/chimes.wavを再生。SwingでGUI。画像処理。LGで3D表示デモ。Rubyで作ったRuby
  • 将来の展望。セキュリティとか。子プロセスパイプ版(大変らしい)。HTTPによるインターネットでの利用。携帯電話のアプリと通信したい。C#版の作成(WIN32OLEぽいことができる)。
  • やっぱりJavaはライブラリが豊富だ。

未踏プロジェクト Ruby/TkORCAが目指すもの by 永井さん

  • GUI + ネット公開。どこでもGUI!!
  • ローカルで動くGUIアプリケーションをそのま利用可能。ローカルのウィンドウシステムでの実行テストが可能。
  • ユーザインターフェース部分だけをネットワーク経由で外に飛ばす。RFBプロトコル
  • クライアントはVNCビューワでいい。
  • なぜRuby/Tk? → Ruby/Tkだから実装可能。
  • 最近はTile拡張で見かけを変更できる。
  • 日本語入力はどうなのか? 微妙。

Ruby初級者向けレッスン 継承と委譲 by かずひこさん

  • 「継承は最後の武器だ………それじゃ忍者部隊月光か」 by まつもとさん
  • 委譲のためのライブラリforwardable.rb。Forwardable(クラスに対して)。SingleForwardable(オブジェクトに対して)。
  • 写経タイム。
  • クラス定義の中でextend。定義中のクラスのクラスメソッドを追加。そう言われてみると。
  • forwardable.rbのソースを読む。む。debugなんて変数がある。例外はそれぞれのメソッドで一旦rescueして、Kernel::raiseで再度投げてる。debug変数によってスタックトレースを調整しているみたい。
  • http://raa.ruby-lang.org/gonzui/

エソカイ