読者です 読者をやめる 読者になる 読者になる

php

丸善丸の内本店で開催されている「プロが教える!読んでおきたい言語書籍フェア」に行ってきた

4月1日から丸善丸の内本店 4Fのロビー横の一角で、「達人選書!! プロが教える!読んでおきたい言語書籍フェア」が開催されています。これは、丸善丸の内本店とコンピュータ出版販売研究機構(CPU)の共同企画で、各言語コミュニティからおすすめ本を5冊選出し…

日本のPHPコミュニティのあゆみ

php

ソフトウェアデザイン2016年9月号が発売されました。 ソフトウェアデザイン 2016年 09 月号 [雑誌]出版社/メーカー: 技術評論社発売日: 2016/08/18メディア: 雑誌この商品を含むブログ (1件) を見る この号の第2特集でPHPが取り上げられていて、私もコミュニ…

PHP BLT #4 で PHP の興味深い挙動を知った

php

photo by Dana McMahan 昨日は PHP BLT #4 でメルカリに行ってきた。 phpblt.connpass.com そこで @uzulla さんが雑談的に発表された内容に面白いものがありまして。 たしかこんな感じのやつ。 $values = [ 'a' => null, 'b' => 'abc', ]; foreach ($values …

FuelPHPでMongoDBをちょびっと便利に使う

MongoDB Advent Calendar 2013の14日目です。まぁ途中で一度途切れているので気楽に行きましょうw さて、このエントリはここ連続で続いている FuelPHP ネタでもあります。 MongoDBでSQL的なシーケンスをどうするか FuelPHPでMongoDBを使うには、Coreに含まれ…

FuelPHPのViewの自動エスケープについて

php

前回のエントリ「JavaScript側にPHP変数を簡単にまるごと渡す方法 #FuelPHPAdvent2013 - Blog::koyhoge」について、PHPのjson_encode()関数は標準ではエスケープ処理は行わないのでXSS脆弱性があるのではないか、という指摘をいただきました。 json_encode()…

JavaScript側にPHP変数を簡単にまるごと渡す方法 #FuelPHPAdvent2013

php

ハイ、昨日のオレに引き続きFuelPHP Advent Calendar 2013の6日目です。今回の内容もまたTwig絡みです。実は昨日の記事は、本日の記事の前準備になっていたのでした。 JavaScript側にPHPのオブジェクトを渡したい 最近のWebアプリはUIのインタラクションが凝…

「PHPエンジニア養成読本」が9月13日に出版されます

来月9月13日(金)に技術評論社より「PHPエンジニア養成読本」というムックが発売されます。新原さんのエントリや増永さんのエントリがすでにホッテントリ入りしているので、もうご存知の方も多いかもしれません。大きく変わりつつある PHP 開発のイマドキの常…

fuelphp-dynamoutilを公開した

さて、FuelPHP 勉強会 東京 vol.3 : ATND で発表したスライドの中で、FuelPHP で Amazon DynamoDB を使いやすくする SDK のラッパーを OSS で公開したいと予告していたのですが、先ほど github で公開しました。 koyhoge/fuelphp-dynamoutil · GitHub ドキュ…

FuelPHP勉強会東京 vol.3に参加してきた

ここ数ヶ月間は会社のプロジェクトでは FuelPHP を使っています。丁度よいタイミングで勉強会が開催されたので参加しました。 FuelPHP 勉強会 東京 vol.3 : ATND 申し込んだ時点では参加者全員 LT という約束だったので、ここ数ヶ月 FuelPHP を使った実感を…

月の最後の日をPHPで簡単に知る方法

php

集計系の処理のプログラムを開発していると、その月の最後の日を求める必要がちょくちょくあったりしませんか? 私はあります。さてそういう時にどうやって求めるでしょう。答えは一発↓

PEAR::Mail_mimeで日本語ファイル名の添付ファイルを送る方法

php

世の中もう大体 UTF-8 で OK かなと思ったら、メールの添付ファイル名はそうでもないっぽいです。UTF-8 + URLエンコードで添付した日本語ファイル名が正しく読めないメール環境があったので、ISO-2022-JP + base64 にしたら大丈夫でした。 これをするのにPEA…

子プロセス制御ふたたび : PHP Advent Calendar jp 2011 Day 8

php

はい、7日目の @scriptwork さんのエントリ「DateTimeクラスの落とし穴と対策 : PHP Advent Calendar jp 2011 Day 7」から引き続いて、PHP Advent Calendar jp 2011の8日目なわけです。 今回は何を書こうかずいぶん悩んで、ちょうど昨晩開催されたPHP忘年会2…

TwigからEntity::findするフィルターを書いてみた (Symfony Advent Calendar JP 2011 2日目)

初日の @brtriver さんに引き続き Symfony Advent Calendar JP 2011 の2日目です。 ここ数ヶ月 Symfony2 を触っています。実は Symfony 1.X の頃は興味ありながらもほとんど触っていなくて、2になってから触り始めたビギナー&ニューカマーなんです。諸先輩方…

闇PHPMatsuriで発表した

最初はネタ無いしなーと思ってたけど、Net_IPv6 に送ったパッチの話は Twitter にしか書いてなかったので、さくっとスライド作って発表した。 IPv6の闇とPHP View more presentations from koyhoge Slideshare は .key を直接アップロードできるようになった…

LL PlanetsのIPv6ハッカソンとfilter_var()

LL Planets 先週の土曜日 8月20日は文京シビックホールでLL Planetsでした。自分も実行委員会の一人だったので、当日は朝早く起きて荷物を運んだり、会場の映像周りのセッティングをしたりしてました。 LL Planets の出し物の一つである「IPv6ハッカソン」参…

PDO_pgsqlでハマった件 (PHP Advent Calendar 2010 17日目)

php

12/17 が終了して数時間が経ちましたが、16日目「匿名関数と無名関数 (PHP Advent Calendar 2010 16日目) | dogmap.jp」の wokamoto さんからバトンを渡されたPHP Advent Calendarの 17日目です。 さて PHP 5.2.X も終了が宣言された昨今、みなさんの PHP-5.…

Wozozoまつり in openpearの舞台裏

今openpearの中で密かに起きている祭り | この先生きのこるにはopenpearでひっそり盛り上がっていたWozozoまつりがついに白日の下にさらされました。 ということで、なぜこんなことになってしまったのか、#openpear@freenode の当日のログをさらしとこうと思…

LOCAL DEVELOPER DAY '09 /Winterで喋ります

熱い活動を続けている北海道の地域コミュニティLOCALからお誘いを受けまして、「LOCAL DEVELOPER DAY '09 /Winter」でPHPのIPv6対応について喋ることになりました。昨年のInternetWeek 2008や楽天テクノロジーカンファレンスで話した内容から、多少バージョ…

splitの研究 in PHP

php

高林さんがsplit の研究というエントリを書かれています。それに対してtwkさんが split の研究・・・ PHP 募集中 > http://tinyurl.com/5qlu66 http://twitter.com/twk/statuses/905375092 とつぶやいていたので調べてみました。ちなみにphp-5.2.5です。 最…

8/7にPHP4さよなら宴会前夜祭をやるの巻

PHP4送別会の日程が熾烈なアンケートバトルにより8/8に決定したようです。同日開催の某技評イベントに申し込んでしまった人が大量発生涙目状態なので、せっかくだから8/7にも宴会を執り行いたいと思います。 参加希望者はこのエントリにコメントしてください…

PHPの@によるエラー抑制機能の遅さ

php

PHPで@によるエラー抑制は実行が遅いという話は聞いていましたが、実際にベンチマークを取られた方がいました。 で、この処理が「遅い」という噂やツッコミを度々受けるので調べてみました。「ほら、そんな気にするほどでも無いよ」という結果を期待していた…

PHP懇親会に参加しました

3/16に開催された第2回PHP懇親会に参加しました。新宿ファンデリで美味しいご飯を食べながら、参加者全員でライトニングトークをする集まりの2回目です。今回は参加者30名で、一人の持ち時間が5分、5時間に渡る長丁場でしたが、終わってみればあっという間に…

PHP5の例外機能の使い方

PHP5ってどうするんだ PHP5になると美味しいことたくさん 色々組み込まれてる。XMLもDBも美味しい。 例外処理よくわからないから誰か教えて やめだやめだ!Ethnaでいくぞ! - 肉とビールとパンケーキ by @sotarok PHP5の例外機能をどう使えばいいかよく分か…

第2回CakePHP勉強会の動画を今更公開

またもや今更公開シリーズ。2008年2月20日に開催された第2回CakePHP勉強会に参加して動画を撮ってきたので公開します。yandoさんのエントリに各発表スライドへのリンクがあります。 addons.mozilla.org@CakePHP id:yandodさん http://video.google.com/video…

PHPと(Perl|Python|Ruby)の違い

php

それは、PHPユーザーは他の言語から学んでいるのか、という点。PHPユーザーが他の言語ユーザーよりも弱いのは、そこなのではないか。 404 Blog Not Found:「PHPなめんな」と「(Perl|Python|Ruby)をなめんな」の違い 弾さんから説得力のあるPHPへの批判記事が…

PostgreSQLのUNIXドメインソケットとcreoleのDSN

AMNの広告配信サーバを、レンタルサーバから、ハウジングスペースの自前サーバに移行作業をしていますが、今回ようやくWeb1台+DB1台の構成になりました。(冗長性?なにそ(ry) ついでにpgpoolを間に入れて、PHP(Apache)からはUNIXドメインソケットで接続するよ…

PHPカンファレンス2007 ライトニングトーク募集

PHP

現在、9月1日(土)に行われる「PHPカンファレンス2007」のセッションとして予定されている、ライトニングトークの発表者を募集しております。 http://www.php.gr.jp/seminar/20070901/lt_offer.php PHPカンファレンスでもライトニングトーク発表者を募集中で…

Zend Extensionとextension_dir

PHP

zend extension をロードする関数に渡ってきた文字列が絶対パスでない場合は、extension_dir を先頭に付加してやるという単純なパッチです。 ベイエリア情報局: Zend extension を extension_dir からロードできるようにしてみた Zend/zend_extensions.cを直…

namesapce on 5.3

PHP

Subject: RE: Namespaces patch backport Exactly, it will go to 5.3 of course. http://news.php.net/php.internals/31175 まじすか。

PHP_Compatの不可解な挙動

php

本日PEAR::PHP_Compatを使っていて不可解な挙動を見ました。 これを実行すると string(6) "200d0a"とかなるんですが、みなさんのところではどうですか? PHP/Compat/Function/mime_content_type.php が悪そうなこ…

PHPのコードキャッシュがなぜ速いのか

php

Matzにっきから。 私の理解が正しければ、スクリプトキャッシングは、プログラムのロード時に構文解析を行い、内部的に用いる中間表現に変換したものを保存しておくことにより、構文解析のコストを削減し、高速化を実現する技術である。PHP以外にもたとえばP…

PHPアプリの脆弱性をつくボット?

php

私が管理しているWebサーバのログに、PHPアプリの脆弱性を狙ってアクセスしてきているらしいボットの形跡がありました。約1秒の間に、以下のURLを連続してGETしています。 /a1b2c3d4e5f6g7h8i9/nonexistentfile.php /adxmlrpc.php /adserver/adxmlrpc.php /p…

PHPアクセラレータのパフォーマンス比較

php

id:shimookaさんがeAccelerator, APC, xcacheの3つのPHPアクセラレータに関してベンチマークを取ってくれました。 で、グラフと生データは以下の通り。グラフ、かなり見づらくてスミマセン。。。 eAcceleratorとAPCのパフォーマンス比較+xcache - Do You PH…

pcntl extensionを使って一定個数の子プロセスに作業させる方法

PHP

本日はノッキングオンさんで第22回PHP勉強会が開催されたので参加してきました。 その後の宴会で、PHPをCLIで使うときにexec()関数ではなくpcntl extensionを使って子プロセスを制御する話をしたら、周りの人の食いつきがいつになく良かったので、このネタで…

memcachedを用いた関数キャッシュ

PHP

昨年末のPHP東京勉強会でちょっと話したネタ。 これまでは関数キャッシュにはPEAR::Cache_Lite_Functionとかを使っていたのだけど、キャッシュ内容をディスクに書かれるのは遅い気がするし、最近はやぱしmemcachedでしょということで、Memcache extensionを…

関数/メソッドのオプションを柔軟に受け渡す

PHP

Tips公開が流行ってるみたいなのでそれに乗ってみます。関数やメソッドの引数が多くなると、呼び出し側で何をやっているのか分からない表記になりがちです。関数を定義する際もどれを省略可能にするかで引数の順番を悩んだりして…。 たとえばこんな関数があ…

file_exists_ex

PHP

http://blog.poyo.jp/archives.php/categ-1/year-2006/month-7/id-1152085878より。 コメントでいいかと思ったんだけど、ELFさんとこのCAPTCHAを突破できなかったのでTBで。:-) ファイルが存在しない場合に fopen を使うと、そのままでは Warning が出ちゃい…

GMP

PHP

PHP5のCVS版には、gmp_nextprimeという関数が入ってるらしい。これを使うとさしずめ空中戦になるわけか。

PHPな応募ないすね

PHP

キミならどう書く 2.0 - ROUND 1 - — Lightweight Language Ring でPHPな応募がない件について。(TB全部見てないので、もしあったらごめんなさい) ということでいっちょ書いてみました。 アルゴリズムに凝るのは苦手だし、ワンライナーは端からPHPに向いてな…

PHPフレームワークのリスト

PHP

超・極める! PHP のPHPフレームワーク特集に絡んで、フレームワークのリストがあったら下さいと編集さんからリクエストがあったので、ブックマークから抜き出してみました。ずいぶんあるなぁ。(ちなみにABC順に並んでます。) Achievo Tool Kit (ATK) http://…

array_push vs $array[] on PHP 5.1.2

PHP

続、array_pushって遅いんですねより。こちらでも試してみました。 start(); for ($i = 0; $i < $max; ++$i) { array_push($array, $i); } $t->setMarker('array_push finished'); $array = array(); $t->setMarker('array[] start'); for…