分12345677月16日(土)から18日(月)までの3日間にわたり,練馬文化センターにて日本Ruby会議2011(略称:RubyKaigi2011)が開催されています。本ページでは,3日目の模様を随時レポートしていきます。今年のRubyKaigiにも,世界中から人が集まりました。開場前,スタッフの集合写真が撮られていました。Rubyの会と関連プロジェクト報告(るびま,るりま)⁠」⁠まずは高橋さんの方から日本Rubyの会について話がありました。日本Rubyの会は現在一般社団法人にする予定となっており,日本Rubyの会が発足した8月に法人化すると述べました。現在の任意団体と一般社団法人の違いの一つに,高橋さんは「契約」を挙げました。RubyKaigiの会場の契約は現在は個人,つまり高橋さんが契約していますが,法人化すれば法人として契約することが可能となるそうです。他にも法人として資産が持てることをあげ,今まで個人が肩代わりしていたことを日本Rubyの会が法人として行なえるようになると述べました。一般社団法人にも様々なものがありますが,非営利性が徹底された法人とするとし,公益法人にはならないと言及しました。法人化することで会員の構成も変わるとのことです。具体的には正会員,一般会員,名誉会員の3つに分類されるようになるとし,現在の理事が正会員となるそうです。正会員はいわゆる社員と同じ意味とのことです。現在の会員は一般会員に属し,名誉会員にはまつもとさんがなることを予定としているそうです。法人化後の活動は現状とほぼ変わらないとのことでした。今年で最後となるRubyKaigiはRubyKaigiという名前も含めて一旦白紙から検討しなおすそうです。法人化を行なうことにした背景には「継続性」があるそうです。社団法人となることで,属人性を排除することができるため,継続性のある団体として活動できるようになると述べました。最後に「ご期待ください,というよりは皆さんと一緒に新しい形を作っていきたい」と話し,今後も日本Rubyの会は続いていくとまとめました。続いて,okkezさんによるRubyリファレンスマニュアル,通称るりまの活動について話がありました。最初の目標として,Ruby1.8.7もしくは1.9.1のリリースとともに完全なリファレンスを提供することがあったと話し,1.9.3のリリースが予定されている現在,活動としては遅れていると説明しました。2006年に第1段階,2007年に第2段階が終了し,今では第3段階をずっと継続中だそうです。第3段階が長引いている理由としては,当初マニュアルの内容については質は気にしないがすべてのメソッドエントリを記述するとしつつも,協力してくれる方が質にも大分気をくばってくれているのでなかなか苦労していると話しました。現状の残タスクについて触れたあと,今後の予定として今年の8月に第3段階を終わらし,メンテナンスフェーズに移行するとのことです。るりまに参加しやすいようにgemの提供やRDocとの連携などを考えているとのことでした。最後に,Ruby1.9の言語仕様に詳しい人や,Windowsに関するドキュメントが書ける人が足りていないこと,BitClustに機能を追加したいことを挙げ,会場のRubyistたちに協力をお願いしました。magazine,通称るびまの活動について話がありました。アジェンダとして以下のことを挙げました。今後のるびまについてるびまの編集の募集るびまの記事の募集まず,今年のるびまの活動として31号から34号,RubyKaigiのKaigiFreaksレポート班によるRubyKaigi2011直前特集号の発行したという報告がありました。今までもるびまでは記事の公募をしていましたが,改めてruby-listで公募を行なったとのことです。いくつかテーマを絞ったことでFiberなどの記事はすでに公開され,近いうちにSinatraなどの記事も出せる予定だそうです。Bundlerについて記事をかける人がいないそうで,Bundlerの記事を書いてくれる人を募集中とのことでした。これからのるびまについて,あくまで編集部ではなく田辺さん個人の見解としながらも,ruby-devの翻訳プロジェクトの広報をしていきたいと述べていました。ruby-devは日本語での議論が中心なので海外の方は読むことができません。現状,翻訳する人も読む人も足りておらずあまり活発的とは言えないので,関わる人を増やしていきたいとのことでした。びまは組織で動くというより個々の人達が動くことからはじまるらしく,会場の人達に「いっしょにやりましょう」と呼び掛けました。あんどうやすしさん「parse.yの歩き方⁠」⁠あんどうやすしさんは昨年のRubyKaigi2010のLTでの発表の続きということで,parse.yを触ってRubyの文法を変更する方法についての発表しました。前回のあらすじは,Rubyはクリスマス合わせで新バージョンを(毎回ではないが)リリースする慣習があり,Ruby誕生からもう18年も経つのだからこの「クリスマスプレゼント」を貰う側からあげる側になろう,そのために文法を改造したオレオレRubyを作ってみんなでクリスマスにリリースしよう,というものでした。toに踏み込むのが今回の目的であると述べました。parse.yとはプログラミング言語は言語である以上文法が存在し,Rubyの場合その文法を定義しているのがparse.yというファイルです。これをyaccというパーサジェネレータに読みこませると,定義した文法を処理するためのプログラムが生成されます。例としてRubyのif文を定義している箇所を見せ,トップダウン的に文法を定義していくことを概観しました。無道編』を読むとよい,とのことです。Go言語の文法定義ファイルであるgo.yとRubyのparse.yを比べると行数が約2,000行vs約10,000行とRubyがかなり大きく,スキャナ(条件分岐の判定をするもの)の状態数もGoの1つに比べRubyは11+αとかなり複雑であると述べ,1.9系のVM作者であるささださんの「parse.yは魔窟」という言葉も紹介しました。Rubyに詳しい人すらもこう言っているのが,parse.yというものなんだそうです。,「⁠我々一般のユーザがRubyを改造しプレゼントするのは難しいのか?」「⁠たくさんの勉強を経てからでなければならないのか?」という問いについて,「⁠長い旅行に必要なのは,大きなカバンではなく,口ずさめる一つの歌さ」というスナフキンの名言を引用。やっていけば結構なんとかなるよ,とその過程でわかったコツを実例と共に紹介しました。これはif文のthenの代わりにprobably,maybe,perhapsのような曖昧さのある言葉を書くと,trueになる確率がそれぞれ80%,50%,20%になるというジョークRubyです。やっていることはジョークでも発想自体はまじめで,Rubyはオブジェクト指向言語というよりも文章指向言語であり,DSL風にすらすら読めるコードがみんな書きたいのではと思ったそうです。あるが副詞が見当たらず,それを追加すればおもしろいだろうと試してみた,ということでした。anywayのように処理の最後に副詞をつければ動作が変わる(この場合,例外を無視する)ものを目指していたがこれは難易度が高かったそうです。そこで目を付けたのがthenで,これも副詞だから,そこに別の副詞を置き換えるよう真似て書くことでうまくいったとのことでした。コツとしては,やりたいことと似ている文法を探すことが大事だと述べました。実作業をする際にはとにかくgrepをして,参考元の文法が関わっている所を探すのがポイントということでした。Rubyではparse.y以外にもdefs/keywords(予約語を定義するファイル⁠)⁠,id.h等を触ったことを説明しました(id.hについては自動生成機構がある,とRubyコミッタが質疑応答で言及していました⁠)⁠。追加した文法に対応するアクションを書くところでは,もちろんC言語を書くがC言語を知らないなりでも結構いけたと述べ,分からないときは一旦Rubyで考えてみるといいと補足しました。0.5になると捉えて構成を考える。0)のような関数を使えばRubyの既存のメソッドを使えるからこれを使ってみるのがいい,とのことでした。Rubyで,<?xml>?</xml>で囲むとそこがXMLオブジェクトになるというリテラルを追加したRubyです。実はこれはScalaにある機能で,他の言語はネタの宝庫なので自分で考えるより他から持ってくるのもアリ,としていました。Rubyの時に習い,Rubyから似た文法を探します。何行にも渡る文字列を囲うものと言えばヒアドキュメントが近いので,これを真似たそうです。そのままでは単なる文字列オブジェクトができてしまうためXMLに変換しなければなりませんが,それにはXMLを操作するライブラリを明示的に読み込む必要があるとのこと。そこで,prelude.rbにその処理を書いたそうです。prelude.rbはその中にRubyを書くとそのコードがまるで最初から言語に組み込まれていたかのようのようになるため,割と万能であると説明しました。Rubyで,%o{}に囲まれた内側はSmalltalkの文法になるRubyです。これも元ネタがあり,Objective-CがC言語とオブジェクト指向的なコードを混在させて書けることに着想を受けたそうです。ポイントとして,%o{}の内と外で同じ変数をやり取りするためにbindingを渡すという工夫をしていることを説明しました。RubyにはSmalltalkParserクラスがないため先程のXMLの場合と異なり,raccを使って自分でパーサを作ってしまった上でprelude.rbに組み込んだそうです。ennnnd最後の例は発端として,Rubyでブロックを多用するとそれを閉じるのに後ろにendが沢山並んでしまうのをどうにかしたいという動機を述べました。解決案の一つとしてPython方式でインデントを数えるというのがありますが,これは過去にMatzにrejectされているとし,であればさらに先人のLispの知恵である(cdr(cdr(cdr)))を(cdddr)と書く機能を真似たらいいと提案しました。endが続いたらその数だけennnndのように書く方法で,その奇抜な発想に会場からは大きな笑いが巻き起こっていました。実装は意外と難しく,CRubyではなくRubiniusを使ってなんとか実現したそうです(発表後,あんどうさんが実際にRuby本体へ機能提案したところ,なんだか議論が盛り上がってるようです⁠)⁠。最後に,「⁠今年からクリスマスはユーザーが勝手にRubyを作って公開する日にするのはどうでしょうか?」という提案を再度して,発表を終えました。皆さんもあんどうさんのように楽しいハックをして,サンタクロースになってみてはいかがでしょうか。レポート班KaigiFreaksとは,会場に来れなかった人にも,雰囲気や内容を楽しんでもらえるように動画収録や配信を行うことをミッションに,RubyKaigi2008で結成された特別編成チーム。RubyKaigi2009からはgihyo.jpを中心にテキストと写真で現場の様子を伝えるレポート班が加わり,現在のKaigiFreaksは配信班とレポート班の2班編成。三村益隆(みむらみつたか)(株)永和システムマネジメントサービスプロバイディング事業部所属。Rails勉強会@tokyo。このところRailsのお仕事をしています。blog:http://d.hatena.ne.jp/takkan_mtwitter:http://twitter.com/takkanmすがわらまさのりハンドルネームはsugamasao。若手IT勉強会に参加しています。仕事では自社プロダクトのデーモンの開発あたりでRubyを使ったりしています。伊坂幸太郎さんと荒木飛呂彦さんが好きです。blog:http://d.hatena.ne.jp/seiunsky/twitter:https://twitter.com/sugamasao小松崎典之(こまつざきのりゆき)ハンドルネームはO-Show。RubyKaigi2010に参加したことで触発されRubyistを自称するようになる。ブログでRubyやGit関連記事の翻訳をあげています。RubyとGitの情報の流通増えろ!と願ってやまない。この春からAsakusa.rbにjoin。RailsでのWebアプリケーションの開発を中心にフリーランスのRubyプログラマとして活動中。最近はHaskellに興味を持ち出し、勉強しはじめている。Evansさん「たのしいRubyの先に,はやいRubyがある。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。