SlideShare a Scribd company logo
1 of 79
Download to read offline
FuelPHPで
3種のProfilerを使ってみた
PHP カンファレンス 2013
2013/09/14
株式会社 サイバード
三浦 克浩
13年9月14日土曜日
アジェンダ
•自己紹介
•プロファイラとは
•New Relicについて
•xhprofについて
•PHP Quick Profilerについて
13年9月14日土曜日
自己紹介
• 名前:三浦 克浩
• Twitter ID:@MiuraKatsu
• 仕事:ソーシャルゲーム開発
• 好きなフレームワーク:
CakePHP、Yacafi
• 浦和レッズ:
13年9月14日土曜日
プロファイラ使ってますか?
13年9月14日土曜日
プロファイラとは
プロファイラ(英: Profiler)は性能解析ツールであり、
プログラム実行時の各種情報を収集する。特に、関数
呼び出しの頻度やそれにかかる時間を計測する。出力
は記録したイベントの羅列(トレース)の場合と、観測
したイベント群の統計的要約(プロファイル)の場合が
ある。
出典: http://ja.wikipedia.org/wiki/
%E6%80%A7%E8%83%BD%E8%A7%A3%E6%9E%90
13年9月14日土曜日
要はパフォーマンス・チューニングと
ボトルネック調査の時に使うアレ
13年9月14日土曜日
こんな時とか
13年9月14日土曜日
こんな時とか
こんな時に使うアレ
13年9月14日土曜日
諸般の事情により
FuelPHPでパフォーマンス・チューニング
使わざるを得ない状況に
13年9月14日土曜日
FuelPHPでパフォーマンス・チューニング
幾つかのプロファイラを使ってみた
その時ゴニョゴニョしたことのまとめ
13年9月14日土曜日
FuelPHPで∼を使うには
New Recli編
https://newrelic.com/
13年9月14日土曜日
New Relicとは
13年9月14日土曜日
New Relicとは
SaaS型パフォーマンス
監視サービス
13年9月14日土曜日
エージェントを
インストールするだけで
13年9月14日土曜日
こんな画面とか
13年9月14日土曜日
こんな画面が
13年9月14日土曜日
超お手軽
自分、SaaSですから
13年9月14日土曜日
さらに
13年9月14日土曜日
Summary
13年9月14日土曜日
Trace details
13年9月14日土曜日
メソッド単位で
13年9月14日土曜日
超べんり
※ただしイケメン有料版に限る
13年9月14日土曜日
13年9月14日土曜日
必要な時だけ
13年9月14日土曜日
対応フレームワーク
• CakePHP 1.2, 1.3, and 2.*
• CodeIgniter 2
• Drupal 6 and 7
• Joomla 1.5 and 1.6
• Kohana 3.2 and 3.3
• Magento 1.5 and 1.6
• MediaWiki
• QDrupal
• Symfony 1
• WordPress
• Yii
• Zend Framework 1
13年9月14日土曜日
_人人人人人人人人人人人人人人人_
> まさかの FuelPHP 非対応 ww <
 ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
13年9月14日土曜日
非対応だと
全部 index.php
13年9月14日土曜日
非対応だと
全部 index.phpアクセスした
URLで分けたい
13年9月14日土曜日
ゴニョゴニョします
NewRelicの
インストール方法は各自で
13年9月14日土曜日
index.php
try
{
	 $response = Request::forge()->execute()->response();
}
47行目位∼
13年9月14日土曜日
index.php
try
{
	 //$response = Request::forge()->execute()->response();
	 $request = Request::forge();
	 $response = $request->execute()->response();
	 //New Relic対応
	 if (extension_loaded ('newrelic'))
{
	 	 $segments = $request->uri->get_segments();
	 	 $newrelic_controller = isset($segments[1]) ? $segments[1] : null;
	 	 $newrelic_action = isset($segments[2]) ? $segments[2] : null;
	 	 $newrelic_params = isset($segments[3]) ? $segments[3] : null;
	 	 newrelic_name_transaction (
$newrelic_controller . '/' .
$newrelic_action . '/' .
$newrelic_params);
	 }
}
13年9月14日土曜日
なんでそんな処理に?
newrelic_name_transaction( )
に渡したstringはURLとして扱われる
$request->uri->get_segments( )
でURLを配列として取得
‘/’で結合してnewrelic_name_transaction( )に
13年9月14日土曜日
13年9月14日土曜日
注意点
Request::forge()->execute()->response()
を抜けたあとで処理しているので、
途中でReturnせずにExitしたりRedirectしたりすると
全部 index.php 扱い
13年9月14日土曜日
問題点
NewRelicはパフォーマンス監視サービス
しきい値を超えて遅いものしか
分析できない
13年9月14日土曜日
問題点
NewRelicはパフォーマンス監視サービス
しきい値を超えて遅いものしか
分析できない
個々の処理についても詳しく調べたい!
13年9月14日土曜日
FuelPHPで∼を使うには
xhprof編
http://pecl.php.net/package/xhprof
13年9月14日土曜日
xhprofとは
facebook.comの中の人が
作ったプロファイラ
13年9月14日土曜日
プロファイル情報がブラウザで見られる
13年9月14日土曜日
プロファイリングの階層表示も
13年9月14日土曜日
13年9月14日土曜日
処理のフローをグラフ化
13年9月14日土曜日
13年9月14日土曜日
13年9月14日土曜日
ボトルネックが一発で!
13年9月14日土曜日
超べんり
13年9月14日土曜日
ゴニョゴニョします
xhprofの
インストール方法は各自で
13年9月14日土曜日
index.php
// Boot the app
require APPPATH.'bootstrap.php';
43行目位∼
13年9月14日土曜日
index.php
// xhprofile
if(function_exists('xhprof_enable')){
	 xhprof_enable();
}
// Boot the app
require APPPATH.'bootstrap.php';
bootstrap.phpの前で
xhprof_enable()
13年9月14日土曜日
index.php
// Boot the app
require APPPATH.'bootstrap.php';
if(function_exists('xhprof_disable'))
{
	 register_shutdown_function( function()
	 {
	 	 $xhprof_data = xhprof_disable();
	 	 $XHPROF_ROOT = '/var/www/xhprof/'; //xhprofをインストールしたディレクトリ
	 	 $XHPROF_SOURCE_NAME = 'fuelphp';
	 	 include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
	 	 include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";
	 	 $xhprof_runs = new XHProfRuns_Default('/tmp');
	 	 $run_id = $xhprof_runs->save_run($xhprof_data, $XHPROF_SOURCE_NAME);
	 	 echo "<a href="http://".$_SERVER["SERVER_ADDR"]."/xhprof_html/index.php?run=
$run_id&source=$XHPROF_SOURCE_NAME">xhprof Result</a>n";
});
}
bootstrap.phpの後で
register_shutdown_function()
13年9月14日土曜日
core/bootstrap.phpの中でも
register_shutdown_function()が
呼ばれてる
Event::shutdown()の実行
この処理の後に実行させたいので
bootstrap.phpの後で
register_shutdown_function()
なんでそんな処理に?
13年9月14日土曜日
13年9月14日土曜日
13年9月14日土曜日
ログになら
	 	 Log::debug("[" . $_SERVER['REQUEST_URI'] . "] -> http://".
$_SERVER["SERVER_ADDR"]."/xhprof_html/index.php?run=$run_id&source=
$XHPROF_SOURCE_NAME");
	 	 echo "<a href="http://".$_SERVER["SERVER_ADDR"]."/xhprof_html/index.php?
run=$run_id&source=$XHPROF_SOURCE_NAME">xhprof Result</a>n";
13年9月14日土曜日
問題点
インストールがちょっと面倒くさい
peclだとコケるし
Graphvizとか必要だし
結果ファイルがダブつく
/tmpを何度かパンパンにしました
もっと詳細な情報がほしい!
13年9月14日土曜日
FuelPHPで∼を使うには
PHP Quick Profiler編
http://www.particletree.com/features/php-quick-profiler/
13年9月14日土曜日
PHP QuickProfilerとは
particletree.comの中の人が
作った
プロファイラ
13年9月14日土曜日
13年9月14日土曜日
13年9月14日土曜日
カッコいいGUI
13年9月14日土曜日
13年9月14日土曜日
多機能
Log、SQL Query、
Memory、LoadFile、etc...
13年9月14日土曜日
超べんり
13年9月14日土曜日
なにより
13年9月14日土曜日
FuelPHP標準装備
13年9月14日土曜日
FuelPHP標準装備
13年9月14日土曜日
超お手軽
てゆうか、これ絶対入ってるよね
13年9月14日土曜日
問題点
表示(echo)してるだけ
保存できない
非表示
($config[‘profiling’] = false)
取れない
13年9月14日土曜日
https://github.com/MiuraKatsu/fuelphp-profiler-log
Packageを作った
13年9月14日土曜日
プロファイル情報をDebug Logに出力
画面に表示/非表示にかかわらず取得可能
出力する情報種別も選択可
13年9月14日土曜日
ゴニョゴニョしました
ProfilerLogの
インストール方法は・・・
13年9月14日土曜日
インストール方法
package配下に展開
core/classes/profiler.phpの差し替え
patch -u core/classes/profiler.php < packages/profiler-log/patch/profiler.patch
$config[‘profiler’]の設定
git clone -recursive git://github.com/MiuraKatsu/fuelphp-profiler-log.git
13年9月14日土曜日
やっていること
•core/classes/profiler.phpにメソッドの追加
•Event::shutdown()にProfileLog::shutdown登録
•ProfilerLog::shutdown()でプロファイルデータ取得
•ついでにSessionIdも追加
•Log::debug()に指定したデータをprint_r()で出力
13年9月14日土曜日
こんな感じ
INFO - 2013-09-08 18:28:19 --> FuelCoreRequest::__construct - Creating a new Request with URI =
"welcome/index"
INFO - 2013-09-08 18:28:19 --> FuelCoreRequest::execute - Called
INFO - 2013-09-08 18:28:19 --> FuelCoreRequest::execute - Setting main Request
DEBUG - 2013-09-08 18:28:19 --> Array
(
[session_id] => ce1d264276ff7a28bf33883bf69d173a
[output_data] => Array
(
[logs] => Array
(
[console] => Array
(
[0] => Array
(
[data] => 46.040 ms
[type] => speed
[name] => FuelCoreProfiler::init Start
)
[1] => Array
(
[data] => 67.952 ms
[type] => speed
[name] => FuelCoreFuel::init End
)
[2] => Array
13年9月14日土曜日
展開
Driverを追加すれば、
DBとか
fluentdとかにも
13年9月14日土曜日
•New Relicで当たりをつける
•xhprofでボトルネックを絞り込む
•ProfilerLogで詳細情報を取得する
まとめ
13年9月14日土曜日
•New Relicで当たりをつける
•xhprofでボトルネックを絞り込む
•ProfilerLogで詳細情報を取得する
まとめ
みんなで幸せになろう
13年9月14日土曜日
幸せになりたい
エンジニア募集中
13年9月14日土曜日
ご清聴ありがとうございました。
13年9月14日土曜日

More Related Content

What's hot

30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方uchan_nos
 
Android カスタムROMの作り方
Android カスタムROMの作り方Android カスタムROMの作り方
Android カスタムROMの作り方Masahiro Hidaka
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニングyoku0825
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについてカスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについてalwei
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールMITSUNARI Shigeo
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
LR parsing
LR parsingLR parsing
LR parsingichikaz3
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐりKazuyuki TAKASE
 
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)uchan_nos
 
異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j昌桓 李
 
Laravelを用いたゲームサーバーのチューニング
Laravelを用いたゲームサーバーのチューニングLaravelを用いたゲームサーバーのチューニング
Laravelを用いたゲームサーバーのチューニングNOW PRODUCTION
 
C++でできる!OS自作入門
C++でできる!OS自作入門C++でできる!OS自作入門
C++でできる!OS自作入門uchan_nos
 
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォークSQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォークke-m kamekoopa
 
Spring 5に備えるリアクティブプログラミング入門
Spring 5に備えるリアクティブプログラミング入門Spring 5に備えるリアクティブプログラミング入門
Spring 5に備えるリアクティブプログラミング入門Takuya Iwatsuka
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理Tadashi Miyazato
 

What's hot (20)

30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方
 
Android カスタムROMの作り方
Android カスタムROMの作り方Android カスタムROMの作り方
Android カスタムROMの作り方
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについてカスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
 
Raspberry Piで始める自宅サーバー超入門
Raspberry Piで始める自宅サーバー超入門Raspberry Piで始める自宅サーバー超入門
Raspberry Piで始める自宅サーバー超入門
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツール
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
LR parsing
LR parsingLR parsing
LR parsing
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
 
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
 
異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j
 
Laravelを用いたゲームサーバーのチューニング
Laravelを用いたゲームサーバーのチューニングLaravelを用いたゲームサーバーのチューニング
Laravelを用いたゲームサーバーのチューニング
 
Guide To AGPL
Guide To AGPLGuide To AGPL
Guide To AGPL
 
C++でできる!OS自作入門
C++でできる!OS自作入門C++でできる!OS自作入門
C++でできる!OS自作入門
 
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォークSQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォーク
 
Spring 5に備えるリアクティブプログラミング入門
Spring 5に備えるリアクティブプログラミング入門Spring 5に備えるリアクティブプログラミング入門
Spring 5に備えるリアクティブプログラミング入門
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
 

Similar to FuelPHPで3種のprofilerを使ってみた

最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)Rui Hirokawa
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarSotaro Karasawa
 
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜Hideo Kashioka
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜Sotaro Omura
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12kenjis
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUpKenichi Mukai
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1Fumito Mizuno
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoyakenjis
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1kenjis
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるjamadam
 
最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介Naoto Mawatari
 
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料Junichi Ishida
 
はじめての FuelPHP
はじめての FuelPHPはじめての FuelPHP
はじめての FuelPHPSho A
 
JavaScriptおよびXPages Vote技術解説
JavaScriptおよびXPages Vote技術解説JavaScriptおよびXPages Vote技術解説
JavaScriptおよびXPages Vote技術解説賢次 海老原
 
FukuokaPHP 3
FukuokaPHP 3FukuokaPHP 3
FukuokaPHP 3ichikaway
 
<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー<第1回>Laravelハンズオンセミナー
<第1回>LaravelハンズオンセミナーTatsuyoshi Mashiko
 
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxHideo Kashioka
 

Similar to FuelPHPで3種のprofilerを使ってみた (20)

最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
 
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
 
最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介
 
Osc2014
Osc2014Osc2014
Osc2014
 
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
 
はじめての FuelPHP
はじめての FuelPHPはじめての FuelPHP
はじめての FuelPHP
 
JavaScriptおよびXPages Vote技術解説
JavaScriptおよびXPages Vote技術解説JavaScriptおよびXPages Vote技術解説
JavaScriptおよびXPages Vote技術解説
 
FukuokaPHP 3
FukuokaPHP 3FukuokaPHP 3
FukuokaPHP 3
 
<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー
 
WCO2012「PHP教室」
WCO2012「PHP教室」WCO2012「PHP教室」
WCO2012「PHP教室」
 
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
 
Xhprof
XhprofXhprof
Xhprof
 

Recently uploaded

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Recently uploaded (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

FuelPHPで3種のprofilerを使ってみた