Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
10個以上のプロダクトを3人のメンバーでローンチしたdiniiの開発の裏側
Search
dinii_otomo
October 21, 2022
Technology
0
4k
10個以上のプロダクトを3人のメンバーでローンチしたdiniiの開発の裏側
Qiita Night フロントエンド 2022/10/21 開催の登壇資料となります。
dinii_otomo
October 21, 2022
Tweet
Share
More Decks by dinii_otomo
See All by dinii_otomo
スタートアップで React Native を採用してよかったこと
dinii_otomo
2
650
diniiでのHasura活用例
dinii_otomo
1
650
Other Decks in Technology
See All in Technology
プロダクト組織で取り組むアドベントカレンダー/Advent Calendar in Product Teams
mixplace
0
610
クレカ・銀行連携機能における “状態”との向き合い方 / SmartBank Engineer LT Event
smartbank
3
130
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
170
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
360
信頼されるためにやったこと、 やらなかったこと。/What we did to be trusted, What we did not do.
bitkey
PRO
0
330
ソフトウェア開発における「パーフェクトな意思決定」/Perfect Decision-Making in Software Development
yayoi_dd
2
2.6k
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
3
730
20241218_マルチアカウント環境におけるIAM_Access_Analyzerによる権限管理.pdf
nrinetcom
PRO
3
140
Agentic RAG with LangGraph
atsushii
0
110
スケールし続ける事業とサービスを支える組織とアーキテクチャの生き残り戦略 / The survival strategy for Money Forward’s engineering.
moneyforward
0
190
[トレノケ雲の会 mod.13] 3回目のre:Inventで気づいたこと -CloudOperationsを添えて-
shintaro_fukatsu
0
120
Qiita埋め込み用スライド
naoki_0531
0
5.4k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
Automating Front-end Workflow
addyosmani
1366
200k
Designing for humans not robots
tammielis
250
25k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Rails Girls Zürich Keynote
gr2m
94
13k
Side Projects
sachag
452
42k
The Cult of Friendly URLs
andyhume
78
6.1k
Building Adaptive Systems
keathley
38
2.3k
Transcript
10ݸҎ্ͷϓϩμΫτΛ3ਓͷϝϯόʔͰ ϩʔϯνͨ͠diniiͷ։ൃͷཪଆ גࣜձࣾ dinii CTO େ༑Ұथ Qiita Night 202 2
2022/10/21
ࣗݾհ • ࢯ໊ɿେ༑Ұथ (@dinii_k_otomo ) • ॴଐɿגࣜձࣾ dini i ◦
ҿ৯ళͷϞόΠϧΦʔμʔͱPOSͷձࣾͰ͢ɻ ◦ ্ཱ͔ͪ͛Β͍ͬͯ·͢ɻ ◦ ෳճͷϐϘοτΛܦͯɺϞόΠϧΦʔμʔ & POS Λ։ൃɾӡ༻͍ͯ͠·͢ɻ • ڵຯؔ৺ɿ ◦ ͳͳμΠχʔՃໍళͰϑϥΠυϙςτͱϏʔϧΛҿΜͰ͍·͢ɻ 2
ࠓ͢͜ͱ 3 • ҿ৯ͷΠϯϑϥͱͯ͠ɺଟ͘ͷϓϩμΫτΛ࠷ॳ͔Βඋ͑Δඞཁ͕͋ͬͨ ◦ ελʔτΞοϓ্ཱͪ͛ͷϦιʔε͕গͳ͍ঢ়ଶ͔ΒɺͲͷΑ͏ʹ͠ ͯͦΕΛ࣮ݱ͔ͨ͠ʁ
ελʔτΞοϓͷ্ཱͪ͛ͱٕज़ 4 ϓϩμΫτେମ͏·͍͔͘ͳ͍ Կࣦഊ͢Δɺվળ͢Δɺͦͷࢼߦճ͕উෛ → ͱʹ͔͙͘͢ʹಈ͘ͷΛ࡞Γɺͱʹ͔͘ϦϦʔε͠ɺֶͼΛಘΔճ͕ॏཁ https://blog.winnonapartners.com/what-is-a-pivot-top-10-best-tech-startup-pivots-case-study/
ελʔτΞοϓͷ্ཱͪ͛ͱٕज़ 5 • dinii Ͱɺ͕ࣗ͜Ε·Ͱॻ͍͖ͯͨίʔυɾ࡞͖ͬͯͨϓϩμΫτͷ΄ͲΜͲ͕͏ͳ͍ɻ ◦ ࠓ·Ͱ 4,5ճେ͖͘ϐϘοτ͍ͯ͠Δ 2018 2019
2020
աڈͷϐϘοτ͔Βͷֶͼ 6 • ҿ৯ళͷɺ”All in one SaaS” Λఏڙ͍ͯ͘͜͠ͱ ◦ ͭ·Γɺҿ৯ళͷӡ༻Λࢧ͑ΔશͯͷϓϩμΫτΛ࣮ɾӡ༻͢Δ͜ͱ͕Ωʔͩͬͨ
طଘͷҿ৯ళΛ ࢧ͑ΔγεςϜ ۈଵ ٤৯ใ ձܭใ ސ٬ใ ධՁ ࡏݿ … ͋ΒΏΔҿ৯ͷ σʔλΛ౷߹ ۈଵ ධՁ ࡏݿ … ٤৯ใ ձܭใ ސ٬ใ σʔλ͕அ
dinii ͷٕज़ελοΫ 7 ʮଟͷϓϩμΫτʯΛʮগਓʯͰʮߴʯ͔ͭʮ҆ఆʯʹ։ൃ͢Δઓུͱͯ͠ͷ TypeScript, React, GraphQL (Hasura) ͷҰۃूத Ϩδ
ΩΦεΫ ΩονϯσΟεϓϨΠ μογϡϘʔυ ϋϯσΟ ϞόΠϧΦʔμʔ ϓϦϯλ࿈ܞ ࣗಈમػ࿈ܞ ϓϦϯλ࿈ܞ LINE Mini App όοΫΤϯυ ৄͪ͘͜͠Β: https://note.com/dinii/n/n9be778bd7da3
dinii ͷٕज़ελοΫͷมભͱࣄۀن 8 ࠓ͜ͷล ࠷ॳ͜͏ͩͬͨ ͜ͷล͔Β ϓϩμΫτ૿Ճ
ࠓͷӡ༻͍ͯ͠ΔϓϩμΫτ 9 19 packages
dinii ͷϢʔβ/ΠϯλʔϑΣʔε/σʔλͷಛ 10 ϝχϡʔΛऔಘ จ จཤྺͷऔಘ ձܭ ςʔϒϧใΛऔಘ CMS ςʔϒϧใ
ϝχϡʔใ จใ Ϩδ ΩονϯσΟεϓϨΠ μογϡϘʔυ ϋϯσΟ ϞόΠϧΦʔμʔ …. ΠϯλʔϑΣʔε/αʔϏεΛ ར༻͢ΔϢʔβଟ͍ ফඅऀ ϗʔϧελοϑ Ωονϯελοϑ ຊ෦ࣾһ ΦϖϨʔγϣϯେମҰॹ ίΞͳσʔλ΄΅Ұॹ ձܭใ Ϣʔβ ϓϩμΫτ ΦϖϨʔγϣϯ σʔλ
dinii ͷϢʔβ/ΠϯλʔϑΣʔε/σʔλͷಛ 11 ϝχϡʔΛऔಘ จ จཤྺͷऔಘ ձܭ ςʔϒϧใΛऔಘ CMS ςʔϒϧใ
ϝχϡʔใ จใ Ϩδ ΩονϯσΟεϓϨΠ μογϡϘʔυ ϋϯσΟ ϞόΠϧΦʔμʔ …. ΠϯλʔϑΣʔε/αʔϏεΛ ར༻͢ΔϢʔβଟ͍ ফඅऀ ϗʔϧελοϑ Ωονϯελοϑ ຊ෦ࣾһ ΦϖϨʔγϣϯେମҰॹ ίΞͳσʔλ΄΅Ұॹ ձܭใ Ϣʔβ ϓϩμΫτ ΦϖϨʔγϣϯ σʔλ ಉ͡Α͏ͳσʔλϏδωεϩδοΫΛɺ ৭ʑͳΠϯλʔϑΣʔεͰޮతʹ࣮͍ͨ͠ (ͨ͘͠ͳΔͩΖ͏)
• ༷ʑͳΠϯλʔϑΣʔεͰϩδοΫɾݟͷ࠶ར༻ੑΛߴΊΔͨΊʹɺ͕ଟ͍ϑϩϯτΤϯυʹ༗ རͳશମͷٕज़બఆ dinii ͷϢʔβ/ΠϯλʔϑΣʔε/σʔλͷಛ 12 ϝχϡʔΛऔಘ จ จཤྺͷऔಘ ձܭ
ςʔϒϧใΛऔಘ CMS ςʔϒϧใ ϝχϡʔใ จใ Ϩδ ΩονϯσΟεϓϨΠ μογϡϘʔυ ϋϯσΟ ϞόΠϧΦʔμʔ …. ফඅऀ ϗʔϧελοϑ Ωονϯελοϑ ຊ෦ࣾһ ձܭใ Hasura / GraphQL όοΫΤϯυ PostgreSQL
Α͔ͬͨ͜ͱ / ͏·͍ͬͨ͘͜ͱ 13 • ։ൃऀͷٕज़తͳίϯςΩετεΠον͕࠷খʹ͑ΒΕΔ ◦ গਓͰ࠷େޮͰ։ൃʂʂ্ཱͪ͛࣌3ਓͰ12 packages Λ։ൃɾӡ༻ɻ
2020/10- 2021/04- 2021/10- 2022/04- 6ϲ݄σϓϩΠճ 477 932 1076 992 giniʢ։ൃ҆ఆʣ 0.50 0.51 0.57 0.40 ϓϩμΫτ(#packages) 12 15 15 19 ܭଌͷࢀߟ: https://qiita.com/hirokidaichi/items/ceece347f808cc9d14dd#%E6%B4%BB%E7%94%A8%E3%81%B8%E3%81%AE%E6%9C%9F%E5%BE%85 • αʔϏεॳظ͔Βଟ͘ͷϓϩμΫτͷ։ൃӡ༻Λଓ͚͍ͯΔ͕ɺ҆ఆతͳ։ൃΛҡ࣋ • ౷Ұ͞Εٕͨज़ελοΫͷͨΊɺڞ௨ϩδοΫͷ JS ϥΠϒϥϦԽ
େมͩͬͨ͜ͱ 14 • TS ϑϧελοΫਓࡐͷ࠾༻ ◦ ಛʹόοΫΤϯυʹਫ਼௨ͨ͠ํݱࡏෆத...ʂʂ • Node.js /
NestJS ͰͷϓϩμΫγϣϯόοΫΤϯυͷӡ༻ݟ ◦ ಛʹ ORM ͷऔΓѻ͍όοΫΤϯυΞʔΩςΫνϟͳͲɺख୳Γͳ෦େ͖͔ͬͨɻ • Hasura ʹΑͬͯϑϩϯτΤϯυͷ։ൃޮ͕ඇৗʹ্͕ͬͨҰํͰɺ Hasura ࣗମͷӡ༻Πϯϑϥͷ࠷దԽʹۤઓ ◦ ͪ͜Β͝ࢀর͍ͩ͘͞: https://speakerdeck.com/dinii_otomo/diniidefalsehasurahuo-yong- li?slide=10
·ͱΊ 15 • ϓϩμΫτ͕ଟ͍/ϩδοΫ͕͍ۙ͠ͱ͍͏Ϗδωεཁٻʹରͯ͠ɺٯࢉٕͨ͠ज़બఆͰΓͬͨ ◦ dinii ͷ߹ɺ͘ҿ৯υϝΠϯͰ 0→1 Λ͍ͬͯͨͷͰɺଟϓϩμΫτͷߏͱॏཁੑΛεέʔϧલʹ Ͱ͖ͨ͜ͱ͕ӡͩͬͨɻ
◦ ʮ͜͜࡞Βͳͯ͘ྑ͘ͳ͍ʁʯɺେׂͱ͙͢ʹ࡞Β͟ΔΛಘͳ͔ͬͨɻɻɻ • શϓϩμΫτͰڞ௨ͷٕज़બఆ/ΞʔΩςΫνϟͷͨΊɺνʔϜͷφϨοδγΣΞ͕ଅਐ ◦ શһϑϧελοΫԽ͍ٕ͢͠ज़ڥͰ։ൃΛଓ͚ΒΕ͍ͯΔ → αʔϏεͷॳظ͔ΒଟͷϓϩμΫτΛܧଓతʹఏڙ͠ଓ͚ΒΕ͍ͯΔ