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
85
失敗の話
過去自分が前職で経験したソフトウェア開発に関する失敗の話です。
とあるLTで発表しようと思ったのですが、機会を失ったので公開することにしました。
----
slideshareより移行
Soichiro Yoshimura
September 27, 2023
Tweet
Share
More Decks by Soichiro Yoshimura
See All by Soichiro Yoshimura
プログラミング教育する大学、ZEN大学
sifue
1
540
いちソフトウェアエンジニアが プログラミング教育をはじめるのに読んで良かった本
sifue
0
190
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
sifue
0
230
チームの目標への柔軟な対応
sifue
0
98
並行処理初心者のためのAkka入門
sifue
0
35
2013年末カウントダウン番組におけるAkamai活用事例
sifue
0
82
ソフトウェア設計のすすめ
sifue
0
79
6000名以上の高校生に行われた VR教育の実践と課題
sifue
0
6k
N高等学校でのSlackの活用
sifue
0
1.2k
Other Decks in Technology
See All in Technology
AWS Well-Architected から考えるオブザーバビリティの勘所 / Considering the Essentials of Observability from AWS Well-Architected
sms_tech
1
850
DATA+AI SummitとSnowflake Summit: ユーザから見た共通点と相違点 / DATA+AI Summit and Snowflake Summit
nttcom
0
210
自分がLinc’wellで提供しているプロダクトを理解するためにやったこと
murabayashi
1
160
スプリントレビューを効果的にするために
miholovesq
9
1.6k
20150719_Amazon Nova Canvas Virtual try-onアプリ 作成裏話
riz3f7
0
130
20250719_JAWS_kobe
takuyay0ne
1
160
分散トレーシングによる コネクティッドカーのデータ処理見える化の試み
thatsdone
0
190
ゼロから始めるSREの事業貢献 - 生成AI時代のSRE成長戦略と実践 / Starting SRE from Day One
shinyorke
PRO
0
230
AI Ready API ─ AI時代に求められるAPI設計とは?/ AI-Ready API - Designing MCP and APIs in the AI Era
yokawasa
20
5.8k
AIを使っていい感じにE2Eテストを書けるようになるまで / Trying to Write Good E2E Tests with AI
katawara
2
1.6k
生成AIによる情報システムへのインパクト
taka_aki
1
110
PHPでResult型やってみよう
higaki_program
0
190
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Why Our Code Smells
bkeepers
PRO
337
57k
Building Applications with DynamoDB
mza
95
6.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Raft: Consensus for Rubyists
vanstee
140
7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Agile that works and the tools we love
rasmusluckow
329
21k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
710
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
Docker and Python
trallard
45
3.5k
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໊ͷνʔϜͰୀ৬ऀθϩΛ࣮ݱͰ͖·ͨ͠ɻ
ࣦഊʹؔΘΔ͓͢͢Ίͷຊ σεϚʔν γεςϜোͳͥೋى͖͔ͨ
Ҏ্ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠