$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SimpleとEasyの選択
Search
disc99
December 15, 2016
Technology
1
260
SimpleとEasyの選択
disc99
December 15, 2016
Tweet
Share
More Decks by disc99
See All by disc99
マルチプロダクト×マルチテナントを支えるモジュラモノリスを中心としたアソビューのアーキテクチャ
disc99
1
1k
アーキテクチャ選択の裏側
disc99
0
91
120リポジトリを1つのMonorepoに統合した理由
disc99
1
1.1k
モノリスとマイクロサービスを経てモジュラモノリスを導入した実践事例
disc99
25
15k
PaaS DX by Cloud Native Buildpacks
disc99
0
240
全てのAPIをProtocol Buffersで管理する / Manage all APIs with Protocol Buffers
disc99
2
5.5k
Serverless Application
disc99
1
3k
イベント駆動マイクロサービスアーキテクチャ / Event-Driven Microservices Architecture
disc99
4
2.9k
Event Sourcing 101
disc99
1
190
Other Decks in Technology
See All in Technology
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
打 造 A I 驅 動 的 G i t H u b ⾃ 動 化 ⼯ 作 流 程
appleboy
0
220
新 Security HubがついにGA!仕組みや料金を深堀り #AWSreInvent #regrowth / AWS Security Hub Advanced GA
masahirokawahara
1
1.6k
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
220
手動から自動へ、そしてその先へ
moritamasami
0
290
AI活用によるPRレビュー改善の歩み ― 社内全体に広がる学びと実践
lycorptech_jp
PRO
1
190
チーリンについて
hirotomotaguchi
5
1.6k
Playwright x GitHub Actionsで実現する「レビューしやすい」E2Eテストレポート
kinosuke01
0
510
[JAWS-UG 横浜支部 #91]DevOps Agent vs CloudWatch Investigations -比較と実践-
sh_fk2
1
250
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
130
最近のLinux普段づかいWaylandデスクトップ元年
penguin2716
1
680
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
280
Featured
See All Featured
Music & Morning Musume
bryan
46
7k
Facilitating Awesome Meetings
lara
57
6.7k
Typedesign – Prime Four
hannesfritz
42
2.9k
Context Engineering - Making Every Token Count
addyosmani
9
500
For a Future-Friendly Web
brad_frost
180
10k
Making Projects Easy
brettharned
120
6.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
How GitHub (no longer) Works
holman
316
140k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
We Have a Design System, Now What?
morganepeng
54
7.9k
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