Ruby On Rails - webdevelopment wordt weer leuk!

  • 841 views
Uploaded on

Deze presentatie heb ik een jaar geleden (2007) gegeven om de developers bij Ordina | Wisdom enthousiast te maken voor Ruby on Rails. …

Deze presentatie heb ik een jaar geleden (2007) gegeven om de developers bij Ordina | Wisdom enthousiast te maken voor Ruby on Rails.

In het eerste deel ga ik voornamelijk in op de filosofie achter Ruby on Rails: programmer happines :)

De demo zit niet in de slides van de presentatie.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
841
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • In deze presentatie wil ik jullie enthousiast maken over Ruby on Rails, een nieuwe meer agile manier van webdevelopment. Deze presentatie is eigenlijk veel te kort om goed uit te kunnen uitleggen wat Rails is en waarom het zo bijzonder is, daarvoor moet je eigenlijk zelf eens een keer met met Rails spelen (pas wel op want voor je het weet ben je verslaafd! ;)

Transcript

  • 1. Ruby on Rails Webdevelopment wordt weer leuk!
  • 2. 2006
  • 3.  
  • 4.
    • Ruby
  • 5. Yukihiro Matsumoto Japan, 1993 …
  • 6.
    • Ruby
    • =
    • object oriented
  • 7.
    • Class. class
    • Time.now - 1 .day
    • 5.times {print “Hello world!" }
    • [ 'toast','cheese' , 'wine' ]. each {
    • |food| print food.capitalize }
  • 8.
    • Ruby
    • =
    • interpreted
  • 9.
    • Ruby
    • =
    • dynamic
  • 10. metaprogramming / DSL’s
  • 11. metaprogramming / DSL’s
  • 12.
    • Filosofie achter Rails
  • 13.
    • productiviteit
  • 14.
    • happiness
    • productiviteit
  • 15. Optimize for programmer happiness
  • 16.
    • flow
    • happiness
    • productiviteit
  • 17.  
  • 18. Flow = Geen besef van tijd en jezelf meer
  • 19. Flow = Directe feedback
  • 20. programmeur
  • 21.  
  • 22. programmeur
  • 23.
    • Rails:
    • Change = instant
  • 24. Flow = Balans vaardigheden en uitdaging
  • 25.  
  • 26. Full-stack MVC framework
  • 27. Principes
    • Convention over configuration
    • Less and more beautiful code
    • DRY
  • 28. Flow = Intrinsieke motivatie
  • 29.
    • flow
    • happiness
    • productiviteit
  • 30.
    • Demo
    • (eindelijk …  )
  • 31. project structuur (conventions over configuration)
  • 32.
    • Datamodel demo
    Comments body created_at 1 0..* Article title body created_at
  • 33. Java Model (Hibernate) <hibernate-mapping> <class name=&quot;models.Article&quot; table=“ARTICLES&quot;> <id name=&quot;id&quot; column=&quot;id&quot; type=&quot;java.lang.Long&quot;> <generator class=&quot;identity&quot;/> </id> <property name=“body &quot; column=“body&quot;/> <property name=“description“ column=“description&quot;/> <set name=“comments&quot; table=“COMMENTS”> <key column=&quot;id&quot;/> <one-to-many class=&quot;models.Comments&quot;/> </set> </class> </hibernate-mapping> Article.hbm.xml public class Article{ private Long id; private String title; private String body; private Set comments; public Set getComments() { return markets; } public void setComments(Set comments){ this.comments = comments; } // getters en setters van andere // properties } Article.java + configuratie (o.a. Hibernate)
  • 34. Rails model beautiful, agile ...
  • 35.  
  • 36. migrations (tegen de migraine)
  • 37. unit tests (zijn ingebakken)
  • 38. Scaffolding Sagrada Familia (Gaudi), Barcelona
  • 39.
    • Controller
    • articles _controller.rb:
    • class Articles Controller < ApplicationController
    • def show
    • @article = Article.find(params[ :id ])
    • end
    • end
    URL http://localhost:3000/ articles / show / 2 View app/views/ articles / show .rhtml
  • 40. validations (when you do it, do it safe)
  • 41. Ajax (it’s magic)
  • 42. RESTful webservices (constraints are liberating)
  • 43.
    • Maar?
  • 44.
    • Schaalt het?
  • 45.  
  • 46. > 500.000 requests / dag > 100.000 users > Draait op 3 servers
  • 47.  
  • 48.  
  • 49. 11000 requests / seconde! Rails schaalt toch niet?
  • 50. 11000 requests / seconde! Niet out-of-the box 11000 request / seconde, maar wel met enige aanpassingen!
  • 51.
    • Iets voor Wisdom?
    • ( ik denk het wel  )
  • 52. Rails sweetspots (volgens de heren @ThoughtWorks …)
    • Web 2.0 applications that make use of REST and/or AJAX designs
    • Small to medium web-based applications with aggressive time-to-market goals
    • Low-cost internal prototypes and pilot applications
    • So-called &quot;soft layer&quot; APIs on hardened transactional systems
  • 53.
    • Vragen?