Create  FrontPage  Index  Search  Changes  Login

Ruby勉強会@関西-14

第14回 Ruby勉強会@関西(運営:Ruby関西

勉強会

日時
2007 年 2 月 17 日 (土) 13:00〜17:30
場所
京都女子大 B校舎4F B420教室 (13回と同じくプリンセスライン乗場の脇のキャンパスです)

当日,奥に隣接する C 校舎で大学院入試が行われています。そちらには立ち入ったり近づいたりしないようにお願いします。

地図
GoogleMaps
費用
実費(講師の交通費、配布物の印刷代等)の人数割をご負担ください。前回(同じ会場)は500円でした。
定員
定員は設定しません。

懇親会

日時
2007 年 2 月 17 日 (土) 18:00〜(予定)
場所
酔心 京都駅前店 B1 階
会費
およそ社会人:学生 = 2:1 の比率でご負担ください。前回は 3500 円、2000 円でした。
締切
2006 年 2 月 16 日 (金) 17:00 まで

プログラム

「Ruby 実行環境を取り巻く世界」西本さん

セッション概要
本家Ruby,+YARV,JRuby,RubyCLRなど,最近動向が激しい実行環境を中心に,今後のRubyの将来を考えてみます.
プロフィール
Java好きなおちゃらけプログラマ%酸(参)号機.
通称keisuken.
趣味・仕事を問わず少しずつRuby率が増してます.
最近Rails始めました:-)
配布資料
ruby-kansai-14.pdf
レポート(by Yuyaさん)
概要と感想

Ruby歴10年以上の西本さんによる、Ruby実行環境(処理系とライブラリ)のお話でした。 本家Rubyインタプリタはもちろん、その他の様々なRuby処理系を紹介して頂きました。 発表の最初に「ネタなし、お笑いなし」と断りがあったように、真面目&マニアックな発表でした。

Ruby処理系の中では、YARVが最も速く、最も安定しているとのことです。 Ruby 1.9.1のリリースが楽しみですね。

基礎知識

まず、処理系に関する基礎知識の説明がありました。

  • Ruby処理系とは
  • インタプリタ型、コンパイル型、仮想機械型
  • 仮想機械型のインタプリタ型、JIT型、AOT型、ハイブリッド型(インタプリタ+JIT)
  • それぞれの実行形式における長所と短所
各種処理系

続いて、Rubyの各種処理の説明がありました。 数あるRuby処理系の中から、互換性と完成度が高いものについて調査しているとのことです。

C Ruby
  • Rubyの本家実行環境
  • C言語で記述されている
  • ライセンスはGPL
  • これがないとはじまらない
  • これがすべてのお手本
  • 動作速度は速いとは言えないが、頑張っていると思う
YARV
  • 次期Rubyインタプリタ
  • C言語で記述されている
  • ライセンスはC Rubyに準ずる
  • 既に1.9系としてソースコードがリポジトリに取り込まれている
  • Ruby専用のVMであり、内部でワードコードに変換する
  • 最適化が行われる
  • ビルドが簡単になり、安定度も増してきた
JRuby
  • Java VM上で動作するインタプリタ
  • Javaで記述されている
  • ライセンスはCPL、GPL、LGPLから選択
  • parse.yを参考に、ほぼスクラッチから作成されている
  • Ruby 1.8互換であり、比較的互換性が高い
  • 作者らがSun Microsystems, Inc.に移籍し、開発速度が増した
  • バイトコードコンパイラを開発中
  • Javaとの連携が可能
  • 起動速度が遅い
xruby
  • Java VM上で動作するバイトコードを出力するコンパイラ
  • Javaで記述されている
  • ライセンスはGPL
  • JRubyと同様、スクラッチから作成されている
  • コンパイラとランタイムで構成されている
  • Ruby 1.8互換
  • JRubyより起動速度が速い
Rubinius(るびにうす)
  • バイトコードコンパイラとインタプリタ
  • C言語で記述されている
  • ライセンスはBSDライセンス
  • SmalltalkのBulebook的思想を持つ
  • Java VMや、.NETなどのバイトコードへの変換も構想中
RubyCLR
  • ごめんなさい、処理系ではありませんでした!
  • 実際は、Windows上で.NETを呼び出すためのライブラリ
  • 作者がMicrosoft Corp.に移籍
評価

各種テストプログラムをそれぞれの処理系で動作させた場合の成功可否と処理時間についての説明がありました。

使用したテストプログラムは、数値のカウント、数値の比較、配列への要素追加、フィボナッチ数列の生成です。 また、評価対象とした処理系は、C Ruby、YARV、JRuby、JRuby JIT、xruby、Java SE 6です。

結果のチャートと表は、配付資料をご覧下さい。

「Plagger meets Ruby」 by yhara さん

セッション概要
Plaggerの簡単な紹介と、RubyでPlaggerのプラグインを書いてみよう!という話をします。
プロフィール
京大マイコンクラブに所属する大学院生。
RubyとはC Magazineのスクリプト言語特集で出合って以来6年目の付き合いとなる。
代表作はたぶんRuby/SDLスターターキット
最近ゴルフに手を出してみたが、上級者のスコアにただただ圧倒されるばかり。Rubyの他に好きな言語はBefunge。
配布資料
http://mono.kmc.gr.jp/~yhara/d/?date=20070220#p01
レポート(by よしだあつしさん)
Plaggerのプラグインはrubyで書けるんだよというお話。
plaggerは
  • 入力
  • 加工
  • 出力
をプラグインで実現していてそれぞれデータをPlageerに渡したりもらったりすればいいのでrubyでプラグインを書くことも可能だと言うこと。
「Plaggerでピザを頼む」
ネタを散りばめたりPlaggerとPragger(ピュアrubyなPlaggerクローン)の発音の仕方で遊んでみたりプレゼン時間があと3分だと思ったら15分だった(ネタかと思ったけど本当にアクシデントだったらしい)などということもあったけど非常にためになり、面白いプレゼンでした。

ライトニング・トーク「Rubyリファレンスマニュアル刷新計画の進捗報告」by okkezさん

配布資料はありません。スライドのアップもしません。 ライトニングトークはその場限りということでお願いします。(okkez)

レポート(by youhei)
通称『るりま』の刷新計画
  • 第二段階、1/8終了
  • 第三段階、まもなく開始
    • 全てのエントリのドキュメントを書く
    • 質は後回し
手間がかかるので、手伝ってくれる人募集
  • あまりオープンソースに関わっていない人も是非
  • 手伝うと、Ruby会議での青木さんセッションで、Special Thanksとして名前が紹介されます
刷新計画第三段階への参加方法
るりまWiki
興味のある方は、是非!

ライトニング・トーク「letmesee + royal-fpwで超快適フランス語辞書生活」by かずひこさん

レポート(by youhei)
letmesee?
  • 辞書を引くためのソフト
  • ウェブアプリケーションなのでブラウザ経由で
  • RubyEBを使う
RubyEB
  • EBライブラリをRubyから使えるようにする
EBライブラリ
  • 電子辞書を扱う為のライブラリ
  • EPWINGなどの形式に対応
EPWING
  • 電子出版のための共通フォーマット
  • 最近はあまり出版されていない
royal-fpw
  • FreePWINGを使って辞書付属のCD-ROMデータをEPWING形式に変換するスクリプト
  • ウェブブラウザからの使用のみを想定した形に変換する
辞書引きbookmarklet
  • ブックマークに入れて使うJavaScript
    • 選択した文字列を取得する
    • letmeseeにその文字列を入力して検索した際に生成されるものと等しいURIを作る
    • そのアドレスに飛ばす
まとめ
  • 「やりたいこと」のためにはあらゆる手を尽くそう
    • 全部自分の力でやるのではなくて、既にあるものを組み合わせて目的を達成する
      • RubyEB、EPWING、FreePWING、ウェブブラウザ、Bookmarklet…
  • 最初は知らなくても色々やっているうちに知識が増える

「Ruby 初級者向けレッスン 第11回」okkezさん&酒井さん

セッション概要
irb の簡単な使い方や便利な使い方をご紹介したいと思います。
プロフィール
酒井さん
最近、就活なのでスーツの日が増えましたが、まだまだ着慣れていません。
もちろんRubyも使いこなせない、初心者です。マイブームはアポロというチョコを上下に分けて食べることです。よろしくお願いします。
okkezさん
社会人二年目。仕事に飽きると、Rubyでツールを作ります。どんなツールかは機会があれば、お話ししたいと思います。
最近は、Rubyリファレンスマニュアル(るりま)のお手伝いをぼちぼちやっています。
レポート(by なんき)
Ruby初級者向けレッスン
自己紹介
  • okkez(おっきー)さん
  • 酒井さん@小波ゼミ 睡眠時間がほしい
ゴール設定
  • 基本操作
  • 設定ファイル.irbrc
  • デバッグに使う
irbの説明
  • InteractiveRubyの略
  • 挙手によるアンケート
    • ユーザー 結構多い
    • マスター いない
    • ビギナー ぽつり
使用例
 >> 987654321 * 9 - 1
 >> def add(x, y)
 >>    x + y
 >> end
 >> exit
実用例
  • オーバーフローしない電卓として
  • shell代わりに#irbsh
  • 動作確認
  • メソッドを探す
実例
  • 電卓として
 >> 2 ** 1000000 # => overflow(というかWarning)がでて笑いを誘う。
  • % でフォーマット
 >> '%03d' % 1
 >> '%*s' % [10, 'aaa']
  • Arrayが何を継承しているか
 >> Array.ancestors
コマンドラインオプション
  • --no-readline # irb の不便な使い方
  • --prompt-mode simple
  • --back-trace-limit n
プロンプト
  • XMP, DEFAULT...
  • 中身は IRB.conf[:PROMPT]
設定ファイル
  • riやrefeを使える設定に。
  • require 'irb/completion'
 Array.an* # ここでTABを押すと、ancestorsと出る。
  • pp, y メソッドを追加するため。
 require 'pp'
 require 'yaml'
終了
  • exit, quit, irb_exit
  • abort → Kernel#abort(irbサブセッションもすべてさかのぼって終了)
load と require
  • require は一度だけ読み込む。
  • load は毎回読み込みなおす。
  • 実行例
ri, refe でマニュアルを見る
  • .irbrcで定義した、ri, r メソッドにて。
irbの応用例
  • script/console (Ruby on Rails)
  • iar (Interactive ActiveRecord)
  • irbdb (デバッガ)
質問がないようなのでirbサブセッションのデモ
  • irbの中でirbと打つ。
  • jobs でセッション一覧。
  • fg n
  • kill n
10.times{irb}
jobs
fg 0 # で元のスレッドに戻ると、また起動する。
  • コンテキストを指定できる。
 >> irb Array
質問
Q.機能がたくさんあるけど、初心者にはどれが特にオススメ?
require 'irb/completion'
Q.ri, r メソッド、どいういうこと?
.irbrcで定義されている
ri, refe などの外部コマンドに依存している。
環境や、(Linuxの)ディストリビューションによっては、インストールされていないかも。
演習 じゃんけん
F グループ (by ひがき)
  • irb/completion が非常に便利。
予約語、クラス名、メソッド名、変数名などを補完してくれる。
  • irb から ri や refe を呼べば更に便利。
.irbrc に def ri(keywd='') print `ri #{keywd}` end とか書いておく。
  • F グループでは、ふたりずつに別れて実習に取り組んだので、パートナーとじっくり話せたのが良かった。
パートナー以外とはまったく会話できませんでしたが。
  • irb でプログラミングしようとすると cat> で C のコードを書くような状態になってしまって使い辛い。
プログラムはエディタで書いて、ちょっとした確認を irb でやるとよい。

コメント

  • 2007-02-19 (月) 05:55:04 a : 「Ruby 初級者向けレッスン 第11回」の配布資料はアップされないんですか?
  • 2007-02-19 (月) 05:55:35 a : 「Ruby 初級者向けレッスン 第11回」の配布資料はアップされないんですか?欲しいのでしてください。
  • 2007-02-19 (月) 21:12:50 okkez : すいません。もう少しお待ちください。必ずアップしますので。
(comment plugin is disabled).

反応リンク集

日本Rubyの会 公式Wiki - Ruby勉強会@関西-14 http://jp.rubyist.net/?KansaiWorkshop14

irbを使って動作確認しつつじゃんけんプログラムを作ろうという課題でしたが、 irb上で動くじゃんけんプログラムを作っちゃいました。

時間内に仕上げるためにはきれいな....

すごく遅くなりましたが、Ruby勉強会@関西-14にいってきました。2回目です。 Ruby 実行環境の話は、色々と他言語との絡みもあって、興味深かったです。JRubyは試してみたいと思います。GroovyとかRhinoみたいなポジションになる可能性があるのかな?あと、RubyCLRを会社の

2ヶ月に一度、うちが1時間だけRubyistになる時間がやってきましたよ。 詳細は、日本Rubyの会 公式Wiki - Ruby勉強会@関西-14や、このページのトラックバックからとべるページに丸投げ。 毎回、いろんな人がきてRuby勉強会はいつも楽しいです。このレベルのスクリプトオタの

行ってきました。昼70人夜50人とか凄いよなぁ。ほんと。 Ruby 実行環境を取り巻く世界 #衝撃検知機能を実装したり、スライドいじったりしてて聞いてる余裕がありませんでした^^; ごめんなさい。 Plagger meets Ruby 自分の。Plaggerネタもちょっと時期を逃したかなぁ…と思ってるうちにPrhaggerとかPRaggerとかYahoo! Pipesとか 盛り上がってきてわー..

やりたいこと実現のために、あらゆる手段を駆使しようと頑張ると、その過程でいろんな知識も身についていいですね、というお話でした。 Happy Hacking!

 第14回 Ruby関西に出かけてきた。  午後から雨になり、随分冷え込んだのに

2月17日、今回も京都女子大で行われたRuby勉強会に参加してきました。 三十三間堂を拝観するために少し早めに行ったけど、拝観に思ったより時間がかかって結局勉強会には少し遅刻してしまいました。 今回の興味は「Plagger meets Ruby」。1週間ほど前にやっとPlaggerを動か

ruby勉強会14に行ってきました。 ruby初級者レッスンではじゃんけんプログラムを作るのが課題でした。 はじめじゃんけんの9パターンをべたで書いてたのですがかっこ悪すぎと思って考えた僕の勝敗判定はこれです。 def judge(my_hand, com_hand) case (@@hand[my_hand] - @@h

Ruby勉強会の初級者レッスンのお題のジャンケンプログラムについて。グループレッスンでいろんな人の書き方を眺めていたのを、いくつかのパターンで紹介します。

Today (17-Feb-2007) was the 14th Ruby Kansai meeting in Kyoto. Some notes on Stikipad (and copy on my wiki). For bad luck both Stikipad and JunebugWiki cannot do trackbacks, so I’ll use this diary ..

Ruby勉強会@関西-14、あまりの金欠っぷりに参加を見合わせようと思ったけど結局行ってきました。途中昼食に立ち寄ったCoCo壱番屋でなかなか料理が出てこなくてバスを逃す。仕方なくタクシー。というか自費タクシー人生初。 Ruby実行環境のお話。本来のJRubyとかのお話とか完全スルーでRubyCLRに萌えてた!僕は本来C#の人ですが、C#はあれこれするにはちょっと機動性がないのでどうかなーとか..

Last modified:2007/05/13 15:49:11
Keyword(s):
References:[Ruby勉強会@関西]
This page is frozen.