php,ruby,MySQLリファレンスを印刷してみる
さくらのレンタルサーバでRuby on Railsする
- TELNETでログインしたら
telnet hoge.sakura.ne.jp
- これで自分の$HOMEに自前rubyをインストールするよ
cd $HOME/local/src wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz tar xzf ruby-1.8.6.tar.gz cd ruby-1.8.6 ./configure --prefix=$HOME/local make make install
- 次は$PATHを通そう
- 自分の$HOMEディレクトリにある .profile ファイルに次の1行を付け加える
PATH=$HOME/local/bin:$PATH
- .profileはシェルにログインしたときにしか実行されないから、今すぐ.profileを有効にしよう
cd $HOME source .profile
cd $HOME/local/src wget http://rubyforge.org/frs/download.php/17190/rubygems-0.9.2.tgz tar xzf rubygems-0.9.2.tgz cd rubygems-0.9.2 ruby setup.rb
gem install --remote rails --include-dependencies gem install --remote mysql
- できたよー
- と思ったらなんか出てきた。とりあえずrubyだから3にしとこう(大丈夫か?)
[reela@www246 ~]$ gem install mysql Select which gem to install for your platform (i386-freebsd6.1) 1. mysql 2.7.3 (mswin32) 2. mysql 2.7.1 (mswin32) 3. mysql 2.7 (ruby) 4. mysql 2.6 (ruby) 5. Skip this gem 6. Cancel installation > 3 Building native extensions. This could take a while... Successfully installed mysql-2.7
- インストールできたみたい
- これで環境はそろったはず!
iPhotoの写真やiTunesのライブラリをNAS上に置いて共有する
- うちには3冊のMacBookがあるけど、iTunesライブラリはバラバラ*1
- Apple純正の「音楽を共有」「写真を共有」は、ホストマシンの電源がついていないと不可能。うちみたいなノート主体のネットワークには向いていない
- 幸いうちにはTime Capsuleがあるから、ここにライブラリをおいとこう
追記:以下はMacOSX10.4.11 Tigerの情報
とりあえずiTunesから
- iTunesはライブラリの場所を環境設定からいじれるのさ
- "詳細"タブからNAS上に作ったiTunes Libraryを選択しよう
- "ファイル"-"ライブラリ"-"ライブラリを統合"でマシン上の音楽ファイルがNASにコピーされる
- 終わったらいったんiTunes終了して、"Option"キーを押しながらiTunesを起動するとこんなダイアログがでてくる
- "ライブラリを選択"でNAS上のライブラリファイルを指定してやる
- これで音楽ファイルだけじゃなくてライブラリも共有できるようになった
- これをすべてのマシンで繰り返すだけだよ
おつぎはiPhoto
*1:家族の音楽の趣味がそもそもバラバラなのです
phpMyAdminよりも16倍かっこよくMySQLデータベースをブラウザから管理する
- 高機能だけど重くてモサいphpMyAdmin、これに取って代わるものはないのかと探していたら見つかった
- その名も"SQL Buddy"だよ
- Ajaxを駆使してるから画面遷移が数倍早いし、なによりもかっこいいんだ
- かっこいいのってけっこう重要
- ショートカットも使えるよ
- 特にどの画面からでも"Q"キーでMySQLクエリを素早く発行できるのは、細かくデータベースの中をいじくりたいときにとても便利
- これさえあればターミナルいらないね
- でも複雑なJOINをしたときの挙動とかは不安定なので、そっちはphpMyAdminの担当で
pearのXML_SerializerをsimpleXMLっぽく使う
<?php require_once("XML/Serializer.php"); header("Content-Type: text/xml; charset=utf-8"); $xml = array("item" => array("hoge","hoge","hoge")); //これがXMLにしたい配列だよ $param = array( XML_SERIALIZER_OPTION_INDENT => "\t", XML_SERIALIZER_OPTION_XML_ENCODING => 'UTF-8', XML_SERIALIZER_OPTION_XML_DECL_ENABLED => TRUE, XML_SERIALIZER_OPTION_ROOT_NAME => 'xml', XML_SERIALIZER_OPTION_ROOT_ATTRIBS => array('version' => '2.0','encoding' => 'UTF-8'), ); //いろんなオプションがあるんだ $serializer = new XML_Serializer($param); $serializer->serialize($this->xml); echo $serializer->getSerializedData(); ?>
- とすると
<xml encoding="UTF-8" version="2.0"> <item>hoge</item> <item>hoge</item> <item>hoge</item> </xml>
- っていうXMLを表示してくれる…とおもったら違った
<xml encoding="UTF-8" version="2.0"> <item> <XML_Serializer_Tag>hoge</XML_Serializer_Tag> <XML_Serializer_Tag>hoge</XML_Serializer_Tag> <XML_Serializer_Tag>hoge</XML_Serializer_Tag> </item> </xml>
XML_SERIALIZER_OPTION_DEFAULT_TAG => 'fuga',
- この一行を$paramの中に加えれば名前は変えられるけどスマートじゃないね
- serialize();するまえに
$serializer->setOption('mode','simplexml');
- この1行を入れてみると
<xml encoding="UTF-8" version="2.0"> <item>hoge</item> <item>hoge</item> <item>hoge</item> </xml>
- ちゃんと返してくれるようになった。やったね!
- XML_Serializerちょうべんり
*1:ほんとはオブジェクトでも大丈夫
Macの便利な開発環境MAMPにpearを入れてみる
MAMPのダウンロードはこちら:
living-e AG: MAMP - Mac - Apache - MySQL - PHP
cd /Applications/MAMP/bin/php4/bin/ cd /Applications/MAMP/bin/php5/bin/
cd /usr/bin sudo mv pear pear_original sudo ln -s /Applications/MAMP/bin/php5/bin/pear ./pear
$ pear list Installed packages, channel pear.php.net: ========================================= Package Version State Archive_Tar 1.3.1 stable Console_Getopt 1.2 stable PEAR 1.4.9 stable
- とりあえず入ってるパッケージをリストアップして、今回は
- Auth
- Log
- XML_Serializer
- のみっつをインストールするよ
- とりあえずやってみよう
$ pear install Auth $ pear install Log
- …パーミッションがうんたらで怒られた
$ sudo pear install Auth $ sudo pear install Log
$ sudo pear install XML_Serializer-0.19.0
- これでOK、pear使えるようになった
*1:バージョンが1より小さいよ