Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
技術的負債と向き合う取り組みでよかったもの / positive_efforts_to_tac...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
yuuki takezawa
October 16, 2023
Programming
4.1k
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
技術的負債と向き合う取り組みでよかったもの / positive_efforts_to_tackle_technical_debt
こんなことをやって改善していっているよ、という話
yuuki takezawa
October 16, 2023
More Decks by yuuki takezawa
See All by yuuki takezawa
なぜAI時代に 「イベント」を中心に考えるのか? / Why focus on "events" in the age of AI?
ytake
4
2.3k
PHPでアクターモデルを活用したSagaパターンの実践法 / php-saga-pattern-with-actor-model
ytake
0
3.1k
PHP ステートレス VS ステートフル 状態管理と並行性 / php-stateless-stateful
ytake
0
400
PHPでアクターモデルを理解・体験しよう / Understand and experience the actor model in PHP
ytake
2
1k
再考 アクターモデル/ reconsider actor model
ytake
0
1.7k
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
740
Phluxorでアクターモデルを 理解・体験しよう / toolkit-for-flexible-actor-models-in-php-phluxor
ytake
1
410
オブジェクトのおしゃべり大失敗 メッセージングアンチパターン集 / messaging anti-pattern collection
ytake
2
1.4k
DRE/SREのプラクティス融合によるクラウドネイティブなデータ基盤作り / dre_sre
ytake
0
1.1k
Other Decks in Programming
See All in Programming
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
190
Seven New Principles of Software Engineering
yegor256
0
380
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
200
気持ちぃ〜角丸 Squircle
ryu1013
0
370
Event is what happens
moro
2
2k
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
170
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.1k
AI Augmentation Techniques with Liberty
ivargrimstad
0
150
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
190
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.7k
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
370
Modernizing iOS Apps
seyfoyun
0
130
Featured
See All Featured
Faster Mobile Websites
deanohume
310
32k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
290
Six Lessons from altMBA
skipperchong
29
4.5k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
470
Why Our Code Smells
bkeepers
PRO
340
58k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
660
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Agile that works and the tools we love
rasmusluckow
331
22k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.2k
Building the Perfect Custom Keyboard
takai
2
930
Transcript
ZVVLJUBLF[BXBZUBLF ٕज़తෛ࠴ͱ͖߹͏औΓΈͰྑ͔ͬͨͷ
QSP fi MF • ελʔϑΣεςΟόϧגࣜձࣾ΄͔ • σʔλॲཧ͍Ζ͍Ζ • (P4DBMB
• ϚΠΫϩαʔϏεΞʔΩςΫνϟɾϦΞΫςΟϒγεςϜɺ ϨΨγʔվળ43&%3&ɺ֤छϞσϦϯάͷࢧԉͳͲ • 9IUUQTUXJUUFSDPNFY@UBLF[BXB
ٕज़తෛ࠴ͱָ͖͘͠߹͑ͯ·͔͢ʁ
ٕज़ෛ࠴ͦͷͷͷׂѪ ʢΥʔυࢯͷ։ൃऀମݧدΓͷͳͲʣ
͖߹͏ͨΊͷ४උ
આ໌ɾڠྗΛ์غ͠ͳ͍ • վળ͞Εͳ͚ΕͲ͏ͳΔ͔ɺվળͨ͠ΒͲ͏ͳΔ͔ վળ͠ͳͯ͘ͳ͍ͷ͔Ͳ͏͔ • ػೳՃ͕Ͱ͋Ε ͲͷΑ͏ͳΞτΧϜΛظ͍ͯ͠Δͷ͔͔ͬ͠ΓدΓఴ͏
• ΤϯδχΞͷ༻ޠΛΘͣʹ8):͕આ໌Ͱ͖Δͷ͔Ͳ͏͔
ঢ়گΛՄࢹԽ͠Α͏ • 43&͕จԽͱͯ͋͠Δ߹ɺ ͲͷΑ͏ͳྖҬ෦͕ϋοϐʔͰͳ͍ঢ়گͳͷ͔ • ΠϯλϥΫγϣϯΛཧղͯ͠၆ᛌͯ͠ߟ͑Δ
• ΤϯδχΞΘͣจԽͱ͍ͯ͘͠ͷҰͭ
શһࢀՃͰΠϕϯτετʔϛϯά
5IF"SUPG4-0TϫʔΫγϣοϓ
͖߹͏ͨΊͷجૅମྗΛ͚ͭΔ • ϫʔΫγϣοϓఆظతʹ࣮ࢪதʢʹҰճ͘Β͍ʣ • ݱࡏಈ͍͍ͯΔαʔϏεͱͷฒɾաظͷϓϥϯ • νʔϜͷ݈߁ঢ়ଶͳͲ
ฦࡁ͍ͯͧ͘͠ʂ
աڈʹܟҙΛ͏ • ݱঢ়ͷγεςϜͷঢ়گΛ͔ͬ͠Γͱཧղ͢Δ • υϝΠϯΛ͔ͬ͠Γͱཧղ͢Δ • աڈͷܦҢɾ͜Ε·ͰͷഎܠΛΔ
ҙ
ؾΛ͚ͭΑ͏ • Ϟμϯͳ࡞Γํ͡Όͳ͍͔Β৽͍ͨ͘͠͠ • ॻ͖ํ͕ؾʹ৯Θͳ͍ • ͱΓ͔͍͍͋͑ͣͬ͜ΞʔΩςΫνϟʹ͍ͨ͠ • ͳͲͳͲ
৽͘͠ΠέͯΔίʔυʹʂ
ݩͷγεςϜΑΓύϑΥʔϚϯε͕ѱ͘ͳΓ·ͨ͠ ෳࡶͳγεςϜʹͳΓ·ͨ͠ɾɾ
ؾΛ͚ͭΑ͏ • ײ֮తͳͷɺओ؍త͗͢ΔͷͳͲ͕ ೖΓࠐ·ͳ͍Α͏ʹ • ޙΠέͯΔͷ͋Γ·ͤΜ • ࠓΈͳ͞Μ͕ॻ͍ͯΔίʔυγεςϜෛ࠴ʹͳΔͷͰ͢
ೝͷࠩʹؾΛ͚ͭΑ͏
ϨϏϡʔɾυϝΠϯΛཧղ͢Δձ • ݱࡏͷυϝΠϯ͕ࣝڞ༗͞ΕΔ·Ͱຖि࣮ࢪ ʢࣄલʹΠϕϯτετʔϛϯάͳͲΛΈΜͳͰʣ • ӡ༻νʔϜͳͲަ͑ͯίʔυͷॻ͖ํӠʑ͚ͩͰͳ͘ ͜Ε·ͰͷഎܠͳͲซͤͯฉ͘
• ୯ͳΔίʔυϨϏϡʔͰด͡ͳ͍
ϨϏϡʔɾυϝΠϯΛཧղ͢Δձ • ࠓݱࡏͷঢ়گΛΓऔͬͯ៉ྷʹ͚ͨͩ͠ͷ γεςϜɾίʔυʹͳ͍ͬͯͳ͍͔Ͳ͏͔ • ։ൃऀମݧ͚͕ͩ༏ઌ͞Ε͍ͯͳ͍͔Ͳ͏͔ • νʔϜͰೝ͕ଗ͍ͬͯΔ͔ɺΕͦ͏͔Ͳ͏͔
ϨϏϡʔɾυϝΠϯΛཧղ͢Δձ • ٕज़తʹᘳͰ͋Δඞཁ͋Γ·ͤΜ • ᘳʹ͠Α͏ͱ͢Δ΄Ͳਐ·ͳ͘ͳΔ • େମͷํੑ͕͋Εɺଟগͷߥ͞ڐ༰ • ͕ɺ৫نʹΑ༷ͬͯʑ
݁Ռ νʔϜϝϯόʔ͕υϝΠϯΤΩεύʔτʹ ৫ίϛϡχέʔγϣϯ͕େ෯վળ ٕज़తෛ࠴͕ੜ·Εʹ͍͘αΠΫϧͷҰา
ࢥΛ͑Δɾ͢
ࢥΛ͖ͪΜͱ͍͑ͯ͘ • Ͳ͏͍ͬͨํͰɺࢦ͢ํͲ͜ͳͷ͔ υϝΠϯ͔Βಋ͖ग़͞Εͨͷ͔Ͳ͏͔ • ૈͯ͘άϥϯυσβΠϯɾίϯηϓτΛ
ࢥΛ͖ͪΜͱ͍͑ͯ͘ • ྫ͑ϨΠϠߏ͚ܾͩΊ͍ͯ͘ͱɺ8):͕ൈ͚མͪ ϨΠϠߏʹ͢Δ͜ͱ͚ͩʹϑΥʔΧε͞Εͯ͠·͏ • ٕज़࣌ͷྲྀΕͱͱʹมΘ͍ͬͯ͘ͷ • ΨονΨνʹߟ͑ͨͷ͕ͯݹ͘ͳΔ
࣌ͷਓ͕͍ͳ͍ ͕ࣝڞ༗͞Εͳ͍ͨΊೝʹࠩ
Α͍ͷͰ͋ͬͯෛ࠴ʹݟ͑ͯ͠·͏
ݱࡏͷνʔϜͰ࠷దͳ͑ɺ ใͷ͠ํΛ୳͠·͠ΐ͏
্ख͖͘߹͏ʹ • ٕज़໘͚ͩͰͳ͘ɺաڈΛΔ • υϝΠϯΛཧղ͠ɺγεςϜͱͷࠩΛਖ਼͘͠ೝࣝ͢Δ • ΈΜͳͰ܁Γฦཱ͔͍ͪ͠ɺจԽʹ
͋Γ͕ͱ͏͍͟͝·ͨ͠