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
590
開発者だけでソフトウェア設計をしてはいけない理由
過去の設計・開発を振り返りながらソフトウェア設計を開発者だけで行ってはいけない理由を説明します。
mather
October 11, 2016
Tweet
Share
More Decks by mather
See All by mather
SolidjsでLeacTion!を作り直しました / Rebuilt LeacTion! in Solid.js
mather
0
280
Webフレームワークの功罪 / Advantages and considerable point of Web Frameworks
mather
0
370
LeacTion!のアップデートとプチ勉強会へのいざない / Updates of LeacTion and Petit Meetup
mather
0
430
LeacTion!について / About LeacTion!
mather
0
310
Rubyでワンライナー / One-liner on Ruby
mather
0
420
認知と思考パターン / Cognition and Pattern
mather
1
260
「モデル」を考える / Think about "model"
mather
0
360
Shall we make a speech?
mather
0
220
Elmでライフゲーム / LifeGame in Elm
mather
1
980
Other Decks in Technology
See All in Technology
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
520
MLOps の現場から
asei
6
640
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
520
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
1
300
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
260
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
120
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
190
.NET 9 のパフォーマンス改善
nenonaninu
0
800
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.2k
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
260
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
335
57k
Music & Morning Musume
bryan
46
6.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
510
Designing for Performance
lara
604
68k
Code Review Best Practice
trishagee
65
17k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Building Your Own Lightsaber
phodgson
103
6.1k
A designer walks into a library…
pauljervisheath
204
24k
Code Reviewing Like a Champion
maltzj
520
39k
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