【Scala関西】http4s/tagless final
by
Dasha Tarasova
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
http4scats-effect ٩(๑^o^๑)۶
Slide 2
Slide 2 text
2 Hello! ! !# Scala" %(&) '$ ZOZO Tech
Slide 3
Slide 3 text
● ● cats effect ● http4s ● Tagless final +..+♪(●’∀’●)♪+..+ 3
Slide 4
Slide 4 text
● ● dysangelist/scala_kansai_demo @github +..+♪(●’∀’●)♪+..+ 4
Slide 5
Slide 5 text
1
Slide 6
Slide 6 text
Scala(/0#+ ● #+-7Java2.6,3" 8 ● '$% 7 148 ● 57&)*)!!8 ● 6
Slide 7
Slide 7 text
● ● ● 7
Slide 8
Slide 8 text
01(* .)-4 ● *. #'+ ● %-!*./ ● &$,"32 8
Slide 9
Slide 9 text
Cats Effect 2
Slide 10
Slide 10 text
Cats Effect ● 723Cats8.IO)%$:1"' *!5/*&*+- ● 9ZIOHaskellIOMonix Task6 ● Type Level04(,# 10
Slide 11
Slide 11 text
!Future- ● Future#(Future **) ● &$Futureside-effectful ● %()" ! ! ! ● +left identity ' , 11
Slide 12
Slide 12 text
http4s 3
Slide 13
Slide 13 text
http4s ● Fs2IO http (Framework ● Service As KleisliServer As Stream 13
Slide 14
Slide 14 text
+< ● Play! $' !API-)#)%!!! ● Finagle – Twitter Future/1 ● Finch - ↑ :58Effect23 .*4 9; ● AkkaHTTP ← Spray,6. 7 ● Colossus ???? &(" < ● Chaos ??? 0< 14
Slide 15
Slide 15 text
Tagless final 4
Slide 16
Slide 16 text
Tagless Final ● $'%End Of The World ● " (Eff, Free ● ↑ ! 16
Slide 17
Slide 17 text
● Principle of Least Power ● ● 17
Slide 18
Slide 18 text
Application 5
Slide 19
Slide 19 text
-26*7 ● % $!& "'#5 345(+ 2 ● ),persistence.in memoryHashMap)0 8DB91/ '# : https://github.com/dysangelist/scala_kansai_demo 19
Slide 20
Slide 20 text
20 ●
Slide 21
Slide 21 text
Algebra① 21 ● %#)! ' ● Type"$&(
Slide 22
Slide 22 text
Algebra② 22
Slide 23
Slide 23 text
Algebra③ 23 ● *(Algebra'"$ &%#!+ ● -.Aggregate-DDD, ) .
Slide 24
Slide 24 text
Algebra④ 24
Slide 25
Slide 25 text
Logic① 25 ● Logic, Algebra
Slide 26
Slide 26 text
Logic② 26
Slide 27
Slide 27 text
27
Slide 28
Slide 28 text
② 28 ● Service/Router Logic
Slide 29
Slide 29 text
③ 29
Slide 30
Slide 30 text
④ 30 ● !!
Slide 31
Slide 31 text
31
Slide 32
Slide 32 text
Representation 32 ● Algebra
Slide 33
Slide 33 text
Representation② 33 ● InMemory
Slide 34
Slide 34 text
Representation③ 34 ● InMemory
Slide 35
Slide 35 text
● HttpService[F]Kleisli[OptionT[F, ?], Request[F], Response[F]] alias ● IntelliJcombineK Service? 35
Slide 36
Slide 36 text
36
Slide 37
Slide 37 text
4 37 ● FW%#%&(),1.Separation of Concerns ● "!'$ 03/ ● http4sOpinionated 2* ● +-
Slide 38
Slide 38 text
38 ~fin~ Any questions?