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
DCI: Let the code do the talking
Search
Shintaro Kakutani
December 01, 2012
Technology
4
7.9k
DCI: Let the code do the talking
“DCI and the application builds our mental models” redux
Shintaro Kakutani
December 01, 2012
Tweet
Share
More Decks by Shintaro Kakutani
See All by Shintaro Kakutani
えにしテック、あるいは人間関係のエクササイズ / #enishitech-15th-anniv
kakutani
10
6.2k
(Software) Development with Agility
kakutani
4
860
KeebKaigi Strikes!!!q
kakutani
0
610
Ruby30周年イベント オープニング / Ruby30th Opening
kakutani
3
1.6k
Above All, Make It Fun! #fjordbootcamp / make it fun
kakutani
8
1.2k
Agile Manifesto Decade Resurrections
kakutani
4
3.5k
『達人プログラマー 第2版』/ Pragmatic Programmer 2nd Ed.
kakutani
7
9.2k
『ユニコーン企業のひみつ』とスケーリングの考えかた / #AgileLounge 20220204
kakutani
5
5.5k
(You) Name It!
kakutani
6
2k
Other Decks in Technology
See All in Technology
dbt開発 with Claude Codeのためのガードレール設計
10xinc
1
410
落ちる 落ちるよ サーバーは落ちる
suehiromasatoshi
0
140
AI開発ツールCreateがAnythingになったよ
tendasato
0
110
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
0
160
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.1k
AWS環境のリソース調査を Claude Code で効率化 / aws investigate with cc devio2025
masahirokawahara
2
1.4k
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.3k
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
370
Agile PBL at New Grads Trainings
kawaguti
PRO
1
310
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
1
220
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
280
サンドボックス技術でAI利活用を促進する
koh_naga
0
190
Featured
See All Featured
Making Projects Easy
brettharned
117
6.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
The Cult of Friendly URLs
andyhume
79
6.6k
Being A Developer After 40
akosma
90
590k
Why Our Code Smells
bkeepers
PRO
339
57k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
187
54k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Embracing the Ebb and Flow
colly
87
4.8k
Transcript
DCILET THE CODE DO THE TALKING “DCI and the application
builds our mental models” redux Shintaro Kakutani(@kakutani), ruby-no-kai || esminc,Fukuoka RubyKaigi 01, 2012-12-01(Sat)
taken by @hibariya @kakutani @j2h #rubyfriends
ఏɹڙ ͓͔͛͞·Ͱ̏̌प ใԽٕज़Λ௨ͯࣾ͡ձͱڞੜ͢Δ
None
Asakusa.rb http://www.flickr.com/photos/takkanm/3978417669
http://www.amazon.co.jp/o/ASIN/4274068560/kakutani-22
http://rubyfriends.com
http://www.slideshare.net/snoozer05/20101204-youmustunlearnwhatyouhavelearned/61
None
DCILET THE CODE DO THE TALKING “DCI and the application
builds our mental models” redux Shintaro Kakutani(@kakutani), ruby-no-kai || esminc,Fukuoka RubyKaigi 01, 2012-12-01(Sat)
James O.Coplien
We’ve already had nice resources on the net...
http://www.amazon.co.jp/o/ASIN/0470684208/kakutani-22/ref=nosim/
http://objectsonrails.com/
http://clean-ruby.com/
http://rubysource.com/dci-the-evolution-of-the-object-oriented-paradigm/
http://dci-in-ruby.info/resources.html
http://mikepackdev.com/blog_posts/24-the-right-way-to-code-dci-in-ruby
ιϑτΣΞ Ͳ͜ʹ͋Δͷ͔
ιϑτΣΞ಄ͷͳ͔ʹ͋Δ
ΤϯυϢʔβʔͷ ϝϯλϧϞσϧΛ ιʔείʔυͱͯ͠ දݱ͢Δ
গͣͭ͠ɺ ܁Γฦ͠ͳ͕Β ҭ͍ͯͯ͘
Software Development as Learning Process
“Agile”
ςετۦಈ։ൃ
ΦϒδΣΫτࢦઃܭ
దͳ໊લͷ͍ͭͨ ίʔυΛదͳॴʹ ஔ͘͜ͱ
Ruby
✓ Agile Style Workflow ✓ Test Driven Development ✓ Object-Oriented
Design ✓ Ruby
ιϑτΣΞ಄ͷͳ͔ʹ͋Δ
http://www.amazon.co.jp/o/ASIN/4798124583/kakutani-22/ref=nosim/
We’re on the same rails http://pixdaus.com/single.php?id=104150
http://guides.rubyonrails.org/getting_started.html
http://guides.rubyonrails.org/getting_started.html#the-mvc-architecture
HTTP: Hyper TEXT Transfer Protocol
http://martinfowler.com/eaaCatalog/activeRecord.html
Active Record is a pattern for persistence
Rails doesn’t save YOUR Applications! (it’s an awesome FRAMEWORK!)
http://www.flickr.com/photos/essgee/2477102230/ Recap ‘Common Pitfalls’ @ursm mentioned in Sapporo RubyKaigi 2012
http://sapporo.rubykaigi.org/2012/en/schedule/details/64.html
✓ Helpers don’t help up ✓ Partials are just partial,
Not parts ✓ Too Fat to be a model
✓ Helpers don’t help up ✓ Partials are just partial,
Not parts ✓ Too Fat to be a model
Too Fat to be a model
None
DCI Data-Context-Interaction
✓ Data: AR domain knowledge structure ✓ Context: (Ba) Playing
field for “objects” ✓ Interaction: Role Object#extend / refinements?
http://mikepackdev.com/blog_posts/24-the-right-way-to-code-dci-in-ruby
✓ Data: AR ✓ Context: “Activities” ✓ Interaction: Modules Poor
man’s DCI: you should check the talk given by @ursm in sapporo RubyKaigi 2012, thanks!
http://qa.atmarkit.co.jp/
Recap
✓ Agile Style Workflow ✓ Test Driven Development ✓ Object-Oriented
Design ✓ Ruby
Rails doesn’t save YOUR Applications! (it’s an awesome FRAMEWORK!)
ΤϯυϢʔβʔͷ ϝϯλϧϞσϧΛ ιʔείʔυͱͯ͠ දݱ͢Δ
ιϑτΣΞ಄ͷͳ͔ʹ͋Δ
Bonus Takeaway
https://codeclimate.com/
None
ιϑτΣΞΛཧղ͢Δͷʹ͋ͨΓɺυΩϡ ϝϯτ͕͋Δͱྑ͍͠ɺςετίʔυ͋Δͱ ॿ͔ΔɻϓϩμΫγϣϯίʔυʹίϝϯτ͕͋ Ε͔֬ʹศར͚ͩͲɺϓϩμΫγϣϯίʔυ ͦͷͷ͕ͦͷιϑτΣΞͷ͜ͱΛޠ͍ͬͯ ΔΑ͏ʹίʔυΛॻ͚ΔΑ͏ʹʜʜͳΓ͍ͨ ͶɻͰɺͦͷͨΊʹɺ͚͖ͬΐࣗͨͪ͘ ্͕खʹͳΔΑ͏ʹ࿅शΛॏͶ͍͔ͯ͘͠ͳ͍ ͱࢥ͏ͷͰɺΈͳ͞ΜҰॹʹ͕ΜΖ͏
Let the Code Do The Talking!