SlideShare a Scribd company logo
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key

More Related Content

PDF
Mariano goulart-x-gamma-poly1
PDF
F5 m instruction manual
PDF
Smarter planet cmo marcel baron - April 2011
PPT
autobiografia
PPTX
Muntatge n s de robines
KEY
Page Caching Resurrected: A Fairy Tale
KEY
PDF
Palestra no Grupo Sou Java
Mariano goulart-x-gamma-poly1
F5 m instruction manual
Smarter planet cmo marcel baron - April 2011
autobiografia
Muntatge n s de robines
Page Caching Resurrected: A Fairy Tale
Palestra no Grupo Sou Java

Similar to Ruby On Rails Presentation Barcamp Antwerp.Key (20)

PDF
Carrington CMS Theme Framework for WordPress
KEY
Internationalization of your homepage
PDF
The Craftsman Developer In An Agile World
PDF
2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009
PDF
Realtime 3D on the web - a toy or a useful tool?
KEY
Mozilla - Poetry & Pragmatics (Eliberatica09)
KEY
Devia Podcasting As An Educational Tool Barcamp Antwerp
PDF
Django, Pinax, and Humble Pie
PDF
Serving The Next Billion
KEY
IT Depends: Custom vs Packaged Software
KEY
Ruby AST Tools
KEY
RefreshPhilly Presentation February 09
PDF
MacRuby - When objective-c and Ruby meet
PDF
Scaling with Postgres
ZIP
Promiscuous Drupal
PDF
Intro To Ruby
PDF
Background Processing in Ruby on Rails
PDF
Semcomp de São Carlos
PDF
All The Little Pieces
PDF
Plugin Testing
Carrington CMS Theme Framework for WordPress
Internationalization of your homepage
The Craftsman Developer In An Agile World
2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009
Realtime 3D on the web - a toy or a useful tool?
Mozilla - Poetry & Pragmatics (Eliberatica09)
Devia Podcasting As An Educational Tool Barcamp Antwerp
Django, Pinax, and Humble Pie
Serving The Next Billion
IT Depends: Custom vs Packaged Software
Ruby AST Tools
RefreshPhilly Presentation February 09
MacRuby - When objective-c and Ruby meet
Scaling with Postgres
Promiscuous Drupal
Intro To Ruby
Background Processing in Ruby on Rails
Semcomp de São Carlos
All The Little Pieces
Plugin Testing
Ad

Recently uploaded (20)

PDF
NewMind AI Monthly Chronicles - July 2025
PDF
cuic standard and advanced reporting.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Modernizing your data center with Dell and AMD
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPT
Teaching material agriculture food technology
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
NewMind AI Weekly Chronicles - August'25 Week I
NewMind AI Monthly Chronicles - July 2025
cuic standard and advanced reporting.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation_ Review paper, used for researhc scholars
The Rise and Fall of 3GPP – Time for a Sabbatical?
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Network Security Unit 5.pdf for BCA BBA.
Modernizing your data center with Dell and AMD
Understanding_Digital_Forensics_Presentation.pptx
Teaching material agriculture food technology
MYSQL Presentation for SQL database connectivity
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Mobile App Security Testing_ A Comprehensive Guide.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
NewMind AI Weekly Chronicles - August'25 Week I
Ad

Editor's Notes

  • #2: Sinds 3j RoR dev daarvoor: PHP, Java, ASP.NET C#, COBOL, HTTP, CSS leren developen op het web Wat is RoR.. eerst en vooral het Ruby
  • #3: Created by Yukihiro Matsumoto, a.k.a. Matz in 1995
  • #4: Smalltalk: Full OO, Dynamic typing, reflecting/meta programming Phython: easy, natural syntax Perl’s Pragamatism: Gezond verstand en realisme aanleggen en praktish gericht zijn ipv theoretish ** Principal of Least Surprise ** Completely OO ** Syntax for programmers
  • #5: Dynamic typing => duck typing introspection .methods method redefine method in same class / redefine methods for an instance Multiple inheritance like in c A dynamic, object-oriented programming language with: •a strong focus on simplicity and productivity •an elegant, natural syntax •roots in Lisp, Perl, and Smalltalk
  • #6: Leesbaar, te verwachten syntax
  • #7: 5 is obviously a object leesbaar, te verwachten syntax
  • #8: No need to define the variables of an object optional arguments (*args)
  • #9: Only in Rails, ook in february Reflection! (1.month is afhankelijk van Time.now)
  • #10: code blocks!
  • #11: True nil is an Object Class is an Object (word wat ingewikkeld) Nu, wat is Rails dan?
  • #12: Is een volledig web framework - Abstraction (DB, environment) - Geen SERVER - Convention over Configuration - MVC
  • #13: Rails gebruikt het MVC pattern. Voor die gene die MVC niet kennen: Model: Object represenatie van de data en business logic View: Presentatie van de data Conroller: Het gene er tussenin (haal data op om te displayen, regageert op user actions)
  • #14: De folder structuur van een Rails app ziet er zo uit. - Controllers - Models - Views helpers voor views the helpen ten eerste de Models
  • #15: ActiveRecord is de basis klasse van alle DB models in Rails - Klass is a table - Columns are attributes - Rows are instances Abstractie van alle database, en db type: MySQL, PostgreSQL, SQLite, Oracle, MS SQLServer, and IBM DB2. out of the box
  • #16: Dit is hoe een model er kan uit zien Het aanmaken van een tabel (een migration) is Database agnostisch. ActiveRecord zal automatisch de tabel “posts” vinden (plural van Post) en al de attributen zullen aanwezig zijn als getters/setters Free magic: id column created/updated_at counters
  • #17: Enkele van de “gratis” methods
  • #18: Gratis instance methods
  • #19: We kunnen natuurlijk de definitie van het model aanpassen Weinig code => veel functionaliteit - associations (belongs_to, has_one, has_many, :through, conditions ... ) - Validations (uniqness, range, presence, :if, custom) - named scope (pre defined pieces of queries, condition, order, grouping) Deze method calls gebeuren dus vooral in de controllers
  • #20: Controllers - reageert op de HTTP requests “actions” OUt of the box krijgen we
  • #21: Out of the box doet deze Klasse al veel voor je - Securing een session (encoding the session info) - Cross site scripting attacks afweren (session VS post variables) - Vertalen van URL’s naar methods in controllers // Routing - Als er een AR model niet gevonden word, 404 displayen, of een 500 page waneer er zich een andere excpetion voor doet
  • #22: Routing - Controller - Action - Params Gedefinieerd in routes file, Eigen routes of standaard routes / REST
  • #23: REST = Representational_State_Transfer CRUD over HTTP PUT en DELETE zijn niet supported door Browsers (behalve in JS) en word gemuleerd door de Rails HTTP is meer dan GET and POST (WebDAV, CalDAV) verbs
  • #24: Zolas je kan zien kan rails bepalen in welk format het moet antwoorden HTML, XML, JSON, ICAL, JS gebaseerd op de request De view hoeft niet expliciet aangeroepen worden (default) view heeft zelfde naam als action
  • #26: Views zijn redelijk simpel - Helper methods (link_to) - translations t() - url/path generators/helpers action/name . format . processor partials layouts
  • #27: Helpers zijn er om de view te helpen. Ze bevatten stukjes logica die meer dan een regel beslaan, zodat de view zelf niet vervuilt word met teveel logica
  • #28: Bepaalde stukken logica gaan zich vaak herhalen zowel binnen 1 als in meerdere applicaties - Login validatie, - Rating van Items in de database (stars) - Comments logic - etc...
  • #29: Weinig woorden en veel daden Dankzij convention over configuration: - Bijna lege models (mapping en configuratie automatisch) Configuration still possible - legacy DB, highly custom systems
  • #30: Logica dat vaak herhaalt word kan in een module geplaatst worden en included worden door objecten die het willen
  • #31: acts_as_featurable eigen project Laat toe dat Models featured kunnen worden (dmv een feature model) Alle logica is in de module - association - AR methods - instance methods - Klass methods - validations ...
  • #32: 1 lijntje brengt onmiddelijk een hele reeks code met zich mee ActiveRecord zelf is ook aangepast, zodat elk model kan zeggen of het gefeatured kan worden
  • #33: Gems en plugins zijn al vooraf geschreven stukken code, liberaries Waarom herhalen wat anderen al hebben geschreven?
  • #34: commentable: comment system voor de site taggable: full tagging system (zijn volledige tables, maar doen zich voor als array in model) list: als order belangrijk is paginate: limit queries, and pagination voor HTML (AR, AC) default: complexe default values (uuid, time based, ) Ten slotte nog enkele plugins in detail
  • #35: Ten slotte Authlogic voorziet een volledige authenticatie systeem Definieer het User model and you are ready to roll - Sessies gedragen zich net als andere modellen - Password security is transparant - tracken van login times - create / confirmed / approved status van account - etc...
  • #36: Easy file attachment management for ActiveRecord - Zet zelf attributen in DB - Manage files zelf, methods zoals public_path en local_path - Thumbnails automatisch - Processors toevoegen (OCR, red eyes...) -
  • #37: HTML, maar dan compacter Dankuwel