SlideShare a Scribd company logo
1 of 70
Download to read offline
リッチクライアント
 時代のWebアプリケーション
 アーキテクチャ
 パターンについて考える 
    Next Generation Web Application
    Architecture.
    2012-02-21 Ruby Sapporo Night vol.14
    アップルストア札幌

                  日本Rubyの会
                  Ruby札幌
                                      しまだ こうじ
                                           SHIMADA Koji
2012年2月23日木曜日
...はるかな彼方の昔、ある場所で、何もなく無菌状態の空間
      を漂っていた、でたらめに集まった原子の小さな集合に、そ
      れは深刻な外傷を与えた。そして、異常な、とてもありそう
      もないパターンで原子たちを離れないように結びつけてし
      まった。このようなパターンは自分自身をコピーするという
      ことを早いうちに覚えてしまい(これはパターンが非凡なもの
      であることの一面を示している) 、パターンが漂うすべての
      惑星で、塊状の災難が引き起こされ続けた。このようにして
      宇宙に生命が誕生したのである。
                        『銀河ヒッチハイク・ガイド』




2012年2月23日木曜日
しまだ こうじ
                   島田 浩二
 Photo by tmaeda
2012年2月23日木曜日
日本Rubyの会
2012年2月23日木曜日
一般社団法人LOCAL




2012年2月23日木曜日
2012年2月23日木曜日
2012年2月23日木曜日
2012年2月23日木曜日
2012年2月23日木曜日
2012年2月23日木曜日
2012年2月23日木曜日
よろしく
     お願いします
2012年2月23日木曜日
リッチクライアント
 時代のWebアプリケーション
 アーキテクチャ
 パターンについて考える 
    Next Generation Web Application
    Architecture.
    2012-02-21 Ruby Sapporo Night vol.14
    アップルストア札幌

                  日本Rubyの会
                  Ruby札幌
                                      しまだ こうじ
                                           SHIMADA Koji
2012年2月23日木曜日
お品書き
      ✓ クライアントMVCって何だろう
      ✓ もういちどMVC
      ✓ MVC系のパターンの系譜について
      ✓ もういちどクライアントMVC


2012年2月23日木曜日
2012年2月23日木曜日
Backbone.js gives structure to web applications by
         providing models with key-value binding and
         custom events, collections with a rich API of
         enumerable functions, views with declarative
         event handling, and connects it all to your existing
         API over a RESTful JSON interface.



2012年2月23日木曜日
Demo
                https://github.com/snoozer05/backbone-tiny-example




2012年2月23日木曜日
クライアントMVC




2012年2月23日木曜日
Martin Fowler said




                        photo by pragdave
2012年2月23日木曜日
MVCはさまざまな解釈をされてしまっ
       ているにも関わらず、それら全てが
       MVC という名前で記述されている。
       もしそれで混乱しないようなら、あな
       たも伝言ゲームによるMVCの誤解の犠
       牲者の可能性がある。



                http://martinfowler.com/eaaDev/uiArchs.html
2012年2月23日木曜日
現在のWebアプリケーション
      開発でよく耳にするMVC



                http://www.flickr.com/photos/indigoskies/6523275513/
2012年2月23日木曜日
MVC Model 2
                当時 のWebアプリケーションに
          MVCアーキテクチャを当てはめたもの




                            http://www.flickr.com/photos/indigoskies/6523275513/
2012年2月23日木曜日
MVCのオリジナル
                   ではない



2012年2月23日木曜日
もういちどMVC




2012年2月23日木曜日
30   Smalltalk



                                     MVC

                    2011 3        30




                http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
MVC
                • Model-View-Controller
                • XEROX PARC LRG Trygve Mikkjel Heyerdahl
                  Reenskaug        1978-1979
                    – MODELS - VIEWS – CONTROLLERS
                      • http://d.hatena.ne.jp/digitalsoul/20100913/1284330448
                    – DynaBook
                •
                •
                •




                                   http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
Model-View-
                                 Controller
                •
                • 1987
                •                                     (FXIS)

                •        3
                •             1988            OJT




                             http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
http://www.jac-net.com/~tarzan/smalltalkers/mvc/mvc.html
2012年2月23日木曜日
Model-View-
                                      Controller
                • MVC
                    – Smalltalk
                    –

                •
                •

                •




                                  http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
MVC

                •             MVC
                •            MVC
                •              MVC




                    http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
MVC
                •

                •


                •
                •
                •
                •




                    http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
MVC
                •
                •
                    –                                  changed:

                    –                                      update:

                    –
                    –
                •
                •




                        http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
MVC
                •                                         (VC)

                • M VC
                    –                       (                            )
                                (               )
                        • on:aspect:menu:
                        •

                        •




                                    http://www.smalltalk-users.jp/Home/gao-zhi/dai30kaismalltalkbenkyoukai
2012年2月23日木曜日
Martin Fowler said




                        photo by pragdave
2012年2月23日木曜日
率直に言って、古典的なMVCは
       今のリッチクライアントに対しては
       あまり用をなしません。




                http://martinfowler.com/eaaDev/uiArchs.html
2012年2月23日木曜日
対話型システムのMVC系
             アーキテクチャの系譜



2012年2月23日木曜日
MVC系アーキテクチャパターン


      ✓ Presentation Model
         ✓ Application Model
         ✓ MVVM
      ✓ MVP


2012年2月23日木曜日
MVC系アーキテクチャパターン


      ✓ Presentation Model
         ✓ Application Model
         ✓ MVVM
      ✓ MVP


2012年2月23日木曜日
Presentation Model

      ✓ ドメインロジックとプレゼンテー
        ションロジックをモデルの層で分離
      ✓ View は Model の手前に置かれ
        た Presentation Model を監
        視する



2012年2月23日木曜日
Presentation Model


                       Controller




                                    Presentation
                View
                           監視          Model
                                                   Model



2012年2月23日木曜日
古典的なMVCが
                 持っていた問題を
                解決しようとしたもの



2012年2月23日木曜日
古典的なMVCが持っていた問題

         ✓ システムに存在するロジックは
           ビジネスロジックだけじゃない
            ✓ プレゼンテーションロジックの
              置き場が問題
            ✓ MVC では View か Model
              におくしか無い

2012年2月23日木曜日
Presentation Model


                       Controller




                                    Presentation
                View
                           監視          Model
                                                   Model



2012年2月23日木曜日
Presentation Model


      ✓ Application Model
         ✓ Visual Works でのアプローチ

      ✓ Model-View ViewModel
         ✓ WPF でのアプローチ



2012年2月23日木曜日
MVC系アーキテクチャパターン


      ✓ Presentation Model
         ✓ Application Model
         ✓ MVVM
      ✓ MVP


2012年2月23日木曜日
Model View Presenter

      ✓ 入力制御はOSさんがやってくれる
        のでコントローラさんが退場
      ✓ 直接 View 側を操作したいプレゼ
        ンテーションロジックもあった
         ✓ ロジックを持つ側で直接いじれる
           人が必要


2012年2月23日木曜日
Model View Presenter



                View
                               Presenter
                (V/C)
                        操作も可




                        監視

                                      Model



2012年2月23日木曜日
ポイント




2012年2月23日木曜日
Controller と
                 Presenter は
                生い立ちの異なるもの



2012年2月23日木曜日
整理




2012年2月23日木曜日
MVC系アーキテクチャパターン


      ✓ Presentation Model
         ✓ Application Model
         ✓ MVVM
      ✓ MVP


2012年2月23日木曜日
MVC系アーキテクチャパターン


          ドメインロジック以外のロジック
          をどこに置いて、それと他のコン
          ポーネントをどううまく協調させ
          るかの実践の歴史



2012年2月23日木曜日
最近の JavaScript ライブラリ


      ✓ Backbone.js
      ✓ Knockout.js
      ✓ JavaScriptMVC
      ✓ Batman.js

2012年2月23日木曜日
Rails の世界でも



      ✓ Cells
      ✓ Draper
      ✓ ...


2012年2月23日木曜日
Web アプリケーションの
           世界にも、リッチクライア
           ントと大規模化によってプ
           レゼンテーションロジック
           問題との戦いが本格化しつ
           つある

2012年2月23日木曜日
Martin Fowler said




                        photo by pragdave
2012年2月23日木曜日
MVCはさまざまな解釈をされてしまっ
       ているにも関わらず、それら全てが
       MVC という名前で記述されている。
       もしそれで混乱しないようなら、あな
       たも伝言ゲームによるMVCの誤解の犠
       牲者の可能性がある。



                http://martinfowler.com/eaaDev/uiArchs.html
2012年2月23日木曜日
クライアントMVC




2012年2月23日木曜日
MVC Model 2
                当時 のWebアプリケーションに
          MVCアーキテクチャを当てはめたもの




                            http://www.flickr.com/photos/indigoskies/6523275513/
2012年2月23日木曜日
MVC Model 2
                当時 のWebアプリケーションに
          MVCアーキテクチャを当てはめたもの

                   ではなく


                            http://www.flickr.com/photos/indigoskies/6523275513/
2012年2月23日木曜日
MVC系アーキテクチャパターン


      ✓ Presentation Model
         ✓ Application Model
         ✓ MVVM
      ✓ MVP


2012年2月23日木曜日
まだ(僕が)しっくりきていないこと

      ✓ プレゼンテーションロジックにもド
        メインロジックにもうまくおけない
        ようなロジックもあるような...
      ✓ クライアント側に何を置いてサーバ
        側に何を置いてそれらがどう協調す
        べきか


2012年2月23日木曜日
Is this answer?




                 https://gist.github.com/1362110
2012年2月23日木曜日
先人の知恵に学びつつ
           さらなる実践と議論が
           必要そう


2012年2月23日木曜日
続く

2012年2月23日木曜日
その他の情報へのポインタ

      ✓ WPF 向けのモデル - ビュー - プレゼン
        ター - ビューモデル設計パターン
                http://msdn.microsoft.com/ja-jp/magazine/hh580734.aspx

      ✓ 開発者が知っておくべき、6つのUIアー
        キテクチャ・パターン
                http://www.atmarkit.co.jp/fdotnet/chushin/greatblogentry_10/
                greatblogentry_10_01.html




2012年2月23日木曜日
リッチクライアント
 時代のWebアプリケーション
 アーキテクチャ
 パターンについて考える 
    Next Generation Web Application
    Architecture.
    2012-02-21 Ruby Sapporo Night vol.14
    アップルストア札幌

                  日本Rubyの会
                  Ruby札幌
                                      しまだ こうじ
                                           SHIMADA Koji
2012年2月23日木曜日
ご清聴
      ありがとう
     ございました
2012年2月23日木曜日
Ruby Sapporo Night
   2012-02-23(Thu) Apple Store, Sapporo   vol.14


2012年2月23日木曜日

More Related Content

Viewers also liked

Ruby1.9のfiberのかっこいい使い方
Ruby1.9のfiberのかっこいい使い方Ruby1.9のfiberのかっこいい使い方
Ruby1.9のfiberのかっこいい使い方Kindai University
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪Kunihiro TANAKA
 
プログラマとして仕事をするために勉強すること
プログラマとして仕事をするために勉強することプログラマとして仕事をするために勉強すること
プログラマとして仕事をするために勉強することなおき きしだ
 
受託開発時におけるAWSクラウド活用術
受託開発時におけるAWSクラウド活用術受託開発時におけるAWSクラウド活用術
受託開発時におけるAWSクラウド活用術Hiroshi Koyama
 
Code as data as code.
Code as data as code.Code as data as code.
Code as data as code.Mike Fogus
 
ARC環境で メモリリークを起こす 7つの方法
ARC環境で メモリリークを起こす 7つの方法ARC環境で メモリリークを起こす 7つの方法
ARC環境で メモリリークを起こす 7つの方法ushiostarfish _
 
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略Teppei Sato
 
ChefConf 2013: Beginner Chef Antipatterns
ChefConf 2013: Beginner Chef AntipatternsChefConf 2013: Beginner Chef Antipatterns
ChefConf 2013: Beginner Chef AntipatternsJulian Dunn
 
Mobage を支える Ruby の技術 ~ 複数DB編 ~
Mobage を支える Ruby の技術 ~ 複数DB編 ~Mobage を支える Ruby の技術 ~ 複数DB編 ~
Mobage を支える Ruby の技術 ~ 複数DB編 ~Naotoshi Seo
 
Scala 初めての人が Heroku で Web アプリを公開するまで
Scala 初めての人が Heroku で Web アプリを公開するまでScala 初めての人が Heroku で Web アプリを公開するまで
Scala 初めての人が Heroku で Web アプリを公開するまでHideaki Miyake
 
Build Your Own SaaS using Docker
Build Your Own SaaS using DockerBuild Your Own SaaS using Docker
Build Your Own SaaS using DockerJulien Barbier
 
Purely Functional Data Structures in Scala
Purely Functional Data Structures in ScalaPurely Functional Data Structures in Scala
Purely Functional Data Structures in ScalaVladimir Kostyukov
 
かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014Sugoi Kanari
 
From a monolithic Ruby on Rails app to the JVM
From a monolithic  Ruby on Rails app  to the JVMFrom a monolithic  Ruby on Rails app  to the JVM
From a monolithic Ruby on Rails app to the JVMPhil Calçado
 
Rubyからscalaに変えるべき15の理由
Rubyからscalaに変えるべき15の理由Rubyからscalaに変えるべき15の理由
Rubyからscalaに変えるべき15の理由Yukishige Nakajo
 

Viewers also liked (20)

Ruby1.9のfiberのかっこいい使い方
Ruby1.9のfiberのかっこいい使い方Ruby1.9のfiberのかっこいい使い方
Ruby1.9のfiberのかっこいい使い方
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
 
プログラマとして仕事をするために勉強すること
プログラマとして仕事をするために勉強することプログラマとして仕事をするために勉強すること
プログラマとして仕事をするために勉強すること
 
Project Lambdaの基礎
Project Lambdaの基礎Project Lambdaの基礎
Project Lambdaの基礎
 
受託開発時におけるAWSクラウド活用術
受託開発時におけるAWSクラウド活用術受託開発時におけるAWSクラウド活用術
受託開発時におけるAWSクラウド活用術
 
Code as data as code.
Code as data as code.Code as data as code.
Code as data as code.
 
ARC環境で メモリリークを起こす 7つの方法
ARC環境で メモリリークを起こす 7つの方法ARC環境で メモリリークを起こす 7つの方法
ARC環境で メモリリークを起こす 7つの方法
 
ES6 at PayPal
ES6 at PayPalES6 at PayPal
ES6 at PayPal
 
Eclipse活用術
Eclipse活用術Eclipse活用術
Eclipse活用術
 
Storm Anatomy
Storm AnatomyStorm Anatomy
Storm Anatomy
 
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
 
ChefConf 2013: Beginner Chef Antipatterns
ChefConf 2013: Beginner Chef AntipatternsChefConf 2013: Beginner Chef Antipatterns
ChefConf 2013: Beginner Chef Antipatterns
 
Mobage を支える Ruby の技術 ~ 複数DB編 ~
Mobage を支える Ruby の技術 ~ 複数DB編 ~Mobage を支える Ruby の技術 ~ 複数DB編 ~
Mobage を支える Ruby の技術 ~ 複数DB編 ~
 
Scala 初めての人が Heroku で Web アプリを公開するまで
Scala 初めての人が Heroku で Web アプリを公開するまでScala 初めての人が Heroku で Web アプリを公開するまで
Scala 初めての人が Heroku で Web アプリを公開するまで
 
Build Your Own SaaS using Docker
Build Your Own SaaS using DockerBuild Your Own SaaS using Docker
Build Your Own SaaS using Docker
 
Purely Functional Data Structures in Scala
Purely Functional Data Structures in ScalaPurely Functional Data Structures in Scala
Purely Functional Data Structures in Scala
 
かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014
 
From a monolithic Ruby on Rails app to the JVM
From a monolithic  Ruby on Rails app  to the JVMFrom a monolithic  Ruby on Rails app  to the JVM
From a monolithic Ruby on Rails app to the JVM
 
Rubyからscalaに変えるべき15の理由
Rubyからscalaに変えるべき15の理由Rubyからscalaに変えるべき15の理由
Rubyからscalaに変えるべき15の理由
 
すこやかRails
すこやかRailsすこやかRails
すこやかRails
 

Similar to Next Generation Web Application Architecture

20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~Takao Oyobe
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうShun Hikita
 
20120215 jquery in wordpress cafe
20120215 jquery in wordpress cafe20120215 jquery in wordpress cafe
20120215 jquery in wordpress cafeKenichi Ohwada
 
Agile Shibuya github_enterprise
Agile Shibuya github_enterpriseAgile Shibuya github_enterprise
Agile Shibuya github_enterpriseKoichiro Ohba
 
作って分かるKnockoutJS@ALM11月
作って分かるKnockoutJS@ALM11月作って分かるKnockoutJS@ALM11月
作って分かるKnockoutJS@ALM11月Takuya Ueda
 
WordPress のいま
WordPress のいまWordPress のいま
WordPress のいまNaoko Takano
 
WordPress を使いこなそう
WordPress を使いこなそうWordPress を使いこなそう
WordPress を使いこなそうWataru OKAMOTO
 
テスト駆動開発の進化
テスト駆動開発の進化テスト駆動開発の進化
テスト駆動開発の進化Yukei Wachi
 
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発lalha
 
Nseg第32回勉強会
Nseg第32回勉強会Nseg第32回勉強会
Nseg第32回勉強会ko ty
 
Androidとの同時開発だけどモデルをC++で書けば問題ないよねっ
Androidとの同時開発だけどモデルをC++で書けば問題ないよねっAndroidとの同時開発だけどモデルをC++で書けば問題ないよねっ
Androidとの同時開発だけどモデルをC++で書けば問題ないよねっKoji Hasegawa
 
Learn vue.js
Learn vue.jsLearn vue.js
Learn vue.jsyuxiang21
 
LightSwitchでWebアプリ開発
LightSwitchでWebアプリ開発LightSwitchでWebアプリ開発
LightSwitchでWebアプリ開発Yoshitaka Seo
 
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発tomotoshi
 
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVCGUI アプリケーションにおける MVC
GUI アプリケーションにおける MVCYu Nobuoka
 

Similar to Next Generation Web Application Architecture (15)

20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かう
 
20120215 jquery in wordpress cafe
20120215 jquery in wordpress cafe20120215 jquery in wordpress cafe
20120215 jquery in wordpress cafe
 
Agile Shibuya github_enterprise
Agile Shibuya github_enterpriseAgile Shibuya github_enterprise
Agile Shibuya github_enterprise
 
作って分かるKnockoutJS@ALM11月
作って分かるKnockoutJS@ALM11月作って分かるKnockoutJS@ALM11月
作って分かるKnockoutJS@ALM11月
 
WordPress のいま
WordPress のいまWordPress のいま
WordPress のいま
 
WordPress を使いこなそう
WordPress を使いこなそうWordPress を使いこなそう
WordPress を使いこなそう
 
テスト駆動開発の進化
テスト駆動開発の進化テスト駆動開発の進化
テスト駆動開発の進化
 
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発
 
Nseg第32回勉強会
Nseg第32回勉強会Nseg第32回勉強会
Nseg第32回勉強会
 
Androidとの同時開発だけどモデルをC++で書けば問題ないよねっ
Androidとの同時開発だけどモデルをC++で書けば問題ないよねっAndroidとの同時開発だけどモデルをC++で書けば問題ないよねっ
Androidとの同時開発だけどモデルをC++で書けば問題ないよねっ
 
Learn vue.js
Learn vue.jsLearn vue.js
Learn vue.js
 
LightSwitchでWebアプリ開発
LightSwitchでWebアプリ開発LightSwitchでWebアプリ開発
LightSwitchでWebアプリ開発
 
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
 
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVCGUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
 

More from Koji SHIMADA

20110614 hmcc-enishitech
20110614 hmcc-enishitech20110614 hmcc-enishitech
20110614 hmcc-enishitechKoji SHIMADA
 
20110718 you-must-unlearn-what-you-have-learned rivisited
20110718 you-must-unlearn-what-you-have-learned rivisited20110718 you-must-unlearn-what-you-have-learned rivisited
20110718 you-must-unlearn-what-you-have-learned rivisitedKoji SHIMADA
 
20110602 osc2011do-rubysapporo-public
20110602 osc2011do-rubysapporo-public20110602 osc2011do-rubysapporo-public
20110602 osc2011do-rubysapporo-publicKoji SHIMADA
 
20110129 organizational-reform -that-is-a-fairy-tail
20110129 organizational-reform -that-is-a-fairy-tail20110129 organizational-reform -that-is-a-fairy-tail
20110129 organizational-reform -that-is-a-fairy-tailKoji SHIMADA
 
20101204 you-must-unlearn-what-you-have-learned
20101204 you-must-unlearn-what-you-have-learned20101204 you-must-unlearn-what-you-have-learned
20101204 you-must-unlearn-what-you-have-learnedKoji SHIMADA
 
20101001-Introduction-to-Developer-Testing-With-Ruby
20101001-Introduction-to-Developer-Testing-With-Ruby20101001-Introduction-to-Developer-Testing-With-Ruby
20101001-Introduction-to-Developer-Testing-With-RubyKoji SHIMADA
 
20100626-OSC2010do-RubySapporo
20100626-OSC2010do-RubySapporo20100626-OSC2010do-RubySapporo
20100626-OSC2010do-RubySapporoKoji SHIMADA
 
20100626-We-Think-We-Act
20100626-We-Think-We-Act20100626-We-Think-We-Act
20100626-We-Think-We-ActKoji SHIMADA
 
20100526 The Productive Programmer
20100526 The Productive Programmer20100526 The Productive Programmer
20100526 The Productive ProgrammerKoji SHIMADA
 
20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System
20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System
20100226 Jim Coplien Said You Should Foster Generative Scheme In Your SystemKoji SHIMADA
 
20100213 Where The Street Has No Name
20100213 Where The Street Has No Name20100213 Where The Street Has No Name
20100213 Where The Street Has No NameKoji SHIMADA
 
20091030 Uncle Bob Said You Should Be A Professional With Clean Code
20091030 Uncle Bob Said You Should Be A Professional With Clean Code20091030 Uncle Bob Said You Should Be A Professional With Clean Code
20091030 Uncle Bob Said You Should Be A Professional With Clean CodeKoji SHIMADA
 
Our Strategy To Survive In This Hard World(tochigirubykaigi02)
Our Strategy To Survive In This Hard World(tochigirubykaigi02)Our Strategy To Survive In This Hard World(tochigirubykaigi02)
Our Strategy To Survive In This Hard World(tochigirubykaigi02)Koji SHIMADA
 
RubySapporoDigestAndMore-osc2009do
RubySapporoDigestAndMore-osc2009doRubySapporoDigestAndMore-osc2009do
RubySapporoDigestAndMore-osc2009doKoji SHIMADA
 
20090124 Pleasantly Programming with Ruby
20090124 Pleasantly Programming with Ruby20090124 Pleasantly Programming with Ruby
20090124 Pleasantly Programming with RubyKoji SHIMADA
 
20081220 Rubybonenkai2008 Sapporo
20081220 Rubybonenkai2008 Sapporo20081220 Rubybonenkai2008 Sapporo
20081220 Rubybonenkai2008 SapporoKoji SHIMADA
 
20081205 Object Club Reject Talks2008
20081205 Object Club Reject Talks200820081205 Object Club Reject Talks2008
20081205 Object Club Reject Talks2008Koji SHIMADA
 
Talking About Fluent Interface
Talking About Fluent InterfaceTalking About Fluent Interface
Talking About Fluent InterfaceKoji SHIMADA
 
20081004-OSC2008Tokyo/Fall-MetaCon
20081004-OSC2008Tokyo/Fall-MetaCon20081004-OSC2008Tokyo/Fall-MetaCon
20081004-OSC2008Tokyo/Fall-MetaConKoji SHIMADA
 
20080823-TransformingPlainTextToHtml
20080823-TransformingPlainTextToHtml20080823-TransformingPlainTextToHtml
20080823-TransformingPlainTextToHtmlKoji SHIMADA
 

More from Koji SHIMADA (20)

20110614 hmcc-enishitech
20110614 hmcc-enishitech20110614 hmcc-enishitech
20110614 hmcc-enishitech
 
20110718 you-must-unlearn-what-you-have-learned rivisited
20110718 you-must-unlearn-what-you-have-learned rivisited20110718 you-must-unlearn-what-you-have-learned rivisited
20110718 you-must-unlearn-what-you-have-learned rivisited
 
20110602 osc2011do-rubysapporo-public
20110602 osc2011do-rubysapporo-public20110602 osc2011do-rubysapporo-public
20110602 osc2011do-rubysapporo-public
 
20110129 organizational-reform -that-is-a-fairy-tail
20110129 organizational-reform -that-is-a-fairy-tail20110129 organizational-reform -that-is-a-fairy-tail
20110129 organizational-reform -that-is-a-fairy-tail
 
20101204 you-must-unlearn-what-you-have-learned
20101204 you-must-unlearn-what-you-have-learned20101204 you-must-unlearn-what-you-have-learned
20101204 you-must-unlearn-what-you-have-learned
 
20101001-Introduction-to-Developer-Testing-With-Ruby
20101001-Introduction-to-Developer-Testing-With-Ruby20101001-Introduction-to-Developer-Testing-With-Ruby
20101001-Introduction-to-Developer-Testing-With-Ruby
 
20100626-OSC2010do-RubySapporo
20100626-OSC2010do-RubySapporo20100626-OSC2010do-RubySapporo
20100626-OSC2010do-RubySapporo
 
20100626-We-Think-We-Act
20100626-We-Think-We-Act20100626-We-Think-We-Act
20100626-We-Think-We-Act
 
20100526 The Productive Programmer
20100526 The Productive Programmer20100526 The Productive Programmer
20100526 The Productive Programmer
 
20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System
20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System
20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System
 
20100213 Where The Street Has No Name
20100213 Where The Street Has No Name20100213 Where The Street Has No Name
20100213 Where The Street Has No Name
 
20091030 Uncle Bob Said You Should Be A Professional With Clean Code
20091030 Uncle Bob Said You Should Be A Professional With Clean Code20091030 Uncle Bob Said You Should Be A Professional With Clean Code
20091030 Uncle Bob Said You Should Be A Professional With Clean Code
 
Our Strategy To Survive In This Hard World(tochigirubykaigi02)
Our Strategy To Survive In This Hard World(tochigirubykaigi02)Our Strategy To Survive In This Hard World(tochigirubykaigi02)
Our Strategy To Survive In This Hard World(tochigirubykaigi02)
 
RubySapporoDigestAndMore-osc2009do
RubySapporoDigestAndMore-osc2009doRubySapporoDigestAndMore-osc2009do
RubySapporoDigestAndMore-osc2009do
 
20090124 Pleasantly Programming with Ruby
20090124 Pleasantly Programming with Ruby20090124 Pleasantly Programming with Ruby
20090124 Pleasantly Programming with Ruby
 
20081220 Rubybonenkai2008 Sapporo
20081220 Rubybonenkai2008 Sapporo20081220 Rubybonenkai2008 Sapporo
20081220 Rubybonenkai2008 Sapporo
 
20081205 Object Club Reject Talks2008
20081205 Object Club Reject Talks200820081205 Object Club Reject Talks2008
20081205 Object Club Reject Talks2008
 
Talking About Fluent Interface
Talking About Fluent InterfaceTalking About Fluent Interface
Talking About Fluent Interface
 
20081004-OSC2008Tokyo/Fall-MetaCon
20081004-OSC2008Tokyo/Fall-MetaCon20081004-OSC2008Tokyo/Fall-MetaCon
20081004-OSC2008Tokyo/Fall-MetaCon
 
20080823-TransformingPlainTextToHtml
20080823-TransformingPlainTextToHtml20080823-TransformingPlainTextToHtml
20080823-TransformingPlainTextToHtml
 

Recently uploaded

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

Recently uploaded (9)

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

Next Generation Web Application Architecture