ELFさんの言っていた方法で簡単に使えました。PEAR Services_Amazon。(今頃)

http://komono.no-ip.org/book.phpのソース。

<?php
require_once("Services/Amazon.php");
$amazon =& new Services_Amazon('XXXXXXXXXXXXXX', 'p0t-22', 'jp', 'http://xml.amazon.co.jp/onca/xml2');
$product = $amazon->searchAsin($_GET["isbn"]);

header("Content-Type: application/x-javascript");
print("<!--\n");
print('document.write("<span id=\"komono_book\">'.$product[0]["name"].'</span>");');
print("\n//-->");
?>

死ぬほど簡単です。

ところで、Services_AmazonはServices_Amazon.phpになってるんですが、

Services/
 Amazon.php

ホントはこうじゃないの?勝手にリネームして使ってしまってます。

$ pear install -o HTTP_Client

依存パッケージもまとめてインストール。便利!

komono tools

最軽量Webサービスkomono tools。
HTMLやBlogに貼り付けて使います。

オープンしました。

微妙で人に聞きづらいんですけど、MySQLで普通にmysqldumpするとFOREIGN KEYの順番とか関係無いSQL文が吐かれて、そのまま食わせるとエラーが出るのってどうにかならないんでしょうか。(InnoDB時)

ググッても出てこないってことは根本的に何か勘違いしてるんでしょうか・・・。

$ mysqldump -uuser -ppass -Q --opt databasename > foo.dump
$ mysql -uuser -ppass databaename < foo.dump

スラッシュドット ジャパン | Trolltech が Windows 版の Qt もオープンソースに

suntear曰く、”“ノルウェーのTrolltech社は、7日、同社のメインプロダクトである Qt に関して、その Windows 版についても GPL 下での使用を許すことを発表した。次のメジャーリリースである Qt 4 から適用される。

っっっづあ!QtのWindows版もDual Licensingに!
ライセンスの問題でQtスルーしてたんですがこれは・・・。WxWidgetsでやっとHello Worldとか(おれ)そういう場合じゃねぇよ!

¥価格.com¥ ThinkPad X31 2672-CBJ 最安価格 \139,800  商品情報

\139,800

Thinkpad X31が14万切ってきたぁ!展示品売ってるらしいです。本家の残り2日のキャンペーンが終わったら次モデルかなり出そう。

ヒゲに枝毛がすごい

スラッシュドット ジャパン | NICTが事業者向けにNTPサービスを開始へ

Anonymous Coward曰く、”“日本標準時(JST)の管理・提供をおこなっている独立行政法人情報通信研究機構(NICT)が、NTPサービス事業者向けに、JSTに基づいたNTP本格サービスを2月8日から開始するそうです(報道発表資料)。

管理をやっているからつってサーバー持っててくれたわけじゃなかったんですね。福岡大学のNTPサーバーが悲鳴をあげているは笑いました。

同僚の前の職場では人間NTPサーバの号令の元、一斉にサーバーの時計合わせているそうです。

PEAR :: Package :: Pager :: 2.2.6

- better ‘currentPage’ option support (thanks to Andrew Nagy)
- fixed typo (thanks to Massimiliano Arione)

PEAR Pagerがバージョンアップ。何かtypoとかですけど。所謂ページング?をやってくれて結構便利です。同僚がPHPを始めて間もない頃、前のページ、次のページというのを作るのに死ぬほど悩んでたのを思い出します。

phphp.net – Log/2005-01-09/MSQD: Mojavi と QF 組み合わせについてちょこっと

どちらの方法も有りだと思いますが、QF 定義は Action に直接書いちゃう派が多いように思えたのでちょっとログってみました。

なるほど。
こんな感じでしょうか。

define("FORM_DIR", BASE_DIR."opt/form/");

class FormHandler {
    function factory($formName) {
        include(FORM_DIR.$formName.".php");
        $f =& new $formName;
        return $f->execute();
    }
}
class UserRegistForm {
    function execute() {
        $form = new HTML_QuickForm('UserRegist', 'post');
        $form->addElement('text', 'userName', 'ユーザー名');
        $form->addElement('text', 'password', 'パスワード');
        $form->addElement('text', 'eMail', 'E-mail');
        $form->addElement('hidden', 'module', 'UserRegist');
        $form->addElement('hidden', 'action', 'Input');
        $form->addElement('reset', 'reset', 'リセット');
        $form->addElement('submit', 'submit', '確認');

        $form->setJsWarnings("入力内容に誤りがあります。", "");
        $form->addRule('userName', 'メンバ名は必須です。', 'required', '', 'client');
        $form->addRule('userName', 'メンバ名10文字までです。', 'maxlength', 10, 'client');
        $form->addRule('password', 'パスワードは必須です。', 'required', '', 'client');
        $form->addRule('eMail', 'E-Mailは必須です。', 'required', '', 'client');
        return $form;
    }
}

Actionの方。

$form =& FormHandler::factory("UserRegistForm");

MojaviはXMLとかなるべく設定ファイル作らないようにしてる気がするのでそれに合わせてみました。(個人的には設定ファイル派)

業務でビシビシMojavi使ってる人々に「普通こうだろ」っていうのを聞きたいです。