Mac OS X Leopard上に作る快適なRuby on Rails開発環境

Developing Rails Applications on Mac OS X Leopardという記事がありました。Leopard上でRuby on Rails 2.0を使った開発を行うためのチュートリアルです。今後、以下の内容が順次公開されるようです。

  1. Xcode 3.0を使ってRESTfulなRailsアプリケーションを開発する方法
  2. AJAXとiPhoneインタフェースのサポート
  3. バージョン管理とCapistranoを使ったLeopardサーバへのデプロイ

現時点(2008.3.7)では「1.Xcode 3.0を使ってRESTfulなRailsアプリケーションを開発する方法」が公開されています。

恥ずかしながらXcodeをRailsの開発に使えることを知らなかったので、Leopard上に開発環境を構築する上で非常に参考になりました。せっかくなので簡単にまとめておきます。

関連プログラムのインストール

$ sudo gem update --system
$ sudo gem install rails
$ sudo gem update rake
$ sudo gem update sqlite3-ruby
現時点でインストールされるRailsは2.0.2です。チュートリアルも2.0.2をベースに書かれています。

Leopardではデフォルトでインストールされているgemは/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8に、新しくインストールするgemは/Library/Ruby/Gems/1.8へ格納されます。

Xcodeのインストール

XcodeはApple Developer Connectionに登録しないとダウンロードできず少し面倒ですが、CreativeStyle - Mac OS X(Leopard)にXcodeをインストールなどを参考にXcode 3.0をインストールしてください。

XcodeにRailsのプロジェクトを登録する

ここでは、対象となるRailsのプロジェクト名を記事に倣いexpensesとします。ターミナルから以下のようにしてプロジェクトを作成します。

$ rails expenses
すると、expensesというディレクトリ配下にファイルが作成されます。

Railsで開発する場合、expenses配下のファイルへ頻繁にアクセスすることになります。このため、ここへのアクセスのしやすさはとても重要ですが、Xcodeのオーガナイザを使えば容易にアクセス可能になります。expensesをオーガナイザへ登録してみましょう。

  1. Xcodeを起動しメニューからウィンドウ > オーガナイザを選択すると、中身が空のオーガナイザウィンドゥが開きます
  2. ファインダからexpensesディレクトリ(Railsのプロジェクトディレクトリ) をオーガナイザウィンドゥへドラッグ
  3. 先頭の参画をクリックするとexpensesディレクトリ配下の一覧が表示されます
  4. app/controllersディレクトリを開きapplication.rbを選択
  5. 画面下の四角のアイコンをクリックするとテキストエディタペインが現われます(以下がその画面イメージです) 200803070700
Xcodeのテキストエディタはシンタクスカラーリングやコードの折り畳みをサポートしているなど、なかなか高機能です。

オーガナイザからscript/serverを起動する

Railsではscript/serverでサーバ起動することができますが、ターミナルからコマンド入力せずにオーガナイザから起動するように設定できます。

  1. ディレクトリツリー先頭のexpensesを選択
  2. ツールバーの「実行」をクリックすると以下のウインドゥが開きます 200803070814-1
  3. 「+」アイコンをクリックし「新規シェルスクリプト」を選択。リストに追加された「シェルスクリプト」をダブルクリックして「サーバの起動」に変更
  4. ディレクトリツリーでexpensesを選択していることを確認し、右側の「ディレクトリ選択」ドロップダウンリストから「最上位のオーガナイザ項目」を選択
  5. 「コマンド」のフィールドへ「script/server」を入力し、「引数」のフィールドを空に。この時点の画面はこんな感じです 200803070833
  6. 「OK」ボタンをクリックし保存
  7. オーガナイザウィンドゥに戻り「実行」ボタンを押し、先程作成した「サーバの起動」スクリプトを実行します 200803070836
  8. 確認のためWebブラウザでhttp://localhost:3000/へアクセスすると、デフォルトのトップページが表示されました。 200803070842

オーガナイザからRakeタスクを実行する

ここまでの設定だけで、オーガナイザからRakeタスクを実行することができます。オーガナイザの「アクション」アイコンを長押ししてみてください。以下のようにRakeのタスク一覧が表示されます。

200803071020

一覧から例えばdb:migrateなどを選択してみます。以下のようなウィンドゥが開き、実行結果を参照することができます。

200803070852

いかがでしょう。Xcodeを使った開発環境はシンプルで、結構イケてると思いませんか? 個人的にはTextMateを使いたいと思っていたのですが、現時点では日本語の扱いが不自由なので、しばらくXcodeを使いこんでみたいと思います。

さて、ここまでXcode関連の話題のみ書いてきましたが、元ネタのDeveloping Rails Applications on Mac OS X Leopardはとてもわかりやすい良いチュートリアルだと思いますので、Leopard上でRailsの開発を始めたい方は読んでみると良いと思います。

| | コメント (61)

CotEditorを使ってRubyのコードを簡単にHTMLへ変換する方法

image Blog用に手軽にコードを引用したかったのでMac用のテキストエディタCotEditorからrb2htmlを呼び出すスクリプトを書いてみたら、なかなか良い感じだったのでご紹介。

まずは準備です。

  1. rb2htmlをインストールする
  2. 下にあるスクリプトを~/Library/Application Support/CotEditor/ScriptMenu/配下のどこかへrb2html.rbというファイル名で保存する
  3. rb2html.rbへ実行権を与える(ターミナルからchmod +xする)
  4. CotEditorのメニューからスクリプトメニューを更新する
rb2html.rb
#!/usr/bin/env ruby -Ku
#%%%{CotEditorXInput=Selection}%%%
#%%%{CotEditorXOutput=Pasteboard}%%%

require 'rb2html/factory'

f = Rb2HTML::Factory.get_formatter 'ruby'
print f.format_code( ARGF )

exit

使い方は簡単。CotEditor上で引用したい部分を選択し、スクリプトメニューからrb2htmlを選択します。すると、クリップボードの中に整形されたHTMLが入ります。あとは、ブログエディタなりWebフォームなり、お好きなところペーストしてご利用ください。

rb2htmlは以下の言語に対応していますので、上記のrb2html.rbを少しいじれば他の言語でも同じように使えますよ。

  • Ruby
  • Java
  • JavaScript
  • C/C++/Objective-C
  • Python
  • Haskell
  • HTML/XML
  • CSS

なお、キーワードやリテラルをハイライト表示するためには、別途、スタイルシートを定義しておく必要がありますので、ご注意の程を。

| | コメント (0)

「いまそこにある」不便を解消する

先日、息子用にバッグを買おうとWebを検索したときに困ったことがありました。欲しかったのはこういう感じのものです。

Nike

まず困ったのが、商品名自体がわからなかったこと。さすがのGoogleも私の頭を検索してキーワードを教えてはくれません。

このため、スポーツグッズを扱っているサイトをいくつかまわり、エナメルショルダー(バッグ)で検索すれば良さそうだというあたりをつけました。

次に困ったのが、どういうメーカーがどういうデザインのものを出していて、価格はどれぐらい?といった相場観をどうやって得れば良いのかということ。これについても、複数のサイトをめぐり、なんとか把握できました。

相場観を把握したところで、実際の商品選びです。エナメルショルダー(バッグ)を使うのは息子ですので、価格よりもデザインの好みが選定の最重点要素になります。

このため、様々なデザインのバッグをまとめて参照し、比較・検討したいところですが、これが難しい。

今回は楽天市場に入っているショップをいくつか調べたのですが、ショップにより扱っているメーカーが違ったり、扱っている商品の種類にバラツキがあったりなど、とても全デザインを俯瞰して選ぶことなんてできそうにありませんでした。(これは楽天市場が悪いわけではありません。念のため)

このようなわけで、Webを2〜3時間も彷徨ったにも関わらず、まだ、どのバッグを買うか決めかねている状況です。

昔、読んだ企画術の教科書という本にアイデアの発想方として自分の「行動」を観るという手法が紹介されていました。

特に今回のように実際に自分が体験した不便さと自分の行動を観察し、それをベースにして新しいサービスを考えるのは有効ですね。

だって、上に書いた自分の行動を見直しているだけで、いくつものサービスのアイデアがでてくるじゃないですか。

新しいサービスを検討する場合、仮説ベースで想像したものより、そこにある実際の不便を解消するものの方が明かに強いということでしょう。なにしろ、絶対にそれを喜ぶ人が最低でも1人はいるわけですしね。

企画術の教科書
企画術の教科書
posted with amazlet on 08.02.27
古舘プロジェクト編-アングル-
インデックス・コミュニケーションズ (2007/07/21)
売り上げランキング: 122520

| | コメント (0)

Flex SDKでのAIRアプリ開発に便利なAirake

IMG_1660

Flex SDKを使ってAIRアプリケーションを開発する場合、MXMLやADFを書いたり、swf生成のためコンパイルしたりなど面倒な作業が多いですが、これらをrakeのタスクにしてくれるAirakeというツールがあります。

gemでインストールしたあとは、

 airake test
とするとAirプロジェクトが生成されます。(testの部分はプロジェクト名を指定します)プロジェクトディレクトリ配下はこんな感じ。
total 24
-rw-r--r--  1 hitoshi  hitoshi  1636  2 18 17:41 README
-rw-r--r--  1 hitoshi  hitoshi   400  2 18 17:41 Rakefile
-rw-r--r--  1 hitoshi  hitoshi   320  2 18 17:41 airake.yml
drwxr-xr-x  2 hitoshi  hitoshi    68  2 18 17:41 bin
drwxr-xr-x  4 hitoshi  hitoshi   136  2 18 17:41 lib
drwxr-xr-x  4 hitoshi  hitoshi   136  2 18 17:41 script
drwxr-xr-x  5 hitoshi  hitoshi   170  2 18 17:42 src
drwxr-xr-x  5 hitoshi  hitoshi   170  2 18 17:41 test

./bin:

./lib:
total 1312
-rw-r--r--  1 hitoshi  hitoshi   75590  2 18 17:41 corelib-08.30.2007.swc
-rw-r--r--  1 hitoshi  hitoshi  591574  2 18 17:41 flexunit-08.30.2007.swc

./script:
total 16
-rwxr-xr-x  1 hitoshi  hitoshi  349  2 18 17:41 destroy
-rwxr-xr-x  1 hitoshi  hitoshi  351  2 18 17:41 generate

./src:
total 16
-rw-r--r--  1 hitoshi  hitoshi  1722  2 18 17:41 Test-app.xml
-rw-r--r--  1 hitoshi  hitoshi  1058  2 18 17:41 Test.mxml
drwxr-xr-x  3 hitoshi  hitoshi   102  2 18 17:41 assets

./src/assets:
total 0
drwxr-xr-x  4 hitoshi  hitoshi  136  2 18 17:41 app_icons

./src/assets/app_icons:
total 48
-rw-r--r--  1 hitoshi  hitoshi    673  2 18 17:41 MouseRunnerDotComGraphicsLicense.txt
-rw-r--r--  1 hitoshi  hitoshi  16909  2 18 17:41 icon_128.png

./test:
total 16
-rw-r--r--  1 hitoshi  hitoshi  1699  2 18 17:41 Test-app.xml
-rw-r--r--  1 hitoshi  hitoshi  1012  2 18 17:41 Test.mxml
drwxr-xr-x  3 hitoshi  hitoshi   102  2 18 17:41 suite

./test/suite:
total 8
-rw-r--r--  1 hitoshi  hitoshi  321  2 18 17:41 AllTests.as
 rake air:adl
とするとコンパイルと実行を。
 rake air:package
とするとパッケージ作成までしてくれます。また、
 rake air:test
とするとFlexUnitというFlexとActionScript 3.0アプリケーションのテストフレームワークを使ったテストまでできるようです。

あまり情報が多くないため詳細な機能まではフォローできていませんが、しばらく使ってみて、わかったことがあれば、またエントリを書きたいと思います。

| | コメント (0) | トラックバック (0)

はじめは人が習慣をつくり、それから習慣が人をつくる

このエントリのタイトルは3週間続ければ一生が変わる―あなたを変える101の英知という本の中にあるイギリス人の詩人、ジョン・ドライデンの言葉です。

2006年刊行のやや古い本ですが、最近再読し、この本は一度読んで終りではなく、何度も繰り返し開き、自分の習慣や行動についての振り返りに使う本なのだと理解しました。

本書はサブタイトル「あなたを変える101の英知」の通り、自分の習慣を作るための101のポイントについて、それぞれ4〜5ページ使って説明しているのですが、目次自体、チェックリストとして役立ちます。以下、引用します。

「できない自分」から行動型人間へー行動力
1 天職を見つける
2 考えているより実行する
3 最初の二十一日間を乗りきる
4 小さなことを考えない
5 好敵手を選ぶ
6 具体的で明確な目標を設定する
7 “問題”を前向きに再構成する
8 もっとリスクを負う
9 慣習と反対の道を行く
10 逆境を受け入れる
11 トラブルを偉大な教師と見なす
12 変えられないことを心配しない

「時間のムダづかい」から有効活用ー時間管理
13 日の出とともに起きる
14 一時間早く起きてみる
15 一日のはじめに“プラチナの三十分”をもつ
16 一日二十分、瞑想タイムをつくる
17 通勤時間を“移動大学”にする
18 時間を価値あるものに集中して使う
19 時間を効率的に管理する
20 睡眠時間をけずる
21 孤独になれる時間を確保する
22 腕時計をしないで一日を過ごしてみる
23 毎週、安息日をもうける
24 「心配休憩」をとる

「弱気な自分」から一歩前に出る自分へーポジティブ思考
25 日記ではなく、日誌をつける
26 あやまちから得た恩恵を書きだす
27 問題をリストアップする
28 弱点を自覚する
29 “理想の隣人リスト”をつくる
30 自分専用の“理事会”を招集する
31 「愛のむち」を実践する
32 心が元気になるマントラを唱える
33 英知を与えてくれる本を読む
34 「集中的な読書」をする
35 心を奮いたたせる引用句を集める

「不満・くすぶり」から能力開花へー自己実現
36 眠っている才能を揺り起こす
37 仕事を愛する
38 自分の仕事にもっと高い価値を見いだす
39 いま以上に自分の価値を高める
40 いちばんなりたい人物のようにふるまう
41 「ヒーロー・リスト」をつくる
42 「ゴール・カード」を持ち歩く
43 個人コーチにつく
44 話し方コースをとる
45 マスターマインド同盟を築く

「気分屋」から意識的な生き方へー意識改革
46 視点を変えつづける
47 正直という哲学を身につける
48 失敗する勇気をもつ
49 気分を乗り越える
50 インスピレーションを重んじる
51 本能に耳をすます
52 謙虚になる
53 「日々の行動規範」をつくる
54 報酬だけでなく、プロセスを楽しむ
55 お金を使うときに感謝する

悪いストレスから心身のリフレッシュへー癒しと健康
56 朝、新鮮なフルーツ・ジュースを飲む
57 もっと笑う
58 体という寺院を大切にする
59 「ニュース断ち」をする
60 沈黙の誓いをたてる
61 鳴った電話のすべてには出ない
62 魂のためのリクリエーションを大切にする
63 人を許して重荷をおろす
64 思考に向く環境をととのえる
65 “やすらぎの場所”を見つける

とめどない忙しさから心の豊かさへー発想力
66 ミニ・バケーションをとる
67 自然とまじわる
68 森の中を歩く
69 散歩をするときは目的をもたない
70 つねに本を持ち歩く
71 すべての本を読み終えなくてもよい
72 創造性を刺激する本を読む
73 『モリー先生との火曜日』はぜひ読む
74 音楽の力を享受する
75 ささやかなものを楽しむ
76 もっと写真を撮る

「つきあいべた」から積極的な人脈づくりへー人間関係
77 知らない人に思いやりを示す
78 「愛の口座」に預金する
79 相手を理解し、大切にし、尊敬する
80 きき上手・頼み上手になる
81 いらだちをコントロールする
82 いさぎよく「ノー」という
83 他人のせいにしない
84 “お礼のカード”を常備する
85 三人の親友を見つける
86 いい映画から学ぶ

「仕事人間」から賢い家庭人へー家族愛
87 わが子に楽しい時間をプレゼントする
88 いい親になる技術をみがく
89 家族で食事をとる
90 帰宅する前にリラックスする
91 子どもを手本にする
92 記念日に木を植える

無目的人生から「実りの人生へ」ー目標実現型人生
93 自分から運命を引き寄せる
94 冒険心を取りもどす
95 ライフ・ストーリーを書き直す
96 遺産記述書をつくる
97 喜んでほかの人を手助けする
98 無私無欲で奉仕する
99 一日を一生と見なす
100 今日を最期の日のように生きる
101 自分の人生に目標をかかげる 

目次の73にある『モリー先生との火曜日』も良い本なので、興味があれば合わせてどうぞ。目次の93〜101の内容がさらに心に染みてくると思います。

3週間続ければ一生が変わる―あなたを変える101の英知
ロビン シャーマ Robin S. Sharma 北澤 和彦
海竜社 (2006/02)
売り上げランキング: 3952
おすすめ度の平均: 4.0
5 シンプルで賢い生き方が自然にできる
5 読みやすい
4 何度も読み返す必要がある本
3週間続ければ一生が変わる (Part2)
ロビン・シャーマ 北沢 和彦
海竜社 (2007/03)
売り上げランキング: 36371
おすすめ度の平均: 4.0
4 正統派の自己啓発書
4 栄養ドリンク
4 最高の自分になるために・・・
普及版 モリー先生との火曜日
ミッチ・アルボム 別宮 貞徳
NHK出版 (2004/11/21)
売り上げランキング: 3605
おすすめ度の平均: 5.0
4 素敵な話だと思う。でも人工呼吸器をつけた豊かな生という選択もあったはず。
5 人は皆死ぬ
5 素敵なことば

このエントリを書きながら知ったのですが、昨年Part2も出ていたんですね。さっそくクリックしておきました。書かなければ知らないままだったわけで、やはり行動力重要ということですかね(^^)

| | コメント (0) | トラックバック (0)

«BtoBのSaaSに適した業務を考えるヒント