Enviar búsqueda
Cargar
Developers Summit 2015 - Scala Monad
•
2 recomendaciones
•
1,943 vistas
Sangwon Han
Seguir
Developers Summit 2015の発表資料
Leer menos
Leer más
Ingeniería
Denunciar
Compartir
Denunciar
Compartir
1 de 33
Descargar ahora
Descargar para leer sin conexión
Recomendados
LODEO開発ストーリー
LODEO開発ストーリー
Tomohiro Shinden
Introduction to Monads in Scala (1)
Introduction to Monads in Scala (1)
stasimus
Advanced Functional Programming in Scala
Advanced Functional Programming in Scala
Patrick Nicolas
Scala: functional programming for the imperative mind
Scala: functional programming for the imperative mind
Sander Mak (@Sander_Mak)
Functional Programming Fundamentals
Functional Programming Fundamentals
Shahriar Hyder
Introduction to Functional Programming with Scala
Introduction to Functional Programming with Scala
pramode_ce
ScalaにまつわるNewsな話
ScalaにまつわるNewsな話
Yosuke Mizutani
Why functional why scala
Why functional why scala
Neville Li
Recomendados
LODEO開発ストーリー
LODEO開発ストーリー
Tomohiro Shinden
Introduction to Monads in Scala (1)
Introduction to Monads in Scala (1)
stasimus
Advanced Functional Programming in Scala
Advanced Functional Programming in Scala
Patrick Nicolas
Scala: functional programming for the imperative mind
Scala: functional programming for the imperative mind
Sander Mak (@Sander_Mak)
Functional Programming Fundamentals
Functional Programming Fundamentals
Shahriar Hyder
Introduction to Functional Programming with Scala
Introduction to Functional Programming with Scala
pramode_ce
ScalaにまつわるNewsな話
ScalaにまつわるNewsな話
Yosuke Mizutani
Why functional why scala
Why functional why scala
Neville Li
Scala the language matters
Scala the language matters
Xiaojun REN
Introduction to Monads in Scala (2)
Introduction to Monads in Scala (2)
stasimus
Monad presentation scala as a category
Monad presentation scala as a category
samthemonad
Thinking functional-in-scala
Thinking functional-in-scala
Knoldus Inc.
Introduction to Option monad in Scala
Introduction to Option monad in Scala
Jan Krag
Developing an Akka Edge4-5
Developing an Akka Edge4-5
saaaaaaki
Scala が支える医療系ウェブサービス #jissenscala
Scala が支える医療系ウェブサービス #jissenscala
Kazuhiro Sera
Ch.6: The Great Divide
Ch.6: The Great Divide
Jacqueline Ramirez
Bournekaleb 3 point lighting presentation
Bournekaleb 3 point lighting presentation
Simmerj94
Tph platinum
Tph platinum
carchoui
Art 3 brainstorms
Art 3 brainstorms
christimothy12
The present tense
The present tense
kerrie1996
You Already Speak French
You Already Speak French
Justin Frieman
Scala@SmartNews_20150221
Scala@SmartNews_20150221
Shigekazu Takei
Scala@SmartNews AdFrontend を Scala で書いた話
Scala@SmartNews AdFrontend を Scala で書いた話
Keiji Muraishi
Portrait lighting
Portrait lighting
christimothy12
Prepositions
Prepositions
kerrie1996
Scala
Scala
guest8996422d
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
takezoe
Scalable data structures for data science
Scalable data structures for data science
Turi, Inc.
Pydata talk
Pydata talk
Turi, Inc.
Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks
Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks
Lucidworks
Más contenido relacionado
Destacado
Scala the language matters
Scala the language matters
Xiaojun REN
Introduction to Monads in Scala (2)
Introduction to Monads in Scala (2)
stasimus
Monad presentation scala as a category
Monad presentation scala as a category
samthemonad
Thinking functional-in-scala
Thinking functional-in-scala
Knoldus Inc.
Introduction to Option monad in Scala
Introduction to Option monad in Scala
Jan Krag
Developing an Akka Edge4-5
Developing an Akka Edge4-5
saaaaaaki
Scala が支える医療系ウェブサービス #jissenscala
Scala が支える医療系ウェブサービス #jissenscala
Kazuhiro Sera
Ch.6: The Great Divide
Ch.6: The Great Divide
Jacqueline Ramirez
Bournekaleb 3 point lighting presentation
Bournekaleb 3 point lighting presentation
Simmerj94
Tph platinum
Tph platinum
carchoui
Art 3 brainstorms
Art 3 brainstorms
christimothy12
The present tense
The present tense
kerrie1996
You Already Speak French
You Already Speak French
Justin Frieman
Scala@SmartNews_20150221
Scala@SmartNews_20150221
Shigekazu Takei
Scala@SmartNews AdFrontend を Scala で書いた話
Scala@SmartNews AdFrontend を Scala で書いた話
Keiji Muraishi
Portrait lighting
Portrait lighting
christimothy12
Prepositions
Prepositions
kerrie1996
Scala
Scala
guest8996422d
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
takezoe
Destacado
(19)
Scala the language matters
Scala the language matters
Introduction to Monads in Scala (2)
Introduction to Monads in Scala (2)
Monad presentation scala as a category
Monad presentation scala as a category
Thinking functional-in-scala
Thinking functional-in-scala
Introduction to Option monad in Scala
Introduction to Option monad in Scala
Developing an Akka Edge4-5
Developing an Akka Edge4-5
Scala が支える医療系ウェブサービス #jissenscala
Scala が支える医療系ウェブサービス #jissenscala
Ch.6: The Great Divide
Ch.6: The Great Divide
Bournekaleb 3 point lighting presentation
Bournekaleb 3 point lighting presentation
Tph platinum
Tph platinum
Art 3 brainstorms
Art 3 brainstorms
The present tense
The present tense
You Already Speak French
You Already Speak French
Scala@SmartNews_20150221
Scala@SmartNews_20150221
Scala@SmartNews AdFrontend を Scala で書いた話
Scala@SmartNews AdFrontend を Scala で書いた話
Portrait lighting
Portrait lighting
Prepositions
Prepositions
Scala
Scala
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala
Similar a Developers Summit 2015 - Scala Monad
Scalable data structures for data science
Scalable data structures for data science
Turi, Inc.
Pydata talk
Pydata talk
Turi, Inc.
Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks
Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks
Lucidworks
Data Science in Retail-as-a-Service (RaaS)
Data Science in Retail-as-a-Service (RaaS)
zhiking
Introduction to Data Science
Introduction to Data Science
Sridhara R
A Workshop on R
A Workshop on R
Ajay Ohri
Continuous Evaluation of Deployed Models in Production Many high-tech industr...
Continuous Evaluation of Deployed Models in Production Many high-tech industr...
Databricks
Scala Days NYC 2016
Scala Days NYC 2016
Martin Odersky
The Art of Intelligence – Introduction Machine Learning for Oracle profession...
The Art of Intelligence – Introduction Machine Learning for Oracle profession...
Lucas Jellema
Scilab Challenge@NTU 2014/2015 Project Briefing
Scilab Challenge@NTU 2014/2015 Project Briefing
TBSS Group
Lucio marcenaro tue summer_school
Lucio marcenaro tue summer_school
Jun Hu
Misha Bilenko, Principal Researcher, Microsoft at MLconf SEA - 5/01/15
Misha Bilenko, Principal Researcher, Microsoft at MLconf SEA - 5/01/15
MLconf
IncQuery Labs Models 2020 MIP Talk
IncQuery Labs Models 2020 MIP Talk
IncQuery Labs
Machine Learning as a Service: Apache Spark MLlib Enrichment and Web-Based Co...
Machine Learning as a Service: Apache Spark MLlib Enrichment and Web-Based Co...
Databricks
Polyglot
Polyglot
Rory Preddy
Machine learning for IoT - unpacking the blackbox
Machine learning for IoT - unpacking the blackbox
Ivo Andreev
Scio - A Scala API for Google Cloud Dataflow & Apache Beam
Scio - A Scala API for Google Cloud Dataflow & Apache Beam
Neville Li
When Should I Use Simulation?
When Should I Use Simulation?
SIMUL8 Corporation
Migrating from matlab to python
Migrating from matlab to python
ActiveState
Software variability management - 2019
Software variability management - 2019
XavierDevroey
Similar a Developers Summit 2015 - Scala Monad
(20)
Scalable data structures for data science
Scalable data structures for data science
Pydata talk
Pydata talk
Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks
Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks
Data Science in Retail-as-a-Service (RaaS)
Data Science in Retail-as-a-Service (RaaS)
Introduction to Data Science
Introduction to Data Science
A Workshop on R
A Workshop on R
Continuous Evaluation of Deployed Models in Production Many high-tech industr...
Continuous Evaluation of Deployed Models in Production Many high-tech industr...
Scala Days NYC 2016
Scala Days NYC 2016
The Art of Intelligence – Introduction Machine Learning for Oracle profession...
The Art of Intelligence – Introduction Machine Learning for Oracle profession...
Scilab Challenge@NTU 2014/2015 Project Briefing
Scilab Challenge@NTU 2014/2015 Project Briefing
Lucio marcenaro tue summer_school
Lucio marcenaro tue summer_school
Misha Bilenko, Principal Researcher, Microsoft at MLconf SEA - 5/01/15
Misha Bilenko, Principal Researcher, Microsoft at MLconf SEA - 5/01/15
IncQuery Labs Models 2020 MIP Talk
IncQuery Labs Models 2020 MIP Talk
Machine Learning as a Service: Apache Spark MLlib Enrichment and Web-Based Co...
Machine Learning as a Service: Apache Spark MLlib Enrichment and Web-Based Co...
Polyglot
Polyglot
Machine learning for IoT - unpacking the blackbox
Machine learning for IoT - unpacking the blackbox
Scio - A Scala API for Google Cloud Dataflow & Apache Beam
Scio - A Scala API for Google Cloud Dataflow & Apache Beam
When Should I Use Simulation?
When Should I Use Simulation?
Migrating from matlab to python
Migrating from matlab to python
Software variability management - 2019
Software variability management - 2019
Último
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
Asst.prof M.Gokilavani
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
ShivangiSharma879191
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
me23b1001
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Low Rate Call Girls In Saket, Delhi NCR
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
SachinPawar510423
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
Chandu841456
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes examples
Dr. Gudipudi Nageswara Rao
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
JuanCarlosMorales19600
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
Mebane Rash
computer application and construction management
computer application and construction management
MariconPadriquez1
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
ssuser7cb4ff
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
VICTOR MAESTRE RAMIREZ
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
rehmti665
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
asadnawaz62
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
Madan Karki
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
Dr SOUNDIRARAJ N
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
null - The Open Security Community
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
roselinkalist12
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
KartikeyaDwivedi3
Último
(20)
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes examples
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
computer application and construction management
computer application and construction management
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
Developers Summit 2015 - Scala Monad
1.
Scala {Monad}
2.
Who Am I •
Now: Dynalyst • Lang: Korean(30+ years) Japanese(8+ years) JAVA(8.2+ years) Scala(a year) • AdTech: AMoAd DSP CAA Reward
3.
What Dynalyst • Dynamic
Retargeting + Analyst • ユーザーの趣味嗜好に適した広告配 信を行う国内初のスマートフォンに 特化したダイナミックリターゲティ ング広告
4.
Scala USAGE
5.
Today’s Talk • Monads
in Scala Standard Library • How to use them
6.
Monad? • Effects on
a value • Structure that represents computations defined as sequences of steps
7.
Monad? • Effects on
a value :unit • Structure that represents computations defined as sequences of steps :flatMap
8.
Effects on a
value • VALUE • MONAD(VALUE) • Option(VALUE), List(VALUE), Try(VALUE), Future(VALUE)
9.
Sequencial Computations • X ->
Y -> Z • M[X] -> M[Y] -> M[Z] f g f’ g’
10.
Behaviour • f =
X => M[Y] g = Y => M[Z] • X -> M[X] -> M[Y] • M[Y] -> M[Z] -> … unit flatMap flatMap flatMap
11.
Simple User DAO
12.
Option Effects on a Nullable
Value (Some or None)
13.
Unit
14.
FlatMap
15.
Effects on a Nullable
Value Some(User) or None
16.
Exception Safety?
17.
Try Effects on a Throwable
Value (Success or Failure)
18.
Unit
19.
FlatMap
20.
Effects on a
Nullable & Throwable Value Success(Some(User)) or Success(None) or Failure(throwable)
21.
Blocking Thread?
22.
Future Effects on a Blocking
Value (Success or Failure)
23.
Unit
24.
FlatMap
25.
Effects on a
Nullable & Throwable Value in Asynchronously Success(Some(User)) or Success(None) or Failure(throwable)
26.
List Effects on Iterable Values (List
or Nil)
27.
Monad Laws • Left
Identity • Right Identity • Associativity
28.
Pull a value
out of Monad • Helper Functions :getOrElse,fold,foreach,recover… • Pattern Match • 3rd Party Library :Akka,Spray…
29.
Akka
30.
Spray
31.
Benefits • Keep your
codes CLEAN • Easy To Guess(READABLE) • MAINTAINABLE • Less Code Less BUGS
32.
We are Hiring! •
一緒に働く仲間を募集しています! Scalaに興味のある方はぜひ! adtech_scala@cyberagent.co.jp
33.
Thanks han_sangwon@cyberagent.co.jp
Descargar ahora