Slide 1

Slide 1 text

։ൃ؀ڥͷվળ! ۀ຿ͱཱ྆Ͱ͖Δ! Զίϯ2018Summer
 ࠤ౻ ޫ @hicka04

Slide 2

Slide 2 text

ࣗݾ঺հ ▸ ࠤ౻ ޫ ▸ @hicka04 ▸ χϑςΟϥΠϑελΠϧגࣜձࣾ ▸ iOSΞϓϦ (, AndroidΞϓϦ, Πϯϑϥ) ▸ iOS͸2೥ɺSwift͸1.5೥ ▸ ,

Slide 3

Slide 3 text

ΞδΣϯμ ▸ վળͨ͠ʮ։ൃ؀ڥʯͷఆٛ ▸ վળͨ͠ΞϓϦͷ঺հ ▸ ͳͥ։ൃ؀ڥͷվળΛͨ͠ͷ͔ ▸ վળΛਐΊΔ্ͰͷϙΠϯτ ▸ ࣮ࡍʹ΍ͬͨ͜ͱ ▸ ۀ຿ͱཱ྆͢Δ্Ͱͷۤ࿑ ▸ ·ͱΊ

Slide 4

Slide 4 text

վળͨ͠ʮ։ൃ؀ڥʯͷఆٛ

Slide 5

Slide 5 text

վળͨ͠։ൃ؀ڥͷఆٛ ▸ i Mac ProͰ… AppCodeͰ…

Slide 6

Slide 6 text

վળͨ͠։ൃ؀ڥͷఆٛ ▸ i Mac ProͰ… AppCodeͰ… ▸ ࠓճվળͨ͠ͷ͸ɺνʔϜͰ։ൃ͢Δ্Ͱͷ؀ڥ ▸ ϦϦʔε·Ͱͷϑϩʔ͸… ▸ ϨϏϡʔ͸… ▸ ςετ͸… ▸ ඞཁͳπʔϧ͸…

Slide 7

Slide 7 text

վળͨ͠ΞϓϦͷ঺հ

Slide 8

Slide 8 text

վળͨ͠ΞϓϦͷ঺հ େख·ͱΊͯόΠτ୳͠

Slide 9

Slide 9 text

վળͨ͠ΞϓϦͷ঺հ େख·ͱΊͯόΠτ୳͠ 2014 / 10 ॳճϦϦʔε ϑϧObj-C 2016 / 8 Swift΁ͷҠߦΛ։࢝ 2017 / 4 ɹɹJoin! / 5 ։ൃ؀ڥվળ ελʔτ!

Slide 10

Slide 10 text

ͳͥ։ൃ؀ڥͷվળΛͨ͠ͷ͔

Slide 11

Slide 11 text

Ϗδωεͷཁٻʹରͯ͠ ࣭ɾεϐʔυతʹ ରԠͰ͖ͳ͘ͳΔͷ͕༧૝͞Ε͔ͨΒ

Slide 12

Slide 12 text

ͳͥ։ൃ؀ڥͷվળΛͨ͠ͷ͔ ։ൃϝϯόʔ 2014 / 10 ॳճϦϦʔε ϑϧObj-C 2016 / 8 Swift΁ͷҠߦΛ։࢝ 1ਓ 2017 / 4 ɹɹJoin! 2ਓ / 5 ։ൃ؀ڥվળ ελʔτ! 4ਓҎ্ʹ…? ϧʔϧ͕ͳ͍ঢ়ଶͰෳ਺ਓͰͷ։ൃΛ͢Δͱ
 ҙਤ͠ͳ͍มߋ͕ଞͷਓʹ೾ٴͯ͠όά͕૿͑ͨΓ(࣭)
 ࡞ۀͷ଴͕ͪൃੜͯ͠஗͘ͳͬͨΓ(εϐʔυ)
 ͢Δ͜ͱ͕༧૝͞Εͨ

Slide 13

Slide 13 text

Αʔ͠
 ΍ͬͨΔͧʙʙ ͳΜͱͳ͘։ൃ؀ڥ͕Πέͯͳ͍
 ͱ͍͏͜ͱ͚ͩΘ͔͍ͬͯΔ@hicka04 ෳ਺ਓͰͷ։ൃܦݧ͕গͳ͍ ݱঢ়ͰࠔΓͦ͏ͳ͜ͱ͕Θ͔Βͳ͍

Slide 14

Slide 14 text

ٹੈओݱΔ

Slide 15

Slide 15 text

ٹੈओݱΔ ▸ גࣜձࣾҰٳ͞Μ͕ϨΨγʔͳ։ൃ؀ڥΛվળͨ͠ ▸ ϨΨγʔ͞͸ಉ͡Ϩϕϧ? ▸ ਐΊํͱ࣮ࡍʹ΍ͬͨ͜ͱ͕ৄࡉʹ͔͔Ε͍ͯͨ

Slide 16

Slide 16 text

ٹੈओݱΔ ▸ גࣜձࣾҰٳ͞Μ͕ϨΨγʔͳ։ൃ؀ڥΛվળͨ͠ ▸ ϨΨγʔ͞͸ಉ͡Ϩϕϧ? ▸ ਐΊํͱ࣮ࡍʹ΍ͬͨ͜ͱ͕ৄࡉʹ͔͔Ε͍ͯͨ ίϨͩͬ!!!!

Slide 17

Slide 17 text

վળΛਐΊΔ্ͰͷϙΠϯτ

Slide 18

Slide 18 text

վળΛਐΊΔ্ͰͷϙΠϯτ ᶃݱࡏ஍Λ஌Δ͜ͱ ᶄ໨ඪΛ஌Δ͜ͱ ᶅఆظతʹৼΓฦΓΛ͢Δ͜ͱ

Slide 19

Slide 19 text

վળΛਐΊΔ্ͰͷϙΠϯτ ᶃݱࡏ஍Λ஌Δ͜ͱ ▸ ։ൃͷͨΊͷCMMI(CMMI-Dev) ▸ ϓϩηεͷ੒ख़౓ΛධՁ͢ΔͨΊͷࢦඪ ▸ ೳྗ౓Ϩϕϧ Ϩϕϧ ঢ়ଶ ཁ໿ 0 ෆ׬શͳ ࣮ࢪ͞Εͳ͍··ϦϦʔε͞ΕΔɹΧΦε 1 ࣮ࢪ͞Εͨ ࣮ࢪͯ͠ϦϦʔε͞ΕΔ 2 ؅ཧ͞Εͨ ϧʔϧʹԊ࣮ͬͯࢪ͠ϦϦʔε͞ΕΔ 3 ఆٛ͞Εͨ ݫີʹϧʔϧʹԊ࣮ͬͯࢪ͠ϦϦʔε దٓϧʔϧͷվળ͕Ͱ͖͍ͯΔ

Slide 20

Slide 20 text

վળΛਐΊΔ্ͰͷϙΠϯτ ᶃݱࡏ஍Λ஌Δ͜ͱ ▸ Ұٳ͞ΜͷվળࢿྉΛࢀߟʹ4߲໨ʹ͍ͭͯݱࡏ஍Λϓϩοτ ߲໨ 0 ΧΦε 1 ΍ͬͯΔ 2 ϧʔϧ͋Δ 3 ݫີ&վળ΋ όʔδϣϯ ؅ཧ αʔϏε ඼࣭ ৘ใڞ༗ υΩϡϝϯτ ˛ ˛ ˛ ˛

Slide 21

Slide 21 text

վળΛਐΊΔ্ͰͷϙΠϯτ ᶄ໨ඪΛ஌Δ͜ͱ ▸ ໨ඪΛ஌Δ͜ͱͰɺ۩ମతͳख๏ΛܾΊΒΕΔ ▸ Ͳ͏΍ͬͯ஌Δ͔? ▸ ࣾ֎ͷ୭͔ʹڠྗΛڼ͙ ▸ ษڧձ͔Β৘ใऩू ▸ ωοτ͔Β৘ใऩू ▸ ຊ͔Β৘ใऩू iOSDC Japan 2017 iOSDC RejectCon iOS Test Night potatotips Twitter Qiita ཆ੒ಡຊ Swift࣮ફೖ໳

Slide 22

Slide 22 text

վળΛਐΊΔ্ͰͷϙΠϯτ ᶅఆظతʹৼΓฦΓΛ͢Δ͜ͱ ▸ վળͰ͖͍ͯΔײΛײ͡औΔ(ϞνϕUP) ▸ ࣍ʹਐΉ΂͖ํ޲ΛఆΊΔ ▸ ࠓ΍͍ͬͯΔ͜ͱΑΓਂࠁͳ໰୊͸ͳ͍͔? ▸ ΍Δ΂͖͜ͱͷதʹڵຯͷ͋Δ͜ͱ͸ͳ͍͔?
 (ڵຯͷ͋Δ͜ͱͷ΄͏͕ΫΦϦςΟ্͕͕Δ͔Β)

Slide 23

Slide 23 text

վળΛਐΊΔ্ͰͷϙΠϯτ ᶃݱࡏ஍Λ஌Δ͜ͱ ‣ CMMI-Devͷೳྗ౓ϨϕϧΛ༻͍ͯ ᶄ໨ඪΛ஌Δ͜ͱ ‣ (ࢲ͸)ษڧձ΍ຊͳͲͰ৘ใऩू ‣ ໨ඪͳ͠ʹΞΫγϣϯ͸ܾΊΒΕͳ͍ ᶅఆظతʹৼΓฦΓΛ͢Δ͜ͱ ‣ ϞνϕUP & ࣍ͷΞΫγϣϯܾΊ

Slide 24

Slide 24 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ

Slide 25

Slide 25 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ ߲໨ 0 ΧΦε 1 ΍ͬͯΔ 2 ϧʔϧ͋Δ 3 ݫີ&վળ΋ όʔδϣϯ ؅ཧ ˛ αʔϏε ඼࣭ ˛ ৘ใڞ༗ ˛ υΩϡϝϯτ ˛

Slide 26

Slide 26 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 4 - 2017 / 9 ߲໨ 2017/4 ՝୊ όʔδϣϯ ؅ཧ ‣ Bitbucket ‣ OSS͸PodsͰ؅ཧ ‣ ϒϥϯνϧʔϧͳ͠ αʔϏε ඼࣭ ‣ ࣌ʑίʔυϨϏϡʔ ‣ खಈͰͷςετ ‣ CrashlyticsʹΑΔόάݕ஌ ‣ ίʔυϨϏϡʔͳ͍ ‣ ςετίʔυͳ͍

Slide 27

Slide 27 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 4 - 2017 / 9 ߲໨ ՝୊ ΞΫγϣϯ όʔδϣϯ ؅ཧ ‣ ϒϥϯνϧʔϧͳ͠ ‣ ϦϦʔεϑϩʔΛ໌จԽ ‣ ϒϥϯνӡ༻ͷϧʔϧ΋໌ه αʔϏε ඼࣭ ‣ ίʔυϨϏϡʔͳ͍ ‣ ςετίʔυ΋ͳ͍ ‣ ίʔυϨϏϡʔͳ͠ͰϦϦʔ εͰ͖ͳ͍Α͏੍໿ ‣ Lintಋೖ ‣ ৽نػೳ͔Βςετॻ͘

Slide 28

Slide 28 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 4 - 2017 / 9 ▸ ϦϦʔεϑϩʔΛܾΊͯ໌จԽ ▸ Gitͷϒϥϯνӡ༻ ▸ ίʔυϨϏϡʔ ▸ ΍Δ΂͖ςετ

Slide 29

Slide 29 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 4 - 2017 / 9 ▸ SwiftLintͷಋೖ ▸ Τϥʔɾϫʔχϯά ͕ܭ1,000௒͑ ▸ εϖʔεͷ༗ແɺෆཁͳηϛίϩϯɺڧ੍Ξϯϥοϓ…ͳͲ
 1ͭ1ͭॱ൪ʹ௚͍ͯͬͨ͠ ▸ ͢΂ͯखಈͰ௚͕ͨ͠ɺ؆୯ͳϧʔϧ͸
 $ swiftlint autocorrect
 ͰҰൃͩͬͨ͜ͱΛ͋ͱ͋ͱ஌ͬͨɻ

Slide 30

Slide 30 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 4 - 2017 / 9 ߲໨ 0 ΧΦε 1 ΍ͬͯΔ 2 ϧʔϧ͋Δ 3 ݫີ&վળ΋ όʔδϣϯ ؅ཧ ˛ ● αʔϏε ඼࣭ ˛ɹ ● ৘ใڞ༗ ˛ ● υΩϡϝϯτ ˛ ● ˛ ● → ←ςετίʔυॻ͚͍ͯͳ͍

Slide 31

Slide 31 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 10 - 2018 / 6 ߲໨ 2017/10 ՝୊ αʔϏε ඼࣭ ‣ ඞͣίʔυϨϏϡʔ ‣ LintͰίʔσΟϯάελΠϧ ౷Ұ ‣ खಈͰͷςετ ‣ CrashlyticsʹΑΔόάݕ஌ ‣ ςετίʔυͳ͍ ‣ ΫϥογϡݪҼಛఆͷ
 ৘ใ͕଍Γͳ͍ ‣ ΫϥογϡҎ֎ͷόά ʹؾ͚ͮͳ͍ αʔϏε඼࣭ʹ஫ྗ

Slide 32

Slide 32 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 10 - 2018 / 6 αʔϏε඼࣭ʹ஫ྗ ߲໨ ՝୊ ΞΫγϣϯ αʔϏε ඼࣭ ‣ ςετίʔυͳ͍ ‣ ΫϥογϡݪҼಛఆͷ
 ৘ใ͕଍Γͳ͍ ‣ ΫϥογϡҎ֎ͷόάʹ ؾ͚ͮͳ͍ ‣ ςετίʔυΛॻ͚Δ
 ίʔυʹϦϑΝΫλ ‣ ςετίʔυΛॻ͘ ‣ ΫϥογϡҎ֎ͷ৘ใΛ
 CrashlyticsʹૹΔ

Slide 33

Slide 33 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 10 - 2018 / 6 αʔϏε඼࣭ʹ஫ྗ ▸ ςετίʔυΛॻ͚Δίʔυʹ ▸ iOSDC2017 ▸ MVPΛษڧͯ͠ಋೖ
 ˠษڧෆ଍ͰͳΜͪΌͬͯMVPʹͳͬͯ͠·͍
 ɹςετίʔυॻ͚ͣ…
 ɹFatViewController → FatPresenter

Slide 34

Slide 34 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 10 - 2018 / 6 αʔϏε඼࣭ʹ஫ྗ ▸ ςετίʔυΛॻ͚Δίʔυʹ ▸ potatotips(ࢀՃͯ͠ͳ͍͕) ▸ VIPERΞʔΩςΫνϟ ▸ ୤FatPresenter
 PresenterɿදࣔͷϩδοΫ
 InteractorɿσʔλͷϩδοΫ ▸ ͦΕͧΕ͕protocolʹͷΈґଘ͍ͯ͠ΔͷͰςετ͕ॻ͚Δ!!

Slide 35

Slide 35 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 10 - 2018 / 6 αʔϏε඼࣭ʹ஫ྗ ▸ ΫϥογϡҎ֎ͷ৘ใΛCrashlyticsʹૹΔ ▸ iOSDC2017 ▸ ΧελϜϩά
 Ͳ͔͜Βىಈͯ͠ͲΜͳը໘ͰͲΜͳΞΫγϣϯΛ͔ͨ͠ ▸ ඇΫϥογϡͷΤϥʔ
 ݕࡧ͕ͨ͠Ϩεϙϯε500ɺݕࡧ݁Ռ0݅…ͳͲ

Slide 36

Slide 36 text

࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 10 - 2018 / 6 ߲໨ 0 ΧΦε 1 ΍ͬͯΔ 2 ϧʔϧ͋Δ 3 ݫີ&վળ΋ όʔδϣϯ ؅ཧ ●ɹ˒ αʔϏε ඼࣭ ● ˒ ৘ใڞ༗ ● ˒ υΩϡϝϯτ ●ɹ˒ ˒ ● → CIͰςετ͕
 ࣗಈతʹ૸ΔΑ͏ʹ͍ͨ͠

Slide 37

Slide 37 text

ۀ຿ͱཱ྆ͬͯ࿩͸Ͳ͍ͬͨ͜…?

Slide 38

Slide 38 text

ۀ຿ͱཱ྆͢Δ্Ͱͷۤ࿑

Slide 39

Slide 39 text

ۀ຿ͱཱ྆͢Δ্Ͱͷۤ࿑ ࣌ؒΛͱΔͷ͕೉͍͠໰୊ ▸ ۀ຿վળDay ▸ ݄2೔ɺීஈͷۀ຿Λ͢΂ͯޙճ͠ʹͯ͠վળ
 (ͱ͍͏͜ͱʹ͍ͯ͠Δ) ▸ ݄2೔͸։ൃϦʔμʔɺϏδωεαΠυͱͷ૬ஊͷ݁Ռ ▸ ׂΓࠐΈλεΫ͕ಥવ͖߱ͬͯͨΓ
 େ͖ͳ࢓ࣄ͕௕Ҿ͍ͯվળ׆ಈʹ࣌ؒΛׂ͚ͳ͔ͬͨΓ… ະͩʹղܾࡦͳ͠Ͱ͢…

Slide 40

Slide 40 text

ۀ຿ͱཱ྆͢Δ্Ͱͷۤ࿑ վળ͕όάͷݪҼʹͳΓ͔Ͷͳ͍໰୊ ▸ ྫ)ΞʔΩςΫνϟͷมߋ ▸ طଘίʔυʹςετίʔυ͕ͳ͍ͷͰ
 ਖ਼͘͠มߋͰ͖͔ͨΛݕ஌͢Δํ๏͕ͳ͍ ▸ ݱঢ়͸ҎԼͰ֬ೝɺෳ਺ਓͰͷ֬ೝ͕େࣄ ▸ ৽نʹ௥Ճͨ͠ςετίʔυ ▸ ࠩ෼ͷ໨grep ▸ ϦϦʔεલͷखಈςετ

Slide 41

Slide 41 text

·ͱΊ

Slide 42

Slide 42 text

·ͱΊ 2017 / 4 - 2017 / 10 - 2018 / 6 ߲໨ 0 ΧΦε 1 ΍ͬͯΔ 2 ϧʔϧ͋Δ 3 ݫີ&վળ΋ όʔδϣϯ ؅ཧ ˛ ●ɹ˒ αʔϏε ඼࣭ ˛ɹ ● ˒ ৘ใڞ༗ ˛ ● ˒ υΩϡϝϯτ ˛ ●ɹ˒ ˒ ● → ˛ → ண࣮ʹվળ!!

Slide 43

Slide 43 text

·ͱΊ ▸ ෳ਺ਓ։ൃʹͳͬͯ΋
 Ϋϥογϡ͕૿͑ͨΓϦϦʔεස౓͕ݮΔ͜ͱ͸ͳ͔ͬͨ ▸ վળΛਐΊΔ্ͰͷϙΠϯτΛԡ͑͞Δ ᶃ ݱࡏ஍Λ஌Δ͜ͱ ᶄ ໨ඪΛ஌Δ͜ͱ ᶅ ఆظతʹৼΓฦΓΛ͢Δ͜ͱ ▸ ۀ຿ͱཱ྆͢Δ্Ͱͷۤ࿑͸ͩΜͩΜখ͘͞ͳ͍ͬͯ͘͸ͣ
 (ͱʹ͔͘0→1͕େมɻجૅ͕Ͱ͖ͨঢ়ଶͰͷվળ͸࠷ॳΑΓ͸ָ) ▸ पΓͷڠྗ΋ڼ͗ͳ͕Β1า1าਐΊ͍͖ͯ·͠ΐ͏!!

Slide 44

Slide 44 text

Let’s վળ!!