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 and the application builds our mental models
Search
Shintaro Kakutani
September 16, 2012
Technology
15
8.2k
DCI and the application builds our mental models
Sapporo RubyKaigi 2012 #sprk2012
Shintaro Kakutani
September 16, 2012
Tweet
Share
More Decks by Shintaro Kakutani
See All by Shintaro Kakutani
えにしテック、あるいは人間関係のエクササイズ / #enishitech-15th-anniv
kakutani
10
6.1k
(Software) Development with Agility
kakutani
4
840
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.4k
『達人プログラマー 第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
生成AI時代におけるAI・機械学習技術を用いたプロダクト開発の深化と進化 #BetAIDay
layerx
PRO
1
1.2k
Serverless Meetup #21
yoshidashingo
1
120
形式手法特論:位相空間としての並行プログラミング #kernelvm / Kernel VM Study Tokyo 18th
ytaka23
3
1.3k
反脆弱性(アンチフラジャイル)とデータ基盤構築
cuebic9bic
3
180
AIに目を奪われすぎて、周りの困っている人間が見えなくなっていませんか?
cap120
1
580
【CEDEC2025】『Shadowverse: Worlds Beyond』二度目のDCG開発でゲームをリデザインする~遊びやすさと競技性の両立~
cygames
PRO
1
360
AIのグローバルトレンド 2025 / ai global trend 2025
kyonmm
PRO
1
140
2025新卒研修・HTML/CSS #弁護士ドットコム
bengo4com
3
13k
猫でもわかるQ_CLI(CDK開発編)+ちょっとだけKiro
kentapapa
0
3.4k
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
6
990
Telemetry APIから学ぶGoogle Cloud ObservabilityとOpenTelemetryの現在 / getting-started-telemetry-api-with-google-cloud
k6s4i53rx
0
140
全員が手を動かす組織へ - 生成AIが変えるTVerの開発現場 / everyone-codes-genai-transforms-tver-development
tohae
0
140
Featured
See All Featured
Writing Fast Ruby
sferik
628
62k
GitHub's CSS Performance
jonrohan
1031
460k
Rails Girls Zürich Keynote
gr2m
95
14k
A designer walks into a library…
pauljervisheath
207
24k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Docker and Python
trallard
45
3.5k
Agile that works and the tools we love
rasmusluckow
329
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Gamification - CAS2011
davidbonilla
81
5.4k
Transcript
֯୩৴ଠ KAKUTANI Shintaro; Ruby-no-kai,Eiwa System Management,Inc. Ұൠࣾஂ๏ਓຊ3VCZͷձ ג ӬγεςϜϚωδϝϯτ TIJOUBSP!LBLVUBOJDPN
ࡳຈ3VCZձٞ 4VO %$* BOEUIFBQQMJDBUJPOCVJMET PVSNFOUBMNPEFMT
http://gihyo.jp/news/report/01/sapporo-rubykaigi2012/00b4
None
taken from igaiga’s flickr @kakutani
Ruby Evangelist
http://www.pragprog.com/titles/jtrap/the-agile-samurai
http://www.amazon.co.jp/o/ASIN/4274068560/kakutani-22
None
He is the Agile Samurai, so I’m a...
None
http://www.deos.co.jp/hojokoza
http://www.deos.co.jp/hojokoza
http://www.slideshare.net/snoozer05/20101204-youmustunlearnwhatyouhavelearned/61
http://www.amazon.co.jp/o/ASIN/4798124583/kakutani-22/ref=nosim/
None
None
None
ఏɹڙ ͓͔͛͞·Ͱ̏̌प ใԽٕज़Λ௨ͯࣾ͡ձͱڞੜ͢Δ
http://estore.ohmsha.co.jp/
None
None
W E A R E H I R I N
G : R u b y i s t A N D Agile Designer https://github.com/esminc/jobs ( W A N N A B I E S ) ( W A N N A B I E S )
Asakusa.rb http://www.flickr.com/photos/takkanm/3978417669
݄࣌ ॴਂߐށࢿྉؗখܶ Ӧେߐށઢਗ਼നՏӺెา ࢀՃඅ༻༗ྉ ఆһd໊ جௐߨԋ!BNBUTVEB !@LP
ر ӡӦ"TBLVTBSC ࣮ߦҕһ!LBLVUBOJ IUUQSFHJPOBMSVCZLBJHJPSHPFEP ͜Ε"TBLVTBSCͷ ճͷNFFUVQͳΜͩΑ
None
None
https://twitter.com/kakutani/status/209815868325117952
Thanks to everyone who retweeted my tweet <3
5IF3VCZ,BJHJ3JTFT ֯୩৴ଠ KAKUTANI Shintaro; Ruby-no-kai,Eiwa System Management,Inc. Ұൠࣾஂ๏ਓຊ3VCZͷձcc ג ӬγεςϜϚωδϝϯτ
!LBLVUBOJ LBLVUBOJ!SVCZLBJHJPSH TokyuRubyKaigi05, 2012-07-29(Sun)
K A I G I
THE RUBYKAIGI 2013 May 30 (Thu) - June 1 (Sat)
Tokyo, Japan
[email protected]
http://rubykaigi.org
֯୩৴ଠ KAKUTANI Shintaro; Ruby-no-kai,Eiwa System Management,Inc. Ұൠࣾஂ๏ਓຊ3VCZͷձ ג ӬγεςϜϚωδϝϯτ TIJOUBSP!LBLVUBOJDPN
ࡳຈ3VCZձٞ 4VO %$* BOEUIFBQQMJDBUJPOCVJMET PVSNFOUBMNPEFMT
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
...and @apotonick!!!11
ιϑτΣΞ Ͳ͜ʹ͋Δͷ͔
ιϑτΣΞ಄ͷͳ͔ʹ͋Δ
ΤϯυϢʔβʔͷ ϝϯλϧϞσϧΛ ιʔείʔυͱͯ͠ දݱ͢Δ
গͣͭ͠ɺ ܁Γฦ͠ͳ͕Β ҭ͍ͯͯ͘
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/
None
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 yesterday
✓ 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 ✓ 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 yesterday, thanks!
None
http://qa.atmarkit.co.jp/
✓ Agile Style Workflow ✓ Test Driven Development ✓ Object-Oriented
Design ✓ Ruby
Rails doesn’t save YOUR Applications! (it’s an awesome FRAMEWORK!)
ΤϯυϢʔβʔͷ ϝϯλϧϞσϧΛ ιʔείʔυͱͯ͠ දݱ͢Δ
ιϑτΣΞ಄ͷͳ͔ʹ͋Δ