Ruby¶ ↑
: subtitle
リファレンスマニュアル刷新計画 2013 初夏
: author
okkez
: date
2013/05/30
: allotted-time
25m
: theme
.
自己紹介¶ ↑
-
okkez (おっきーと読みます)
-
Ruby 歴は九年くらい
-
doc.okkez.net
-
doc.ruby-lang.org
-
2年振りの報告
Note¶ ↑
-
okkez と書いて「おっきー」と読みます
-
doc.okkez.net はディスク障害のため新サーバーに移行中です
-
RubyKaigi2011 以来2年振りに「るりま」について話します
プロジェクトの目標¶ ↑
# blockquote # title = るりま Wiki このプロジェクトの目標は、 Ruby 1.8.7 or 1.9.1 のリリースとともに、 完全なリファレンスマニュアルをリリースすることです。
Note¶ ↑
-
もうRuby2.0.0も出ているし、
-
メンテナンスフェイズにも移行しているので、
-
そろそろ新しい目標を設定したいところです
これまでの歩み¶ ↑
-
2006-08-27 プロジェクト開始
-
2006-10-12 第 1 段階完了
-
2007-01-08 第 2 段階完了
-
2011-09-01 第 3 段階完了
Note¶ ↑
-
2006-08-27 に青木さんの号令でプロジェクトが始まりました
-
第1段階の旧リファレンスからのフォーマット変換は2ヶ月
-
第2段階のクラス・モジュール・メソッドのリストアップは3ヶ月
-
第3段階の最低限のドキュメントを書くのは、何度も基準を変更しつつリスケしつつ4年7ヶ月かかりました
-
その間に Ruby1.9.1(2009-01-31), Ruby1.9.2(2010-08-18) がリリースされました。
-
なんとか Ruby1.9.3(2011-10-30) がリリースされる前にメンテナンスフェイズに移行できました。
-
実は手付かずのドキュメントが半分くらいあったりします。
-
手付かずなのはほとんどXML関連やTk関連のドキュメントなので、よく使う部分については十分使えるものになっています。
-
現在はメンテナンスフェイズに入って、Ruby1.9.3とRuby2.0.0対応やツールの整備をしています
RubyKaigi2011以降¶ ↑
-
第 3 段階を2011-08中に終わらせる
-
メンテナンスに移行 -> ((*移行した!!*))
-
Note¶ ↑
-
RubyKaigi2011の後、メンテナンスフェイズに移行しました
RubyKaigi2011以降¶ ↑
-
参加しやすくする環境作り
-
Gem 化 -> ((*リリースした!!*))
-
UTF-8 化 -> ((*完了した!!*))
-
Note¶ ↑
-
参加しやすくする環境作りの一環として、
-
BitClust と refe2 を Gem化してコマンド一発でセットアップできるようにしてリリースしました
-
UTF-8 化して多くの環境で編集しやすいようにしました
RubyKaigi2011以降¶ ↑
-
RDoc との協力 -> ((*まだ!!*))
-
更新の追従
-
るりまからRDocへのリンク
-
などなど
-
Note¶ ↑
-
残念ながら RDoc との協力はまだ全然できていません
-
やりたいと思っていることがいくつかあります。
-
近年、RDoc が充実してきているので更新の追従したいです。
-
るりまから RDoc へリンクし、相互に比較しやすくしたいです。
-
他にも色々とやりたいことがあります
これからやりたいこと¶ ↑
-
参加・継続しやすくする環境作り
-
リポジトリのGitHub移行
-
-
RDocとの協力
-
ツールの整備
Note¶ ↑
-
参加・継続しやすくする環境作りの一環としてリポジトリを GitHub へ移行します
-
GitHub へ移行することによって、Travis CI によるドキュメントの自動ビルド、ツール類の自動テストができます。
-
また pull request を簡単にマージできるようになるので、メンテナンスする人の作業負荷が下がることを期待しています。
-
RDoc との協力というか RDoc を活用したいです。具体的には、RDoc の更新を自動通知する仕組みを用意したいです。
-
ツールの整備としては Ruby2.0.0 対応や、古いRDocを使っていて動かなくなってしまったツールを動くようにしたいです
サードパーティ¶ ↑
# blockquote # title = るりま Wiki るりまプロジェクト外での活用事例。直接このプロジェクトに「作りましたー」という報告がほとんどないので、勝手に調べて勝手にまとめている。
Note¶ ↑
-
るりまプロジェクトの外でも、多くのツールが開発されています。
-
そのうちのいくつかを紹介します。
サードパーティ¶ ↑
-
((<“yhara/prismdoc”|URL:github.com/yhara/prismdoc>))
-
((<“yhara/myrurema”|URL:github.com/yhara/myrurema>))
-
((<“miyamae/rubydoc-ja”|URL:github.com/miyamae/rubydoc-ja>))
-
((<“clear-code/rurema-search”|URL:github.com/clear-code/rurema-search>))
Note¶ ↑
-
yhara/prismdoc: るりまとRDocを名寄せして、統一されたインターフェイスで見るためのウェブアプリ。翻訳機能もあるけど諸々未完成。
– www.ruby.or.jp/ja/news/20120508.html 2011年度のRubyアソシエーションの助成金を受けて開発されていました。
-
yhara/myrurema: るりまのリファレンスを手軽に参照するためのツールです。一部の機能はBitClustにも取り込みました。
-
miyamae/rubydoc-ja: サクサク引ける、るりまのビューアです。高速な検索とキーボード操作で目的の項目を素早く見つけることができます。
-
clear-code/rurema-search: るりまを全文検索するWebアプリケーションです。
サードパーティ¶ ↑
-
((<“jugyo/ruri”|URL:github.com/jugyo/ruri>))
-
((<“daic-h/rurepl”|URL:github.com/daic-h/rurepl>))
-
((<“hibariya/ruremai”|URL:github.com/hibariya/ruremai>))
-
((<“sorah/rurema_instant”|URL:github.com/sorah/rurema_instant?source=c>))
Note¶ ↑
-
jugyo/ruri: るりまのシェル。
-
daic-h/rurepl: るりまをrepl風に実行出来るサイトだそうです。
-
hibariya/ruremai: るりまをirbからさっと開けるようなものを作ってくれました。
-
sorah/rurema_instant: るりまサーチで検索するためのSafari/Chrome向けのExtensionらしい。
サードパーティ¶ ↑
-
Rubyリファレンスマニュアル
-
((<“chm版リミックス”|URL:ruby.morphball.net/refm-remix.html>)) by Dice
-
((<“with rubicle.net”|URL:refm.rubicle.net/>)) by rubicle.net
-
Note¶ ↑
-
ひとまとめにしちゃいましたが、それぞれ別の方がメンテナンスされている別デザインのリファレンスマニュアルです。
-
chm版リミックス: Diceさんが独自にchm形式(HTML Help形式)へコンパイルしたものです。
-
with rubicle.net: rubicle.net さんがクールなデザインのRubyリファレンスマニュアルを公開しています。
サードパーティ¶ ↑
-
多くの成果物があります
-
素晴らしいですね!!
-
-
るりまは((*CC-BY 3.0*))で公開
-
((*自由に*))活用できます!!
-
Note¶ ↑
-
全部で10個のサードパーティで開発されているものを紹介しました。
-
これら以外にもたくさんの成果物があるようですが、紹介しきれませんでした。
-
るりまの成果物は CC-BY 3.0 という使用条件の緩いライセンスで公開しているため、成果物を自由に活用することができます。
Help!!¶ ↑
-
言語仕様
-
1.9.3, 2.0.0 対応
-
標準添付ライブラリ
-
ツール開発
Note¶ ↑
-
たくさん助けて欲しいことがあるので、具体的にどんなことを助けて欲しいのか説明します
言語仕様¶ ↑
-
書く人がいない
-
古いまま
-
たぶん((1.6))とか((1.8))の頃のまま
-
-
内容も不足している
Note¶ ↑
-
言語仕様を書く人がいないので、るりまの言語仕様のページは古いままで内容も不足しています。
-
どのくらい古いかと言うとたぶん1.6か1.8時代のままの記述が残っています
-
1.9や2.0で新しく導入された文法の説明は書かれていません
-
1.9で導入されたEncodingの説明は書かれています
1.9.3, 2.0.0 対応¶ ↑
-
全体の網羅的なチェックが必要
-
組み込みライブラリ
-
新しく追加されたもの
-
-
標準添付ライブラリ
-
RubyGems, minitest
-
Note¶ ↑
-
Ruby1.9.3, 2.0.0 対応は、おおまかにはできていますが、全エントリのチェックまではできていない状態です。
-
今、明らかに直さないといけないとわかっているのは、標準添付ライブラリで外部リポジトリで開発されているものです。
-
具体的には RubyGems や minitest です。
標準添付ライブラリ¶ ↑
-
ASSIGN.low
-
未着手のライブラリ
-
XML 関係
-
Tk
-
Note¶ ↑
-
標準添付ライブラリは、優先度の高いものについては一通り書かかれています
-
エントリ数の多い大きいライブラリで未着手のものがあります
-
優先度は低いのですが、少しずつでもやっていかなければなりません
ツール開発¶ ↑
-
BitClust
-
RDoc の活用
-
Ruby2.0.0対応
-
-
メンテナンスしやすく
-
書く人の負担を下げたい
-
Note¶ ↑
-
BitClustにRDocへのリンク生成機能を追加したり、サンプルコードの実行結果を埋め込む機能を追加したいです。
-
RDocとるりまを比較する機能などが動かなくなっているので、動くようにしたいです。
-
ドキュメントをメンテナンスしやすくするためのツールを開発したいです。
-
まだ考えているだけですが、prismdoc の成果を活用して RDoc が更新されたときに通知する仕組みを作りたいです。
るりま会議¶ ↑
: 場所
RubyHiroba の片隅
: 日時
6/2の午前中(12時くらいまでの予定)
Note¶ ↑
-
るりま会議をやります
-
場所は RubyHiroba の片隅に勝手に集まります
-
日時は 6/2 の10時くらいから12時くらいまでを予定しています
-
今後の目標を決めたり、チケットの棚卸をしたりしようと思っています
質問¶ ↑
日本語でお願いします。
お礼¶ ↑
ご清聴ありがとうございました。
# = クリアコードからお知らせ #
# : エンジニア募集中 # パッチ採用による通年採用 # : インターン募集中 # 一緒にフリーソフトウェア開発 #
# 詳しくはウェブで!! #
# == Note #
# - クリアコードではエンジニアを1名募集しています #
# - パッチ採用という方法で、面接やペアプロのかわりにします #
# - パッチ採用については、インターネットで検索してください。 #
# - 同時にインターンも募集しています。 #
# - 三ヶ月を一区切りとした期間でクリアコードメンバーと一緒にフリーソフトウェアの開発を実際に体験してもらいます。 #
# - インターンで開発するフリーソフトウェアはいくつかあり、そのうちの一つにるりまで使われている BitClust の開発もあります。 #
# - ちなみにインターンは学生・社会人を問わず募集しています。 #
# - www.clear-code.com/recruitment/, www.clear-code.com/internship/ #
# - 興味のある方は、声をかけてください。