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
Michael Dwan
September 12, 2007
Programming
600
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Michael Dwan
See All by Michael Dwan
Mongo Boulder 2011: Data Modeling for Performance
michaeldwan
0
53
Other Decks in Programming
See All in Programming
What's New in Android 2026
veronikapj
0
260
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
270
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
250
数百円から始めるRuby電子工作
tarosay
0
140
源内ハンズオン概要編
hideg
0
170
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
470
「人を評価する AI」の設計と実装
ryoyanara
0
190
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
130
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
780
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
680
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
210
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Accessibility Awareness
sabderemane
1
170
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Context Engineering - Making Every Token Count
addyosmani
9
1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
630
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
480
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
520
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
990
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
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]