年のはじめなので、2015年にやりたいことと2014年のまとめを書きます。
2015年にやりたいこと
まず、今年やりたいことです。
設立当時からクリアコードが大事にしていることは次の2つです。
- 継続的にフリーソフトウェアの考えを実践すること
- ソフトウェアを継続して改良してくいくためにクリアなコードを書くこと
これらを実現するために、2014年のはじめには次のことをやりたいとしていました。
- フリーソフトウェアの考えを実践している人・実践したい人の採用
- コミットへのコメントサービスの改良
前者に関しては、実践している人を2人採用しました。
後者に関しては、学生向けのリーダブルコード勉強会やリーダブルコードのWeb授業という形でどのように改良していけばよいかを模索していました。まずはわかりやすい導入(よいコードはこう書くといいですよというノウハウ伝授のようなもの)があって、それからよいコードが当たり前という文化づくりに進んでいくという流れがよいのかもしれません。
2015年も大事にしていることは変わりません。大事にしていることを実現するために、2015年は次のことに力を入れます。
- 世の中にフリーソフトウェアの開発に関わる人を増やす
- 世の中によいコードを書く人を増やす
2014年はどちらかというとクリアコード自体を強化する方向でした。2015年は2014年に強化したクリアコードの知識やテクニックをより積極的に社外に共有します。共有することは自分たちの知識やテクニックを整理することにつながります。結果として、自分たちがフリーソフトウェアの考えを実践したり、クリアなコードを書くといった大事にしていることの継続的な実現につながります。
「フリーソフトウェアの開発に関わる人を増やす」は、GroongaやFirefox OSなどのフリーソフトウェアの開発を通じて実現するという案があります。周りの人たちを巻き込んだり、サポートしたりと、一緒に開発する機会を通じて実現する、ということです。
「よいコードを書く人を増やす」は、2014年の「コミットへのコメントサービスの改良」で得られた知見を活かして、より多くの人にノウハウを提供していきます。そのために、これまでとは違ったアプローチも検討しています。
2014年のまとめ
それでは、2014年のことを月ごとにふりかえります。
1月
メタプログラミングをして割に合うかの判断基準:処理を1箇所に局所化できるかは、開発している中で「ん?」と感じたことを、「なんとなくこれはよさそう・よくなさそう」ではなく、理由を考えて説明してみた話です。説明しようとすると考えがまとまる例でもあります。みなさんも試してみてください。
消費税率引上げへの対応 契約時の対応編はお金の話です。
監視統合ビューアHatoholのセットアップ方法は開発に関わっているHatoholという運用管理ツールをソースからビルドする方法について紹介しました。Hatoholは開発が活発で、このころの情報は一部古くなっています。HatoholのREADMEも合わせて参照してください。
2月
わかりやすい設定ファイルの項目名:否定形で修飾しないはよいAPIに関する話です。これもなんとなく「ん?」と感じたことを言語化したものです。
Rubyで自然なDSLを作るコツ:値を設定するときはグループ化して代入もよいAPIに関する話です。これは、普段コードを書いているときに無意識のうちに気を付けていることを言語化してみたものです。
Mozilla Firefox/Thunderbirdの法人利用者向けFAQを編纂中ですはお知らせです。Mozilla Firefox/Thunderbirdの法人利用に関する情報が必要な方はぜひ利用してください。
Groongaビジネスパートナーズ発足の経緯と発足後の変化もお知らせです。2014年はGroongaビジネスパートナーズ経由でのGroonga関連のお問い合わせが数件ありました。
3月
Debianでパッケージをリリースできるようにしたい - WNPPへのバグ登録はDebian関連記事の1つ目です。2014年はDebian関連情報をいくつかまとめました。
Groongaでの可変長データの管理方法はGroongaの内部実装の説明です。Groongaの内部に興味のある方は読んでみてください。図入りなので直感的にわかるはずです。
test-unitならRSpec 3のComposable Matchers相当のことをどう書くかはtest-unitの使い方の紹介です。RSpec 3がリリースされたことがこの記事を書くきっかけでした。
Firefox・Thunderbirdの組織内向けカスタマイズの方法の簡単な紹介と比較はMozilla Firefox/Thunderbirdをカスタマイズする方法をまとめたものです。Mozilla Firefox/Thunderbirdはカスタマイズして自分たちにあわせた使い方をできることが特徴の1つです。自分たちの使い方にあったもっと便利なWebブラウザー・メールクライアントが欲しいという方は参考にしてください。
4月
Debianでパッケージをリリースできるようにしたい - よりDebianらしくはDebian関連記事の2つ目です。Lintianというパッケージチェックツールを紹介しています。
GitHubのWikiが変更されたら差分付きで通知する方法は複数人でGitHubのWikiを使うときに便利なツールの紹介です。
2014/6/22(日)に学生向けリーダブルコード勉強会を開催予定はお知らせです。よい勉強会になりました。
Jekyllで複数言語のコンテンツを継続してメンテナンスする方法はGitHub Pagesでも使える方法です。
LXCのテンプレートをカスタマイズする方法は業務でLXCを使っているときに得た知見をまとめたものです。
5月
Thunderbirdの要約ファイルやアドレス帳ファイルの内容を読む方法は多くの人には必要のないけどもしかしたら必要になる人がいるかも?という情報です。
HerokuでRroongaを使う方法はHerokuでRubyを使って全文検索する方法の紹介です。2015年1月13日(来週)開催のHeroku Meetup #13 新年会の懇親会で少し紹介する予定です1。
6月
Heroku用Groongaのビルド方法はもしかしたら必要な人がいるかも?くらいのHeroku情報です。
Launchpadを利用してパッケージを公開するにははUbuntu用パッケージの公開方法の紹介です。
Groongaの管理画面の改良案はインターンシップの題材案です。Groongaの管理画面はインターンシップとは関係なく開発を始めました。参考:Groongaの細かいことを知らなくても使えるWebブラウザー上で動く管理ツール
SEゼミ - リーダブルコード勉強会(1回目)を開催は学生向けのリーダブルコード勉強会のレポートです。この勉強会は応募者多数のため、2回開催することになりました。これはその1回目のレポートです。かなりチャレンジングな内容にしましたが、うまくいきました。メンターのみなさんのサポートのおかげです。
7月
Debianでパッケージをリリースできるようにしたい - mentors.debian.netの使いかたはDebian関連記事の3つ目です。パッケージのレビューに関する情報です。
SEゼミ - リーダブルコード勉強会(2回目)を開催は2回目の学生向けのリーダブルコード勉強会のレポートです。1回目でのフィードバックを反映して内容を改良しました。
Groongaユーザ向けの、はじめてのDroongaはGroongaベースの分散全文検索エンジンであるDroongaの紹介です。
GStreamerのエレメントをつないでパイプラインを組み立てるにははGStreamer関連のツールの使い方の紹介です。久しぶりのGStreamer情報です。
LXCコンテナに名前でアクセスする方法はLXC情報です。lxc-consoleがC-a
をとってしまう問題は他の解決方法もあった気がします。
8月
LXCコンテナにホスト側のユーザをバインドする方法はLXCをひと手間かけて便利に使うための情報です。
RubyKaigi 2014にスピーカー・スポンサーとして参加予定はお知らせです。
新装版リファクタリングは本の紹介です。
PassengerでRroongaを使ったWebアプリケーションを動かすときにチューニングのコツはるりまサーチをチューニングしたときの知見をまとめたものです。
FedoraプロジェクトのGroongaパッケージを一緒にメンテナンスしてみませんか?はお誘いです。今でもまだ誘っているので興味のある方はぜひお声がけください。
9月
手動でインベントリーファイルを作らずにVagrantとAnsibleを一緒に使う方法はHatoholを開発しているときに得られた知見をまとめたものです。
SSHポートフォワード(トンネリング)を使って、遠隔地からLAN内のコンピュータにログインするはSSHの使い方例です。
AC_ARG_WITHでオプションを省略するとき、しないときはAutotools関連情報です。普段の開発で得た知見をまとめたものです。
RubyKaigi 2014:Three Ruby usages - High-level interface, Glue and Embed #rubykaigiはRubyKaigi 2014で発表した内容の紹介です。
Cutterで画像を使ったテストを書くにははCutterの画像向けアサーションの紹介です。
10月
検索エンジン自作入門は本の紹介です。
いろいろ考えると日本語の全文検索もMySQLがいいね! #osc2014tkはOSC2014 Tokyo/FallでのMySQLの日本語全文検索に関する発表内容をまとめています。
Debianでパッケージをリリースできるようにしたい - そしてDebianへはDebian関連記事の4つ目です。ついにGroongaのパッケージがDebianの公式リポジトリーに入りました。
11月
Rubyのテスティングフレームワークの歴史(2014年版)はRuby 2.2リリースを前に各種テスティングフレームワークについて整理しました。
Groonga 4.0.7の実験的機能であるカラム値の圧縮とRroongaからそれを使うにははカラム値の圧縮機能の使い方を説明しています。
Ubuntuでdebパッケージのお手軽クリーンルーム(chroot)ビルド環境を構築するにははDebian関連記事の5つ目です。パッケージのビルドを便利にするツールであるcowbuilderの紹介です。
12月
UbuntuでdebパッケージのテストをするにははDebian関連記事の6つ目です。debパッケージのテストツールであるpiupartsの紹介です。
milterプロトコルはPostfix Advent Calendar 2014向けに書いた記事です。残念ながら未完ですが、日本語で書かれたmilterプロトコルの説明は現時点ではこれが唯一です。
schooでリーダブルコードのWeb授業を開催はリーダブルコードに関するWeb授業の開催レポートです。とても多くの人が受講しました。
Sphinx 1.3で使えるgettextとバージョン管理の相性の悪さを改善する仕組みはgettextとバージョン管理システムの相性の悪さを解消する案のSphinxバージョンです。
Clangの静的解析を使ってコードの潜在的な問題点を探すにははscan-buildの紹介です。
Firefox OSのサポートサービス開始のお知らせはクリアコードはFirefox OSに力をいれていくぞ!という決意表明です。
まとめ
2015年にやりたいことと、2014年のことをまとめました。
2014年はコードの書き方に関する話は前半が多く、後半はあまりなかったですね。2015年はコードの書き方に関する情報も提供していく予定です。
今年もよろしくおねがいします。
-
懇親会中でだれも聞いていないはずなので、Heroku Inc.の新入社員の人だけに説明するつもりで話す予定です。 ↩