レベル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 日
- 読者