2006年 6月 の投稿一覧

音楽ファイル移行完了(Windows版iTune -> MacOS版iTune)

意外とあっさり。MacBookのSambaを有効にしてvaio側から「マイミュージック」の中に保存されているiTuneフォルダをMac側のホームディレクトリにコピー。
コピー完了後、MacのiTuneを起動するとhomeディレクトリ内を走査してくれて取り込んでくれる。*1
IMS*2で購入した曲も1度認証すれば問題なく再生できる。一曲につき5台まで認証できる様ですね。

*1:ただし、移動ではなくコピーになるのでiTuneが取り込み終えたら元々のものを削除すれば2重にならない

*2:略し方はこれであっていたか謎だ。

むぁあ〜

帰宅後戸を開ける。

むぁあ〜

うっ、入ったとたんに帰りたくなるくらいの室温。
汗をすぐかいてしまう。夜ではあるがドタバタしつつ、扇風機を組み立てる。
部品が少し余ったが、これは一体どこの部品だったのだろう。。。

ハヤシライス@ミニガスト

ずっとポスターを見ていて気になっていたけど、食べていなかったハヤシライスを注文。
少し水分多めのルーでした。タマネギがシャリシャリ音するし。
自分で作るのが一番いいや。

うーん。

午前中で体力全部使ったなぁ。といった感じがした。
15時すぎたあたりから完全にバテていた。

MacOSX10.4.6 でのphp.iniの位置

全くの初期状態では、

/private/etc/php.ini.default

があるので、これをコピーして編集すればいいんですかね。

リアルタイムなひとこと

昨夜は飲み会でお店を出た後、飲み足らない人が複数名おられたので続きは会社で。だったのだが、気づいたら寝ていた....。
途中からヤバイなぁ。との気配はあったのだが。
飲みすぎはいけません。*1

*1:...と、いままで何度反省したことか。

PHPフレームワーク Ethna

http://ethna.jp/ を参考にしながらEthnaを入れてみる。
何故突如Ethnaか?以下理由。

  1. 名前がかっこいい
  2. PHPフレームワーク=似たようなことを繰り返し書きたくない

前者の理由はともかく*1、後者の理由は以前、突如仕事として行わなければならなくなった際の苦労もあるので使いたかった。

ということで…。

      • -

公式サイトが充実しているのでメモを残す価値も無い気もするが、一応記録として残しておく。

Windowsマシンの方で使っているのがPHP4なので、以下のPEARコマンドで

$ ./pear.bat install http://ethna.jp/pear/Ethna-2.1.2.tgz*2
downloading Ethna-2.1.2.tgz ...
Starting to download Ethna-2.1.2.tgz (104,805 bytes)
........................done: 104,805 bytes
install ok: Ethna 2.1.2

あっさり入る。

  • 依存ライブラリの確認

Ethnaでは下記ライブラリが必要。

私のPCには上記ライブラリは格納済みなので割愛。

  • Ethnaコマンドの設定

上記の入れ方でインストールを行うとPEARフォルダの中にEthnaのバッチファイルが展開される。

  • rwx------+ 1 ******* なし 435 Jun 17 10:39 ethna
  • rwx------+ 1 ******* なし 978 Jun 17 10:39 ethna.bat

アーカイブから入れたときは、展開したアーカイブ内のbinディレクトリの中のファイルを抽出するとのこと。
PEARから入れた場合はいらないのかな。多分。

  • Ethnaコマンドを実行してみる

とりあえず実行。
PEARコマンドがあるディレクトリにはパスが通してあるので、Ethnaコマンドにもパスが入ることになる。

$ ethna

Warning: main(Smarty/Smarty.class.php): failed to open stream: No such file or d
irectory in c:\php\PEAR\pear\Ethna\Ethna.php on line 16
(以下略)

Smartyが見つからないようなので、php.iniを編集。include_pathを書き直す。
そういえば、別のプロジェクトの際の妙な設定が残っていた。Smartyは私の場合、C:\php\lib\smarty に置いているので*3

"PHP.ini"ファイル内
include_path = ".;c:\php\PEAR\pear;C:\php\lib;

これでもう一度実行

$ ./ethna
usage: ethna [option] [command] [args...]

available options are as follows:

-v, --version show version and exit

available commands are as follows:

add-action -> add new action to project:
add-action [action] ([project-base-dir])
(以下省略)

  • 実際に作ってみる

Ethnaのチュートリアルにならってサンプル作成。
自身のホームにtmpディレクトリを作成する。

$ mkdir tmp
$ ls -l
total 0
drwxr-xr-x+ 3 ****** なし 0 Jun 17 11:09 tmp

そのままの階層でプロジェクト作成を行う。
コマンドのusageに従えば、

add-project -> add new project:
add-project [project-id] ([project-base-dir])

ということなので、プロジェクトのIDをethna_sample、ベースディレクトリを先ほど作ったtmpディレクトリに設定。

$ ethna add-project ethna_sample tmp
error occured w/ command [add-project]
-> Only Numeric(0-9) and Alphabetical(A-Z) is allowed for Application Id

うむ、プロジェクト名は英数字のみですか。では、素直にやはり公式サイトのチュートリアルに従って名前をsampleで作成。

$ ethna add-project sample tmp
creating directory (tmp/sample) [y/n]: y
proejct sub directory created [tmp/sample/app]
proejct sub directory created [tmp/sample/app/action]
(途中省略)
file generated [skel.view_test.php -> tmp/sample/skel/skel.view_test.php]
file generated [template.index.tpl -> tmp/sample/template/ja/index.tpl]

project skelton for [sample] is successfully generated at [tmp]

これで一通りのスケルトンは作成されたことになる。
上で作成されたプロジェクトのWebサーバでの公開領域は~/tmp/sample/wwwなので、これを参照できる様にする。
Windowsの場合は、ローカルのWebサーバとしてAnHttpdを使わせていただいているので、この設定を変更する。
(変更は、オプション(0) -> 一般(G) -> ダイアログ内のドキュメントルートを修正)
上記の設定で、見える様になるはず。Webブラウザで閲覧してみると・・・。
f:id:hideack:20060617113659j:image
おぉ、ばっちりだ。

  • アクションを追加する

ここでアクションとはナニですか?となるわけですが、公式サイトを見ると

「アクション」とは何ですか?というのを正確に定義するのはちょっと難しいですが、要するに
1. ユーザから何らかのリクエストを受け取って(例えばURLへのアクセスや、submitボタンのクリック)
2. サーバ側で何らかの処理をして
3. 結果をブラウザに出力する
という一連の処理単位だとお考え下さい。

とのことなので、そういうことにする。*4
アクションを追加するときにはコマンドで "add-action" を指定する。

$ ethna add-action hello
file generated [skel.action.php -> /home/*****/tmp/sample/app/a
ction/Hello.php]
action script(s) successfully created [/home/*****/tmp/sample/app/action/Hello.php]

ふむ。追加された。
と、ここでタイムアップ。続きは後で。

*1:これはこれで非常に重要である。

*2:PHP5の場合はPEARチャンネルを使って入れるらしい。

*3:未だに適切な置き場なのか不明...。

*4:割切重要