Weekly Top 10
Rubyで笑ってお仕事
2007/11/19
先週の@IT NewsInsightのアクセスランキングは第1位は「日本は組み込みエンジニアが7万〜9万人不足している」だった。インドベースのSI大手タタグループが、日本向け組み込み事業を拡大するというニュース。
|
先週のランキングとは関係がない話で恐縮だが、ランキング表の話を少ししたい。
毎週お届けしているこのランキング表だが、実はRubyで作成している。ランキングを掲載するという企画を思い立ってから実際に始めるまでに1日か2日と、急に開始したという事情もあって、最初は手書きでHTMLタグをカット&ペーストしていた。いずれシステム側で吸収すればと思いながらも日々は流れ、気付けば毎週むなしい作業を繰り返すようになっていた。
まずログ解析のシステムからURIのリストを引っ張ってくる。1つずつURIをコピー&ペースとしてWebブラウザでアクセスする。Webページが開くのを待つ。開いたら、そこからタイトルをコピー&ペーストで抜き出し、URIとタイトルを、それぞれHTMLのひな形の適切な場所に埋め込む。それを10回繰り返す。
単純な作業だが、気が滅入るのはマウス操作。コピーする文字列を正確にドラッグするのは神経をすり減らせる作業だ(なぜWebブラウザでは意図しない範囲をマウスカーソルは勝手に指示したがるのか?)。HTML文書の似たような文字列の中からペーストする先を正しく探し出してクリックするのも思いのほか煩雑な作業だ。作業時間自体は5分程度しかかかっていないのかもしれないが、精神的な負担や疲労感は大きい。
ともあれ、テキスト処理やネットワーク処理に強いRubyのようなスクリプト言語は、こうしたちょっとした作業にうってつけだ。「指定URIにアクセスしてTITLEタグから必要なタイトルを抜き出す」という処理はネットワーク関連のライブラリ「open-uri」を使えば、わずか9行で書ける。10位分のランキングを出力するスクリプト全体でも、埋め込み文字列の行をのぞけば60行ほど。普段ほとんどコードを書かない記者でも1時間ほどの試行錯誤で完成した。
記者はRuby使いにはほど遠い。毎度毎度、書くたびに基本的な決まり事を忘れているような状態だ。それでもRubyを使っていつも感じるのはプログラムを書くことの楽しさだ。思いつくままに何かの機能を実現する数行から十数行のコードの塊を書いていく。個々の機能が意図した通りに動くのを見るのは実に楽しい。全体が完成してランキング表が正しく出力されたときには、思わず笑みがこぼれた。
「Hello World」を表示するだけで、やたらと高い学習コストやコード行数を要求される昨今の「フレームワーク」のようなものと異なり、テキストエディタで気軽にタイプするだけというシンプルさで大きな力を発揮するRubyに、非職業プログラマの私は魅力を感じる。最近、Pythonの勉強をして分かったが、私がRubyに感じる気軽さはPythonにはない。書き捨てでいいと割り切って最短距離で機能を実現したいとき、「誰が書いても似たようなコードになり、可読性や保守性が高い」ことはメリットにならない。「たぶんこうすればいいんだろう」という直観だけで書き進められるRubyのほうがツールとして使い勝手がいい。もちろん、Rubyでもカッチリ書こうと思えば書けるのだろうが、カッチリ書く必要がないところまでカッチリさせることはないというRubyのプラグマティックな寛容さが、私には心地いい。
最終的に完成したRubyのスクリプトは今のところテキストエディタから呼び出している。5〜10秒待つだけで、統計データがごちゃごちゃと混じったURIリストがHTMLにパッと置き換わるのを見るのは気分がいい。もともと人間がやるべきではない単純な作業を自分に代わってPCがやってくれているのだと思うと、マウスカーソルの明滅も健気に見える。
5分の作業を10秒に短縮するために1時間を費やすのは、効率の観点からいえば誤差のような話かもしれない。しかし、精神的な疲労は数字だけで計れるものではない。読者の業務で、マウスを酷使する非人間的な「頭脳労働」は存在していないだろうか。Rubyが役立ってくれるかもしれない。
情報をお寄せください:
最新記事
アイティメディアの提供サービス
キャリアアップ
- - PR -
転職/派遣情報を探す
「ITmedia マーケティング」新着記事
Xに迫る新興SNS「Threads」と「Bluesky」 勢いがあるのはどっち?
Metaは最近のBluesky人気をけん制するためか、立て続けに機能アップデートを実施している...
もしかして検索順位に関係する? SEO担当者なら知っておきたい「ドメイン」の話
この記事では、SEOの観点から自社Webサイトに適したドメインの選び方を考えます。適切な...
B2Bマーケターの「イマ」――KPI・KGIはどう設定? 他部門への関与度は?
メディックスがITmedia マーケティングと共同で開催したウェビナー「2024年最新調査から...