SlideShare a Scribd company logo
1 of 64
Ruby 1.9 & Rails 3
      new stuff!
Ruby 1.9
Ruby 1.9
Ruby 1.9.1   Stable
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Changed stuff
case
String#[]
Hashes are sorted!
Block variables
New stuff!
        Jay!
flexible parameters
flexible parameters (2)
new hash notation
Symbol#to_proc
Enumerator
lambda - shorthand
lambda - calling
Object#tap
Rails 3
Merb
Ruby 1.8.7 or 1.9.1
ORM Agnostic
ActionORM

• initialize
• new_record?
• errors
• valid?
• to_model
Rack Middleware
controller actions
Session
Param parsing
Rescuing
Router
Multiple apps
Controller


                     Merb
                    Router


                     Rails
Request   Router
                    Router


                   Sinatra app



                    Rack app
Plugin API
Notifications
  (used to be “Orchestra”)
Hook into events
non-blocking
Javascript
non-obtrusive
Library agnostic
rails.prototype.js
rails.jquery.js
rails.moo.js
rails.you?.js
ActionController::Responder
code
Custom Responders
Public API Changes
Rails 2.3 == Rails 3.0
Questions?

More Related Content

What's hot

Deploying JRuby Web Applications
Deploying JRuby Web ApplicationsDeploying JRuby Web Applications
Deploying JRuby Web Applications
Joe Kutner
 

What's hot (20)

Scapy the packet 途中01
Scapy the packet 途中01Scapy the packet 途中01
Scapy the packet 途中01
 
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStackSaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
 
Salt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environmentsSalt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environments
 
Get Going With RVM and Rails 3
Get Going With RVM and Rails 3Get Going With RVM and Rails 3
Get Going With RVM and Rails 3
 
A user's perspective on SaltStack and other configuration management tools
A user's perspective on SaltStack and other configuration management toolsA user's perspective on SaltStack and other configuration management tools
A user's perspective on SaltStack and other configuration management tools
 
Painless Deployment with Capistrano
Painless Deployment with CapistranoPainless Deployment with Capistrano
Painless Deployment with Capistrano
 
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
 
Paris Monitoring meetup #1 - Zabbix at BlaBlaCar
Paris Monitoring meetup #1 - Zabbix at BlaBlaCarParis Monitoring meetup #1 - Zabbix at BlaBlaCar
Paris Monitoring meetup #1 - Zabbix at BlaBlaCar
 
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
 
Getting modern with my sql
Getting modern with my sqlGetting modern with my sql
Getting modern with my sql
 
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
 
High availability for puppet - 2016
High availability for puppet - 2016High availability for puppet - 2016
High availability for puppet - 2016
 
Ansible intro
Ansible introAnsible intro
Ansible intro
 
Celery vs MRQ
Celery vs MRQCelery vs MRQ
Celery vs MRQ
 
Deploying JRuby Web Applications
Deploying JRuby Web ApplicationsDeploying JRuby Web Applications
Deploying JRuby Web Applications
 
Scapy talk
Scapy talkScapy talk
Scapy talk
 
SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven or...
SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven or...SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven or...
SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven or...
 
Big Data Day LA 2016/ Big Data Track - Fluentd and Embulk: Collect More Data,...
Big Data Day LA 2016/ Big Data Track - Fluentd and Embulk: Collect More Data,...Big Data Day LA 2016/ Big Data Track - Fluentd and Embulk: Collect More Data,...
Big Data Day LA 2016/ Big Data Track - Fluentd and Embulk: Collect More Data,...
 
[네이버오픈소스세미나] What’s new in Zipkin - Adrian Cole
[네이버오픈소스세미나] What’s new in Zipkin - Adrian Cole[네이버오픈소스세미나] What’s new in Zipkin - Adrian Cole
[네이버오픈소스세미나] What’s new in Zipkin - Adrian Cole
 
Medindo performance do seu código Ruby, com Rafael França
Medindo performance do seu código Ruby, com Rafael FrançaMedindo performance do seu código Ruby, com Rafael França
Medindo performance do seu código Ruby, com Rafael França
 

Viewers also liked

Difference between moving forward direction of motion
Difference between moving forward direction of motionDifference between moving forward direction of motion
Difference between moving forward direction of motion
s1150047
 
Control Pacients Hipertensos
Control Pacients HipertensosControl Pacients Hipertensos
Control Pacients Hipertensos
josepcuadrado
 
Constitution herd
Constitution  herdConstitution  herd
Constitution herd
acolyte26
 
JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...
JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...
JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...
University of Deusto
 
Gany bajany-ki-hurmat
Gany bajany-ki-hurmatGany bajany-ki-hurmat
Gany bajany-ki-hurmat
Shakeel Ishaq
 
Bbq Invitation (2)
Bbq Invitation (2)Bbq Invitation (2)
Bbq Invitation (2)
jazore
 
Grup De Treball Ensenyar Llengua No RomàNica
Grup De Treball Ensenyar Llengua No RomàNicaGrup De Treball Ensenyar Llengua No RomàNica
Grup De Treball Ensenyar Llengua No RomàNica
Arnau Cerdà
 

Viewers also liked (20)

itgrammar.pptx
itgrammar.pptxitgrammar.pptx
itgrammar.pptx
 
Lauris
LaurisLauris
Lauris
 
Jump
JumpJump
Jump
 
Difference between moving forward direction of motion
Difference between moving forward direction of motionDifference between moving forward direction of motion
Difference between moving forward direction of motion
 
CinestudiO Cine Prêmio 2010 - Parte 2/4
CinestudiO Cine Prêmio 2010 - Parte 2/4CinestudiO Cine Prêmio 2010 - Parte 2/4
CinestudiO Cine Prêmio 2010 - Parte 2/4
 
Faglig dokumentasjon - Karrierebarometeret
Faglig dokumentasjon - KarrierebarometeretFaglig dokumentasjon - Karrierebarometeret
Faglig dokumentasjon - Karrierebarometeret
 
Control Pacients Hipertensos
Control Pacients HipertensosControl Pacients Hipertensos
Control Pacients Hipertensos
 
Constitution herd
Constitution  herdConstitution  herd
Constitution herd
 
JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...
JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...
JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...
 
Jaroslav Seifert - Look at book
Jaroslav Seifert - Look at bookJaroslav Seifert - Look at book
Jaroslav Seifert - Look at book
 
How to Optimize Your Blog for Faster Loading in Three Easy Steps
How to Optimize Your Blog for Faster Loading in Three Easy StepsHow to Optimize Your Blog for Faster Loading in Three Easy Steps
How to Optimize Your Blog for Faster Loading in Three Easy Steps
 
Am j physiol heart circ physiol 2000-matsubara-h1534-9
Am j physiol heart circ physiol 2000-matsubara-h1534-9Am j physiol heart circ physiol 2000-matsubara-h1534-9
Am j physiol heart circ physiol 2000-matsubara-h1534-9
 
Be-namazi
Be-namaziBe-namazi
Be-namazi
 
The Art of Game Design
The Art of Game DesignThe Art of Game Design
The Art of Game Design
 
Trends in human mobility
Trends in human mobility Trends in human mobility
Trends in human mobility
 
The Boomer Retirement Time Bomb
The Boomer Retirement Time BombThe Boomer Retirement Time Bomb
The Boomer Retirement Time Bomb
 
Gany bajany-ki-hurmat
Gany bajany-ki-hurmatGany bajany-ki-hurmat
Gany bajany-ki-hurmat
 
Bbq Invitation (2)
Bbq Invitation (2)Bbq Invitation (2)
Bbq Invitation (2)
 
Improving understanding
Improving understandingImproving understanding
Improving understanding
 
Grup De Treball Ensenyar Llengua No RomàNica
Grup De Treball Ensenyar Llengua No RomàNicaGrup De Treball Ensenyar Llengua No RomàNica
Grup De Treball Ensenyar Llengua No RomàNica
 

Similar to Ruby 1.9 And Rails 3.0

Jenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh VuJenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh Vu
Framgia Vietnam
 
Ricardo Sanchez - Ruby projects of interest for devops
Ricardo Sanchez - Ruby projects of interest for devopsRicardo Sanchez - Ruby projects of interest for devops
Ricardo Sanchez - Ruby projects of interest for devops
SVDevOps
 
Ruby projects of interest for DevOps
Ruby projects of interest for DevOpsRuby projects of interest for DevOps
Ruby projects of interest for DevOps
Ricardo Sanchez
 
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeperHandling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
ryanlecompte
 
Jruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-javaJruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-java
Keith Bennett
 

Similar to Ruby 1.9 And Rails 3.0 (20)

Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby Team
 
Jenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh VuJenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh Vu
 
Ruby on the server
Ruby on the serverRuby on the server
Ruby on the server
 
Infrastructure as code - Python Saati #36
Infrastructure as code - Python Saati #36Infrastructure as code - Python Saati #36
Infrastructure as code - Python Saati #36
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
Speedy TDD with Rails
Speedy TDD with RailsSpeedy TDD with Rails
Speedy TDD with Rails
 
Large-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesLarge-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 Minutes
 
A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)
 
Ricardo Sanchez - Ruby projects of interest for devops
Ricardo Sanchez - Ruby projects of interest for devopsRicardo Sanchez - Ruby projects of interest for devops
Ricardo Sanchez - Ruby projects of interest for devops
 
Ruby projects of interest for DevOps
Ruby projects of interest for DevOpsRuby projects of interest for DevOps
Ruby projects of interest for DevOps
 
An introduction to the ruby ecosystem
An introduction to the ruby ecosystemAn introduction to the ruby ecosystem
An introduction to the ruby ecosystem
 
.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011
 
09 - Fábio Akita - Além do rails
09 - Fábio Akita - Além do rails09 - Fábio Akita - Além do rails
09 - Fábio Akita - Além do rails
 
RichFaces - Testing on Mobile Devices
RichFaces - Testing on Mobile DevicesRichFaces - Testing on Mobile Devices
RichFaces - Testing on Mobile Devices
 
Building web framework with Rack
Building web framework with RackBuilding web framework with Rack
Building web framework with Rack
 
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeperHandling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
 
Fabric: A Capistrano Alternative
Fabric:  A Capistrano AlternativeFabric:  A Capistrano Alternative
Fabric: A Capistrano Alternative
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
 
Practical JRuby
Practical JRubyPractical JRuby
Practical JRuby
 
Jruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-javaJruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-java
 

More from ArrrrCamp (15)

Arrrrcamp Radiant Intro
Arrrrcamp Radiant IntroArrrrcamp Radiant Intro
Arrrrcamp Radiant Intro
 
Metaprogramming + Ds Ls
Metaprogramming + Ds LsMetaprogramming + Ds Ls
Metaprogramming + Ds Ls
 
Rubyandrails
RubyandrailsRubyandrails
Rubyandrails
 
Nanoc
NanocNanoc
Nanoc
 
Git
GitGit
Git
 
Radiant
RadiantRadiant
Radiant
 
Mistakes
MistakesMistakes
Mistakes
 
Railsservers
RailsserversRailsservers
Railsservers
 
Prawn
PrawnPrawn
Prawn
 
Testing
TestingTesting
Testing
 
Validation
ValidationValidation
Validation
 
Cucumber
CucumberCucumber
Cucumber
 
Ruby and Rails Basics
Ruby and Rails BasicsRuby and Rails Basics
Ruby and Rails Basics
 
Caching your rails application
Caching your rails applicationCaching your rails application
Caching your rails application
 
Advanced Radiant
Advanced RadiantAdvanced Radiant
Advanced Radiant
 

Recently uploaded

CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
Wonjun Hwang
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 

Recently uploaded (20)

CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Navigating the Large Language Model choices_Ravi Daparthi
Navigating the Large Language Model choices_Ravi DaparthiNavigating the Large Language Model choices_Ravi Daparthi
Navigating the Large Language Model choices_Ravi Daparthi
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 

Ruby 1.9 And Rails 3.0

Editor's Notes

  1. Rails 3 is een merge van alle good-practices van Merb en RailsMerb is een framework geschreven omdat ze vonden dat Rails bepaalde dingen fout deden.
  2. Rails 3.0 is niet 1.8.6 compatibel
  3. ActiveRecord & Datamapper doen dit al, Sequel gebruikt hier een adapter voor
  4. Rack, Framework to interact between WebServers and Web frameworks. Takes in request, handles it, passes it to Framework.