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
コネヒトが考えるサービスづくりに必要な技術とその考え方について
Search
tatsushim
July 04, 2017
Technology
2
3.1k
コネヒトが考えるサービスづくりに必要な技術とその考え方について
2017/07/04
【TECH PLAY Career Meetup】活躍しているフルスタックエンジニアが語る!サービスづくり勉強会の登壇資料
tatsushim
July 04, 2017
Tweet
Share
More Decks by tatsushim
See All by tatsushim
DockerとAmazon SageMakerで実現した機械学習システムのプロダクション移行
tatsushim
0
27k
コミュニティサービスにおける機械学習のためのアノテーション
tatsushim
0
2.1k
日本のママをコンテナで支える
tatsushim
1
3.1k
コネヒトが考える技術選択の仕方について
tatsushim
0
22k
word2vecで女性向けQ&Aサイトを解析してみた
tatsushim
0
6.3k
独身男性のためのデータドリブン講座
tatsushim
0
6.8k
Other Decks in Technology
See All in Technology
LangfuseではじめるAIアプリのLLMトレーシング
codenote
0
160
転職したらMCPサーバーだった件
nwiizo
2
910
激動の一年を通じて見えてきた「技術でリードする」ということ
ktr_0731
7
6.1k
Cursorを全エンジニアに配布 その先に見据えるAI駆動開発の未来 / 2025-05-13-forkwell-ai-study-1-cursor-at-loglass
itohiro73
2
580
問 1:以下のコンパイラを証明せよ(予告編) #kernelvm / Kernel VM Study Kansai 11th
ytaka23
3
550
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
PRO
0
730
ユーザーコミュニティが海外スタートアップのDevRelを補完する瞬間
nagauta
0
190
計測による継続的なCI/CDの改善
sansantech
PRO
1
650
Why Platform Engineering? - マルチプロダクト・少人数 SRE の壁を越える挑戦 -
nulabinc
PRO
5
430
MagicPod MCPサーバー開発の裏側とAIエージェント活用の展望
magicpod
0
230
kernelvm-brain-net
raspython3
0
580
クラウドネイティブ環境の脅威モデリング
kyohmizu
2
410
Featured
See All Featured
Speed Design
sergeychernyshev
29
940
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
The Invisible Side of Design
smashingmag
299
50k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Side Projects
sachag
453
42k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Language of Interfaces
destraynor
158
25k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
How GitHub (no longer) Works
holman
314
140k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Transcript
ίωώτ͕ߟ͑ΔαʔϏεͮ͘Γ ʹඞཁͳٕज़ͱͦͷߟ͑ํʹ͍ͭͯ $POOFIJUP*OD$50!UBUTVTIJN ՈͷຖΛͬͱসإʹɻ 5&$)1-":$BSFFS.FFUVQ
ࣗݾհ ՈͷຖΛͬͱসإʹɻ
͡Ί·ͯ͠ʂ w ίωώτגࣜձࣾ w ڞಉۀऀऔక$50 w ػցֶशΠϯϑϥج൫ͷߏங ౡాୡ࿕ !UBUTVTIJN
ՈͷຖΛͬͱসإʹɻ
ਓͷੜ׆ʹͳͯ͘ͳΒͳ͍ͷΛͭ͘Δ
˞݄࣌ ࡢग़࢈ͨ͠ঁੑ 6ਓʹ1ਓ ݄ؒར༻ऀ 500ສਓ ݄ؒ1ԯPV ݄ؒߘ 100ສ݅Ҏ্ ຊ࠷େڃ ϚϚϦɺຊͰ࠷େڃͷߘΛތΔՈ͚αʔϏεͰ͢
ίωώτ͕ߟ͑ΔαʔϏεͮ͘Γ ʹඞཁͳٕज़ͱͦͷߟ͑ํʹ͍ͭͯ ՈͷຖΛͬͱসإʹɻ
ࠓͷςʔϚͷ֬ೝ
ࠓͷςʔϚͷ֬ೝ ʮϑϧελοΫʯͱʁ
ϑϧͯ͢ ελοΫٕज़ ϑϧελοΫͯ͢ͷٕज़ ϑϧελοΫΤϯδχΞ ͯ͢ͷٕज़ʹਫ਼௨ͨ͠ΤϯδχΞ ͦͦϑϧελοΫΤϯδχΞͱʁ
ϑϧͯ͢ ελοΫٕज़ ϑϧελοΫͯ͢ͷٕज़ ϑϧελοΫΤϯδχΞ ͯ͢ͷٕज़ʹਫ਼௨ͨ͠ΤϯδχΞ ͦͦϑϧελοΫΤϯδχΞͱʁ ຊ࣭తʹ͍͠
ϑϧͯ͢ ελοΫٕज़ ϑϧελοΫͯ͢ͷٕज़ ϑϧελοΫΤϯδχΞ ͯ͢ͷٕज़ʹਫ਼௨ͨ͠ΤϯδχΞ ͦͦϑϧελοΫΤϯδχΞͱʁ ͰͳΜͰʮϑϧελοΫΤϯδχΞʯ ͱ͍͏ϫʔυʹڵຯ͕༙͍ͨͷͰ͠ΐ͏͔ʁ
ϑϧͯ͢ ελοΫٕज़ ϑϧελοΫͯ͢ͷٕज़ ϑϧελοΫΤϯδχΞ ͯ͢ͷٕज़ʹਫ਼௨ͨ͠ΤϯδχΞ ͦͦϑϧελοΫΤϯδχΞͱʁ ෯͍ٕज़शಘ͍ͨ͠
ϑϧͯ͢ ελοΫٕज़ ϑϧελοΫͯ͢ͷٕज़ ϑϧελοΫΤϯδχΞ ͯ͢ͷٕज़ʹਫ਼௨ͨ͠ΤϯδχΞ ͦͦϑϧελοΫΤϯδχΞͱʁ ͦͷతʁ
ࠓͷςʔϚͷ֬ೝ
ࠓͷςʔϚͷ֬ೝ
ϑϧͯ͢ ελοΫٕज़ ϑϧελοΫͯ͢ͷٕज़ ϑϧελοΫΤϯδχΞ ͯ͢ͷٕज़ʹਫ਼௨ͨ͠ΤϯδχΞ ͦͦϑϧελοΫΤϯδχΞͱʁ ϢʔβʔͷͨΊʹ ྑ͍αʔϏεΛͭ͘Δ͜ͱ
ࠓͷςʔϚͷ֬ೝ తʮϢʔβʔͷͨΊʹ ྑ͍αʔϏεΛͭ͘Δ͜ͱʯ ͱ͍͏લఏͰࠓ͓͠·͢
w ਓͷΤϯδχΞͱٕͯ͠ज़େ͖Ͱ͢ w ίʔυॻ͖·͢ w จಡΜͩΓɺࣥච͠·͢ ϢʔβʔͷͨΊʹྑ͍αʔϏεΛͭ͘Δʹʁ
จॻ͖·ͨ͠ IUUQTXXXXBOUFEMZDPNDPNQBOJFTDPOOFIJUPQPTU@BSUJDMFT
Ͱྑ͍αʔϏεΛ࡞ΔͨΊͷඞཁ݅ ϑϧελοΫΤϯδχΞͰͳ͍ͱࢥ͍·͢ ϢʔβʔͷͨΊʹྑ͍αʔϏεΛͭ͘Δʹʁ
ྑ͍αʔϏεΛͭ͘Δ͜ͱʹݶͬͯݴ͑ ෯͍ٕज़Λ͍࣋ͬͯΔ͜ͱͱಉ͔ͦ͡ΕҎ্ʹ େࣄͩͱࢥ͍ͬͯΔ͜ͱ͕ͭ͋Γ·͢ ϢʔβʔͷͨΊʹྑ͍αʔϏεΛͭ͘Δʹʁ
ٕज़Λखஈͱͯ͠ೝ͍ࣝͯ͠Δ͜ͱ Βͳ͍͜ͱΛʮΒͳ͍ʯͱਖ਼͘͠ ೝࣝͯͤ͠Δ͜ͱ αʔϏεͱڞʹͰ͖Δॊೈ͞Λ ࣋ͭ͜ͱ ͭͷେࣄͳ͜ͱ
ٕज़Λखஈͱͯ͠ೝ͍ࣝͯ͠Δ͜ͱ Βͳ͍͜ͱΛʮΒͳ͍ʯͱਖ਼͘͠ ೝࣝͯͤ͠Δ͜ͱ αʔϏεͱڞʹͰ͖Δॊೈ͞Λ ࣋ͭ͜ͱ ͭͷେࣄͳ͜ͱ
ٕज़Λखஈͱͯ͠ೝࣝ͢Δ ՈͷຖΛͬͱসإʹɻ
w ίωώτͷϝϯόʔશһٕज़େ͖Ͱ͢ w ͨͩ͠ɺతϢʔβʔͷͨΊͷྑ͍αʔ ϏεΛͭ͘Δ͜ͱ w ͦͷతΛୡ͢ΔͨΊͷखஈͱͯ͠ߴ͍ ٕज़ྗΛ࣋ͭνʔϜʹͳ͍ͬͯ·͢ ٕज़Λखஈͱͯ͠ೝࣝ͢Δ͜ͱ
w ϢʔβʔͷͨΊʹٕज़બఆΛߦ͍ͬͯ·͢ w ͱ͖ʹʮͭ͘Βͳ͍ʯͱ͍͏બΛ͠·͢ w ͦ͏͍͏அ͕Ͱ͖ΔνʔϜϝϯόʔͦ͜ αʔϏεͮ͘ΓͰՁ͕͋Γ·͢ ٕज़Λखஈͱͯ͠ೝࣝ͢Δ͜ͱ
ٕज़Λखஈͱͯ͠ೝࣝ͢Δ͜ͱ
ٕज़Λखஈͱͯ͠ೝࣝ͢Δ͜ͱ ϓϩάϥϚͳͷʹ ʮͭ͘Βͳ͍ʯͬͯͲ͏͍͏͜ͱʁ
σΟϨΫλʔɿࠓͷγεςϜʹՃͰɺ$47 σʔλΛు͖ग़͢ػೳΛ͚ͭͯཉ͍͠Μͩɻ ΤϯδχΞɿͳΔ΄Ͳɻྃղʂͱ͜ΖͰ ͦΕͬͯࠓޙͲͷ͘Β͍ͷසͰ͏ͷʁ ྫ͑͜ͷΑ͏ͳձ
σΟϨΫλʔɿ͏ʔΜɺΘ͔Βͳ͍ͳɻͱΓ͋ ͑ͣσʔλݟͯΈ͍ͨͱࢥͬͯɻ ΤϯδχΞɿͳΒநग़͓͔ͯ͘͠ΒɺͦΕͰ Կ͏Α͏ͳΒͦͷػೳΛ͚ͭΔ͍ͬͯ͏ ͷͲ͏͔ͳʁ ྫ͑͜ͷΑ͏ͳձ
σΟϨΫλʔɿ͏ΜɺॆͩΑɻ༗͏ʂ ΤϯδχΞɿྑ͔ͬͨʂ͡Ό͋ͰऴΘΔͷ Ͱ͙͢ʹڞ༗͢ΔͶʂ ྫ͑͜ͷΑ͏ͳձ
w ͜ͷྫͳΒΫΤϦ࣮ߦΛ࣮ߦ͢Δ͚ͩͰ ऴΘΔ w ίʔυΛॻ͍ͯEFQMPZͯ͠ຊ൪ڥʹ61 ͢ΔΑΓૣ͘ऴΘΔ w ίʔυΛॻ͔ͳͯ͘ղܾ͕Ͱ͖Δ ٕज़Λखஈͱͯ͠ೝࣝ͢Δ͜ͱ
ʮࣗϓϩάϥϚ͔ͩΒʯ ͱ͍͏ΞΠσϯςΟςΟʹͱΒΘΕͣ ϢʔβʔϑΝʔετͳϓϩμΫτΛͭ͘Δ ͨΊʹ͜ͷΑ͏ͳʮͭ͘Βͳ͍ʯͱ͍͏ બΛબΔνʔϜϝϯόʔ ελʔτΞοϓͰαʔϏεΛͭ͘Δ্Ͱ ͱͯوॏͳਓࡐ ٕज़Λखஈͱͯ͠ೝࣝ͢Δ͜ͱ
ʮࣗϓϩάϥϚ͔ͩΒʯ ͱ͍͏ΞΠσϯςΟςΟʹͱΒΘΕͣ ϢʔβʔϑΝʔετͳϓϩμΫτΛͭ͘Δ ͨΊʹ͜ͷΑ͏ͳʮͭ͘Βͳ͍ʯͱ͍͏ બΛબΔνʔϜϝϯόʔ ελʔτΞοϓͰαʔϏεΛͭ͘Δ্Ͱ ͱͯوॏͳਓࡐ ٕज़Λखஈͱͯ͠ೝࣝ͢Δ͜ͱ ʮࣗϓϩάϥϚ͔ͩΒʯ ͱ͍͏ΞΠσϯςΟςΟʹͱΒΘΕͣ
ϢʔβʔϑΝʔετͳϓϩμΫτΛͭ͘ΔͨΊʹ ͜ͷΑ͏ͳʮͭ͘Βͳ͍ʯͱ͍͏ બΛબΔνʔϜϝϯόʔ ελʔτΞοϓͰαʔϏεΛͭ͘Δ্Ͱ ͱͯوॏͳਓࡐ
w ͳͥͳΒϦιʔεݶΒΕ͍ͯΔ͔Β w Δ͜ͱࢁ΄Ͳ͋Δ w ৗʹʮΒͳ͍͜ͱʯΛҙࣝ͢Δඞཁ ͕͋Δ ٕज़Λखஈͱͯ͠ೝࣝ͢Δ͜ͱ
ٕज़Λखஈͱͯ͠ೝ͍ࣝͯ͠Δ͜ͱ Βͳ͍͜ͱΛʮΒͳ͍ʯͱਖ਼͘͠ ೝࣝͯͤ͠Δ͜ͱ αʔϏεͱڞʹͰ͖Δॊೈ͞Λ ࣋ͭ͜ͱ ͭͷେࣄͳ͜ͱ
ٕज़Λखஈͱͯ͠ೝ͍ࣝͯ͠Δ͜ͱ Βͳ͍͜ͱΛʮΒͳ͍ʯͱਖ਼͘͠ ೝࣝͯͤ͠Δ͜ͱ αʔϏεͱڞʹͰ͖Δॊೈ͞Λ ࣋ͭ͜ͱ ͭͷେࣄͳ͜ͱ
Βͳ͍͜ͱΛʮΒͳ͍ʯͱ ਖ਼͘͠ೝࣝͯͤ͠Δ͜ͱ ՈͷຖΛͬͱসإʹɻ
ϑϧͯ͢ ελοΫٕज़ ϑϧελοΫͯ͢ͷٕज़ ϑϧελοΫΤϯδχΞ ͯ͢ͷٕज़ʹਫ਼௨ͨ͠ΤϯδχΞ ͦͦϑϧελοΫΤϯδχΞͱʁ
ϑϧͯ͢ ελοΫٕज़ ϑϧελοΫͯ͢ͷٕज़ ϑϧελοΫΤϯδχΞ ͯ͢ͷٕज़ʹਫ਼௨ͨ͠ΤϯδχΞ ͦͦϑϧελοΫΤϯδχΞͱʁ ຊ࣭తʹ͍͠
w ʮϑϧελοΫΤϯδχΞʯຊ࣭తʹ ͍͠ w ԾʹͳΕͨͱͯ͠ඞͣ͠ʮશ෦Զ͕ Δʯ͕ྑ͍બͱݴ͑ͳ͍ Βͳ͍͜ͱΛʮΒͳ͍ʯͱਖ਼͘͠ೝࣝͯͤ͠Δ͜ͱ
w ՄೳͳݶΓࣗͷೳྗͷ෯Λ͛ͭͭ w Ή͠ΖʮͤΔ͖ͱ͜ΖʯΛೝࣝͰ͖Δ ೳྗͷํ͕νʔϜͰେࣄͳ໘͋Δ w ͦ͏͢Δ͜ͱͰɺνʔϜͱͯ͠ͷΞτϓο τΛ࠷େԽ͠ɺྑ͍αʔϏεͮ͘Γʹܨ͛Δ Βͳ͍͜ͱΛʮΒͳ͍ʯͱਖ਼͘͠ೝࣝͯͤ͠Δ͜ͱ
w ՄೳͳݶΓࣗͷೳྗͷ෯Λ͛ͭͭ w Ή͠ΖʮͤΔ͖ͱ͜ΖʯΛೝࣝͰ͖Δ ೳྗͷํ͕νʔϜͰେࣄͳ໘͋Δ w ͦ͏͢Δ͜ͱͰɺνʔϜͱͯ͠ͷΞτϓο τΛ࠷େԽ͠ɺྑ͍αʔϏεͮ͘Γʹܨ͛Δ Βͳ͍͜ͱΛʮΒͳ͍ʯͱਖ਼͘͠ೝࣝͯͤ͠Δ͜ͱ νʔϜͰϑϧελοΫΛࢦ͢
w ʮϑϧελοΫΤϯδχΞʯຊ࣭తʹ ͍͠ w ԾʹͳΕͨͱͯ͠ඞͣ͠ʮશ෦Զ͕ Δʯ͕ྑ͍બͱݴ͑ͳ͍ Βͳ͍͜ͱΛʮΒͳ͍ʯͱਖ਼͘͠ೝࣝͯͤ͠Δ͜ͱ
w ʮϑϧελοΫΤϯδχΞʯຊ࣭తʹ ͍͠ w ԾʹͳΕͨͱͯ͠ඞͣ͠ʮશ෦Զ͕ Δʯ͕ྑ͍બͱݴ͑ͳ͍ Βͳ͍͜ͱΛʮΒͳ͍ʯͱਖ਼͘͠ೝࣝͯͤ͠Δ͜ͱ • ͨͩ͠ελʔτΞοϓͰ1ਓ͔͍͠ͳ͍ͱ͖ ͕ࣗΔ͔͠ͳ͍
• ͜ͷΑ͏ʹϑΣʔζʹґଘ͢Δ෦͋ΔͷͰ έʔεɾόΠɾέʔε
ٕज़Λखஈͱͯ͠ೝ͍ࣝͯ͠Δ͜ͱ Βͳ͍͜ͱΛʮΒͳ͍ʯͱਖ਼͘͠ ೝࣝͯͤ͠Δ͜ͱ αʔϏεͱڞʹͰ͖Δॊೈ͞Λ ࣋ͭ͜ͱ ͭͷେࣄͳ͜ͱ
ٕज़Λखஈͱͯ͠ೝ͍ࣝͯ͠Δ͜ͱ Βͳ͍͜ͱΛʮΒͳ͍ʯͱਖ਼͘͠ ೝࣝͯͤ͠Δ͜ͱ αʔϏεͱڞʹͰ͖Δॊೈ͞Λ ࣋ͭ͜ͱ ͭͷେࣄͳ͜ͱ
αʔϏεͱڞʹͰ͖Δॊೈ͞Λ࣋ͭ͜ͱ ՈͷຖΛͬͱসإʹɻ
ࠓͷίωώτͷٕज़ελοΫ
ίωώτ্ཱͪ͛ظ
ϚϚϦαʔϏε্ཱͪ͛ظ
ϚϚϦαʔϏε্ཱͪ͛ظ ʊਓਓਓਓʊ ʼɹ1ͭɹʻ ʉY^Y^Yʉ
αʔϏεͱڞʹͰ͖Δॊೈ͞Λ࣋ͭ͜ͱ w αʔϏεͰඞཁ͔ͩΒ͏ɾֶͿ w ͦ͜ʹඞཁͳ݀ ׂ ͕͋ΕຒΊΔ w ඞཁͳ݀ΛຒΊΔ͜ͱͷͰ͖ΔਓؒՁ͕͋Δ w
ࣗͷڥ ৬ྺɾྸ ʹؔΘΒͣॊೈʹ ֶͿ࢟Λ͍࣋ͬͯΔ͜ͱ͕େࣄ
αʔϏεͱڞʹͰ͖Δॊೈ͞Λ࣋ͭ͜ͱ w ͦΕ͍͑࣋ͬͯ͞Εɺ݁Ռͱͯ͠ ʮϑϧελοΫΤϯδχΞʯʹ͍ۙεΩϧΛ ࣋ͬͨΤϯδχΞʹͳΕΔ߹͋Δ w ίωώτϦʔυΤϯδχΞͷྫ w ϓϩμΫτΛͭ͘ΓɺϓϩμΫτʹҭͯΒΕ Δڥ
αʔϏεͱڞʹͰ͖Δॊೈ͞Λ࣋ͭ͜ͱ w ࠓ৽͍͠ϓϩδΣΫτ͕ελʔτ͠ɺʑ ߴΊ߹͍ͳ͕Β։ൃΛ͍ͯ͠·͢ w ࣗ৽͍͠εΩϧʹઓ͍ͯ͠·͢ w ਓͷੜ׆ʹͳͯ͘ͳΒͳ͍αʔϏεΛ ͭͬͯ͘͢Δʑ
·ͱΊ ՈͷຖΛͬͱসإʹɻ
ྑ͍αʔϏεΛͭ͘Δ͜ͱʹݶͬͯݴ͑ ෯͍ٕज़Λ͍࣋ͬͯΔ͜ͱͱಉ͔ͦ͡ΕҎ্ʹ େࣄͩͱࢥ͍ͬͯΔ͜ͱ͕ͭ͋Γ·͢ ϢʔβʔͷͨΊʹྑ͍αʔϏεΛͭ͘Δʹʁ
ٕज़Λखஈͱͯ͠ೝ͍ࣝͯ͠Δ͜ͱ Βͳ͍͜ͱΛʮΒͳ͍ʯͱਖ਼͘͠ ೝࣝͯͤ͠Δ͜ͱ αʔϏεͱڞʹͰ͖Δॊೈ͞Λ ࣋ͭ͜ͱ ͭͷେࣄͳ͜ͱ
࣭͋͝Γ·͔͢ʁ ՈͷຖΛͬͱসإʹɻ
ͪΐͬͱͰΛฉ͍ͯΈ͍ͨͱ ࢥͬͨํ͜ͷޙ͓͕͚͍ͩ͘͞ ՈͷຖΛͬͱসإʹɻ $POOFIJUP*OD$50!UBUTVTIJN
͝ਗ਼ௌ༗͏͍͟͝·ͨ͠ɿ% ՈͷຖΛͬͱসإʹɻ $POOFIJUP*OD$50!UBUTVTIJN