僕は発展途上技術者

先天性甲状腺機能低下症(クレチン症)の患者さんとご家族のための情報サイト「こども健康倶楽部」が一周年をむかえました

開発に関わり、昨年リリースした こども健康倶楽部 - 先天性甲状腺機能低下症(クレチン症)の患者さんとご家族のための情報サイト が一周年をむかえました。


kodomo.png


たまにサイト内に設けられたコミュニティルームを訪れ、そこで交わされている発言をのぞくことがあるのですが、ユーザーの方々に有意義に利用され、サイトの存在をありがたく思っていただいているのがわかって、開発に関わることができて本当に良かったと感じています。また、その機会を与えていただいた 関係者の方々 に感謝しています。


これからも持てるスキルを使い、いまは Web サイトやソフトウェアといった形で、誰かのために役に立つサービスを作っていくことが 僕のミッション なんだと再確認しました。


「こども健康倶楽部」は、将来的には他の疾患(子どもの(慢性の)病気)も扱うことを考えております。もし他の疾患について、同様なコミュニティサイトを立ち上げたいという方がいらっしゃいましたら、こちら までご相談ください。


» こども健康倶楽部 - 先天性甲状腺機能低下症(クレチン症)の患者さんとご家族のための情報サイト


» 先天性甲状腺機能低下症(クレチン症)の患者さんとご家族のための情報サイト「こども健康倶楽部」がオープンしました : 僕は発展途上技術者


ハワイ旅行記(4日目、最終日)

5日目は早朝に空港に向かい、東京に帰ってくる移動日だったので、4日目が実質の最終日です。


010909_dscn0985.jpg


個人的に一番楽しみにしていたAtlantis Adventures。観光用潜水艦に乗って海底を巡るツアーです。写真は海底に沈められた飛行機に群がる魚魚魚。それなりのお値段はしますが、「海底二万里」やマイクル・クライトンの「スフィア」、「沈黙の艦隊」といった海底もの、潜水艦ものに心躍らせた元/現少年少女にとっては、満足度かなり高いです。




僕らの回は日本人観光客向けで、日本人のガイドが説明してくれたため、楽ちんでしたし、子どもも十分理解できて楽しめたようです。(日本人向けの回でない場合は、用意されたヘッドフォンで日本語のガイドを聞けるようにはなっているようです)


船で沖合まで出たあと、二つの潜水艦に分かれて乗り込みます。ツアーが終了したら、また船に乗り換えるのですが、僕らは一機目だったため、二機目が浮上してくるところを見ることができました。



浮上する前に、浮上ポイントに泡を大量に放出して合図したあと、"No.14. The surface is clear!! You are OK to rise."(英文は想像。「14号、海面に障害はないので、浮上してよし!!」みたいなことを言ってました)といった無線のやりとりを聞くことができて、テンションあがります。


010909_sany0046.jpg


昼食を食べたあとは、Hilton Hawaiian Village のラグーンでのんびり。ラグーンといってもここは人工的に作ったラグーン。波がなく穏やかなので、小さな子どもがいる場合にはおすすめです。魚を探してみたり、端から端まで泳いでみたりとたわむれてました。写真は砂で作ってみたピラミッド。形にこだわりはじめるとこれが結構はまります。


010909_dscn1048.JPG


夕食は Alamoana Center の bubba gump で食べました。シーザーサラダとエビのいろいろセット(正確な名前失念)を注文。実はハワイは2回目で前回もここで食べたのですが、安定感のあるおいしさでした。特にシーザーサラダは個人的にアメリカのほうが日本よりもおいしい数少ないメニューのひとつだと思ってます。




以上でハワイ旅行記終了です。


アメリカでの生活を経験しているため、どこに行けば何が手に入るかとか、こう言えば相手はこう返してくる、あるいはこう行動すればこうなるなどの予測がある程度つくため、海外旅行とはいえ、僕らにとっては国内旅行と海外旅行のなにか中間的な感じに思えて、不思議な感覚でした。


それゆえ、未知な場所で感じるスリルを味わったり、大きな驚き、発見を体験することはそうそうないのですが、家族旅行としてはそのくらいがちょうどいいんじゃないでしょうか。家族みんな満足できたいい旅行だったと思います。


ハワイ旅行記(3日目)

2日目にお会いした川合さんの紹介で、フリーでWebデザイナーとして活躍されている繁永 清さんにお会いしました。


ワイキキから車で20分ほど離れた Kaneohe というところにある Windward Mall というショッピングセンターで待ち合わせしました。来る途中のフリーウェイは緑が多く、到着した町は静かな感じ。繁永さんに聞くと、このあたりに住んでいる日本人はあまりいないそうで、観光地のワイキキとは違った落ち着いた場所、という印象を持ちました。カリフォルニアにいた頃に僕が住んでいた町もちょうどそんな感じで、なにか懐かしい感じもしました。


クリエイティブな仕事には、こうした環境が大切なのかもしれません。繁永さんは、奥様と二人で日英問わず数多くのサイトのデザインを手がけられています。


日本からの仕事(というか世界中どこからでも)も OK だそうなので、デザインを頼みたいという方がいたら、よかったらどうぞ。


» ホームページ制作会社 ウェブバーガーデザイン ハワイ - Web-burger.com


繁永さんのように移住とまではいかないけれども、1-2ヶ月くらいある程度長い期間、日本から持って行った仕事をしながら滞在するのもいいかもしれない、と思いました。


010809_sany0004.jpg


Windward Mall に行く途中、虹がきれいに見えました。ハワイでは虹がたくさん見られるとのこと。「はしっこからはしっこまで見える!」と子供たちと大はしゃぎ。




010809_sany0011mp4.jpg


Kailua まで足を伸ばし、パンケーキがおいしいという評判のBoots Kimo's Homestyle Kitchenというお店で昼食を食べました。妻や子供たちはパンケーキ、僕はハワイ名物 spam とチーズのオムレツを。シンプルなおいしさです。食後、妻はショッピング。僕は子供たちと近くの野球場らしきだだっぴろい芝生(広い!)を独占して鬼ごっこやフリスビーで興じます。




010809_sany0016.jpg


そして、全米ナンバーワンビーチにも選ばれたことがあるカイルア・ビーチ。海もきれいですが、砂がさらさらでとてもきれいでした。ゴミが落ちていたりといった汚い雰囲気はいっさいなし。砂浜のすぐ近くまで芝生の公園になっているのも良い感じです。結構な距離まで子供の足も届くくらい浅くなっており、子供と一緒に波とたわむれてました。




だいぶ疲れたあとは、近くのモールで休憩。アメリカに住んでいたころ、僕とまだ三歳くらいだった長男のお気に入りだったJamba Juiceで、strawberry surf rider を飲む。いちごとライムシャーベットとあともうなんだかいろいろ混ざってる。大きさは最小サイズで十分。「なつかしー」とか言いながら子供と分け合って飲む。


オアフ島の東側、海沿いの道をだとりながらワイキキへの帰り道。途中、日本のメンバーシップカードでも入れる costco に寄る。costco に来ると必ず100ドル以上使ってしまうのだが、案の定ここでも、ウクレレやらデジタルフォトフレームをゲット。デジタルフォトフレームはなぜか buy one get one free。一個買ったら二個目がついてくる。まあその分の値段ははいっているとはわかっているものの、つい惹かれて買ってしまう。なにせ、二個で $79 だもの。


夕食はハレ・ベトナムというベトナム料理屋さん。手羽先にいろいろつめたものやフォーがうまい。


その後、妻のお気に入りだったWhole Foods Marketに寄る。果物があいかわらずピラミッド状など綺麗に並べられている。野菜は生産者の顔写真入り。こっちでもやってるんだあ。


長い一日でした。


ハワイ旅行記(2日目)

ハワイ旅行記の続きです。


2日目と3日目は Hilton Hawaiian Village 内にある Hertz でレンタカーを借りました。保険はアメリカでレンタカーを借りるときに入る保険メモ : a++ My RSS 管理人ブログを参考にしました。子供たちのブースターシートとカーシート、さらにカーナビをつけたら値段が2倍になってしまいました。ブースターシートくらいは日本から持って行ってもいいかな、と思いました。


カーナビはアメリカでは初めて使ってみたのですが、日本のものと比べると笑っちゃうくらいお粗末。親切に言語切り替え機能がついているのですが、日本語に設定してもエンジンかけ直すため、元の英語に戻ってしまうのです。また、いかにもアメリカらしいのが、音量のデフォルトが最大に設定されていて、これもエンジンを切っちゃうと元に戻ってしまっているため、いちいち「うるさいなあ」とつぶやきながら戻していました。


でもまあカーナビ本来の機能はそこそこ使えます。ただうちの場合は、妻が地図を見るのが好きな人なので、次回からは妻ナビで十分な感じでした。


借りた車で Ward Center というショッピングセンターへ向かい、ハワイでフリーのプログラマーとして活躍されている川合 史朗さんにお会いしました。川合さんは、Lisp の処理系の一つ Gauche を開発された方(プログラミングGaucheを監修されています)で、ほかにハッカーと画家 コンピュータ時代の創造者たち(僕が大きく影響を受けた本の一つです)を翻訳されたりもしています。そして、なんと役者もされていて、公演を数日後にひかえて練習に忙しいというなかで、わざわざ時間を取っていただいてハワイのフリーランス事情などを聞かせていただきました。(Kumu Kahua Theatreにお芝居の案内があります)


「なぜ Gauche なのですか?」と聞いたら「Gauche なら自由に天井を超えられるから」という言葉が印象的でした。好きなことで飯を食う、というフリーランスのあるべき姿のひとつだなあと思い僕のロールモデルのひとつに加えたのでした。


さてさて、その後は旅行モードに。


010709_sany0041mp4.jpg


ノースショアまでドライブ、絶好のサーフポイントと言われている sunset beach に行きました。波が高く、写真のその後は、ジーンズがびしょ濡れになるほど波をかぶってしまっています。昼食はマッキーズという屋台で shrimp。ハワイはエビがおいしい、とハワイ通の方に行く前に教わっていた通りでガーリックとバターが効いていてとても美味でした。




010709_sany0051mp4.jpg


帰り道の途中で、Dole Plantationに寄り、巨大迷路に挑戦。写真の通り植え込みが完全に視界が塞がれており、心してかからないと自分がどこにいるのかわからなくなって大変です。子供たちと一緒に1時間以上もさまよい歩きへとへとになってしまいました。ゴールしたあとに食べたパイナップルソフトクリームがなおさらおいしく感じられました。




010709_sany0073mp4-1.jpg


その後、子供たちが楽しみにしていたトイザらスや、僕は cicuit city なんかをのぞいたあと、ホテルの近くのタイ料理レストランで遅い夕食。ガーリックと胡椒がきいたソフトシェルクラブは、味は濃いがおいしい。写真は一緒に頼んだカクテルで、ピナコラーダが好きな僕はパイナップルの代わりにマンゴーを使った mango lada というのを注文。うまい!!




ハワイ旅行記(1日目)

正月休みを利用してハワイに行ってきました。


向こうでパソコンを開きネットにつなげてブログを毎日更新、というのもよかったのですが、せっかくの休みなのでほぼ一週間パソコンを触らない生活をしてみました。(おかげで、休み明け、ブラインドタッチの感覚を忘れてしまってます。リハビリが必要か。。。)


写真とともに駆け足で。


010609_dscn0955.jpg


到着してすぐロイヤル・ハワイアン・センターにあるIsland Vintage Coffeeで朝食。飛行機で一睡もできず、不調。妻の頼んだアサイ・ボウル(なんと鉄分をほうれん草の2倍も含んでいるらしい)を少しもらうが、いきなりアメリカサイズのどでかさに圧倒されました。




010609_sany0015mp4.jpg


ワイキキビーチでしばし砂遊びをしたあと昼食。同じロイヤル・ハワイアン・センター内のThe Cheesecake Factory。サンフランシスコで行ったことがあったので多少予想してはいたのですが、量が多い、多すぎます。定番のロコモコとピザを頼んだのですが、家族4人では到底食べきれず。。。早くも懐かしきアメリカの食事にげんなり気味。




010609_dscn0962.jpg


午後はショッピング。夕方、パック旅行のサービスのリムジンでホテルに向かい、チェックイン。その後、夕日を見に行こう、ということで Hilton Hawaiian Village まで散歩。途中のだだっ広い公園を家族で一人占め。写真はフリスビーを思いっきりぶん投げているところ。こういうところは「アメリカはいいなあ」と思わせてくれる。




010609_dscn0966.jpg


Village はまさにリゾートという感じで、いい感じ。ビーチから夕日を眺めました。さすが、とても綺麗でした。帰る途中で、早くも次男が眠りについてしまいました。というわけで外食することなく、ホテルでカップラーメンという寂しい夕食。一日目は時差がきついです。へとへと。




autotest + growl で楽々テスト

もっと早くからやっておけばよかったです。


autotest を使うと Rails でのテスト実行が格段に楽になります。コードを編集しファイルを保存した瞬間、テストを自動実行してくれるので、いちいち開発 <-> テストの各作業の切り替えが必要なく、開発している間中ずっと裏でテストを実行し続けてくれるのです。


さらに mac だと growl と連携できるため、いちいち autotest を実行しているコンソールを開く必要がなく、さらに快適。


以下の情報源を参考にさせていただいたのですが、本日(2008/12/10)時点での各アプリケーションのバージョンの違いや環境の違いからか、そのままではうまく動かないところがありました。メモ代わりに自分の環境でおこなった手順を書き留めておきます。


参考にした情報源



autotest をインストール・設定



sudo gem install ZenTest


でインストールできます。



sudo cp /Library/Ruby/Gems/1.8/gems/ZenTest-3.11.0/example_dot_autotest.rb RAILS_ROOT/.autotest


で、設定ファイルのひな形をRailsアプリケーションのルートフォルダ以下にコピーし、以下のように編集します。



.

.

# require 'autotest/rcov'

require 'autotest/redgreen' <== コメントアウトをはずす

# require 'autotest/restart'

.

.


Growl と連携させる


Growlのページより Growl 1.1.4 をダウンロードします。(Growl がインストールされていなければインストール)


以下の手順で、growlnotify をインストールします。



% cd /Volumes/Growl-1.1.4/Extras/growlnotify

% sudo ./install.sh


次に Growl の設定。Growl の環境設定を開き、以下のように「受信される通知を聞く」と「リモートアプリケーション登録を許可」のチェックを入れておきます。


growl-1.png


表示オプションも次のように変更して、見やすくしておきます。


growl-2.png


このあたりの設定は、


» テストはとことん自動で楽しく...。 - ザリガニが見ていた...。


で書かれているとおりそのままなのですが、「Mac OSX 10.5 Leopardでgrowlnotifyを利用する為に」の手順は飛ばしても私の環境ではうまく動きました。(後述する growlnotify の -H localhost オプションを追加したことが関係するのかもしれません)


通知メッセージとともに表示するアイコンの画像を用意します。



% mkdir ~/.autotest_icons

% cd ~/.autotest_icons

% wget http://blog.internautdesign.com/files/rails_ok.png

% wget http://blog.internautdesign.com/files/rails_fail.png


autotest の設定にもどり、RAILS_ROOT/.autotest の最後に以下を追加します。



この部分も基本的には、


» テストはとことん自動で楽しく...。 - ザリガニが見ていた...。


を参考にしたのですが、4行目の部分が以下のままだと、autotest を実行しても、通知が来たり来なかったりと不安定でした。



system "growlnotify -n autotest --image #{img} -p #{pri} -m #{msg.inspect} #{title} #{sticky}"


» growlとautotestを連携させる - Hello, world! - s21g


を参考にして、-H localhost(赤字部分)を追加したところ、ちゃんと通知されるようになりました。



system "growlnotify -n autotest -H localhost --image #{img} -p #{pri} -m #{msg.inspect} #{title} #{sticky}"


以上で設定終了。



% cd RAILS_ROOT

% autotest


で autotest を実行すれば、テストがおこなわれるたびに結果が Growl で通知されるようになります。


Mac のメニューバーに時刻だけでなく日付も表示する

Macbook Air を修理にだしたら、ハードディスクの内容が全クリアされて戻ってきた。


戻ってきたのが2週間前。修理前にインストールされていたアプリケーションは必要になったら入れる、気づいたら設定を変更する、といった具合に気長に修理前の環境に戻す作業をおこなっているのだが、これもそのうちの一つ。また壊れてしまったときのためにメモしておく。


やることは、


» Macのメニューバーに日付を表示させる方法 - 頭ん中


そのまま。


systemuiserver.png


OS が最新だからなのか、なぜか曜日が先頭に表示されていてちょっとかっこ悪いのだが、さして支障はないのでこのまま。


できたら、こんな小細工をしないでも、日付は最初から表示しておいてほしいものだ。


あと、まわりで Mac を使っている人からは結構「修理にだした」という話は聞く。以前使っていた Let's Note はまったく壊れなかった。やっぱりハードは「Made in Japan」に限るのかもしれない。


以前アメリカに住んでいたときは、日本車に乗るのもなんなので、VW New Beetle を新車で購入し乗っていたが、保証期間の2年を過ぎたあたりからあちこちしょっちゅう壊れていた。


Mac を使うなら、「かっこいいけれど壊れるリスクも考慮にいれる」という外車に乗るのと同じ感覚を持つ必要があるのかも。またいつ壊れてもいいように Time Capsule 買うつもり。


11月はアカデミーヒルズのカフェ貸切が多い

久しぶりにアカデミーヒルズに行こうかなと思ったら、今週・来週はほぼ毎日のように40階か49階のどちらかが貸し切られている。


cafe.png


なのだそうだ。


カフェ貸切時間を Google Calendar に表示するようにしているので、こんなとき非常に助かる。どこが空いているかが一目瞭然。


calendar.png

↑ 紫がカフェ貸切時間。来週、結構うまっている。


アカデミーヒルズのカフェ貸切時間を表示しているページを ical フォーマットに変換している。


» アカデミーヒルズのカフェ貸切時間を Google Calendar に表示 : 僕は発展途上技術者


ウェブのサービスやツールをいろいろと作ってきたけど、「ないと困るなあ」と思えるものは結局こういう自分の生活と非常に密着したツールなんだなあ、と実感した。


データ元のページで貸切時間の時刻や日付の表記が変わったり、新しい表記が追加されたりするのだが、自分がいつも使っていてきちんと表示されないと困るので、地味に修正を加えてその都度対応するようにしている。


クックパッド * 百式 コミュニティ運営に関する勉強会で学んだこと

IDEA * IDEA で募集がおこなわれていたカジュアルな勉強会に応募して行ってきました。テーマは「コミュニティ運営」。


» コミュニティビジネスについて勉強した | IDEA*IDEA


クックパッドにはまったくおよびもつかないのですが、僕も Ruby on Rails で「あとで行く」や最近リリースしたばかりの「ピクイズ」といったサービスを運営しています。月間2億PVを超え、Ruby on Rails で運用しているサイトとしてはおそらく国内最大サービスの秘訣を聞いて、少しでも参考にしようと思ったのです。


が、しかし。。。集まった参加者からのコミュニティ運営に関する質問に、クックパッド CEO の佐野さんが答えていくという形で勉強会は進められたのですが、その答えの多くは良い意味で僕の(そしておそらく参加者の多くの)予想を裏切ってくれたのでした。


コミュニティサイトをクックパッドレベルまでの成功に持っていくためには、ユーザーを増やし、PV をどんどんあげて、広告収入で儲けるというのが一般にイメージされる図式だと思います。参加者からの質問の多くはそうした視点のものでしたし、僕が挙げた質問も、「サイトを見てもらうだけじゃなくコンテンツを作ってもらう秘訣は何ですか?」とか「ユーザーからの機能要望に対してはどうしていますか?」というように、


「サイトのコンテンツを充実させる」 or 「良い機能をどんどん追加する」 => ユーザーがたくさん来るようになる => PVアップ => 収益化


を意識した質問でした。


ところが佐野さんは、そうした「一般的にはこうだよねえ」と思われる考え方とは異なる逆説的な考えを披露してくださいました。面白いなあと感じた点をいくつか挙げてみます。


「コミュニティ」という言葉が嫌い


勉強会のテーマが「コミュニティ運営」であるにもかかわらず、のっけからこの言葉。


「コミュニティ」と言うと、人を同じ場所にどんどん集めて、その集まりを大きくしていくというイメージがあります。でも、人が一箇所に集まり、互いの距離が近過ぎてしまうと、トラブルが頻発するようになるし不快にもなってきちゃいます。馴れ合いが起こったり、元々その場所にいた人と新しく来た人との摩擦が起こったり。


「使っている人の満足度を第一に考えている」と佐野さんは何度となく口にしていましたが、ユーザー同士の距離には快適と思える距離があって、その距離を保てるようなサイト設計を心がけているのだそうです。具体的には、あえてたくさんクリックしないとたどりつけないようになっていたりだとか、コメントに文字数制限を設けたりだとか。。


あえて不便にするような方法を取るということに驚いたのですが、もっと驚いたのはこうしたことをサービス開始当初(10年前!!)から考えていたのだとか。すごいなあと思いました。


アクセス数を増やすことが目的ではない


佐野さんの口から繰り返し出てくるのは、「料理を楽しくする」とか「ユーザーの満足度が大事」という言葉。「アクセス数を増やす」「ユーザー数を増やす」ことが目的ではない、と何度も口にするのです。


ユーザーが増え、アクセス数が伸びてきて、サーバーの許容能力を超えてくると、レスポンスが悪くなってしまいユーザーの満足度が減ってしまいます。だからサーバーリソースが追いついていないときには、ユーザー数が増えすぎてしまうのは困りものなのだそうです。


ユーザーがサイトを見たいと思ったときにちゃんと見られるようになっているのか、いらいらすることなくサッと見られるようになっているのか、ということをいつも気にしているのだそうです。「アクセスの先に生活感を感じている」とおっしゃっていました。


アクセス解析で見る指標として、PV(ページビュー)ではなく UU(ユニークユーザー)を重視している。なぜかという問いに対して、「人に対してサービスを展開しているので」という言葉が印象的でした。


エンジニアに求めるものは技術力じゃない


エンジニアの僕にはこの言葉が一番印象に残りました。


この言葉に込められていたのは、もちろん技術力も大事だけど、「使ってくれる人のことを考えてものを作るこころが一番大事」だということなんじゃないかなあ。


佐野さんが挙げた例なのですが、たとえば「幼稚園の送り迎えを快適にする」というサービスがあったら、その目的を達成できるサービスをちゃんと作れることが大事だ、と言います。


このとき、エンジニアに必要なのは、高度なアルゴリズムを使う能力でも Javascript をばりばり使いこなす能力でもあるいは効率的で綺麗なコードを書く能力でもなく、送り迎えする人の立場に立ってわかろうとする気持ちだったり、あるいは自分自身が送り迎えをするという体験なんだと思います。


懇親会のときにクックパッドのエンジニアに話を聞きました。少人数であるにも関わらず、億を超える PV をさばき、それだけのユーザーに満足してもらえるクオリティの機能を提供しているのだから、皆それぞれかなり高いレベルの技術力を持っているはずです。でも、それと同時にみんなが料理することが好きで得意だ、ということを聞いてハッとしたのでした。


「コードばっかり書いていちゃ良い技術者になれない」


のだ、と。


Rails を開発した David Heinemeier Hansson 氏が、「Rails で高めた生産性で稼いだ余剰時間を、さらにプログラミングに費やすのではなく、他のことのために使おう」といったことを言っています。


» Ruby on Railsの作者より:高まった生産性を仕事を余計にこなすためではなく自分の将来に向けて使おう - himazu blog より


勉強会の日の数日前に読んだエントリーだったのですが、それがそのとき思い出されたのです。


料理をしたり、絵を描いたり、スポーツをしたり、英語以外の言語を学んだり。。。とプログラミング以外のことをすることで、新しいサービスのアイデアが浮かんでくるかもしれないし、新しい方法を考えついてそれをプログラミングにも適用できるかもしれない。人間力といったらいいのか、それを高めることが大切だということを実感したのでした。


まとめ


「コミュニティ運営」について学んだのはもちろん、「みんなはこう言っているけど、ほんとうにそうなの?実は違うんじゃないの?」というスタンスを持つことの大切さ、最後にはエンジニアとしてあり方みたいなことも気づかされた大変充実した勉強会でした。


佐野さん、百式管理人、それに懇親会でお話を聞かせていただいた参加者の皆さん、クックパッドの方々(おいしいお料理もいただきました)に感謝です。


以下、参加者の方々のエントリーです。


» F's Garage:コミュニティビジネスに大事なたった一つのこと


» 2008-11-01 - satake7’s memo


» watchpad.jp 開発チームブログ» ブログアーカイブ » 百式|COOKPADの勉強会に参加


» 百式 カジュアルな勉強会 コミュニティ運営に行ってきた | 芸人社長のブログ


» 月間 2.8 億 pv!クックパッドの運営ノウハウについて聞いてきた - 19790401173.4


» Cookpad でコミュニティについて勉強してきました (ラボブログ)


TextMateで全角スペースをハイライトする方法

Ruby on Rails の開発に、TextMateを使っています。


一見バグがないように見えるのにどうしてもプログラムが動かない、よく調べてみたら、コードの中に全角スペースが入り込んでしまっていた、ということが良くあったので、それを TextMate 上で阻止する方法を調べてみました。


TextMate はデフォルトでは日本語が入力できないためだと思うのですが(日本語を入力できるようにする方法についてはTextMate を試してみた - yuum3のお仕事日記を参照)、日本人にユーザーが少なく、日本語のまとまった情報が少ない。


以下のエントリーで解説されている「改行前の無意味なスペースをハイライトする方法」を参考にして、全角スペースをハイライトできるようにしたのでその方法を紹介します。


» life.i.think: Trailing Whitespace in Textmate


TextMate のメニューから、Bundles > Bundle Editor > Edit Languages を選びます。


左メニューで Ruby を選択して、下のキャプチャのように適当な場所に invalid.zenkaku-whitespace を定義します。match の中身は全角スペース一個です。


bundle-editor.png


次に、(このウィンドウがなかなかみつけられなかったのですが。。) TextMate > Preferences を選び、Fonts & Colors タブを選択します。


fonts-colors.png


やや左下の方の + アイコンをクリックし、Element を追加、Zenkaku-Whitespace などと名付けたあと、Scope Selector で先ほど定義した invalid.zenkaku-whitespace を選びます。BG(バックグラウンドカラー)は適当に好みの色を選びます。


以上で設定完了。


以下のような感じで、全角スペースが紛れ込んでしまっても一目瞭然です。


environment.png


TextMate は強力なエディターだという話は聞いていましたが、これまでこういった便利機能は駆使しておらず、普通のエディタとしてしか使っていませんでした。これを機会にもっと使いこなしてみたいと思います。


プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Scratchで楽しく学ぶ アート&サイエンスRaspberry Piではじめる どきどきプログラミングを書きました。

オンラインコンテンツ: 大人のためのScratch

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Email: webmaster at champierre dot com

Twitter @jishiha

最近のエントリー

アーカイブ