Slide 1

Slide 1 text

ϢϏϨδͷνʔϜ։ൃ RAILS DEVELOPERS MEETUP 2019 2019/3/22 @katorie

Slide 2

Slide 2 text

katorieͱ͍͍·͢ • Rails Girls Tokyo 2ndଔۀੜ • ϢϏϨδͰΤϯδχΞσϏϡʔ͠·ͨ͠ • 2ࡀࣇͱ෉ͷ3ਓ฻Β͠ • খּݪྲྀḦ஡ಓڭत

Slide 3

Slide 3 text

͍͍ͩͨ͜ͷΞΠίϯ ֆͷ্खͳํʹඳ͍͍͖ͯͨͩ·ͨ͠

Slide 4

Slide 4 text

ϢϏϨδྺ ʹ ΤϯδχΞྺ! • ϢϏϨδ͔͠஌Βͳ͍ • ʮ͜ΕͰɺ͍͍ͷ͔ͳ…ʁʯͱࢥ͏͜ͱ͕ ͋Δ

Slide 5

Slide 5 text

ʮॆ෼Ͱ͢ɻʯˌŪůŠŪ

Slide 6

Slide 6 text

ϢϏϨδͷνʔϜ։ൃʹ͍ͭͯ ͷ͓࿩ • ಛʹ͜͜1೥൒͘Β͍ͷεΫϥϜ։ൃ • ͲΜͳ෩ʹ΍͍ͬͯΔ͔

Slide 7

Slide 7 text

ԿͰ͜ͷ࿩ʹ͔ͨ͠ • ୯७ʹಇ͖΍͍͢ͳͬͯࢥ͍ͬͯΔ͔Β࿩͠ ͔ͨͬͨʢޙ൒ʹ࿩͠·͢ʣ • ଞʹ͍͍΍Γํ͕͋ͬͨΒڭ͑ͯཉ͍͔͠Β ·ͣ͸ൃ৴ͯ͠ΈΑ͏

Slide 8

Slide 8 text

εΫϥϜνʔϜ • ਓ਺͸10ʙ15ਓ͘Β͍ • ͜͜਺ϲ݄Ͱೖࣾͨ͠ϝϯόʔ͕໿൒਺ • 2νʔϜʹͳͬͨ

Slide 9

Slide 9 text

iPadΛ࢖ͬͨPOSϨδ ϢϏϨδ • iPad޲͚ΞϓϦ • Objective-C / Swift • αʔόʔαΠυ • Ruby on Rails / React.js • Heroku • MySQL • Ubiregi for Salesforce

Slide 10

Slide 10 text

ΦʔμʔγεςϜɹFlickOrder • iPhone / iPod touch / iPad޲͚ΞϓϦ • Objective-C / Swift • αʔόʔαΠυ • Scala • Google App Engine • Google Cloud Datastore

Slide 11

Slide 11 text

ࡏݿ؅ཧγεςϜɹStockScan • iPhone / iPod touch / iPad޲͚ΞϓϦ • Objective-C / Swift • αʔόʔαΠυ • Python / JavaScript • Google App Engine • MySQL

Slide 12

Slide 12 text

ಛ௃ • ΋ͱ΋ͱϓϩμΫτ͝ͱʹ։ൃ͕όϥόϥͩͬͨ ͱ͍͏ྺ࢙తഎܠ • αʔόʔαΠυͷݴޠ • iOSΞϓϦͷઃܭ • ϓϩμΫτ͝ͱʹνʔϜΛ෼͚ΔͷͰ͸ͳ͘ɺશ һͰશϓϩμΫτΛ։ൃɾӡ༻͢Δ

Slide 13

Slide 13 text

Ͳ͏ͯ͠εΫϥϜ։ൃʁ • ΋ͱ΋ͱ͸iOSνʔϜʴαʔόʔαΠυνʔϜ • ͦΕͧΕͰ։ൃ͍ͯ͠ΔͱɺϦϦʔε·ͰͷಓͷΓ͕ ݥ͍͠ • ݟੵ΋Γͷਫ਼౓ • ਐḿ֬ೝ • ଐਓԽ

Slide 14

Slide 14 text

εΫϥϜ։ൃ 1εϓϦϯτɿ2िؒ

Slide 15

Slide 15 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ εΫϥϜνʔϜ ͷिؒ

Slide 16

Slide 16 text

ετʔϦʔ PBIʢϓϩμΫτόοΫϩάΞ ΠςϜʣ ୯ҐͰͷ։ൃ

Slide 17

Slide 17 text

PBI͕ϦϦʔε͞ΕΔ·Ͱ ϓϩμΫτ όοΫϩά ΞΠςϜ ʢ1#*ʣ 3FWJFX BQQ ࣾ಺഑෍༻ ΞϓϦ ϦϦʔε &Pull Request &POνΣοΫ ϨϏϡʔ ։ൃ PO PO εΫϥϜνʔϜ εΫϥϜνʔϜ

Slide 18

Slide 18 text

PBIΛ؅ཧ͢ΔϦϙδτϦ 10͸ཁ݅ΛNBSLEPXOϑΝΠϧʹ·ͱΊͯ13 ༏ઌॱҐ͸͜͜Ͱ֬ೝ

Slide 19

Slide 19 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ ि͕ؒ ͸͡·ΔΑʂ

Slide 20

Slide 20 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ • εϓϦϯτͷ੒Ռ෺Λશࣾ޲͚ʹσϞ • ಈ͘΋ͷΛݟͤͯϑΟʔυόοΫ΋ΒͬͨΓ • ࣭໰ड͚ͨΓ ଞνʔϜͷ൓Ԡ͕͏Ε͍͠ʂୡ੒ײ͋Δʂ

Slide 21

Slide 21 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ • λΠϜϥΠϯ֬ೝɺKPTग़͠ • λΠϜϥΠϯ͸๨Ε͕ͪͳͷͰຖ೔ॻ͍͍ͯ Δ • ݸਓతͳ͜ͱ΋ॻ͘ʢ஀ੜ೔ͱ͔ه೦೔ͱ͔ ཱྀߦઌͱ͔ʣ

Slide 22

Slide 22 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ • ͸͡ΊʹΩϟύγςΟ֬ೝʢॕ೔΍ࣾ಺Πϕϯτ΍༗څر๬ͳ Ͳʣ • ੵ·Ε͍ͯΔPBIͷ༏ઌॱҐͷ্͔Β • PBI͝ͱʹλεΫΛચ͍ग़͠ΧϯόϯʹషΓ෇͚ • షΓग़ͨ͠λεΫ͕׬ྃͰ͖Δ͔֬ೝ • ग़དྷͳͦ͞͏ͳΒݮΒ͢ɺ΋ͬͱ͍͚ͦ͏ͩͬͨΒ଍͢ • ߹ҙܗ੒ͷ্ɺεϓϦϯτ։࢝

Slide 23

Slide 23 text

ΧϯόϯͰλεΫ؅ཧ ϓϩμΫτόοΫ ϩάΞΠςϜ όοΫϩά ։ൃத In Review αΠϯΞοϓͨ͠λεΫʹ໊લ ิ଍ʢ଴ͪཧ༝౳ʣ

Slide 24

Slide 24 text

͜͜Ͱͪΐͬͱখ࿩

Slide 25

Slide 25 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ • εϓϦϯτͷऴΘΓʹʮ͓ർΕʯΛ͢Δձ • SUSHI͸ͷ࣌΋͋Ε͹ͦ͏Ͱͳ͍࣌΋͋Δ • ʢϦϑΝΫλϦϯάத…ʣ

Slide 26

Slide 26 text

εϓϦϯτSUSHI ͯ͠·͔͢ʁ

Slide 27

Slide 27 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ

Slide 28

Slide 28 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ • ετʔϦʔ͝ͱʹϦϦʔεલνΣοΫ • αʔόʔɿHeroku Review App / staging • iOSɿApple Developer Enterprise Program

Slide 29

Slide 29 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ • िʹҰ౓ͷΧελϚʔαΫηεɾηʔϧεɾϚʔέςΟϯά νʔϜͱϦϦʔεձٞΛߦ͍λΠϛϯάΛௐ੔ • αʔόʔଆ͸౎౓ʢຊ൪ == masterʣ • iOSΞϓϦ͸೔༵23͔࣌Βஈ֊తϦϦʔε • ҿ৯ళͰͷར༻͕ଟ͍ͷͰɺ೔༵ਂ໷͔Β݄༵ޕલத͸ͪΐ ͬͱམͪண͍͍ͯΔ͜ͱ͕ଟ͍ • ฏ೔ϥϯνλΠϜ΍༵ۚ༦ํҎ߱ͷσϓϩΠ͸ආ͚Δ

Slide 30

Slide 30 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ • ઃܭͷೝࣝ߹Θͤ • ௐࠪ΍εύΠΫ͕ඞཁͳ΋ͷΛ֬ೝ • PBIͷTγϟπαΠζݟੵ΋Γ

Slide 31

Slide 31 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ ετʔϦʔͱ ௚઀ؔ܎ͳ͍͚Ͳʜ

Slide 32

Slide 32 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ • ओʹ։ൃνʔϜશମ΁޲͚ͯɺٕज़ωλڞ༗ձ • νʔϜશମͷ஌ࣝϨϕϧΞοϓ • ԶͷϥΠϒϥϦΛݟͯ͘Εɺͱ͔ • ΈΜͳͰνϡʔτϦΞϧ΍ͬͯΈΑ͏ɺͱ͔ • ΠϕϯτࢀՃใࠂɺͱ͔

Slide 33

Slide 33 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ • ۓٸ౓͕ͦ͜·Ͱߴ͘ͳ͍issueΛ౗͢೔ • Πϯγσϯτ༝དྷͷissue͸ͳΔ΂͘ૣ͘ରԠ ͍ͨ͠ • GitHub ProjectͰ؅ཧ

Slide 34

Slide 34 text

BugMashϓϩδΣΫτ • GitHub Projects issue࡞੒࣌ʹProjectsΛ௥Ճ ࢛൒ظ͝ͱͷClosed਺͕Θ͔Δ

Slide 35

Slide 35 text

σϞɾৼΓฦΓɾܭըͮ͘Γ 1 on 1 όάϚογϡσʔ POνΣοΫɾϦϦʔε४උ ϢϏςοΫ εϓϦϯτSUSHI ϓϩμΫτόοΫϩάɾϦϑΝΠϯϝϯτ • ී௨ʹ΍͍ͬͯ·͢ • ۙྡͷΧϑΣͰ΍Δ͜ͱ΋ ☕☺

Slide 36

Slide 36 text

೔ʑͷਐḿ֬ೝɾ૬ஊ͸ σΠϦʔελϯυΞοϓ

Slide 37

Slide 37 text

σΠϦʔελϯυΞοϓ • ֤νʔϜͰࡢ೔΍ͬͨ͜ͱɺࠓ೔΍Δ͜ͱɺࠔ͍ͬͯΔ͜ͱ Λڞ༗ • Πϯγσϯτͷঢ়گ • Ξφ΢ϯεʢۈଵ৘ใ΍प஌͍ͨ͜͠ͱʣ • ৼΓฦΓͷ࣌ͷͨΊʹʮࡢ೔͋ͬͨ͜ͱʯΛΧϨϯμʔʹ෇ ᝦͰష͓ͬͯ͘ • ଍Γͳ͍࿩͸2࣍ձ΁

Slide 38

Slide 38 text

͜͜·Ͱ͸ ܭը͍ͯ͠Δ

Slide 39

Slide 39 text

ΠϯγσϯτରԠ • ΧελϚʔαΫηενʔϜ͔ΒͷΤεΧϨ͕ඈΜͰ͘Δ • ʮΠϯγσϯτνϟϯωϧʯ͕࡞੒͞ΕΔͷͰͦ͜Ͱ ٞ࿦͢Δ • Ҏલ͸ि͝ͱʹ୲౰ΛܾΊ͍͚ͯͨͲɺࠓ͸ओͳ୲౰ ͕2ਓʢϦʔμʔͱࢲʣ • ख͕ۭ͍͍ͯΔਓ͕ௐࠪʹऔΓֻ͔Δ

Slide 40

Slide 40 text

Πϯγσϯτൃੜ ͓໰͍߹Θͤ౳ Basecamp TODO࡞੒ !ௐࠪ #inc_xxxxx !ରԠ !ใࠂʢ#BTFDBNQʣ ֬ೝ !ΠϯγσϯτϨϙʔτ !߃ٱରԠ͸JTTVFʹͯ͠όάϚογϡϓϩδΣΫτ΁ ͳʹ͔

Slide 41

Slide 41 text

Πϯγσϯτൃੜ ͓໰͍߹Θͤ౳ Basecamp TODO࡞੒ !ௐࠪ #inc_xxxxx !ରԠ !ใࠂʢ#BTFDBNQʣ ֬ೝ !ΠϯγσϯτϨϙʔτ !߃ٱରԠ͸JTTVFʹͯ͠όάϚογϡϓϩδΣΫτ΁ ͳʹ͔ • ʮΠϯγσϯτνϟϯωϧʯ͕࡞੒͞ΕΔͷ Ͱͦ͜Ͱٞ࿦͢ΔʢεϨουېࢭʣ • Ұ࣍ड͚୲౰͕͍Δ͚ΕͲɺ୭͕ௐࠪɾରԠ ͯ͠΋͍͍

Slide 42

Slide 42 text

Πϯγσϯτൃੜ ͓໰͍߹Θͤ౳ Basecamp TODO࡞੒ !ௐࠪ #inc_xxxxx !ରԠ !ใࠂʢ#BTFDBNQʣ ֬ೝ !ΠϯγσϯτϨϙʔτ !߃ٱରԠ͸JTTVFʹͯ͠όάϚογϡϓϩδΣΫτ΁ ͳʹ͔

Slide 43

Slide 43 text

Πϯγσϯτൃੜ ͓໰͍߹Θͤ౳ Basecamp TODO࡞੒ !ௐࠪ #inc_xxxxx !ରԠ !ใࠂʢ#BTFDBNQʣ ֬ೝ !ΠϯγσϯτϨϙʔτ !߃ٱରԠ͸JTTVFʹͯ͠όάϚογϡϓϩδΣΫτ΁ ͳʹ͔ • ໰୊ͷ֓ཁɺରԠͷ֓ཁɺࠓޙͷରԠɺͦͷ ଞॏཁͳ৘ใ • Ұ࣌ରԠ·ͰͰϨϙʔτ͸ऴྃ

Slide 44

Slide 44 text

ͦͷ΄͔

Slide 45

Slide 45 text

͋Εཉ͍͠ɺͦ͜ߦ͖͍ͨ • ٕज़ॻಡΈ͔ͨͬͨΒ • ΧϯϑΝϨϯεߦ͖͔ͨͬͨΒ • ׻ܴձ͔ͨͬͨ͠Β • େը໘ཉ͔ͬͨ͠Β ɿΓΜٞਃ੥ͷ͜ͱ

Slide 46

Slide 46 text

Slack • times_***ʢ෼ใʣ • reacjichanneler • ༷ʑͳझຯνϟϯωϧ

Slide 47

Slide 47 text

͜͜·Ͱ͸ ΍Γํͱ͔πʔϧͷ࿩

Slide 48

Slide 48 text

νʔϜࣗຫ͠·͢ʂʂ

Slide 49

Slide 49 text

ͳΜͰ͜Μͳʹ ؾ࣋ͪΑ͘ಇ͚ΔΜͩΖ͏

Slide 50

Slide 50 text

ී௨ͷߟ͑Λී௨ʹେ੾ʹ͢Δ • ୭͔͕ݏͳ͜ͱ͸ΈΜͳ͕ݏͳ͜ͱ • ୭͔͕΍Γ͍ͨ͜ͱ͸ΈΜͳ͕΍Γ͍ͨ͜ͱ • ΈΜͳͷੑ֨ɾಛٕͳͲύʔιφϦςΟΛଚ ॏ͍ͯ͠Δ

Slide 51

Slide 51 text

೔ৗ෩ܠ

Slide 52

Slide 52 text

͍͍ͱ͜Ζ • νʔϜશһͰ߹ҙ • ཧղͰ͖͍ͯͳ͍ਓ͕͍ͳ͘ͳΔ·Ͱ࿩͢ • ୭͕΍ͬͯ΋͍͍ • ୭͔͕΍Ε͹͍͍ͷͰ͸ͳ͘ɺ୭΋͕ཧղ͍ͯ͠Δ • νʔϜશһͰ੒ՌΛग़͢͜ͱΛେࣄʹ͍ͯ͠Δ

Slide 53

Slide 53 text

͍͍ͱ͜Ζ • ࣗ෼͕Ͱ͖Δͱ͜Ζʹૉૣ͘ίϛοτ • ΍Γ͍ͨʂͱ͍͏ͱ΍Βͤͯ͘ΕΔงғؾ • ͨ·ʹϑΥϩʔͷίϛοτ͕ੵ·ΕΔ

Slide 54

Slide 54 text

ΈΜͳͷ͍͍ͱ͜Ζ ಘҙͳ͜ͱΛҾ͖ग़ͯ͠ νʔϜશମͷύϫʔʹ ม͑Δ

Slide 55

Slide 55 text

ϓϨογϟʔʹײͨ͡Β • ग़དྷΔ͜ͱ͕ͳ͍͔΋ • ࣗ৴ͳ͍͔΋ • ͦΜͳ࣌͸ϖΞϓϩʢϞϒϓϩʣ • PRʹͳͬͨ΋ͷΛݟΔΑΓɺѹ౗తʹཧղͰ͖Δ • ஌ݟ΋ڞ༗Ͱ͖Δ

Slide 56

Slide 56 text

ؾΛ͚͍ͭͯΔ͜ͱ • νʔϜϝϯόʔ͕ݟ͑Δͱ͜ΖʹιʔεΛஔ͘ • νʔϜϝϯόʔ͕ݟ͑Δͱ͜ΖͰൃݴ͢Δ • ٙ໰ɺࢥͬͨ͜ͱΛ͙ͭ͢Ϳ΍͍ͯΈΔʢҧͬ ͨΒҧͬͨͰOKͷؾ࣋ͪʣ • ్தͰ͍͍͔Βڞ༗͢Δ

Slide 57

Slide 57 text

௕͗͢Δ

Slide 58

Slide 58 text

Α͋͘Δߦಈ • ࡞ۀܦաΛSlackͰ͜·Ίʹใࠂʢ#times_***, #inc_***ʣ • ݟ͍ͯΔϦϯΫઌɺΤϥʔϩάΛ͙͢షΔ • [WIP] Λ͚ͭͯ͜·Ίʹpush • ࠣࡉͳ͜ͱ΋஌ݟͱͯ͠Qiita teamʹ࢒͢ • ΈΜͳͷҙݟ͕ཉ͍͠ͱ͖͸issueΛͨͯΔ

Slide 59

Slide 59 text

ൃݴू • ʮ΋͔ͯ͠͠ʯʢͪΐͬͱͨ͠ؾ͖ͮ΍ٙ໰Λ͙͢ൃ͢Δʣ • ʮͪΐͬͱڭ͍͑ͯͩ͘͞ʯ • ʮ͜͏͍͏ҙຯͰ߹ͬͯ·͔͢ʁʯ • ʮͰ͸ɺ͓ئ͍͍͍ͯ͠Ͱ͔͢ʁʯ • ʮҰॹʹ΍ͬͯ΋Β͑·͔͢ʁʯ • ʮେৎ෉Ͱ͔͢ʁʯ

Slide 60

Slide 60 text

͍͢͝ϝϯόʔͱҰॹʹ ΋ͷͮ͘Γ͕Ͱָ͖͍ͯ͠

Slide 61

Slide 61 text

ऴΘΓʹ • ձࣾ΍νʔϜʹΑͬͯࣄ৘͸༷ʑ • ϢϏϨδͱ͍͏Ұྫͷ࿩ • ʮ͍͍ͳʯͱࢥ͏ͱ͜Ζ͸ࣗ෼ͷνʔϜʹ ϑΟοτ͢ΔΑ͏ʹΞϨϯδͯ͠ΈΔͱ͍͍ ͔΋

Slide 62

Slide 62 text

νʔϜ։ൃ ͍͢͝ʂ ָ͍͠ʂʂ νʔϜࣗຫ͠·͠ΐ͏ʂʂ