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
mather
October 11, 2016
Technology
0
610
開発者だけでソフトウェア設計をしてはいけない理由
過去の設計・開発を振り返りながらソフトウェア設計を開発者だけで行ってはいけない理由を説明します。
mather
October 11, 2016
Tweet
Share
More Decks by mather
See All by mather
SolidjsでLeacTion!を作り直しました / Rebuilt LeacTion! in Solid.js
mather
0
320
Webフレームワークの功罪 / Advantages and considerable point of Web Frameworks
mather
0
470
LeacTion!のアップデートとプチ勉強会へのいざない / Updates of LeacTion and Petit Meetup
mather
0
480
LeacTion!について / About LeacTion!
mather
0
330
Rubyでワンライナー / One-liner on Ruby
mather
0
470
認知と思考パターン / Cognition and Pattern
mather
1
280
「モデル」を考える / Think about "model"
mather
0
380
Shall we make a speech?
mather
0
240
Elmでライフゲーム / LifeGame in Elm
mather
1
1k
Other Decks in Technology
See All in Technology
Serverless Meetup #21
yoshidashingo
1
120
結局QUICで通信は速くなるの?
kota_yata
5
3.9k
全員が手を動かす組織へ - 生成AIが変えるTVerの開発現場 / everyone-codes-genai-transforms-tver-development
tohae
0
180
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
360
テストを実行してSorbetのsigを書こう!
sansantech
PRO
1
100
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
6
1.1k
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
6.3k
Nx × AI によるモノレポ活用 〜コードジェネレーター編〜
puku0x
0
570
[OCI Technical Deep Dive] OracleのAI戦略(2025年8月5日開催)
oracle4engineer
PRO
1
170
【新卒研修資料】数理最適化 / Mathematical Optimization
brainpadpr
27
13k
生成AI時代におけるAI・機械学習技術を用いたプロダクト開発の深化と進化 #BetAIDay
layerx
PRO
1
1.2k
「Roblox」の開発環境とその効率化 ~DAU9700万人超の巨大プラットフォームの開発 事始め~
keitatanji
0
120
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Making Projects Easy
brettharned
117
6.3k
Become a Pro
speakerdeck
PRO
29
5.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Docker and Python
trallard
45
3.5k
Visualization
eitanlees
146
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
Transcript
։ൃऀ͚ͩͰ ιϑτΣΞઃܭΛ ͍͚ͯ͠ͳ͍ ཧ༝ ೆभιϑτΣΞઃܭLabo vol.1 #ddd_labo ܂ാӳࢿ
ࣗݾհ • גࣜձࣾΞϥλφ • 2લ·Ͱ౦ژͷձࣾͰۈ • ݩֶઐ߈ʢʣ • ͖ͳݴޠɿHaskellͱ͔Scalaͱ͔ •
झຯɿεΩϡʔόμΠϏϯάɺΧϝϥ
μΠόʔؒɹืूதʂ
͓͜ͱΘΓ • աڈͷιϑτΣΞઃܭɾ։ൃͷܦݧஊ • ࣦഊͷࣄྫ͔Βֶͼ͍ͨ • ※͋͘·ͰݸਓͷײͰ͢
Agenda • എܠ • ͳͥ։ൃऀ͚ͩͰઃܭͨ͠ͷ͔ʁ • Կ͕ى͔ͬͨ͜ʁ • Կ͔ʁͲ͏͢ΕվળͰ͖ͨͩΖ͏͔ʁ •
υϝΠϯۦಈઃܭͷಓ
Agenda • എܠ • ͳͥ։ൃऀ͚ͩͰઃܭͨ͠ͷ͔ʁ • Կ͕ى͔ͬͨ͜ʁ • Կ͔ʁͲ͏͢ΕվળͰ͖ͨͩΖ͏͔ʁ •
υϝΠϯۦಈઃܭͷಓ
എܠ ͱ͋Δձࣾ ϚʔέςΟϯάπʔϧ (ASP)
ϚʔέςΟϯάπʔϧʁ
طଘϓϩμΫτͷঢ়ଶ • ॏͳΔཁٻΛগͣͭ͠Ճ࣮ͯ͠ϦϦʔε • طଘػೳͷվमσάϨ͕ාͯ͘Ͱ͖ͳ͍ • ΄΅ಉ͡ػೳΛίϐϖͯᷖ͠ճίʔυͷྔ࢈ • εύήςΟίʔυ ƅшƅ)řŵŖ
• ֦ுੑͷݶք͕དྷ͍ͯΔ…ʂ
എܠ 2ձࣾͬͱ͍ͨ͠ɻ ɹιϑτΣΞ։ൃࠓޙͲ͏͢ΕΑ͍͔ʁ ᶃগͣͭ͠ϦϑΝΫλϦϯά͢Δɻ ᶄ࣍ظόʔδϣϯͷ։ൃɾҠߦΛݕ౼͢Δɻ ᶅͲ͏ʹͳΒͳ͍ɻݱ࣮ඇͰ͋Δɻ
എܠ ᶃճؼςετ͕ͳ͘ɺ༷ʹ͍ͭͯѲͰ͖ͯ ͍Δਓ͕͍ͳ͍ͨΊɺϦϑΝΫλϦϯάͷਖ਼͠ ͞Λ୲อͰ͖ͳ͍ɻ ᶄಉ͘͡ϝϯόʔ͕༷ʹ͍ͭͯ໌Δ͘ͳ͍ɻ ߋʹɺઐ༻γεςϜΧελϚΠζΛՃ͍͑ͯ Δސ٬ଘࡏ͢ΔͨΊɺҠߦ͕Ͱ͖ͳ͍Մೳੑ ͕ߴ͍ɻ
͑ᶅ ͑ᶅ ͑ᶅ
δϦශϓϩμΫτ ͋Δ͋Δ
͜͜Ͱ੨ఱͷᯡᯧ
ͬͺΓ ࣍ظόʔδϣϯΛ࡞ͬͯ Ṣճ͢Δͧʂʂʂ by Ғ͍ਓ at ࣾһ૯ձ
࣍ظόʔδϣϯͷ։ൃ ͦΜͳ͜ΜͳͰ ϓϩδΣΫτԽ͞Εͨ ಥવ
Agenda • എܠ • ͳͥ։ൃऀ͚ͩͰઃܭͨ͠ͷ͔ʁ • Կ͕ى͔ͬͨ͜ʁ • Կ͔ʁͲ͏͢ΕվળͰ͖ͨͩΖ͏͔ʁ •
υϝΠϯۦಈઃܭͷಓ
ͳͥ։ൃऀ͚ͩͰઃܭͨ͠ͷ͔ʁ ཁ݅ఆ͔ٛΒड͚ೖΕςετ·Ͱ։ൃͰߦ͏׳ྫ վળཁ όάใࠂ ཁ݅ఆٛ ઃܭ ࣮ ςετ ӡ༻
ͳͥ։ൃऀ͚ͩͰઃܭͨ͠ͷ͔ʁ ෦ߏ։ൃऀ͔͠ཧղͰ͖ͳ͍(?)
ͳͥ։ൃऀ͚ͩͰઃܭͨ͠ͷ͔ʁ ৽͍ٕ͠ज़࠷৽൛ͷػೳΛऔΓೖΕ͍ͨ 7 or 8 (6EOL)
ཁ͢Δʹ
։ൃ෦͚ͩͰ ։ൃ͍ͯ͠Δͱ͍͏ ࣗෛ
Agenda • എܠ • ͳͥ։ൃऀ͚ͩͰઃܭͨ͠ͷ͔ʁ • Կ͕ى͔ͬͨ͜ʁ • Կ͔ʁͲ͏͢ΕվળͰ͖ͨͩΖ͏͔ʁ •
υϝΠϯۦಈઃܭͷಓ
Կ͕ى͔ͬͨ͜ʁ • ΩοΫΦϑ&։ൃ߹॓ • ཁ݅Λूதతʹٞʢͨͭ͠Γʣ • ཉ͍͠ػೳɾ͢ػೳɾফ͖͢ػೳΛ ։ൃऀࢹͰग़͚ͨͩͩͬͨ͠ • େ෩࿊ෑΛ͕͛ͨ̎ϲ݄ޙʹফ͑ͨ
Կ͕ى͔ͬͨ͜ʁ • ͍͟։ൃελʔτͨ͠ͷͷ… • ·ͣಈ͘ͷΛ࡞ͬͯ։ൃͯ͠·͢Ξϐʔϧ • Ͱɺ୭ʹݟͤΕ͍͍ʁ • ͲΜͳػೳ͕ඞཁ͔୭͕ܾΊΔʁ •
ϓϩμΫτΦʔφʔͷ࣮࣭తෆࡏ
Կ͕ى͔ͬͨ͜ʁ • ୭ͬͯ͘Εͳ͍ͷͰখنҊ݅ʹೖ(!) • ϕʔλ൛ͷͣͩͬͨͷʹ̍ܖ • ͳ่͠͠తʹػೳ֬ఆ͠ɺϦϑΝΫλෆೳʹ • ύονΞοϓσʔτͷ࢝·Γ •
ڧͳطࢹײ
Կ͕ى͔ͬͨ͜ʁ • ӦۀʮͰɺطଘͷػೳA͑·͔͢ʁʯ • ൚༻ੑΛҙࣝͯ͠εϦϜʹղ͍ͯͨ͠ • Έ߹ΘͤΕಉ͜͡ͱ࣮ݱͰ͖Δͣʁ • Ӧۀʮ͔Βͳ͍ʯʮސ٬ʹઆ໌Ͱ͖ͳ͍ʯ •
Ӧۀ͚આ໌ॻΛ࡞Δඞཁ͋Γʁ
Կ͕ى͔ͬͨ͜ʁ • چόʔδϣϯ͔Βͷސ٬ͷҠߦՄೳ͔ʁ • ։ൃऀʮچver.ͷσʔλߏͷΛղܾ ͢ΔͷͰ͋ΔͨΊҠߦۃΊͯࠔʯ • ӦۀʮεϜʔζʹҠߦͰ͖ͳ͍ͱചΕͳ͍ʯ • Ғ͍ਓʮҠߦඞਢɻͳΜͱ͔ͤΑɻʯ
Ͳ͏ͯ͜͠͏ͳͬͨʁʁʁ
Agenda • എܠ • ͳͥ։ൃऀ͚ͩͰઃܭͨ͠ͷ͔ʁ • Կ͕ى͔ͬͨ͜ʁ • Կ͔ʁͲ͏͢ΕվળͰ͖ͨͩΖ͏͔ʁ •
υϝΠϯۦಈઃܭͷಓ
ސ٬ͷۀͰ͏ͨΊͷπʔϧ։ൃ ͳͷʹ ސ٬ۀΛ͍ͬͯΔϝϯόʔ͕͍ͳ͍··ઃܭ ར༻ঢ়گΛ͖ͪΜͱѲ͠ ࣮ࡍͷސ٬ۀΛΔϝϯόʔͱ ϢʔεέʔεΛ࡞Δ͖
ސ٬ۀଟذʹΘͨΔͷͨΊ ࢥ͍ͭ͘৭ʑͳύλʔϯʹରԠͰ͖ΔΑ͏ʹ ֦ுੑͱ൚༻ੑΛॏࢹͯ͠͠·ͬͨ Ϣʔεέʔεʹݟ߹͏࠷খͷߏ͔Β࢝ΊΔ͖ ͍͔ͭ͘ͷέʔεʹର͢Δ࣮Λ ͋ͱͰϦϑΝΫλ͢Εྑ͍
࠷খߏͷཁ͕݅Θ͔Βͳ͍ ෆཁͳͷΛΈࠐΜͰͳ͍͔ఆͰ͖ͳ͍ ۀΛཧղ͍ͯ͠Δ εςʔΫϗϧμʔΛཱͯΔ͖
چver.ͷػೳ໊ϫʔΫϑϩʔΛ ҙࣝͯ͠͠·͏͜ͱͰ ಉ͡ػೳΛম͖͠Ͱ࡞ͬͯ͠·͏ چver.ͷ׳शతͳࣾ༻ޠΛཧ ຊདྷͷۀʹඞཁͳ༻ޠΛ͏
࣍ظόʔδϣϯͱฉ͍ͯಥͬΔΞϗʢࣗʣ ̍ਓͰScala, AkkaͰ෦తͳػೳΛ࣮ ؔܕActorϞσϧͷฒߦੑʹϋϚΔ ͱΓ͋͑ͣམͪண͚ ࣗҎ֎ͰอकՄೳͳݴޠΛબͿ͖ ʢͱ͍͑ݸਓతʹྑ͍ܦݧʣ
Agenda • എܠ • ͳͥ։ൃऀ͚ͩͰઃܭͨ͠ͷ͔ʁ • Կ͕ى͔ͬͨ͜ʁ • Կ͔ʁͲ͏͢ΕվળͰ͖ͨͩΖ͏͔ʁ •
υϝΠϯۦಈઃܭͷಓ
ͷυϝΠϯۦಈઃܭͷಓ • ʮ༻ޠཧʯΛ͍ͨ͠ɺͱ͍͏ཉٻ͔Β • ΩʔϫʔυʮϢϏΩλεݴޠʯ͔ΒDDD • ۀʹԊͬͯιϑτΣΞΛ։ൃ͢Δ֓೦ʹ ಉҙ • ݱࡏͷ։ൃͷ͕ஈʑݟ͑ͯ͘Δ
υϝΠϯۦಈઃܭͷಓ • ސ٬ͷۀΛΔਓΛҾ͖ࠐΉ ʢυϝΠϯΤΩεύʔτʣ • ۀͷ֓೦Λదʹදݱ͢Δݴ༿Λߏங͢Δ ʢϢϏΩλεݴޠʣ • ϓϩμΫτͷଟ༷ԽͱίϯςΩετͷղ
ํ๏Ͱͳ͍υϝΠϯۦಈઃܭ • ։ൃͰؕΓ͕ͪͳΛ໌֬ʹ͢ΔͨΊͷ ࢥߟํ๏ͷҰͭ • ͷલͷ࣮ࣗͷ୲ྖҬ͚ͩʹಛԽ͠ ͨ࠷খྖҬͰकΓʹೖ͍͚ͬͯͳ͍ • ۀʹଈͨ͠ʮՁͷ͋ΔϓϩμΫτʯΛಧ ͚ΔͨΊͷ࠷దͳߏΛߟ͑Δ͖
·ͱΊ
Β ୭ͷՁͷͨΊʹ ιϑτΣΞΛઃܭ͠ ։ൃ͢Δͷ͔
ࠓҰ ͍ͦ͏
None