よくきたblog非常によく出来たLDAP管理ソフトウェアのphpLDAPadminの日本語化を始めてみました.
前からいいLDAP管理ソフトないかと探していたので期待です。かなり良さそう!
よくきたblog非常によく出来たLDAP管理ソフトウェアのphpLDAPadminの日本語化を始めてみました.
前からいいLDAP管理ソフトないかと探していたので期待です。かなり良さそう!
Yahoo!ニュース – 海外 – 共同通信ロサンゼルス9日共同】米中西部オハイオ州コロンバスで8日夜(日本時間9日午後)、ライブハウスで演奏中のヘビーメタル・バンド「ダメージプラン」のメンバーに男が近づき突然銃を乱射、メンバーら少なくとも4人が死亡、2人が負傷した。発砲した男は、駆けつけた警官に射殺された。 AP通信や地元テレビ局によると、演奏が始まった途端、アイスホッケーのユニホーム姿の男がステージに上がって何かを叫び、ギタリストのダイムバッグ・ダレルさんに向かって銃を発射、続けて観客にも発砲した。地元テレビはダレルさんも死亡したと伝えた。
なんてこった!ダレルが死んでしまいました・・・。 部屋にパンテラのポスターを貼っていた高校時代のおれ(告白)が聞いたら泣きますよ。
Vulgar Display of Powerposted with amazlet at 04.12.10Pantera
Warner (1992/02)
売り上げランキング: 87,263
通常1~2週間以内に発送おすすめ度の平均:俗悪、悩殺、鎌首と聴いてきたが
モダンヘヴィネスの傑作
俗悪!!
イチッ速(パ)やゆーなよ
語尾に「主演 チャックノリス」と付けるスレ語尾に「主演 チャックノリス」と付けるスレ
スレ名だけでやられました。
mozillaZine 日本語版 – mozillaZine 和訳Scott MacGregor によると、”“Mozilla Foundation は今日 Thunderbird 1.0 電子メールクライアントをリリースした。Thunderbird は 検索結果保存フォルダ、メッセージのグループ化、他のメールクライアントからの包括的なメールの移行、そして RSS との統合 (訳注:RSS リーダ機能) のようなたくさんの新しい機能を持つ。このリリースは先月成功した Firefox 1.0 のリリースに続くものである。
ビルドは GetThunderbird.com もしくは FTP サーバ から入手できる。リリースノートも利用可能だ (日本語版)。サポートは我々の Thunderbird Support Forum で受けられるが、このリリースに関するその他の話題に関しては、Thunderbird Forums (日本語版) で議論することが出来る。ローカライズされたバージョンはあと二・三日後から出始めるだろう。”“
Thunderbird 1.0キター。0.8から早かったー。
永続化がらみでPHPでアプリケーションスコープを扱うためのクラスを作ってみました。
ApplicationScope#setでアプリケーションスコープに変数をセット。
require_once("Book.php");
require_once("ApplicationScope.php");
$book =& new Book();
$book->name = "Effective Java";
$book->price = 1000;
$book->releaseDate = "2004/12/01";
$app =& new ApplicationScope();
$app->set("book", $book);
$app->set("mail", "bg@p0t.jp");
$app->set("age", 26);
ApplicationScope#getでアプリケーションスコープから変数を取得。
require_once("Book.php");
require_once("ApplicationScope.php");
$app =& new ApplicationScope();
$book =& $app->get("book");
$mail =& $app->get("mail");
$age =& $app->get("age");
var_dump($book);
var_dump($mail);
var_dump($age);
中身は結局ファイルにserializeです。デフォルトでsessionのディレクトリに一時ファイルを作ってます。setの時はその時点で書き込まれるので他のリクエストともやり取りできます。といってもアプリケーションスコープってどういう時に必要なんだろう。ASPやServletでも使ったこと無いです。
会社の五周年に楽天のKさんが来ていたのでPHP関連の質問を幾つかさせて頂きました。
Q1. PHPのセッションは重複するのか。(PHPのセッションID 参照)
A1. その理解の通り、1台では重複しないが複数台では重複する。
Q2. なぜPHPをApache2のようなマルチスレッドサーバで動かしてもおかしくならないのか。
A2. マルチスレッドでは動かない。Apache2で動かす場合はプロセスベースで動く設定にする。
その他にも楽天のDB構成やPythonの話などいろいろと聞かせてもらって勉強になりました。疑問がズバーン解決してとてもすっきりしました。
はてなダイアリー – Harukiからの平面波しかし、クラスが外部ファイルで定義されている場合、以下のようにするとエラーが出るので注意する。
$obj = new foo; require_once ‘class.foo.php’;
これ、セッションに保存したオブジェクトを取り出すところでハマりました。 セッションからオブジェクトを復元するのにはunserialize()関数が使われているのでsession_start()より前にクラスファイルをrequireしとかないとPHPが何のオブジェクトなのか分からないので__PHP_Incomplete_Classになってしまいます。
取り出した物を見てみるとデータとしては完全にそろってる。でも何のクラスなのかわからないのでエラー。
これはガムを知らない民族の前に置いてあるガムみたいなものかと。おれらは目の前にあるものがガムクラスのインスタンスだと分かっているのでどんな振る舞いをするのかも知っている。しかしガムというものを知らない人の前に置かれたガムは謎のオブジェクト。ガムを知らないのでどんな振る舞いをするのかはさっぱりわからない、しかしデータだけは目の前にある。
「現実世界はそんなもの(クラスはわからないがインスタンスが目の前にある)ばかりなのでオブジェクト指向を無理矢理当てはめようとしても失敗する。」というのを何かで読んだ気がします。
金曜日ににせマックの電源がお亡くなりになりました・・・。
マザー死んだかと焦りましたが適当な電源を買ってきたら動いた。ディスプレイすら無い(ノートしかない)のでSSHが上がらないと詰み。しかしちゃんと立ち上がってくれたので復旧しました。
最近のクソドモによる鬼ダウンロードのせいじゃねーのかと。それ以前に電源ファン適当にはずしちゃ駄目でした。
手軽なPHPオブジェクト永続化のためのクラスStoredObjectを0.2にしました。
1オブジェクト=1ファイルだと10,000件の検索に5秒ぐらいかかるので1クラス=1ファイルにしました。(1オブジェクト=1行)
DataObjectよりシンプルにするためにfactoryを廃止。
下記は永続化のサンプル。
StoredObject#store()で保存。(保存先はデフォルトだと実行したディレクトリ。コンストラクタの第二パラメータでディレクトリ指定できます)
require_once("StoredObject.php");
class Book {
var $name;
var $price;
var $releaseDate;
}
$storedObject =& new StoredObject("Book");
$book =& new Book();
$book->name = "軽快なJava";
$book->price = "1000";
$book->releaseDate = "2004/12/01";
$storedObject->store($book);
$book->name = "Effective C++";
$book->price = "2000";
$book->releaseDate = "2004/12/02";
$storedObject->store($book);
$book->name = "Programming Perl";
$book->price = "3000";
$book->releaseDate = "2004/12/03";
$storedObject->store($book);
StoreObject#get()で取ってきます。
require_once("StoredObject.php");
class Book {
var $name;
var $price;
var $releaseDate;
}
$storedObject =& new StoredObject("Book");
$book1 =& $storedObject->get("name", "軽快なJava");
var_dump($book1);
$book2 =& $storedObject->get("name", "Effective C++");
var_dump($book2);
$book3 =& $storedObject->get("name", "Programming Perl");
var_dump($book3);
実行結果はこんな感じです。_StoredObject_hashというのはStoreObjectが勝手に割り当てているハッシュ値です。
object(book)(4) {
["name"]=>
string(10) "軽快なJava"
["price"]=>
string(4) "1000"
["releaseDate"]=>
string(10) "2004/12/01"
["_StoredObject_hash"]=>
string(32) "8141cda9579ef74e052390de23770469"
}
object(book)(4) {
["name"]=>
string(13) "Effective C++"
["price"]=>
string(4) "2000"
["releaseDate"]=>
string(10) "2004/12/02"
["_StoredObject_hash"]=>
string(32) "2d37647c506ed9a84f3e2966afcf40e0"
}
object(book)(4) {
["name"]=>
string(16) "Programming Perl"
["price"]=>
string(4) "3000"
["releaseDate"]=>
string(10) "2004/12/03"
["_StoredObject_hash"]=>
string(32) "ec905200936acd1ae7ecdcc6e7a4099d"
}
find()メソッドや正規表現での検索を追加予定です。