esaのWIPの話 2019 / wip-2019

esaのWIPの話 2019 / wip-2019

とちぎRuby会議08でお話させていただきました。
http://regional-gh.rubykaigi.org/tochigi08/
https://esa.io

Transcript

  1. esaͷWIPͷ࿩ 2019 by @ken_c_lo at esa LLC June 29, 2019

    ͱͪ͗Rubyձٞ 08 WIP
  2. !2 • ੺௩ ົࢠ • @ken_c_lo (@taea) • esa LLC

    • ૑ۀऀɾσβΠφʔ • ΤϯδχΞ2ਓ + σβΠφʔ1ਓ • ࠷ॳ͸झຯͰαʔϏεΛ࡞͍ͬͯͨ • 5೥લ͔Β๏ਓԽ
  3. https://esa.io

  4. • MarkdownͰॻ͚Δ৘ใڞ༗αʔϏε • Wikiతͳ࢖͍ํ͕Ͱ͖Δ esaΛ͝ଘ஌ͷํʁ ůŢ

  5. None
  6. esaͷWIPͷ࿩ 2019 by @ken_c_lo at esa LLC June 29, 2019

    ͱͪ͗Rubyձٞ 08 WIP
  7. WIP ͱ͸ʁ

  8. WIP ʹ Work in Progress ਐߦதɾ࡞ۀதɾॲཧதɾະ׬੒ ෆ׬શͰ͋Δ͜ͱΛप஌͢Δه߸ͱͯ͠࢖ΘΕΔ řŎŕŲƅ

  9. ͱΓ͋͑ͣɺڞ༗ ࡶʹڞ༗ ·ͩશ෦Ͱ͖ͯͳ͍͚Ͳڞ༗

  10. ͜Μͳײ͡ͷ͜ͱΛਐΊͯ͸͍Δ͚Ͳɺ ·ͩ׬੒͡Όͳͯ͘ɺ ͜Ε͔Β΋ͬͱྑ͘ͳΔΜͰ… [WIP] Λ͚ͭͯԿ͔Λڞ༗͢Δͱ͖ͷ͖΋ͪ • ͳͷͰݫ͗͢͠Δποίϛ͸·ͩצหͯ͠Ͷ • ͚Ͳɺؒ͘͢͝ҧͬͯͨΒڭ͑ͯͶ •

    ࠔͬͯͨΒॿ͚ͯͶ • ΍Δؾ͸͋ͬͯ͜Ε͔Β΍Δͭ΋ΓͰ͸͋ΔΜͩΑ • ͬ͘͟Γ͜͏͍͏͜ͱ΍ͬͯΔ͔ΒͳΜͱͳ͘஌ͬͯͯͶ • ͞Γؾͳ͘΄Ίͯ͘ΕͨΒ΍Δؾग़Δ͔΋ • ·ͣ͸ࣗ෼ͷϝϞతʹॻ͍ͯΔ͚ͩͳΜͩ …ׂͱɺݴ͍༁͕·͍͔͠΋͠Εͳ͍ʂ
  11. ͭ·ΓɺWIPͱ͸ ΤΫεΩϡʔζͷҰछ ʢݴ͍༁ɾหղɾݐલʣ Excuse me

  12. ਓ͸ɺ ݴ͍༁ɾݐલ͕ඞཁ • ஏ͔͍ͣ͜͠ͱ • ݴ͍ͮΒ͍͜ͱ • ͩ͘Βͳ͍͜ͱ • ෆ׬શͳ͜ͱ/ࣗ৴ͳ͍͜ͱ

    • ࣄ຿తͰͳ͍͜ͱ …ͳͲΛݴ͏࣌ʹ
  13. ͪͳΈʹ…ʮϙΤϜʯ΋ҰछͷΤΫεΩϡʔζ • pplog.net • ࠷৽ͷهࣄ͔͠ެ։Ͱ͖ ͳ͍ϒϩάͷΑ͏ͳ΋ͷ • ʮϙΤϜʯΛॻ͘৔ॴ • ϙΤϜ͔ͩΒ

    • Web্ʹ࢒Βͳ͍͔Β ݴ͍ʹ͍͘͜ͱɺஏͣ ͔͍͜͠ͱ΋ɺϙΤϜ ͳΒݴ͑Δοʂ
  14. ΤΫεΩϡʔζ΍ҙਤతͳ੍ݶΛ෇Ճ͠ɺ ࢓૊Έʹ͋ΔछͷʮϢϧ͞ʯΛ༩͑Δ͜ͱͰɺ ʮΏΔ͠ͷσβΠϯʯͱউखʹݺΜͰ͓Γ • ࠓ·Ͱݴ͑ͳ͔ͬͨ͜ͱ͕ݴ͑Δ • ॻ͚ͳ͔ͬͨਓ͕ॻ͚Δ • Ͱ͖ͳ͔ͬͨ͜ͱ͕Ͱ͖Δ ݸਓతʹڵຯΛ࣋ͬͯΔ

  15. WIP esa.ioͷWIPػೳʹ͍ͭͯ

  16. อଘϘλϯ͕ 2ͭʁʁ

  17. ࡞ۀதͷͱ͖͸ɺWIPͰอଘ ϒϩάͳͲͰ͍͏ͱ͜ΖͷԼॻ͖ʹ͋ͨΔײ͡ Լॻ͖ஈ֊͔Βଞਓʹݟ͑ΔΑ͏ʹͳͬͯΔ

  18. WIPͰอଘ͢Δͱɺ λΠτϧ͕άϨʔΞ΢τ • WIPͰߋ৽ͯ͠΋WebhookͰSlackͱ͔ʹ௨஌͕ඈ͹ͳ͍ • ߋ৽Ұཡʹ͸άϨʔΞ΢τͯ͠ग़ΔʢHomeը໘Ͱ͸ͳ͍ʣ • Կ౓΋ߋ৽͢Δ͜ͱ͕Ͱ͖Δʢ㵰+Sʣ • ΈΜͳʹੵۃతʹ஌Βͤ͸͠ͳ͍͚Ͳɺڵຯ͋Δਓ͸Θ͟Θ͟ݟʹདྷΕ

    ͹ݟΔ͜ͱ͕Ͱ͖Δঢ়ଶ
  19. ͍͍ͩͨͰ͖ͨΒɺShip It!

  20. Ship It! ͢Δͱ Webhook ͷ௨஌͕ඈͿ ƻ ΈΜͳ͕ݟʹདྷΔ

  21. Almost done? ≠ Done! ʮ͍͍ͩͨͰ͖ͨʯ͕ϙΠϯτ • ׬੒౓ 70 - 80%͘Β͍ͱ͔Ͱ͍͍ͷ͔΋ʁ

    • ·ͱ·͖͔ͬͯͨΒҰ୴प஌͍ͨ͠ͳʔͱࢥͬͨλΠϛϯάͰShip it • ΋ͬͱϒϥογϡΞοϓ͍ͨ͠ͳʔͱࢥͬͨλΠϛϯάͰɺWIPʹ໭ ͢͜ͱ΋Ͱ͖Δʢ݁ߏΑ͘΍Δʣ
  22. WIP Ͱ೔ใΛॻ͍ͯΈΔ Case Study

  23. ग़ࣾͨ͠Β…WIPͰ೔ใΛॻ͘ śŰżŖ લ೔ͷ೔ใΛίϐʔͯ͠ฤू ೔෇ͬΆ͍਺ࣈ͕λΠτϧʹೖͬͯΔهࣄΛί ϐʔ͢Δͱɺউखʹࠓ೔ͷ೔෇ʹͯ͘͠ΕΔ TODOϦετΛॻ͘ w <>ˠ<Y>ͰνΣοΫϘοΫεॻ͚Δ w ࠓ೔΍Δ༧ఆͷ͜ͱ͕ࣗ෼Ͱ΋၆ᛌͰ͖Δ

    w Ϧετʹॻ͍͓ͯ͘ͱɺ๨ΕͯΔΘ͚͡Όͳ͘ ͯɺ΍Δͭ΋Γ͸͋ΔΜͩͳͬͯ͜ͱ΋఻ΘΔ
  24. ࢓ࣄத… ೔ใΛԿ౓΋ߋ৽ ŹŞŹŞʜ λεΫΛ͜ͳͨ͢ͼɺ೔ใΛߋ৽ w 50%0ϦετʹνΣοΫΛೖΕΔ w ෇ਵ͢Δղઆ΍උ๨࿥ɺϋϚͬͨͱ͜Ζ΍ݒ೦ɺ ͦͷ࣌ͷؾ࣋ͪͳͲ΋௥ه͠ͱ͘ͱศར w

    ಥൃతͳλεΫ΋௥Ճͯ͠ߋ৽ w ೔ͷऴΘΓʹʮࠓ೔Կ΍͚ͬͨͬʜʯͬͯͳΒ ͣʹࡁΉ
  25. ୀࣾ࣌ʹ…೔ใΛShip It! śŨŜƀŖ SlackͳͲʹ௨஌͕ඈΜͰɺΈΜͳ͕ݟʹདྷΔ ࠓ೔ͷॴײ΍૯ׅΛॻ͍ͯɺShip It!

  26. ͦͷଞͷ೔ใTIPS • ೔ใλΠτϧʹࠓ೔΍ͬͨ͜ͱ΍ɺࠓ೔ͷؾ࣋ ͪΛॻ͘ਓ΋͍Δ • ࠓ೔ͷϥϯν΍ɺࠓ೔ͷςʔϚۂΛॻ͘ਓ΋ • ͋ͱͰͲΜͳ೔͔ͩͬͨࢥ͍ग़ͤͯศར • ୀࣾ࣌ʹ໌೔ͷ೔ใΛWIPͰॻ͍͓ͯ͘έʔε

    ΋͋Δ • ໌೔ͷݟ௨ཱ͕ͯ͠ΒΕͯศར • ேձͳͲͰɺࡢ೔ͱࠓ೔ͷ೔ใΛڞ༗ͯ͠ɺͦ ΕΛݟͳ͕Β৘ใڞ༗΍૬ஊΛͨ͠Γ΋͢Δ • ʮॴײʯίʔφʔʢϑϦʔςΩετͷ෦෼ʣͰ ࣌ં੝Γ্͕ͬͨΓ͢Δ
  27. WIPͰ೔ใΛॻ͘ͱ… ŬŕŴƅŖ ேɺࣗ෼ͷͨΊʹॻ͍ͨTODOϦετ͕ɺ
 ؼΔͱ͖ʹ͸ΈΜͳʹڞ༗Ͱ͖Δ೔ใʹʂ w ʮใࠂɾڞ༗ͷͨΊͷυΩϡϝϯτʯΛॻ͔ͳͯ͘ྑ͘ͳΔΜͰ͢Ͷ w ಉ͡Α͏ͳײ͡ͰɺʮΞδΣϯμʯ͕ձٞऴΘΔࠒʹʮٞࣄ࿥ʯʹͳͬͨΓ͠·͢

  28. WIP ೔ใ͚ͩ͡Όͳ͍ɺ͍ΖΜͳΑ͍͜ͱ

  29. Case 1: WIPͰॻ͘ͱɺணख͠΍͍͢ • ࣄલʹෆ࣮֬ͳཁૉͷଟ͍࢓ࣄ΄ͲɺखΛ͚ͭΔͷ͕ԯ߷ʢεϥΠυͱ͔΋ʂʣ • WIPͳΒ࠷ॳͷҰา͕౿Έग़͠΍͍͢ • ࠷ॳ͸λΠτϧͷΈɺࢥ͍͖ͭΛՕ৚ॻ͖ʹ͢Δ͚ͩͰ΋Α͍ •

    ࠷ॳʹࡶʹWIPͰͬ͘͟Γॻ͍ͯڞ༗͢ΔͱɺपғͷϑΟʔυόοΫΛड͚ͳ͕ ΒɺঃʑʹυΩϡϝϯτ΍ΞΠσΞΛྑ͍ͯ͘͘͜͠ͱ͕Ͱ͖Δ • ్தͰୈࡾऀͷϦΞΫγϣϯΛ΋Β͑ΔͱɺϞνϕʔγϣϯ΋্͕Δ Ұؾʹ׬੒౓͕ߴ͍΋ͷΛॻ͘ͷ͸ ϋʔυϧߴ͍͚ͲɺWIPͩͱղ૾౓͕ ௿͍ঢ়ଶ͔Βॻ͖ग़͠΍͍͢ɻ
  30. Case 2: WIPͰެ։͢ΔͱɺपΓͷཧղΛಘ΍͍͢ • ʮͳΔ΄Ͳɺ͜͏͍͏ϓϩδΣΫτ͕ࠓ౓ಈ͘༧ఆͳͷ͔ʯͱ͍͏प஌͕Ͱ͖Δ • ΍ΔΑʂ΍Ζ͏Αʂ ΛपғʹॊΒ͔͘Ξϐʔϧ → पΓ΋৺ͷ४උ͕Ͱ͖Δ

    • اը͕ॊΒ͔͍͏͔ͪΒΈΜͳ͕౰ࣄऀʹͳΕΔ༨஍͕Ͱ͖Δ • ݻ·͔ͬͯΒݴ͏ͱˠʮ΋ͬͱૣ͘ݴͬͯ͘ΕΕ͹…ʯʮͦΜͳٸʹݴΘΕͯ ΋ࠔΔ…ʯ ࢀߟʣϝυϨʔ͞ΜͷΠϯλϏϡʔ : https://docs.esa.io/posts/153 اը্ཱ͕͕ͪͬͨͱ͖ʹɺৄࡉ͕ܾ ·ͬͯͳͯ͘΋ɺ·ͣ͸λΠτϧ͚ͩ ͷWIPͷυΩϡϝϯτΛ࡞͓ͬͯ͘ɻ
  31. • WIPͱॻ͍ͯ͋Δͱɺॻ͖खͷߟ͑Λ಄͔Β൱ఆ͠ͳ͘ͳΔ • ͜Ε͔Βࡉ͔͍ͱ͜ΖΛྑ͍ͯͭ͘͘͠΋ΓͳͷͩΖ͏ɺͱ͍͏͜ͱ Λલఏʹ઀͢Δ͜ͱ͕Ͱ͖Δ • ʮ·ͩॻ͍ͯͳ͍͚͔ͩ΋͠Εͳ͍͚Ͳɺ͕̋̋଍Γͯͳ͍͔΋ʙʯ ˠ ࢦఠ΋ࣗવʹؾΛ࢖ͬͨײ͡ʹͳΔ •

    ੠͕େ͖͍ਓɾϋʔτ͕ڧ͍ਓҎ֎΋ൃ৴͠΍͘͢ͳΔ ☺ Case 3: WIPͩͱɺಡΈख͕༏͘͠ͳΕΔ ͪΐͬͱπϝ͕؁͍ΞΠσΞ͚ͩͲɺ
 ·͋WIP͔ͩΒ͋Μ·ΓποίϛΛೖ ΕΔͷ΋ͳ͊…
  32. WIP WIP͸ਓͷͨΊͳΒͣ

  33. • ϩʔΧϧͷςΩετΤσΟλ • ݸਓ༻ͷEvernote • ࣗ෼Ѽͯͷϝʔϧ ࣗ෼ͷͨΊʹॻ͘ʮυΩϡϝϯτʯ උ๨࿥ɾϝϞɾTODOϦετɾاըΞΠσΞɾઃܭΞΠσΞ ༩݅ͷ੔ཧɾվળҊɾ೔ࠒࢥ͍ͬͯΔ͜ͱɾ ॻ్͖தͷ΋Ζ΋Ζ…

    ྫ͑͹͜Μͳͱ͜Ζʹ
  34. ࣗ෼ͷϩʔΧϧ (͋Δ͍͸೴಺) ʹ͋Δ ࣗ෼ͷͨΊͷ΋ͷΛɺ
 ૣ͍ஈ֊ͰνʔϜϝΠτʹݟ͑Δ৔ॴʹɻ ͦΕΛ΍Γ΍͘͢͢Δ࢓૊Έ͕WIP ΈΜͳॻ͍ͯͳ͍Θ͚͡Όͳ͍ɻ ਓʹݟͤͯͳ͍͚ͩͳΜͩʂ

  35. ࣗ෼ͷͨΊʹ΍ͬͨ͜ͱ͕ɺ ୭͔ͷͨΊʹͳΔ͜ͱ͕͋Δ ࣗ෼ͷͨΊʹॻ͍ͨTODOϦετ͕ؼΔͱ͖ʹ͸೔ใʹͳͬͯΔʂ ʢͳΒͳ͍͜ͱ΋͋Δʣ

  36. ࣗ෼ͷͨΊʹ΍ͬͨ͜ͱ͕ɺ ୭͔ͷͨΊʹͳΔ • OSSͷϓϩδΣΫτɺݸਓ։ൃ • ϒϩά΍࡞඼ͷΞ΢τϓοτɺಉਓ׆ಈͱ͔΋ʁ • WebαʔϏεͷυοάϑʔσΟϯάͱ͔΋ • esa͕ࣾେ੾ʹ͍ͯ͠Δߦಈࢦ਑ͷͻͱͭ

    • ʮࣗ෼ͨͪࣗ਎͕ཉ͍͠΋ͷɾ࢖͏΋ͷΛͭ͘Δʯ • αʔϏε΋άοζ΋ࣗ෼͕ͨͪཉͯ͘͠࡞ͬͯΔ ʬ͜ͷݪཧͰճ͍ͬͯͦ͏ͳ΋ͷͨͪʭ
  37. ࣗ෼ͷͨΊʹ΍ͬͨ͜ͱ͕ɺ ୭͔ͷͨΊʹͳΔ ߦҝͦͷ΋ͷ͕ใुͰ͋Δঢ়ଶ Ϟνϕʔγϣϯ͕ߴ͍ ͦΕͧΕ͕ࣗ཯తʹಈ͚ΔνʔϜ

  38. ࣗ཯తͳνʔϜ = Α͍νʔϜ …ͩͱesa͸ߟ͑ͯΔ

  39. WIP ·ͱΊ: શ͕ͯWIPʹͳΔ

  40. ͜Ε͸FIXͰ͔͢ʁ ֬ఆࣄ߲Ͱ͔͢ʁ ݱ৔ͰΑ͋͘Δ࣭໰

  41. ͔֬ʹ࢓ࣄΛ͢Δ্Ͱɺ ʮ͜ΕͰ֬ఆ(FIX)ʯ͸ݐલ্ඞཁɻ ͳ͍ͱ্ख͘ճΒͳ͍ɻ ͚ΕͲຊདྷɺ શͯͷ΋ͷ͝ͱ͸ෆ׬શͰɺ ൃల్্Ͱɺ Ͳͷ࣌఺͔ΒͰ΋มΘ͍͚ͬͯΔ͠ɺ ΋ͬͱྑ͘͢Δ͜ͱ͕ Ͱ͖ΔͷͰ͸ͳ͍͔ʁ

  42. WIP ͜Ε͔Β΋ͬͱ΋ͬͱྑ͘ͳΔՄೳੑ͕ ͋Δͱ͍͏͜ͱ ͋Εʁ࣮͸ੈͷதͷ৭Μͳ΋ͷɺ͍͍ͩͨ8*1ʹͰ͖ΔͷͰ͸ʁ

  43. શ͕ͯWIPͱͯ͠ ίϛϡχέʔγϣϯͰ͖ΔΑ͏ʹͳΔͱɺ ΑΓࣗ཯తͰ͍͖͍͖ͱͨ͠ Α͍΋ͷ͕࡞ΕΔνʔϜʹͳΕΔͷ͔΋

  44. Everything is in Progress Thank you (\( ⁰⊖⁰)/)