Ruby¶ ↑
: subtitle
Reference Manual\n2016 Autamn
: author
okkez
: content-source
RubyKaigi 2016
: date
2016/09/09
: allotted-time
30m
: theme
.
Who?¶ ↑
-
okkez (pronounce: okkiː)
-
Working in ClearCode, Inc.
-
I have 3 years old daughter
-
3 years since last report
Note¶ ↑
-
まず簡単に自己紹介させてください
-
okkez と書いて「おっきー」と読みます(発音記号は適当です)
-
クリアコードという会社で働いています
-
3才の娘がいますが、今回は来ていません
-
RubyKaigi2013 以来3年振りに「るりま」について話します
Silver sponsor¶ ↑
# image # src = silver-sponsor.png # relative-height = 100
Note¶ ↑
-
クリアコードは Silver sponsor をやってます
-
今回の旅費やホテル代も出してもらいました
る((*り*))まn!=nる((*び*))ま¶ ↑
Note¶ ↑
-
ここから4枚だけスライドが日本語です。すみません。
-
たまに「るりま」と「るびま」を勘違いしている人がいるので違いを確認しておきます
る((*り*))ま¶ ↑
-
((Ru))by ((Re))ference ((Ma))nual
-
((*る*))びー((*り*))ふぁれんす((*ま*))にゅある
Note¶ ↑
-
「るりま」はRubyリファレンスマニュアルのことです
る((*り*))ま¶ ↑
# image # src = rurema.png # relative-height = 100
Note¶ ↑
-
「るりま」はこんな感じのサイトです
る((*び*))ま¶ ↑
-
((Ruby))ist ((Ma))gazine
-
((*るび*))ーすと((*ま*))がじん
Note¶ ↑
-
「るびま」はRubyistMagazineというウェブ雑誌のことです
る((*び*))ま¶ ↑
# image # src = rubima.png # relative-height = 100
Note¶ ↑
-
「るびま」はこんな感じのサイトです
る((*り*))まn!=nる((*び*))ま¶ ↑
Note¶ ↑
-
「るりま」と「るびま」はどちらも日本Rubyの会のサポートを受けて活動しています
-
ここにいるような人は大丈夫だと思いますが、もし身近に間違えている人がいたらそっと訂正してあげてください
History¶ ↑
-
(('tag:x-small:2006-08-27')) Start Project
-
(('tag:x-small:2009-01-31')) Ruby1.9.1 is released
-
(('tag:x-small:2010-08-18')) Ruby1.9.2 is released
-
(('tag:x-small:2011-09-01')) Start maintenance
Note¶ ↑
-
では、歴史を簡単にふりかえります
-
2006-08-27 に青木さんの号令でプロジェクトが始まりました。なんと今年10周年だったんですね。
-
当初は「Rubyリファレンスマニュアル刷新計画」というかっこいい名前でした。
-
プロジェクトのゴールは「このプロジェクトの目標は、Ruby 1.8.7 or 1.9.1 のリリースとともに、完全なリファレンスマニュアルをリリースすること」でした。
-
ちなみに2006-08-25にRuby1.8.5がリリースされていました。あと2006-12-22あたりにRubyのリポジトリがSVNに移行していました
-
(第1段階の旧リファレンスからのフォーマット変換は2ヶ月)(第2段階のクラス・モジュール・メソッドのリストアップは3ヶ月)
-
最低限のドキュメントを書くのに約5年かかりました
-
2011-09-01 以降はメンテナンスフェイズになったのでまったりとやっています
History¶ ↑
-
(('tag:x-small:2011-10-31')) Ruby1.9.3 is released
-
(('tag:x-small:2013-02-24')) Ruby2.0.0 is released
-
(('wait'))(('tag:x-small:2013-05-30')) Last report
Note¶ ↑
-
2011-10-31にRuby1.9.3がリリースされました
-
2013-02-24にRuby2.0.0がリリースされました <Enter>
-
2013-05-30にRubyKaigi2013で発表しました
-
(bitclust, doctree) UTF-8移行, コード整理, サブコマンド追加, ライブラリをカテゴライズ, プログレスバー
-
($ git log –oneline –since 2011-09-01 –until 2013-05-30 –reverse | wc -l) (836) (平均すると1.3commit/dayくらい)
Since RubyKaigi2013¶ ↑
-
(('tag:x-small:2013-06-02')) Move to GitHub
-
(('wait'))(('tag:x-small:2013-12-25')) Ruby2.1.0 is released
-
(('wait'))(('tag:x-small:2014-12-25')) Ruby2.2.0 is released
-
(('wait'))(('tag:x-small:2015-12-25')) Ruby2.3.0 is released
Note¶ ↑
-
RubyKaigi2013以降にあった出来事をふりかえります
-
2013-06-02 にリポジトリを GitHub に移行しました。この日はRubyHirobaというイベントがあってその場で行った「るりま会議」の中で移行しました。
-
独自に svn リポジトリを管理するのが辛くなったのと Pull Request や issue を広く受け入れられるようにするためです
-
マージ作業はマージボタンを押すだけなので、楽になりました <Enter>
-
毎年Rubyの新しいバージョンがリリースされるごとに有志で対応作業を続けています <Enter> 5sec <Enter>
-
($ git log –oneline –since 2013-05-31 –reverse | wc -l) (909) (平均すると0.8commit/dayくらい)
-
bitclust, doctree 高速化, RDoc へのリンク, EPUB作りかけ, リストの入れ子サポート, その時々でサポートしているRubyバージョンの整理
Since RubyKaigi2013¶ ↑
-
docs.ruby-lang.org
-
Provided by IIJ
-
Managed by @hsbt
-
-
Follow Ruby updates
-
(('wait'))((*by hand…*))
-
Note¶ ↑
-
docs.ruby-lang.org のサーバーを専用のVPSに移行しました
-
以前は別のサーバーと同居していて、リソース的に辛いところがありましたが楽になりました
-
このVPSはIIJさんが提供してくれました。管理はhsbtさんがやってくれています
-
Ruby 本体の更新に対するるりまの追従については職人の手作業で行なっています
-
と言いたいところですが実際のところは、気付くことができればやるという感じなので更新の追従はほとんどできていない気がします
-
がんばらなくてもやれる方法を考えたい
Since RubyKaigi2013¶ ↑
-
Related to RDoc
-
Sync ((*Not yet*))
-
Link to RDoc ((Implemented))
-
Note¶ ↑
-
この発表での RDoc とは、Rubyのソースコードに埋め込まれた英語のドキュメントのことをいいます
-
RDoc 関連のトピックです
-
RDoc との更新の同期はまだできていません
-
るりまからRDocへのリンクは実装済みです。2013年のインターンシップでクリアコードに来てくれた学生さんに実装してもらいました。
Recent updates¶ ↑
-
Add canonical
-
Add NEWS
-
Fix (('tag:small:open_search_description.xml'))
Note¶ ↑
-
最近の更新を紹介します
-
ここ数ヶ月以内だと canonical を追加したり Ruby の NEWS を一部読めるようにしました
-
open_search_description.xml の中身が壊れていたのを修正しました
-
この件はGithubのissueに報告があって初めて気付いたので、直すことができました
-
関係者にきちんと届くところで声を上げることが大事です
Contributors (('tag:small:rurema/bitclust'))¶ ↑
# image # src = contributors-bitclust.png # relative-height = 120
Note¶ ↑
-
BitClust のリポジトリからわかる貢献してくれた人の一覧です
-
BitClust はるりまのためのツール/ライブラリです
-
GitHub 上では18人 (contributorsから取得できた人数)
-
Gitリポジトリ上では約20人の方が貢献してくれました
$ git log –oneline –format=%aN | sort -u | wc -l 22
Contributors (('tag:small:rurema/doctree'))¶ ↑
# image # src = contributors-doctree.png # relative-height = 100
Note¶ ↑
-
るりまのリポジトリからわかる貢献してくれた人の一覧です
-
GitHub 上では59人 (contributorsから取得できた人数)
-
Gitリポジトリから読み取れる記録によると延べ82人の方が貢献してくれました
$ git log –oneline –format=%aN | sort -u | wc -l 83
-
実際には bugs.ruby-lang.org に issue やパッチを報告してくれた人やgithub に移行してから issue を報告してくれた人もいるのでもう少し多いはずです。
-
bitclustと合わせると延べ100人以上の人が協力してくれています。
From now on…¶ ↑
-
Write docs for Ruby2.4.0
-
Develop tools
-
Automation
-
Related to RDoc
Note¶ ↑
-
これからやりたいことについて話します
-
これからやりたいことは、大きく分けて4つあります
-
順番に見ていきます
From now on…¶ ↑
-
((*Write docs for Ruby2.4.0*))
-
Develop tools
-
Automation
-
Related to RDoc
Note¶ ↑
-
Ruby2.4.0対応についてです
Write docs for Ruby2.4.0¶ ↑
-
2016-12-25 release?
-
(('tag:small:Unify Fixnum and Bignum to Integer'))
-
Increase bundled gem
-
Not so many
Note¶ ↑
-
こないだのLLoTの発表資料によると Ruby2.4.0 は 2016-12-25 リリース予定らしいです
-
Ruby2.4.0 がリリースされたらなるべく早く対応したい
-
bundled gem が増えるので書かなくてもいいドキュメントが増える予定です
-
特に tk が bundled gem になったのは大きいと思います。ASSIGN.low の80% が tk 関連。
-
今のところわかっている変更点を見る限りそんなに多くないので問題なく対応できそうです
From now on…¶ ↑
-
Write docs for Ruby2.4.0
-
((*Develop tools*))
-
Automation
-
Related to RDoc
Note¶ ↑
-
ツールの開発について話します
Develop tools¶ ↑
-
Stop using CHM
-
chm subcommand is broken
-
-
Generate EPUB, PDF?
-
etc.
Note¶ ↑
-
chm を作るためのサブコマンドが壊れているし、CHM 自体が非推奨になっているので CHM をやめたい
-
CHM のかわりに PDF や EPUB を生成したい
-
EPUB は作りかけ。時間を作って完成させたい。
-
PDF は EPUB からの変換でやれると楽でよさそう。
From now on…¶ ↑
-
Write docs for Ruby2.4.0
-
Develop tools
-
((Automation))
-
Related to RDoc
Note¶ ↑
-
自動化については、
Automation¶ ↑
-
Notify updates
-
Release new package
-
Improve CI mechanism
-
etc.
Note¶ ↑
-
Ruby の本体や RDoc が更新されたらるりまの更新要否を検出して通知したい
-
新しいパッケージのリリースを自動化したい
-
CIの仕組みをもっとよくしたい。CIに成功したら見た目を確認できるようにしたい。
-
(CHMやめたい)
From now on…¶ ↑
-
Write docs for Ruby2.4.0
-
Develop tools
-
Automation
-
((*Related to RDoc*))
Note¶ ↑
-
RDoc 関係について話します
-
ここで言うRDocとは、Rubyのソースに埋め込まれた英語で書かれているドキュメントのことを指します
Related to RDoc¶ ↑
-
Sync
-
English <-> Japanese
-
-
Use i18n module
-
Detect updates
-
Note¶ ↑
-
RDoc 関連のやりたいこともあります。
-
英語のドキュメントの良い内容を日本語側に取り込んだり、
-
日本語のドキュメントの良い内容を英語のドキュメントに取り込んでもらったりして
-
双方向に良くしていけるのが理想です。
-
RDoc i18n を活用した更新への追従について調べたいですが、
-
そもそも RDoc i18n についてわかってないので RDoc i18n を活用することでRuby本体の更新への追従ができるかどうか不明。。。
Contribute! (('tag:x-small:rurema/doctree'))¶ ↑
-
Use! (('note:docs.ruby-lang.org/ja/'))
-
Report issues
-
Create Pull requests
-
Write Japanese documents
-
Fix a typo
-
Note¶ ↑
-
どのようにして貢献すればよいのか説明します
Contribute! (('tag:x-small:rurema/doctree'))¶ ↑
-
((Use!)) (('note:docs.ruby-lang.org/ja/'))
-
Report issues
-
Create Pull requests
-
Write Japanese documents
-
Fix a typo
-
Note¶ ↑
-
るりまを使ってください docs.ruby-lang.org/ja/
-
BitClust と ReFe2 を使ってください
Contribute! (('tag:x-small:rurema/doctree'))¶ ↑
-
Use! (('note:docs.ruby-lang.org/ja/'))
-
((*Report issues*))
-
Create Pull requests
-
Write Japanese documents
-
Fix a typo
-
Note¶ ↑
-
使っていて気付いたことがあったら issue 立ててください
-
twitter とかブログとかで愚痴ってもほとんど気付けません
-
関係者に確実に届くところで声を上げるのが大事です
Contribute! (('tag:x-small:rurema/doctree'))¶ ↑
-
Use! (('note:docs.ruby-lang.org/ja/'))
-
Report issues
-
((*Create Pull requests*))
-
Write Japanese documents
-
Fix a typo
-
Note¶ ↑
-
もし、直せそうだったら Pull request をしてみてください
-
タイポの修正だけでも大丈夫!
-
RDベースの独自記法ですが、小さな修正なら文法のことを知らなくても簡単にできます
-
記法がわからなければ、「こういう風に直すといいのでは?」というのを issue に書くと誰かが反応します
-
CIしているので、ビルドの確認もしなくて大丈夫です。
Contribute! (('tag:x-small:rurema/bitclust'))¶ ↑
-
Develop BitClust
-
Generate EPUB, PDF
-
Notify updates
-
SEO (('note:Search Engine Optimization'))?
-
Note¶ ↑
-
BitClust の開発で助けが必要なことを話します
Contribute! (('tag:x-small:rurema/bitclust'))¶ ↑
-
Develop BitClust
-
((*Generate EPUB, PDF*))
-
Notify updates
-
SEO (('note:Search Engine Optimization'))?
-
Note¶ ↑
-
EPUB, PDF 生成。
-
Rails Guide の翻訳をやっている安川さんに Re:VIEW 経由でやるのがいいんじゃない、と言われた
-
ので、作りかけの実装は捨ててその方向で検討してみる予定です
Contribute! (('tag:x-small:rurema/bitclust'))¶ ↑
-
Develop BitClust
-
Generate EPUB, PDF
-
((*Notify updates*))
-
SEO (('note:Search Engine Optimization'))?
-
Note¶ ↑
-
Ruby本体の更新を検知してドキュメントの修正が必要なことを楽に知りたい
Contribute! (('tag:x-small:rurema/bitclust'))¶ ↑
-
Develop BitClust
-
Generate EPUB, PDF
-
Notify updates
-
((SEO)) (('note:Search Engine Optimization'))?
-
Note¶ ↑
-
最近、twitter でるりまについて検索したら SEO で古いドキュメントを公開しているサイトに負けてて辛いという話を偶然見かけました
-
実際に適当なキーワードで検索すると、古いドキュメントを公開しているサイトがヒットしました
-
SEO については、最近 canonical を足したくらいでほとんど何もしていません
-
SEO については知識が無いので、自分が手を付けるとしたら一番最後になりそうです
-
普通の SEO とはちょっと違う気がしているので、いい方法があれば教えて欲しいです
See also¶ ↑
-
((<“rurema/bitclust issues”|URL:github.com/rurema/bitclust/issues>))
-
((<“rurema/doctree issues”|URL:github.com/rurema/doctree/issues>))
KeepnImprovingnRubynDocumentation¶ ↑
Note¶ ↑
一緒にRubyのドキュメントをよくしていきましょう!!
# = English documentation #
# * documenting-ruby.org/ # * @drbian, @zzak, @practicingruby, @steveklabnik # * about 75% documented #
# == Note #
# - documenting-ruby.org/ で活動している #
# - 4人中心となっている人がいて少なくともそのうち2人はRubyのコミッター #
# - 英語のRuby本体と完全に同期して進められている #
# - サイトによると約75%のドキュメントが書けているらしいです
Question?¶ ↑
# = Info from ClearCode, Inc #
# : OSS開発支援サービス # OSS開発での困り事、相談乗ります # : エンジニア募集中 # パッチ採用による通年採用 #
# == Note #
# - クリアコードではエンジニアをN名募集しています #
# - パッチ採用という方法で、面接やペアプロのかわりにします #
# - パッチ採用については、インターネットで検索してください。 #
# - 同時にインターンも募集しています。 #
# - 三ヶ月を一区切りとした期間でクリアコードメンバーと一緒にフリーソフトウェアの開発を実際に体験してもらいます。 #
# - インターンで開発するフリーソフトウェアはいくつかあり、そのうちの一つにるりまで使われている BitClust の開発もあります。 #
# - ちなみにインターンは学生・社会人を問わず募集しています。 #
# - www.clear-code.com/recruitment/, www.clear-code.com/internship/ # # - 興味のある方は、声をかけてください。 # # = 第74回 Ruby関西 勉強会 # # * 日時: (('tag:small:2016-09-11(日) 13:00-17:00')) # * 場所: 京都女子大学 C508 # * 内容: LT大会 # * 申込: (('tag:small:rubykansai.doorkeeper.jp')) # * 懇親会もあるよ