2011年 5月 の投稿一覧

幸福論

人生いろいろありすぎた状況*1なので、朝から読み返してみている。

漫画家水木しげるさんの幸福論。日本経済新聞私の履歴書に掲載された内容をまとめたもので第1部には幸福論に関するエッセイと特別付録で水木三兄弟の対談が載っている。
その中に幸せになるための知恵のまとめとして「幸福の七か条」が掲載されている。七か条の詳しい内容は本を参照してもらうとして、以下の7つが掲げられている。

幸福の7箇条
第一条 成功や栄誉や勝ち負けを目的に、ことを行ってはいけない
第二条 しないでいられないことをし続けなさい
第三条 他人との比較ではない、あくまで自分の楽しさを追求すべし
第四条 好きの力を信じる
第五条 才能と収入は別、努力は人を裏切ると心得よ
第六条 なまけ者になりなさい
第七条 目に見えない世界を信じる
水木サンの幸福論 (角川文庫) p.13 第一部水木サンの幸福論 より

絶望したり、悲観したり、愚痴をこぼさず努力か。
50歳まで時間があるとするならば、まだあと数十年余裕がある。
人生終わる直前に今の状況を振り返ったとき、あんな不安はなんということもなかったな。と思える様にしたい。しなければならない。

*1:そして継続中

Google Search Volume

Googleの検索ワードのタイプ状況を可視化したもの。WebGL対応のブラウザ…Chromeであれば再生することができる。
下の図は日本の周りを表示させた物。うっすらと日本列島が浮かび上がるのが見える。

http://data-arts.appspot.com/globe-search
f:id:hideack:20110506215836p:image

詳しくはGoogleの公式blog参照。

A world of curiosity: a peek at searches around the globe
Today we’re sharing the Search Globe, a new visual display representing one day of Google searches around the world―visualizing the curiosity of people around the globe.

Google URL Shortener API を使ってみる(2) – PHPで利用してみる

準備で取得したAPIキーを利用してGoogle URL Shortner API へアクセスすることで短縮したURLを取得することができる。
ここでは、PHP上から利用してみた例。HTTPのPOSTアクセスには、PEARのHTTP::Request2を利用しているので、PEARにいれていない場合はPEARコマンドでライブラリのインストールが必要。
以下、サンプル。このblogのURL(http://d.hatena.ne.jp/hideack/)をgoo.gl形式に短縮してみる。

<?php
require_once 'HTTP/Request2.php';
try {
$request = new HTTP_Request2("https://www.googleapis.com/urlshortener/v1/url?key=(取得したAPIキー)", HTTP_Request2::METHOD_POST);
$request->setConfig('ssl_verify_peer', false);
$request->setHeader("Content-Type", "application/json");
$request->setBody('{"longUrl": "http://d.hatena.ne.jp/hideack/"}');
$response = $request->send();
if ($response->getStatus() == 200) {
$body = $response->getBody();
$res = json_decode($body);
printf("SHORT URL = %s", $res->id);
}
else {
throw new Exception ("Server returned status: " .  $response->getStatus());
}
}catch (HTTP_Request2_Exception $e) {
echo $e->getMessage();
}catch (Exception $e) {
echo $e->getMessage();
}
?>

これを実行すると、

% php -q test.php
SHORT URL = http://goo.gl/NDkke

となって、短縮されたAPIを取得できたことがわかる。
ちなみに、APIの利用状況はAPIキーを取得する準備の際に利用したAPIコンソールを見ることでリアルタイムに把握することができる。
f:id:hideack:20110504224723p:image

Google URL Shortener API を使ってみる(1) – 準備

google短縮URL生成機能のGoogle URLのAPIを利用してみる。1日100万回利用可能。
APIを利用することでプログラム中から非常に長い文字列数で構成されるURLをhttp://goo.gl/〜 で始まるURLに変換することができる。
利用には、まずAPIキーをgoogle API consoleから取得する必要がある。

上記のサイトを開くとまずGoogleアカウントでのログインを求められるので、ID / PWを入力してログインする。
f:id:hideack:20110504224719p:image
初めてAPI consoleを利用する場合は、以下の様な画面が表示されるので中央の"Add project"をクリックする。
f:id:hideack:20110504224720p:image
次の画面でGoogleが提供するAPIの一覧が表示される。
全く初めて利用する場合は全てOFFとなっているので、その中からURL Shorter APIのStatusをクリックして、"ON"に切り替える。
f:id:hideack:20110504224721p:image
APIのStatusを変更した後、APIを利用する際に必要となるAPIキーを取得する。
画面左側の"API Access"をクリックすると、"Simple API Access"が表示されるので表示されている"API key"を控える。
f:id:hideack:20110504224722p:image

JavaScriptでテンプレートエンジン(jQuery templatesプラグイン)

PHPだとSmartyなどのテンプレートエンジンを利用したりするが、同様にJavaScriptでクライアントサイドでテンプレートに変数を流しこむ様な実装を行うことができるライブラリを探したところ、jQueryのtemplatesプラグインで実現できる様なので使ってみた。

Templates – jQuery API
A template contains markup with binding expressions. The template is applied to data objects or arrays, and rendered into the HTML DOM.

こういうのは、サンプルを見たほうが早いのでサンプルを以下に掲載。
jquery本体とプラグイン本体はサイトを直接指定している。

<html>
<head>
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script> 
	<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>
	<script type="text/javascript">
		window.onload=function(){
			var json=[{"name":"Tom", "like":["apple", "peach"]}, {"name":"Mike", "like":["melon"]}];
			
			$("#child").tmpl(json).appendTo( "#parent");
		};
	</script>
	</head>
<body>
<div id="parent">
<script id="child" type="text/x-jquery-tmpl"> 
			Name:${name}<br/>
			Like:
			{{each like}}
				${$value}
			{{/each}}
			<hr>
		</script>
</div>
</body>
</html>

上のHTML & JavaScriptで以下の様な表示が行われる。

f:id:hideack:20110504150456p:image

内容的にはサンプルのまんまなのだが、window.onloadで開いた際に定義されるjson変数を

$("#child").tmpl(json).appendTo( "#parent");

と呼び出すことで、以下の形式で指定することでHTMLのbody中に記載してある の間に記載されているテンプレート文法に変数がアサインされる。

JavaScriptでJSONを返却する様なAPIAJAXで呼び出してそのコールバック受付時にHTML上の特定のDOMにテンプレートに従った形式で反映される様にするとか便利に使えそうだ。