2010年8月5日木曜日

[Mac]: 17インチMacBook Proでのノマドワーキング

17インチMacBook Pro Mid 2010を買ってからそれまでのコーディングライフが大きく変わった.
これまで自宅や仕事先など,大画面ディスプレイがないとがっつりコーディングするつもりになれなかったのが,このマシンのおかげでどこでも作業できるようになった.

いわゆる最近流行りのノマドワーキングへの一歩を踏み出して2ヶ月ほど経ったので,僕なりに考えた利点や使っているツールなどを書いていこうと思う.ツールなどはWebアプリケーション向けだが,ノマドワーキングの利点などは他の分野でも同じだと思う.





ノマドワーキングの利点:割り込みを減らす

僕がノマドワーキングを初めて大きな利点だと感じたのは,割り込みが減ることだ.これは電話や質問相談などの事務系処理によるものもあるが,自宅で作業しているときにありがちな娯楽への誘惑も含めることができる.

僕らのようなソフトウェア開発を行う人間の作業において,いかに効率的にフロー状態を継続するかは仕事の効率に大きく影響する.
フロー状態とは,作業を行っていて完全に没入している状態のことである.ソフトウェア開発をある程度やったことのある人であれば経験したことがあると思うが,完全に集中しており,いつもとは明らかに違う勢いでコーディングが進む,あの状態のことである.
フロー状態に入っている時は完全にその時のコードに集中しているため,その時に書いたコードは自然と質も良くなっていることが多い.
しかし,フロー状態の大きな弱点は割り込みに弱いことなのだ.

フロー状態に入るには30分程度かかるため,一度割り込みが発生するとまた30分は効率の悪い時間が発生する.しかし意外と30分も割り込みのない環境というのは少なかったりする.
どうしても作業をしていると仕事場においては自分宛てでない電話の対応をしたり,来客の対応,同僚の相談などが発生する.自宅においても意志が弱い自分にとっては休憩という名の誘惑が常に割り込みシグナルを送ってくる.

まとめると,仕事場においては外的要因が割り込み要因となり,自宅においては自分の甘えが割り込み要因となりうるわけだ.

一方,ノマドワーキングにおいてはそれらの要因が程々にカットされる.
まず,仕事場において発生する電話対応などは最小限になる.かかってくるにしても自分宛の電話だったりするので,少なくとも他人宛の電話や伝言を預かるために割り込みが発生する心配はない.
自宅において発生する甘えについても,喫茶店などであれば「外」であり,他人の目が存在するためにあまりにもだらけた状態にはなれないという作用が働く.つまり少々気を緩めたとしてもニコニコ動画を観始めたりするようなことはない.せいぜいTwitterのTLを数分眺める程度だ.

割り込みの発生頻度をうまく調整することができるという点において,ノマドワーキングの利点は大きいと言える.

ノマドワーキングの為のツール:ハードウェア編

ノマドワーキングを始めるにあたって,用意すべきものは二つある.

  1. 自分が作業するのに十分な解像度とバッテリ寿命を持ったPC
  2. 低速でも良いのでインターネットに繋ぐ回線

1については特に言うまでもないかもしれないが,自分が作業するのに十分なという部分は大事だ.特に,普段大画面を使ってでソースコードを同時に2,3ウィンドウも開いて作業をしているような人は,小さい画面というだけで作業にストレスを感じてしまう.結果,作業を始めてもイライラしてしまい,メールの処理程度で飽きてしまうことになる.
また,バッテリ容量についても,5時間以上は保つバッテリを積んでいるマシンが望ましい.バッテリ残量というのは意外と気になるもので,作業していて残り残量が30%位になってくるとチラチラ見てしまうものだ.なので,バッテリについては全く気にしなくて良い位容量のあるマシンが良いだろう.
僕は冒頭に挙げた通り17インチ版MacBook Proを使っている.重いが優秀なマシンだ.



2については必須ではないが,コーディングしていてオンラインのAPIドキュメントやソースコード検索をしたいことは頻繁にあるので,まともにコーディングするには必要だと思う.
僕はこちらの記事で書いたときのb-mobileの回線を使っている.300kbpsは結構遅いが,テキストベースの検索には必要十分である.

ノマドワーキングの為のツール:ソフトウェア編

ここからはプログラミングの分野によっても違ってくると思うが,僕はWebアプリケーションを書くことが多いのでそちらの例で書こうと思う.

  • git or git-svn
バージョン管理された開発においては必須.gitの何より良いところはオフラインでもコミットできる所だ.外でごりごりコードを書いて,仕事場でまとめてmergeする,といった使い方が出来るのはgitならではだろう.Subversionではこうはいかない.
  • MacPortsでインストールしたPHP+Apache+MySQL環境
XAMPPを使うという方法もあるのだが,以前PHPのImageMagick拡張であるIMagickを使おうとしたときにどうしてもうまくいかなかったので,MacPortsからインストールしたものを使っている.
XAMPPはダウンロードした状態のまま使うのであれば非常に良いツールなのだが,ちょっと外部のライブラリをリンクさせようとした途端にうまくいかなくなることがあるので注意したい.
  • Mac OS X標準のpostfix
Webアプリケーションを書いてて良くあるのはメールを送信する処理であるが,ローカル開発の場合,メール送信の環境を自前で整えなくてはいけない.
その点,Snow Leopardからは標準でpostfixが搭載されたので,こちらの記事などを参考にローカルにメールサーバを立ててしまう.
これで,回線さえ繋がっていればメール送信のテストまで問題なく行うことができる.
  • VMWare FusionとWindowsをインストールしたVM
IEでの動作確認に必要.面倒だが一応世の中の大半の人はIEを使っているのでチェックすることに.


大体これくらいあればローカルでのWebアプリケーション開発が可能だ.
ノマドワーキングのための環境作りというよりは,一般的なローカル開発のための環境構築になっている気がするが,実際開発においてはこれくらいで良かったりする.

ノマドワーキングの行き先探し

さて,環境は整ってもどこで作業をするのかという問題が残る.
僕的オススメスポットは単価が高いのが難点だがスタバだ.スタバは少人数向けの席構成が多く,自分と同じように資格試験の勉強をしに来ている人もいたりして,割合静かな方である.もちろん例外もあるが.
あちこち行ってみて,自分に合う場所と時間帯を見つけるのが良いだろう.あまり混んでいるときに席をずっと占領するのも悪いので,お店の空気も読みつつ.

ある程度作業していて「集中できないな」と思ったときは,移動すると気分転換になる.駅前ならいくつかお店を見てまわるのも良いと思う.気分転換の幅が広いのもノマドワーキングの利点かもしれない.

後は,電車の中も意外と集中できる場所である.もちろん満員電車の中でやるのはオススメしないが,昼下がりの人の少ない長距離移動の際など,30分以上乗車時間があればモジュールの一つ位は書ける.
ただ,電車移動中はネット回線が不安定になるので,sshでの作業やgit push,git pullはあまりオススメしない.

家を出る前に気をつけておきたいこと
最後に,家を出る前に気をつけておきたいことを挙げておく.

  • バッテリの充電状況のチェック
  • git pullしておく
  • ケーブル類に過不足が無いか(モバイルルータとの接続など)
これだけチェックしておけばとりあえず大丈夫だと思う.後は自分用に色々と調整してみるのがいいだろう.


0 件のコメント:

コメントを投稿