object-oriented programming language created in 1995 by Yukihiro Matsumoto. Ruby is, more than anything else, a language for writing beautiful code that makes programmers happy.
beauty and productiveness of Ruby into a solution for Web applications. We’ve sought to adhere to the same core principle that guided the development of Ruby: make the programmer happy! DAVID HEINEMEIER HANSSON
end GET /posts -> posts#index GET /posts/:id -> posts#show GET /posts/new -> posts#new POST /posts -> posts#create GET /posts/:id/edit -> posts#edit PUT /posts/:id -> posts#update DELETE /posts/:id -> posts#destroy
most mature and vital testing cultures. Ruby syntax makes it a joy to perform testing and work in TDD/BDD So easy to read it almost feels like documentation des)"%be Pos$ do %$ { shou+d_no$ a++ow_(a+ue('').,o"(:$%$+e) } end
seen as somewhat holy, aka “if it works, don’t fix it” Rails embraces the presence of multiple environments, making them easily reproducible and “less magic”
plan for queries taking more than this )on,%&.a)$%(e_"e)o"d.au$o_exp+a%n_$h"esho+d_%n_se)onds - 0.5 # config/environments/production.rb )on,%&.a)$%on_ma%+e".de+%(e"*_me$hod - :sm$p )on,%&.a)$%on_ma%+e".sm$p_se$$%n&s - { ... }
laptop 2. Copy code to production 3. Database lacks new tables, have to create new tables and columns 4. Update plugins/libs on production 5. Deploy done(?) Manually updating production env
up the deployment process Hooks up to a Git/Hg repository Deploys seamlessly to multiple machines / environments Keeps latest N versions of code, for easy revert Automatic gems updates, database migrations, assets compilation & maintenance scripts