Info

Archive for

自分の個人サイトに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と組み合わせるともっと格好いいアルバムをつくれるはずです。

http://www.dongriab.com/test

昨日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 ガジェットの数はどんどん増えて来ていますが、全部が全部すばらしいものでもないです。たとえば「株価」のようなごみみたいなものもあります。不安定なものは出すな!というぐらいです。しかも広告まで出していて...そんなものは捨てちまえ、使うなら「JPN Stock Market」を使え!安定感10倍。 今日紹介しようとするガジェットは「Activity Tracker」。

ToDo、Memo、スケジュール管理などたくさんありますが、どれもタイムと関連してないです。ステータス遷移は、「作業」⇒「開始」⇒「終了」、これでおわり。これだと割り込みは発生した場合ややこしくなります。Activity Trackerだときちんと管理してくれます。Task作成、IN/OUTで作業開始、中断管理、作業時間管理、作業ログ管理、グラフィック分析。

at.png

実にすばらしい!