Enviar pesquisa
Carregar
Software Development with Symfony
•
2 gostaram
•
1,154 visualizações
Atsuhiro Kubo
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 36
Baixar agora
Baixar para ler offline
Recomendados
Symfony2 introduction
Symfony2 introduction
Hidenori Goto
SQuBOK特別講演2015年2月「SQuBOK V2設計開発領域について」
SQuBOK特別講演2015年2月「SQuBOK V2設計開発領域について」
Hironori Washizaki
我々がなすべき学習支援とはなにか?
我々がなすべき学習支援とはなにか?
Yuji Nonaka
CVPR2013の論文紹介(車載カメラ関連)
CVPR2013の論文紹介(車載カメラ関連)
Ken Sakurada
Informacja wyprawka szkolna
Informacja wyprawka szkolna
Aga Szajda
エクストリームプログラミングの現場から
エクストリームプログラミングの現場から
Fumihiko Kinoshita
アート・オブ・アジャイル デベロップメント 〜テストが駆動するビジネス価値〜
アート・オブ・アジャイル デベロップメント 〜テストが駆動するビジネス価値〜
Fumihiko Kinoshita
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
Atsuhiro Kubo
Recomendados
Symfony2 introduction
Symfony2 introduction
Hidenori Goto
SQuBOK特別講演2015年2月「SQuBOK V2設計開発領域について」
SQuBOK特別講演2015年2月「SQuBOK V2設計開発領域について」
Hironori Washizaki
我々がなすべき学習支援とはなにか?
我々がなすべき学習支援とはなにか?
Yuji Nonaka
CVPR2013の論文紹介(車載カメラ関連)
CVPR2013の論文紹介(車載カメラ関連)
Ken Sakurada
Informacja wyprawka szkolna
Informacja wyprawka szkolna
Aga Szajda
エクストリームプログラミングの現場から
エクストリームプログラミングの現場から
Fumihiko Kinoshita
アート・オブ・アジャイル デベロップメント 〜テストが駆動するビジネス価値〜
アート・オブ・アジャイル デベロップメント 〜テストが駆動するビジネス価値〜
Fumihiko Kinoshita
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
Atsuhiro Kubo
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
Tadayoshi Sato
PHPフレームワーク入門
PHPフレームワーク入門
Sho A
DTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめ
Mikiya Okuno
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Kazumi IWANAGA
DDD 20121106 SEA Forum November
DDD 20121106 SEA Forum November
増田 亨
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀
増田 亨
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Tomoharu ASAMI
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
Naoki (Neo) SATO
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
BPStudy20121221
BPStudy20121221
Shinichiro Takezaki
CodeIgniter入門
CodeIgniter入門
Sho A
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
Mitsuru Katoh
Jubatusでマルウェア分類
Jubatusでマルウェア分類
Shuzo Kashihara
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
Tomoharu ASAMI
Isomorphic web development with scala and scala.js
Isomorphic web development with scala and scala.js
TanUkkii
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue
ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!
Kazumi IWANAGA
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
Tomoharu ASAMI
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
Daisuke Nishino
MPD Osaka Extra 5
MPD Osaka Extra 5
Atsuhiro Kubo
Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1
Atsuhiro Kubo
Mais conteúdo relacionado
Semelhante a Software Development with Symfony
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
Tadayoshi Sato
PHPフレームワーク入門
PHPフレームワーク入門
Sho A
DTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめ
Mikiya Okuno
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Kazumi IWANAGA
DDD 20121106 SEA Forum November
DDD 20121106 SEA Forum November
増田 亨
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀
増田 亨
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Tomoharu ASAMI
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
Naoki (Neo) SATO
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
BPStudy20121221
BPStudy20121221
Shinichiro Takezaki
CodeIgniter入門
CodeIgniter入門
Sho A
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
Mitsuru Katoh
Jubatusでマルウェア分類
Jubatusでマルウェア分類
Shuzo Kashihara
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
Tomoharu ASAMI
Isomorphic web development with scala and scala.js
Isomorphic web development with scala and scala.js
TanUkkii
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue
ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!
Kazumi IWANAGA
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
Tomoharu ASAMI
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
Daisuke Nishino
Semelhante a Software Development with Symfony
(20)
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
PHPフレームワーク入門
PHPフレームワーク入門
DTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめ
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
DDD 20121106 SEA Forum November
DDD 20121106 SEA Forum November
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
BPStudy20121221
BPStudy20121221
CodeIgniter入門
CodeIgniter入門
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
Jubatusでマルウェア分類
Jubatusでマルウェア分類
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
Isomorphic web development with scala and scala.js
Isomorphic web development with scala and scala.js
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
Mais de Atsuhiro Kubo
MPD Osaka Extra 5
MPD Osaka Extra 5
Atsuhiro Kubo
Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1
Atsuhiro Kubo
Enaction, Not Design on Symfony Meetup Kansai 2
Enaction, Not Design on Symfony Meetup Kansai 2
Atsuhiro Kubo
The Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applications
Atsuhiro Kubo
Lean Architecture / DCI Evening Report
Lean Architecture / DCI Evening Report
Atsuhiro Kubo
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Atsuhiro Kubo
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Atsuhiro Kubo
ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界
Atsuhiro Kubo
意図を表現するプログラミング
意図を表現するプログラミング
Atsuhiro Kubo
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
Atsuhiro Kubo
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
Introduction to Continuous Testing
Introduction to Continuous Testing
Atsuhiro Kubo
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
Atsuhiro Kubo
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
Atsuhiro Kubo
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
Atsuhiro Kubo
How To Create Custom DSLs By PHP
How To Create Custom DSLs By PHP
Atsuhiro Kubo
Piece Framework 2.0 Background
Piece Framework 2.0 Background
Atsuhiro Kubo
Mais de Atsuhiro Kubo
(17)
MPD Osaka Extra 5
MPD Osaka Extra 5
Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on Symfony Meetup Kansai 2
Enaction, Not Design on Symfony Meetup Kansai 2
The Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applications
Lean Architecture / DCI Evening Report
Lean Architecture / DCI Evening Report
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界
意図を表現するプログラミング
意図を表現するプログラミング
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
Introduction to Continuous Testing
Introduction to Continuous Testing
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
How To Create Custom DSLs By PHP
How To Create Custom DSLs By PHP
Piece Framework 2.0 Background
Piece Framework 2.0 Background
Último
論文紹介: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] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Último
(9)
論文紹介: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] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Software Development with Symfony
1.
2012/4/7 第 3
回 関西 PHP 勉強会 Symfony による ソフトウェア開発入門 PHP メンターズ 久保敦啓 (KUBO Atsuhiro)
2.
久保敦啓 (KUBO Atsuhiro) ●
株式会社アイテマン 代表取締役 ● Piece Project プロジェクトリード ● PHP メンターズ ● Twitter @iteman
3.
Piece Framework ●
PHP フレームワーク、ツール ● オープンソースソフトウェア ● Piece Project 開発者募集中 スポンサー募集中
4.
Piece Framework ●
Twitter @piece_framework ● ソースコード https://github.com/piece ● Web サイト http://piece-framework.com/
5.
PHP メンターズ ●
Twitter @phpmentors ● ソースコード https://github.com/phpmentors-jp ● Web サイト・ブログ http://phpmentors.jp/ ● 有償トレーニングサービス始めました。
6.
良いソフトウェアとは?
7.
“ ソフトウェアの核心は、ドメイ ンに関係した問題をユーザのた めに解決する能力である。” — エリック・エヴァンスのドメイン駆動設計
8.
巨人の肩の上に立つ
9.
例えば… ●
開発プロセス・方法論 ● アーキテクチャパターン・スタイル ● デザインパターン ● フレームワーク ● ライブラリ ● …
10.
アーキテクチャパターン・スタイル ●
モデル・ビュー・コントローラ ● レイヤ ● REST ● CQRS ● DCI ● …
11.
“ 使い方を機能として実装する” — パターン、
Wiki 、 XP
12.
ドメインとは?
13.
ドメインモデル
14.
レイヤーアーキテクチャとドメインモデル Presentation
Controllers Views Infrastructure Logging Domain Domain Objects Services Security Validation etc... Data Source ORM
15.
ドメイン駆動設計
16.
ドメイン駆動設計とは? ●
ドメインモデルは、ドメイン知識を深めながら反復 的( iterative )に深化させていく。 ● ドメインモデルは、開発者とドメイン知識をもつ人 (ユーザ、専門家等)との間の共通言語となるよう にする。 ● ドメインモデルは、実装コードときちんと対応付け られるようにする。 —Domain-Driven Design のエッセンス
17.
代表的なパターン ●
ユビキタス言語 ● モデル駆動設計 ● 実践的モデラー
18.
19.
Symfony の歴史
20.
21.
Symfony の特徴
22.
Symfony の特徴 ●
DI コンテナ ● コンフィギュレーション ● バンドル
23.
DI コンテナ
24.
DI コンテナ ●
Dependency Injection 依存関係逆転の原則 (DIP: The Dependency Inversion Principle) ● コンポーネント間の疎結合化 ● テスタビリティの向上 ● コンポーネント構成知識の集約 コンポーネント構成定義言語
25.
26.
DependencyInjection コンポーネント ●
複数の定義フォーマット YAML, XML, PHP ● 複数のインジェクション方法 コンストラクタ、セッター、フィールド ● ファクトリクラス・サービス ● タグによる拡張ポイント・拡張 ● コンパイル時の変形・最適化
27.
DI コンテナ定義の例 ... services:
piece_questetra.questetra_client: scope: prototype class: "%piece_questetra.questetra_client.class%" calls: - [ setRequestContext, [ "@piece_questetra.request_context" ] ] piece_questetra.request_context: class: "%piece_questetra.request_context.class%" arguments: - "%piece_questetra.context_root%" - "%piece_questetra.user_id%" - "%piece_questetra.password%"
28.
コンフィギュレーション
29.
コンフィギュレーション ●
問題空間の言語 実装コンポーネントの構造に影響を受けない ● ドメイン特化言語 DSL: Domain-Specific Language コンフィギュレーション DSL
30.
Configuration コンポーネント ●
グラマー言語 (PHP) による文法定義 ● 複数の保存フォーマット YAML, XML, PHP ● DependencyInjection コンポーネントとの統合 DI エクステンション毎のスロット ● 複数回の読み込み 例)構成ファイルとコマンドライン引数のマージ
31.
文法定義の例 $treeBuilder->root('piece_questetra')
->children() ... ->arrayNode('authentication') ->isRequired() ->children() ->scalarNode('user_id') ->isRequired() ->cannotBeEmpty() ->end() ->scalarNode('password') ->isRequired() ->cannotBeEmpty() ->end() ->end() ->end() ->end();
32.
構成定義の例 piece_questetra: context_root:
"%piece_questetra.context_root%" authentication: user_id: "%piece_questetra.user_id%" password: "%piece_questetra.password%"
33.
コンフィギュレーションから DI コンテナへの変換
34.
バンドル
35.
バンドル ●
Symfony におけるモジュール(パッケージ) ● 粗粒度の機能(フィーチャー)の提供単位 Web フレームワーク (FrameworkBundle) Web アプリケーション ● DI コンテナ定義、コンフィギュレーション、 クラス、 Web リソース等を束ねたもの
36.
参考 ●
エリック・エヴァンス「エリック・エヴァンスのドメイン駆動設計」、翔 泳社、 2011 年。 ● 江渡 浩一郎「パターン、 Wiki 、 XP ~ 時を超えた創造の原則」、技術評論 社、 2009 年。 ● クシシュトフ・チャルネッキ、ウールリシュ・ W ・アイセンアッカ「ジェ ネレーティブプログラミング」、翔泳社、 2008 年。
Baixar agora