今月の Software Design : 2013/01 ( その3 )

 年始のエントリで紹介した「 Software Design ( 以下、SD ) の記事を全て読んで要約に感想を添えてブログに掲載する」活動の続きです。

 今日のエントリで今月の SD の記事のおよそ 3/4 について書きました。改めて SD の記事のバリエーションは豊富だと感じます。

 例によって以下のフォーマットで書いてゆきます。

 

・記事のタイトル
( 1 行目 ) 記事の要約
( 2 行目以降 ) 感想

 

Emacs 64 bit 化計画

 EmacsIME 実装のディープな話とその他パッケージの紹介記事。

 Emacs にはプラグイン管理をするためのプラグイン package.el なるものがあるらしい。vim にだって vundle あるもん。

 w3mEmacs からとな? w3m.vim で vim から w3m いじれるもん。

 そう言えば、アリエルがかつてめちゃんこ長いこと連載していた「Emacs トラノマキ」も無くなり、今月の Emacs 記事はこれだけです。

 ところで、外国人との日常会話で触れてはいけないとされる2つの話題があります。「宗教」と「戦争」についてです。

 高度に発達した Emacs ( or Vim ) 議論はファシズムと区別がつきません。従って、エンジニア同士で無用な争いを起こしたいのでなければ、この手の話題を無理に掘り下げるべきでないのではないか、そう思わなくもないです。

 しかし一部の IT 企業では、面接時に「好きなエディタは?」といった恐怖の質問が飛んでくるようです。実に恐ろしいです。

 

・開眼シェルスクリプト

 メールのヘッダの MIME マルチパートを解析し、本文から添付ファイルを抽出してファイルに吐き出すといった処理を行うシェルスクリプトを書いてます。

 この手のスクリプトの記述は意外に面倒だという印象を持っているんですが、こうして他人が書いた bash スクリプトを読むと新たなテクニックを発見できたりするので、非常に有用です。

 ところで、一部のディストリビューションではかつて /bin/shbashシンボリックリンクになっていたという話を聞きました。ただ bash は配列やらハッシュやらと、bash オリジナル機能やコマンドが色々入っているので、混同を避けるためにそれは良くないということでやめたんだとか。

 

・iOS アプリ開発者の知恵袋

 デザイナー出身の IPhone アプリ開発者による iPhone アプリのマーケティング戦略のお話。

 非常に幸運なことに昨年はデジタルガレージ (DG) の中の人や iPhone アプリで財をなした方々とお話できる機会があり、彼らの苦労話や失敗談を色々聞かせてもらいました 。また DG では凄まじいことに、生で伊藤穣一さんと手狭なミーティングルームでお話しできる機会もありました。

 当時僕は(一昨年、昨年と)Android アプリをガリガリ書いていたのですが。彼らの話を聞くと、どうも iPhone アプリにおいては、企画とデザイン、そして特に重要なマーケティングが、ダウンロード数や売上を左右する鍵なんだなと理解しました ( Android は配信システムの関係で若干事情が異なるようですが ) 。

 この記事からも、おおよそ同じような印象を持ちました。

 

Android エンジニアからの紹介状

 Android や iOS などのマルチプラットフォームに対応したネイティブアプリを開発するためのフレームワーク Rhodes の紹介記事。

 この辺りの話題には疎く、最近では Unity が有名なんじゃあとか思ってたんですが。Ruby で実装できるみたいで面白そうな感じです。Web アプリにしても次々新しいフレームワークができては消え、その都度「へー便利」と思わせてはくれますが、それもやがて廃れていく様を見ると、開発現場と同じようにフレームワークもまた試行錯誤しているんだなと思わされます。

 

・ハイパーバイザの作り方

 割り込み関連のディープな話。

 SD の読者層の厚さを感じさせる記事です。僕個人としてはこういう話は好きですし、かつては i386 系の汎用 OS (Onix OS) を作っていたこともあるので理解もできます。ですがアプリ系のエンジニアには全く通じないじゃないかと思わされる内容です。

 記事にあるように今回はクラシックなアーキテクチャの解説話で、仮想化については来月号で載るみたいです。楽しみです。

 

Ubuntu Monthly Report

 Nexus 7 の環境構築のお話。

 DAP とか未定義語の略称が出てきたりと若干読みづらい感がありましたが、Ubuntu の中の人はさすがに詳しいな、という印象を与えられる冒頭でした。ただ僕個人としては Nexus 7 持ってないし、内容もインストールやハウツー話なので正直、それほど惹きつけられませんでした。

 ちょっと気になるのが MTP について、なんでこんなプロトコルが必要なんだろうかと一瞬疑問に思いました。「スマフォも PC もファイルシステム持ってるし、ファイル形式にしてデータ転送すればええやん」とか思ってたら、オーディオ機器への転送とか考えると必要になってくるんですね。この辺りの通信プロトコルの話になるとなぜかワクワクしてきます。

 

IPv6 化の道も一歩から

 オンプレミスの IPv6 環境を構築する際の、ソフトウェアエンジニアリング的な手法の紹介記事。

 こういう業務プロセスを考える人は、どういう経験や知識に基づいて、こうしたプロセスを考案するのかすごく気になります。一階の税務職員は税務署に 15 年勤めると税理士のライセンスが手に入るようですが。SI 屋さんを長年続けると、こういう業務システムや業務プロセスを考える能力が開眼するのでしょうか。

 

・レッドハット恵比寿通信

 レッドハットのオフィスの話と、テスト環境の VM インスタンスをつくるための自動化手法のお話。

 特に後半については、見開き半ページの狭い紙面で濃ゆい内容を扱ってます。僕はこれまで VM 環境の構築については、用途毎に VM イメージファイルをいくつも用意するという原始的な手法で行なっていましたが、管理するのがめんどくさい上に、ディスクの空き容量をたくさん食べてしまうので、紙面で紹介されている KickStart と Puppet を使った手法については試してみようと思います。