hnwの日記

レベル48の遊び人。http://hnw.jp/ の中の人です。


仕事ではWebのプログラミングをしてきました。これまでPHPメインのお仕事が多かった印象ですが、C、C++、Java、XSLTなどのコードを書く仕事もありました。ApacheのモジュールやPHPのエクステンションを納品したような経験もあります。また、学生時代は情報専攻で、Schemeなら今でも多少は書けます。最近はHaskellもボチボチ書けるようになってきました。自分用の使い捨てプログラムを書くなら20年来Perlです。


境界値バグが大好物です。特に浮動小数点数絡みのバグについては、浮動小数点数のどんな性質からどんなバグが生まれるかに興味があるため、OSSでのバグの実例を見つけたら備忘録としてブログ記事にしています。ただし、今後Monoのバグを見つけた場合はMonoのバグだとわからないように記事にします。


この日記上のコード断片のうち、私が新規に書いたものについてはMITライセンスに従うものとし、かつ著作権を主張するつもりはありません。ライセンス表記を明示的に付けて欲しいというご要望があればお気軽にお問い合わせください。


メールでのご連絡がある方は y あっと hnw どっと jp までどうぞ。gmailがSPAM判定しないかぎり読みます(お返事が遅くなることはよくあります)。

雑誌・Web掲載記事

2002年4月 Software Design 2002年5月号
「特集:WindowsでわくわくUNIX体験」
第1部 Windows上のUNIX環境Cygwin活用ガイド 3 Cygwinの一歩進んだ利用法
2008年9月 Software Design 2008年10月号
「第2特集 UNIXプログラミングツールをマスターせよ 2008」
1章:〜./configure→make→make installって何をしているの?〜プログラムがインストールされるまで
2010年4月 WEB+DB Press Vol.56
PHP転ばぬ先の杖
【第1回】型を知れば,比較の挙動が見えてくる
2010年6月 WEB+DB Press Vol.57
PHP転ばぬ先の杖
【第2回】PHPでの数値の正しい扱い方――浮動小数点数,巨大な整数
2010年8月 WEB+DB Press Vol.58
PHP転ばぬ先の杖
【第3回】PHPの文字列処理――文字エンコーディングと正規表現
2010年10月 WEB+DB Press Vol.59
PHP転ばぬ先の杖
【第4回】ストリームとファイル入出力――ローカル/リモートのさまざまなファイルを透過的に扱う
2010年12月 WEB+DB Press Vol.60
PHP転ばぬ先の杖
【第5回】PHPの日付と時刻――日付の解釈・比較,タイムゾーン,トラブル対策
2011年2月 WEB+DB Press Vol.61
PHP転ばぬ先の杖
【最終回】失敗しない関数・クラスの選び方――見極めのポイント,情報収集法,ケーススタディ
2015年1月 gihyo.jp
2015新春特別企画「PHP処理系の未来

講演・発表

2005/11/26 第6回PHP勉強会 in Tokyo
「CodeGen_PECL」
2006/02/25 第9回PHP勉強会 in Tokyo
「「==」と「===」のキモい挙動について」
2006/05/23 第12回PHP勉強会 in Tokyo
「続・CodeGen_PECLの紹介」
2006/09/25 第16回PHP勉強会
「==がキモイ件続き」
2007/06/24 第25回PHP勉強会
「PHPの奇妙な8進数&皆様にご相談」
2007/12/30 第29回PHP勉強会
PHPの正規表現と最長一致
2008/07/06 PHP勉強会 SIDE-B
「PHPのfloat型やらint型やらの話」
2008/08/23 第01回まっちゃ445勉強会
「XSS脆弱性に対しXHRを用いた攻撃」
2008/12/20 第38回PHP勉強会
「PHPの全バージョンを揃えよう」
2009/08/01 第45回PHP勉強会@関東
「バグレポしようぜ!」
2009/09/05 PHPカンファレンス2009
「phpall:PHPの全バージョンの挙動を試す」
2010/03/28 第51回PHP勉強会@関東
「64bit PHPの罠」
2010/09/25 PHPカンファレンス2010
「PHPストリーム概説」
2010/10/03 PHPMatsuri
「How to get pure PHP language parser」
2011/06/04 第4回Symfony2勉強会
PHPUnitのMockObjectの紹介
2011/09/10 PHPカンファレンス2011
「バグ発見ツールPHPBugsのご紹介」
2012/05/25 第59回PHP勉強会@東京
PHPのマルチバイト処理 ― 分類と落とし穴
2012/06/30 Symfony勉強会#6
PHPで時間旅行をする方法
2012/09/01 第三回闇PHP勉強会
PHPエクステンションの開発tips
2012/09/15 PHPカンファレンス2012
php-timecopを実戦投入してみた
2013/03/02 第四回闇PHP勉強会
Testing PHP extension on Travis CI
2013/03/27 第66回PHP勉強会
PHP-FPMとuWSGI――mod_php以外の選択肢を探る
2013/07/22 第70回PHP勉強会
浮動小数点数の話 2013年度版
2013/09/15 PHPカンファレンス2013
Zend OPcacheの速さの秘密を探る
2014/03/15 第五回闇PHP勉強会
zval をダイエットしてみた
2014/10/11 PHPカンファレンス2014
PHPNGの動向
2014/12/24 第85回PHP勉強会
PHP7はなぜ速いのか
2015/01/31 江戸前セキュリティ勉強会
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
2015/05/30 PHPカンファレンス関西2015
PHP7で変わること ――言語仕様とエンジンの改善ポイント
2015/09/04 Developers Summit 2015 KANSAI
PHP7の内部実装から学ぶ性能改善テクニック
2015/09/05 LL Ring Recursive
「Language Update」
2015/10/01 第94回PHP勉強会
PHP7の拡張モジュール事情
2015/11/22 第六回闇PHP勉強会
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
2015/11/24 PHP BLT #1
php-buildがいかに便利かを力説する
2015/12/6 Go Conference 2015 Winter
PHPの拡張モジュールをGoで作る
2016/8/27 Lightweight Language of Things
Laungage Update PHP編
2016/11/3 PHPカンファレンス2016
家庭用ブロードバンドルータ上でWordPressを動かそう
2016/12/11 第六回闇PHP勉強会
realpathキャッシュと OPcacheの面倒すぎる関係
2017/10/8 PHPカンファレンス2017
PHP拡張をPECLに登録してわかったこと
2021/03/27 PHPerKaigi 2021
PHP7から不変配列がOPcacheに乗るのでKVSを置き換えられるかもしれないという話
2022/04/10 PHPerKaigi 2022
PHPerだってPHPから「OKグーグル」したい!
プロフィール
id:hnw
ブログ投稿数
306 記事
ブログ投稿日数
306 日
読者