SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Ruby in prijatelji
  Oto Brglez za #wwwhmb
Kontakt in vprašanja
• @otobrglez
• skype: zverchi
• http://opalab.com

• @wwwhmb, #wwwhmb, wwwhmb.si
Kdo sem?
• Razvijalec
• Veliki projekti, mali projekti, “free”
  projekti

• (Izredni) Študent ;)
• LinkedIn:
  http://www.linkedin.com/in/otobrglez
Za koga je ta talk?

• Razvijalece, ki so žže programirali.
• Razvijalece, ki rabijo nove izzive.
• Ljudi, ki iščejo zabavo in srečo.*
Potek


• Ruby - (uvod, splošno, kako?, itd...)
• Prijatelji (DSL, ogrodja, Rails,...)
Ruby ~
Zgodovina
Yukihiro Matsumoto -
@yukihiro_matz
Japonska 1990
21 december 1995 ~> Ruby 1.0
Klasifikacija in inspiracija

•   Dinamičen

•   Reflektiven

•   Splošen

•   Objektno orientiran

•   Inspiracija PERL, Smalltalk, Eiffel
Paradigme
• Funkcijski
• Objektno orientiran
• Iperativen
• Reflektiven
• Dinamični tipi (Duck typing)
Implementacije
•   MRI (C by Matz)

•   YARD

•   JRuby

•   Rubinius

•   IronRuby

•   MacRuby

•   HotRuby
Namestitev?
• OSX ~> Prednameščen
• Ubutnu and alike ~> apt-get ...
• Windows ~> http://rubyinstaller.org/

• http://www.ruby-lang.org
RVM = Ruby Version Manager
RubyGems
IRB = Interactive Ruby Shell
Vejitve, zanke, funkcije,...
String, Array[], Hash{},...
Razredi in OOP
Dedovanje, Mixin,...
ruby-debug19
ri, rdoc
Ruby Reference/doc


• http://apidock.com/
• http://ruby-doc.org/
• http://rubydoc.info/
End of part 1.
    Vprašanja?
Sledi...

• DSL
• RSpec
• Sinatra
• Ruby on Rails
DSL = Domain-specific language


• “In software development, a domain-
  specific language (DSL) is a
  programming language or specification
  language dedicated to a particular
  problem domain, a particular problem
  representation technique, and/or a
  particular solution technique.”
  - Wikipedia
Bolj poznani “DSL-ji” v Ruby svetu...



• RAKE ~ Ruby “Make”
• RSpec ~ Ruby Specification framework
• Sinatra ~ Web application framework
• ...
RSpec = Behaviour-Driven Development tool for
            Ruby programmers
Sinatra
Ruby on Rails
David Heinemeier Hansson @dhh
Julij 2004
Ruby on Rails z Mac OS X
Leopard
Filozofija


• CoC = Convention over Configuration
• DRY = Don’t Repeat Yourself
Kaj ima?
•   MVC ~ Model-View-Controller Pattern

•   Scaffolding

•   WEBrick

•   Rake

•   Prototype in Script.aculo.us ~> jQuery

•   RESTful Web Services

•   UJS = Unobstrusive JavaScript

•   ActiveRecord
Simple projekt: pozdravi-me
Scaffold
What?
Hvala!
http://pozdravi-me.heroku.com/
Novo v Rails 3.1

• Assets Pipeline
• HTTP Streaming
• jQuery Default

Mais conteúdo relacionado

Mais procurados

Алексей Серый "Ruby on Rails for dummies"
Алексей Серый "Ruby on Rails for dummies"Алексей Серый "Ruby on Rails for dummies"
Алексей Серый "Ruby on Rails for dummies"
EPAM Systems
 

Mais procurados (12)

PHP Classroom Training
PHP Classroom TrainingPHP Classroom Training
PHP Classroom Training
 
Introduction of Scala Kansai Beginners (ScalaMatsuri2014LT)
Introduction of Scala Kansai Beginners (ScalaMatsuri2014LT)Introduction of Scala Kansai Beginners (ScalaMatsuri2014LT)
Introduction of Scala Kansai Beginners (ScalaMatsuri2014LT)
 
Ruby on Rails Vs. ASP.NET MVC
Ruby on Rails Vs. ASP.NET MVCRuby on Rails Vs. ASP.NET MVC
Ruby on Rails Vs. ASP.NET MVC
 
Rubyist in oz
Rubyist in ozRubyist in oz
Rubyist in oz
 
Hack Night Retro Futurespective
Hack Night Retro FuturespectiveHack Night Retro Futurespective
Hack Night Retro Futurespective
 
Ruby Beyond Rails
Ruby Beyond RailsRuby Beyond Rails
Ruby Beyond Rails
 
Ruby on Rails Fundamentals, Class 1
Ruby on Rails Fundamentals, Class 1Ruby on Rails Fundamentals, Class 1
Ruby on Rails Fundamentals, Class 1
 
RoR: What is it Good For?: Absolutely Something
RoR: What is it Good For?: Absolutely SomethingRoR: What is it Good For?: Absolutely Something
RoR: What is it Good For?: Absolutely Something
 
OPENVIS Conference Quick Report Part 2
OPENVIS Conference Quick Report Part 2OPENVIS Conference Quick Report Part 2
OPENVIS Conference Quick Report Part 2
 
Алексей Серый "Ruby on Rails for dummies"
Алексей Серый "Ruby on Rails for dummies"Алексей Серый "Ruby on Rails for dummies"
Алексей Серый "Ruby on Rails for dummies"
 
October 2014 - USG Rock Eagle - Sass 101
October 2014 - USG Rock Eagle - Sass 101October 2014 - USG Rock Eagle - Sass 101
October 2014 - USG Rock Eagle - Sass 101
 
Startup Weekend & LocomotiveCMS (In Chinese)
Startup Weekend & LocomotiveCMS (In Chinese)Startup Weekend & LocomotiveCMS (In Chinese)
Startup Weekend & LocomotiveCMS (In Chinese)
 

Destaque

Prueba institución 5
Prueba institución 5Prueba institución 5
Prueba institución 5
Ángel Uran
 
Lista de artistas jl cproducciones
Lista de artistas   jl cproduccionesLista de artistas   jl cproducciones
Lista de artistas jl cproducciones
jlcproducciones
 
Aamchii Mumbai Smoke Free Mumbai, Stakeholders, Activities, Evaluation And Ti...
Aamchii Mumbai Smoke Free Mumbai, Stakeholders, Activities, Evaluation And Ti...Aamchii Mumbai Smoke Free Mumbai, Stakeholders, Activities, Evaluation And Ti...
Aamchii Mumbai Smoke Free Mumbai, Stakeholders, Activities, Evaluation And Ti...
smokefree
 
Plus d’air. Compresseurs pour retrofits
Plus d’air. Compresseurs pour retrofitsPlus d’air. Compresseurs pour retrofits
Plus d’air. Compresseurs pour retrofits
Voith Turbo France
 
Ppt Tics Okfuen
Ppt Tics OkfuenPpt Tics Okfuen
Ppt Tics Okfuen
xiscasegui
 
Tema2 herramientas open office
Tema2  herramientas open officeTema2  herramientas open office
Tema2 herramientas open office
adolfogcasanova
 
La función financiera nueva
La función financiera nuevaLa función financiera nueva
La función financiera nueva
silgrasanjusto
 
autobiografia elizabeth briseño gonzalez
autobiografia elizabeth briseño gonzalezautobiografia elizabeth briseño gonzalez
autobiografia elizabeth briseño gonzalez
sandrajudith
 
InterMarine Brochure SHIPPING
InterMarine Brochure SHIPPINGInterMarine Brochure SHIPPING
InterMarine Brochure SHIPPING
Kevin Mcgarry
 

Destaque (20)

Programa #TrenTurismo - Jornadas Profesionales de Turismo
Programa #TrenTurismo - Jornadas Profesionales de TurismoPrograma #TrenTurismo - Jornadas Profesionales de Turismo
Programa #TrenTurismo - Jornadas Profesionales de Turismo
 
Prueba institución 5
Prueba institución 5Prueba institución 5
Prueba institución 5
 
In-Depth Healthcare Analysis of mHealth Trends & Metrics Q2, 2014
In-Depth Healthcare Analysis of mHealth Trends & Metrics Q2, 2014In-Depth Healthcare Analysis of mHealth Trends & Metrics Q2, 2014
In-Depth Healthcare Analysis of mHealth Trends & Metrics Q2, 2014
 
"Leveraging SP for PM Workbook" for SPTech Conference at SFO
"Leveraging SP for PM Workbook" for SPTech Conference at SFO"Leveraging SP for PM Workbook" for SPTech Conference at SFO
"Leveraging SP for PM Workbook" for SPTech Conference at SFO
 
Boletin julio
Boletin julioBoletin julio
Boletin julio
 
ESSENTIAL MANAGEMENT SPORT PROGRAM. RECOMENDACIONES BIBLIOGRAFICAS DE JOAN C...
ESSENTIAL MANAGEMENT SPORT PROGRAM.  RECOMENDACIONES BIBLIOGRAFICAS DE JOAN C...ESSENTIAL MANAGEMENT SPORT PROGRAM.  RECOMENDACIONES BIBLIOGRAFICAS DE JOAN C...
ESSENTIAL MANAGEMENT SPORT PROGRAM. RECOMENDACIONES BIBLIOGRAFICAS DE JOAN C...
 
Memòria servei compatriota 2012
Memòria servei compatriota 2012Memòria servei compatriota 2012
Memòria servei compatriota 2012
 
Conoce zaragoza veracruz
Conoce zaragoza veracruzConoce zaragoza veracruz
Conoce zaragoza veracruz
 
Lista de artistas jl cproducciones
Lista de artistas   jl cproduccionesLista de artistas   jl cproducciones
Lista de artistas jl cproducciones
 
¿Cómo se archiva Internet? Mar Pérez Morillo
¿Cómo se archiva Internet? Mar Pérez Morillo¿Cómo se archiva Internet? Mar Pérez Morillo
¿Cómo se archiva Internet? Mar Pérez Morillo
 
Aamchii Mumbai Smoke Free Mumbai, Stakeholders, Activities, Evaluation And Ti...
Aamchii Mumbai Smoke Free Mumbai, Stakeholders, Activities, Evaluation And Ti...Aamchii Mumbai Smoke Free Mumbai, Stakeholders, Activities, Evaluation And Ti...
Aamchii Mumbai Smoke Free Mumbai, Stakeholders, Activities, Evaluation And Ti...
 
India B2C E-Commerce Report 2013 by yStats.com
India B2C E-Commerce Report 2013 by yStats.comIndia B2C E-Commerce Report 2013 by yStats.com
India B2C E-Commerce Report 2013 by yStats.com
 
Plus d’air. Compresseurs pour retrofits
Plus d’air. Compresseurs pour retrofitsPlus d’air. Compresseurs pour retrofits
Plus d’air. Compresseurs pour retrofits
 
De Sanctis _Sisvel
De Sanctis _SisvelDe Sanctis _Sisvel
De Sanctis _Sisvel
 
Ppt Tics Okfuen
Ppt Tics OkfuenPpt Tics Okfuen
Ppt Tics Okfuen
 
Tema2 herramientas open office
Tema2  herramientas open officeTema2  herramientas open office
Tema2 herramientas open office
 
La función financiera nueva
La función financiera nuevaLa función financiera nueva
La función financiera nueva
 
Bases Becas curso Excel 2012
Bases Becas curso Excel 2012Bases Becas curso Excel 2012
Bases Becas curso Excel 2012
 
autobiografia elizabeth briseño gonzalez
autobiografia elizabeth briseño gonzalezautobiografia elizabeth briseño gonzalez
autobiografia elizabeth briseño gonzalez
 
InterMarine Brochure SHIPPING
InterMarine Brochure SHIPPINGInterMarine Brochure SHIPPING
InterMarine Brochure SHIPPING
 

Semelhante a Ruby in prijatelji

Adventures of java developer in ruby world
Adventures of java developer in ruby worldAdventures of java developer in ruby world
Adventures of java developer in ruby world
Orest Ivasiv
 
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
Shanda innovation institute
 
Rubyonrails 090715105949-phpapp01
Rubyonrails 090715105949-phpapp01Rubyonrails 090715105949-phpapp01
Rubyonrails 090715105949-phpapp01
sagaroceanic11
 

Semelhante a Ruby in prijatelji (20)

Ruby and Security
Ruby and SecurityRuby and Security
Ruby and Security
 
Why ruby
Why rubyWhy ruby
Why ruby
 
Adventures of java developer in ruby world
Adventures of java developer in ruby worldAdventures of java developer in ruby world
Adventures of java developer in ruby world
 
遇見 Ruby on Rails
遇見 Ruby on Rails遇見 Ruby on Rails
遇見 Ruby on Rails
 
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
 
Ruby for Beginner
Ruby for BeginnerRuby for Beginner
Ruby for Beginner
 
Rubyonrails 090715105949-phpapp01
Rubyonrails 090715105949-phpapp01Rubyonrails 090715105949-phpapp01
Rubyonrails 090715105949-phpapp01
 
The story of language development
The story of language developmentThe story of language development
The story of language development
 
Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorial
 
Initiation à Ruby on Rails
Initiation à Ruby on RailsInitiation à Ruby on Rails
Initiation à Ruby on Rails
 
Simple Ruby DSL Techniques: Big Project Impact!
Simple Ruby DSL Techniques: Big Project Impact!Simple Ruby DSL Techniques: Big Project Impact!
Simple Ruby DSL Techniques: Big Project Impact!
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Polyglot Grails
Polyglot GrailsPolyglot Grails
Polyglot Grails
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Towards a Commons RDF Library - ApacheCon Europe 2014
Towards a Commons RDF Library - ApacheCon Europe 2014Towards a Commons RDF Library - ApacheCon Europe 2014
Towards a Commons RDF Library - ApacheCon Europe 2014
 
Becoming a more productive Rails Developer
Becoming a more productive Rails DeveloperBecoming a more productive Rails Developer
Becoming a more productive Rails Developer
 
Go - A Key Language in Enterprise Application Development?
Go - A Key Language in Enterprise Application Development?Go - A Key Language in Enterprise Application Development?
Go - A Key Language in Enterprise Application Development?
 
Ruby+rails
Ruby+railsRuby+rails
Ruby+rails
 
Becoming a more Productive Rails Developer
Becoming a more Productive Rails DeveloperBecoming a more Productive Rails Developer
Becoming a more Productive Rails Developer
 
Ruby on Rails from an ASP.NET Perspective
Ruby on Rails from an ASP.NET PerspectiveRuby on Rails from an ASP.NET Perspective
Ruby on Rails from an ASP.NET Perspective
 

Mais de Oto Brglez

Mais de Oto Brglez (15)

The Compression Puzzle Challenge
The Compression Puzzle ChallengeThe Compression Puzzle Challenge
The Compression Puzzle Challenge
 
Becoming S/W Engineer
Becoming S/W EngineerBecoming S/W Engineer
Becoming S/W Engineer
 
Akka with Scala
Akka with ScalaAkka with Scala
Akka with Scala
 
How to over-engineer things and have fun? Building a modern, distributed real...
How to over-engineer things and have fun? Building a modern, distributed real...How to over-engineer things and have fun? Building a modern, distributed real...
How to over-engineer things and have fun? Building a modern, distributed real...
 
Oto Brglez - Tips for better tests
Oto Brglez - Tips for better testsOto Brglez - Tips for better tests
Oto Brglez - Tips for better tests
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Kdaj lahko uporabimo piškotke?
Kdaj lahko uporabimo piškotke?Kdaj lahko uporabimo piškotke?
Kdaj lahko uporabimo piškotke?
 
Continuous integration (CI) v praksi
Continuous integration (CI) v praksiContinuous integration (CI) v praksi
Continuous integration (CI) v praksi
 
nanob
nanobnanob
nanob
 
Ruby in ogrodje Rails
Ruby in ogrodje RailsRuby in ogrodje Rails
Ruby in ogrodje Rails
 
Subversion in Redmine implementacija
Subversion in Redmine implementacijaSubversion in Redmine implementacija
Subversion in Redmine implementacija
 
mojakoda.si - predstavitev
mojakoda.si - predstavitevmojakoda.si - predstavitev
mojakoda.si - predstavitev
 
Šolski Spletni Informacijski Sistem
Šolski Spletni Informacijski SistemŠolski Spletni Informacijski Sistem
Šolski Spletni Informacijski Sistem
 
PHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor IntroductionPHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor Introduction
 
Java Servlet in JSP
Java Servlet in JSPJava Servlet in JSP
Java Servlet in JSP
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

Ruby in prijatelji