狠狠撸

狠狠撸Share a Scribd company logo
EventListener
使いこなし術
Symfony 勉強会 #10?
岡田祐一 @okapon_pon
自己紹介
? 名前:岡田祐一 (@okapon_pon)
? 所属:株式会社クロコス?エンジニ
ア
? 2013年~ 日本Symfonyユーザー会
? Symfony歴 2年半ほど
本日の話
EventListener使いこなし術
あらため
EventListenerできること
まえおき
!
Symfonyについて
Symfony
!
素直で柔軟なフレームワーク
Symfony
!
HWに縛られず自由に開発できる
Symfony
柔軟性を支える屋台骨
? DI (+ con?guration)
? Event Dispatcher
EventListenerはここの話
Symfony
イベント駆動のフレームワーク
!
フックポイントが用意されている!
Symfonyのイベント
標準で用意されてるイベント
!
? kernel.request
? kernel.controller
? kernel.view
? kernel.response
? kernel.exception
Symfonyのイベント
任意のイベントにフック可能
任意のタイミングでResponse
を返すことが可能
EventListener 実例
それでは例を見ていきましょう
kernel.controllerイベント
kernel.controllerイベント
!
コントローラーの実行前に
発行されるイベント
kernel.controllerイベント
BeforFilterControllerListener
というクラスを作ってみます
kernel.controllerイベント
EventLisnerを登録?
# service.yml
services:
my.blog.before_?lter_controller_listener:
class: MyBlogBundleEventListenerBeforFilterControllerListener
tags:
- { name: kernel.event_listener, event: kernel.controller, method:
onKernelController }
EventListenerクラス作成
class BeforeFilterControllerListener
{
public function onKernelController(FilterControllerEvent
$event)
{
$c = $event->getController();
if (!is_array($c)) {
return;
}
$controller = $c[0];
!
if (method_exists($controller, 'before')) {
$controller->before($event->getRequest();
}
}
}
EventListenerクラス作成
何やってるか分かりました?
コントローラー側
/**
* @Route("/blog")
* @Template()
*/
class BlogController extends Controller
{
public function before(Request $request)
{
// Actionが呼ばれる前に実行したい処理が書ける
}
!
/**
* @Route("/", name="blog_index")
*/
public function indexAction()
{
}
}
Controller実行前のフック
どこかのフレームワークで
見たことある機能???
なぜSymfonyにないのか?
コントローラーに書くと
? 再利用しにくい
? テストしづらい
なぜSymfonyにないのか?
もう一度コードに戻ります
class BeforeFilterControllerListener
{
public function onKernelController(FilterControllerEvent
$event)
{
$c = $event->getController();
if (!is_array($c)) {
return;
}
$controller = $c[0];
!
if (method_exists($controller, 'before')) {
$controller->before($event->getRequest();
}
}
}
EventListenerクラス作成
コントローラー側に書く必要がないと感じませんか?
EventListener まとめ1
EventListenrに記述した方が変
な依存を持たずシンプルに実装
できる
【サンプルコード】
https://gist.github.com/okapon/fd2dfdacf87e417f7957
EventListener 実装例
Securityコンポーネント
よく分からなくて?
昔作ったオレオレ認証?
https://gist.github.com/okapon/
88f5bd56a886c287a7d1
EventListener 実装例
先ほどの実装例では
isSecure()メソッドはマーカー
→ annotationにするとよい
!
【参考】Doctrine-Common-Annotations
http://docs.doctrine-project.org/projects/doctrine-common/en/
latest/reference/annotations.html
EventListener まとめ2
ユーザー認証の仕組みも
EventListenrを使えば
簡単に実装できる
ちなみに
ここまでkernel.controllerを取
り上げといてなんですが???
よく使うのは
? kernel.request
? kernel.response
では気を取り直して
EventListener使いどころ
複数コントローラーで実行したい共通処理
? 認証まわり
? 初回登録時のアクセス判定
? チュートリアルの完了状態で表示出し分け
? アクセスの分析(referrerとか)
チュートリアルの表示判定する例
ユーザーはどこのURLにでもアクセ
スする可能性がある
!
? kernel.requestをフック
? EventListenerでチュートリアル完了か判定
? 完了してなければチュートリアルを表示
TutorialListener実装例1
class TutorialListener
{
public function onKernelRequest(GetResponseEvent $event)
{
if (HttpKernelInterface::MASTER_REQUEST !== $event-
>getRequestType()) {
return;
}
if (!$this->securityContext->getToken()) {
return;
}
!
$user = $this->securityContext->getToken()->getUser();
if ($this->doseNeedTutorial($user)) {
// チュートリアルのURLにリダイレクトするとか
$event->setResponse(new RedirectResponse('/tutorial',
302));
}
}
}
TutorialListener実装例2
class TutorialListener
{
public function onKernelRequest(GetResponseEvent $event)
{
if (HttpKernelInterface::MASTER_REQUEST !== $event-
>getRequestType()) {
return;
}
if (!$this->securityContext->getToken()) {
return;
}
!
$user = $this->securityContext->getToken()->getUser();
if ($this->doseNeedTutorial($user)) {
// sessionに状態を入れるとか
$this->session->set(’needTutorial’, true));
}
}
}
アクセスデータの収集に使う例
!
? どこからアクセスされたかreferrerを取る
? sessionに保存
? 必要なタイミングで蝉别蝉蝉颈辞苍から取出し保存
アクセスデータの収集に使う例
use SymfonyComponentHttpKernelHttpKernelInterface;
use SymfonyComponentHttpKernelEventGetResponseEvent;
!
class AccessLogListener
{
public function onKernelRequest(GetResponseEvent $event)
{
if (HttpKernelInterface::MASTER_REQUEST !== $event-
>getRequestType()) {
return;
}
$request = $event->getRequest();
!
// あくまでrefを取るだけのサンプル
// 実際には各種属性情報を保存しとくと良い
$ref = $request->query->get('ref');
if ($ref) {
$request->getSession()->set(‘ref’, $ref);
}
}
}
まとめ(無理矢理)
!
? コントローラ実行前の共通処理を書くの
に便利
? EventListener使えばアイデア次第で色々
ハックできる
? オレオレ作ってしまってもいいじゃない
EventListener おまけ
活用事例としてはbrtriverさんのお話
が非常に参考になります
!
「运用しやすい管理画面とは」
http://tech.voyagegroup.com/archives/7644534.html
!
"PHP Fatal error: Allowed memory size of xxx" で落ちる前にできること
http://d.hatena.ne.jp/brtRiver/20131206/1386345547

More Related Content

What's hot (20)

品质を加速させるために、テスターを増やす前から考えるべき蚕惭ファンネルの话(3顿版)
品质を加速させるために、テスターを増やす前から考えるべき蚕惭ファンネルの话(3顿版)品质を加速させるために、テスターを増やす前から考えるべき蚕惭ファンネルの话(3顿版)
品质を加速させるために、テスターを増やす前から考えるべき蚕惭ファンネルの话(3顿版)
Yasuharu Nishi
?
Apache NiFiと 他プロダクトのつなぎ方
Apache NiFiと他プロダクトのつなぎ方Apache NiFiと他プロダクトのつなぎ方
Apache NiFiと 他プロダクトのつなぎ方
Sotaro Kimura
?
暗黒美梦王と贰尘补肠蝉
暗黒美梦王と贰尘补肠蝉暗黒美梦王と贰尘补肠蝉
暗黒美梦王と贰尘补肠蝉
Shougo
?
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
UnityTechnologiesJapan002
?
クラシフィケーション?ツリー法入门
クラシフィケーション?ツリー法入门クラシフィケーション?ツリー法入门
クラシフィケーション?ツリー法入门
H Iseri
?
鲍苍颈迟测でオニオンアーキテクチャ
鲍苍颈迟测でオニオンアーキテクチャ鲍苍颈迟测でオニオンアーキテクチャ
鲍苍颈迟测でオニオンアーキテクチャ
torisoup
?
メトリクスによるソフトウェア品质评価?改善および製品品质実态
メトリクスによるソフトウェア品质评価?改善および製品品质実态メトリクスによるソフトウェア品质评価?改善および製品品质実态
メトリクスによるソフトウェア品质评価?改善および製品品质実态
Hironori Washizaki
?
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
Kinji Akemine
?
笔贬笔とシグナル、その里侧
笔贬笔とシグナル、その里侧笔贬笔とシグナル、その里侧
笔贬笔とシグナル、その里侧
do_aki
?
ちょっと明日のテストの话をしよう
ちょっと明日のテストの话をしようちょっと明日のテストの话をしよう
ちょっと明日のテストの话をしよう
Yasuharu Nishi
?
滨罢エンジニアのための英语勉强法
滨罢エンジニアのための英语勉强法滨罢エンジニアのための英语勉强法
滨罢エンジニアのための英语勉强法
Etsuji Nakai
?
これから厂辫谤颈苍驳を使う开発者が知っておくべきこと
これから厂辫谤颈苍驳を使う开発者が知っておくべきことこれから厂辫谤颈苍驳を使う开発者が知っておくべきこと
これから厂辫谤颈苍驳を使う开発者が知っておくべきこと
土岐 孝平
?
ドキュメントを作りたくなってしまう魔法のツール「厂辫丑颈苍虫」
ドキュメントを作りたくなってしまう魔法のツール「厂辫丑颈苍虫」ドキュメントを作りたくなってしまう魔法のツール「厂辫丑颈苍虫」
ドキュメントを作りたくなってしまう魔法のツール「厂辫丑颈苍虫」
Yoshiki Shibukawa
?
书籍向け汎用マークアップのあり方―搁别:痴滨贰奥の开発を通して
书籍向け汎用マークアップのあり方―搁别:痴滨贰奥の开発を通して书籍向け汎用マークアップのあり方―搁别:痴滨贰奥の开発を通して
书籍向け汎用マークアップのあり方―搁别:痴滨贰奥の开発を通して
Kenshi Muto
?
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質?低コスト?保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質?低コスト?保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質?低コスト?保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質?低コスト?保守性の高い開発
慎一 古賀
?
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
?
本格的に始める锄蝉丑
本格的に始める锄蝉丑本格的に始める锄蝉丑
本格的に始める锄蝉丑
Hideaki Miyake
?
ワタシは厂颈苍驳濒别迟辞苍がキライだ
ワタシは厂颈苍驳濒别迟辞苍がキライだワタシは厂颈苍驳濒别迟辞苍がキライだ
ワタシは厂颈苍驳濒别迟辞苍がキライだ
Tetsuya Kaneuchi
?
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
murachue
?
Let's verify the vulnerability-脆弱性を検証してみよう!-
Let's verify the vulnerability-脆弱性を検証してみよう!-Let's verify the vulnerability-脆弱性を検証してみよう!-
Let's verify the vulnerability-脆弱性を検証してみよう!-
zaki4649
?
品质を加速させるために、テスターを増やす前から考えるべき蚕惭ファンネルの话(3顿版)
品质を加速させるために、テスターを増やす前から考えるべき蚕惭ファンネルの话(3顿版)品质を加速させるために、テスターを増やす前から考えるべき蚕惭ファンネルの话(3顿版)
品质を加速させるために、テスターを増やす前から考えるべき蚕惭ファンネルの话(3顿版)
Yasuharu Nishi
?
Apache NiFiと 他プロダクトのつなぎ方
Apache NiFiと他プロダクトのつなぎ方Apache NiFiと他プロダクトのつなぎ方
Apache NiFiと 他プロダクトのつなぎ方
Sotaro Kimura
?
暗黒美梦王と贰尘补肠蝉
暗黒美梦王と贰尘补肠蝉暗黒美梦王と贰尘补肠蝉
暗黒美梦王と贰尘补肠蝉
Shougo
?
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
UnityTechnologiesJapan002
?
クラシフィケーション?ツリー法入门
クラシフィケーション?ツリー法入门クラシフィケーション?ツリー法入门
クラシフィケーション?ツリー法入门
H Iseri
?
鲍苍颈迟测でオニオンアーキテクチャ
鲍苍颈迟测でオニオンアーキテクチャ鲍苍颈迟测でオニオンアーキテクチャ
鲍苍颈迟测でオニオンアーキテクチャ
torisoup
?
メトリクスによるソフトウェア品质评価?改善および製品品质実态
メトリクスによるソフトウェア品质评価?改善および製品品质実态メトリクスによるソフトウェア品质评価?改善および製品品质実态
メトリクスによるソフトウェア品质评価?改善および製品品质実态
Hironori Washizaki
?
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
Kinji Akemine
?
笔贬笔とシグナル、その里侧
笔贬笔とシグナル、その里侧笔贬笔とシグナル、その里侧
笔贬笔とシグナル、その里侧
do_aki
?
ちょっと明日のテストの话をしよう
ちょっと明日のテストの话をしようちょっと明日のテストの话をしよう
ちょっと明日のテストの话をしよう
Yasuharu Nishi
?
滨罢エンジニアのための英语勉强法
滨罢エンジニアのための英语勉强法滨罢エンジニアのための英语勉强法
滨罢エンジニアのための英语勉强法
Etsuji Nakai
?
これから厂辫谤颈苍驳を使う开発者が知っておくべきこと
これから厂辫谤颈苍驳を使う开発者が知っておくべきことこれから厂辫谤颈苍驳を使う开発者が知っておくべきこと
これから厂辫谤颈苍驳を使う开発者が知っておくべきこと
土岐 孝平
?
ドキュメントを作りたくなってしまう魔法のツール「厂辫丑颈苍虫」
ドキュメントを作りたくなってしまう魔法のツール「厂辫丑颈苍虫」ドキュメントを作りたくなってしまう魔法のツール「厂辫丑颈苍虫」
ドキュメントを作りたくなってしまう魔法のツール「厂辫丑颈苍虫」
Yoshiki Shibukawa
?
书籍向け汎用マークアップのあり方―搁别:痴滨贰奥の开発を通して
书籍向け汎用マークアップのあり方―搁别:痴滨贰奥の开発を通して书籍向け汎用マークアップのあり方―搁别:痴滨贰奥の开発を通して
书籍向け汎用マークアップのあり方―搁别:痴滨贰奥の开発を通して
Kenshi Muto
?
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質?低コスト?保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質?低コスト?保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質?低コスト?保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質?低コスト?保守性の高い開発
慎一 古賀
?
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
?
本格的に始める锄蝉丑
本格的に始める锄蝉丑本格的に始める锄蝉丑
本格的に始める锄蝉丑
Hideaki Miyake
?
ワタシは厂颈苍驳濒别迟辞苍がキライだ
ワタシは厂颈苍驳濒别迟辞苍がキライだワタシは厂颈苍驳濒别迟辞苍がキライだ
ワタシは厂颈苍驳濒别迟辞苍がキライだ
Tetsuya Kaneuchi
?
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
murachue
?
Let's verify the vulnerability-脆弱性を検証してみよう!-
Let's verify the vulnerability-脆弱性を検証してみよう!-Let's verify the vulnerability-脆弱性を検証してみよう!-
Let's verify the vulnerability-脆弱性を検証してみよう!-
zaki4649
?

Viewers also liked (7)

厂测尘蹿辞苍测2のイベントリスナーについて
厂测尘蹿辞苍测2のイベントリスナーについて厂测尘蹿辞苍测2のイベントリスナーについて
厂测尘蹿辞苍测2のイベントリスナーについて
tnuuu
?
管理画面のアクセスコントロール
管理画面のアクセスコントロール 管理画面のアクセスコントロール
管理画面のアクセスコントロール
Masao Maeda
?
顿辞肠迟谤颈苍别アカンパターン
顿辞肠迟谤颈苍别アカンパターン顿辞肠迟谤颈苍别アカンパターン
顿辞肠迟谤颈苍别アカンパターン
Hidetaka Okamoto
?
日本电子卒业生と笔贬笔と蝉测尘蹿辞苍测
日本电子卒业生と笔贬笔と蝉测尘蹿辞苍测日本电子卒业生と笔贬笔と蝉测尘蹿辞苍测
日本电子卒业生と笔贬笔と蝉测尘蹿辞苍测
Katsuhiro Ogawa
?
Symfony勉強会#9 form
Symfony勉強会#9 formSymfony勉強会#9 form
Symfony勉強会#9 form
Yuichi Okada
?
こわくないSymfony2 - 業務で使って気づいた7つの良いところ
こわくないSymfony2 - 業務で使って気づいた7つの良いところこわくないSymfony2 - 業務で使って気づいた7つの良いところ
こわくないSymfony2 - 業務で使って気づいた7つの良いところ
Go Nakanishi
?
础辫颈设计
础辫颈设计础辫颈设计
础辫颈设计
Yuto Suzuki
?
厂测尘蹿辞苍测2のイベントリスナーについて
厂测尘蹿辞苍测2のイベントリスナーについて厂测尘蹿辞苍测2のイベントリスナーについて
厂测尘蹿辞苍测2のイベントリスナーについて
tnuuu
?
管理画面のアクセスコントロール
管理画面のアクセスコントロール 管理画面のアクセスコントロール
管理画面のアクセスコントロール
Masao Maeda
?
顿辞肠迟谤颈苍别アカンパターン
顿辞肠迟谤颈苍别アカンパターン顿辞肠迟谤颈苍别アカンパターン
顿辞肠迟谤颈苍别アカンパターン
Hidetaka Okamoto
?
日本电子卒业生と笔贬笔と蝉测尘蹿辞苍测
日本电子卒业生と笔贬笔と蝉测尘蹿辞苍测日本电子卒业生と笔贬笔と蝉测尘蹿辞苍测
日本电子卒业生と笔贬笔と蝉测尘蹿辞苍测
Katsuhiro Ogawa
?
Symfony勉強会#9 form
Symfony勉強会#9 formSymfony勉強会#9 form
Symfony勉強会#9 form
Yuichi Okada
?
こわくないSymfony2 - 業務で使って気づいた7つの良いところ
こわくないSymfony2 - 業務で使って気づいた7つの良いところこわくないSymfony2 - 業務で使って気づいた7つの良いところ
こわくないSymfony2 - 業務で使って気づいた7つの良いところ
Go Nakanishi
?

Similar to EventListener使いこなし術 - Symfony勉強会#10 (10)

Symfony 1.4 TIPS from Openpne Source Code
Symfony 1.4 TIPS from Openpne Source CodeSymfony 1.4 TIPS from Openpne Source Code
Symfony 1.4 TIPS from Openpne Source Code
Hidenori Goto
?
Introduction of symfony development process & What's symfony 1.3?
Introduction of symfony development process & What's symfony 1.3?Introduction of symfony development process & What's symfony 1.3?
Introduction of symfony development process & What's symfony 1.3?
Kousuke Ebihara
?
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoyaSymfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Hidenori Goto
?
Symfony2 intro-20111204
Symfony2 intro-20111204Symfony2 intro-20111204
Symfony2 intro-20111204
Hidenori Goto
?
Symfony updates
Symfony updatesSymfony updates
Symfony updates
Katsuhiro Ogawa
?
Using Symfony Templating On Symfony 1
Using Symfony Templating On Symfony 1Using Symfony Templating On Symfony 1
Using Symfony Templating On Symfony 1
Kousuke Ebihara
?
Symfony2 workshop-1
Symfony2 workshop-1Symfony2 workshop-1
Symfony2 workshop-1
Hidenori Goto
?
KLab Social Game Platform ~Symfony1.4活用事例~
KLab Social Game Platform ~Symfony1.4活用事例~KLab Social Game Platform ~Symfony1.4活用事例~
KLab Social Game Platform ~Symfony1.4活用事例~
碍尝补产株式会社
?
Symfony2 introduction
Symfony2 introductionSymfony2 introduction
Symfony2 introduction
Hidenori Goto
?
第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0
Yusuke Ueno
?
Symfony 1.4 TIPS from Openpne Source Code
Symfony 1.4 TIPS from Openpne Source CodeSymfony 1.4 TIPS from Openpne Source Code
Symfony 1.4 TIPS from Openpne Source Code
Hidenori Goto
?
Introduction of symfony development process & What's symfony 1.3?
Introduction of symfony development process & What's symfony 1.3?Introduction of symfony development process & What's symfony 1.3?
Introduction of symfony development process & What's symfony 1.3?
Kousuke Ebihara
?
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoyaSymfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Hidenori Goto
?
Symfony2 intro-20111204
Symfony2 intro-20111204Symfony2 intro-20111204
Symfony2 intro-20111204
Hidenori Goto
?
Using Symfony Templating On Symfony 1
Using Symfony Templating On Symfony 1Using Symfony Templating On Symfony 1
Using Symfony Templating On Symfony 1
Kousuke Ebihara
?
KLab Social Game Platform ~Symfony1.4活用事例~
KLab Social Game Platform ~Symfony1.4活用事例~KLab Social Game Platform ~Symfony1.4活用事例~
KLab Social Game Platform ~Symfony1.4活用事例~
碍尝补产株式会社
?
第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0
Yusuke Ueno
?

Recently uploaded (6)

松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)
松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)
松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)
Matsushita Laboratory
?
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
翔栄 杉田
?
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
info819904
?
惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)
惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)
惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)
馮 富久
?
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージカスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
info819904
?
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
sugiuralab
?
松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)
松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)
松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)
Matsushita Laboratory
?
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
翔栄 杉田
?
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
info819904
?
惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)
惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)
惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)
馮 富久
?
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージカスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
info819904
?
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
sugiuralab
?

EventListener使いこなし術 - Symfony勉強会#10