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
Soichiro Yoshimura
September 27, 2023
Technology
0
21
失敗の話
過去自分が前職で経験したソフトウェア開発に関する失敗の話です。
とあるLTで発表しようと思ったのですが、機会を失ったので公開することにしました。
----
slideshareより移行
Soichiro Yoshimura
September 27, 2023
Tweet
Share
More Decks by Soichiro Yoshimura
See All by Soichiro Yoshimura
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
sifue
0
100
チームの目標への柔軟な対応
sifue
0
35
並行処理初心者のためのAkka入門
sifue
0
5
2013年末カウントダウン番組におけるAkamai活用事例
sifue
0
26
ソフトウェア設計のすすめ
sifue
0
31
6000名以上の高校生に行われた VR教育の実践と課題
sifue
0
5.2k
N高等学校でのSlackの活用
sifue
0
960
N予備校プログラミングコースでのNode.js
sifue
0
900
OBSのプラグイン作ってみた
sifue
0
720
Other Decks in Technology
See All in Technology
Grafana x PagerDuty Better Together
jacopen
0
130
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
180
競技としてのKaggle、役に立つKaggle
yu4u
5
2k
いつか使うかも貯金してたらめちゃめちゃ機能が増えてた話
riyaamemiya
0
400
web-application-security
matsuihidetoshi
0
170
Azureの基本的な権限管理の勉強会
yhana
0
730
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
110
LLM開発・活用の舞台裏@2024.04.25
yushin_n
3
770
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
190
開発生産性大幅アップ!Postman VS Code拡張機能
nagix
2
430
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
370
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.4k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Imperfection Machines: The Place of Print at Facebook
scottboms
260
12k
Statistics for Hackers
jakevdp
789
220k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
Typedesign – Prime Four
hannesfritz
36
2.1k
How GitHub (no longer) Works
holman
304
140k
Web Components: a chance to create the future
zenorocha
305
41k
Designing the Hi-DPI Web
ddemaree
276
33k
Writing Fast Ruby
sferik
621
60k
Transcript
ࣦഊͷ ٢ଜ૯Ұ (@sifue)
ࠓɺલ৬Ͱܦݧͨ͠Γฉ͍ࣦͨഊϓϩ δΣΫτͷΛ͠·͢(कൿٛͷൣғͰ)
લ৬ʹ͍ͭͯ ࣗͱ@hinamaru͞Μ͕5Ҏ্Ί͍ͯͨձࣾ ࣄۀ༰ ۚܕՃػͱޫܗػͷΠϯςάϨʔγϣϯ ։ൃϓϩηεվળίϯαϧͱͦͷͨΊͷγεςϜ ͕͍ࣗͨͪͨͷޙऀͷࣄۀͰɺେମ100ਓ͙Β͍ͷJavaͱ C++ͷ։ൃऀ͕͍·ͨ͠
࢈Λܦݧ ͦͷ࣌৽ؙϏϧͷ37F, 31F, 30FΛି͖ͬͯ͠ΠέΠέ ͨͩ࢈࣌ϑϩΞ࿈݁֊ஈ͕͋ͬͯɺͦͷमસඅ͕͔͔ͬͨ͘͢͝ ݪҼɺʹ࡞ͬͨશແਓͷߏஙʹࣦഊͨ͜͠ͱ ߏங͕ͨ͠ॏͳΔγεςϜτϥϒϧɺਖ਼͍͠Ճਫ਼͕ग़ͳ͍ ՃػͷυϥΠόDB·ΘΓͷ࣮ͷίετ͕ߴ͗ͨ͢ ࠷ޙγεςϜ෦ॺਓͳͬͨͷͰɺେͷITاۀʹΓ߹͍͕͍Δ ָఱ,
DeNA, Cookpad, mixi, ϫʔΫεΞϓϦέʔγϣϯζͳͲͳͲ...
ͦͷதͰܦݧͨ͠Γฉ͍ࣦͨഊͨ͠ϓϩ δΣΫτͷΛ͠·͢(कൿٛͷൣғͰ)
ϓϩδΣΫτҰཡ ઃܭࢧԉγεςϜ - ͕ࣗSL ৽Τϯδϯ - ಉظ͕͍ͨྡͷνʔϜ ৽εέδϡʔϥʔ - ྡͷνʔϜ
ϓϩδΣΫτʹ͓͚Δࣦഊͱ ॳ༧ఆ͍࣭ͯͨ͠ɾ༧ࢉɾೲظʢQCD)Λ९कͰ͖ͳ ͔ͬͨ͜ͱɺͱ͜͜Ͱఆٛ͠·͢
ͦͦେମ3ׂ͙Β͍ITϓϩδΣΫ τࣦഊ͠·͢ ग़యɿܦίϯϐϡʔλ201410݄16߸26ท http://d.hatena.ne.jp/redips/20141025/1414202319
·͋ͲΜͳʹؤுͬͯ3ׂ͙Β͍ࣦഊͯ͠͠·͏ͷͰ͢ɻ ͨͩ3ׂΛ͑ͯ͘ΔͱԿ͔͕͋Δ͔͠Εͳ͍ͱٙͬͨ΄͏͕͍͍ɻ ͦΕΛ౿·্͑ͨͰؾܰʹ͓͡͞ΜͷੲΛฉ͍ͯΒ͑Εͱ͓͍·͢ɻ
ઃܭࢧԉγεςϜͷࣦഊ ͕ࣗSLͰ7ਓνʔϜɺΥʔλʔϑΥʔϧͰ1ɺେखेࣾҎ্࠾༻ ࣦഊ༰ ೲظؒʹ߹Θ͕ͤͨɺӡ༻։࢝ޙʹόʔδϣϯΞοϓ࣌ʹக໋తͳDB ίϯόʔτϛε͕ൃ֮ ͓٬༷ͷ৴པΛࣦͬͨɻ৴པΛࣦ͍ূͷఏग़͕ٛ૿Ճɻ ࣾ࠶ϦϦʔεɺ֤͚݄ࣾྫ࣭ձٞͷ։࢝ʹ ॳΊͯͷ2పޙग़ுΛܦݧ
ઃܭࢧԉγεςϜͷࣦഊͷݪҼ Ұ൪࠷ॳʹ࡞ͬͨਓ͕ൈ͚ͯυϝΠϯ͕ࣝେ෯ʹܽଛͨ͠ ίϯαϧͷཁٻมߋΛ࣭Λ६ʹࢭΊΔ͜ͱ͕Ͱ͖ͣɺཁٻΛड ͚ೖΕͯ͠·͍ΥʔλʔϑΥʔϧͷखΓΛڐ༰ͨ͠ SLͰ͋Δ͕ࣗฒϓϩδΣΫτ՝ཧγεςϜ(ɺ3ਓ)ͷ SLΛ͍ͬͯͨ DBͷεΩʔϚ͕ཧআෳ߹ओΩʔϕʔεͷςʔϒϧߏͩͬ ͨ
ઃܭࢧԉγεςϜͷڭ܇ υϝΠϯ͕ෳࡶͳ߹ɺ։ൃٕज़ΑΓυϝΠϯ͕ࣝॏཁͳ߹ ͕͋Γɺ͔ͦ͠Ε͙͢ʹิరͰ͖ͳ͍ ΥʔλʔϑΥʔϧͰ్தͰཁٻมߋΛड͚ೖΕͨ߹ɺக໋తͳ ࣭Լʹͭͳ͕Δ SLͷೳྗΛ͑ͯෳνʔϜͷSLΛ͖͢Ͱͳ͍ɺଞͷਓʹҕ͠ ͨํ͕͍͍ 2छෳ߹ओΩʔ·ͩ͠ɺ6छͱ͔7छෳ߹ओΩʔཧআલఏςʔϒ ϧόάʹܨ͕Γ͍͢
৽Τϯδϯͷࣦഊ ಉظ͕ೖ͍ͬͯΔνʔϜɺ5ਓͰ2ؒ ։ൃϑϩʔͳ͠ (σβΠϯϨϏϡʔͷঝೝϑϩʔͳ͠) ࣦഊ༰ ͓٬༷ͷϦϦʔε͕͞Εͳ͔ͬͨ
৽ΤϯδϯͷݪҼ༧ଌ ٢ଜͷݪҼ༧ଌ ա͗Δࣾ/ࣄۀ෦ͱਐΊΔϓϩτλΠϐϯάϓϨθϯظ ؒͷͨΊ։ൃϓϩηεͷ੍ఆ͕Ͱ͖ͳ͔ͬͨ ༷ʑͳͷʹঢ়ଶΛ࣋ͭ͜ͱ͕Ͱ͖ΔϑϩʔΤϯδϯ?ʢΑ͘ ͔ͬͯͳ͍)ͷྑ͍׆༻͕Ͱ͖ͳ͔ͬͨ ௨৴ॲཧฒߦॲཧͷ࣮ܦݧ͕ͳ͍ϝϯόʔ͕ଟ͘։ൃͨ͠ ͷ͕࣮༻ʹ͑ͳ͔ͬͨ
৽Τϯδϯͷڭ܇ ։ൃϓϩηεΛಋೖͯ͠ɺཁ݅ఆ֤ٛઃܭͷঝೝϑΣʔ ζ͕͋ͬͨ΄͏͕ྑ͍ ඞཁͳ։ൃٕज़͕ͳ͍߹ʹɺແཧͤͣಘҙͳΤϯδχ ΞΛݺΜͩํ͕ྑ͍
৽εέδϡʔϥʔͷࣦഊ ྡͷνʔϜɺ4ਓͰ1ؒɺΥʔλʔϑΥʔϧ ࣦഊ༰ ͓٬༷͕͍ͳ͍தɺ։ൃΛ։͕࢝ͨ͠ɺޙϦϦʔε͞Εͳ͍࣌ظ͕͔ͬͨ ແཧ͓ͯ͠٬༷ʹಋೖͯ͠Β͕ͬͨɺཁ͕݅ѱ͍͘ʹͳΒͳ͔ͬͨ ٢ଜͷݪҼ༧ଌ ۩ମతͳ͓٬༷ͳ͠Ͱͷ։ൃ͍͠ ͓٬༷ʹຏ͔ΕΔͷ͕͗͢Δͱཁ͕݅ѱ͘ͳΔՄೳੑ͕͋Δ
৽εέδϡʔϥʔͷڭ܇ ۩ମతͳ͓٬༷Ϣʔβʔ͕ܾ·͔ͬͯΒ։ൃΛ͖͢ ͓٬༷ʹͬͯຏ͍ͯΒΘͳ͍ͱٻΊΒΕΔػೳͱ࣮ࡍ ͷػೳͱͷဃ͕େ͖͘ͳΔ
աڈͷϓϩδΣΫτશͯΛ௨ͯ͡ ࣦഊޙͲ͏͍͏෩ʹͳ͔ͬͨ ϓϩδΣΫτ͕ࣦഊͨ࣌͠ʹͦͦ͜͜ਓ͕ࣙΊͨ ઃܭࢧԉγεςϜ 7ਓத2ਓୀ৬ɺ৽Τϯδϯ ̑ਓத2ਓୀ৬ɺ ৽εέδϡʔϥʔ ̐ਓத1໊ୀ৬ ΈΜͳ্࢘(ࣗ)৫ʹର͢ΔఘΊɺౖΓɺ͠ΈͷۀՐʹ ম͔Εͳ͕ΒࣙΊ͍ͯͬͨ
ͦͷ݁Ռɺ͍݄Λ͔͚ͯஷΊͨ։ൃٕज़طଘυϝΠϯࣝ ͕ࣦΘΕͨ
·ͱΊ ҎԼํ͕ͳ͍͜ͱͰ͋Δ ϓϩδΣΫτࣦഊ͢ΔՄೳੑ͕͋Δ ࣦഊ͢Δͱࣤᄖड͚Δ͠ϞνϕʔγϣϯԼ͔Βͷୀ৬ʹ ܨ͕Γ͍͢ ϓϩδΣΫτͷࣦഊ͕͋Ζ͏͕ͳ͔Ζ͏͕ɺਓྲྀಈతͳͷͰ Γৗʹ։ൃٕज़ɺυϝΠϯࣝͷҠసΛ͍͖ͯ͠ͳ͕Β։ ൃͨ͠΄͏͕ྑ͍
۩ମతରࡦͱͯ͠ ։ൃٕज़ͱυϝΠϯࣝΛ৫ͷͷʹ͢Δํ๏ 1.νʔϜݟੵΓ 2.υΩϡϝϯςʔγϣϯ 3.ϖΞϓϩ 4.։ൃٕज़ͱυϝΠϯࣝͷษڧձ ͜ΕΒ͕ॱ൪ʹඅ༻ରޮՌͱͯ͠ߴ͍ͷͰͳ͍͔ͱࢥͬͯ ͍·͢ɻ
ͦΕͰୀ৬ΛԼ͍͛ͨ ༗څऔಘͷऔΓ͍͢งғؾΛ࡞Δ ࣌ؒ࿑ಇ(ۀ)Λ͠ͳ͍ಇ͖ํΛਪ͠ਐΊΔ Ϧʔμʔ͕Ҏ্Λઌ࣮ͯ͠ߦ͠ɺΓ͘ΓΛ͢Δ ͨͬͨͦΕ͚ͩͰ͔ͳΓ༗ޮʹޮ͖·͢ɻ աڈ2ؒͰ37໊ͷνʔϜͰୀ৬ऀθϩΛ࣮ݱͰ͖·ͨ͠ɻ
ࣦഊʹؔΘΔ͓͢͢Ίͷຊ σεϚʔν γεςϜোͳͥೋى͖͔ͨ
Ҏ্ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠