【Scala関西】http4s/tagless final
by
Dasha Tarasova
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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?