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
SimpleとEasyの選択
Search
disc99
December 15, 2016
Technology
1
250
SimpleとEasyの選択
disc99
December 15, 2016
Tweet
Share
More Decks by disc99
See All by disc99
アーキテクチャ選択の裏側
disc99
0
56
120リポジトリを1つのMonorepoに統合した理由
disc99
1
1k
モノリスとマイクロサービスを経てモジュラモノリスを導入した実践事例
disc99
25
14k
PaaS DX by Cloud Native Buildpacks
disc99
0
210
全てのAPIをProtocol Buffersで管理する / Manage all APIs with Protocol Buffers
disc99
2
5.3k
Serverless Application
disc99
1
2.8k
イベント駆動マイクロサービスアーキテクチャ / Event-Driven Microservices Architecture
disc99
4
2.8k
Event Sourcing 101
disc99
1
180
NGINX Blogから考えるマイクロサービスのProxy設計
disc99
0
900
Other Decks in Technology
See All in Technology
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
3
450
自律的なスケーリング手法FASTにおけるVPoEとしてのアカウンタビリティ / dev-productivity-con-2025
yoshikiiida
1
17k
How Do I Contact HP Printer Support? [Full 2025 Guide for U.S. Businesses]
harrry1211
0
120
改めてAWS WAFを振り返る~業務で使うためのポイント~
masakiokuda
2
260
Lazy application authentication with Tailscale
bluehatbrit
0
210
Lakebaseを使ったAIエージェントを実装してみる
kameitomohiro
0
130
生成AI開発案件におけるClineの業務活用事例とTips
shinya337
0
260
FOSS4G 2025 KANSAI QGISで点群データをいろいろしてみた
kou_kita
0
400
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
3
7.7k
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
530
Yahoo!しごとカタログ 新しい境地を創るエンジニア募集!
lycorptech_jp
PRO
0
110
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
280
Featured
See All Featured
Faster Mobile Websites
deanohume
307
31k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
A Modern Web Designer's Workflow
chriscoyier
695
190k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Navigating Team Friction
lara
187
15k
Automating Front-end Workflow
addyosmani
1370
200k
KATA
mclloyd
30
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Code Review Best Practice
trishagee
69
18k
Transcript
SimpleͱEasyͷબ @disc99 #ShinjukuLT
͘͡ • എܠ • SimpleͱEasyͷҧ͍ • ͲͪΒΛબͿ? • ·ͱΊ
എܠ
࠷ۙͷSpring • Spring BootʹΑ Δߴ։ൃ • ॱௐʹ • ࠾༻OK
Spring Boot and more… • ϝδϟʔͳΞʔΩςΫνϟɺϛυϧΣΞͷେΛα ϙʔτ • ެࣜυΩϡϝϯτ๛ •
࠾༻૿͑ใྔଟ͍ • Springࣗମͷ֦ுੑߴ͍ • OSSͳͷͰΘ͔Βͳ͍෦ιʔεಡΊΔ
͜ΕͰָʹͳΔͣ…
ͱ͋ΔϨϏϡʔίϝϯτ • Springͷ͜ͷػೳΛ͑… • ͜ͷDIίϯςφͷॳظԽϑΣʔζͰ… • ৽͘͠Ճ͞Εͨ͜ͷϥΠϒϥϦΛ͏ͱ… • ςετίʔυͰSpring 4.3͔Β…
͍͘Βใ͕͋ͬͯ ୭Ͱ ཧղ͕͍͘Θ͚Ͱͳ͍
͕ࣗ͑ͯ ୭Ͱ͑ΔͱݶΒͳ͍
Ͳ͏͢Δ?
CodeLunch.fm#16 • power-assert։ൃͷܦҢ(SimpleͱEasy) • γϯϓϧ͞ͷඞཁੑ • RailsConf 2012 جௐߨԋ Rich
Hickey(Clojure࡞ऀ)
SimpleͱEasyͷҧ͍ • Simple • ରٛޠ : Complex • ୯७ɺ؆ܿ •
1ͭͷׂɺ֓೦ • ෳͷΈ߹ΘͤͰͳ͍ • ٬؍త → ୭͔ΒΈͯSimple • Easy • ରٛޠ : Hard • ؆୯ • ۙͳͷ • ཧղɺܦݧɺεΩϧηο τ͔Βஅ • ओ؍త → ݸਓʹେ͖͘ґଘ
SimpleΛબͿ͜ͱ • ֶशίετ͕͍ • ػහ • ඞཁͳͷ͚ͩΛબͰ͖Δ • มߋ͕༰қ •
͕ىͬͯ͜ݪҼ͕ಛఆ͍͢͠ → ࠷ऴతʹEasy
ϨϏϡʔίϝϯτͷཧ༝ • convention over configuration = ֮͑ Δϧʔϧ • Easyʹ͢ΔͨΊͷϑ
ϨʔϜϫʔΫ
SimpleΛબͿͷ͕ਖ਼͍͠?
ຊʹదʹΈ߹ΘͤΕΔ? ݴޠจԽʹద͍ͯ͠Δ?
SimpleΛΈ߹ΘͤΔ • ৗʹదͳΈ߹ΘͤΛબͰ͖Δਓࡐɺϝϯςίετͷ֬อ ͕Մೳ? • Έ߹ΘͤΛ͏ϝϯόʔͷنεΩϧηοτʹ͕ͳ͍? • Έ߹Θͤ෦͕ंྠͷ࠶ൃ໌ɺಠࣗϑϨʔϜϫʔΫԽ͠ͳ͍? • γεςϜͷϥΠϑαΠΫϧతʹϖΠͰ͖Δ?
• Έ߹Θͤʹࣦഊͨ࣌͠ɺޙΓͰ͖Δ?
ݴޠจԽͷཧղ • JavaScriptɺNode.js: ϒϥβؒͷ࣮ࠩɺUnixֶΛड͚ͨNode.js • ϝΠϯετϦʔϜͷมԽ͕ܹ͍͠ɺϑϧελοΫϑϨʔϜϫʔΫ͕ଘଓ͠ʹ͍͘ • γϯϓϧͳͷΛΈ߹ΘͤΔUnixֶ • Ruby:
ϑϧελοΫϑϨʔϜϫʔΫRailsͷѹతγΣΞ • SinatraͰγϯϓϧͳΈ߹ΘͤΛબΜͰ݁ہRailsԽ (rebuild.fm#116) • Java: ͞ͱҾ͖͑ʹߴ͍ޙํޓੑͱ҆ఆͨ͠ϥϯλΠϜ • ेʹރΕͨAPI܈ɺJavaඪ४༷ɺSpring͕ഓ͖ͬͯͨΤίγεςϜ • Java 8ʹΑΓؔܕݴޠ͔ΒֶͿ͜ͱଟ͍͕ɺؔܕϓϩάϥϛϯάͷͨΊͷݴޠͰ ͳ͍ • Scala: ؔܕͱΦϒδΣΫτࢦͷϋΠϒϦου • ΦϒδΣΫτࢦతʹॻ͚Δ͚ͲɺؔܕύϥμΠϜΛ׆͔͢
Simpleॏཁ ͨͩίϯςΩετ࣍ୈͰ EasyΛબ͖͢߹͋Δ
ࠞಉ͍͢͠ݴ༿ • γϯϓϧ • ؆୯ • ָ • ศར •
͍͍ • ༏Ε͍ͯΔ • ΠέͯΔ → Simple? Easy? ओ؍? ٬؍? ڥ? ٕज़എܠ? • ෳࡶ • ͍͠ • ͔Γʹ͘ • ͍ͮΒ͍ • ਏ͍ • Πέͯͳ͍ → Complex ? Hard? ओ؍? ٬؍? ڥ? ٕज़എܠ?
·ͱΊ • SimpleͱEasy͕ҧ͏͜ͱΛཧղ͢Δ • ࣗͷ͍Δڥɺٕज़എܠΛཧղ͢Δ • ͷதʹग़ͯ͘Δݴ༿ʹҙ͢Δ
ࢀߟ • CodeLunch.fm#16 • http://codelunch.fm/16/ • γϯϓϧ͞ͷඞཁੑ • http://eed3si9n.com/ja/simplicity-matters