2016 10 24QCon 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/ "
CROACP Customer Relationship Optimization Application Cloud Platform App / Web 最適なUXを実現するアプリ/Webサイトを高速開発 Prefer Cloud Platformならオムニチャネル パーソナライズといったCRO施策を実践するアプリ Webサイトを高速に開発できます また APIを自由に利用したカスタマイズも際限なくできるので 自社の顧客が求めるニーズを捉えたオリジナルかつ最高のUXを提供することができます Communication Analytics メール/PUSHを統合配信 APIログを正規化して格納 統合的な分析を手軽に実現 チャットにも対応 Prefer Cloud Platformでは API レベルのログをすべて正規化し保 管しています これにより アプリ Prefer Cloud Platformのメッセー ジング機能では メール/PUSH/独 自メッセージを統合配信できます Webサイト 店舗 メールなど顧 客体験のあらゆるタッチポイント ターゲティング機能を利用して セ グメントした顧客に最適な情報を最 を統合的に分析ができます LTVにおけるKPIをレポート表示す 適な方法で提供することができ LTVの向上が図れます るだけでなく BIを用いた分析も 手軽に実現できるようBI向けの専 配信は メール/PUSHともに100 万通/時間で高速配信が可能です 用DBも用意しています アプリ/Webサイトで利用するため また チャット機能を利用すれば ロイヤルカスタマーに対してより丁 のLike数 Follow数などの集計も 寧で密な対応が可能です Data Coordination 汎用的な基盤で用意されています Optimization MA オムニチャネルに不可欠なデータ連携を手軽に実現 LTV向上に直結する最適化をテクノロジーで自動化 Prefer Cloud Platformでは オムニチャネル施策を進めるときに常に課題となるデータ連 携を容易にすべく 会員 商品 在庫など主立ったデータの連携フォーマットを揃えていま す 定義されたフォーマットでファイルを送るだけでオムニチャネルが実現します PUSHをアクセス頻度に合わせてフィルタリングする 顧客をセグメントし最適なコンテン ツ一覧を表示する 最適なタイミングでメッセージを配信する などLTV向上に不可欠な施 策をPrefer Cloud Platformの独自テクノロジーが自動化して実施します
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
I/O " " Curry-Howard " " " I/O "
FP / /
DSL Stream API" / (Monadic Programming)" DSL" " ()()" JavaJava 8" (Functor)" " val result = source.map(funca).map(funcb) "" (Monad)" 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/ " " FPI/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" ScalaOOPFP " OOP FP"
OOP vs FP I/O OOP FP
OOP" FPFP" " " I/OStream API Reactive StreamsFP" OOP " Operational(Free) ( ) OOP " OOP"
OOP FP
: OFP OOP FP" OOP FP " OOP " FPFP" 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 Requirement Business Modeling Realization Realization Realization Analysis/Design Evaluation Development Implementation Operation Test Integration Test
Requirement Realization Agile Plan-Driven Presentation Service Extension Configuration Test UX Design Implementation Iteration Iteration Analysis/ Iteration Design Implementation Implementation Test Test Integration Test
Business Process Model IT System Model Vision/Value/Goal UseCase/UX System/SubSystem State Machine Business UseCase/UX Collaboration Module/Component State Machine Business Flow Responsibility Class/Object State Machine Domain Model Business Workflow Context Map Entity Bounded Context State Machine Relationship Business Rule Dataflow
Functional " Entity Relationship" " Entity Object State Machine" " " Business Workflow" State Machine" Business Rule" " Dataflow" " OMT 1
Analysis Model Design Model Implementation/Operatio Functional Model Business Workflow Business Rule DSL DSL Engine Dataflow Program Generator Object Model Static Structure Functional Model Functional Programming State Machine Collaboration Object Model Object-Oriented Programming
: OFAD Functional " " DSL" DSL" " FP" Collaboration OOP
FP" Reactive Streams" " " OFP" OOP FP " OFAD" DSL"