サービスがゼロからN億円規模になるまに実践した7つのやっていき / 7_yatteiki_battle_conference_u30_2019

サービスがゼロからN億円規模になるまに実践した7つのやっていき / 7_yatteiki_battle_conference_u30_2019

A79762150f8a3c6015ec11c4f494a371?s=128

kikunantoka

July 06, 2019
Tweet

Transcript

  1. αʔϏε͕θϩ͔ΒNԯԁن໛ʹͳΔ·Ͱʹ ࣮ફͨ͠7ͭͷ΍͍͖ͬͯ BATTLE CONFERENCE UNDER30 #2019 on 2019/07/06 @kikunantoka

  2. ࣗݾ঺հ about: name: Fumitaka Kikukawa work_at: giftee Inc. job: engineer

    twitter: @kikunantoka age: 28 // ೖࣾͯ͠3೥ऑ // ΪϦΪϦU30
  3. ݸਓ։ൃ https://nakamy.com

  4. ϘʔυήʔϜ੍࡞ https://tapir-studio.com

  5. αʔϏε͕θϩ͔ΒNԯԁن໛ʹͳΔ·Ͱʹ ࣮ફͨ͠7ͭͷ΍͍͖ͬͯ BATTLE CONFERENCE UNDER30 #2019 on 2019/07/06 @kikunantoka \

    ͲΜͳαʔϏεΛ։ൃ͍ͯ͠Δͷ͔Λ࿩͠·͢ /
  6. • ೔ࠒͷʮখ͞ͳ͋Γ͕ͱ͏ʯͷؾ࣋ͪʹఴ͑ͯɺΪϑτΛଃΕΔαʔϏε • ड͚औͬͨΪϑτ͸ձһొ࿥ͳ͠Ͱ͓ళͰ঎඼ͱަ׵͕Ͱ͖Δ To C

  7. • Ϊϑτ͸ϢχʔΫͳURLͳͷͰɺීஈͷLINEͳͲʹ؆୯ʹఴ͑Δ͜ͱ͕Ͱ͖Δ To C https://giftee.co/r/------

  8. • ΪϑτͰਓͱਓΛͭͳ͙αʔϏε To C

  9. • ΪϑτͰਓͱاۀ΋ͭͳ͍Ͱ͍Δ To B

  10. • ΪϑτͷURLΛೲ඼ͯ͠ΪϑτΛΩϟϯϖʔϯʹ׆༻ͯ͠΋Β͏Ϗδωε To B https://giftee.co/r/------ https://giftee.co/r/------ https://giftee.co/r/------ https://giftee.co/r/------ https://giftee.co/r/------ https://giftee.co/r/------

    https://giftee.co/r/------
  11. • ΪϑτͷURLΛೲ඼ͯ͠ΪϑτΛΩϟϯϖʔϯʹ׆༻ͯ͠΋Β͏Ϗδωε To B

  12. • தʹ͸ɺΪϑτΛ্ख͘׆༻͢Δखஈ͕ͳ͍ΫϥΠΞϯτ΋ ΪϑτΛଃΔखஈ͕ͳ͍ To B

  13. ᶃ ϑΥϩʔ&ϦπΠʔτ ᶄ Twitterೝূ ᶅ ͦͷ৔Ͱநબ ᶆ Ϊϑτ͕΋Β͑Δ • Πϯελϯτ΢ΟϯΩϟϯϖʔϯΛؾܰʹ࣮ࢪ͢ΔͨΊͷϓϥοτϑΥʔϜΛ։ൃ

    To B
  14. HJGUFFΠϯελϯτ΢ΟϯGPS5XJUUFSͷڧΈᶃ நબ͔Βܠ඼ͷఏڙ·ͰҰؾ௨؏Ͱ͝ఏڙ நબγεςϜ ʢΠϯελϯτ΢Οϯʣ σδλϧΪϑτͷఏڙ ʢछྨҎ্ͷܠ඼ʣ ϦΞϧλΠϜʹநબɺ ͦͷ৔Ͱܠ඼Λ෇༩ aࣾ಺Ͱ($1ͱུ͞Εͩ͢ʜ

  15. Πϯϑϥ aࣾ಺Ͱ($1ͱུ͞Εͩ͢ʜ ݴޠ ϑϨʔϜϫʔΫ Λࢧ͑Δٕज़

  16. αʔϏε͕θϩ͔ΒNԯԁن໛ʹͳΔ·Ͱʹ ࣮ફͨ͠7ͭͷ΍͍͖ͬͯ BATTLE CONFERENCE UNDER30 #2019 on 2019/07/06 @kikunantoka /

    ͲΜͳ͜ͱΛҙࣝ͠ͳ͕Β։ൃ͖͔ͯͨ͠Λ࿩͠·͢ \
  17. ϓϥοτϑΥʔϜΛ࡞͍ͬͯ͘ 1

  18. ϓϥοτϑΥʔϜΛ࡞͍ͬͯ͘ • B޲͚αʔϏεͩͱडୗ։ൃʹͳΓ͕ͪ • GCP͸͋ΔΫϥΠΞϯτ͔ΒʮTwitterͷΩϟϯϖʔϯΛ΍Γ͍ͨʯͱ૬ஊ͞Εͨ͜ ͱ͔Β࢝·ͬͨ • ೲظ͕ഭ͍͕ͬͯͨɺฐࣾͷ༏लͳBizνʔϜͳΒଞʹ΋ͲΜͲΜҊ݅Λऔͬͯ͘Δ ͱࢥͬͨͷͰɺ൚༻తͳϓϥοτϑΥʔϜͱͯ͠։ൃΛ࢝Ίͨ •

    ػೳ௥Ճʹ͓͍ͯ΋ͦͷػೳ͕ଞͷΫϥΠΞϯτ΋ඞཁͱ͍ͯ͠Δ͔ΛݟۃΊΔ
  19. খ࢝͘͞Ί͍ͯ͘ 2

  20. খ࢝͘͞Ί͍ͯ͘ • ૝ఆ͗͢͠ͳ͍ɺখ͘͞։ൃͯ͠ɺখ͘͞ݕূ͢Δ • ࠷ॳ͸Ϗδωεతʹ΋্ख͍͔͘͘ݟ͑ͳ͍ͷͰɺΠςϨʔςΟϒʹ։ൃ͍ͯ͘͠ • ൚༻తʹ͗͢͠ΔͱDBͷ੍໿Λ͔͚ͮΒ͔ͬͨΓ͢ΔͷͰɺόϥϯεΛͱΔ • 2೥ӡ༻ͯ͠Έͯɺ͍͔ͭඞཁ͔΋͠Εͳ͍…͸ແବʹͳͬͨ͜ͱ͕ଟ͔ͬͨ •

    YAGNI ͕ຊ౰ʹେ੾
  21. OneνʔϜͰ։ൃ͍ͯ͘͠ 3

  22. OneνʔϜͰ։ൃ͍ͯ͘͠ • B޲͚αʔϏεͩͱΫϥΠΞϯτͷ੠ΛҰ൪ฉ͍͍ͯΔͷ͸BizνʔϜ • िʹ1౓ͷఆྫΛBizνʔϜͱ߹ಉͰߦ͏ • ࠲੮͸ಉ͡ౡ಺Ͱ޲͔͍߹ͬͯ࠲Δ • ೲಘײΛ࣋ͬͯ։ൃ͢Δ •

    ࣌ʹ͸ΫϥΠΞϯτʹձ͍ʹߦͬͯੜͷ੠Λฉ͖ʹ͍͘ • B޲͚ͷLPΛҰॹʹ࡞ͬͨΓ΋ͨ͠
  23. PMFୡ੒ޙ͸ػೳΛΨϯΨϯ։ൃ͍ͯ͘͠ 4

  24. PMFୡ੒ޙ͸ػೳΛΨϯΨϯ։ൃ͍ͯ͘͠ • ϓϩμΫτͱͯ͠ஹ͕͠ݟ͑ͨΒશྗͰίϛοτ͢Δ • ؅ཧը໘։ൃͳͲɺӡ༻λεΫΛଞͷਓʹҠৡ͍ͯͨ͘͠Ίͷ։ൃΛߦ͍ɺ։ൃʹ ॆͯΒΕΔ࣌ؒΛ૿΍͍ͯ͘͠ • αʔϏε͸ӡ༻͕࢝·͔ͬͯΒ͕ຊ൪ • LINEೝূ΍ίʔυೝূͳͲɺೝূͷύλʔϯΛ૿΍͍ͯ͘͠

    • ը໘ΧελϚΠζͳͲͷΦϓγϣϯͰՔ͍Ͱ͍͘
  25. αʔϏεΛεέʔϥϒϧʹ͍ͯ͘͠ 5

  26. GCPͷ2೥ؒʢ˞Πϝʔδʣ • αʔϏεͷ੒௕ͱͱ΋ʹΩϟϯϖʔϯͷ੾Ε͕ؒͳ͘ͳ͖ͬͯͨ • ஍্೾࿈ಈͳͲͷେܕҊ݅΋ೖͬͯ͘ΔΑ͏ʹͳ͖ͬͯͨ • αʔϏεΛམͱͤͳ͍ • Ϩίʔυ਺΋૿͖͑ͯͨ

  27. αʔϏεΛεέʔϥϒϧʹ͍ͯ͘͠ • εέʔϧ͢ΔίʔυΛॻ͘ / ϩοΫॲཧɺεϩʔΫΤϦʹ஫ҙ͢Δ • ෛՙݕূͯ͠औΓআ͍͍ͯ͘ • Elastic Beanstalk

    Λ࢖ͬͯWebαʔόΛ৑௕Խ͠εέʔϥϒϧʹͨ͠ • RDSΛ Aurora ʹ͢Δ͜ͱͰεέʔϧΞοϓͷμ΢ϯλΠϜΛগͳͨ͘͠ • ͍ͭͰ΋εέʔϧΞ΢τ / εέʔϧΠϯͰ͖Δ؀ڥΛ੔͑Δ͜ͱͰΠϯϑϥඅ༻Λ ཈͑Δ͜ͱ͕Ͱ͖ͨ
  28. LINEϓογϡ഑৴ʹ΋଱͑ΒΕͨ ☺ ʊਓਓਓਓਓਓਓਓਓਓਓʊ ʼ ࠷େ෼଎30ສϦΫΤετ ʻ ʉY^Y^Y^Y^Y^Y^Y^Y^ʉ • ༑ͩͪ਺2300ສͷΞΧ΢ϯτͰLINEϓογϡΛߦͬͨ݁Ռ

  29. ఆظతʹDBͷ੍໿Λݟ௚͍ͯ͘͠ 6

  30. ఆظతʹDBͷ੍໿Λݟ௚͍ͯ͘͠ • ϚΠάϨʔγϣϯΛྲྀͨ݁͠Ռͷ db/schema.rb ϑΝΠϧΛ֬ೝ͢Δ • σʔλͷෆ੔߹Λͳ͘͢࠷ޙͷࡆ͸DBͷ੍໿ • ϨϏϡʔͰݟಀ͍ͯͨ͠͏͔ͬΓ੍໿ுΓ๨ΕΛݕ஌Ͱ͖Δ •

    ౰࣌ͱ૝ఆ͕มΘ͍ͬͯΔ৔߹΋͋Δ • ෆཁͳςʔϒϧΛ࡟আͰ͖Δ • Ϩίʔυ͕ཷ·͔ͬͯΒ੍໿ΛுΓ௚͢ͷ͸େม
  31. ౰ͨΓલͷ͜ͱΛ౰ͨΓલʹ΍͍ͬͯ͘ 7

  32. LinterΛద༻͢Δ • Rubyͩͱ Rubocop • ϝϯόʔ͕OSS׆ಈ΋ҙࣝͰ͖ΔΑ͏ʹrubocop.yml͸Railsʹ४ڌͨ͠ • ൿ఻ͷλϨʢಠࣗϧʔϧʣ͸ͳΔ΂͘࡞Βͳ͍

  33. ΤϥʔτϥοΩϯάαʔϏε͸݈શͳঢ়ଶΛอͭ • ேձͰൃੜͨ͠Τϥʔͷ୨Է͠Λ΍Δ • SentryΛͪΌΜͱӡ༻͢Δ

  34. ΤϥʔτϥοΩϯάαʔϏε͸݈શͳঢ়ଶΛอͭ • ղܾͨ͠໰୊͸Resolve • 90೔Ҏ಺ʹରԠ͢Δ • ֎෦αʔϏεىҼͷ΋ͷ͸10 times / minͳͲͰIgnore

    • ֎෦αʔϏεͰେ͖ͳো֐͕ى͖͍ͯͨ࣌ʹ௨஌͕ͪΌΜͱདྷΔ
  35. Ruby΍Railsͷόʔδϣϯ͸࠷৽ʹอͭ • ηΩϡϦςΟΞοϓσʔτ͕͍ͭͰ΋Ͱ͖Δ؀ڥΛ੔͑Δ • 2೥ӡ༻͍ͯ͠ΔαʔϏε͕ͩɺRuby (2.6.3) ΋Rails (5.2.3)΋࠷৽ • Ұྫͱͯ͠ɺRubyͷόʔδϣϯΛ্͛Δ͚ͩͰɺCSVͷಡΈࠐΈ

    / ॻ͖ࠐΈͷߴ଎ ԽͷϝϦοτΛڗडͰ͖Δ • GemͷΞοϓσʔτʹ͸ Dependabot Λ׆༻͢Δ • ͨͬͨͷ2೥͚ͩͲɺ͜ͷੵΈॏͶ͕େ੾
  36. αʔϏε͕੒௕͍ͯ͘͠த ౰ͨΓલͷ͜ͱΛ౰ͨΓલʹ΍Δͷ ΊͬͪΌେมͳͷͰ ΈΜͳͰ΍͍͖ͬͯ·͠ΐ͏

  37. None
  38. ίϚʔγϟϧ - We are hiring !!!