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
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
700
Ruby30周年イベント オープニング / Ruby30th Opening
kakutani
3
1.7k
Above All, Make It Fun! #fjordbootcamp / make it fun
kakutani
8
1.3k
Agile Manifesto Decade Resurrections
kakutani
4
3.7k
『達人プログラマー 第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
AI 時代の Platform Engineering
recruitengineers
PRO
1
180
(きっとたぶん)人材育成や教育のような何かの話
sejima
0
730
AIのための特別なアーキテクチャはいらない 0→1開発で実践した設計原則とガードレール
kaminashi
0
110
大学職員のための生成AI最前線 :最前線を、AIガバナンスとして読み直すためのTips
gmoriki
2
4k
Vision Banana: Image Generators are Generalist Vision Learners
kzykmyzw
0
380
生成AI時代に信頼性をどう保ち続けるか - Policy as Code の実践
akitok_
1
240
エンタープライズの厳格な制約を開発者に意識させない:クラウドネイティブ開発基盤設計/cloudnative-kaigi-golden-path
mhrtech
0
410
CyberAgent YJC Connect
shimaf4979
1
180
全社統制を維持しながら現場負担をどう減らすか〜プラットフォームチームとセキュリティチームで進めたSecurity Hub活用によるAWS統制の見直し〜/secjaws-security-hub-custom-insights
mhrtech
1
480
Swift Sequence の便利 API 再発見
treastrain
1
270
AIを賢くしたいなら、まずは人間の改善ループから
subroh0508
0
110
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
5
1.4k
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Music & Morning Musume
bryan
47
7.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Color Theory Basics | Prateek | Gurzu
gurzu
0
310
Ethics towards AI in product and experience design
skipperchong
2
270
Are puppies a ranking factor?
jonoalderson
1
3.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
The browser strikes back
jonoalderson
0
1k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
910
The Language of Interfaces
destraynor
162
26k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
290
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!)
ΤϯυϢʔβʔͷ ϝϯλϧϞσϧΛ ιʔείʔυͱͯ͠ දݱ͢Δ
ιϑτΣΞ಄ͷͳ͔ʹ͋Δ