SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
EventListener
使いこなし術
Symfony 勉強会 #10

岡田祐一 @okapon_pon
自己紹介
• 名前:岡田祐一 (@okapon_pon)
• 所属:株式会社クロコス エンジニ
ア
• 2013年∼ 日本Symfonyユーザー会
• Symfony歴 2年半ほど
本日の話
EventListener使いこなし術
あらため
EventListenerできること
まえおき
!
Symfonyについて
Symfony
!
素直で柔軟なフレームワーク
Symfony
!
HWに縛られず自由に開発できる
Symfony
柔軟性を支える屋台骨
• DI (+ configuration)
• 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_filter_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に保存
• 必要なタイミングで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

Más contenido relacionado

La actualidad más candente

MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリングMicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリングLINE Corporation
 
Redmineでメトリクスを見える化する方法
Redmineでメトリクスを見える化する方法Redmineでメトリクスを見える化する方法
Redmineでメトリクスを見える化する方法Hidehisa Matsutani
 
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)onozaty
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)Mikiya Okuno
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使うKazuhiro Suga
 
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作UnityTechnologiesJapan002
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方Shohei Koyama
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpkyon mm
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)Masahiro Nishimi
 
若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発Hirohito Morinaga
 
TextMeshProを使った絵文字対応について
TextMeshProを使った絵文字対応についてTextMeshProを使った絵文字対応について
TextMeshProを使った絵文字対応についてssuserfefa74
 
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜UnityTechnologiesJapan002
 
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxTakayuki Shimizukawa
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組みTakayuki Shimizukawa
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫Yuta Imai
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャtorisoup
 
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~Hinemos
 

La actualidad más candente (20)

MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリングMicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
 
Redmineでメトリクスを見える化する方法
Redmineでメトリクスを見える化する方法Redmineでメトリクスを見える化する方法
Redmineでメトリクスを見える化する方法
 
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DDUE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
 
若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発
 
TextMeshProを使った絵文字対応について
TextMeshProを使った絵文字対応についてTextMeshProを使った絵文字対応について
TextMeshProを使った絵文字対応について
 
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
 
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinx
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
 

Destacado

Symfony2のイベントリスナーについて
Symfony2のイベントリスナーについてSymfony2のイベントリスナーについて
Symfony2のイベントリスナーについてtnuuu
 
管理画面のアクセスコントロール
管理画面のアクセスコントロール 管理画面のアクセスコントロール
管理画面のアクセスコントロール Masao Maeda
 
Doctrineアカンパターン
DoctrineアカンパターンDoctrineアカンパターン
DoctrineアカンパターンHidetaka Okamoto
 
日本電子卒業生とPHPとsymfony
日本電子卒業生とPHPとsymfony日本電子卒業生とPHPとsymfony
日本電子卒業生とPHPとsymfonyKatsuhiro Ogawa
 
Symfony勉強会#9 form
Symfony勉強会#9 formSymfony勉強会#9 form
Symfony勉強会#9 formYuichi Okada
 
こわくないSymfony2 - 業務で使って気づいた7つの良いところ
こわくないSymfony2 - 業務で使って気づいた7つの良いところこわくないSymfony2 - 業務で使って気づいた7つの良いところ
こわくないSymfony2 - 業務で使って気づいた7つの良いところGo Nakanishi
 

Destacado (7)

Symfony2のイベントリスナーについて
Symfony2のイベントリスナーについてSymfony2のイベントリスナーについて
Symfony2のイベントリスナーについて
 
管理画面のアクセスコントロール
管理画面のアクセスコントロール 管理画面のアクセスコントロール
管理画面のアクセスコントロール
 
Doctrineアカンパターン
DoctrineアカンパターンDoctrineアカンパターン
Doctrineアカンパターン
 
日本電子卒業生とPHPとsymfony
日本電子卒業生とPHPとsymfony日本電子卒業生とPHPとsymfony
日本電子卒業生とPHPとsymfony
 
Symfony勉強会#9 form
Symfony勉強会#9 formSymfony勉強会#9 form
Symfony勉強会#9 form
 
こわくないSymfony2 - 業務で使って気づいた7つの良いところ
こわくないSymfony2 - 業務で使って気づいた7つの良いところこわくないSymfony2 - 業務で使って気づいた7つの良いところ
こわくないSymfony2 - 業務で使って気づいた7つの良いところ
 
Api設計
Api設計Api設計
Api設計
 

Similar a EventListener使いこなし術 - Symfony勉強会#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 CodeHidenori 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 nagoyaHidenori Goto
 
Symfony2 intro-20111204
Symfony2 intro-20111204Symfony2 intro-20111204
Symfony2 intro-20111204Hidenori Goto
 
Using Symfony Templating On Symfony 1
Using Symfony Templating On Symfony 1Using Symfony Templating On Symfony 1
Using Symfony Templating On Symfony 1Kousuke 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活用事例~KLab株式会社
 
Symfony2 introduction
Symfony2 introductionSymfony2 introduction
Symfony2 introductionHidenori Goto
 
第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0Yusuke Ueno
 

Similar a 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
 
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?
 
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoyaSymfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
 
Symfony2 intro-20111204
Symfony2 intro-20111204Symfony2 intro-20111204
Symfony2 intro-20111204
 
Symfony updates
Symfony updatesSymfony updates
Symfony updates
 
Using Symfony Templating On Symfony 1
Using Symfony Templating On Symfony 1Using Symfony Templating On Symfony 1
Using Symfony Templating On Symfony 1
 
Symfony2 workshop-1
Symfony2 workshop-1Symfony2 workshop-1
Symfony2 workshop-1
 
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
 
第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0
 

Último

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Último (9)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

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