PHPカンファレンス2005行って来ました。

寝坊したけど間に合って良かったです。
テンション無理やり上げて、発表も何とか終わりました。

資料: framework description.pdf

フレームワークのお話はそれぞれ新しいトピックが聞けて、ホントに1ヶ月とか1週間とかいう単位で状況がどんどん動いていっているなと思いました。

トピック:

  • ICCの確認のせいで複雑に
  • Agavi
  • パターンをフレームワークのプラグインに
  • フレームワークでCSRF対策
  • Seasar.PHP

2~3時間ぐらいしかいられなかったんですが、Php Application Design Handbookを注文しちゃったZefardさんにお会いできたり、会社の別支社の方と話せたりして楽しかったです。

その後、西武新宿の激旨ホルモン屋「幸永」でプチ打ち上げ。

ref: PHPカンファレンス2005

一つのディレクトリに大量のファイルが保存されるときに、

/2005/07/28/foo.html

とか

/2/0/0/5/0/7/2/8/foo.html

とかやりますけど、この手法って何か名前あるんですかね。最近よく出てくるんですが、上記を説明するのが結構大変。
LiveSearchみたいに名前があると一言で言えて楽なのに。

PEAR :: Package :: Net_UserAgent_Mobile :: 0.24.0

Changelog:

- Added fallback mode on no match using $GLOBALS[’_NET_USERAGENT_MOBILE_FALLBACK_ON_NOMATCH’].
- Changed the EZweb regex pattern to be able to match au’s A5511T.
- Added support for DoCoMo’s SO506iS, SH901iS, F901iS, D901iS, P901iS, N901iS.

Net_UserAgent_Mobileが0.24.0にバージョンアップ。
901iSシリーズに対応したようです。

携帯サイトはPHPが主流になってきてる(ような気がする)のでお世話になってる人も多いんじゃないでしょうか。(詳しくない)

そして、作者がこのように素晴らしいスタンスの持ち主だと安心して使えます。

神の子どもたちはみな腕を磨く: PEAR::Net_UserAgent_Mobileにおけるエラー制御演算子の使用について

なぜこの書き方になったのか。それは単に当時コードを書くときに参考にしたPEAR::DBパッケージがそうなっていたからというものと、想定外の出来事が発生した場合のエラーメッセージを画面に出力しないようにという程度の考えだったと思います。しかし、コメントを頂いたことをきっかけにエラーハンドリングをユーザにゆだねる方法が望ましいと考え、バージョン0.24.0では次のように変更しています。

他人にやさしく、自分にモヒカン族

昨今、そんな姿勢が技術者には求められているんではなかろうか!!

PEAR :: PEPr :: Details :: File_Karma

>> Description

Ask and ye shall receive.

This is my first mockup of File_Karma for editing the avail file for CVS Karma. It currently supports adding entries, removing users (you can restrict removing users to specific paths as well), and removing paths.

PEPr ProposalにFile_Karma。
Karmaって何だよと思って調べてみると、

よくきたblog phpdoc-jaのkarmaもらった

php.netのCVSはkarmaと呼ばれる権限管理があって, アカウント毎にcommit出来るモジュールをファイルシステムのパーミッションとは 別に変えられるようになっている.

なるほど。ニッチなパッケージだ!

PHPEclipse.net

This is a first preview release for Eclipse 3.1.

Especially some debugger issues aren’t solved completly at the moment.

Eclipse 3.1対応PHPEclipseの preview release版が出てます。
まだデバッガ周りが怪しいとか。結構すぐに正式版が出そうな雰囲気なので待ちます。

PHPカンファレンス2005の詳細が公開されました – HotPHPPER News

毎年恒例のPHPカンファレンスの2005年版、「PHPカンファレンス2005」の詳細が公開されました。
今回はPHPでも昨今注目度の高いフレームワークを重点に置いたプレゼンテーションになるようです。

PHPカンファレンス2005で各フレームワークのお話の前に基本的な「フレームワークって何?」というお話をさせてもらうことになりました。

PHPカンファレンスに行ったことが無いので雰囲気がよくわからないんですが、パワポ作って12時頃行けばいいのかな?(予備知識無しにも程がある)

PECL :: Package :: sdo

Service Data Objects (SDOs) are designed to make it simpler to work with data from heterogeneous sources whilst also being tailored for service-oriented applications. SDO provides developers the means to manipulate data in a uniform manner regardless of source, such as relational databases and XML.

IBMが作ったService Data Objects(SDOs) for PHPのextention。

SDOってまたっさっぱりわからないですが、 「ヘテロジーニアスなデータを簡単に扱える」みたいです!




・・・なんだよヘテロジーニアスって、、、おっかねぇ・・・。

BEAのサイトとかWebSphere絡みのページに引っかかるのでアプリケーションサーバでは流行の技術なのかも。

XMLやDB関係なくアクセスできる!感じなようです。SOAPとRDBにさらに一枚被せたAPIでしょうか。

今週(先週)の内部勉強会は「Struts ~いろはの「い」~」ということでStrutsの基本的な構造と使い方を聞きました。
昨今の最新Java技術を前に、

「逆ヨガ以前にヨガが分からないんだよ!」

というような逆ギレ状態だったので基本を教えてもらいました。今まではStrutsの設定項目は、
「論理名マッピングしすぎだろ!ここまでやる必要があるのか。」
といまいち共感できるほど分かってなかったんですが、
「ココとココを設定ファイルにするとリコンパイルせずに変更できる。」
という説明を聞いてやっと、
「なるほど!それならおれでもそうする!」
と共感できました。

最近、MTのリビルドとか全体的にサーバ(にせマック)が重い。

top - 10:35:18 up 204 days,  9:21,  1 user,  load average: 2.63, 2.51, 2.68
Tasks:  92 total,   6 running,  86 sleeping,   0 stopped,   0 zombie
Cpu(s):  53.3% user,  46.7% system,   0.0% nice,   0.0% idle
Mem:    633284k total,   583608k used,    49676k free,    20716k buffers
Swap:   248936k total,    34120k used,   214816k free,   334644k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 4765 mysql     15   0 10776 7508 2560 R 19.5  1.2  91:07.61 mysqld
 6964 mysql     14   0 10776 7508 2560 R 19.2  1.2  26:13.75 mysqld
 6435 mysql     14   0 10776 7508 2560 R 18.9  1.2  59:05.76 mysqld
 7285 mysql     14   0 10776 7508 2560 R 18.9  1.2  21:12.84 mysqld
 7583 www-data  11   0  9600 7552 3880 S 18.2  1.2   0:08.64 apache

Moajvi Japanに使ったXoopsのmysqlが重いっぽいです。Xoopsを追ったりmysqlチューニングする気力はないし。うーん。

細かいパッケージを地味にsargeに上げていってたらdpkgがエラーを吐くように。

# apt-get install snmp
(中略)
Preconfiguring packages ...
dpkg: `update-rc.d' not found on PATH.
dpkg: 1 expected program(s) not found on PATH.
NB: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)

ユーザ変更するときもエラーが出る。

$ su -
Password:
-su: mesg: command not found

mesgというのが無くなってるようです。PATHがおかしいと思ったので.profileを見てみると、

# vi ~/.profile
# ~/.profile: executed by Bourne-compatible login shells.

if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:~/bin
export PATH

mesg n

mesgが無いからログイン時にエラーが出るのか。

# ls /usr/sbin/update-rc.d
ls: /usr/sbin/update-rc.d: No such file or directory

というかupdate-rc.dも単に無くなってるだけか。うーん。