SlideShare a Scribd company logo
1 of 74
Download to read offline
ブラック企業から学ぶMVCモデル 
第47回 情報科学若手の会 2014/09/15
who?? 
2 
NAME 
廣戸 裕大 
TWITTER 
@about_hiroppy 
SITE 
about-hiroppy.com
注意1 
! 
! 
今回はwebアプリケーションではない前提の 
MVCモデルの話をします 
プラガブルMVCの話はしません 
あくまで例として自分のイメージでのブラック企業等なので 
イメージと違ったらすいません>< 
3
注意2 
! 
! 
所属団体とか全く関係ないです 
! 
4
流れ 
5 
! 
! 
- MVCとはなんなのか 
- ブラック企業とはなんなのか 
- ブラック企業を例えにMVCのいい書き方を考察する 
- まとめ
MVCとは? 
! 
! 
Model View Controllerの略称 
1979年 
Smalltalkという言語のGUI設計で用いられた概念 
6
Smalltalk 
! 
! 
ゼロックスのパロアルト研究所で作られた 
オブジェクト指向プログラミング言語 
現在はシンコムからVisualWorksという名前で 
販売されている 
7
MVCの背景にある考え方 
8
! 
! 
- Multitier Architecture 
- PresentationDomainSeparation 
9
Multitier Architecture 
10 
ユーザインタフェース層 
アプリケーション層 
ドメイン層 
インフラストラクチャ層 
上位層 
ユーザに情報を表示しユーザの入力を解釈する 
ドメイン層のオブジェクトを協調させて 
アプリケーションの問題解決を行う 
ビジネスに関する知識を持たず作業を調整するだけ 
ビジネスロジックを表現する部分 
上位のレイヤを支える一般的な技術的機能を提供する 
下位層 
下の層は上の層のことを知っていてはいけない!
PresentationDomainSeparation 
! 
! 
Martin Fowler氏が提唱した 
プレゼンテーションロジックとドメイン(ビジネス)ロジックが 
分かれていると理解しやすいから分けよう! 
11
各要素の定理
Model 
! 
! 
システム中でのビジネスロジックを担当する 
問題対象としてのデータとそのデータに対する操作する 
データの整合性*においての責任を持つ 
データの整合性: データの変更が中途半端でつじつまが合わなくなってしまっている状況13
View 
! 
! 
プレゼンテーションロジックでModelがもつ 
情報の表示や更新を担当 
ユーザ入力の取得の管理もする 
14
Controller 
! 
! 
プレゼンテーションロジックでの 
ユーザー操作のインプットを担当する 
ModelとViewに対して命令を出す 
15
16 
ユーザインタフェース層 
アプリケーション層 
ドメイン層 
View 
Controller 
Model 
プレゼンテーションロジック 
ビジネスロジック
Controller 
View Model 
17 
1. 入力を通知2.処理を命令する 
3.変更されたことを通知 
4.表示する情報を取得
18 
Controller 
1. 入力を通知2.処理を命令する 
3.変更されたことを通知 
View Model 
4.表示する情報を取得 
ModelがViewに通知する仕組み
Observerパターン 
! 
! 
最初の初期化時,Modelに対して変更があったときに 
情報を受け取りたいViewを登録する 
変更されたら登録されたすべてのViewに対して通知を行う 
19
MVCモデルとは? 
! 
! 
Model View Controllerの略称 
1979年 
Smalltalkという言語のGUI設計で用いられた概念 
20
ではwebアプリケーションでは… 
21
_人人人人人_ 
> Model2 < 
‾YYYYY‾ 
22
Model 2 
! 
! 
MVC Model2,MVC2とも呼ばれる 
1998年 
JSP仕様のドラフトで提唱された 
MVCをWebサービスに適応させたもの 
23
WebBrowser 
1. クライアントからのリクエスト(URL) 
Controller 
View Model 
24 
3. 結果を返す2. リクエストを通知 
4. 結果を反映させる 
5. レスポンス 
M → V間での関係性を持たない!
MVCとModel 2の違い 
! 
! 
サーバー側からいきなりModelの状態変更が 
通知されることはHTTPがステートレスなのでできない 
よってControllerを経由しないといけないので 
ModelからViewへの通知ができない 
25
MVCを使うことによるメリット 
! 
! 
- 機能別に分かれているのでテストがしやすい 
- ViewとModelでの並行開発が可能となる 
- ほかの部分の変更による影響を受けにくい 
- 相互参照の回避が容易 
- 再利用性が高い 
26
本題 
ブラック企業から学ぶ 
MVCモデル 
27
ブラック企業 … 
28 
! 
! 
ブラック企業(ブラックきぎょう)またはブラック会社(ブラックが 
いしゃ)とは、広義としては暴力団などの反社会的団体との繋がりを 
持つなど違法行為を常態化させた会社を指し、狭義には新興産業にお 
いて若者(わかもの)を大量に採用し、過重労働・違法労働によって使 
いつぶし、次々と離職に追い込む成長大企業を指す 
! 
cf. wikipedia ブラック企業
29 
⚠ あくまで個人的なイメージです
ブラック企業大賞2014 
30 
ノミネート要努力賞 
株式会社 大庄(居酒屋チェーン「日本海庄や」) 
JR西日本 
株式会社 ヤマダ電機 
株式会社 A-1 Pictures 
タマホーム株式会社 
東京都議会 
株式会社リコー 
株式会社 秋田書店 
学校法人智香寺学園 正智深谷高等学校・ 株式会社 イスト 
実行委員会は9月に入って、緊急ノミネートとしてさらに以下の2企業が緊急に追加された。 
! 
株式会社 不二ビューティ(たかの友梨ビューティクリニック) 
株式会社ゼンショー(すき家) 
株式会社ゼンショー(すき家) 
大賞 
株式会社 ヤマダ電機
31 http://doda.jp/lab/black/
32
目的 
! 
! 
Fat Controllerを避ける 
33
34 
Controller 
主人公 
社員(家電量販店)
Model 
効率化ツール 
管理ツール 
35
36 
View 
上司
ブラック企業系社員 
! 
! 
社員(Controller)が一番頑張るパターン 
また、効率ツール(Model)が貧弱であるパターン 
37
38 
365日24時間働け!
社員(Controller) 
2. 
在庫の存在確認, 
在庫を取得して 
在庫の数を減らす 
在庫状況の更新 etc … 
上司(View) ツール(Model) 
39 
1. 仕事を通知 
3. 仕事が終わったことを通知 
4. データの取得
ブラック企業系社員 
40 
大量の仕事(ユーザからの入力) 
仕事の処理をして 
更新をする 
仕事が終わったことを知らせる
41 
問題点 1 
ControllerがModelの値を操作する処理をするため 
カプセル化ができていない
42 
顧客情報を盗む 
転売 
⚠ ブラック企業とは関係ありません
43 
問題点 2 
全体の処理は単一ではないのでControllerに書くと 
肥大化してしまう
44 
在庫管理 
生産 
生産
45 
問題点 3 
手続きがControllerに書かれることでModelの再利用の 
メリットが減ってしまう
46 
処理 
A,B,C … 
処理 
A,B
47 
処理 
A,B,C …
働き過ぎ!! 
48
49 
ではどうすればControllerの仕事量を軽減させるか
当たり前ですが… 
Modelにビジネスロジックを書く 
50 
つまり… 
ブラック企業はもっとツールを自動化するべき(?)
一般企業系社員 
! 
! 
社員(Controller)は通知だけをする 
51
社員(Controller) 
1. 仕事を通知2. 仕事が来たことを通知 
上司(View) ツール(Model) 
52 
3. 仕事が終わったことを通知 
4. データの取得
一般企業系社員 
53 
仕事(ユーザからの入力) 
仕事の処理をして 
更新をする 
仕事が終わったことを知らせる 
仕事の処理を依頼する
これまだ社員(Controller)の仕事 
減らせるよね? 
54
一般企業系社員 
55 
仕事(ユーザからの入力) 
仕事の処理を依頼する 
仕事が終わったことを知らせる 
Controllerがする 
必要性はない
ホワイト企業系社員 
! 
! 
社員(Controller)は通知だけをするが 
仕事(処理)の通知をするだけで終了の通知はしない 
56
社員(Controller) 
1. 仕事を通知2. 仕事が来たことを通知 
上司(View) ツール(Model) 
57 
3. 仕事が終わったことを通知 
4. データの取得
ホワイト企業系社員 
58 
仕事(ユーザからの入力) 
仕事が終わったことを 仕事の処理を依頼する 
知らせる
社員(Controller) 
1. 仕事を通知2. 仕事が来たことを通知 
上司(View) ツール(Model) 
59 
3. 仕事が終わったことを通知 
4. データの取得 
ModelがViewに通知する仕組み
Observerパターン 
! 
! 
最初の初期化時,Modelに対して変更があったときに 
情報を受け取りたいViewを登録する 
変更されたら登録されたすべてのViewに対して通知を行う 
60
Observerパターン 
61 
観察者通知者 
View Model 
事前に登録しておく 
自分自身にchangeのメッセージを送る 
登録されたViewに対して 
updateのメッセージを送る 
dependency
62 
もしかして社員(Controller)いらなくないですか?
63 
仕事(ユーザからの入力) 
仕事の処理を依頼する 
仕事が終わったことを通知
64 
問題点 
! 
! 
1. 互いに相手の機能を呼び合っている点 
2. Modelは相手のことを知ってはいけない
問題点1 
65 
! 
! 
互いに相手の機能を呼び合っている点 
! 
密結合の状態の場合 
一方の変更が他方に影響を及ぼす可能性がある
問題点2 
66 
! 
! 
Modelは相手のことを知ってはいけない 
! 
ViewやControllerを参照できるような設計はいけない 
ModelがViewと一対一での対応をしない可能性があるから
必要! 
67
68 
まとめ
MVCの本質 
! 
! 
疎結合 
! 
ViewかModelで変更が生じても 
Controllerを置くことにより問題を吸収できる 
“デザイン”と”ロジック”における分業化 
69
Controllerの肥大化を防ぐ 
70 
! 
! 
- Modelの役割を理解する 
決してデータの入れ物ではなく入れ物にいれる役割もある 
- Controllerの処理範囲 
Viewの都合に引っ張られる部分を処理する 
!
71 
最後に…
! 
! 
人それぞれMVCに対しての捉え方が違うと思いま 
すのでこれが必ず正しいとは限りません! 
! 
72
参考文献 
73 
! 
! 
- Separating User Interface Code 
http://martinfowler.com/ieeeSoftware/separation.pdf 
- The Model-View-Controller (MVC) 
http://heim.ifi.uio.no/~trygver/2003/javazone-jaoo/MVC_pattern.pdf 
- Model-View-Controller 
http://www.cue.im.dendai.ac.jp/~masuda/mvc/
! 
! 
ご清聴ありがとうございます! 
74

More Related Content

What's hot

ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうShun Hikita
 
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)Yoshitaka Kawashima
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)Mikiya Okuno
 
.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CDYuta Matsumura
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話ichirin2501
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門増田 亨
 
SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーSQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーke-m kamekoopa
 
日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについてkumake
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則20160526 依存関係逆転の原則
20160526 依存関係逆転の原則bonjin6770 Kurosawa
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Masahito Zembutsu
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
Iocコンテナについて
IocコンテナについてIocコンテナについて
IocコンテナについてAkio Terayama
 

What's hot (20)

ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かう
 
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
 
.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CD
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
Mavenの真実とウソ
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
 
SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーSQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリー
 
日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについて
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
20160526 依存関係逆転の原則
20160526 依存関係逆転の原則20160526 依存関係逆転の原則
20160526 依存関係逆転の原則
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
Iocコンテナについて
IocコンテナについてIocコンテナについて
Iocコンテナについて
 

Viewers also liked

Validações no Ruby on Rails
Validações no Ruby on Rails Validações no Ruby on Rails
Validações no Ruby on Rails Eduardo Mendes
 
ゲーム開発とMVC
ゲーム開発とMVCゲーム開発とMVC
ゲーム開発とMVCTakashi Komada
 
Model View Presenter for Android
Model View Presenter for AndroidModel View Presenter for Android
Model View Presenter for Androidshinnosuke kugimiya
 
高専生流 突貫工事のススメ ~plugicaで挑んだ高専プロコン~
高専生流 突貫工事のススメ ~plugicaで挑んだ高専プロコン~高専生流 突貫工事のススメ ~plugicaで挑んだ高専プロコン~
高専生流 突貫工事のススメ ~plugicaで挑んだ高専プロコン~Takumi Sueda
 
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPracticeiOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPracticeKen Morishita
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発慎一 古賀
 
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞いiOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞いKen Morishita
 
本当は楽しいインターネット
本当は楽しいインターネット本当は楽しいインターネット
本当は楽しいインターネットYuya Rin
 
VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計Yuichi Adachi
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門Takuya Kitamura
 

Viewers also liked (15)

MVC 03
MVC 03MVC 03
MVC 03
 
MVC 01
MVC 01MVC 01
MVC 01
 
MVC 02
MVC 02MVC 02
MVC 02
 
Validações no Ruby on Rails
Validações no Ruby on Rails Validações no Ruby on Rails
Validações no Ruby on Rails
 
Mvc
MvcMvc
Mvc
 
HTTP入門
HTTP入門HTTP入門
HTTP入門
 
ゲーム開発とMVC
ゲーム開発とMVCゲーム開発とMVC
ゲーム開発とMVC
 
Model View Presenter for Android
Model View Presenter for AndroidModel View Presenter for Android
Model View Presenter for Android
 
高専生流 突貫工事のススメ ~plugicaで挑んだ高専プロコン~
高専生流 突貫工事のススメ ~plugicaで挑んだ高専プロコン~高専生流 突貫工事のススメ ~plugicaで挑んだ高専プロコン~
高専生流 突貫工事のススメ ~plugicaで挑んだ高専プロコン~
 
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPracticeiOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPractice
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
 
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞いiOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
 
本当は楽しいインターネット
本当は楽しいインターネット本当は楽しいインターネット
本当は楽しいインターネット
 
VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 

Similar to ブラック企業から学ぶMVCモデル

T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門normalian
 
Separate Model from Catalyst
Separate Model from CatalystSeparate Model from Catalyst
Separate Model from Catalysttechmemo
 
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM塹壕よりLivetとMVVM
塹壕よりLivetとMVVMHiroshi Maekawa
 
CakePHP3で学ぶAPIマネジメント #phpconfuk
CakePHP3で学ぶAPIマネジメント #phpconfukCakePHP3で学ぶAPIマネジメント #phpconfuk
CakePHP3で学ぶAPIマネジメント #phpconfukYuta Matsumura
 
クラウド事業者に求めるビジネス要件
クラウド事業者に求めるビジネス要件クラウド事業者に求めるビジネス要件
クラウド事業者に求めるビジネス要件雄哉 吉田
 
MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方Kazuki Shibata
 
20130316 mix cpp-yuo
20130316 mix cpp-yuo20130316 mix cpp-yuo
20130316 mix cpp-yuoOKUBO_Yusuke
 
MVCのつぎは・・・
MVCのつぎは・・・MVCのつぎは・・・
MVCのつぎは・・・Net Penguin
 
プログラミング社内勉強会 モデルを作ろう
プログラミング社内勉強会 モデルを作ろう プログラミング社内勉強会 モデルを作ろう
プログラミング社内勉強会 モデルを作ろう Akiko Goto
 
090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby CocoaTomoki Maeda
 
管理画面のアクセスコントロール
管理画面のアクセスコントロール 管理画面のアクセスコントロール
管理画面のアクセスコントロール Masao Maeda
 
スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則
スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則
スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則株式会社スカイアーチネットワークス
 
仮想環境に MAUI 環境を構築する話
仮想環境に MAUI 環境を構築する話仮想環境に MAUI 環境を構築する話
仮想環境に MAUI 環境を構築する話m ishizaki
 
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azurede:code 2017
 
5分で理解するクラウドビジネスアプリ
5分で理解するクラウドビジネスアプリ5分で理解するクラウドビジネスアプリ
5分で理解するクラウドビジネスアプリYoshitaka Seo
 
Asp Net Mvc 基礎のキソ
Asp Net Mvc 基礎のキソAsp Net Mvc 基礎のキソ
Asp Net Mvc 基礎のキソYoshitaka Seo
 
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発lalha
 
20120225_クラウド導入におけるポイント
20120225_クラウド導入におけるポイント20120225_クラウド導入におけるポイント
20120225_クラウド導入におけるポイントKotaro Tsukui
 
Cloud Native Application on DEIS by using 12 factor
Cloud Native Application on DEIS by using 12 factorCloud Native Application on DEIS by using 12 factor
Cloud Native Application on DEIS by using 12 factorYoshio Terada
 

Similar to ブラック企業から学ぶMVCモデル (20)

T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
 
Separate Model from Catalyst
Separate Model from CatalystSeparate Model from Catalyst
Separate Model from Catalyst
 
MVVM入門
MVVM入門MVVM入門
MVVM入門
 
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
 
CakePHP3で学ぶAPIマネジメント #phpconfuk
CakePHP3で学ぶAPIマネジメント #phpconfukCakePHP3で学ぶAPIマネジメント #phpconfuk
CakePHP3で学ぶAPIマネジメント #phpconfuk
 
クラウド事業者に求めるビジネス要件
クラウド事業者に求めるビジネス要件クラウド事業者に求めるビジネス要件
クラウド事業者に求めるビジネス要件
 
MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方MVCフレームワークとの付き合い方
MVCフレームワークとの付き合い方
 
20130316 mix cpp-yuo
20130316 mix cpp-yuo20130316 mix cpp-yuo
20130316 mix cpp-yuo
 
MVCのつぎは・・・
MVCのつぎは・・・MVCのつぎは・・・
MVCのつぎは・・・
 
プログラミング社内勉強会 モデルを作ろう
プログラミング社内勉強会 モデルを作ろう プログラミング社内勉強会 モデルを作ろう
プログラミング社内勉強会 モデルを作ろう
 
090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa
 
管理画面のアクセスコントロール
管理画面のアクセスコントロール 管理画面のアクセスコントロール
管理画面のアクセスコントロール
 
スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則
スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則
スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則
 
仮想環境に MAUI 環境を構築する話
仮想環境に MAUI 環境を構築する話仮想環境に MAUI 環境を構築する話
仮想環境に MAUI 環境を構築する話
 
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
 
5分で理解するクラウドビジネスアプリ
5分で理解するクラウドビジネスアプリ5分で理解するクラウドビジネスアプリ
5分で理解するクラウドビジネスアプリ
 
Asp Net Mvc 基礎のキソ
Asp Net Mvc 基礎のキソAsp Net Mvc 基礎のキソ
Asp Net Mvc 基礎のキソ
 
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
 
20120225_クラウド導入におけるポイント
20120225_クラウド導入におけるポイント20120225_クラウド導入におけるポイント
20120225_クラウド導入におけるポイント
 
Cloud Native Application on DEIS by using 12 factor
Cloud Native Application on DEIS by using 12 factorCloud Native Application on DEIS by using 12 factor
Cloud Native Application on DEIS by using 12 factor
 

Recently uploaded

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介: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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
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
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介: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
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介: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
 
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
 

Recently uploaded (9)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介: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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
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
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介: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
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介: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...
 
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」の紹介
 

ブラック企業から学ぶMVCモデル