ja ja ja ja ja ja ja ja ja en ja ja ja ja ja ja ja ja ja ja ja nb ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja en ja ja pl ja ja ja ja ja ja ja ja ja en ja ja en ja ja vi ja sv eu ja en en hu ja ja en en pl ja ja jbo hbs_lat en ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja
開発の流れ(現時点での想定)
RDocの各クラスやメソッドへのリンクの作成方法を検討する。(RDocのソースコードを読む必要があるかもしれません。)
クラス名やメソッド名からRDocへのリンクを生成するヘルパーメソッドをBitClustに追加する。
上で追加したヘルパーメソッドを使ってRDocへのリンクを表示する。
開発に必要な要素技術や知識分野
特に挑戦ポイントはありません。RDocへのリンクを正しく生成する方法さえ見つけることができれば、あとは簡単です。
サンプルコードの実行結果をデータベース生成時に埋め込む機能
現在、るりまプロジェクトではサンプルコードの埋め込みは手で実行した結果をコピー&ペーストしています。しかし、すべてのサンプルコードの実行結果が正しいことを確認できていないので、ときどき、プロジェクトのITS3に「サンプルコードが動きません」や「サンプルコードが間違っています」のような報告があります。また、Rubyのバージョンアップによって挙動が変化したものへの追従も手動で行なっているため、完全に追従できているわけではありません。
人力ですべてのサンプルコードをRubyのバージョンごとに実行し結果をコピー&ペーストするのは、現実的ではありません。我々はプログラマなので、自動化できるところは自動化したいと考えています。
そこで、インターンシップの期間を用いて以下の機能を開発したいと考えています。
サンプルコード専用の記法を導入し、コードブロックを実行したり別ファイルに書かれたサンプルコードをインクルードしつつ実行し、結果を埋め込む機能。
読む人の使っているRubyとサンプルコードを実行したRubyはバージョンが同じでもプラットフォームやパッチレベルが違う可能性があるのでそのサンプルコードを実行したときのruby -vも埋め込む機能。
この機能を開発することにより、以下のことを期待しています。
すべてのサンプルコードが自動的に実行されるため公開されているドキュメントに間違いが入りづらくなる。
サンプルコードの実行結果も自動で埋め込まれるのでドキュメントを書くコストが下がる。
Rubyの新しいバージョンがリリースされたときでもドキュメントを再生成するだけなのでメンテナンスコストが下がる。
開発の流れ(現時点での想定)
サンプルコード用の記法の仕様を検討する。
上で検討した結果を元にしてBitClustを変更する。
作成した記法をいくつかのドキュメントに導入して動作を確認する。
開発に必要な要素技術や知識分野
BitClustはほとんど外部ライブラリを使用せずに開発されているのでブラックボックスになっている部分がありません4。そのため外部ライブラリをあまり使用せずにRubyを用いてアプリケーションを開発するときの参考になるでしょう。機能を実現するのに既存のツールを使用するか自前で実装するのか決める必要があります。
BitClustの既存の記法と衝突しないように設計する必要があります。また、その記法が本当にそれでいいのかコミュニティと合意を形成する必要があります。
インターンシップで開発したいるりまをより便利にする機能を2つ挙げました。これ以外にも色々と開発したい機能はあるのですが、それについてはまた別の機会に書きます。この中に「挑戦してみたい!」と思える機能があれば、インターン募集ページから是非ともご応募下さい。
milter managerを使うとRubyでmilterを開発することができます。 ↩
るりまプロジェクトで使っているドキュメント生成や検索機能を提供するツール。 ↩
Issue Tracking System ↩
ウェブアプリケーション部分の実装でRackを使っているくらいです。 ↩
現在クリアコードではソフトウェア開発者を募集しています! フリーソフトウェア開発での開発の仕方をベースに、成果や知識を公開し共有しながら業務に携われます。
わかりやすいコミットメッセージの書き方
GDBでデバッグするなら-g3オプション
Apache Arrow
milter manager
ククログの記事はCC BY-SA 4.0とGFDLのデュアルライセンスで自由に利用できます。
クリアコードはプログラミングが楽しいソフトウェア開発者を1名募集しています。
クリアコードは「クリアコードをいい感じにする人」を1名募集しています。
クリアコードはフリーソフトウェア開発で培った技術力を提供しています。特にMozilla製品(Mozilla FirefoxとMozilla Thunderbird)とRubyとGroonga(全文検索)に関連した開発を得意としています。