SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
オブジェクト・関数型プログラミング

からオブジェクト・関数型分析設計へ

クラウド時代のモデリングを考える	
2016年10月24日 QCon Tokyo 2016"
浅海智晴 (Everforth)
自己紹介	
•  1985年富士通(株)入社"
–  UNIXワークステーション/サーバーのOS、分散基盤、Web基盤の開発に従事"
•  2001年9月に独立"
–  Java, XML, UMLを中心に活動"
•  2005年4月より2008年3月まで"
–  稚内北星学園大学東京サテライト校教授"
•  現在"
–  (株) 匠BusinessPlace 取締役チーフコンサルタント"
–  (株) Everforth 取締役CTO"
•  OSS"
–  SmartDoc"
–  Relaxer"
•  著作"
–  上流工程UMLモデリング(日経BP)"
–  マインドマップではじめるモデリング講座(翔泳社)"
–  Relaxer Java/XMLによるWeb開発(ピアソン)"
–  ぼくらのScala(Softbank Creative)"
http://www.takumi-businessplace.co.jp/"
	
https://prefer.cl/"
http://modegramming.blogspot.jp/ "
App / Web
最適なUXを実現するアプリ/Webサイトを高速開発
Prefer Cloud Platformならオムニチャネル、パーソナライズといったCRO施策を実践するアプリ、Webサイトを高速に開発できます。
また、APIを自由に利用したカスタマイズも際限なくできるので、自社の顧客が求めるニーズを捉えたオリジナルかつ最高のUXを提供することができます。
Communication
メール/PUSHを統合配信
チャットにも対応
Prefer Cloud Platformのメッセー
ジング機能では、メール/PUSH/独
自メッセージを統合配信できます。
ターゲティング機能を利用して、セ
グメントした顧客に最適な情報を最
適な方法で提供することができ、
LTVの向上が図れます。
配信は、メール/PUSHともに100
万通/時間で高速配信が可能です。
また、チャット機能を利用すれば、
ロイヤルカスタマーに対してより丁
寧で密な対応が可能です。
Analytics
APIログを正規化して格納
統合的な分析を手軽に実現
Prefer Cloud Platformでは、API
レベルのログをすべて正規化し保
管しています。これにより、アプリ、
Webサイト、店舗、メールなど顧
客体験のあらゆるタッチポイント
を統合的に分析ができます。
LTVにおけるKPIをレポート表示す
るだけでなく、BIを用いた分析も
手軽に実現できるようBI向けの専
用DBも用意しています。
アプリ/Webサイトで利用するため
のLike数、Follow数などの集計も
汎用的な基盤で用意されています。
Data Coordination
オムニチャネルに不可欠なデータ連携を手軽に実現
Prefer Cloud Platformでは、オムニチャネル施策を進めるときに常に課題となるデータ連
携を容易にすべく、会員、商品、在庫など主立ったデータの連携フォーマットを揃えていま
す。定義されたフォーマットでファイルを送るだけでオムニチャネルが実現します。
Optimization MA
LTV向上に直結する最適化をテクノロジーで自動化
PUSHをアクセス頻度に合わせてフィルタリングする、顧客をセグメントし最適なコンテン
ツ一覧を表示する、最適なタイミングでメッセージを配信する、などLTV向上に不可欠な施
策をPrefer Cloud Platformの独自テクノロジーが自動化して実施します。
Customer Relationship Optimization 
Application Cloud Platform 
CROACP
アジェンダ	
•  Functional Programming"
•  Object-Functional Programming"
•  Object-Functional Analysis and Design"
背景(seeds)	
•  関数型プログラミングの技術革新"
–  型クラス"
•  代数的構造"
–  モノイド、モナド"
–  モナド(monad)"
•  I/O処理、状態遷移を伴う普通のプログラムを純粋関数型で記述
可能になった"
–  Reactive Streams"
•  大規模データ、イベント駆動、ストリーミング"
•  Observableモナド(RxJava)、Processモナド(scalaz-stream)"
•  次の技術革新の土台"
–  証明プログラミング
背景(needs)	
•  大規模データ処理"
–  Hadoop/Spark"
•  高頻度シグナル処理"
–  IoT"
•  リアクティブ"
–  Reactive Manifesto"
•  http://www.reactivemanifesto.org "
•  数学/計算機科学の理論が基盤技術に"
–  大規模データ処理"
–  確率・統計"
–  人工知能
Functional Programming
関数型プログラミング技術マップ	
数理論理学
直観主義
述語論理
抽象代数学
直感主義命題論理&
自然演繹
単純型付ラムダ計算
純粋関数型言語
命題
型クラス
群論
Hask圏
(プログラム圏)
永続データ構造
関数型言語
手続き型言語
代数的データ型
Curry-Howard-Lambek対応
オブジェクト
指向言語
証明
様相論理
圏論
直積 直和
不変
副作用なし
参照透過性
置換モデル
カルテジアン閉圏
有限直積
トポス(圏)
冪
述語論理
モノイド モナド
型
計算
純粋関数型プログラミング	
•  I/Oや状態遷移などの副作用を起こさないプ
ログラミング。"
•  コンパイルが証明になる。"
– Curry-Howard対応。"
– バグが出にくい。"
•  モナドの登場によって汎用用途で使用可能に
なった。"
– ちょっとしたトリックがあるが、その点だけ納得で
きれば純粋関数型でI/O、状態遷移が可能になる。"
FPの基本概念	
集合X 集合Y
圏X 圏Y
圏X
圏Z
関手
圏X 圏X
圏X
射 射
圏X 圏X
対象
対象
対象
対象
写像/関数
射
関手
対象
対象
射 モナド
集合Y
写像/関数
対象
対象
対象
対象
射
対象
対象
射モナド
数学的汎用DSL	
•  Stream API"
–  関手/モナドを使用したパイプラインプログラミング
(Monadic Programming)"
–  圏論概念に直接対応した数学的汎用DSL"
•  一種のマイクロフレームワーク"
–  数学的計算(写像)を汎用的記述できる(はず)"
–  JavaでもJava 8から導入"
•  関手(Functor)"
"
""
•  モナド(Monad)"
val result = source.map(funcA).map(funcB)	
val result = source.flatMap(funcX).flatMap(funcB)
ソフトウェア部品としての数学	
•  群論"
–  scalaz: Monoid"
–  将来的には群、環、体なども"
–  並列・分散では可換(commutative)の性質も重要"
•  可換モノイド、可換群"
•  圏論"
–  scalaz: Arrow, Category, Functor, NaturalTransformation"
•  計算機科学"
–  scalaz: Monad, Applicative, Traverse, Foldable, State,
Reader, Writer, Free/Operational Monad, Lens"
•  線形代数"
–  Breeze"
The Reactive Manifest	
•  http://www.reactivemanifesto.org/"
•  日本語訳"
–  http://okapies.hateblo.jp/entry/2014/12/03/025921"
•  Responsive"
–  応答性:すぐ応答する"
•  Resilient"
–  耐故障性:回復力に富む、立ち直りが早い"
•  Elastic"
–  弾力性:伸縮自在の"
•  Message Driven"
–  メッセージ駆動"
•  関連: Reactive Streams"
–  http://www.reactive-streams.org/"
Reactive Streams	
•  Reactive Streams"
–  http://www.reactive-streams.org/ "
–  「ノンブロッキング、バックプレッシャー付きの非同期スト
リーム処理」"
•  FPのメリットを享受しながらI/O処理を記述"
–  単なるI/Oだけではなく大規模、高頻度、ストリーミングに
対応できる"
•  QCon Tokyo 2015"
–  ScalaによるMonadic Programmingのススメ -
Functional Reactive Programmingへのアプローチ"
•  http://qcontokyo.com/tokyo-2015/
ASAMITomoharu_2015.html
まとめ: FP	
•  コンパイルは証明。"
–  品質向上。生産性向上。"
–  リファクタリングが容易。"
•  数学的汎用DSLで数学・計算機科学の理論をプ
ログラミングに直結させる。"
–  Stream API (基本形)"
–  Reactive Stream "
•  大規模、高頻度、ストリーミング"
•  数学・計算機科学の理論をソフトウェア部品とし
て活用。
Object-Functional
Programming (OFP)
OOPとFPの

インピーダンスミスマッチ	
•  状態の更新"
–  OOP"
•  イベント発生→状態の更新が基本"
–  FP"
•  状態の更新は不可"
•  継承"
–  OOP"
•  クラス"
•  実行時に動作するオブジェクトを切替え。(ポリモーフィズム)"
–  FP"
•  型クラス"
•  コンパイル時にすべてが確定している必要がある。"
•  大規模開発"
–  OOP"
•  コンポーネント"
–  インタフェースを使ったAPI/SPI"
–  FP"
•  状態を持ったオブジェクト的な機能がないので難しそう(私見)"
"
"
OOPとFPの関係	
•  品質、開発効率 : FP > OOP"
•  表現力、拡張性 : OOP > FP"
•  FPでは実現できないことがある。"
–  状態の更新"
–  動的束縛によるポリモーフィズム"
–  大規模開発(?)"
•  OOPとFPの完全な融合は困難"
–  ScalaではOOPを主に、紳士協定でFPを可能にする
という選択を行っている。"
•  OOPとFPの併用が現実解"
OOP vs FP

I/O実現方式比較	
関数
手続き 手続き 手続き 手続き
DB
関数 関数 関数
関数 関数 関数 関数
OOP方式
FP方式
DB
インタープリター
データ データ データ データ
コンソール
コンソール
オブジェクトと関数の連携	
オブジェクト指向 関数型
オブジェクト指向
関数
手続き
状態
オブジェクト
値
関数
手続き
状態
オブジェクト
代数的
データ型
データ構造
永続
データ構造
関数
手続き
状態
オブジェクト
値
関数
手続き
状態
オブジェクト
値
データ構造
データ構造
オブジェクトと関数:適材適所	
•  システム全体の構成はOOP"
•  FPで実現できるところはFP"
–  数学・計算機科学の理論の実装"
–  アルゴリズム的な計算"
–  I/Oや状態を持つ機能でもStream APIやReactive
Streamsで実現できるものはFP"
•  「モナドのトリック」をOOPで実現"
–  Operational(Free)モナドのインタープリタ(自然変換
として実装)をOOPで実現"
•  その他の処理はOOP"
OOPとFPの協業	
OOP FP
OOP
FP
FP
OOP
I/O
I/O
Reactive Streams
Free Monad Interpreter
I/O
まとめ: OFP	
•  OOPとFPの併用が現実解"
•  OOPとFPの協業"
– システム全体の構成はOOP。"
– FPで実現できるところはFP"
– その他はOOP。"
Object-Functional Analysis
and Design (OFAD)
関数でやりたいこと	
•  数学・計算機科学の理論・概念を直接モデル
として使用したい。"
•  OFPとの連続性を担保したい。"
"
外部要因	
•  Application Cloud Platform (ACP)"
–  アプリケーションの基本機能をクラウドプラットフォー
ムとして提供"
•  例: Prefer Cloud Platform (弊社)"
–  ほとんどの機能はACPで提供。開発はカスタマイズ
と拡張機能。"
–  ビジネス全体を包含したモデリングが重要になる。"
•  Domain-Specific Language (DSL)"
–  実行エンジン"
–  プログラムの自動生成"
オブジェクトモデリング	
静的 
構造	
  
協調	
  
状態
機械	
  
ドメイン・モデル	
アプリケーション	
  
モデル	
協調の実装技術
がボトルネックに
なっている
現実世界と科学世界	
現実世界 オブジェクト・モデル 関数モデル 科学世界
モノ・コト
モノ・コト
オブジェクト
集合・圏・論理など 理論
集合・圏・論理など 理論オブジェクト
モノ・コト オブジェクト
BDOEサイクル	
Development
Phase
Phase
Phase
Realization
Realization
Realization
Business Modeling
Development
Operation
Evaluation
Requirement
Analysis/Design
Implementation
Test
Integration Test
開発運営	
Realization
Presentation Service Extension Configuration
Plan-DrivenAgile
Iteration
Iteration
Iteration
Requirement
UX Design
ImplementationTest
Integration Test
Analysis/
Design
Implementation
Test
Implementation
Test
モデル体系	
Business Process Model IT System Model
Domain Model
Vision/Value/Goal
Business UseCase/UX
UseCase/UX
Business Flow
Collaboration
Responsibility
Entity
State
Machine
Relationship
Context Map
Bounded Context
Business Rule
Class/Object
State
Machine
System/SubSystem
State
Machine
Module/Component
State
Machine
Dataflow
Business Workflow
Functional的なモデル	
•  オブジェクトモデル"
–  EntityとRelationshipによるドメイン構造"
•  集合、圏論"
–  EntityやObjectのState Machine"
•  オートマトン"
•  宣言的モデル"
–  Business Workflow"
•  State Machine"
–  Business Rule"
•  述語、関数、数理論理学"
–  Dataflow"
•  集合・写像、圏論"
•  OMT第1版ではオブジェクトモデルとして使用されていた
モデル変換戦略	
Analysis Model Design Model Implementation/Operatio
Object Model
Functional Model
Static Structure
State Machine
Collaboration
Business Rule
Dataflow
Program Generator
Business Workflow
Object Model
Functional Programming
Object-Oriented
Programming
DSL
DSL Engine
Functional Model
まとめ: OFAD	
•  Functional的なモデルを一級モデルとして考
える。"
– 広義の解釈として関数モデルとみなす。"
•  関数モデルはできるだけDSL化を目指す"
– DSLエンジンで実行"
– プログラムの自動生成"
•  可能なものは関数モデル→FPを目指す。"
•  Collaborationの所でOOPが残る。
まとめ	
•  FPの技術革新"
– 型クラス、モナド、Reactive Streams"
•  クラウド・アプリケーションがやりたいこと"
– 大規模、高頻度、ストリーミング"
•  OFP"
– OOPとFPの協業"
•  OFAD"
– 関数モデル→DSL"

Contenu connexe

En vedette

En vedette (10)

すごいMonad入門
すごいMonad入門すごいMonad入門
すごいMonad入門
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
 
関数型プログラミングとモナド
関数型プログラミングとモナド関数型プログラミングとモナド
関数型プログラミングとモナド
 
Scalaでプログラムを作りました
Scalaでプログラムを作りましたScalaでプログラムを作りました
Scalaでプログラムを作りました
 
Prefer Cloud Platform - ビジョン、アーキテクチャ
Prefer Cloud Platform - ビジョン、アーキテクチャPrefer Cloud Platform - ビジョン、アーキテクチャ
Prefer Cloud Platform - ビジョン、アーキテクチャ
 
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
 
Domain Modeling in a Functional World
Domain Modeling in a Functional WorldDomain Modeling in a Functional World
Domain Modeling in a Functional World
 
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞いiOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
 
Xamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへXamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへ
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
 

Similaire à オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ クラウド時代のモデリングを考える

オブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programmingオブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programming
Tomoharu ASAMI
 
Object-Funcational Analysis and design
Object-Funcational Analysis and designObject-Funcational Analysis and design
Object-Funcational Analysis and design
Tomoharu ASAMI
 
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
Code4Lib JAPAN
 

Similaire à オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ クラウド時代のモデリングを考える (20)

Kaleidox
KaleidoxKaleidox
Kaleidox
 
Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介
 
オブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programmingオブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programming
 
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
 
機械学習基盤として活用するAutonomous Database
機械学習基盤として活用するAutonomous Database機械学習基盤として活用するAutonomous Database
機械学習基盤として活用するAutonomous Database
 
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
 
Object-Funcational Analysis and design
Object-Funcational Analysis and designObject-Funcational Analysis and design
Object-Funcational Analysis and design
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
 
EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016 EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
 
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤
 
企業システムにアジャイルは必要か
企業システムにアジャイルは必要か企業システムにアジャイルは必要か
企業システムにアジャイルは必要か
 
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
 
Agile japan2016 a 2 ricksoft
Agile japan2016 a 2 ricksoftAgile japan2016 a 2 ricksoft
Agile japan2016 a 2 ricksoft
 
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
 
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
 
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureMachine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 

Plus de Tomoharu ASAMI

Plus de Tomoharu ASAMI (20)

アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】
アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】
アプリケーション・アーキテクチャ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第34回】
 
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
 
実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】
実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】
実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】
 
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
 
設計/UX/UI 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第29回】
設計/UX/UI 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第29回】設計/UX/UI 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第29回】
設計/UX/UI 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第29回】
 
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
 
設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】
設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】
設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】
 
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
 
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
 
設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】
設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】
設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】
 
設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】
設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】
設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】
 
設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】
設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】
設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】
 
設計/コンポーネント設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第20回】
設計/コンポーネント設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第20回】設計/コンポーネント設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第20回】
設計/コンポーネント設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第20回】
 
設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】
設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】
設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】
 
分析/イベント駆動 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第17回】
分析/イベント駆動 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第17回】分析/イベント駆動 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第17回】
分析/イベント駆動 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第17回】
 
分析/コンポーネント分析 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第16回】
分析/コンポーネント分析 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第16回】分析/コンポーネント分析 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第16回】
分析/コンポーネント分析 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第16回】
 
分析 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第15回】
分析 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第15回】分析 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第15回】
分析 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第15回】
 
要求/シナリオ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第14回】
要求/シナリオ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第14回】要求/シナリオ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第14回】
要求/シナリオ 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第14回】
 
要求/ユースケース 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第13回】
要求/ユースケース 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第13回】要求/ユースケース 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第13回】
要求/ユースケース 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第13回】
 
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
 

Dernier

Dernier (10)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ クラウド時代のモデリングを考える