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

それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?Yoshitaka Kawashima
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけらAtsushi Nakamura
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話Yusuke Hisatsu
 
C#でわかる こわくないMonad
C#でわかる こわくないMonadC#でわかる こわくないMonad
C#でわかる こわくないMonadKouji Matsui
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来についてshinjiigarashi
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門増田 亨
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうShun Hikita
 
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM塹壕よりLivetとMVVM
塹壕よりLivetとMVVMHiroshi Maekawa
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方増田 亨
 
プレゼン基礎講座 2016.11
プレゼン基礎講座 2016.11プレゼン基礎講座 2016.11
プレゼン基礎講座 2016.11智治 長沢
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンYuta Matsumura
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
Ormとの付き合い方
Ormとの付き合い方Ormとの付き合い方
Ormとの付き合い方豊明 尾古
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターンSoudai Sone
 

What's hot (20)

それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
 
C#でわかる こわくないMonad
C#でわかる こわくないMonadC#でわかる こわくないMonad
C#でわかる こわくないMonad
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かう
 
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
 
プレゼン基礎講座 2016.11
プレゼン基礎講座 2016.11プレゼン基礎講座 2016.11
プレゼン基礎講座 2016.11
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
Ormとの付き合い方
Ormとの付き合い方Ormとの付き合い方
Ormとの付き合い方
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 

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
 
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
 
Cloud from Scratch / ゼロからクラウド構築
Cloud from Scratch / ゼロからクラウド構築 Cloud from Scratch / ゼロからクラウド構築
Cloud from Scratch / ゼロからクラウド構築 Tokyo University of Science
 

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入門
 
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
 
Cloud from Scratch / ゼロからクラウド構築
Cloud from Scratch / ゼロからクラウド構築 Cloud from Scratch / ゼロからクラウド構築
Cloud from Scratch / ゼロからクラウド構築
 

Recently uploaded

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Recently uploaded (9)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

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