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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Soichiro Yoshimura
September 27, 2023
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
失敗の話
過去自分が前職で経験したソフトウェア開発に関する失敗の話です。
とあるLTで発表しようと思ったのですが、機会を失ったので公開することにしました。
----
slideshareより移行
Soichiro Yoshimura
September 27, 2023
More Decks by Soichiro Yoshimura
See All by Soichiro Yoshimura
プログラミング教育する大学、ZEN大学
sifue
1
730
いちソフトウェアエンジニアが プログラミング教育をはじめるのに読んで良かった本
sifue
0
260
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
sifue
0
300
チームの目標への柔軟な対応
sifue
0
150
並行処理初心者のためのAkka入門
sifue
0
63
2013年末カウントダウン番組におけるAkamai活用事例
sifue
0
140
ソフトウェア設計のすすめ
sifue
0
130
6000名以上の高校生に行われた VR教育の実践と課題
sifue
0
6.4k
N高等学校でのSlackの活用
sifue
0
1.3k
Other Decks in Technology
See All in Technology
Fabricをフル活用する AI Agent Hub -製造業特化AIエージェントの設計
iotcomjpadmin
0
190
AI時代における最適なQA組織の作り方
ymty
3
340
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
280
はてなのサービス基盤を支える Kubernetes《足腰》
masayoshimaezawa
0
430
打造你的 AI 工作流:Agent Skill + MCP 實戰工作坊
appleboy
0
450
AI・ロボティクスと自動化社会 / AI, Robotics, and the Automated Society
ks91
PRO
0
150
AIエージェントとPhysical AIが拓く製造業の変革(ハノーバーメッセリキャップ)
iotcomjpadmin
0
210
認証認可だけじゃない! ID管理の構成要素と ライフサイクルを意識しよう
ritou
1
450
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
330
デジタル・デザイン:次の50年を描く「進化する青写真」
y150saya
0
800
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
280
Agentic AI 時代のテスト手法: Kiro とはじめるプロパティベーステスト (AWS Summit Japan 2026 | DEV212)
ymhiroki
0
200
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
How to make the Groovebox
asonas
2
2.3k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Context Engineering - Making Every Token Count
addyosmani
9
1k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
360
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
330
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
180
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໊ͷνʔϜͰୀ৬ऀθϩΛ࣮ݱͰ͖·ͨ͠ɻ
ࣦഊʹؔΘΔ͓͢͢Ίͷຊ σεϚʔν γεςϜোͳͥೋى͖͔ͨ
Ҏ্ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠