2007年 7月 の投稿一覧

Ethna本

本屋さんで購入。
まだしっかりとは読んでないですが、開発環境の構築の仕方からPHPの初歩初歩の所から書いてあって非常に良いと思いました。
実際にEthnaを利用した解説の箇所はステップが早い気もしましたが、本に書いてある通りEthnaの公式サイトのチュートリアルも併用すれば全然問題ないかというのが、ざっくり読んだ感想です。
章立ては下の様な形。

  • はじめに
  • Chapter.1 Ethnaってなに
  • Chapter.2 Ethnaを使いこなすための基礎知識
  • Chapter.3 早わかりEthna
  • Chapter.4 Background of Ethna
  • Chapter.5 使ってみようEthna

あと、本編とは関係ない感想ですが、いつかはこんな本が書けるエンジニアになりたいなぁ。と思います。

Ethna×PHP (LLフレームワークBOOKS)

使えば使うほど。

お昼前から仕事へ。VisualStudioと格闘すること数時間。
なんだかんだいっても、Windowsアプリケーションを作成するのにVisualStudioに勝る環境は無いな。と実感。*1
でも、やっぱりwebアプリケーション書いている時の方が心安らかな気がします。

*1:ただ単に自分の修行が足りないということかもしれないが。

散髪

髪を切りました。ますます白い物が目立つ様になりました…。ショック…。

2007年上半期検索語ランキング

とりあえずまとめてみた。

1位 「トロのムネきゅんプレゼント」 検索回数52回
2位 「ethna」 検索回数30回
3位 「php」 検索回数27回
4位 「携帯」 検索回数18回
5位 「vc」 検索回数15回
6位 「vhdl」 検索回数14回
7位 「超ええ人」 検索回数13回

以下、大して差がないので省略。

となりました。
このblogはPHPでwebアプリなんぞ書いて、フレームワークEthnaを使ってそんでもって、どこいつのトロが大好きで。
でも、ときどきVC++VHDLを書いちゃって月曜の夜はきらきらアフロだよな。って人にはたまならない内容になっている様です。
末永くごひいきに。

以下、少数派。全て検索回数1回。

「april氏」…何を調べようとしたのでしょうか。知ってる人が調べたのかな。確かに検索結果トップだ。
「ブックオフで本を売った」…私も売りました。
「ワーカースレッドからメンバアクセス」…具体的にお役に立てていると嬉しい。
「家が揺れる」…お互い早めに引っ越しましょう。
「'/var/mysql/ can't connect local mysql mysql_connect(): server socket through to warning:」…MacOSMySQLを入れた人かしら。解決しているといいなぁ。

てなところでした。
下半期も気が向いたらまとめます。誰のためでもなく。自分の自己満足のために。

Cruesoe

ニュースの記事見てたら、TransmetaのLongRun2... っていう箇所があって思い出した。
Cruesoeとかって一時期SHARPのMebiusとかに載ってましたねぇ。
Transmeta自体は完全にライセンシングだけを行う会社になってしまいましたが…。
独自のVLIW型プロセッサにあわせるためにソフトウェア的な処理でx86命令セットで書かれたコードを処理*1するってのは、かなりかっこいいなぁ。と当時は思っていたのですが。
時代が流れると会社も様変わりするものです。

*1:コードモーフィングソフトウェアというらしい

ん。

なんか、左のトラックバックの欄見ると、いつの間にか妙なのがたくさん登録されとるがな。

KCAPTCHA + Ethna

EthnaKCAPTCHAを使うというお話。
KCAPTCHAは、よく会員登録サイト等である「ぐにゃ」っと曲がった文字列で画像認証するやつを作るためのPHPクラスライブラリ。PHP+GDで画像を作成してくれます。
例えば、

<img src="sample.php">

の様にして認証用画像を取得。sample.phpの中身はこんな感じ。

<?php
include('kcaptcha.php');
if(isset($_REQUEST[session_name()])){
session_start();
}
$captcha = new KCAPTCHA();
if($_REQUEST[session_name()]){
$_SESSION['captcha_keystring'] = $captcha->getKeyString();
}
?>

上のソースはサンプルのまま。
コンストラクタでヘッダ込みの画像データが吐かれるのでimgタグに画像が表示される。と。
表示の後、認証するためには画像に表示されている文字列を画面遷移後も保持しておく必要があるのでこのサンプルでは$_SESSION['captcha_keystring']に保持されているのだけど、ethnaの場合、Ethna_Sessionクラスでセッションが管理されるのでセッションIDが異なるので保持されない。
ということで、Ethnaのアクションクラスを作成

これで作成される app/action/Captcha.php の perform() 内に上記を真似て次の様な処理を書いておく。

<?php
include('kcaptcha.php');
//(中略)
function perform(){
if(!$this->session->isStart()){
$this->session->start();
}
$captcha = new KCAPTCHA();
$this->session->set("captcha_keystring", $captcha->getKeyString());
return 'captcha';
}
?>

これで、Smartyテンプレート内で

<img src="?action_captcha=true"><br>

何ぞと書けば無事表示。且つ、Ethna_Sessionにも表示した文字列が保持されているので、次のアクションでActionFormで取得した値とセッションの値とを比較すればよい。
なんと便利なライブラリだろう。作者の方に感謝。

…あとでキレイにまとめる。

ずっと愚直にサンプル通りやって、なんでうまくいかないんだろうと悩んでいたのだが、今朝バスに乗った瞬間、気づいたので駅までに着く間の10分でプログラムを書き上げた。
今日、一番集中力が出たのはあの時間だけだったかもしれない。

そういえば

ここ数年サプライズ起こしてないよな。と思った。