2010年2月13日土曜日

02月13日のココロ日記(BlogPet)

いい機能には書く本能があるそうです。教科書に書いてありました。

*このエントリは、ブログペットのココロが書いてます♪

2010年2月6日土曜日

02月06日のココロ日記(BlogPet)

さとし@雑記帳さんが好きな物はお送りっていうんですけど、そんなの売ってないですよぅ……

*このエントリは、ブログペットのココロが書いてます♪

2010年2月3日水曜日

PHPでURL短縮関数

 モバイルギアIIにインストールしたNetBSD/hpcmips、Apacheは動作しないままですが、PHPは動作してます。

・・・が、相変わらず一部の関数がダメ(-_-;

 今のところ、直接的に困っているのが、pearのServices_ShortURLが使えないこと。


 ということで、特別なモジュールも関数も使わずにBit.lyのAPIを呼び出してURLを短縮する関数を書いてみました。

function shortURL($id, $key, $url){
    $bitlyUrl = 'http://api.bit.ly/shorten?version=2.0.1&format=xml&login=' . $id . '&apiKey=' . $key . '&longUrl=' . $url;
    $bitlyXml=file_get_contents($bitlyUrl);
    $xmlArr = simplexml_load_string($bitlyXml);
    if($xmlArr->errorCode=="0"){
        return $surl=$xmlArr->results->nodeKeyVal->shortUrl;
    }else return false;
}


 file_get_contents関数で取得しても問題ないよね?(^-^;

 Bit.lyのAPIは標準ではJSON形式でデータを返してくるのですが、どうもこれがエラーになってしまうので、XMLでデータを受信し、simpleXML関数で結果を取得しています。

 というわけで、さくらのレンタルサーバーで運用していたBOTの機能の一部をモバイルギアIIに移行しました。今のところちゃんと動いてます♪


PHP 逆引きレシピ (PROGRAMMER’S RECiPE)
翔泳社
鈴木 憲治

ユーザレビュー:
これがあるとある程度 ...
情報量と使いやすさの ...
知りたい事が網羅され ...
amazon.co.jpで買う
Amazonアソシエイト by ウェブリブログ商品ポータルで情報を見る



PHPによるWebアプリケーションスーパーサンプル 第2版
ソフトバンククリエイティブ
西沢 直木

ユーザレビュー:
リファレンスとして入 ...
第二段階に読むべき本 ...
内容自体は良いが、構 ...
amazon.co.jpで買う
Amazonアソシエイト by ウェブリブログ商品ポータルで情報を見る



実践マスターPHP+MySQL―PHP4/PHP5対応
ソーテック社
小島 まさご

ユーザレビュー:
読みやすいです初級? ...
いい意味でも悪い意味 ...
失敗しにくい入門書私 ...
amazon.co.jpで買う
Amazonアソシエイト by ウェブリブログ商品ポータルで情報を見る



2010年1月29日金曜日

01月29日のココロ日記(BlogPet)

ココロの小さいころの夢は送受信になることでした。今はさとし@雑記帳さんのホワイトになりたい……なんて冗談です

*このエントリは、ブログペットのココロが書いてます♪

2010年1月25日月曜日

NetBSD/hpcmipsでPHP

モバイルギアIIにインストールしたNetBSD/hpcmips、Apacheが1.3系も2.x系も動作しなくて悩んでいたんだけど、Webサーバーとデータの送受信をするだけならPHPが動作するだけで十分なんで、Webサーバー化は中断してPHPの実行環境を構築してます。

ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD-4.0/hpcmips/All

ここからバイナリパッケージをダウンロードしても良いんだけど、どれをインストールするのか良くわからなかったり、バイナリパッケージがなかったりするので、

ftp://ftp.netbsd.org/pub/pkgsrc/pkgsrc-2009Q3/

ここからアーカイブをダウンロードして展開して(それだけでスゴーく時間がかかる^^;)、
# cd lang/php5/
 とか、
# cd lang/pear/
 とかして、
# make package
しました。
※ make install で良いんだけど、バイナリパッケージも作っておきたいので。

で、Webサイトとのデータ送受信をするので、pearのHTTP_Request2なんかを要求されるので、
# pear install HTTP_Request2
 その他、Services_ShortURLもインストール。

 twitterにメッセージを投稿するのにServices_Twitterなんてのもあるんですねー。

 今回はベースになるスクリプトが自作じゃないので使わないけれど、覚えておこう。

で、一通り環境が出来たので、PHPのスクリプトを実行してみたら、なにやらエラーが・・・?

 さくらのレンタルサーバー上では問題なく動くスクリプトなのでなんでかなと思って、エラーメッセージを読んだら、cURLというライブラリが足りないらしい。

 これは、pearじゃなくて、NetBSDのpkgsrcから
# cd www/curl/
# make package
とやってインストール

・・・したけど、curl extensionが使えないorz
# pear install Net_Curl
でもダメorz

うーん、なんでだ?

 ついでにmbstringも使えないと思ったら、コンパイル時のオプションで指定しないとダメらしい。
こっちは、Makefile.phpに
PKG_DEFAULT_OPTIONS+= mbstring
と追記して再度コンパイルしたら解決。

 でもって、コンパイル中にメモリ不足でエラーにになったので、こっちは
# dd if=/dev/zero bs=1m count=256 of=/swapfile
# swapctl -a /swapfile
とやったら解決。
一時はdistccの分散コンパイルも考えたけれど、とりあえず時間がかかってもコンパイルできるならOK。
る必要があるんですね。

・・・なんだか年末からずっとコンパイルしているよorz

 それにしても、プアな環境で延々とコンパイルしていても固まらないモバイルギアIIは偉い(^ヮ^)
BSD Hacks ―プロが使うテクニック & ツール 100選
オライリージャパン
Dru Lavigne

ユーザレビュー:
中?上級者向け本書は ...
amazon.co.jpで買う
Amazonアソシエイト by ウェブリブログ商品ポータルで情報を見る



2足歩行ロボット
スピーシーズ株式会社

amazon.co.jpで買う
Amazonアソシエイト by ウェブリブログ商品ポータルで情報を見る



SPC-101C
スピーシーズ株式会社

amazon.co.jpで買う
Amazonアソシエイト by ウェブリブログ商品ポータルで情報を見る