Archive for November, 2007|Monthly archive page
Flickr API を使ってみよう
自分の個人サイトにFlickrの写真を取り込もうとしてFeedを探してみたが、少ない!情報量も少なくて、困ったな~と思った時FlickrのAPIを思い出した。FlickrのAPIは結構前から出たが、日本のユーザにとってはそんなに使われてないようだ。Flickr自身も中国語、韓国語はサポートしてるのに、なぜか日本語はサポートされてない。英語が苦手な僕にとって英語マニュアルを読むのが苦痛であった。幸い繁體中国語があったので、比較的に楽だった。しかしサンプルコードがなかったので、どのメソッドを使えばどのようなレスポンスが返ってくるとか、写真のURL生成はどうすればよいとか戸惑った部分があったので、FlickrAPIを使うにあたって基本的な部分を紹介したいと思います。
PHPのserialize, unserializeを使ったサンプルである。
1.API Key取得以下のところでAPI Keyを取得。(入力項目は適当に)
http://www.flickr.com/services/api/keys/
2. PHPからリクエスト発行
サンプルの ‘api_key’ の部分は1で取得したキーを使用。
<?php
//API パラメータ
$params = array('api_key' => '**************',
'method' => 'flickr.photos.search',
'user_id' => '9823188@N07',
'format' => 'php_serial',);
$encoded_params = array();
foreach ($params as $k => $v){
$encoded_params[] = urlencode($k).'='.urlencode($v);
}
//API リクエスト
$url = "http://api.flickr.com/services/rest/?".
implode('&', $encoded_params);
$rsp = file_get_contents($url);
$rsp_obj = unserialize($rsp);
//API レスポンス
if ($rsp_obj['stat'] == 'ok'){
foreach ($rsp_obj['photos']['photo'] as $photo){
$farm_id = $photo['farm'];
$server_id = $photo['server'];
$id = $photo['id'];
$secret = $photo['secret'];
echo "<img src='http://farm".$farm_id.".
static.flickr.com/";
echo $server_id."/".$id."_".$secret."_s.jpg'/>";
}
}else{
echo "呼び出し失敗!";
}
?>
今回は、flickr.photos.searchというメソッドを使いましたが、そのほかにいろんなメソッドがあります。http://www.flickr.com/services/api/オプションとして、lightboxと組み合わせるともっと格好いいアルバムをつくれるはずです。
Solaris, Gcc, libgcc
昨日SolarisにRubyOnRails環境を作ろうと思って、RubyとRailsをインストールしました。もともとサーバーにApahceと別のシステムがあったので、新しくlighttpdを入れるのはちょっと面倒だっだので、既存のApache2とcgiで動かすことにしました、が、遅い!こりゃFCGIじゃないとだめだ。fastcgiを入れることにしました。しかしこれが難しい!fcgiはインストールできたが、mod_fastcgiはどうしてもだめでした。どうも既存のgccがダメみたい。それでgccをバージョンアップしようと、 gcc 3.4.6 をダウンロードしてpkgadd 。このpkgaddですごく後悔しましたけど…
Solarisのソフトだとsparc版とi386版があったんですが、よく見ないとsparc版を入れてしまいました、(エラーなしで入れられるのも変) その後、結局はほかの原因でFastCgiはインストールできませんでした。おまけにApacheまで起動できなくなりました。社内グループウェアも使えない状態(泣きそう)。
Syntax error on line 286 of /etc/apache2/httpd.conf:
Cannot load /usr/apache2/libexec/libphp5.so into server: ld.so.1: /usr/apache2/bin/httpd: \xbd\xc5\
xc2\xe7\xa4\xca\xa5\xa8\xa5\xe9\xa1\xbc: /usr/local/lib/libgcc_s.so.1: ELF \xa5\xc7\xa1\xbc\xa5\
xbf\xa5\xd5\xa5\xa9\xa1\xbc\xa5\xde\xa5\xc3\xa5\xc8\xa4\xac\xc0\xb5\xa4\xb7\xa4\xaf\xa4\
xa2\xa4\xea\xa4\xde\xa4\xbb\xa4\xf3: ELFDATA2MSB
libphp5.so, libgcc_s.so.1 も存在してるし、LD_LIBRARY_PATHも通ってるし、どこがだめ???gccのせいかと思ってpkgrm で SMCgccを削除してみても結果は同じ。いろいろ弄ってみだが、やっぱり駄目でした。夜10時まで頑張ってけど結果なし。今日朝来て引き続き原因調べ、落ち着いて考えてみると昨日のgccが原因みたい。しかしrmで削除したけどね~。そもそもsparc版の入れられるのが怪しい。ググってみても有用な情報は一つもない。おそらくlibgccが違った気がして、再インストールしようと思いました。
# pkgadd SMClibgcc
libgcc(intel) 3.3
Installing libgcc as <SMClibgcc>
## Installing part 1 of 1.
/usr/local/lib/libgcc_s.so
/usr/local/lib/libgcc_s.so.1
/usr/local/lib/libstdc++.a
お~/usr/local/lib/libgcc_s.so.1が上書きされたみたい。Apacheを再起動してみたら、やった!動き出した。
iGoogle gadget 「Activity Tracker」
iGoogle ガジェットの数はどんどん増えて来ていますが、全部が全部すばらしいものでもないです。たとえば「株価」のようなごみみたいなものもあります。不安定なものは出すな!というぐらいです。しかも広告まで出していて...そんなものは捨てちまえ、使うなら「JPN Stock Market」を使え!安定感10倍。 今日紹介しようとするガジェットは「Activity Tracker」。
ToDo、Memo、スケジュール管理などたくさんありますが、どれもタイムと関連してないです。ステータス遷移は、「作業」⇒「開始」⇒「終了」、これでおわり。これだと割り込みは発生した場合ややこしくなります。Activity Trackerだときちんと管理してくれます。Task作成、IN/OUTで作業開始、中断管理、作業時間管理、作業ログ管理、グラフィック分析。
実にすばらしい!
Comments (1)
Leave a Comment
Leave a Comment