SlideShare uma empresa Scribd logo
1 de 50
Ruby on Rails
Ruby
(shorter now)
Everything is an object

  1.class         # => Fixnum
  'a'.class       # => String
  :z.class        # => Symbol

  class Foo
  end

  Foo.class       # => Class
  Foo.new.class   # => Foo
Dynamically typed
def do_stuff(thing)
  thing.do_the_stuff
end

class TheThing
  def do_the_stuff
    puts "Stuff was done!"
  end
end

do_stuff(TheThing.new)
Arrays


Array.new      # => []
Array.new(3)   # => [nil, nil, nil]
[]             # => []

a = [1,2,3]    #   =>   [1, 2, 3]
a[0] = 'one'   #   =>   "one"
a              #   =>   ["one", 2, 3]
a[-1]          #   =>   3
a[1..2]        #   =>   [2, 3]
Hashes

Hash.new              # => {}
{}                    # => {}

h = {1 => "one", 2 => "two"}
h[1]                 # => "one"
h["1"]               # => nil

h[:one] = "einz"     # => "einz"
h[:one]              # => "einz"

h.keys               # => [1, 2, :one]
h.values             # => ["one", "two", "einz"]
Classes
Classes
class Pet
  attr_accessor :name

  def initialize(name)
    @name = name
  end

  def sit!
    puts "Wuff"
  end
end
Naming conventions



CamelCased       # Classes, modules
with_underscores # methods, local variables

@instance_variable
@@class_variable
$GLOBAL_VARIABLE
Code blocks
Code blocks
[1,2,3,5,7].select {|x| x.even?}
# => [2]
Code blocks
[1,2,3,5,7].select {|x| x.even?}
# => [2]

def do_random_nr_of_times &block
  nr = rand(10)
  for i in 1..nr
    yield
  end
end
Code blocks
[1,2,3,5,7].select {|x| x.even?}
# => [2]

def do_random_nr_of_times &block
  nr = rand(10)
  for i in 1..nr
    yield
  end
end

do_random_nr_of_times { puts "bla" }
# bla
# bla
# bla
# => 1..3
Optional language
Optional language

def my_method(data, options = {})
  # ...
end
Optional language

def my_method(data, options = {})
  # ...
end

# Full signature
my_method("bla", {:option => 'value', :two => 2})
Optional language

def my_method(data, options = {})
  # ...
end

# Full signature
my_method("bla", {:option => 'value', :two => 2})
# The last parameter a hash? implicit.
my_method("bla", :option => 'value', :two => 2)
Optional language

def my_method(data, options = {})
  # ...
end

# Full signature
my_method("bla", {:option => 'value', :two => 2})
# The last parameter a hash? implicit.
my_method("bla", :option => 'value', :two => 2)
# Parentheses are optional
my_method "bla", :option => 'value', :two => 2
Optional language

def my_method(data, options = {})
  # ...
end

# Full signature
my_method("bla", {:option => 'value', :two => 2})
# The last parameter a hash? implicit.
my_method("bla", :option => 'value', :two => 2)
# Parentheses are optional
my_method "bla", :option => 'value', :two => 2

# As long as its unambiguous, it's OK
Ruby on Rails
Our case: a webshop
Our case: a webshop
What has rails built?
What has rails built?


• config
• db
• public
• script
• test
REST in Rails
REST in Rails
# Listing           # Reading
# GET /things       # GET /things/1
def index           def show
REST in Rails
# Listing               # Reading
# GET /things           # GET /things/1
def index               def show


# Creating              # Updating
# GET /things/new       # GET /things/1/edit
def new                 def edit
# POST /things          # PUT /things/1
def create              def update
REST in Rails
# Listing                  # Reading
# GET /things              # GET /things/1
def index                  def show


# Creating                 # Updating
# GET /things/new          # GET /things/1/edit
def new                    def edit
# POST /things             # PUT /things/1
def create                 def update


# Deleting
# DELETE /things/1
# Actually: POST /things/1 with :destroy = true
def destroy
Layouts
Layouts
Filters
The Shop controller
Partials

/things/_my_partial.html.erb
<div id="my_div">
    <p>Hello, <%= person %>!</p>
</div>
Partials

 /things/_my_partial.html.erb
 <div id="my_div">
     <p>Hello, <%= person %>!</p>
 </div>




<%= render
    :partial => 'my_partial',
    :locals => {:person => 'angelo'} %>
Partials
Partials
The Cart
The Cart
REST in Rails
# Listing                  # Reading
# GET /things              # GET /things/1
def index                  def show


# Creating                 # Updating
# GET /things/new          # GET /things/1/edit
def new                    def edit
# POST /things             # PUT /things/1
def create                 def update


# Deleting
# DELETE /things/1
# Actually: POST /things/1 with :destroy = true
def destroy
REST in Rails
# Listing                  # Reading
# GET /things              # GET /things/1
def index                  def show


# Creating                 # Updating
# GET /things/new          # GET /things/1/edit
def new                    def edit
# POST /things             # PUT /things/1
def create                 def update


# Deleting
# DELETE /things/1
# Actually: POST /things/1 with :destroy = true
def destroy
Line and Order
What was all that?
What was all that?



• Convention over configuration
What was all that?



• Convention over configuration
• Mixed languages as necessary
What was all that?



• Convention over configuration
• Mixed languages as necessary
• Rapid development
Resources




http://pragprog.com/
          titles/rails2
Resources




http://www.railscasts.com
What haven’t I talked
What haven’t I talked




• AJAX-y things
What haven’t I talked




• AJAX-y things
• Testing (RSpec)

Mais conteúdo relacionado

Mais procurados

ApacheCon NA11 - Apache Celix, Universal OSGi?
ApacheCon NA11 - Apache Celix, Universal OSGi?ApacheCon NA11 - Apache Celix, Universal OSGi?
ApacheCon NA11 - Apache Celix, Universal OSGi?abroekhuis
 
Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012
Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012 Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012
Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012 Hossam Karim
 
[Harvard CS264] 04 - Intermediate-level CUDA Programming
[Harvard CS264] 04 - Intermediate-level CUDA Programming[Harvard CS264] 04 - Intermediate-level CUDA Programming
[Harvard CS264] 04 - Intermediate-level CUDA Programmingnpinto
 
Self Review and Personal Growth
Self Review and Personal GrowthSelf Review and Personal Growth
Self Review and Personal Growthelkako38
 
Noung — Snakes of the Tonle Sap
Noung — Snakes of the Tonle SapNoung — Snakes of the Tonle Sap
Noung — Snakes of the Tonle SapNerd Nite Siem Reap
 
OSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle ManagerOSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle ManagerSkills Matter
 
what’s wrong with the philippine higher education
 what’s wrong with the philippine higher education what’s wrong with the philippine higher education
what’s wrong with the philippine higher educationiBoP Asia
 
Changing climate change before it changes us
Changing climate change before it changes usChanging climate change before it changes us
Changing climate change before it changes usHoward Gutman
 
Robert Murdock Band Brings 60s back to S.A. (The Suburban)
Robert Murdock Band Brings 60s back to S.A. (The Suburban)Robert Murdock Band Brings 60s back to S.A. (The Suburban)
Robert Murdock Band Brings 60s back to S.A. (The Suburban)Jacqueline Durett
 
Max Niederhofer, Qwerly
Max Niederhofer, QwerlyMax Niederhofer, Qwerly
Max Niederhofer, QwerlyMashery
 
Provincia Germán Busch
Provincia Germán BuschProvincia Germán Busch
Provincia Germán Buschluismarcelo07
 
Chemistry for composites powering aerospace industry - Highlight
Chemistry for composites powering aerospace industry - HighlightChemistry for composites powering aerospace industry - Highlight
Chemistry for composites powering aerospace industry - HighlightHuntsman Advanced Materials Europe
 
illustration art market report illustrated gallery
illustration art market report illustrated galleryillustration art market report illustrated gallery
illustration art market report illustrated galleryIngrid Bond
 
Recommender Systems [Borsani, Camedda, Leo]
Recommender Systems [Borsani, Camedda, Leo]Recommender Systems [Borsani, Camedda, Leo]
Recommender Systems [Borsani, Camedda, Leo]Giulia Camedda
 

Mais procurados (19)

InnoDB Magic
InnoDB MagicInnoDB Magic
InnoDB Magic
 
ApacheCon NA11 - Apache Celix, Universal OSGi?
ApacheCon NA11 - Apache Celix, Universal OSGi?ApacheCon NA11 - Apache Celix, Universal OSGi?
ApacheCon NA11 - Apache Celix, Universal OSGi?
 
323 n ministerial
323 n ministerial323 n ministerial
323 n ministerial
 
Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012
Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012 Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012
Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012
 
[Harvard CS264] 04 - Intermediate-level CUDA Programming
[Harvard CS264] 04 - Intermediate-level CUDA Programming[Harvard CS264] 04 - Intermediate-level CUDA Programming
[Harvard CS264] 04 - Intermediate-level CUDA Programming
 
Self Review and Personal Growth
Self Review and Personal GrowthSelf Review and Personal Growth
Self Review and Personal Growth
 
Noung — Snakes of the Tonle Sap
Noung — Snakes of the Tonle SapNoung — Snakes of the Tonle Sap
Noung — Snakes of the Tonle Sap
 
OSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle ManagerOSGI workshop - Become A Certified Bundle Manager
OSGI workshop - Become A Certified Bundle Manager
 
what’s wrong with the philippine higher education
 what’s wrong with the philippine higher education what’s wrong with the philippine higher education
what’s wrong with the philippine higher education
 
Changing climate change before it changes us
Changing climate change before it changes usChanging climate change before it changes us
Changing climate change before it changes us
 
NRI Report
NRI ReportNRI Report
NRI Report
 
Robert Murdock Band Brings 60s back to S.A. (The Suburban)
Robert Murdock Band Brings 60s back to S.A. (The Suburban)Robert Murdock Band Brings 60s back to S.A. (The Suburban)
Robert Murdock Band Brings 60s back to S.A. (The Suburban)
 
Max Niederhofer, Qwerly
Max Niederhofer, QwerlyMax Niederhofer, Qwerly
Max Niederhofer, Qwerly
 
powersky
powerskypowersky
powersky
 
Provincia Germán Busch
Provincia Germán BuschProvincia Germán Busch
Provincia Germán Busch
 
Chemistry for composites powering aerospace industry - Highlight
Chemistry for composites powering aerospace industry - HighlightChemistry for composites powering aerospace industry - Highlight
Chemistry for composites powering aerospace industry - Highlight
 
EB-85 A
EB-85 AEB-85 A
EB-85 A
 
illustration art market report illustrated gallery
illustration art market report illustrated galleryillustration art market report illustrated gallery
illustration art market report illustrated gallery
 
Recommender Systems [Borsani, Camedda, Leo]
Recommender Systems [Borsani, Camedda, Leo]Recommender Systems [Borsani, Camedda, Leo]
Recommender Systems [Borsani, Camedda, Leo]
 

Semelhante a Rails by example

Blocks by Lachs Cox
Blocks by Lachs CoxBlocks by Lachs Cox
Blocks by Lachs Coxlachie
 
Ruby 入門 第一次就上手
Ruby 入門 第一次就上手Ruby 入門 第一次就上手
Ruby 入門 第一次就上手Wen-Tien Chang
 
Ruby 程式語言入門導覽
Ruby 程式語言入門導覽Ruby 程式語言入門導覽
Ruby 程式語言入門導覽Wen-Tien Chang
 
Ruby on Rails at PROMPT ISEL '11
Ruby on Rails at PROMPT ISEL '11Ruby on Rails at PROMPT ISEL '11
Ruby on Rails at PROMPT ISEL '11Pedro Cunha
 
Ruby 2: some new things
Ruby 2: some new thingsRuby 2: some new things
Ruby 2: some new thingsDavid Black
 
Postobjektové programovanie v Ruby
Postobjektové programovanie v RubyPostobjektové programovanie v Ruby
Postobjektové programovanie v RubyJano Suchal
 
Rails workshop for Java people (September 2015)
Rails workshop for Java people (September 2015)Rails workshop for Java people (September 2015)
Rails workshop for Java people (September 2015)Andre Foeken
 
A linguagem de programação Ruby - Robson "Duda" Sejan Soares Dornelles
A linguagem de programação Ruby - Robson "Duda" Sejan Soares DornellesA linguagem de programação Ruby - Robson "Duda" Sejan Soares Dornelles
A linguagem de programação Ruby - Robson "Duda" Sejan Soares DornellesTchelinux
 
Ruby Programming Language
Ruby Programming LanguageRuby Programming Language
Ruby Programming LanguageDuda Dornelles
 
Ruby from zero to hero
Ruby from zero to heroRuby from zero to hero
Ruby from zero to heroDiego Lemos
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perlworr1244
 
AMD - Why, What and How
AMD - Why, What and HowAMD - Why, What and How
AMD - Why, What and HowMike Wilcox
 
Ruby presentasjon på NTNU 22 april 2009
Ruby presentasjon på NTNU 22 april 2009Ruby presentasjon på NTNU 22 april 2009
Ruby presentasjon på NTNU 22 april 2009Aslak Hellesøy
 

Semelhante a Rails by example (20)

An introduction to Ruby
An introduction to RubyAn introduction to Ruby
An introduction to Ruby
 
Blocks by Lachs Cox
Blocks by Lachs CoxBlocks by Lachs Cox
Blocks by Lachs Cox
 
Ruby 入門 第一次就上手
Ruby 入門 第一次就上手Ruby 入門 第一次就上手
Ruby 入門 第一次就上手
 
Ruby 程式語言入門導覽
Ruby 程式語言入門導覽Ruby 程式語言入門導覽
Ruby 程式語言入門導覽
 
Ruby
RubyRuby
Ruby
 
Ruby on Rails at PROMPT ISEL '11
Ruby on Rails at PROMPT ISEL '11Ruby on Rails at PROMPT ISEL '11
Ruby on Rails at PROMPT ISEL '11
 
Ruby 2.0
Ruby 2.0Ruby 2.0
Ruby 2.0
 
Ruby 2: some new things
Ruby 2: some new thingsRuby 2: some new things
Ruby 2: some new things
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Postobjektové programovanie v Ruby
Postobjektové programovanie v RubyPostobjektové programovanie v Ruby
Postobjektové programovanie v Ruby
 
Beware sharp tools
Beware sharp toolsBeware sharp tools
Beware sharp tools
 
Dsl
DslDsl
Dsl
 
Language supports it
Language supports itLanguage supports it
Language supports it
 
Rails workshop for Java people (September 2015)
Rails workshop for Java people (September 2015)Rails workshop for Java people (September 2015)
Rails workshop for Java people (September 2015)
 
A linguagem de programação Ruby - Robson "Duda" Sejan Soares Dornelles
A linguagem de programação Ruby - Robson "Duda" Sejan Soares DornellesA linguagem de programação Ruby - Robson "Duda" Sejan Soares Dornelles
A linguagem de programação Ruby - Robson "Duda" Sejan Soares Dornelles
 
Ruby Programming Language
Ruby Programming LanguageRuby Programming Language
Ruby Programming Language
 
Ruby from zero to hero
Ruby from zero to heroRuby from zero to hero
Ruby from zero to hero
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perl
 
AMD - Why, What and How
AMD - Why, What and HowAMD - Why, What and How
AMD - Why, What and How
 
Ruby presentasjon på NTNU 22 april 2009
Ruby presentasjon på NTNU 22 april 2009Ruby presentasjon på NTNU 22 april 2009
Ruby presentasjon på NTNU 22 april 2009
 

Último

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

Rails by example

Notas do Editor

  1. Symbol can be seen as a constant without any overhead. Used for indexing, as key, etc.
  2. Greatly increases readability!
  3. Greatly increases readability!
  4. Greatly increases readability!
  5. Greatly increases readability!
  6. Greatly increases readability!
  7. Greatly increases readability!
  8. Greatly increases readability!
  9. Greatly increases readability!
  10. Greatly increases readability!
  11. Greatly increases readability!
  12. I have been doing Ruby on Rails for about six weeks now; time for a quick introduction! This is not intended as a be-all-and-end-all presentation; I point out the things I find interesting or surprising. Image: http://shakti.trincoll.edu/~dmerrick/images/ruby.png