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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Satoshi Kawashima
July 25, 2018
Technology
920
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アジャイル開発でのソフトウェア設計
第128回PHP勉強会@東京の発表資料です。
変なこと書いてたらすいません。
言い訳がましいですが、こう考えてる人もいる程度に受け止めていただけると幸いです。
Satoshi Kawashima
July 25, 2018
More Decks by Satoshi Kawashima
See All by Satoshi Kawashima
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
9
6.8k
モジュラモノリスにおけるトランザクション設計の考え方 / transaction design on modular monolith
nazonohito51
16
9.9k
BASE大規模リアーキテクチャリング / base_rearchitecturing
nazonohito51
17
14k
既存サービスに後からR/W Splittingライブラリを入れる時に考えたこと / r-w-splitting
nazonohito51
1
30k
社内勉強会でOOPとCleanArchitectureとDDDを勉強し始めたというお話
nazonohito51
7
5.5k
CakePHP2でもPhpStormがコード補完してくれるようにした話 / cakephp2-ide-helper
nazonohito51
1
2.7k
PHPStanでCustomRuleを作る / Make PHPStan CustomRule
nazonohito51
6
4.5k
単方向依存を実現する静的解析ライブラリのご紹介 / Analyze PHP Dependencies
nazonohito51
3
6.3k
「SOLIDの原則って何ですか?」って質問に答えたかった / What's SOLID principle
nazonohito51
6
2.3k
Other Decks in Technology
See All in Technology
DevOps Agentで運用判断をチーム資産にする~Agent InstructionsとAgent Skillを継続的に育てる~
fujioka6789
0
170
AIエージェントの知識表現と推論に なぜグラフが使われるのか - 記号的AIの復権とニューラルAIとの統合
yohei1126
1
200
reFACToring
moznion
1
880
最高のシステムプロンプトを作るためにフィードバック機能を導入した話
alchemy1115
0
220
信頼できるテスティングAIをどう育てるか?
odan611
0
160
AI研修(Day1)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
2.7k
AI工学特論: MLOps・継続的評価
asei
11
3k
人手不足への挑戦:車両保全を支えるIoTとクラウド内製化の道【SORACOM Discovery 2026】
soracom
PRO
0
160
GMOフィナンシャルゲートが挑む、「止まらない」決済インフラ構築の裏側【SORACOM Discovery 2026】
soracom
PRO
0
110
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
440
現場との対話から始める “作る前に問い直す”業務改善
mochico50
2
340
Escolhendo LLMs na Prática: Lições Reais em Busca Agêntica no Mercado Livre —TDC 2026 Floripa
jpbonson
0
100
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
330
Practical Orchestrator
shlominoach
191
11k
How to build a perfect <img>
jonoalderson
1
5.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Building the Perfect Custom Keyboard
takai
2
820
How to Talk to Developers About Accessibility
jct
2
450
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
What's in a price? How to price your products and services
michaelherold
247
13k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
750
Transcript
ౡܛ(.01FQBCP *OD ୈճ1)1ษڧձˏ౦ژ ΞδϟΠϧ։ൃͰͷ ιϑτΣΞઃܭ
ΞϓϦέʔγϣϯΤϯδχΞ ౡܛ!OB[POPIJUP 4)ࣄۀ෦+6(&.νʔϜ IUUQOB[POPIJUPKVHFNKQ
ιϑτΣΞ։ൃͨ͘͞Μͷ ʮྑ͍ઃܭͷͨΊͷϊϋʯ ͰᷓΕ͍ͯΔ
ΦϒδΣΫτࢦઃܭ
ςετ
ίʔσΟϯάςΫχοΫ
σʔλϕʔε
σβΠϯcΞʔΩςΫνϟ ύλʔϯ
υϝΠϯੳ
"1*
ϚΠΫϩαʔϏε
ઃܭํ๏
ݱ࣮
બͱଥڠͷੵΈॏͶ
ଥڠ͢Δʹ ͳΔ͘ྑ͍ଥڠΛ͍ͨ͠
ͦͦ ԿͷͨΊʹ ઃܭΛͯͨ͠Μ͚ͩͬ
جຊʹཱͪฦͬͯΈͨ
ΞδϟΠϧ։ൃʹ͓͚Δ ιϑτΣΞઃܭͱ
ࢲͨͪɺιϑτΣΞ։ൃͷ࣮ફ ͋Δ͍࣮ફΛखॿ͚Λ͢Δ׆ಈΛ௨ͯ͡ɺ ΑΓΑ͍։ൃํ๏Λݟ͚ͭͩͦ͏ͱ͍ͯ͠Δɻ ͜ͷ׆ಈΛ௨ͯ͠ɺࢲͨͪҎԼͷՁʹࢸͬͨɻ ϓϩηεπʔϧΑΓݸਓͱରΛɺ แׅతͳυΩϡϝϯτΑΓಈ͘ιϑτΣΞΛɺ ܖަবΑΓސ٬ͱͷڠௐΛɺ ܭըʹै͏͜ͱΑΓมԽͷରԠΛɺ Ձͱ͢Δɻ͢ͳΘͪɺࠨهͷ͜ͱ͕ΒʹՁ͕͋Δ͜ͱΛ ೝΊͳ͕Βɺࢲͨͪӈهͷ͜ͱ͕ΒʹΑΓՁΛ͓͘ɻ
ΞδϟΠϧιϑτΣΞએݴ IUUQBHJMFNBOJGFTUPPSH
υΩϡϝϯτΑΓίʔυΛ ༏ઌ͍ͤͯ͞Δ͚ͩͰ ઃܭΛ͠ͳ͍Θ͚Ͱͳ͍
ΥʔλʔϑΥʔϧͱͷൺֱ wΥʔλʔϑΥʔϧͷઃܭɿఔ QSPDFTT ͷ໊લͱͯ͠ͷʮઃܭʯ ͱ͍͏ҙຯ߹͍͕ڧ͍ wఔͷલͷ४උఔ wΞδϟΠϧͷઃܭɿιϑτΣΞΛมߋ͍͢͠ঢ়ଶʹอͭҰ࿈ͷ׆ ಈ BDUJWJUZ
͜ͷ͍͋ͩͷ1)1ͷݱ wʮʹରͯ͠ղܾࡦͱͳΔߏΛ༩ ͑ΔΞΫςΟϏςΟʯ
ΞδϟΠϧʹ͓͚Δઃܭͷൣғ wίʔυͱςετʹର͢Δ׆ಈΛத৺ʹޠΒΕΔ w$4͚ͷXJLJ·ͱΊɺίʔυ͔Β͔ΓͮΒ͍෦ͷυΩϡϝ ϯτ࡞Γͱ͔ઃܭ׆ಈʹؚ·ΕΔͱݸਓతʹࢥ͏͕ɺগͳ͘ͱ ΞδϟΠϧͰͦͷลΓ͋·Γ৮ΕΒΕͳ͍ w࠷ۙԿͰίʔυͰཧ͢ΔΑ͏ʹͳ͖ͬͯͨͷͰɺΞδϟΠϧͷ ߟ͑ํݱͷঢ়گʹॏͳΔ෦ଟ͍
ԿͷͨΊʹઃܭ͢Δͷ͔ʁ
ʢલུʣ ΞδϟΠϧŋϓϩηε࣋ଓՄೳͳ։ൃΛଅਐ͠·͢ɻ ҰఆͷϖʔεΛܧଓతʹҡ࣋Ͱ͖ΔΑ͏ʹ͠ͳ͚ΕͳΓ·ͤΜɻ ٕज़తӽੑͱ༏Εͨઃܭʹର͢Δ ෆஅͷҙ͕ػහ͞ΛߴΊ·͢ɻ γϯϓϧ͞ʢϜμͳ͘࡞ΕΔྔΛ࠷େݶʹ͢Δ͜ͱʣ͕ຊ࣭Ͱ͢ɻ ࠷ྑͷΞʔΩςΫνϟɾཁٻɾઃܭɺ ࣗݾ৫తͳνʔϜ͔ΒੜΈग़͞Ε·͢ɻ νʔϜ͕ͬͱޮΛߴΊΔ͜ͱ͕Ͱ͖Δ͔ΛఆظతʹৼΓฦΓɺ ͦΕʹج͍ͮͯࣗͨͪͷΓํΛ࠷దʹௐ͠·͢ɻ
ΞδϟΠϧએݴͷഎޙʹ͋Δݪଇ BHJMFNBOJGFTUPPSHQSJODJQMFTIUNM
ػහ͞ʢΞδϦςΟʣ ΛߴΊΔͨΊʹઃܭ͢Δ
͜͜·Ͱͷ·ͱΊ wΞδϟΠϧ͔ͩΒͱݴͬͯઃܭΛ͠ͳ͍Θ͚Ͱແ͍ wίʔυͱςετΛத৺ʹઃܭ͍ͯ͘͠ wมԽΛڐ༰͠ͳ͕ΒΛམͱ͞ͳ͍ͨΊʹɺػහ ͞ʢΞδϦςΟʣΛߴΊΔͨΊʹઃܭΛ͢Δ
ͲΜͳΞϓϩʔνͰઃܭΛ͢Δͷ͔
None
ΠϯΫϦϝϯλϧͳઃܭ
ΠϯΫϦϝϯλϧͳઃܭ w91ͷओཁϓϥΫςΟεʢʣ wຖઃܭ͠ɺͦͷ࣌·ͰͷγεςϜͷχʔζʹઃܭΛ߹ΘͤΔ wͦͷ࣌ඞཁͳ͚ͩઃܭ͢ΔɺඞཁҎ্ʹઃܭ͠ͳ͍ wܦࡁੑʢ͘͢ػೳΛಧ͚Δʣͱઃܭͷ࣭Λॏࢹ͍ͯ͠Δʢͱࢥͬ ͯΔ
ઃܭͷ࣭ͱʁ wաͳઃܭٯʹΞδϦςΟΛԼ͛Δ w༧ଌʹجͮ͘ઃܭෆඞཁͳෳࡶ͞Λট͘ wݪଇύλʔϯʹతʹै͏͚ͩͰෆඞཁͳෳࡶ͞Λট͘ wઃܭͦͷιϑτΣΞͷෳࡶ͞ʹదͨ͠ઃܭΛߦ͏ඞཁ͕͋Δ
దͨ͠ઃܭͱʁ wιϑτΣΞઃܭͷੑ࣭ͱͯ͠ɺඇܾఆ తͰ͋Δͱ͞Ε͍ͯΔ wࢼߦࡨޡϨϏϡʔ͠߹͍ɺܦݧ ͳͲΛ௨ͯ͡ਐԽ͠ɺվળ͞Ε͍ͯ͘ ͷ wຊʹదͨ͠ઃܭͩͬͨͷ͔ܦͬ ͔ͯΒৼΓฦͬͯΈͳ͍ݶΓ͔Βͳ ͍
͜͜·Ͱͷ·ͱΊ wΞδϟΠϧͷ͓͚ΔઃܭͱৗʹΞδϦςΟҡ࣋ͷ؍ ͰઃܭΛݟ͠ଓ͚Δͱ͍͏࣋ଓͨ͠׆ಈ wʮཧͷઃܭʯଘࡏͤͣɺΰʔϧͱݺΔঢ়ଶແ ͍
ଥڠͷํʹ͍ͭͯߟ͑ͯΈͨ
ଥڠͷํΛߟ͑Δ wΞδϟΠϧʹ͓͍ͯɺͦͦઃܭࣗମ͕ଥͳ ʢదͳʣམͱ͠ॴΛԆʑͱ୳͠ଓ͚Δͱ͍͏׆ಈ ͩͬͨ wʮཧͷઃܭ͕͋ͬͯɺͦͨ͜ͲΓண͚ͳ͍͔Β ଥڠ͢Δʯͱ͍͏ࢹࣗମ͕ͨͿΜҧ͏
ΕΔ͜ͱ wܧଓతʹઃܭΛݟ͠ͳ͕ΒɺࠓΑΓྑ͘͠Α͏ͱෆ அͷྗͰվળ͠ଓ͚Δ wϦιʔεݶΒΕ͍ͯΔͷͰΞδϦςΟߩݙͷߴ͞ Ͱ༏ઌΛ͚ͭΔ
ࢀߟॻ੶
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠