Slide 1

Slide 1 text

2018.03.25 ϦϞʔτͳνʔϜ։ൃ Rails Developers Meetup 2018 Ryunosuke Sato(@tricknotes)

Slide 2

Slide 2 text

@tricknotes ✤ ྲྀ͠ͷ web ܥϓϩάϥϚ ✤ Rails Ͱ͓࢓ࣄͯ͠·͢ɻ ✤ JavaScript ΋ͪΐͬͱॻ͖·͢

Slide 3

Slide 3 text

2018.03.25 Rails Developers Meetup 2018 ϦϞʔτͳνʔϜ։ൃ Ryunosuke Sato(@tricknotes)

Slide 4

Slide 4 text

✤ ͜͜਺೥ͰɺϦϞʔτϫʔΫͷࣄྫΛΑ͘ ฉ͘Α͏ʹͳ͖ͬͯͨ ✤ ͍Ζ͍ΖͳɺΑ͞ɾ޻෉ɾ೉͠͞ ✤ ͨͩͦ͠ΕΒ͸ɺͦͷͻͱɾͦͷνʔϜͷ ࿩ ✤ ·ͨɺʮϦϞʔτϫʔΫʯͰΠϝʔδ͢Δ ಇ͖ํ͕ͻͱʹΑͬͯҧ͍ͬͯͦ͏ લஔ͖

Slide 5

Slide 5 text

ࢲʹ͍ͭͯ ✤ ڌ఺͸ࡳຈ ✤ ଟ͘ͷνʔϜʹϦϞʔτͰࢀՃ͖ͯͨ͠ ✤ 7೥͘Β͍ ✤ ؔΘΓํ΋νʔϜͷঢ়گ΋৭ʑ ✤ ্ख͍ͬͨ͘Γ͍͔ͳ͔ͬͨΓ

Slide 6

Slide 6 text

✤ νʔϜ։ൃͱͯ͠ͷϦϞʔτϫʔΫ ✤ ೉͠͞ʹ͍ͭͯͪΐͬͱߟ͑ͯΈΔ ✤ ࣗ෼ͷελϯε ✤ ࣗ෼ͷ͍··Ͱͷ͍͔ͭ͘ͷମݧஊ ࠓ೔࿩͢͜ͱ

Slide 7

Slide 7 text

ର৅ऀ ✤ ͜Ε͔ΒϦϞʔτϫʔΫΛ࢝Ί͍ͨνʔϜ ✤ ͍·ϦϞʔτϫʔΫΛ΍͍ͬͯΔ͚Ͳ্ख ͍ͬͯ͘ͳ͍ͻͱ ͳʹ͔ͷώϯτʹͳΕ͹ʂ

Slide 8

Slide 8 text

νʔϜ։ൃͱͯ͠ͷ ϦϞʔτϫʔΫ

Slide 9

Slide 9 text

“ձ͔ࣾΒ཭ΕͨʢϦϞʔτʣ৔ॴͰ ۀ຿Λ਱ߦ͢Δۈ຿ܗଶ” – https://jinjibu.jp/keyword/detl/766/ ͦ΋ͦ΋ϦϞʔτϫʔΫͬͯʁ

Slide 10

Slide 10 text

✤ ͨͩԕִ஍Ͱಇ͘͜ͱɺҎ্ͷҙຯ͸ͳ͍ ͦ΋ͦ΋ϦϞʔτϫʔΫͬͯʁ

Slide 11

Slide 11 text

✤ ཭ΕΔϞνϕʔγϣϯ͸·ͪ·ͪ ✤ ཭Εํ΋·ͪ·ͪ ͦ΋ͦ΋ϦϞʔτϫʔΫͬͯʁ

Slide 12

Slide 12 text

ϦϞʔτϫʔΫͷϞνϕʔγϣϯ ✤ ܦӦऀ ✤ ޏ༻ػձͷ֦େ ✤ ΦϑΟεΛͳͯ͘͠ܦඅ࡟ݮ ✤ νʔϜ ✤ ಇ͖΍͢͞ ✤ ϝϯόʔ ✤ ϫʔΫϥΠϑόϥϯε ✤ Ո଒

Slide 13

Slide 13 text

ϦϞʔτϫʔΫͷ཭Εํ ✤ िҰճɺ޷͖ͳ৔ॴͰಇ͘ ✤ ޷͖ͳ৔ॴ͔Β޷͖ͳ࣌ؒʹಇ͘ ✤ Ֆค঱ͷ࣌ظ͚ͩผͷ஍ҬͰಇ͘ ✤ … Α͘ฉ͘ϦϞʔτϫʔΫͷྫ

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

ϦϞʔτͷม਺ ʮ೉͍͠ʂʯͱײͨ͡Βɺ೉͠͞Λ͍͔ͭ͘ ͷม਺ʹ෼ղͯͦ͠ΕͧΕʹ͍ͭͯௐ੔Ͱ͖ Δ͔ࢼͯ͠ΈΔ

Slide 20

Slide 20 text

ϦϞʔτͷม਺ ✤ ෺ཧ ✤ ΦϑϥΠϯͷස౓Λ૿΍͢ ✤ ࣌ؒଳ ✤ ίΞλΠϜΛἧ͑Δ ✤ ίϛϡχέʔγϣϯํ๏ ✤ ΍ιϑτ΢ΣΞͰղܾͰ͖Δʁ͖͋ΒΊΔ…ʁ ΦϑϥΠϯʹ͍ۙঢ়ଶʹͳͬͨΒͲ͏ͳΔʁ

Slide 21

Slide 21 text

✤ ϦϞʔτ͸νʔϜ։ൃʹ͓͍ͯίϛϡχέʔ γϣϯʹ੍໿Λ՝͢ ✤ ͜Ε͸ؒҧ͍ͳ͍ ✤ Ͱ͸Ͳ͏νʔϜͰड͚ೖΕΔ͔ʁ ੍໿ࣄ߲

Slide 22

Slide 22 text

ͻͱͷࣄ৘ ✤ ࣄ৘͸ͻͱͦΕͧΕ ✤ ʮৗ࣌઀ଓʯ͕೉͍͠৔߹ ✤ ίΞλΠϜ͕߹Θͳ͍৔߹ ✤ ϜϦΛ͠ͳ͍ ✤ ϜϦ͢Δͱিಥ͕ى͜Γ͕ͪ

Slide 23

Slide 23 text

ෛͷϑΥʔε ✤ ಉظස౓ΛԼ͛ΔͱɺͩΜͩΜࠩ෼͕େ͖ ͘ͳΔ ✤ શһ͕ผεϨου ✤ దٓϚʔδ͢Δ ✤ λΠϜϥάʹΑΔෆ৴ײ ✤ ͢Εҧ͍

Slide 24

Slide 24 text

ෛͷΥʔε ✤ ෛͷϑΥʔε͕ՃΘΔͱɺͳ͓͞Βಉظ͠ ͨ͘ͳ͍ɾ΋͘͠͸ϜϦϠϦಉظ͍ͤͨ͞ ϑΥʔε͕ಇ͘ ✤ ఆظΠϕϯτΛڬΉͷ͕Φεεϝ ✤ ೔࣍ɾि࣍ɾ݄࣍̋̋̋

Slide 25

Slide 25 text

͍ͨͤͭͳ͜ͱ ✤ ΋΍ͬͱͨ͠Β૬खͷ౎߹Λฉ͍ͯΈΑ͏ ✤ ձ࿩͢ΔλΠϛϯάΛܾΊ͓ͯ͘ͷ͕؆ ୯ ✤ ΍ΓํʹϑΥʔΧε͠ͳ͍ ✤ ্ख͘Ͱ͖ͳ͍ࣗ෼ͨͪʹओ؟Λஔ͍ͯ ͠·͍͕ͪ ✤ ୭ʹͱͬͯͷ “ϕετϓϥΫςΟε” ʁ

Slide 26

Slide 26 text

ࣗ෼ͷελϯε

Slide 27

Slide 27 text

@tricknotes ͷ੍໿ࣄ߲ ✤ ຊڌ஍͕ࡳຈ ✤ ෺ཧత੍໿ ✤ (͚ͲɺΦϑϥΠϯͷํ͕޷͖) ✤ ͍͔ͭ͘࢓ࣄΛֻ͚͍࣋ͪͯ͠Δ ✤ ύʔτλΠϚʔ ✤ ࣌ؒత੍໿

Slide 28

Slide 28 text

·ͣ͸ɺҰ൪͍͍΍ͭΛߟ͑Δ ✤ શһϑϧλΠϜ ✤ ׂΓࠐΈ͠์୊ɾ͞Ε์୊ ✤ ఆظతʹಉظ͢Δ(ேձɾ༦ձ) ͍͍΍ͭ = Θ͕ͨ͠νʔϜʹߩݙͰ͖ͦ͏ͳํ๏

Slide 29

Slide 29 text

Ҿ͖ࢉͰߟ͑Δ ✤ શһϑϧλΠϜ ✤ →ͳΔ΂͘ίΞλΠϜΛͦΖ͑Δ ✤ ׂΓࠐΈ͠์୊ɾ͞Ε์୊ ✤ →νϟοτͷϨεϙϯεΛ࠷༏ઌ ✤ →ϏσΦνϟοτৗ࣌઀ଓ ✤ ఆظతʹಉظ͢Δ(ேձɾ༦ձ) ✤ →΍Δ

Slide 30

Slide 30 text

✤ ϦϞʔτͷม਺ΛۃྗݮΒ͢ ✤ ͨͩ͠ແཧڧ͍͸͠ͳ͍ ✤ ૬खͷ౎߹ɺ৔ͷ౎߹ ✤ Ή͠Ζݱ஍ʹԡ͔͚͠Δ ✤ ʮͨͩͦͷ৔ʹ͍ͳ͍͚ͩʯΛ໨ࢦ͢

Slide 31

Slide 31 text

Ҿ͖ࢉ͗͢͠ͳ͍Α͏ʹ ✤ ΈΜͳ౳͘͠ϦϞʔτͰ͋ΔͨΊʹ… ✤ ΦϑϥΠϯͰձ࿩͠ͳ͍ ✤ ΦϑϥΠϯͰ࿩ͨ͜͠ͱΛ࠶ݱ͢Δ ✤ ৘ใ఻ୡͷͨΊʹ… ✤ ࿩ͨ͜͠ͱΛ”ڞ༗"͢Δ ✤ ࢥͬͨλΠϛϯάͰձ࿩Λ࢝ΊΔ

Slide 32

Slide 32 text

✤ ϦϞʔτ͕ݪҼͰ͸ࣦഊͨ͜͠ͱ͸ͳ͍ ✤ ࣦഊ͢Δͱ͖͸ผͷ໰୊͕͋Δ ✤ ϦϞʔτ͕ݪҼͰ·͕֦ͣ͞େ͢Δ͜ͱ͸ ͋Δ͔΋͠Εͳ͍ ✤ Ή͠Ζɺௐ੔͢Δػձͳ͍͚͔ͩ΋… ✤ ͋ͳͨͷ”Ұ൪͍͍΍ͭ”͸ʁ

Slide 33

Slide 33 text

͍͔ͭ͘ͷ࣮ྫ

Slide 34

Slide 34 text

έʔε1 νʔϜͷલఏ ✤ ϑϥοτͳνʔϜ ✤ Ո͔ΒͰͨ͘ͳ͍Ͱ͟͝Δ ✤ Ոఉͷ౎߹ ✤ PO ͱ͸ΦϑϥΠϯͰिҰճϛʔςΟϯά ✤ ಇ࣌ؒ͘͸֤ࣗ΍Γ΍͍࣌ؒ͢Ͱ

Slide 35

Slide 35 text

έʔε1 ՝୊ͱߦಈ ✤ ૬ஊ͕ϦΞϧλΠϜʹߦ͑ͳ͍ ✤ →ேձͱ༦ձͷ͚࣌ؒͩݻఆ ✤ ͍·ͲΕΛͲ͏͍͏ํ਑Ͱ΍ͬͯΔΜ͚ͩͬʁ ✤ →िҰճͷ PO ͱͷϛʔςΟϯάޙɺΦϑϥ ΠϯͰܭըήʔϜ ✤ ࡉ͔͍޻෉Λߟ͑ΔΑΓ͸ɺ࣌ؒΛܾΊͯձ࿩ ͢Δ͜ͱͰ͍͍ͩͨղܾͨ͠

Slide 36

Slide 36 text

έʔε2 νʔϜͷલఏ ✤ ΋ͱ΋ͱΦϑϥΠϯͷνʔϜ ✤ ͋Δ೔ಥવࢀՃ ✤ εςʔΫϗϧμʔ͕ଟ͘ɺྲྀΕ͕ૣ͍ ✤ ಓ۩ཱͯ͸ΦϑϥΠϯ͕த৺ ✤ ϗϫΠτϘʔυ ✤ ෺ཧΧϯόϯ ✤ ேձɾ༦ձ

Slide 37

Slide 37 text

έʔε2 ՝୊ͱߦಈ ✤ ෺ཧͷಓ۩ཱͯ܈ ✤ ͜Ε͸͜Εͷྑ͕͋͞Δ ✤ →ఆظతʹϗϫΠτϘʔυͷεΫγϣΛૹͬͯ΋Β͏ ✤ →ேձɾ༦ձ͸ελϯσΟϯά ✤ Χϯόϯ͸ΦϯϥΠϯʹ͠ͳ͔ͬͨ ✤ νʔϜͱͯ͠ɺͦͷ΄͏͕Χϯόϯ͕׆͖͍ͯΔײ͕͋ͬ͡ ͨ ✤ ྲྀΕ͕ૣ͍ͷͰɺີʹίϛϡχέʔγϣϯͱΓ͍ͨ ✤ →ϏσΦνϟοτͰৗ࣌઀ଓ

Slide 38

Slide 38 text

έʔε3 νʔϜͷલఏ ✤ ͪ͜Β͕ଟ਺ͷϦϞʔτ ✤ ΋ͱ΋ͱΦϑϥΠϯͰͷ։ൃΛܦݧ͍ͯ͠ ͨ ✤ ৗ࣌ϏσΦνϟοτ઀ଓɺ͙͢ʹ੠͕ಧ ͘ঢ়ଶΛҡ࣋

Slide 39

Slide 39 text

έʔε3 ՝୊ͱߦಈ ✤ ίϛϡχέʔγϣϯͷີ౓Λۉ౳ʹอͭ ✤ →ΦϑϥΠϯͰ͸࢓ࣄͷձ࿩Λ΄΅ःஅ ✤ →શମతʹ্ख͍͔͘ͳ͍… ✤ શһۉ౳ʹϦϞʔτ΋ࢼͯ͠Έͨ ✤ →શһۉ౳ʹෆศͳঢ়گʹ…

Slide 40

Slide 40 text

ͦͷଞͷνʔϜͰͷΤϐιʔυ ✤ ΦϑϥΠϯ/ΦϑϥΠϯͷνʔϜͷதܧ໾ ✤ ৗ࣌઀ଓ͚ͩͲ୭΋͍ͳ͍… ✤ ผͷνʔϜ͔Β૽͕͍͠ͱౖΒΕͨΓ… ✤ …

Slide 41

Slide 41 text

✤ ʮ͍͍ϦϞʔτϫʔΫͷܗʯ͸ɺνʔϜʹ Αͬͯຖճҧͬͨ ✤ ΍ΓํΛݟ͚͍ͭͯ͘ͷ͸ָͰ͸ͳ͍ ✤ ͨͩ͠ɺϦϞʔτͰͳ͍ͱҰॹʹ͸࢓ࣄ͕ Ͱ͖ͳ͔ͬͨͻͱͨͪɾ࡞Εͳ͔ͬͨϓϩ μΫτ͕͋Δ

Slide 42

Slide 42 text

·ͱΊ

Slide 43

Slide 43 text

·ͱΊ ✤ ϦϞʔτ͸౓߹͍ ✤ “͍͍ܗ”͸νʔϜʹΑΓ͚Γ ✤ ΍Γ΍͍͢ܗΛৗʹߟ͍͖͑ͯ·͠ΐ͏