Slide 1

Slide 1 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. גࣜձࣾ;0;0ςΫϊϩδʔζ ։ൃ෦ɹࢁాঘޗ ෼ͰΘ͔Δ ,PUMJOίϧʔνϯ

Slide 2

Slide 2 text

ϓϩϑΟʔϧ 5XJUUFS ;0;0ςΫϊϩδʔζ ։ൃ෦ ࢁాঘޗ Copyright © ZOZO Technologies, Inc. All Right Reserved. !ZTIPHP (JUIVC !ZTIPHP ݸਓͰ͸'MVUUFSʹϋϚ͍ͬͯΔ

Slide 3

Slide 3 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. ࠓ೔࿩͢͜ͱ ɾ,PUMJO$PSPVUJOFͬͯͳʹʁʁ ɾ࢖͍ํ ɾ"OESPJEͰͲ͏࢖͏ͷ͔ ɾ·ͱΊ

Slide 4

Slide 4 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. ,PUMJO$PSPVUJOFͬͯͳʹʁʁ "TZODISPOPVTPSOPOCMPDLJOHQSPHSBNNJOHJTUIFOFXSFBMJUZ ඇಉظϓϩάϥϛϯά·ͨ͸ඇϒϩοΩϯά ϓϩάϥϛϯά͕৽͍͠ݱ࣮Ͱ͢

Slide 5

Slide 5 text

Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 6

Slide 6 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. ,PUMJO$PSPVUJOFͬͯͳʹʁʁ XJLJQFEJBͰ$PSPVUJOFΛݕࡧ͢Δͱ αϒϧʔνϯ͕ΤϯτϦʔ͔ΒϦλʔϯ·ͰΛҰͭͷॲཧ୯Ґͱ͢Δͷʹର ͠ɺίϧʔνϯ͸͍ͬͨΜॲཧΛதஅͨ͠ޙɺଓ͖͔ΒॲཧΛ࠶։Ͱ͖Δɻ ઀಄ࣙDP͸ڠௐΛҙຯ͢Δ͕ɺෳ਺ͷίϧʔνϯ͕தஅɾܧଓʹΑΓڠௐ ಈ࡞Λߦ͏͜ͱʹΑΔɻ

Slide 7

Slide 7 text

Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 8

Slide 8 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. ,PUMJO$PSPVUJOFͬͯͳʹʁʁ ʮதஅՄೳͳܭࢉॲཧΠϯελϯεʯ

Slide 9

Slide 9 text

Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 10

Slide 10 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. ,PUMJO$PSPVUJOFͬͯͳʹʁʁ ཁ͸ ؔ਺ͷ్தͰதஅͤͨ͞Γɺ࠶։ͨ͠Γ͢Δ΍ͭ

Slide 11

Slide 11 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. ,PUMJO$PSPVUJOFͬͯͳʹʁʁ "OESPJEͰ͸ ɾඇಉظॲཧͷ଴ͪ߹Θͤ ɾλΠϜΞ΢τͤ͞Δ ɾ͍ΖΜͳඇಉظॲཧΛҰؾʹࢭΊΔ ͞·͟·ͳඇಉظॲཧΛ؅ཧ͢Δ΋ͷͱߟ͍͍͑ͯ

Slide 12

Slide 12 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. ,PUMJO$PSPVUJOFͬͯͳʹʁʁ 3Y+BWBͷ୅ସ͑Ͱ͸ͳ͍ 3Y+BWB σʔλϑϩʔΛએݴతʹॻ͘ϦΞΫςΟϒϓϩάϥϛϯά $PSPVUJOF தஅՄೳܭࢉΠϯελϯε

Slide 13

Slide 13 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. ࢖͍ํ fun main() { GlobalScope.launch { delay(1000L) println("World!") } println("Hello,") Thread.sleep(2000L) }

Slide 14

Slide 14 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. ࢖͍ํ 5JNFPVU fun main() = runBlocking { //sampleStart withTimeout(1300L) { repeat(1000) { i -> println("I'm sleeping $i ...") delay(500L) } } //sampleEnd }

Slide 15

Slide 15 text

࢖͍ํ ଴ͪ߹Θͤ fun main() = runBlocking { //sampleStart val time = measureTimeMillis { println("The answer is ${concurrentSum()}") } println("Completed in $time ms") //sampleEnd } suspend fun concurrentSum(): Int = coroutineScope { val one = async { doSomethingUsefulOne() } val two = async { doSomethingUsefulTwo() } one.await() + two.await() } suspend fun doSomethingUsefulOne(): Int { delay(1000L) // pretend we are doing something useful here return 13 } suspend fun doSomethingUsefulTwo(): Int { delay(1000L) // pretend we are doing something useful here, too return 29 }

Slide 16

Slide 16 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. // retorofit implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2' // coroutines implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.1" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.1" ˞,PUMJO͔ΒͷઃఆͰ͢ ઃఆ "OESPJEͰͲ͏࢖͏ͷ͔

Slide 17

Slide 17 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. interface MainService { companion object { const val baseUrl = “URL" } @GET(“/id“) fun getUser(): Deferred> } 3FUSPpUͱҰॹʹ࢖͏ "OESPJEͰͲ͏࢖͏ͷ͔

Slide 18

Slide 18 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. fun getUserInfo() = Retrofit.Builder() .baseUrl(MainService.baseUrl) .addConverterFactory(MoshiConverterFactory.create()) .addCallAdapterFactory(CoroutineCallAdapterFactory()) .build().create(MainService::class.java) } 3FUSPpUͱҰॹʹ࢖͏ "OESPJEͰͲ͏࢖͏ͷ͔

Slide 19

Slide 19 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. "OESPJEͰͲ͏࢖͏ͷ͔ GlobalScope.launch { val info = repository.getUserInfo() val userRequest = info.getUser() val userResponse = userRequest.await() if (!userResponse.isSuccessful) { ɹɹɹɹɹɹɹɹɹ// ΤϥʔॲཧΛ࣮ߦ͢Δ return@launch } userModel.set(userResponse.body() ?: return@launch) } 3FUSPpUͱҰॹʹ࢖͏

Slide 20

Slide 20 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. ·ͱΊ ɾ$PSPVUJOFͱ͸ʮؔ਺ͷ్தͰதஅͤͨ͞Γɺ ࠶։ͨ͠Γ͢Δ΍ͭʯ ɾ3Y+BWBͷ୅ସ͑Ͱ͸ͳ͍ ɾ3FUSPGJUͱҰॹʹ࢖͑·͢

Slide 21

Slide 21 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. ίϧʔνϯΛੵۃతʹಋೖ͍ͯͧ͘͠ʂʂ

Slide 22

Slide 22 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠