Upload
Download free for 30 days
Login
Submit Search
php-timecopを実戦投入してみた
4 likes
6,700 views
Yoshio Hanawa
1 of 12
Download now
Downloaded 11 times
1
2
3
4
5
6
7
8
9
10
11
12
More Related Content
KEY
PHPエクステンションの開発tips
Yoshio Hanawa
PDF
PHPの拡張モジュールをGoで作る
Yoshio Hanawa
PDF
php-buildがいかに便利かを力説する
Yoshio Hanawa
PDF
PHPの今とこれから2015
Rui Hirokawa
PDF
PHP7の拡張モジュール事情
Yoshio Hanawa
PDF
PHP7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
PDF
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
PDF
PHPNGの動向
Yoshio Hanawa
PHPエクステンションの開発tips
Yoshio Hanawa
PHPの拡張モジュールをGoで作る
Yoshio Hanawa
php-buildがいかに便利かを力説する
Yoshio Hanawa
PHPの今とこれから2015
Rui Hirokawa
PHP7の拡張モジュール事情
Yoshio Hanawa
PHP7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
PHPNGの動向
Yoshio Hanawa
What's hot
(20)
PDF
Php非同期の技法
Shogo Kawahara
PDF
Phpでアプリケーションサーバー
k-motoyan
PDF
PHP7はなぜ速いのか
Yoshio Hanawa
PDF
anyenv + phpenv + php-build が便利すぎる件
y-uti
PDF
Zend OPcacheの速さの秘密を探る
Yoshio Hanawa
PDF
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
PDF
Cake php + php unitによる実践的ユニットテスト
慶信 若松
PDF
zval をダイエットしてみた
Yoshio Hanawa
PPTX
あるあるLT〜サーバーサイドエンジニア〜 Vol.3
Keiichi Hagiwara
PDF
PSGIへの誘い
azuma satoshi
PDF
Phjosh(仮)プロジェクト
Moriyoshi Koizumi
PDF
WordPress on HHVM + Hack
Takayuki Miyauchi
PDF
よりよいPHPUnitの実行方法を求めて
Akio Ishida
PDF
PHPデプロイツールの世界
Yuuki Takezawa
PDF
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
PDF
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
PPTX
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
PDF
RFC: "var" Deprecation
y-uti
PDF
PHPerに覚えて欲しい日本語の重要性
Rina Fukuda
PDF
PHP5.6からPHP7.0への移行
Yasuo Ohgaki
Php非同期の技法
Shogo Kawahara
Phpでアプリケーションサーバー
k-motoyan
PHP7はなぜ速いのか
Yoshio Hanawa
anyenv + phpenv + php-build が便利すぎる件
y-uti
Zend OPcacheの速さの秘密を探る
Yoshio Hanawa
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
Cake php + php unitによる実践的ユニットテスト
慶信 若松
zval をダイエットしてみた
Yoshio Hanawa
あるあるLT〜サーバーサイドエンジニア〜 Vol.3
Keiichi Hagiwara
PSGIへの誘い
azuma satoshi
Phjosh(仮)プロジェクト
Moriyoshi Koizumi
WordPress on HHVM + Hack
Takayuki Miyauchi
よりよいPHPUnitの実行方法を求めて
Akio Ishida
PHPデプロイツールの世界
Yuuki Takezawa
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
RFC: "var" Deprecation
y-uti
PHPerに覚えて欲しい日本語の重要性
Rina Fukuda
PHP5.6からPHP7.0への移行
Yasuo Ohgaki
Ad
More from Yoshio Hanawa
(20)
PPTX
自宅の消費電力をリアルタイムに グラフ化してみた
Yoshio Hanawa
PDF
Zend VMにおける例外の実装
Yoshio Hanawa
PDF
Zend VMにおける例外の実装
Yoshio Hanawa
PDF
ぼくのかんがえる さいきょうの銀行振込
Yoshio Hanawa
PDF
「OKグーグル! 銀行振込1000円」
Yoshio Hanawa
PDF
浮動小数点数とOSSのバグの話
Yoshio Hanawa
PDF
PHP拡張をPECLに登録してわかったこと
Yoshio Hanawa
PDF
GitHubからお金をもらった話
Yoshio Hanawa
PDF
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
Yoshio Hanawa
PDF
realpathキャッシュと OPcacheの面倒すぎる関係
Yoshio Hanawa
PDF
家庭用ブロードバンドルータ上でWordPressを動かそう
Yoshio Hanawa
PDF
Laungage Update PHP編
Yoshio Hanawa
PDF
GitHubにバグ報告して賞金$500を頂いた話
Yoshio Hanawa
PDF
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
PDF
PHPの正規表現と最長一致
Yoshio Hanawa
PDF
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
Yoshio Hanawa
PDF
浮動小数点数の話 2013年度版
Yoshio Hanawa
PDF
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Yoshio Hanawa
PDF
Testing PHP extension on Travis CI
Yoshio Hanawa
PDF
PHPで時間旅行をする方法
Yoshio Hanawa
自宅の消費電力をリアルタイムに グラフ化してみた
Yoshio Hanawa
Zend VMにおける例外の実装
Yoshio Hanawa
Zend VMにおける例外の実装
Yoshio Hanawa
ぼくのかんがえる さいきょうの銀行振込
Yoshio Hanawa
「OKグーグル! 銀行振込1000円」
Yoshio Hanawa
浮動小数点数とOSSのバグの話
Yoshio Hanawa
PHP拡張をPECLに登録してわかったこと
Yoshio Hanawa
GitHubからお金をもらった話
Yoshio Hanawa
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
Yoshio Hanawa
realpathキャッシュと OPcacheの面倒すぎる関係
Yoshio Hanawa
家庭用ブロードバンドルータ上でWordPressを動かそう
Yoshio Hanawa
Laungage Update PHP編
Yoshio Hanawa
GitHubにバグ報告して賞金$500を頂いた話
Yoshio Hanawa
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
PHPの正規表現と最長一致
Yoshio Hanawa
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
Yoshio Hanawa
浮動小数点数の話 2013年度版
Yoshio Hanawa
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Yoshio Hanawa
Testing PHP extension on Travis CI
Yoshio Hanawa
PHPで時間旅行をする方法
Yoshio Hanawa
Ad
php-timecopを実戦投入してみた
1.
php-timecopを 実戦投入してみた
hnw PHPカンファレンス2012(2012/09/15) 発表資料
2.
自己紹介 @hnw 勤務先:KLab株式会社 PHPのコードを書いたりコードレビューしたり 時々パフォーマンスチューニングしたり
エンジニアを絶賛募集中です
3.
社内で困っていたこと 社内PHP案件で「仮想カレンダー」のニーズ 時刻ベースでの動作確認がしたい
テンプレート表示 / DB値の時刻にイベント発生 標準の時刻系関数を使っている 例: strtotime( -7days ) 現在時刻を仮想的にずらすのは難しい
4.
それ PHPエクステンションで
できるよ!
5.
php-timecop作りました 自作のPHPエクステンション https://github.com/hnw/php-timecop PHP内のみ現在時刻を仮想的にズラす関数を提供 全ての日付系関数/クラスを上書き mbstringの実装を参考にした
大半の実装は第二引数を補って元の関数を呼び出し
6.
php-timecop動作例
7.
時間移動(unixtimeで指定) php-timecop動作例
8.
時間移動(unixtimeで指定)
現在時刻がunixtime=0にズレる php-timecop動作例
9.
導入までの軌跡 2012年6月 有休を使ってプロトタイプ作成 2012年6月 社内で紹介したところ、人柱案件が立候補 (しばらく別件で忙しくて放置) 2012年8月
メモリリークを修正・機能追加 2012年8月 社内開発Webサーバ30台にphp-timecop導入 2012年9月 人柱案件で仮想カレンダー機能テスト中
10.
仮想カレンダー機能
11.
まとめ php-timecop作りました PHPの現在時刻を仮想的にズラせます! 安定性は問題なし(いまのところ) 興味を持った方はGitHubまたは現実世界で
IssueやPull Requestをお待ちしております
12.
ご静聴 ありがとう ございました
Editor's Notes
#2:
\n
#3:
\n
#4:
\n
#5:
\n
#6:
\n
#7:
\n
#8:
\n
#9:
\n
#10:
\n
#11:
\n
#12:
\n
#13:
\n
Download