Slide 1

Slide 1 text

5෼ͰΘ͔Δ(͔΋͠Εͳ͍)
 Scalaؔ੢Summit 2017 Abe Asami

Slide 2

Slide 2 text

ࣗݾ঺հ "CF"TBNJl͖ͷࢠz
 େࡕͷϑϦʔϥϯεϓϩάϥϚ IUUQOPDPOPOFU !BBUI 4DBMBɺ"OESPJE +BWB,PUMJO

Slide 3

Slide 3 text

ࠓ೔ͷ಺༰ • 9/9(౔)։࠵ͷ Scalaؔ੢Summit 2017ͷηογϣϯ(28ݸ)Λ ͟ʔʔʔͬͱ঺հ͍͖ͯ͠·͢ɻ • ֤ηογϣϯͷ֓ཁΛࢲͷํͰউखʹ1ߦʹཁ໿͠·ͨ͠ɻ • εϐʔΧʔ໊༷ͷܟশ͸ུ͍ͯ͠·͢ɻ

Slide 4

Slide 4 text

ηϓςʔχɾΦϦδφϧ
 ϗʔϧ
 (ϝΠϯϗʔϧ)

Slide 5

Slide 5 text

Non-Functional Programming in Scala ஛ఴ ௚थ ؔ਺ܕϓϩάϥϛϯάΛۃྗҙࣝͤͣɺ
 Better Javaͱͯ͠ScalaΛ׆͔͢ํ๏

Slide 6

Slide 6 text

Scala and Akka apps on Kubernetes in ChatWork ྛ େհ(hayasshi) Kubernetes্ͰͷScala&AkkaΞϓϦέʔγϣϯͷӡ༻ࣄྫ
 (Kubernetesɿ
 DockerίϯςφΛ؅ཧɾΫϥελϦϯά͢ΔϑϨʔϜϫʔΫ)

Slide 7

Slide 7 text

࣮ફScalaͰDDD ⁋ ཅฏ ScalaͰͷDDD࣮ફࣄྫ

Slide 8

Slide 8 text

ετϦʔϜॲཧ͜ͱ͸͡Ί
 ʙ Akka Streams ʹ͔͠Θ͖͞͞ Akka Streamsೖ໳
 (Akka Streamsɿ
 Akka ActorͰετϦʔϜॲཧΛ࣮૷͢ΔͨΊͷϥΠϒϥϦ

Slide 9

Slide 9 text

άϥϑΛ஌ͬͯཧղ͢Δ
 Akka Streams kamijin_fanta GraphΛத৺ͱͨ͠Akka Streamsجૅ঺հ
 (GraphɿAkka StreamsͷॲཧͷྲྀΕΛද͢ਤͷ͜ͱ)

Slide 10

Slide 10 text

Reladomo in Scala ҏ౻തࢤ/੉ྑ࿨߂ Reladomo ٴͼ Scala͔ΒόΠςϯϙϥϧϞσϧΛѻ͏্Ͱͷ
 ϓϥΫςΟε঺հ
 (ReladomoɿJavaͷORM
 όΠςϯϙϥϧϞσϧɿσʔλཤྺ؅ཧͷͨΊͷσʔλϞσϧ)

Slide 11

Slide 11 text

ʮScale with Scalaʯ͸͸࣮ͨͯ͠ݱ Ͱ͖Δͷ͔(Ծ) দࡔߴ࢚ (༧ఆ) Java͔ΒScala΁ͷ੾Γସ͑ࣄྫ (༧ఆ)

Slide 12

Slide 12 text

Java Flight Recorder ͰϘτϧωοΫ ΛΈ͚ͭΔ Տ಺ ਸ Java Flight Recorderͱ Java Mission Control ͷ׆༻
 (Java Flight RecorderɿJavaΞϓϦɾJVMͷϓϩϑΝΠϦϯάͱ
 ΠϕϯτऩूϑϨʔϜϫʔΫ
 Java Mission Control ɿJava Flight RecorderʹΑͬͯऩू͞Εͨ
 σʔλΛ෼ੳ͢ΔͨΊͷπʔϧηοτ

Slide 13

Slide 13 text

Property Based TestingͰ
 υϝΠϯϩδοΫΛςετ͢Δ தଜ ֶ(͕ͧ͘) ۀ຿ΞϓϦέʔγϣϯͰͷProperty Based Testingͷ࣮ྫ
 (Property Based Testingɿ
 ݸʑͷॲཧ(ؔ਺)͕نఆͷੑ࣭Λຬ͔ͨ͢Ͳ͏͔ͷςετ)

Slide 14

Slide 14 text

αϒձ৔1

Slide 15

Slide 15 text

Ϣʔβʔσʔλج൫Λ͔̍ΒScalaͰ ͭͬͨ͘࿩͠ ਨਫ ल໌ Akka + Spark։ൃࣄྫ঺հ

Slide 16

Slide 16 text

[ࣄྫ঺հ] ScalaͰ෺ྲྀ૔ݿۀ຿
 γεςϜ࡞ͬͨΑ দԼ ੣࿨ ෺ྲྀ૔ݿۀ຿γεςϜ։ൃࣄྫ (Scala.jsɺScalatraɺScalateɺ ActiveModel)

Slide 17

Slide 17 text

What Dotty fixes Taisuke Oe Dotty(࣍ੈ୅ίϯύΠϥɻScala3.0)ͷ৽ػೳɺ
 ݱߦͷScala 2ܥͷ੍ݶɺ2ܥ͔Β3ܥ΁ͷҠߦʹ͍ͭͯ

Slide 18

Slide 18 text

Scala on Docker(AWS ECS) ঙ࢘ ॏथ AWS ECSͰAkka Http, Akka StreamͷΞϓϦΛಈ͔ͨ͠ײ૝

Slide 19

Slide 19 text

Akka on RaspberryPi nobkz AkkaΛRaspberryPiͰಈ͔ͨ͠ࣄྫ঺հ

Slide 20

Slide 20 text

ϓϨʔεϗϧμߏจ׬શղઆ ਫౡ ޺ଠ ϓϨʔεϗϧμߏจͷ࢖͍ํ͚ͩͰ͸ͳ͘ɺಛੑͷղઆ

Slide 21

Slide 21 text

iOSΤϯδχΞͷͨΊͷScalaೖ໳(͋Δ ͍͸ScalaΤϯδχΞͷͨΊͷSwiftೖ໳) ባ խ໵ ScalaɺSwiftίʔυΛൺֱ͠ͳ͕Βͷ঺հ

Slide 22

Slide 22 text

ScalaͱKotlinΛۀ຿Ͱ࢖ͬͯΈͨ Abe Asami ScalaɺKotlinͷ؆୯ͳ঺հͱडୗҊ݅Ͱಋೖͨ͠ࡍͷ
 ΫϥΠΞϯτ༷ͷ൓Ԡ

Slide 23

Slide 23 text

scalafmt vs scalariform ߴڮढ़޾ ίʔυϑΥʔϚολʔͰ͋Δscalafmtͱscalariformͷ
 ҧ͍ͱ࢖͍͜ͳ͠ํ

Slide 24

Slide 24 text

αϒϗʔϧ2

Slide 25

Slide 25 text

ݩΠϯϑϥΤϯδχΞ͕ScalaΛ৮ͬ ͯͭ·͍ͮͨͱ͜Ζɻ ඌ্ وࢠ Scala͜Θ͘ͳ͍Αେৎ෉ͩΑͱ͍͏࿩

Slide 26

Slide 26 text

BigDLͰScala × DeepLearningʹ
 ೖ໳ͨ͠࿩ nosatohirotaka ScalaͰػցֶशʹτϥΠͨ͠࿩

Slide 27

Slide 27 text

Scala ͷ Functional Programming Λ ࢧ͑Δٕज़ Naoki Aoyama - @aoiroaoino ؔ਺ܕϓϩάϥϛϯά͜Θ͘ͳ͍Αͱ͍͏͓࿩

Slide 28

Slide 28 text

ϞμϯͳΞϧΰϦζϜ։ൃ 
 ~ spark-notebookΛ࢖ͬͯ Ԟଜ ߁थ Spark-notebook(Spark࣮ߦ؀ڥ͖ͭͷWebΤσΟλ)Λ
 ༻͍ͨ։ൃࣄྫ঺հ

Slide 29

Slide 29 text

Akka Streams΁Ҡߦ͠ͱΔΜ΍͚Ͳ ͪΐͬͱฉ͍ͯ΍ @grimrose PHP to Scala (Akka Streams) Ҡߦࣄྫ঺հ

Slide 30

Slide 30 text

ϝλϓϩάϥϛϯάScala খࢵ ߂و scalameta(Scalaͷϝλϓϩάϥϛϯά༻πʔϧΩοτ)ೖ໳

Slide 31

Slide 31 text

Ladder of CQRS+ES mtoyoshi CQRS͓ΑͼEvent Sourcing࣮ફࣄྫ঺հ

Slide 32

Slide 32 text

ϋϯζΦϯ෦԰

Slide 33

Slide 33 text

ॳ৺ऀ޲͚จ๏ղઆ(Ծ) @amaya (༧ఆ) Scalaະܦݧऀ޲͚(༧ఆ)

Slide 34

Slide 34 text

ॳ৺ऀ޲͚ϋϯζΦϯ(Ծ) Scalaؔ੢Summit ελοϑ ϓϩδΣΫτΛ1͔Β࡞੒͠ͳ͕Βجຊจ๏ͷ֬ೝʙ֎෦ϥΠϒϥϦΛ
 ಋೖͯ͠গ͠ಈ͔ͯ͠ΈΔ (༧ఆ)

Slide 35

Slide 35 text

PlayͱIntelliJͰֶͿσόοάೖ໳ ߴౢ ོത IntelliJ IDEAͷσόοΨͷ࢖͍ํղઆ

Slide 36

Slide 36 text

·ͱΊ • 5෼ͰΘ͔ΔΘ͚ͳ͍ͷͰΈΜͳ9/9େࡕʹདྷ͍ͯͩ͘͞ʂ • ࠓ೔഑෍͞ΕͨΫϦΞϑΥϧμʹ͝Ҋ಺͕ೖ͍ͬͯ·͢ʂ

Slide 37

Slide 37 text

͝ࢀՃ͓଴͓ͪͯ͠Γ·͢ʂ