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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shintaro Kakutani
September 16, 2012
Technology
8.4k
15
Share
DCI and the application builds our mental models
Sapporo RubyKaigi 2012 #sprk2012
Shintaro Kakutani
September 16, 2012
More Decks by Shintaro Kakutani
See All by Shintaro Kakutani
えにしテック、あるいは人間関係のエクササイズ / #enishitech-15th-anniv
kakutani
10
6.9k
(Software) Development with Agility
kakutani
4
1.1k
KeebKaigi Strikes!!!q
kakutani
0
710
Ruby30周年イベント オープニング / Ruby30th Opening
kakutani
3
1.7k
Above All, Make It Fun! #fjordbootcamp / make it fun
kakutani
8
1.4k
Agile Manifesto Decade Resurrections
kakutani
4
3.8k
『達人プログラマー 第2版』/ Pragmatic Programmer 2nd Ed.
kakutani
7
9.6k
『ユニコーン企業のひみつ』とスケーリングの考えかた / #AgileLounge 20220204
kakutani
5
5.6k
(You) Name It!
kakutani
6
2.1k
Other Decks in Technology
See All in Technology
APIテストとは?
nagix
0
160
Claude code Orchestra
ozakiomumkj
3
850
Generative UI × A2UI で AI エージェントを作った話 AI-DLC も使ってみた!
kmiya84377
1
300
OpenClawとHermesAgentでAI新入社員を作った話
takanoriyanada
0
150
最低限これだけ押さえれ大丈夫_Claude Enterprise/Team企業展開ガバナンス入門
tkikuchi
1
610
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
450
新規ゲーム開発におけるAI駆動開発のリアル
202409e2
0
690
A Harness for Behaviour: how to get AI to generate code that does what we intend, or "TDD in the age of AI"
xpmatteo
1
540
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
15
8.1k
long-running-tasks
cipepser
2
460
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
200
Unlocking the Apps
pimterry
0
150
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.3k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
BBQ
matthewcrist
89
10k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Building Adaptive Systems
keathley
44
3k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
240
The Mindset for Success: Future Career Progression
greggifford
PRO
0
350
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
130
KATA
mclloyd
PRO
35
15k
WCS-LA-2024
lcolladotor
0
610
Design in an AI World
tapps
1
220
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!)
ΤϯυϢʔβʔͷ ϝϯλϧϞσϧΛ ιʔείʔυͱͯ͠ දݱ͢Δ
ιϑτΣΞ಄ͷͳ͔ʹ͋Δ