rhaco2を学習 その1
2010年01月12日(火) 00:51
- 環境:OSX 10.6.2
- setupにはOSX標準のPHP 5.3.0 (cli)を利用
- 動作環境: MAMP1.8.4のPHP5.2.11を利用
rhaco2をインストールして、ついでにサンプルアプリケーションも導入してみる。
rhaco2のインストールは簡単なんだけど、入力に関するメタ情報がないので補足します。
1.インストーラのダウンロード
まず、setup.phpというものをダウンロードします。これは本家のトップに書いてあるままで良いでしょう。
rhaco2作者がOSXを使っているため、OSXで簡単に入れられるようにcurlで取得するコマンドが書かれています。
curl -LO http://rhaco.googlecode.com/files/setup.php単にURLにブラウザにアクセスして持ってきてもかまいません。
2.インストーラの実行+サンプルアプリケーションのインストール
インストーラを実行しますが、rhaco2のインストールだけを行うという行為は見当たりません。
今から何かを作る、ないしはサンプルアプリのインストールを行うことが前提となっています。
サンプルアプリケーションを全部インストールし、かつ、rhaco2自体はひとつだけいれたいと思います。
2010/01/08の時点では、以下のサンプルアプリケーションがあるようです( http://rhaco.org/docs/app/rhaco.org に一覧がある)。
Sample Applications アプリケーションパス 説明 org.rhaco.sample.calc 簡単な計算アプリ。入力を受け取って、処理をしてテンプレートに出すサンプル。 org.rhaco.sample.hello_world 単にテンプレートをそのまま出力するサンプル。 org.rhaco.sample.hello_xml pathinfoというxmlでURLとflow(アクション的なもの)の関連付けをしているサンプル。XML出力のサンプルではない。 org.rhaco.sample.invoke 指定した処理とその出力を次の処理に渡していくアプリケーションのサンプル org.rhaco.sample.openid openidのサンプル org.rhaco.sample.parse_and_paginate Feed ParserとPaginaterのサンプル org.rhaco.sample.rtextends テンプレート継承のサンプル ここからは、以下のディレクトリ構成にする前提で記述します。
学習用ディレクトリ パス 目的 /Users/makoto/Code/rhaco2std 学習用ディレクトリ /Users/makoto/Code/rhaco2std/core rhaco2のcoreインストールディレクトリ /Users/makoto/Code/rhaco2std/apps MAMP-ApacheのDocumentルート /Users/makoto/Code/rhaco2std/apps/calc サンプル /Users/makoto/Code/rhaco2std/apps/hello_world サンプル /Users/makoto/Code/rhaco2std/apps/hello_xml サンプル /Users/makoto/Code/rhaco2std/apps/invoke サンプル /Users/makoto/Code/rhaco2std/apps/openid サンプル /Users/makoto/Code/rhaco2std/apps/parse_and_paginate サンプル /Users/makoto/Code/rhaco2std/apps/rtextends サンプル a.学習用ディレクトリとMAMP-Apacheのドキュメントルートディレクトリを作成し、MAMPのドキュメントルートを変更します(MAMP→環境設定→Apache→Document Root)。
b.サンプルディレクトリを作成し、各ディレクトリにsetup.phpをコピーします。
setup.phpのある場所を起点としようとする節があるので、すべてのサンプルディレクトリにコピーをします。c.サンプルをインストールします。
各サンプルアプリケーションのディレクトリで、setup.phpを実行します。
最初に聞かれるcoreの場所をrhaco2のcoreインストールディレクトリにします。あとは、変更なしでいいでしょう。
$ php setup.php -install org.rhaco.sample.calc core path[/Users/makoto/Code/rhaco2std/apps/calc/core/]: /Users/makoto/Code/rhaco2std/core install application: application url [http://localhost/calc]: working directory [/Users/makoto/Code/rhaco2std/apps/calc/work/]:インストールするサンプルアプリケーションを変更して、他のサンプルアプリケーションについても サンプルアプリケーションのディレクトリで 同様に実行します。
coreはもし指定したディレクトリに存在すれば二度目からはスルーされるようです。
3.インストールしたサンプルを実行してみる。
ブラウザで http://localhost:8888/ を開くと、サンプルアプリケーションのディレクトリが一覧されます(Apacheのディレクトリインデックスね)。
一覧をポチっとクリックすると各サンプルアプリケーションが実行されます。
続いてサンプルアプリケーションの中身を覗いてみます。
OSXにtreeコマンド入れるメモ
2010年01月08日(金) 22:05
macportsを使いたくない派なので、makeしちゃうよ。
ftp://mama.indstate.edu/linux/tree/
ここから新しいやつ落として、展開して、MakefileのOSX用って書いてあるところをコメントアウトして
$ make $ sudo make install
これだけだよ。
ReSTのcsv-tableスニペット
2010年01月08日(金) 18:51
すぐに忘れるので、TextMateのrestructuredtext用スニペットをメモしておく。
.. csv-table:: ${1:title}
:header: "$2", "$3"
:widths: ${4:15}, ${5:15}
"$6", "$7"
"$8", "$9"
時間制限のある発表を時間通りに終わらせるために
2009年10月25日(日) 01:59
訳合って楽天テクノロジーカンファレンス2009のLT大会をustで見ていたんだけど、意外と時間通りに終わらない人が多かったことを不思議に思ったのです。
「バルス!」みたいなのは、デモとハプニングが肝なのであれでいいと思うんですが、わざわざ準備して発表しにいって、銅鑼が鳴ったのにぶつぶつしゃべり続けてる人って言うイメージを持たれるのももったいないですよね。
で、もしかしたらみんなキーノートの発表者ディスプレイをきちんと使ってないんじゃないか?、という疑いを持ったので、5分の持ち時間でも40分の持ち時間でもぴったり終えることができるw私めがやっている基本的なことを書いておこうと思うのです。
「おめー、しゃべんのがはえーからだよ!」って突っ込みはあると思いますが、私がしゃべる場所にいるのは大抵すごい人たちなので退屈しないように早口なのです。つかこうへいや夢の遊民社の影響ではございません。
「おめー、すげーおーばーしたことあんじゃねーかよ!」って突っ込みもあると思いますが、大いに反省して今のスタイルをとるようになったのです。
「おめー、誰でも知ってんだよ!」って突っ込みもあると思いますが、意外とそうでもないようです。
「おめー、…」…、いじめないでください。
Google Waveクローンをubuntuに入れる
2009年10月18日(日) 19:11
waveの招待がどうとか微妙な盛り上がりを見せている Google Wave ですが、数ヶ月前に クローンというかアレげなやつ が出ていたのを思い出して入れてみました。
VirtualBox上のubuntu9.04に入れたのですが、ちょいと癖があったのと日本語のインストール記述が見当たらなかったのでログを残してみます。
正しく入れられた自信はありませんが、Registerしてログインして複数人でWaveできるところまではできました。
ちなみに本物のGoogle Wave、私は mtsuyukiあっとgooglewave.com です。今のところInvitationもいくつか余ってたりします。
以下、インストールに関する記述。
TextMateでMercurialを使う準備
2009年10月13日(火) 00:00
TextMateのMercurialバンドルについてのメモ
バンドルをとってきて有効にする。
$ mkdir -p /Library/Application\ Support/TextMate/Bundles $ cd !$ $ svn co http://svn.textmate.org/trunk/Bundles/Mercurial.tmbundle/ $ osascript -e 'tell app "TextMate" to reload bundles'
あとは、プロジェクトドロワーでcontrol+shift+Mキーでメニューが起動する。
Djangoにセキュリティホール
2009年10月10日(土) 22:14
セキュリティホールを見つけたときのルールを破ってセキュリティホールが明らかにされてしまったようです。
緊急にセキュリティホールFIX版がリリースされていますので、運用されている方はバージョンアップをすべきです。
特に、危険な箇所を使っている人は急いだ方が良いでしょう。
FriendFeedからTornadoがやってきた
2009年09月12日(土) 00:38
Django以来、久しぶりにまがい物な香りのしないPythonのプロダクトに少し興奮気味です。
FriendFeedで使われているらしいノンブロッキングなWebサーバーといくつかのモジュールがFacebookから公開されました(実際は公開用にリファクタリングされたもの)。
少し書き方は気に喰いませんが、なんだか楽しそうです。まだよく見ていないので、実際のところはどうなのかは不明です。 ただし、以上なアクセスになっているであろう FriendFeed (これまたあまり興味が無く登録しただけで放置しています)をさばいていることやDjangoとのベンチマークを見てもパフォーマンスが優れていることは容易に想像できます。
軽いWebServerのnginxやWSGI(つまりGoogle App Engineでも)動作するようなので、Python界はしばらくこのネタでいくことでしょう。
今週末は忙しいので、シルバーウィークにでも見てみるかなぁ。既に乗り遅れるが気にしない。
以下、重要なリンク
