SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
PHP Framework
Phalcon
2013年10月23日(水)
林 正紀
@m_norii
http://norii.hatenablog.com/
自己紹介
•
•
•
•
•

2000- NSW (SIer)
2004- CYBIRD (ガラケー全盛期)
2008- Bit Shift
2011- WINLIGHT (モバグリ・ソシャゲ全盛期)
2013- Trifort

• Live in Fujimino, Saitama
• Like
• Music, Live (especially Mr.Children, Ikimonogakari)
• Swimming
Phalcon:特徴
• C拡張での実装→速い/資源効率良い
• 豊富な機能と疎結合なクラス群
• 使用する機能の取捨選択ができる

• EventManagerとDIコンテナを利用したメインフ
ロー
• 3種類の構成を選択可能
• Single Module
• Multi Module
• Micro Framework

• ライセンスは New BSD License
動作要件
• PHP5.3以上
• 一部機能はPHP5.4以降で使うとパフォーマンス
面で有利とのこと
• PHP5.3系はすでにEOL迎えているので、新規案件で
適用するなら5.4/5.5系を利用すべき
リリース履歴
日時

Ver

履歴

2012-07-01

0.4

Memcacheによる結果セットのキャッシュ
DBメタデータの永続化
PostgreSQLをサポート
正規表現によるルーティング、多言語対応、
仮想外部キー

2012-09-08

0.5.0

Event Manager/DIコンテナの導入

2012-10-31

0.6

MongoDBサポート

2013-03-20

1.0.0

Formビルダー、Validator

2013-07-08

1.2.0

ModelCriteria 機能強化
ORMで多対多関連サポート

2013-07-25

1.2.1

Config/Json、バグフィックス

2013-08-06

1.2.2

バグフィックス、最適化

2013-08-16

1.2.3

(Change log無し)
導入事例
• RODEO という会社がソーシャルゲーム開発に
使っているらしい
• PHPカンファレンス2013でのフレームワークディス
カッション中の発表より
• http://www.rodeo.jp.net/
• http://www.slideshare.net/dzeyelid/introductionphalconatphpcon
パフォーマンス比較 1
(秒間処理リクエスト数)
2535

851
354

489

541

568

860

1059

・いわゆる「Hello World」アプリ
ケーションでの比較
・ベンチ環境
Mac OS X Lion 10.7.4
Apache2.2.22(mod_rewrite無効)
PHP5.3.15 (APC有効)
CPU: 2.04GHz Intel Core i5
Memory: 4GB
パフォーマンス比較2
(1リクエスト当たり処理時間
[ms])
2.82

2.05
1.85
1.37
1.17

1.16
0.99
0.39
パフォーマンス比較3
(読み込みPHPファイル数)
66

46

46
30

27

23
18
4
パフォーマンス比較4
(1Req当たりメモリ使用量
[MB])
1.75
1.50

1.50
1.25

1.25
1.10

1.00
0.75
爆速なのはわかったが・・・
• 実際に本当に爆速になるか?
・・・は、作るアプリケーションの質にも大き
く依る
• 投げるSQLがイケてなくて足引っ張ってると
か・・・
• PHP標準関数やクラス/Phalconで提供している機能
をわざわざ再実装してるとか・・・

• なので、Phalconの性能を出し切るようなプロ
グラムを心がける必要がある
機能一覧
ACL

Events

Security

Annotations

Filter

Session

CLI

Flash ※

Tag

Cache

Forms

Text

Config

Http

Translate

Crypt

Kernel

Validation

DI

Loader

Version

Db

Logger

Debug

MVC

Dispatcher

Paginator

Escaper

Queue

※Flash はAdobe Flashではなく、複数リクエストをまたいでメッセージ
を受け渡すもの
機能一覧:MVC
Application

User/Component

Controller

User/Module

Dispatcher

User/Plugin

Micro

View

Model

View/Engine/PHP

Url

View/Engine/Volt
機能:モデル(1)
<?php
$cards = Card::find();//全件取得
$card = Card::findFirst(5); // ID 5を1件取得
$cards = Card::query()
->where('element = :element:')
->bind(array('element' => 1))
->order('rarity')
->execute(); // メソッドチェーンによる記法
//複数件帰ってくるメソッドの返値の型は「ResultSet」。Trabarsableなのでforeachで
繰り返し処理ができる
foreach($cards as $card){
//do something
}
//この処理は、Phalconの内部ではDBのカーソルを利用して取得しているのでメモリ
をあまり使わない
機能:モデル(2)集約関数
<?php
echo Card::count ();// SELECT count(*)
echo Card::sum(attack);
echo Card::average(defence);
echo Card::maximum(rarity);

echo Card::minimum(cost);

・その他、Insert/Update/DeleteはDoctrine(SymfonyのORマッパ)とだいた
い同じ
・任意のSQLを投げる機能もあるので、ORマッパとしてのモデルは使わな
いという選択もできる
機能:Cache
• 標準で選択可能なBackend
•
•
•
•
•

File
Memcached
APC
Mongo
Xcache

• あれ、Redisは・・・(´・ω・`)
• https://github.com/phalcon/incubator/blob/master/Libr
ary/Phalcon/Cache/Backend/Redis.php
機能:テンプレートエンジン
(Volt)
• Twigライクな記法、Smartyとはちょっと違う
• エンジンは差し替え可能。Pure PHPも選べる
• Adapter書けばSmartyにも対応できる
• https://github.com/phalcon/incubator/blob/master/Libr
ary/Phalcon/Mvc/View/Engine/Smarty.php
• でも、テンプレートのParseってコスト高い処理なので、
そこをPHP実装のSmartyでやるのはPhalcon使う意味ある
の?な感
機能:テンプレートエンジン
(Volt)
サンプル
コメント書式
{# app/views/products/show.volt #}
{% block last_products %}

制御文書式

{% for product in products %}
* Name: {{ product.name|e }}
{% if product.status == "Active" %}
Price: {{ product.price + product.taxes/100 }}
{% endif %}
{% endfor %}
{% endblock %}

変数出力書式
EventManager
• 「フレームワークがC実装だと、フレームワークの
挙動に関わる部分は全く手が入れられないの?」
• EventManagerを介して、フレームワークの各処理
ステージ中に処理を割りこませることができる
•
•
•
•
•
•
•

beforeDispatchLoop
beforeDispatch
beforeExecuteRoute
initialize
afterExecuteRoute
beforeNotFoundAction など
http://docs.phalconphp.com/en/latest/reference/dispatching
.html
• 上記以外、DB関連も細かいイベントが設定されていて、
Listenできる仕掛けになっている
Listenerクラスに通知
Controllerクラスに通知

EventManagerとEvent
Bootstrap
Routing

BeforeDispatchLoopイベント
BeforeDispatchイベント
Dispatch
BeforeExecuteRouteイベント

Controller/Action

AfterExecuteRouteイベント
AfterDispatchイベント
AfterDispatchLoopイベント

Response
DIコンテナ/サービスロケータ
• 複数クラスで使いまわすオブジェクトを管理
• 例:MVC内のRequest/Responseクラス

• 動作環境に依存して処理を変える箇所を、外部
から注入することで、疎結合性、テスト可用性
を確保
• 実行環境用とUnitTest用Requestクラス
• 開発/テスト/ステージ/商用環境
• http://docs.phalconphp.com/en/latest/reference/di.htm
l
3種類の構成
• Single-Module
• FuelPHP、CodeIgniterのような 1プロジェクト1アプ
リ構成

• Multi-Module
• Zend、Symfonyのような1プロジェクト内に複数アプ
リの構成

• Micro Framework
• Silexのようなシンプルなアプリケーションを素早く
作るためのコンパクトなフレームワーク
Single-Module
ディレクトリ構成
single/
app/
controllers/
models/
views/
public/
css/
img/
js/
Multi-Module
ディレクトリ構成
multiple/
apps/
frontend/
controllers/
models/
views/
Module.php
backend/
controllers/
models/
views/
Module.php
public/
css/
img/
js/
Micro Framework
ディレクトリ構成

my-rest-api/
models/
Robots.php
index.php
.htaccess

index.php

<?php
$app = new PhalconMvcMicro();
$app->get('/api/robots', function() {
//Do something
});
$app->post('/api/robots', function() {
//Do something
});
$app->handle();
課題
• 日本語の情報が少ない
• 公式サイトも英語のみ

• 内部で動作しているか詳細を調べるのが(PHP実
装のフレームワークと比して)難しい
• Cソースは公開されているのでそれを読めばいいが

• C実装なのでメモリ周りの問題も報告が見受け
られる
• https://github.com/phalcon/cphalcon/blob/master/CHA
NGELOG
• 開発自体はそれなりにアクティブなので、patch投
げれば修正してくれるかも
雑感(設計周り)
• フルスタックアプリケーションの構成は
Zend Framework2に近い
• コントローラ名/アクション名の規則やViewファイ
ルの拡張子とか特に

• マイクロアプリケーションの構成はSilexっぽい
• ORマッパはDoctrineっぽい
• テンプレートエンジン(Volt)はTwigっぽい
• これらをいいとこどりしてCで実装したみたい
なところか
雑感(実装周り:1)
• Webアプリに必要な機能はひととおり揃ってい
る
• 各種IDE用の補完用ファイルは有志が作ってる
• デバッグ用機能がちょっと弱い?
• Symfonyとかにあるデバッグツールバー欲しいよ
ね?
→「PHP Debug Bar」という汎用的なのがあるのでこ
れと連携させれば。
http://phpdebugbar.com/
Phalconと連携させてる人もいた
http://sankame.github.io/PHPDebugBar/2013/09/23/ph
p_debug_bar_install/
雑感(実装周り:2)
• いわゆる「開発/テスト/ステージ/商用」環境
別のアプリケーション構築法がデフォルトでは
提供されていない
• おそらくDIで外から注入せよという思想だと思われ
るが、他Frameworkでもだいたいある機能なので、
最初の導入時にあってもいいのでは。

• 公式ドキュメントどおりに構築していくと、
index.phpの記述がカオスになりそう
• ZendのようにBootstrapクラスをちゃんと作って、
index.phpは薄く保つのがいいのではないか。
雑感(まとめ)
• Zend/Symfonyの設計思想を受けている印象なの
で、世間的に知られているパターンを適用した
アプリケーション構築はしやすそう
• DDD(Domain Driven Design)
• PofEAA(Patern of Enterprise Application
Architecture)

• フレームワークの機能をフルに活かして、
KISS(Keep It Simple & Small)
DRY(Don't Repeat Yourself)
YAGNI(You Aren't Gonna Need It)
なアプリケーションを構築すれば、
真に爆速なサービスを提供できる

Mais conteúdo relacionado

Destaque

AWSreinvent2016社内報告yuka_jyotei
AWSreinvent2016社内報告yuka_jyoteiAWSreinvent2016社内報告yuka_jyotei
AWSreinvent2016社内報告yuka_jyotei由佳 青木
 
型超ざっくり入門@ハンズラボ社内勉強会
型超ざっくり入門@ハンズラボ社内勉強会型超ざっくり入門@ハンズラボ社内勉強会
型超ざっくり入門@ハンズラボ社内勉強会Yusuke Usui
 
Pursuing Domain-Driven Design practices in PHP
Pursuing Domain-Driven Design practices in PHPPursuing Domain-Driven Design practices in PHP
Pursuing Domain-Driven Design practices in PHPGiorgio Sironi
 
Real World PHP in pixiv
Real World PHP in pixivReal World PHP in pixiv
Real World PHP in pixivKenta USAMI
 
ハンズラボの考えるIoT Innovation EGG 第6回 『IoT 今と未来』
ハンズラボの考えるIoT Innovation EGG 第6回 『IoT 今と未来』ハンズラボの考えるIoT Innovation EGG 第6回 『IoT 今と未来』
ハンズラボの考えるIoT Innovation EGG 第6回 『IoT 今と未来』一成 田部井
 
フルマネージドのポイントシステム
フルマネージドのポイントシステムフルマネージドのポイントシステム
フルマネージドのポイントシステムMasayuki Kato
 
JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習Masanori Hayashi
 
MBSハッカソン協賛品_ハンズラボ20170211
MBSハッカソン協賛品_ハンズラボ20170211MBSハッカソン協賛品_ハンズラボ20170211
MBSハッカソン協賛品_ハンズラボ20170211由佳 青木
 
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろうPHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろうTaiji INOUE
 
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)Kazuo Murakami
 

Destaque (12)

AWSreinvent2016社内報告yuka_jyotei
AWSreinvent2016社内報告yuka_jyoteiAWSreinvent2016社内報告yuka_jyotei
AWSreinvent2016社内報告yuka_jyotei
 
型超ざっくり入門@ハンズラボ社内勉強会
型超ざっくり入門@ハンズラボ社内勉強会型超ざっくり入門@ハンズラボ社内勉強会
型超ざっくり入門@ハンズラボ社内勉強会
 
Pursuing Domain-Driven Design practices in PHP
Pursuing Domain-Driven Design practices in PHPPursuing Domain-Driven Design practices in PHP
Pursuing Domain-Driven Design practices in PHP
 
Real World PHP in pixiv
Real World PHP in pixivReal World PHP in pixiv
Real World PHP in pixiv
 
Phpstudy98
Phpstudy98Phpstudy98
Phpstudy98
 
ハンズラボの考えるIoT Innovation EGG 第6回 『IoT 今と未来』
ハンズラボの考えるIoT Innovation EGG 第6回 『IoT 今と未来』ハンズラボの考えるIoT Innovation EGG 第6回 『IoT 今と未来』
ハンズラボの考えるIoT Innovation EGG 第6回 『IoT 今と未来』
 
フルマネージドのポイントシステム
フルマネージドのポイントシステムフルマネージドのポイントシステム
フルマネージドのポイントシステム
 
JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習
 
MBSハッカソン協賛品_ハンズラボ20170211
MBSハッカソン協賛品_ハンズラボ20170211MBSハッカソン協賛品_ハンズラボ20170211
MBSハッカソン協賛品_ハンズラボ20170211
 
Php blt-vol2
Php blt-vol2Php blt-vol2
Php blt-vol2
 
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろうPHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
 
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
 

Semelhante a PHP framework Phalcon

俺のセキュリティを超えてゆけ
俺のセキュリティを超えてゆけ俺のセキュリティを超えてゆけ
俺のセキュリティを超えてゆけTsukasa Kato
 
Javaにおけるモジュラリティ元年
Javaにおけるモジュラリティ元年Javaにおけるモジュラリティ元年
Javaにおけるモジュラリティ元年Hiroki Kondo
 
Durable function storage provider
Durable function storage providerDurable function storage provider
Durable function storage providerKazunori Hamamoto
 
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入Juniper Networks (日本)
 
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望Yoichi Kawasaki
 
Micronaut on Azure 試してみた
Micronaut on Azure 試してみたMicronaut on Azure 試してみた
Micronaut on Azure 試してみた拓将 平林
 
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-Hiroki Kondo
 
HerokuでRailsアプリ運用の パフォーマンス、SEO対策
HerokuでRailsアプリ運用の パフォーマンス、SEO対策HerokuでRailsアプリ運用の パフォーマンス、SEO対策
HerokuでRailsアプリ運用の パフォーマンス、SEO対策Salesforce Developers Japan
 
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告y-uti
 
「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態npsg
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03Miya Kohno
 
Pylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイドPylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイドNozomu Kaneko
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】DeNA
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624Yusuke Suzuki
 
5分でわかるPhalconPHP
5分でわかるPhalconPHP5分でわかるPhalconPHP
5分でわかるPhalconPHPShohei Tai
 
5分でわかるphalcon php
5分でわかるphalcon php5分でわかるphalcon php
5分でわかるphalcon phpYusaku Kinoshita
 
Silverlightをあれこれ紹介
Silverlightをあれこれ紹介Silverlightをあれこれ紹介
Silverlightをあれこれ紹介mizusawa
 
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminarSix Apart
 
“見てわかる” ファイバーチャネルSAN基礎講座(第4弾)~続・間違わない!FC SAN導入のヒントとコツ~
“見てわかる” ファイバーチャネルSAN基礎講座(第4弾)~続・間違わない!FC SAN導入のヒントとコツ~“見てわかる” ファイバーチャネルSAN基礎講座(第4弾)~続・間違わない!FC SAN導入のヒントとコツ~
“見てわかる” ファイバーチャネルSAN基礎講座(第4弾)~続・間違わない!FC SAN導入のヒントとコツ~Brocade
 

Semelhante a PHP framework Phalcon (20)

俺のセキュリティを超えてゆけ
俺のセキュリティを超えてゆけ俺のセキュリティを超えてゆけ
俺のセキュリティを超えてゆけ
 
Javaにおけるモジュラリティ元年
Javaにおけるモジュラリティ元年Javaにおけるモジュラリティ元年
Javaにおけるモジュラリティ元年
 
Durable function storage provider
Durable function storage providerDurable function storage provider
Durable function storage provider
 
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
 
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
 
Micronaut on Azure 試してみた
Micronaut on Azure 試してみたMicronaut on Azure 試してみた
Micronaut on Azure 試してみた
 
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
 
HerokuでRailsアプリ運用の パフォーマンス、SEO対策
HerokuでRailsアプリ運用の パフォーマンス、SEO対策HerokuでRailsアプリ運用の パフォーマンス、SEO対策
HerokuでRailsアプリ運用の パフォーマンス、SEO対策
 
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
 
「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03
 
Pylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイドPylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイド
 
Azure Cloud Shell
Azure Cloud ShellAzure Cloud Shell
Azure Cloud Shell
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624
 
5分でわかるPhalconPHP
5分でわかるPhalconPHP5分でわかるPhalconPHP
5分でわかるPhalconPHP
 
5分でわかるphalcon php
5分でわかるphalcon php5分でわかるphalcon php
5分でわかるphalcon php
 
Silverlightをあれこれ紹介
Silverlightをあれこれ紹介Silverlightをあれこれ紹介
Silverlightをあれこれ紹介
 
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar
 
“見てわかる” ファイバーチャネルSAN基礎講座(第4弾)~続・間違わない!FC SAN導入のヒントとコツ~
“見てわかる” ファイバーチャネルSAN基礎講座(第4弾)~続・間違わない!FC SAN導入のヒントとコツ~“見てわかる” ファイバーチャネルSAN基礎講座(第4弾)~続・間違わない!FC SAN導入のヒントとコツ~
“見てわかる” ファイバーチャネルSAN基礎講座(第4弾)~続・間違わない!FC SAN導入のヒントとコツ~
 

Mais de Masanori Hayashi

「クソコード」言い換えのご提案 - 2018-12-15 #phpcon2018
「クソコード」言い換えのご提案 - 2018-12-15 #phpcon2018「クソコード」言い換えのご提案 - 2018-12-15 #phpcon2018
「クソコード」言い換えのご提案 - 2018-12-15 #phpcon2018Masanori Hayashi
 
人のレガシーを笑うな - レガシー感謝の日
人のレガシーを笑うな  - レガシー感謝の日人のレガシーを笑うな  - レガシー感謝の日
人のレガシーを笑うな - レガシー感謝の日Masanori Hayashi
 
20180627 phpstudy 長いものに巻かれよう
20180627 phpstudy 長いものに巻かれよう20180627 phpstudy 長いものに巻かれよう
20180627 phpstudy 長いものに巻かれようMasanori Hayashi
 
20180425 phpstudy-my-first-laravel
20180425 phpstudy-my-first-laravel20180425 phpstudy-my-first-laravel
20180425 phpstudy-my-first-laravelMasanori Hayashi
 
ボトルネックを解消せよ
ボトルネックを解消せよボトルネックを解消せよ
ボトルネックを解消せよMasanori Hayashi
 
俺的世界で一番暑い夏
俺的世界で一番暑い夏俺的世界で一番暑い夏
俺的世界で一番暑い夏Masanori Hayashi
 
Soft bank ssl仕様変更について
Soft bank ssl仕様変更についてSoft bank ssl仕様変更について
Soft bank ssl仕様変更についてMasanori Hayashi
 

Mais de Masanori Hayashi (9)

「クソコード」言い換えのご提案 - 2018-12-15 #phpcon2018
「クソコード」言い換えのご提案 - 2018-12-15 #phpcon2018「クソコード」言い換えのご提案 - 2018-12-15 #phpcon2018
「クソコード」言い換えのご提案 - 2018-12-15 #phpcon2018
 
人のレガシーを笑うな - レガシー感謝の日
人のレガシーを笑うな  - レガシー感謝の日人のレガシーを笑うな  - レガシー感謝の日
人のレガシーを笑うな - レガシー感謝の日
 
20180627 phpstudy 長いものに巻かれよう
20180627 phpstudy 長いものに巻かれよう20180627 phpstudy 長いものに巻かれよう
20180627 phpstudy 長いものに巻かれよう
 
20180425 phpstudy-my-first-laravel
20180425 phpstudy-my-first-laravel20180425 phpstudy-my-first-laravel
20180425 phpstudy-my-first-laravel
 
ボトルネックを解消せよ
ボトルネックを解消せよボトルネックを解消せよ
ボトルネックを解消せよ
 
Glt vol47
Glt vol47Glt vol47
Glt vol47
 
俺的世界で一番暑い夏
俺的世界で一番暑い夏俺的世界で一番暑い夏
俺的世界で一番暑い夏
 
Soft bank ssl仕様変更について
Soft bank ssl仕様変更についてSoft bank ssl仕様変更について
Soft bank ssl仕様変更について
 
20081120 lt11th ace
20081120 lt11th ace20081120 lt11th ace
20081120 lt11th ace
 

Último

2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 

Último (11)

2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 

PHP framework Phalcon