php

awkで大きな連想配列

あいかわらずですが、でっかい int 集合を uniq したいときのもう一つの方法として、連想配列を使う方法があります。特定の値を除外したいなど、ちょっとデータを加工したいときになんかしらの言語を使うかんじです。 php だったら (ひさしぶりの) php でや…

補遺: いいように日付を解釈してくれるもの

最初に申し上げると、id:hnw大先生の記事を読んでないことがバレバレで大変恥ずかしい思いでおります。そうしている間にid:hnw大先生にコメントつけられちゃってid:hnw大先生に会わせる顔がないです…。ううう。 『今月の月末って何日?』問題の解 date 関数で…

いいように日付を解釈してくれるもの

今年のleap second祭りはけっこう盛り上がりましたね。個人的なMVPはうるう秒のNTT時報‐ニコニコ動画(ββ)だったと思います。 相対的な日付って さて、10日後っていつだっけ?って思ったときに % date -d "+10day" +%Y/%m/%d 2009/01/31とか % phsh

phpカンファレンス行けなかった

残念。しかしustがあるのでほんと行けなくても行った気になれる! いいんだかわるいんだか微妙なとこだとは思いますが、物理的に行けるなら行っておけば良かった。ほんと残念。http://www.ustream.tv/channel/phpconで。http://www.php.gr.jp/seminar/2008072…

rhaco Riaf Conference 1 行ってきた

http://tokushimakazutaka.com/welcome_riafところが毎度のごとく寝坊で超絶に遅刻。うーむ。土曜の昼はやばいなぁ。今週はとくに寝てなかった、ってことで許してください…。詳しい内容は、とりあえず id:sotarok の http://d.hatena.ne.jp/sotarok/20080315…

連想配列のキーに渡したときの暗黙のキャスト

php

http://d.hatena.ne.jp/hnw/20080222 のネタですが、以前 hnw さんが調べた (http://d.hatena.ne.jp/hnw/20070521) とおっしゃっていたところにはあのときの主張は書いてないみたい。ということで短いネタですが書いておきます。 の出力が以下のようになり…

1/1〜12/31を出力する

php

via. http://d.hatena.ne.jp/sotarok/20080126/1201358891 /dev/null' real 0m0.035s user 0m0.030s sys 0m0…

第1回PHP拡張勉強会

おそくなっちゃったけど第1回PHP拡張勉強会に行ってきました。C書けない人が行っていいのか正直不安だったけど、とりあえずコピペで様子がわかる & 再現できる状態に用意していただいてたので、すごいわかりやすかったです。ほんとありがとうございます > id…

phpぞうさんとちょいざるとにんじん

早起きしたのでやっと写真上げます。ふつうにかわいいですね。ミッフィーのぞうさんぽいと思ってたけど、ちょっとハナが長い。わがままいって強引にもらってきたElePHPant。さる初登場です。tyのschweetheartで、ちょいざるっていいます。にんじんをphpぞう…

第29回php勉強会

http://events.php.gr.jp/event.php/event_show/31参加表明しておきながら仮眠で寝坊して肉からの参加となってしまいました…。おもしろそうな発表がたくさんあって、かなりショック。でも遅刻してでも行ってよかった。また亜熱帯あたりに行きたくなりました…

phpぞうさん

http://d.hatena.ne.jp/i_ogi/20071214/elephpant の php ぞうさんを(かなり裏口てきなやり方で)おぎサンタからいただきました!!とりあえず写真を mixi に上げたんだけど、ちょっと疲れたのではてなのほうはまた今度。はてなもアップローダがほしいなぁ。

phshのパッチを当てていただきました! (+phpの言語構造のナゾ)

http://blog.bz2.jp/archives/2007/11/phsh.html尾藤さんが9月のphpカンファレンスで発表されたphshで、たとえば

適切な数の型にキャストって

php

数値がらみの話で hnw さんにすこしでも絡めるべく。 どうしてもis_numeric()が使いたいのであれば、is_numeric()がtrueを返した直後に整数なり浮動小数点数なりにキャストすれば問題が起こることは無いはずです。 http://openlab.dino.co.jp/2007/11/23/121…

php勉強会じゃなくて懇親会 (と preg v.s. mb_ereg)

php

http://events.php.gr.jp/event.php/event_show/29行ってきました。LT 3分 x 29人という珍しい形式で、大成功だったんじゃないかと思います。どれも面白い話で、すぐに次の話題になっちゃうのがひたすらもったいなかった。正直、もうあと3時間くらい欲しいく…

proc_open と stream_select

php

あいかわらずphpでやんなくていいじゃんな話、なのかな。そうでもないかも。php.net の proc_open の例にあるように、 proc_open() で子プロセスを起動してstream_get_contents() すると、場合によっては固まったまま動かなくなったりします。「デッドロック…

pbzip2 と php の bzip2 関数

http://compression.ca/pbzip2/ PBZIP2 is a parallel implementation of the bzip2 block-sorting file compressor that uses pthreads and achieves near-linear speedup on SMP machines. bz2は圧縮後のサイズが小さくていいんだけど、ちょっと遅いのが玉…

第24回PHP勉強会

ちょっと時間経っちゃいましたが、先週の木曜日(2007/05/24)に 第24回PHP勉強会 に行ってきました。ブログからトラックバックを受け付けられるようになったとのことで、初トラックバックに挑戦です。 Tx を php の extenstion に 1つめはhaltさんのTxをphpの…

refcount問題

放置しすぎなのでとりあえずなんか書いておこうと思いました。はてな記法を忘れつつある...。http://diary.eth.jp/?date=20070327#p02 に書かれてしまったネタですが、 「segmentation faultになるのは分かった、じゃあどうすんのよ?」というのをもりよしに…

cli/php.exe

そうそう、忘れてたんですが、前々回にコマンドプロンプトからのphpはcgiだったのでした。 C:\php>php -v PHP 4.4.4 (cgi-fcgi) (built: Aug 16 2006 01:17:43) Copyright (c) 1997-2006 The PHP Group Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Te…

php4 と class PEAR

ふと思い出したのですが、PEARクラスはregister_shutdown_function()をつかってphp4でもデストラクタっぽいものをつくってるらしい。PEAR.phpの209行目ふきんで /** * Destructor (the emulated type of...). Does nothing right now, * but is included for…

PEAR/Installer.php と大文字/小文字

あけましておめでとうございます。最近ここの存在をすっかり忘れていました。今日は体調不良で家でだらだらしていたために気づいたのでした。せっかくなのでなんか書きます。 Ethna-2.3.0のPEARパッケージは何がおかしかったのか? Ethna-2.3.0のPEARパッケー…

Ethna-2.3.0-preview3 リリース

しばらくなんも書いてなかったことに気づいたのでなんか書こう。preview3リリースしました。以上。 あと1週間で本番出せるかなー。logの設定とかUrlHandlerの$action_mapの設定方法とか、仕様は固まってて手段の変更みたいなのは後回しにしようと思ってたけ…

エラーハンドリング・さらにつづき

先日のメモをまとめているうちに、おかしなところがちょっと見えてきたので、整理してコミットしました。大きくは変わっていないけれど、 ethna_handle_error()の定義をEthna_Logger.phpからEthna_Error.phpに移動 Ethna.phpでもよかったけれど、エラー回り…

エラーハンドリング・つづき

[追記] 以下の内容はすこし変わってしまいました。このあいだのつづき。 Ethnaのエラーの取り扱い このあいだにちょっとだけ書いたとおり、Ethnaは基本的にはPEARのエラーの使いかたをそのまま継承しています。が、PEARそのものよりももうすこし複雑かもしれ…

エラーハンドリング

しばらくサボってたEthnaさんをひさしぶりにさわってたら、pearcmd.phpだとメッセージを出してちゃんと終わってくれるものが、同じことをやっているのにPEAR/Commandを直で叩いたらfatalが出る。なんだっけこれ? って調べてるうちにPEARのエラーハンドラにdi…

c++からmysql_query

libmysqlclient-devを使ってみるテスト。 http://dev.mysql.com/doc/refman/5.0/en/c-api-functions.html に書いてあるサンプルをつぎはぎしただけでそれなりに動きました。php でいう PEAR_DB みたいな DB の抽象化クラスって c++ にはないのかな。 php み…

改行?

php

下の改行の話、なんかよくわかんないな。根本的に mac 式の '\r' だけの改行に php は対応していないのかも。 ってやると、 line = 1 line = 1 line = 2 line = 2ってなるし。

php の '@' 演算子

php

以下 php4.4 の話。 ふしぎなphp いきなり関係ないですが、 ってやると、 Parse error: parse error, unexpected ';' in /hoge/fuga.php on line 3って言われます。どこに期待していない ';' があるんだよ! って思いますよね。理由は zend_compile.c の 2516…

pear/XML_PRC-1.50 で勝手に mb_convert_encoding

XML_RPC関連をちょっといじっている間に、どうもうまく動かなくなって、最近すごい悩んでました。いじっているせいで動かなくなったんだと思って、うーんうーんと考えていたんですが、すこしずつつぶしていった結果、どうも pear/XML_RPC のアップデートに由…

pearコマンドの中身

でびあんだとsudo apt-get install pearで入ってくれるPEARですが、いろんなパッケージをダウンロードしたりインストールしたりしてくれるpearコマンド(/usr/bin/pear)の実体は、/usr/share/php/pearcmd.phpを経由してPEAR_Commandクラスの対応する関数を実…