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
Ruby on Rails for .Net Developers
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Michael Dwan
September 12, 2007
Programming
1
590
Ruby on Rails for .Net Developers
I gave this intro to Rails talk to the Chicago .NET Users Group on September 12, 2007.
Michael Dwan
September 12, 2007
Tweet
Share
More Decks by Michael Dwan
See All by Michael Dwan
Mongo Boulder 2011: Data Modeling for Performance
michaeldwan
0
48
Other Decks in Programming
See All in Programming
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
180
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.3k
AgentCoreとHuman in the Loop
har1101
5
230
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
280
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
110
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
190
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
230
SourceGeneratorのススメ
htkym
0
190
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
100
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Technical Leadership for Architectural Decision Making
baasie
1
240
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
160
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
53
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
170
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
640
Transcript
Ruby on Rails
“Web development that doesn’t hurt” RoR is an open-source web
framework that’s optimized for programmer happiness and sustainable productivity. It lets you write beautifiul code by favoring convention over configuration. -RubyOnRails.org
None
Don’t Repeat Yourself - Keep it DRY
Don’t Repeat Yourself - Keep it DRY Convention Over Configuration
Don’t Repeat Yourself - Keep it DRY Convention Over Configuration
Agile Development
Embrace Web Constraints Not Hide Them
Examples
None
None
None
Why Rails?
Ruby MVC Architecture Migrations ActiveRecord Scaffolding Test Framework
Ruby
dynamic scripting language everything is an object designed with programmer
happiness in mind
None
None
MVC ! The ActionPack
Model Manages application state Enforces business rules View Generates the
user interface html, js, xml, pdf, etc... Controller Orchestrates interactions between model & view
Fill in the blanks
fakecompany.com/store/add_to_cart/123
fakecompany.com/store/add_to_cart/123 Routing
fakecompany.com/store/add_to_cart/123 Routing
fakecompany.com/store/add_to_cart/123 StoreController Routing
fakecompany.com/store/add_to_cart/123 StoreController Routing
fakecompany.com/store/add_to_cart/123 StoreController Routing add_to_cart Action
fakecompany.com/store/add_to_cart/123 StoreController Routing add_to_cart Action
fakecompany.com/store/add_to_cart/123 Model StoreController Routing add_to_cart Action
fakecompany.com/store/add_to_cart/123 Database Model StoreController Routing add_to_cart Action
fakecompany.com/store/add_to_cart/123 Database Model StoreController Routing add_to_cart Action add_to_cart View
fakecompany.com/store/add_to_cart/123 Database Model StoreController Routing add_to_cart Action add_to_cart View
people-friendly urls action security and access control caching session management
None
someplace.com/store/add_to_cart/123 :controller => store :action => add_to_cart :id => 123
None
None
None
None
None
None
None
None
Migrations
database neutral description of a change reversible managed in source
control alongside app
None
ActiveRecord
ActiveRecord design pattern object relational mapper vender neutral data layer
db to ruby type translation pre-built to handle many common scenarios
Model = Singular Table = Plural
Model = Singular Customer => Customers Person => People Table
= Plural
None
None
Testing
automated unit tests automated functional tests automated integration tests fixtures
for sample data
None
None
Getting Started
None
Windows: 1. download from RubyForge.org 2. gem install rails --include-dependencies
3. ready to run
Windows: 1. download from RubyForge.org 2. gem install rails --include-dependencies
3. ready to run OS X Leopard 1. ready to run
Sample
What we Saw database migrations Model-View-Controller ActiveRecord scaffolding validation
Criticisms
None
performance
performance constraints
performance constraints maturity
Questions? @michaeldwan
[email protected]