スタッフブログ
haltです。
皆さんはJsphonというライブラリをご存知でしょうか。 www.hawklab.jp のhawkさんが書
かれたPHPでJSONをエンコードしたりデコードする為のライブラリです。PHPにはjson_encodeとjson_decodeという関数がありますが、比較的新しいPHPにしか実装されていない為、古いバージョンでJSONを利用する場合は別途ライブラリが必要になります。
非常に多くのライブラリやアプリケーションがこのJsphonを利用しているのですが、残念
ながらhawkさんがJsphonを公開していた www.hawklab.jp が閉鎖してしまった為、ライブ
ラリの入手ができなくなりました。
そこで、JsphonがPHPライセンスである事に着目し、私のディスク内にあったJsphonをcodereposにアップロードしました。
codereposとは、http://coderepos.org/ にある、ソースコード共有サイトで、みんなで公開svnリポジトリを使う事で自由にソースを公開したり、編集したりできるサイトの事です。これにより、
というコマンドを入力するだけでJsphonがインストールできるようになりました。特にPEARに依存しているわけではないので、わざわざPEARコマンドを使わなくても、上のURLからtgzファイルをダウンロード、解凍するだけで利用できます。
例えば、jsonを返すapiを利用する場合、
のように書きます。
オープンなライセンスは素晴らしいですね。
皆さんはJsphonというライブラリをご存知でしょうか。 www.hawklab.jp のhawkさんが書
かれたPHPでJSONをエンコードしたりデコードする為のライブラリです。PHPにはjson_encodeとjson_decodeという関数がありますが、比較的新しいPHPにしか実装されていない為、古いバージョンでJSONを利用する場合は別途ライブラリが必要になります。
非常に多くのライブラリやアプリケーションがこのJsphonを利用しているのですが、残念
ながらhawkさんがJsphonを公開していた www.hawklab.jp が閉鎖してしまった為、ライブ
ラリの入手ができなくなりました。
そこで、JsphonがPHPライセンスである事に着目し、私のディスク内にあったJsphonをcodereposにアップロードしました。
codereposとは、http://coderepos.org/ にある、ソースコード共有サイトで、みんなで公開svnリポジトリを使う事で自由にソースを公開したり、編集したりできるサイトの事です。これにより、
pear install http://svn.coderepos.org/share/lang/php/Jsphon/release/Jsphon-1.0.1.tgz
というコマンドを入力するだけでJsphonがインストールできるようになりました。特にPEARに依存しているわけではないので、わざわざPEARコマンドを使わなくても、上のURLからtgzファイルをダウンロード、解凍するだけで利用できます。
例えば、jsonを返すapiを利用する場合、
require_once 'Jsphon/Decoder.php';
$json = new Jsphon_Decoder();
$result = $json->decode($json_data);
のように書きます。
オープンなライセンスは素晴らしいですね。
haltです。
今日ははてな記法を簡単に利用できるPHPライブラリ「HatenaSyntax」を紹介します。
はてな記法とは、株式会社はてなのサービスの中で利用されている記法です。
http://hatenadiary.g.hatena.ne.jp/keyword/%E3%81%AF%E3%81%A6%E3%81%AA%E8%A8%98%E6%B3%95%E4%B8%80%E8%A6%A7
この記法を利用することで、わざわざ複雑なHTMLを書かなくてもシンプルで短いコードを追加するだけで複雑な表現ができるようになります。
HatenaSyntaxはanatooさんが開発し、googlepagesで公開されています。現在の最新バージョンは0.06のようです。
http://anatoo.study.googlepages.com/HatenaSyntax.php.ver006.txt
では実際に使ってみましょう。
引用:
たったこれだけです。requireしたあと、HatenaSyntaxをnewしてparseメソッドを呼び出すだけ。簡単ですね。
ブログや日記、Wikiの表現力を高めるのに使ってみてはいかがでしょうか。
今日ははてな記法を簡単に利用できるPHPライブラリ「HatenaSyntax」を紹介します。
はてな記法とは、株式会社はてなのサービスの中で利用されている記法です。
http://hatenadiary.g.hatena.ne.jp/keyword/%E3%81%AF%E3%81%A6%E3%81%AA%E8%A8%98%E6%B3%95%E4%B8%80%E8%A6%A7
この記法を利用することで、わざわざ複雑なHTMLを書かなくてもシンプルで短いコードを追加するだけで複雑な表現ができるようになります。
HatenaSyntaxはanatooさんが開発し、googlepagesで公開されています。現在の最新バージョンは0.06のようです。
http://anatoo.study.googlepages.com/HatenaSyntax.php.ver006.txt
では実際に使ってみましょう。
引用:
<?php
require_once 'HatenaSyntax.php';
$text = <<<EOD
* みだし
ほんぶん
>>
引用
<<
EOD;
$hatena = new HatenaSyntax();
echo $hatena->parse($text);
?>
たったこれだけです。requireしたあと、HatenaSyntaxをnewしてparseメソッドを呼び出すだけ。簡単ですね。
ブログや日記、Wikiの表現力を高めるのに使ってみてはいかがでしょうか。
satoです。
オープンソースもののドキュメントは通常Webに掲載されていますが、オフラインでは当然見れなくなります。
HTML一式をアーカイブしてダウンロードできるケースは多いですが、それだと検索ができないので、若干不便です。Google Desktop Searchなどに検索させてもいいですが、あまり便利ではありません。
Windowsの現在のヘルプはCHM(Compiled Help Module)という形式で、HTMLをまとめて索引を付けて更にキーワード検索をできるようにしたものです。
元がHTMLなので表現力に優れていて、かつ検索機能があるので、非常に使いやすくなっています。
Mac OSXやLinuxでも、xCHMなどで表示することが可能です。
そこで、CHM形式になっているドキュメントを少し調べてみました。
・PHP、PEAR、MySQL
それぞれ公式でも配布されているのですが、
http://nonn-et-twk.net/twk/chm
で、索引の日本語部分の文字化けが解消されたものが公開されています。ただし最新版ではないと思うので、最新版が必要であれば公式からダウンロードしましょう。
・Smarty
http://sunset.freespace.jp/smarty/
にて配布しているようです。
現在マニュアルの最新版は「PHPプロ!」を参照してくださいとのことですが、こちらではCHMファイルは見あたりませんでした。
・symfony
・Zend Framework
http://code.google.com/p/symfony-doc-ja/
で制作されているようです。
・JavaScript
http://d.hatena.ne.jp/koseki2/20080312/jsref
こちらで作成された方がいるようです。
その他も、「(プロダクト名) CHM」などで検索すると出てくることが多いので、探してみると見つかることが多いです。
CHMファイルの作成はそれほど難しくないので、何かドキュメント(特にリファレンスマニュアル的なもの)を作ったらCHM化しておくと喜ばれると思います。
※注意
Vistaが原因なのかIEが原因なのかわかりませんが、直接ダウンロードしたCHMファイルを開こうとすると「アドレスが有効ではありません」のようなエラーが出て全ページが表示できない状態になることがあります。
ダウンロードしたCHMファイルを右クリックして「プロパティ」で、「ブロックの解除」をすると、見れるようになります。
オープンソースもののドキュメントは通常Webに掲載されていますが、オフラインでは当然見れなくなります。
HTML一式をアーカイブしてダウンロードできるケースは多いですが、それだと検索ができないので、若干不便です。Google Desktop Searchなどに検索させてもいいですが、あまり便利ではありません。
Windowsの現在のヘルプはCHM(Compiled Help Module)という形式で、HTMLをまとめて索引を付けて更にキーワード検索をできるようにしたものです。
元がHTMLなので表現力に優れていて、かつ検索機能があるので、非常に使いやすくなっています。
Mac OSXやLinuxでも、xCHMなどで表示することが可能です。
そこで、CHM形式になっているドキュメントを少し調べてみました。
・PHP、PEAR、MySQL
それぞれ公式でも配布されているのですが、
http://nonn-et-twk.net/twk/chm
で、索引の日本語部分の文字化けが解消されたものが公開されています。ただし最新版ではないと思うので、最新版が必要であれば公式からダウンロードしましょう。
・Smarty
http://sunset.freespace.jp/smarty/
にて配布しているようです。
現在マニュアルの最新版は「PHPプロ!」を参照してくださいとのことですが、こちらではCHMファイルは見あたりませんでした。
・symfony
・Zend Framework
http://code.google.com/p/symfony-doc-ja/
で制作されているようです。
・JavaScript
http://d.hatena.ne.jp/koseki2/20080312/jsref
こちらで作成された方がいるようです。
その他も、「(プロダクト名) CHM」などで検索すると出てくることが多いので、探してみると見つかることが多いです。
CHMファイルの作成はそれほど難しくないので、何かドキュメント(特にリファレンスマニュアル的なもの)を作ったらCHM化しておくと喜ばれると思います。
※注意
Vistaが原因なのかIEが原因なのかわかりませんが、直接ダウンロードしたCHMファイルを開こうとすると「アドレスが有効ではありません」のようなエラーが出て全ページが表示できない状態になることがあります。
ダウンロードしたCHMファイルを右クリックして「プロパティ」で、「ブロックの解除」をすると、見れるようになります。
前回のエントリを読んでない方はこちらをどうぞ。
今から覚えるXen part1. Xenについて
前回はXenについて簡単に説明しました。いつまでも概要について説明するよりは実際に動いているものを見た方が理解が早いので早速イン
ストールに挑戦してみましょう。
part1.の後半で紹介したように、インストールする環境はUbuntu Linuxになります。SUSEやFedora、CentOSに関するXenのインストール報告
は多いのですがUbuntuで運用しているという人があまりいないのであえて挑戦です。他のディストリビューションを利用している人は各自>でインストール方法を検索してください。
インストール手順はdebパッケージをインストールするだけなので簡単です。aptitude search xenで検索してそれっぽいパッケージをイン>ストールします。具体的には以下のパッケージになります。
あたりをインストールしました。インストールしたXenのバージョンは3.2になります。
これであとはネットワークの設定をしてイメージを作るだけなのですが、残念ながら私がインストールしたカーネルイメージにバグがあっ>たようで、ネットワーク設定がどうやっても認識しませんでした。
Bug #204010 in xen-3.2 (Ubuntu): “networking not working>”
を参考に、ひらのさんという方が作ったイメージをダウンロードしてインストールするとこの問題が解決できます。
ひらのさんのサイトから、自分の環境にあったイメージをダウンロードしま
す。私は今回64bit環境だったのでlinux-image-2.6.24-16-xen_2.6.24-16.30zng1_amd64.debをダウンロード。
としてインストールしました。
これでインストール作業はすべて完了です。再起動したら、
として、Domain-0が見えるかチェックしてください。
次回はネットワークの設定とイメージの作成を行います。
今から覚えるXen part1. Xenについて
前回はXenについて簡単に説明しました。いつまでも概要について説明するよりは実際に動いているものを見た方が理解が早いので早速イン
ストールに挑戦してみましょう。
part1.の後半で紹介したように、インストールする環境はUbuntu Linuxになります。SUSEやFedora、CentOSに関するXenのインストール報告
は多いのですがUbuntuで運用しているという人があまりいないのであえて挑戦です。他のディストリビューションを利用している人は各自>でインストール方法を検索してください。
インストール手順はdebパッケージをインストールするだけなので簡単です。aptitude search xenで検索してそれっぽいパッケージをイン>ストールします。具体的には以下のパッケージになります。
<br />
-libxen3<br />
-linux-image-xen<br />
-linux-xen<br />
-python-xen-3.2<br />
-ubuntu-xen-server<br />
-xen-docs-3.2<br />
-xen-hypervisor-3.2<br />
-xen-shell<br />
-xen-tools<br />
-xen-utils-3.2<br />
-linux-restricted-modules-xen<br />
あたりをインストールしました。インストールしたXenのバージョンは3.2になります。
これであとはネットワークの設定をしてイメージを作るだけなのですが、残念ながら私がインストールしたカーネルイメージにバグがあっ>たようで、ネットワーク設定がどうやっても認識しませんでした。
Bug #204010 in xen-3.2 (Ubuntu): “networking not working>”
を参考に、ひらのさんという方が作ったイメージをダウンロードしてインストールするとこの問題が解決できます。
ひらのさんのサイトから、自分の環境にあったイメージをダウンロードしま
す。私は今回64bit環境だったのでlinux-image-2.6.24-16-xen_2.6.24-16.30zng1_amd64.debをダウンロード。
<br />
sudo dpkg -i linux-image-2.6.24-16-xen_2.6.24-16.30zng1_amd64<br />
としてインストールしました。
これでインストール作業はすべて完了です。再起動したら、
<br />
sudo xm list<br />
として、Domain-0が見えるかチェックしてください。
次回はネットワークの設定とイメージの作成を行います。
satoです。
他者からSSHの鍵をもらった場合、そこに書いてあるパスフレーズが複雑で面倒だと思ったことはないでしょうか。
SSHの公開鍵認証は通常、認証前にパスフレーズを入力しますが、SSHの公開鍵認証は、
手元の鍵を手元のパスフレーズで復号化->復号化された鍵をサーバに送信して認証
という手順なので、パスフレーズというのはローカルだけで簡単に変更することができます。
普段からLinuxを使っている方はすでにご存じだと思うので省略しますが、WindowsであればPuTTYに付属のputtygen.exeでパスフレーズを変更することができます。
使い方は簡単で、puttygen.exeに鍵を現在のパスフレーズを入力して読み込ませると、パスフレーズ入力欄があるので、そこを変更して再度鍵を保存するだけです。
ちなみに、パスフレーズ無しの鍵を作る方法もありますが、一応パスフレーズは入れておいたほうがいいと思います。
最近はほとんどが公開鍵認証だと思うので、これで複雑なパスフレーズを覚える必要が無くなります。
是非お試しください。
他者からSSHの鍵をもらった場合、そこに書いてあるパスフレーズが複雑で面倒だと思ったことはないでしょうか。
SSHの公開鍵認証は通常、認証前にパスフレーズを入力しますが、SSHの公開鍵認証は、
手元の鍵を手元のパスフレーズで復号化->復号化された鍵をサーバに送信して認証
という手順なので、パスフレーズというのはローカルだけで簡単に変更することができます。
普段からLinuxを使っている方はすでにご存じだと思うので省略しますが、WindowsであればPuTTYに付属のputtygen.exeでパスフレーズを変更することができます。
使い方は簡単で、puttygen.exeに鍵を現在のパスフレーズを入力して読み込ませると、パスフレーズ入力欄があるので、そこを変更して再度鍵を保存するだけです。
ちなみに、パスフレーズ無しの鍵を作る方法もありますが、一応パスフレーズは入れておいたほうがいいと思います。
最近はほとんどが公開鍵認証だと思うので、これで複雑なパスフレーズを覚える必要が無くなります。
是非お試しください。