今回のテーマは「Web開発者向け情報サービス」

かつてのホームページと違い、今Webサイトを構築するとなると何らかのプログラミング言語を使って構築するのが当たり前になっている。情報発信系のサイトであってもブログエンジンを利用したりする。そしてプログラミングし、Webサイトを構築するのはIT技術者の仕事だ。

Tomcat、Ruby on Rails、CakePHP、Akelos、Catalyst、Django……などなど各種プログラミング言語向けにフレームワークが登場し、生産性や品質は向上しているように思える。さらにJavaScriptもWebブラウザ間の誤差を吸収したり、便利に活用するためにPrototype.js、jQueryなどのライブラリも登場している。だが、その結果としてより高度な、より洗練されたシステムを求められているようになっている。品質の高いWebサイトに見慣れたクライアントが、よりレベルの高いシステムを期待するようになっているのだ。

ラクになったように見えるIT技術者の仕事は決して簡単にはラクにはならない。当たり前ではあるが、カギになるのは日々の情報収集や、チームでの情報共有、技術力向上だろう。今回はそうしたIT技術者が力を蓄えるのに便利なWebアプリケーション、オープンソース・ソフトウェア(OSS)を紹介する。技術力をアップさせ、困難なプロジェクトも乗り切ってほしい。

今回紹介するOSS・Webアプリ
Snipplr』 ソースコードの断片を投稿、共有する
okyuu.com』 IT技術者向けの情報共有サイト
Rietveld』 Webベースのソースコードレビュー
USVN』 「Subversion」管理フロントエンド



プログラムの関数やTipsを共有する

名称 Snipplr
URL http://snipplr.com/

『Snipplr』はソースコードのSnippet(断片)を投稿できるWebサービスだ。プログラミングをしていると、ちょっとしたTipsや、よく使う関数などができてくる。いわば定石のようなものだ。Snipplrではそんな便利なソースコードを登録し、共有できる。コメントを書き、タグを付けて管理することが可能なほか、履歴管理機能を備えており、同じ機能を満たすものが徐々に磨かれていく様子もわかる。

「Snipplr」のトップページ。検索はもちろん、言語別にカテゴライズされている

ソースコードの良いところは、プログラム言語さえ理解していれば母国語以外であっても処理されていることが容易に理解できることだ。もちろん、一部は言語に依存したものもあるが、大抵はそのまま適用できるだろう。まさにプログラム言語が共通言語として活かされている。

一例。ハイライトされているので見やすい

ソースコードは見やすくハイライト化され、行番号も付けられる。こんな関数ないだろうか、という時にも便利なWebサービスだ。




カカクコム運営のITエンジニア向けソーシャルブックマークサービス

名称 okyuu.com
URL http://okyuu.com/

『okyuu.com』は、日本のカカクコムが提供しているWebサービス。ITエンジニア向けに特化したソーシャルブックマークサービスになっている。各ブックマークやニュースに対してコメントしたり、レーティングしたりすることができる。

「okyuu.com」のトップページ。技術要素によってカテゴライズされている

Tips/ニュース/質問と大きく分けて三つのタブがあり、それぞれITエンジニアであれば役立つ情報ばかりだろう。日本語版と英語版があるが、現状は英語版にも日本語の情報が数多く登録されており、明確には区別されていない状態になっている。これは徐々に改善されていくものと思われる。

記事詳細。コメントを書いたりレーティングをつけたりする

日々の情報収集は大事だが、それに集中すると本来すべき業務の時間まで情報収集に費やしてしまうことになりかねない。特化した情報サイトを使って上手に時間を節約しよう。




GoogleのソースコードレビューシステムのGoogle App Engine版

名称 Rietveld
URL http://code.google.com/p/rietveld/

プログラムの品質を向上させるコツのひとつに、人のソースを見て勉強するということがある。ペアプログラミングのようにふたりでソースを組み上げる場合もそうだし、チームメンバーで定期的にソースをレビューするというのも効果的だ。そのソースコードレビューを助けてくれるのが『Rietveld』である。

RietveldはPython開発者のひとり、Guido van Rossum氏が開発したソフトウェアで、Googleで使われている(Rossum氏が開発した)ソースコードレビューシステムであるMondrianをモチーフに開発されている。いわばGoogleソースコードレビューシステムのオープンソース・クローンだ。

Issueを登録したところ

RietveldはGoogle App Engine上で動作するようになっており、公開リポジトリに対してのみ利用できる。ワーキングコピー上で実行すると、Diffを作成してRietveldにアップロードしてくれるスクリプトが便利だ。

リポジトリ一覧。HTTPで認証なしでアクセスできるリポジトリのみ登録可能

アップロードした内容は他のユーザが閲覧し、行ごとにコメントが付けられるようになっている。付けられたコメントに対して返信したり、さらに修正を施してアップロードしたりと、ソースコードの品質を向上させるための便利なシステムになっている。

Google App Engineを利用しているために、非公開環境では利用が難しいが、便利なソフトウェアだ。




バージョン管理ツール「Subversion」をもっと活用する

名称 USVN
URL http://www.usvn.info/

開発の現場ではSubversionがよく利用される。プロジェクトごとにリポジトリを分け、開発を行なっている現場も多いだろう。だがその運用にはさまざまな問題が存在する。運用していくうちに、ユーザの管理数が増えて煩雑化したり、既存のシステムと連携させたりしたいと思うかもしれない。そうした時に役立つのが『USVN』だ。

ファイル単位でアクセス権限を設定できる

USVNはよくあるSubversionのリポジトリビューアではない。いわばフロントエンドだ。USVNを使ってリポジトリを作成し、ユーザを管理し、ファイルやディレクトリに対してのアクセス権限を設定する。すべてWebブラウザから操作できるので運用コストが低減するのは確実だろう。

プロジェクトページ。コミットメッセージは日本語も読める

ファイルの閲覧はできないようだが、コミットメッセージを一覧表示することで状態の把握はできる。Subversionの管理フロントエンドとして使ってみてはいかがだろう。

いかがでしたか?

技術力のアップは容易ではない。日々、情報を収集し、改善し、磨きをかけていく必要がある。そのための材料は書籍やインターネット、職場やリアルな友人関係など幅広く存在する。それらをうまく組み合わせ、自分の糧にしていく必要がある。

IT系の技術は日々進歩し、一年前の情報はもちろん、数カ月前の情報ですらあっという間にありきたりのものになったり、廃れてしまったりする。そのため、あまり最先端ばかり追いかけるのは得がないことが多い。自分たちの書いたソースや、日々の業務の中で見つけたTipsなどを共有していけば、個人はもちろん全体のレベルアップにもつながるのではないだろうか。

著者プロフィール
MOONGIFT 中津川 篤司(なかつがわ あつし)
1978年生まれ。オープンソース紹介サイト「MOONGIFT」管理人。プログラマ、SE、ITマネージャを経て、オープンソースのビジネス活用を推進する。現在は独立し、Webサービスのコンサルティング、プロデュースを行う。