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
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
Windows on Ryzen and I
seosoft
0
350
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.5k
Understanding Apache Lucene - More than just full-text search
spinscale
0
140
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
210
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
930
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
890
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.1k
CSC307 Lecture 14
javiergs
PRO
0
480
Claude Code Skill入門
mayahoney
0
420
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.6k
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
120
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
230
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
160
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
650
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
The browser strikes back
jonoalderson
0
830
Embracing the Ebb and Flow
colly
88
5k
Between Models and Reality
mayunak
2
240
Typedesign – Prime Four
hannesfritz
42
3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
30 Presentation Tips
portentint
PRO
1
260
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
Accessibility Awareness
sabderemane
0
84
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]