PHP
ググっても見つからなかったので作ってみた。(所要時間10分) 解決したい問題 'a', 'b' => array('b', 'c')); $b = array('a' => 'a', 'b' => array('b')); var_dump(array_diff($a, $b)); 残念な結果 array(0) { } function $v) { if (array_key_…
名付けて BitIndexer とりあえず Parse だけ。Builder はこれから作る。 テストコード 14bit ずつ切り出してダンプ
以前、PHP 配列の + 演算子が便利な件 - yoyaのメモ の中で、上書き関係がどうのと書きながら、 もっと本質的な挙動の違いに触れなかったので、今更ながら追記。 array_merge は連想配列の合成には使えない 連想配列でキーに数字(又は数字と解釈できる文字列…
swftools を PHP に binding する試みを開始。 準備 とりあえず、php extension を作る際のイニシエーションの儀式。 % cd php-5.2.9 % ./ext_skel --extname=swftools % cd swftools % vi config.m4 % ./configure % make 詳しくはこっち ↓ http://pwiki.aw…
http://events.php.gr.jp/events/show/71なんでかPHPと関係ないバグ管理システムのRedmineが1番面白くてタメになった気がする不思議。id:yandodさん最高!冒頭のフレームワーク話しは XSS対策で入力バリデート強化って時点で…なんていうか、サニタイズ言う…
会社の同僚と mb_strlen の話をしていて以下のページを見つけましたが、 http://itpro.nikkeibp.co.jp/article/COLUMN/20070307/264117/ というように、mb_strlen()関数の第2引数に$strの文字エンコードを指定すると、 PHPの内部エンコーディング設定に関わ…
そして、array_multisort で同じ事が出来ると同僚から指摘を受ける… ○rz http://www.okuryu.com/blog/archives/2006/03/100202.html 公式マニュアルを見ると、マトリックスソートの説明が前半に書いてあって、 使えないと思い込んでましたが http://jp.php.n…
ORDER BY で複数カラム指定したような sort 関数がないかな。 といった話があったので、試しに作ってみました。 http://diary.awm.jp/~yoya/data/2008/12/11/order_by_sort.phps 使い方サンプル $array = array( array('name' => 'berry', 'price' => 200, '…
配列(array)変数を連結する関数として、 array_merge と array_merge_recursive の2つが有名ですが、 + 演算子も使える事が意外と知られていないような気がするので自分へのメモを兼ねつつ紹介。 実験コード $a = array('goo1' => 'goo1', 'goo2' => array(…
SWF ファイルの中身を解析するページを用意してますが、 http://awm.jp/~yoya/php/flash/swfdump/ 移動しました。↓ http://awm.jp/~yoya/php/swfed/index.php これのソースコードを公開してという声は以前からあり、また、 使いたいけど仕事で使う SWF ファ…
今までは、BitsLossless に対しては png 画像を。BitsJpeg に対しては jpeg 画像しか 差し替えられなかったのですが、BitsJpeg に対して png 画像を。また、その逆でも 差し替えが出来るようにしました。 あと、BitJpeg(1) にαチャネルを与えてもマスクが効…
replaceMP3Data のコードが書きかけで止まっているので、 他の修正をする度にコードをどかして commit してます。 そろそろ面倒になって来たので、mp3 対応の branch を切りました。 mkdir trunk svn add trunk svn commit svn rename src trunk/src svn ren…
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 27944 yoya 15 0 94656 45m 13m S 41.9 4.6 11:01.74 skype 問題なかったので、次はボットをつないで様子を見ます。
エラーのログを見てると、たまに日本語がバックスラッシュでエスケープされてる事があるので、それを解くだけのページを作ってみました。 http://awm.jp/~yoya/php/bs_unescape.php 例えば、 \xe8\xb5\xa4\xe9\x9d\x92\xe9\xbb\x84\xe8\x89\xb2 のような文字…
以前、以下のページを参考にコードを書かれて困ったのを思い出したので。 http://www.tsujita.jp/blojsom/blog/default/PHP/2007/01/12/memcached%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9FPHP%E3%81%AE%E3%82%B7%E3%83%B3%E3%82%B0%E3%83%AB%E3%83%88%E3%83%B3%…
GIF 画像合成では減色処理が必要になるので、減色アルゴリズムの検証として 色んな画像ファイルに対して、 R,G,B ヒストグラムを 3D にマッピングしてみようかと、 軽く 3D plot 処理を考えていたところ、以下の PHP ライブラリを紹介してもらいました。 PHP…
何時の間にか作者に捕捉されてましたw http://diary.eth.jp/?date=20080918#p03 github での fork & pull をお望みのようなので、 github にアカウントを作成*1して、何も考えず fork 。 http://github.com/yoya/ http://github.com/yoya/php-skype/tree/ …
GIF89a Overlap for PHP download | SourceForge.net ↑このツールで複数GIFファイルのフレーム数の最小公倍数を算出する必要があるので、 とりあえずそれっぽいのを実装。 確か、お互いに引き算し合って残った数値がそれとかいう理屈だったので。 そのままコ…
giflib/util/gifovly.c に触発されて、gifovlap extension なるものを実装開始。 gifovly.c がアバター画像作成っぽい処理だと思っていましたが、よくコードを読むと、 アニメーションGIFの各フレームを重ね合わせる処理をしていて、つまり dispose 的な 処…
DIALOG_PARTNER でエラーになる件 http://www.novic.jp/skype/skype-api/skype-api-30ea30d530a130ec30f330b9-1/30aa30a730af30c8/chat-30aa30a730af30c8 https://developer.skype.com/Docs/ApiDoc/OPEN_IM なるほど。Chat のメッセージなのね。 Skype/Chat.…
試しに、Bot を動かしてみました。 http://labs.gree.jp/Top/OpenSource/Skype/Document/Tutorial_Bot.html % cd example % php skype_bot.php PHP Fatal error: Uncaught exception 'Exception' with message 'plugin file not found [Skype/Bot/Plugin/Log…
Skype protocol の仕様は公開されていないので、Skype のインスタンスを起動して、 それを proxy のように利用するのが Skype API の方式。 Skype API on Linux - https://developer.skype.com/Docs/ApiDoc/Skype_API_on_LinuxLinux では D-Bus で通信するら…
最近、動画関連のページを色々と見回っています。 http://pwiki.awm.jp/~yoya/?video 以下のページを見て何となく ftyp 処理のプログラムを作りました。 http://mobilehackerz.jp/archive/wiki/?3GPP2%20File%20Format プログラム http://awm.jp/~yoya/php/m…
試しに導入。 普通は↓こちらを使いそうですが、 QRコードクラスライブラリ for PHP4/5 - Qrcode encode class library for PHP4/5 「実行時にはそれなりの負荷がかかる」と明言してるので、 extension の方を試みました。 php_qr-0.1.0.tgz php_qr-0.1.0 -…
extension を作る時に第3引数をあやふやなまま使っていたので、 一応整理。 php-5.2.6/Zend/zend_API.h を見れば一目瞭然。 #define RETURN_STRINGL(s, l, duplicate) { RETVAL_STRINGL(s, l, duplicate); return; } ↓ #define RETVAL_STRINGL(s, l, duplic…
google で検索してたら http://www.sasaraan.net/program/php/tips.php?id=rand mt_srand(microtime()*1000000); の記述を見つけました。これだと乱数列が100万種に限定されるので、 mt_srand(microtime(true)*1000000); とかの方が良いのでは。 といった指…
億のレコード数を目指すサービスで、 レコードの uniq id を生成する PHP コードをみて絶望したっ! function createUniqID() { srand( (double)microtime()*1000000 ); <略> それは勘弁して… ・゚・(ノД`)・゚・ (検索で見つけたどこかのブログからコピペしてきた…