SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
ウェブアプリケーションの
パフォーマンスチューニング
2010/11/20 Kansai.pm#13
id:onishi / Hatena
自己紹介
大西康裕
id:onishi
@yasuhiro_onishi
株式会社はてな チーフエンジニア 
二児の父
自己紹介 - 最近つくったもの 
はてなキーワード リダイレクト機能
Devel::KYTProf
https://github.com/onishi/perl5-devel-kytprof
仮面ライダーオーズのお面
最近つくったもの 
最近つくったもの 
最近つくったもの 
Coming soon ...
ウェブアプリケーションのパフォーマンス
劣化しますよね…
PV増
機能追加
不具合
アプリケーション
ネットワーク
アジェンダ
今日する話
パフォーマンス計測
ボトルネック調査
実例など
今日しない話
SQL改善、キャッシュ、クライアント改善…
パフォーマンスチューニングフロー
大きなところから粒度を細かくして掘り下げていく
1. 自分のサイトは遅いのか
2. どのページがどんな条件で遅いのか
3. 遅い原因はどこにあるのか
アプリケーション?
ネットワーク?
外部原因? (APIなど)
4. 原因を取り除く / キャッシュを行う
ボトルネックをみつけるまでが大変><
レスポンスタイム計測
Apacheの場合
LogFormat %D でアクセスログに レスポンスタイム(マイクロ秒)を
表示できる
LogFormat "%h %t "%r" %D"
123.123.123.123 [20/Nov/2010:01:02:03 +0900]
"GET /path/to/hoge HTTP/1.1" 1021
レスポンスタイム計測 - HTTPヘッダ
ウェブアプリケーションから情報を出力する(はてなではWAFに実
装)
アプリケーションの処理速度
ディスパッチ結果
$ curl -I 'http://mono.hatena.ne.jp/' | grep 'X-'
X-Framework: Ridge/0.1 Plack/0.9937
X-Runtime: 423ms
X-Ridge-Dispatch: Hatena::Monolith::Engine::Index#default
レスポンスタイム計測 - HTTPヘッダ
LogFormat "%h %t "%r" "%{X-Ridge-Dispatch}o" %D"
123.123.123.123 [20/Nov/2010:01:02:03 +0900] "GET / HTTP/1.1"
"Hatena::Monolith::Engine::Index#default" 1021
%{レスポンスヘッダ名}o で reverse proxy のログにディスパッチ
結果をレスポンスタイムと共に記録
レスポンスタイム計測 - グラフ化#1
レスポンスタイム 分布
レスポンスタイム計測 - グラフ化#2
レスポンスタイム 推移 (日)
レスポンスタイム計測 - グラフ化#3
レスポンスタイム 推移 (時間)
グラフから読み取ること
サービスの応答速度
応答速度の変化 (劣化)
条件による応答速度の違い
URL / ディスパッチ先
リクエストメソッド
時間帯
遅い原因を調査する - run.pl
$ perl server.pl -p 3000
# Webサーバーとして動作する
$ perl run.pl http://d.hatena.ne.jp/onishi/
# 1リクエストだけ処理する
プロファイリングしやすい
-d オプションを入れてプロファイラを実行
cron で定時実行して継続プロファイル
Devel::NYTProf
http://search.cpan.org/dist/Devel-NYTProf/
$ perl -d:NYTProf run.pl http://d.hatena.ne.jp/onishi/
# nytprof.out というファイルができる
$ nytprofhtml
# nytprof というディレクトリができる
DEMO
Devel::NYTProf
よくある重い原因
正規表現
動的に生成しない。コンパイルオプション
$` $' を使わない
オブジェクト生成コスト (DateTime ...)
利用頻度の高いUtility関数
速い段階で抜けられないか
Devel::NYTProf - 実例
sub sanitize {
my $str = shift;
$str =~ s/&(?![#a-zA-Z0-9_]{2,6};)/&/g;
$str =~ s/</&lt;/g;
$str =~ s/>/&gt;/g;
$str =~ s/"/&quot;/g;
$str =~ s/'/&#39;/g;
$str =~ s//&#92;/g;
return $str;
}
Devel::NYTProf - 実例
Devel::NYTProf - 実例
sub sanitize {
my $str = shift;
$str =~ /[&<>"']/ or return $str;
$str =~ s/&(?![#a-zA-Z0-9_]{2,6};)/&amp;/g;
$str =~ s/</&lt;/g;
$str =~ s/>/&gt;/g;
$str =~ s/"/&quot;/g;
$str =~ s/'/&#39;/g;
$str =~ s//&#92;/g;
return $str;
}
Devel::NYTProf - 実例
Devel::NYTProf - tips
DB::disable_profile()
# モジュールのロード
DB::enable_profile()
# 計測したい処理
run.pl でのプロファイルは mod_perl などの永続環境でないため、
モジュールのロード(コンパイル, import) 処理が計測されてしまうの
でそれを抑制する
Devel::KYTProf
https://github.com/onishi/perl5-devel-kytprof
$ perl -d:KYTProf run.pl http://d.hatena.ne.jp/onishi/
ボトルネックの大半はネットワークIO!!
use するだけでネットワークIOの発生するメソッドの実行時間と呼
び出し元をwarnする
DBI
LWP
Cache::Memcached::Fast
…
DEMO
Devel::KYTProf - add_prof(s)
use Devel::KYTProf;
Devel::KYTProf->add_prof(
'Foo::Bar',
'baz',
sub { },
);
# Foo::Bar クラスの baz メソッドを計測対象に
Devel::KYTProf->add_profs(
'Foo::Bar',
[qw/baz piyo/]
);
Devel::KYTProf - options
Devel::KYTProf->namespace_regex('Hatena::Diary');
# caller を指定名前空間まで遡る
Devel::KYTProf->threshold(100); # (ms)
# n ms 以上かかった処理だけを出力する
Devel::KYTProf->logger(Some::Logger->new);
Devel::KYTProf->mute('DBI', 'connect');
Devel::KYTProf->unmute('DBI', 'connect');
Devel::KYTProf でわかること
ネットワークIOが何回発生しているか
コードのどこで発生しているか
どれだけ時間がかかっているか
処理の内容
よくある改善ポイント
重複している処理
インデックスの効いていないSQL
同期的なAPIのレスポンスが悪い
不要なネットワークIO
キャッシュにより逆に遅くなるケース
get/setの数が多いけどヒット率が低くて意味が無い…
継続プロファイリング
0 * * * * perl -d:KYTProf run.pl http://d.hatena.ne.
jp/onishi/ >> /var/log/profile.log 2>&1
毎時実行して記録を残す
日々のパフォーマンスの状況を残す
一時的な問題があった時に後から何があったか眺めたり
パフォーマンス改善の効果を確かめたり
まとめ
ウェブアプリのパフォーマンスを計測しよう
継続プロファイリングして劣化を気にしよう
大きな粒度から眺めてボトルネックを特定していこう
NYTProf超便利
ネットワークIOに特化したKYTProfも使ってね
はてなダイアリー速度改善
今やってます><
ご期待ください!!
ブックマークもやってます!!
ご清聴ありがとうございました

Más contenido relacionado

La actualidad más candente

AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤Godai Nakamura
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門miso- soup3
 
第2回勉強会資料 岩本(配布用)
第2回勉強会資料 岩本(配布用)第2回勉強会資料 岩本(配布用)
第2回勉強会資料 岩本(配布用)Takahisa Iwamoto
 
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説Takao Tetsuro
 
WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来Jun-ichi Sakamoto
 
モバイル制作におけるパフォーマンス最適化について
モバイル制作におけるパフォーマンス最適化についてモバイル制作におけるパフォーマンス最適化について
モバイル制作におけるパフォーマンス最適化についてKoji Ishimoto
 
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみアメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみKazunari Hara
 
Springを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしようSpringを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしよう土岐 孝平
 
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知Service workerとwebプッシュ通知
Service workerとwebプッシュ通知zaru sakuraba
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクションTakahiro Okumura
 
Backlogでの Perlのつかいかた
Backlogでの PerlのつかいかたBacklogでの Perlのつかいかた
Backlogでの PerlのつかいかたRyuzo Yamamoto
 
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解都元ダイスケ Miyamoto
 
PWA 総まとめ @ABC 2018 Spring
PWA 総まとめ @ABC 2018 SpringPWA 総まとめ @ABC 2018 Spring
PWA 総まとめ @ABC 2018 SpringRyu Shindo
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テストTakahiro Moteki
 
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてアプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてSato Shun
 
Long Life Web Performance Optimization
Long Life Web Performance OptimizationLong Life Web Performance Optimization
Long Life Web Performance OptimizationKoji Ishimoto
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Tokuhiro Matsuno
 
Behind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship ProgramBehind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship ProgramLINE Corporation
 
AzureでLaravel動かしてみた
AzureでLaravel動かしてみたAzureでLaravel動かしてみた
AzureでLaravel動かしてみたKeiji Kamebuchi
 

La actualidad más candente (20)

AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
 
第2回勉強会資料 岩本(配布用)
第2回勉強会資料 岩本(配布用)第2回勉強会資料 岩本(配布用)
第2回勉強会資料 岩本(配布用)
 
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
 
Yapc fukuoka crust
Yapc fukuoka crustYapc fukuoka crust
Yapc fukuoka crust
 
WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来
 
モバイル制作におけるパフォーマンス最適化について
モバイル制作におけるパフォーマンス最適化についてモバイル制作におけるパフォーマンス最適化について
モバイル制作におけるパフォーマンス最適化について
 
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみアメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
 
Springを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしようSpringを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしよう
 
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知Service workerとwebプッシュ通知
Service workerとwebプッシュ通知
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
 
Backlogでの Perlのつかいかた
Backlogでの PerlのつかいかたBacklogでの Perlのつかいかた
Backlogでの Perlのつかいかた
 
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解
 
PWA 総まとめ @ABC 2018 Spring
PWA 総まとめ @ABC 2018 SpringPWA 総まとめ @ABC 2018 Spring
PWA 総まとめ @ABC 2018 Spring
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
 
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてアプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
 
Long Life Web Performance Optimization
Long Life Web Performance OptimizationLong Life Web Performance Optimization
Long Life Web Performance Optimization
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
Behind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship ProgramBehind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship Program
 
AzureでLaravel動かしてみた
AzureでLaravel動かしてみたAzureでLaravel動かしてみた
AzureでLaravel動かしてみた
 

Similar a ウェブアプリケーションのパフォーマンスチューニング

Web frontend performance tuning
Web frontend      performance tuningWeb frontend      performance tuning
Web frontend performance tuningssuser3c214d
 
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからHiroshi Kawada
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminarManabu Shimobe
 
第12回rest勉強会 これまでの補足・展望編
第12回rest勉強会 これまでの補足・展望編第12回rest勉強会 これまでの補足・展望編
第12回rest勉強会 これまでの補足・展望編ksimoji
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! Masato Noguchi
 
Html5とアクセシビリティ
Html5とアクセシビリティHtml5とアクセシビリティ
Html5とアクセシビリティMasakazu Muraoka
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。Akihiro Kuwano
 
20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリングInnova Inc.
 
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較Core Concept Technologies
 
Effective web performance tuning for smartphone
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphonedena_study
 
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...Shotaro Suzuki
 
○○したら受託開発が180°変わった
○○したら受託開発が180°変わった○○したら受託開発が180°変わった
○○したら受託開発が180°変わったAtsushi Harada
 
ブラウザのPerformance APIの話
ブラウザのPerformance APIの話ブラウザのPerformance APIの話
ブラウザのPerformance APIの話Hiroshi Kawada
 
東海GTUG 20110910発表資料
東海GTUG 20110910発表資料東海GTUG 20110910発表資料
東海GTUG 20110910発表資料Kenji NAKAGAKI
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewRakuten Group, Inc.
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Tokoroten Nakayama
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Drecom Co., Ltd.
 
チームにRedmineを適用せよ! #RxTstudy
チームにRedmineを適用せよ! #RxTstudyチームにRedmineを適用せよ! #RxTstudy
チームにRedmineを適用せよ! #RxTstudyDai FUJIHARA
 

Similar a ウェブアプリケーションのパフォーマンスチューニング (20)

Web frontend performance tuning
Web frontend      performance tuningWeb frontend      performance tuning
Web frontend performance tuning
 
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
 
第12回rest勉強会 これまでの補足・展望編
第12回rest勉強会 これまでの補足・展望編第12回rest勉強会 これまでの補足・展望編
第12回rest勉強会 これまでの補足・展望編
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
 
Html5とアクセシビリティ
Html5とアクセシビリティHtml5とアクセシビリティ
Html5とアクセシビリティ
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
 
20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング
 
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
 
Effective web performance tuning for smartphone
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphone
 
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
 
○○したら受託開発が180°変わった
○○したら受託開発が180°変わった○○したら受託開発が180°変わった
○○したら受託開発が180°変わった
 
ブラウザのPerformance APIの話
ブラウザのPerformance APIの話ブラウザのPerformance APIの話
ブラウザのPerformance APIの話
 
東海GTUG 20110910発表資料
東海GTUG 20110910発表資料東海GTUG 20110910発表資料
東海GTUG 20110910発表資料
 
Zealup - React
Zealup - ReactZealup - React
Zealup - React
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConView
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
 
チームにRedmineを適用せよ! #RxTstudy
チームにRedmineを適用せよ! #RxTstudyチームにRedmineを適用せよ! #RxTstudy
チームにRedmineを適用せよ! #RxTstudy
 

Más de Yasuhiro Onishi

Hatena blogdevelopmentflow
Hatena blogdevelopmentflowHatena blogdevelopmentflow
Hatena blogdevelopmentflowYasuhiro Onishi
 
Redmine::ChanでIRCからプロジェクト管理
Redmine::ChanでIRCからプロジェクト管理Redmine::ChanでIRCからプロジェクト管理
Redmine::ChanでIRCからプロジェクト管理Yasuhiro Onishi
 
新はてなダイアリーの裏側
新はてなダイアリーの裏側新はてなダイアリーの裏側
新はてなダイアリーの裏側Yasuhiro Onishi
 

Más de Yasuhiro Onishi (7)

開発合宿!!!!
開発合宿!!!!開発合宿!!!!
開発合宿!!!!
 
Hatena blogdevelopmentflow
Hatena blogdevelopmentflowHatena blogdevelopmentflow
Hatena blogdevelopmentflow
 
wget.pl
wget.plwget.pl
wget.pl
 
Redmine::ChanでIRCからプロジェクト管理
Redmine::ChanでIRCからプロジェクト管理Redmine::ChanでIRCからプロジェクト管理
Redmine::ChanでIRCからプロジェクト管理
 
The new Text::Hatena
The new Text::HatenaThe new Text::Hatena
The new Text::Hatena
 
oEmbed と Text::Hatena
oEmbed と Text::HatenaoEmbed と Text::Hatena
oEmbed と Text::Hatena
 
新はてなダイアリーの裏側
新はてなダイアリーの裏側新はてなダイアリーの裏側
新はてなダイアリーの裏側
 

Último

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成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...博三 太田
 

Último (8)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成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...
 

ウェブアプリケーションのパフォーマンスチューニング