あるWebプログラマーの作業環境――豪傑の三種の神器【前編】新入学生/新社会人応援企画(1/2 ページ)

春は出会いと別れの季節。入学や就職で、新しい生活を始める人も多いだろう。それを機にPC環境もそろそろ大人への階段を上ってもいいかもしれない。ここでは、はてなという企業でプログラマーとして働くあの人の開発環境を紹介することで、プロが好む作業環境を考える。

» 2007年03月07日 08時00分 公開
[はてな 伊藤直也,ITmedia]

この連載のバックナンバーは以下の通りです。併せてお楽しみください。

連載第1回:ディストリビューションの選び方、試し方

連載第2回:Windows上でLinuxを走らせてみよう――coLinux


 わたしははてなという企業でプログラマーとして働いています。はてなは、ブログやソーシャルブックマークなどWeb上のサービスを提供する会社ですが、それらのほとんどはPerlで書かれており、LinuxやApache、MySQLをはじめとするオープンソースソフトウェアの上で動作しています。そんな理由から、開発環境も自然とオープンソースのツールを使うことになります。今回から2回に分けて、そんなわたしの開発環境を簡単に紹介させていただきたいと思います。

ノートPC1台で開発する

 本題のツール類の話に入る前に、開発に使っているハードウェアの話を先にしておきましょう。

 まず、開発はすべてノートPC1台で行っています。いろいろ理由はあるのですが、一番の利点は自宅でも会社でも同じ環境で開発を続けられる、というところでしょうか。わたしは仕事でサービスを開発する以外にも、プライベートでPerlのライブラリを書いてみたり、オープンソースソフトウェアのプロジェクトに参加したりしています。

 こういった状況なので、開発環境が会社と自宅でバラバラですと、ちょっとしたツールの設定を2回行う必要があるなど、何かと面倒です。また、後述するcoLinuxやMac OS Xを使えば、ノートPCの中に完結したUNIX環境が手に入る*ため、ノートPCさえ持っていれば、例えば飛行機の中など移動中でも開発を続けられたりします。実際、先日も国際線の退屈な長時間のフライトで、コードを書いて暇をつぶすことができました :)。

1つのPCにUNIX環境を構築する

 さて、ソフトウェアの話に入っていきます。まずはOS。ノートで開発する、と聞いて例えばWindows向けPCのOSを換装してLinuxなどのPC UNIXをインストールしている、あるいはノートPCをデュアルブートさせてUNIX環境と使い分けている、なんていう姿を想像された方も多いかもしれません。

 しかし、いまどきはローカルのPCにUNIX環境を構築するのに、UNIXをインストールするというストレートな方法以外にもいろいろやり方があります。

  • Windows上でcoLinuxやVMware Playerを使ってLinuxを動かす
  • Mac OS Xを利用する

などがその例です。

WindowsをベースにcoLinuxやVMware Playerを使ってLinuxを動かす

 図1を見てください。わたしのデスクトップのスクリーンショットです。一見すると何の変哲もないWindows XPのデスクトップですが、中央にはターミナル(Tera Term)が起ち上がっており、どこかのUNIXへログインしてシェルを操作しています。

図1 図1 わたしのデスクトップのスクリーンショット

 この、「どこかのUNIXへログインして」がポイントです。普通に考えるとリモートのUNIXサーバにログインしているように思えますが、実はこれはローカルに起ち上がったLinuxにターミナルでログインして操作しています。coLinuxを使うと、Windowsの上でLinuxを動作させることができるのです。つまり、1つのPCの中で2つOSが動いているというわけです。このWindowsの上で動いているLinuxをサーバにして、そこにログインして開発を行う、という感じですね。

 わざわざWindowsの上でLinuxを動かすメリットは、

  • デスクトップ環境には慣れたWindowsが使える
  • OfficeなどWindowsアプリケーションが使える
  • Windowsを使いつつも開発はLinux上で行える
  • 外部ネットワークにあるサーバとは異なり、ネットワークにつながっていなくても開発が続けられる

などなどいろいろあります。

coLinux上にアプリケーション開発環境を構築する

 わたしはcoLinuxにDebian GNU/Linuxをインストールして、そこにPerlやRubyなどの言語や、Apache、MySQLといったアプリケーションの開発/動作に必要なソフトウェアをインストールして利用しています。

 また、coLinux上に構築されたユーザーのホームディレクトリは、Sambaを使ってWindowsからネットワークドライブとしてアクセスできるようにしてあります。これで、Windows上のアプリケーション、例えばテキストエディタなどから、直接coLinux上のファイルを編集できます。こうしてプログラムの編集は使い慣れたエディタで、その動作環境はLinuxでというように使い分けています。

 単一のマシンにLinuxをインストールした場合、最近ではGNOMEなどのデスクトップ環境がGUI周りの機能を提供していますが、coLinux on Windowsはそれらデスクトップ環境が、Windowsに置き換わったような使い勝手だと想像していただけば良いでしょう。

無償のエミュレータVMware Player

 coLinuxのようにWindows上で別のOSを動かすソフトウェアとしては、VMware Playerもあります。VMwareは、WindowsやLinux、Solarisなどの上で仮想的にハードウェア環境を提供し、ほかのOSを動かすエミュレータです。もともと有償のソフトウェアでしたが、ライセンス体系が変更され、無償で利用できるようになりました。元が有償のソフトウェアということもあり、非常に安定しており、信頼のおけるエミュレータです。また、coLinuxと異なりLinux以外のさまざまなOSをサポートしていたり、OSのインストールが比較的簡単などのうれしいポイントもあります。

Mac OS XでUNIX環境を手に入れる

 Windows+coLinuxのように「使い慣れたデスクトップアプリケーションを使いつつ、開発環境の下地はUNIXで……」という意味では、Mac OS Xを使うのが手っ取り早いという話もあります。

 Mac OS Xは見た目こそ美しくグラフィカルなOSですが、そのベースはUNIXです。Windowsの上でcoLinuxを動作させているときのように、仮想的にUNIXが動いているわけではなく、Mac OS XそのものがUNIXです。従って、ローカルでUNIXのコマンドが使えますし、サーバでも何でもUNIX向けのソフトウェアはたいがいのものが使えます。Windows+coLinuxのように環境が2つに分かれていたりもしないので、デスクトップアプリケーションとUNIXプログラムとで非常にスムーズな連携が行えます。

 わたしは1年以上前にWindowsからMac OS Xにスイッチしました*が、開発環境も特に問題なく移行できています。図2の画面はわたしのデスクトップのスクリーンショットです。Emacsでソースコードを書き、Mac OS X標準のターミナルでRubyを実行し、ブラウザでWebを閲覧しています。EmacsもRubyもローカルにインストールされていて、ローカルで動作するので、Webの閲覧以外は、ネットワークにつながっていなくても可能です。

図2 図2  Mac OS X上で、Emacs/Rubyを実行し、Webブラウザで調べものをしているところ

このページで出てきた専門用語

ノートPCの中に完結したUNIX環境が手に入る

ちなみに一時期まではLenovoのThinkPad X40を使っていたが、その後MacにスイッチしてPowerBookを使っている。

WindowsからMac OS Xにスイッチしました

昨年、米国西海岸で開催されたETechというカンファレンスに出席した。ETechは、技術系、特にWeb関連の技術に特化しているのだが、参加者の半数近くがMac(iBookやPowerBook)を使っていたのが非常に印象的だった。Mac OS Xが、Web開発者に支持されていることの表れとも言えそうだ。


       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ