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
240
SimpleとEasyの選択
disc99
December 15, 2016
Tweet
Share
More Decks by disc99
See All by disc99
アーキテクチャ選択の裏側
disc99
0
36
120リポジトリを1つのMonorepoに統合した理由
disc99
1
940
モノリスとマイクロサービスを経てモジュラモノリスを導入した実践事例
disc99
25
14k
PaaS DX by Cloud Native Buildpacks
disc99
0
200
全てのAPIをProtocol Buffersで管理する / Manage all APIs with Protocol Buffers
disc99
2
5k
Serverless Application
disc99
1
2.6k
イベント駆動マイクロサービスアーキテクチャ / Event-Driven Microservices Architecture
disc99
4
2.6k
Event Sourcing 101
disc99
1
170
NGINX Blogから考えるマイクロサービスのProxy設計
disc99
0
860
Other Decks in Technology
See All in Technology
Qiita Organizationを導入したら、アウトプッターが爆増して会社がちょっと有名になった件
minorun365
PRO
1
370
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
240
CSPMとのつきあい方
nantokanare
0
110
ライフステージの変化を乗り越える 探索型のキャリア選択
tenshoku_draft
2
320
きのこカンファレンス_ランチスポンサーセッション
kabaya
0
130
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
160
AIエージェント元年@日本生成AIユーザ会
shukob
1
270
[OpsJAWS Meetup33 AIOps] Amazon Bedrockガードレールで守る安全なAI運用
akiratameto
1
140
フォーイット_エンジニア向け会社紹介資料_Forit_Company_Profile.pdf
forit_tech
1
1.7k
自分のやることに価値を見出だせるようになり、挑戦する勇気をもらったベイトソンの考え / Scrum Fest Fukuoka 2025
bonbon0605
0
160
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
32
22k
エンジニアの健康管理術 / Engineer Health Management Techniques
y_sone
8
5.8k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Speed Design
sergeychernyshev
28
820
The Cult of Friendly URLs
andyhume
78
6.2k
Typedesign – Prime Four
hannesfritz
41
2.5k
Building an army of robots
kneath
303
45k
Into the Great Unknown - MozCon
thekraken
35
1.7k
The Language of Interfaces
destraynor
156
24k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Optimizing for Happiness
mojombo
377
70k
Rails Girls Zürich Keynote
gr2m
94
13k
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