SlideShare une entreprise Scribd logo
1  sur  91
Télécharger pour lire hors ligne
Introduction to Web
    Applications
       Tobias Pfeiffer
         @PragTob
   pragtob.wordpress.com
Today
What is a web application?
Not rocket science
I am Rails
(and So Can You!)
Programming is fun!
What you are going
  to build today
So what is a web application?
Presented in a
 web browser
Runs on a server...
...or the cloud
is dynamic
A high level overview
High level overview
High level overview
High level overview



          Request
High level overview
High level overview



          Answer
High level overview



          Answer
High level overview
What parts does a web
application consist of?
Web Application
Front End
            Back End
Front End
            Back End
CSS
       JavaScript




HTML
CSS
       JavaScript




HTML
Structure and content
CSS
       JavaScript




HTML
Styling to transform...
...this...
...into this.
CSS
       JavaScript




HTML
CSS
       JavaScript
                    Back End
HTML
CSS
       JavaScript
                    Back End
HTML
Logic




Infrastructure
Logic




Infrastructure
Logic
●   Behaviour
●   Implements the business logic
●   Ties all the parts together
●   Generates content
Ruby on Rails
Logic




Infrastructure
Web Server
Logic




Infrastructure
Storing all your
     data...
...in giant tables
Recap
Web Application Landscape



  CSS




                                       St
                                          or
         JavaScript




                                            ag
                         Logic




                                              e
  HTML
                      Infrastructure
Web Application Landscape

                              Django
        Bootstrap




                                                     Mo
                                Ruby on Rails
  CSS




                                                       St oDB
                                                        ng
                                                          or
              JavaScript              Logic




                                                            ag
                                                              e
                    jQuery             PHP     Java
                              Ruby




                                                                Sq
                                                                  lite
  HTML                                           Python

 XML    DOM                                              WEBrick
                                Infrastructure
                             Apache
                                              Thin
But what is Ruby on Rails?
A web application
framework written in Ruby
●   A general purpose programming
    language
●   Principle of least surprise
●   Invented by Yukihiro Matsumoto
"I hope to see Ruby help
every programmer in the
world to be productive, and to
enjoy programming, and to be
happy. That is the primary
purpose of Ruby language."
Yukihiro Matsumoto
Ruby on Rails
●   Framework written in Ruby
●   set of functionality to help write web
    applications
    –   Connecting to the database (ActiveRecord)
    –   Generating HTML (ERB)
    –   Pays attention to security
    –   … and so much more!
●   Model View Controller
●   You write in Ruby
Let's get into some Ruby
But before that...
Questions time




     ?
Open a terminal/console
irb
tobi@speedy:~$ irb
1.9.3p194 :001 >
irb – interactive ruby
●   talking to ruby
●   You tell ruby something
●   Ruby responds with what it understood
●   Coaches are going to help you!
1.9.3p194 :001 > 5
 => 5
1.9.3p194 :002 > 5 + 3
 => 8
1.9.3p194 :003 > 8 * 7
 => 56
1.9.3p194 :004 > "Tobias Pfeiffer"
 => "Tobias Pfeiffer"
1.9.3p194 :005 > name = "Tobi"
 => "Tobi"
1.9.3p194 :005 > coach = "Tobi"
 => "Tobi"
1.9.3p194 :005 > dhaksdhak = "Tobi"
 => "Tobi"
1.9.3p194 :005 > name = "Tobi"
 => "Tobi"
1.9.3p194 :006 > name
 => "Tobi"
1.9.3p194 :007 > result = 8 * 7
 => 56
1.9.3p194 :007 > result = 8 * 7
 => 56




           56 res ult
1.9.3p194 :008 > result * 10
 => 560
1.9.3p194 :009 > name + " likes Sweden"
 => "Tobi likes Sweden"
1.9.3p194 :010 > puts "Hello World!"
Hello World!
 => nil
1.9.3p194 :011 > fruits = ["apple", "keewee",
"orange"]
 => ["apple", "keewee", "orange"]
1.9.3p194 :013 > fruits.each do |fruit| puts
fruit end
apple
keewee
orange
 => ["apple", "keewee", "orange"]
1.9.3p194 :013 > fruits.each do |bob| puts
bob end
apple
keewee
orange
 => ["apple", "keewee", "orange"]
1.9.3p194 :013 > fruits.each do |anything|
puts anything end
apple
keewee
orange
 => ["apple", "keewee", "orange"]
1.9.3p194 :014 > fruits[0]
 => "apple"
1.9.3p194 :015 > symbol = :wuh
 => :wuh
1.9.3p194 :016 > symbol
 => :wuh
1.9.3p194 :017 > dictionary = {:hi =>
"Hej", :good => "bra", :cookie => "kaka"}
 => {:hi=>"Hej", :good=>"bra",
:cookie=>"kaka"}
1.9.3p194 :018 > dictionary[:hi]
 => "Hej"
1.9.3p194 :019 > dictionary[:cookie]
 => "kaka"
1.9.3p194 :020 > def hello
1.9.3p194 :021?>   puts "Hello there!"
1.9.3p194 :022?>   end
 => nil
1.9.3p194 :026 > hello
Hello there!
 => nil
1.9.3p194 :023 > def greeter(person)
1.9.3p194 :024?>   puts "Hello " + person
1.9.3p194 :025?>   end
 => nil
1.9.3p194 :027 > greeter("Fanny")
Hello Fanny
 => nil
1.9.3p194 :028 > greeter
ArgumentError: wrong number of arguments (0
for 1)
  from (irb):23:in `greeter'
  from (irb):28
  from /home/tobi/.rvm/rubies/ruby-1.9.3-
p194/bin/irb:16:in `<main>'
1.9.3p194 :029 > class Person
1.9.3p194 :030?>   attr_accessor :name, :age
1.9.3p194 :031?>   end
 => nil
1.9.3p194 :032 > tobi = Person.new
 => #<Person:0x0000000205f080>
1.9.3p194 :033   > tobi.name
 => nil
1.9.3p194 :034   > tobi.name = "Tobi"
 => "Tobi"
1.9.3p194 :035   > tobi.age = 23
 => 23
1.9.3p194 :036   > tobi.name
 => "Tobi"
1.9.3p194 :037   > tobi.age
 => 23
1.9.3p194 :038 > tobi.age * 365
 => 8395
1.9.3p194 :039 > puts "This was a talk by " +
tobi.name + " - thank you!"
This was a talk by Tobi - thank you!
 => nil
Where to go from here?
●   I gather resources here, such as:
    –   http://tryruby.org
    –   http://ruby.railstutorial.org/
    –   http://rubymonk.com/
    –   http://www.codeschool.com/courses/rails-for-zombies
    –   http://rubykoans.com/
    –   http://railscasts.com/
●   Rails Girls Berlin project groups
Thank you and enjoy
           coding!
                   Tobias Pfeiffer
                     @PragTob
              pragtob.wordpress.com
listen to me talking about learning Ruby (German)
Photo credit
●   http://www.flickr.com/photos/captainkimo/5918836159/
●   http://www.flickr.com/photos/weppos/7486411688/
●   http://www.flickr.com/photos/railsgirlsberlin/7882839698/in/photostream
●   http://www.flickr.com/photos/nirak/644336486/

Contenu connexe

Tendances

Mehes Artem CV
Mehes Artem CVMehes Artem CV
Mehes Artem CVArtemMehes
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Railsousli07
 
Fighting Ruby code smell
Fighting Ruby code smellFighting Ruby code smell
Fighting Ruby code smellolegshpynov
 
Opal - Ruby Style!! Ruby in the browser
Opal - Ruby Style!!  Ruby in the browserOpal - Ruby Style!!  Ruby in the browser
Opal - Ruby Style!! Ruby in the browserForrest Chang
 
Opal chapter 4_a_new_hope
Opal chapter 4_a_new_hopeOpal chapter 4_a_new_hope
Opal chapter 4_a_new_hopeForrest Chang
 
Ruby on Rails : First Mile
Ruby on Rails : First MileRuby on Rails : First Mile
Ruby on Rails : First MileGourab Mitra
 
Rubykaigi 2017-nishimotz-v6
Rubykaigi 2017-nishimotz-v6Rubykaigi 2017-nishimotz-v6
Rubykaigi 2017-nishimotz-v6Takuya Nishimoto
 
Spring I/O 2012: Natural Templating in Spring MVC with Thymeleaf
Spring I/O 2012: Natural Templating in Spring MVC with ThymeleafSpring I/O 2012: Natural Templating in Spring MVC with Thymeleaf
Spring I/O 2012: Natural Templating in Spring MVC with ThymeleafThymeleaf
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on RailsManoj Kumar
 
Dconrails Gecco Presentation
Dconrails Gecco PresentationDconrails Gecco Presentation
Dconrails Gecco PresentationJuan J. Merelo
 
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of JavascriptIrfan Maulana
 
Javascript evolution
Javascript evolutionJavascript evolution
Javascript evolutionvinukumar_vs
 
2016-05-12 DCRUG React.rb
2016-05-12 DCRUG React.rb2016-05-12 DCRUG React.rb
2016-05-12 DCRUG React.rbawwaiid
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Shaer Hassan
 

Tendances (20)

RubyMotion #jbday
RubyMotion #jbdayRubyMotion #jbday
RubyMotion #jbday
 
遇見 Ruby on Rails
遇見 Ruby on Rails遇見 Ruby on Rails
遇見 Ruby on Rails
 
JavaScript-Core
JavaScript-CoreJavaScript-Core
JavaScript-Core
 
Mehes Artem CV
Mehes Artem CVMehes Artem CV
Mehes Artem CV
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Fighting Ruby code smell
Fighting Ruby code smellFighting Ruby code smell
Fighting Ruby code smell
 
Opal - Ruby Style!! Ruby in the browser
Opal - Ruby Style!!  Ruby in the browserOpal - Ruby Style!!  Ruby in the browser
Opal - Ruby Style!! Ruby in the browser
 
Opal chapter 4_a_new_hope
Opal chapter 4_a_new_hopeOpal chapter 4_a_new_hope
Opal chapter 4_a_new_hope
 
Ruby on Rails : First Mile
Ruby on Rails : First MileRuby on Rails : First Mile
Ruby on Rails : First Mile
 
Hanami
HanamiHanami
Hanami
 
Rubykaigi 2017-nishimotz-v6
Rubykaigi 2017-nishimotz-v6Rubykaigi 2017-nishimotz-v6
Rubykaigi 2017-nishimotz-v6
 
Spring I/O 2012: Natural Templating in Spring MVC with Thymeleaf
Spring I/O 2012: Natural Templating in Spring MVC with ThymeleafSpring I/O 2012: Natural Templating in Spring MVC with Thymeleaf
Spring I/O 2012: Natural Templating in Spring MVC with Thymeleaf
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
Dconrails Gecco Presentation
Dconrails Gecco PresentationDconrails Gecco Presentation
Dconrails Gecco Presentation
 
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
 
Javascript evolution
Javascript evolutionJavascript evolution
Javascript evolution
 
Rango
RangoRango
Rango
 
Visual resume
Visual resumeVisual resume
Visual resume
 
2016-05-12 DCRUG React.rb
2016-05-12 DCRUG React.rb2016-05-12 DCRUG React.rb
2016-05-12 DCRUG React.rb
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09
 

En vedette

Web Application Intro for RailsGirls Berlin May 2013
Web Application Intro for RailsGirls Berlin May 2013Web Application Intro for RailsGirls Berlin May 2013
Web Application Intro for RailsGirls Berlin May 2013Tobias Pfeiffer
 
Where to go from here updated slides
Where to go from here updated slidesWhere to go from here updated slides
Where to go from here updated slidesTobias Pfeiffer
 
Code is read many mor times than written - short
Code is read many mor times than written - shortCode is read many mor times than written - short
Code is read many mor times than written - shortTobias Pfeiffer
 
I love programming (revised)
I love programming (revised)I love programming (revised)
I love programming (revised)Tobias Pfeiffer
 
Optimizing For Readability
Optimizing For ReadabilityOptimizing For Readability
Optimizing For ReadabilityTobias Pfeiffer
 
Elixir & Phoenix - fast, concurrent and explicit
Elixir & Phoenix - fast, concurrent and explicitElixir & Phoenix - fast, concurrent and explicit
Elixir & Phoenix - fast, concurrent and explicitTobias Pfeiffer
 
Beating Go Thanks to the Power of Randomness
Beating Go Thanks to the Power of RandomnessBeating Go Thanks to the Power of Randomness
Beating Go Thanks to the Power of RandomnessTobias Pfeiffer
 
Introducing Elixir the easy way
Introducing Elixir the easy wayIntroducing Elixir the easy way
Introducing Elixir the easy wayTobias Pfeiffer
 
What did AlphaGo do to beat the strongest human Go player?
What did AlphaGo do to beat the strongest human Go player?What did AlphaGo do to beat the strongest human Go player?
What did AlphaGo do to beat the strongest human Go player?Tobias Pfeiffer
 
An Introduction To Shoes
An Introduction To ShoesAn Introduction To Shoes
An Introduction To ShoesTobias Pfeiffer
 
What did AlphaGo do to beat the strongest human Go player? (Strange Group Ver...
What did AlphaGo do to beat the strongest human Go player? (Strange Group Ver...What did AlphaGo do to beat the strongest human Go player? (Strange Group Ver...
What did AlphaGo do to beat the strongest human Go player? (Strange Group Ver...Tobias Pfeiffer
 
Elixir & Phoenix – fast, concurrent and explicit
Elixir & Phoenix – fast, concurrent and explicitElixir & Phoenix – fast, concurrent and explicit
Elixir & Phoenix – fast, concurrent and explicitTobias Pfeiffer
 
What did AlphaGo do to beat the strongest human Go player?
What did AlphaGo do to beat the strongest human Go player?What did AlphaGo do to beat the strongest human Go player?
What did AlphaGo do to beat the strongest human Go player?Tobias Pfeiffer
 

En vedette (19)

Where to go from_here
Where to go from_hereWhere to go from_here
Where to go from_here
 
I love programming
I love programmingI love programming
I love programming
 
Web Application Intro for RailsGirls Berlin May 2013
Web Application Intro for RailsGirls Berlin May 2013Web Application Intro for RailsGirls Berlin May 2013
Web Application Intro for RailsGirls Berlin May 2013
 
Where to go from here updated slides
Where to go from here updated slidesWhere to go from here updated slides
Where to go from here updated slides
 
Code is read many mor times than written - short
Code is read many mor times than written - shortCode is read many mor times than written - short
Code is read many mor times than written - short
 
I love programming (revised)
I love programming (revised)I love programming (revised)
I love programming (revised)
 
Optimizing For Readability
Optimizing For ReadabilityOptimizing For Readability
Optimizing For Readability
 
Elixir & Phoenix - fast, concurrent and explicit
Elixir & Phoenix - fast, concurrent and explicitElixir & Phoenix - fast, concurrent and explicit
Elixir & Phoenix - fast, concurrent and explicit
 
JavaScript Web Workers
JavaScript Web WorkersJavaScript Web Workers
JavaScript Web Workers
 
Beating Go Thanks to the Power of Randomness
Beating Go Thanks to the Power of RandomnessBeating Go Thanks to the Power of Randomness
Beating Go Thanks to the Power of Randomness
 
Shoes lightning
Shoes lightningShoes lightning
Shoes lightning
 
Introducing Elixir the easy way
Introducing Elixir the easy wayIntroducing Elixir the easy way
Introducing Elixir the easy way
 
What did AlphaGo do to beat the strongest human Go player?
What did AlphaGo do to beat the strongest human Go player?What did AlphaGo do to beat the strongest human Go player?
What did AlphaGo do to beat the strongest human Go player?
 
An Introduction To Shoes
An Introduction To ShoesAn Introduction To Shoes
An Introduction To Shoes
 
Web application intro
Web application introWeb application intro
Web application intro
 
What did AlphaGo do to beat the strongest human Go player? (Strange Group Ver...
What did AlphaGo do to beat the strongest human Go player? (Strange Group Ver...What did AlphaGo do to beat the strongest human Go player? (Strange Group Ver...
What did AlphaGo do to beat the strongest human Go player? (Strange Group Ver...
 
Elixir & Phoenix – fast, concurrent and explicit
Elixir & Phoenix – fast, concurrent and explicitElixir & Phoenix – fast, concurrent and explicit
Elixir & Phoenix – fast, concurrent and explicit
 
What did AlphaGo do to beat the strongest human Go player?
What did AlphaGo do to beat the strongest human Go player?What did AlphaGo do to beat the strongest human Go player?
What did AlphaGo do to beat the strongest human Go player?
 
Shoes
ShoesShoes
Shoes
 

Similaire à Web application intro + a bit of ruby (revised)

RoR (Ruby on Rails)
RoR (Ruby on Rails)RoR (Ruby on Rails)
RoR (Ruby on Rails)scandiweb
 
Exploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLExploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLBarry Jones
 
Make your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsMake your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsNataly Tkachuk
 
Killing the Angle Bracket
Killing the Angle BracketKilling the Angle Bracket
Killing the Angle Bracketjnewmanux
 
Ruby Kaigi09 China Rubyupdate20090718
Ruby Kaigi09 China Rubyupdate20090718Ruby Kaigi09 China Rubyupdate20090718
Ruby Kaigi09 China Rubyupdate20090718tengu
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?jbandi
 
The story of language development
The story of language developmentThe story of language development
The story of language developmentHiroshi SHIBATA
 
December 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig PresentationDecember 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig PresentationJonathan Abrams
 
Ruby on Rails - An overview
Ruby on Rails -  An overviewRuby on Rails -  An overview
Ruby on Rails - An overviewThomas Asikis
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBrian Sam-Bodden
 
Rails Vs CakePHP
Rails Vs CakePHPRails Vs CakePHP
Rails Vs CakePHPGautam Rege
 
DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails FinalRobert Postill
 
Railswaycon 2009 - Summary
Railswaycon 2009 - SummaryRailswaycon 2009 - Summary
Railswaycon 2009 - Summarydaniel.mattes
 
At&T Interactive: The Many Facets Of Ruby
At&T Interactive: The Many Facets Of RubyAt&T Interactive: The Many Facets Of Ruby
At&T Interactive: The Many Facets Of RubyCoby Randquist
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGuillaume Laforge
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyKyle Drake
 
Ruby On Google App Engine 2nd Athens Ruby Me
Ruby On Google App Engine 2nd Athens Ruby MeRuby On Google App Engine 2nd Athens Ruby Me
Ruby On Google App Engine 2nd Athens Ruby MePanagiotis Papadopoulos
 
MacRuby For Ruby Developers
MacRuby For Ruby DevelopersMacRuby For Ruby Developers
MacRuby For Ruby DevelopersRenzo Borgatti
 

Similaire à Web application intro + a bit of ruby (revised) (20)

RoR (Ruby on Rails)
RoR (Ruby on Rails)RoR (Ruby on Rails)
RoR (Ruby on Rails)
 
Exploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLExploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQL
 
Make your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsMake your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On Rails
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Killing the Angle Bracket
Killing the Angle BracketKilling the Angle Bracket
Killing the Angle Bracket
 
Ruby Kaigi09 China Rubyupdate20090718
Ruby Kaigi09 China Rubyupdate20090718Ruby Kaigi09 China Rubyupdate20090718
Ruby Kaigi09 China Rubyupdate20090718
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?
 
The story of language development
The story of language developmentThe story of language development
The story of language development
 
December 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig PresentationDecember 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig Presentation
 
Ruby on Rails - An overview
Ruby on Rails -  An overviewRuby on Rails -  An overview
Ruby on Rails - An overview
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRuby
 
Rails Vs CakePHP
Rails Vs CakePHPRails Vs CakePHP
Rails Vs CakePHP
 
DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails Final
 
Railswaycon 2009 - Summary
Railswaycon 2009 - SummaryRailswaycon 2009 - Summary
Railswaycon 2009 - Summary
 
At&T Interactive: The Many Facets Of Ruby
At&T Interactive: The Many Facets Of RubyAt&T Interactive: The Many Facets Of Ruby
At&T Interactive: The Many Facets Of Ruby
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
 
Ruby On Google App Engine 2nd Athens Ruby Me
Ruby On Google App Engine 2nd Athens Ruby MeRuby On Google App Engine 2nd Athens Ruby Me
Ruby On Google App Engine 2nd Athens Ruby Me
 
MacRuby For Ruby Developers
MacRuby For Ruby DevelopersMacRuby For Ruby Developers
MacRuby For Ruby Developers
 

Plus de Tobias Pfeiffer

Metaphors are everywhere: Ideas to Improve Software Development
 Metaphors are everywhere: Ideas to Improve Software Development  Metaphors are everywhere: Ideas to Improve Software Development
Metaphors are everywhere: Ideas to Improve Software Development Tobias Pfeiffer
 
Elixir & Phoenix – Fast, Concurrent and Explicit
Elixir & Phoenix – Fast, Concurrent and ExplicitElixir & Phoenix – Fast, Concurrent and Explicit
Elixir & Phoenix – Fast, Concurrent and ExplicitTobias Pfeiffer
 
Functioning Among Humans
Functioning Among HumansFunctioning Among Humans
Functioning Among HumansTobias Pfeiffer
 
Functioning Among Humans
Functioning Among HumansFunctioning Among Humans
Functioning Among HumansTobias Pfeiffer
 
Do You Need That Validation? Let Me Call You Back About It
Do You Need That Validation? Let Me Call You Back About ItDo You Need That Validation? Let Me Call You Back About It
Do You Need That Validation? Let Me Call You Back About ItTobias Pfeiffer
 
Elixir, your Monolith and You
Elixir, your Monolith and YouElixir, your Monolith and You
Elixir, your Monolith and YouTobias Pfeiffer
 
Stop Guessing and Start Measuring - Benchmarking in Practice (Lambdadays)
Stop Guessing and Start Measuring - Benchmarking in Practice (Lambdadays)Stop Guessing and Start Measuring - Benchmarking in Practice (Lambdadays)
Stop Guessing and Start Measuring - Benchmarking in Practice (Lambdadays)Tobias Pfeiffer
 
It's About the Humans, Stupid (Lightning)
It's About the Humans, Stupid (Lightning)It's About the Humans, Stupid (Lightning)
It's About the Humans, Stupid (Lightning)Tobias Pfeiffer
 
Stop Guessing and Start Measuring - Benchmarking Practice (Poly Version)
 Stop Guessing and Start Measuring - Benchmarking Practice (Poly Version) Stop Guessing and Start Measuring - Benchmarking Practice (Poly Version)
Stop Guessing and Start Measuring - Benchmarking Practice (Poly Version)Tobias Pfeiffer
 
Code, Comments, Concepts, Comprehension – Conclusion?
Code, Comments, Concepts, Comprehension – Conclusion?Code, Comments, Concepts, Comprehension – Conclusion?
Code, Comments, Concepts, Comprehension – Conclusion?Tobias Pfeiffer
 
How fast is it really? Benchmarking in Practice (Ruby Version)
How fast is it really? Benchmarking in Practice (Ruby Version)How fast is it really? Benchmarking in Practice (Ruby Version)
How fast is it really? Benchmarking in Practice (Ruby Version)Tobias Pfeiffer
 
How fast ist it really? Benchmarking in practice
How fast ist it really? Benchmarking in practiceHow fast ist it really? Benchmarking in practice
How fast ist it really? Benchmarking in practiceTobias Pfeiffer
 
Elixir & Phoenix – fast, concurrent and explicit
Elixir & Phoenix – fast, concurrent and explicitElixir & Phoenix – fast, concurrent and explicit
Elixir & Phoenix – fast, concurrent and explicitTobias Pfeiffer
 
Ruby to Elixir - what's great and what you might miss
Ruby to Elixir - what's great and what you might missRuby to Elixir - what's great and what you might miss
Ruby to Elixir - what's great and what you might missTobias Pfeiffer
 
Code is read many more times than written
Code is read many more times than writtenCode is read many more times than written
Code is read many more times than writtenTobias Pfeiffer
 

Plus de Tobias Pfeiffer (19)

Going Staff
Going StaffGoing Staff
Going Staff
 
Stories in Open SOurce
Stories in Open SOurceStories in Open SOurce
Stories in Open SOurce
 
Metaphors are everywhere: Ideas to Improve Software Development
 Metaphors are everywhere: Ideas to Improve Software Development  Metaphors are everywhere: Ideas to Improve Software Development
Metaphors are everywhere: Ideas to Improve Software Development
 
Stories in Open Source
Stories in Open SourceStories in Open Source
Stories in Open Source
 
Elixir & Phoenix – Fast, Concurrent and Explicit
Elixir & Phoenix – Fast, Concurrent and ExplicitElixir & Phoenix – Fast, Concurrent and Explicit
Elixir & Phoenix – Fast, Concurrent and Explicit
 
Functioning Among Humans
Functioning Among HumansFunctioning Among Humans
Functioning Among Humans
 
Functioning Among Humans
Functioning Among HumansFunctioning Among Humans
Functioning Among Humans
 
Do You Need That Validation? Let Me Call You Back About It
Do You Need That Validation? Let Me Call You Back About ItDo You Need That Validation? Let Me Call You Back About It
Do You Need That Validation? Let Me Call You Back About It
 
Elixir, your Monolith and You
Elixir, your Monolith and YouElixir, your Monolith and You
Elixir, your Monolith and You
 
Stop Guessing and Start Measuring - Benchmarking in Practice (Lambdadays)
Stop Guessing and Start Measuring - Benchmarking in Practice (Lambdadays)Stop Guessing and Start Measuring - Benchmarking in Practice (Lambdadays)
Stop Guessing and Start Measuring - Benchmarking in Practice (Lambdadays)
 
Where do Rubyists go?
 Where do Rubyists go?  Where do Rubyists go?
Where do Rubyists go?
 
It's About the Humans, Stupid (Lightning)
It's About the Humans, Stupid (Lightning)It's About the Humans, Stupid (Lightning)
It's About the Humans, Stupid (Lightning)
 
Stop Guessing and Start Measuring - Benchmarking Practice (Poly Version)
 Stop Guessing and Start Measuring - Benchmarking Practice (Poly Version) Stop Guessing and Start Measuring - Benchmarking Practice (Poly Version)
Stop Guessing and Start Measuring - Benchmarking Practice (Poly Version)
 
Code, Comments, Concepts, Comprehension – Conclusion?
Code, Comments, Concepts, Comprehension – Conclusion?Code, Comments, Concepts, Comprehension – Conclusion?
Code, Comments, Concepts, Comprehension – Conclusion?
 
How fast is it really? Benchmarking in Practice (Ruby Version)
How fast is it really? Benchmarking in Practice (Ruby Version)How fast is it really? Benchmarking in Practice (Ruby Version)
How fast is it really? Benchmarking in Practice (Ruby Version)
 
How fast ist it really? Benchmarking in practice
How fast ist it really? Benchmarking in practiceHow fast ist it really? Benchmarking in practice
How fast ist it really? Benchmarking in practice
 
Elixir & Phoenix – fast, concurrent and explicit
Elixir & Phoenix – fast, concurrent and explicitElixir & Phoenix – fast, concurrent and explicit
Elixir & Phoenix – fast, concurrent and explicit
 
Ruby to Elixir - what's great and what you might miss
Ruby to Elixir - what's great and what you might missRuby to Elixir - what's great and what you might miss
Ruby to Elixir - what's great and what you might miss
 
Code is read many more times than written
Code is read many more times than writtenCode is read many more times than written
Code is read many more times than written
 

Web application intro + a bit of ruby (revised)