35
Ruby in prijatelji Oto Brglez za #wwwhmb

Ruby in prijatelji

Embed Size (px)

Citation preview

Page 1: Ruby in prijatelji

Ruby in prijateljiOto Brglez za #wwwhmb

Page 2: Ruby in prijatelji

Kontakt in vprašanja

• @otobrglez• skype: zverchi

• http://opalab.com

• @wwwhmb, #wwwhmb, wwwhmb.si

Page 3: Ruby in prijatelji

Kdo sem?

• Razvijalec

• Veliki projekti, mali projekti, “free” projekti

• (Izredni) Študent ;)

• LinkedIn:http://www.linkedin.com/in/otobrglez

Page 4: Ruby in prijatelji

Za koga je ta talk?

• Razvijalece, ki so �že programirali.

• Razvijalece, ki rabijo nove izzive.

• Ljudi, ki iščejo zabavo in srečo.*

Page 5: Ruby in prijatelji

Potek

• Ruby - (uvod, splošno, kako?, itd...)

• Prijatelji (DSL, ogrodja, Rails,...)

Page 6: Ruby in prijatelji

Ruby ~ ZgodovinaYukihiro Matsumoto - @yukihiro_matzJaponska 199021 december 1995 ~> Ruby 1.0

Page 7: Ruby in prijatelji

Klasifikacija in inspiracija

• Dinamičen

• Reflektiven

• Splošen

• Objektno orientiran

• Inspiracija PERL, Smalltalk, Eiffel

Page 8: Ruby in prijatelji

Paradigme

• Funkcijski

• Objektno orientiran

• Iperativen

• Reflektiven

• Dinamični tipi (Duck typing)

Page 9: Ruby in prijatelji

Implementacije

• MRI (C by Matz)

• YARD

• JRuby

• Rubinius

• IronRuby

• MacRuby

• HotRuby

Page 10: Ruby in prijatelji

Namestitev?

• OSX ~> Prednameščen

• Ubutnu and alike ~> apt-get ...

• Windows ~> http://rubyinstaller.org/

• http://www.ruby-lang.org

Page 11: Ruby in prijatelji

RVM = Ruby Version Manager

Page 12: Ruby in prijatelji

RubyGems

Page 13: Ruby in prijatelji

IRB = Interactive Ruby Shell

Page 14: Ruby in prijatelji

Vejitve, zanke, funkcije,...

Page 15: Ruby in prijatelji

String, Array[], Hash{},...

Page 16: Ruby in prijatelji

Razredi in OOP

Page 17: Ruby in prijatelji

Dedovanje, Mixin,...

Page 18: Ruby in prijatelji

ruby-debug19

Page 19: Ruby in prijatelji

ri, rdoc

Page 20: Ruby in prijatelji

Ruby Reference/doc

• http://apidock.com/• http://ruby-doc.org/• http://rubydoc.info/

Page 21: Ruby in prijatelji

End of part 1.Vprašanja?

Page 22: Ruby in prijatelji

Sledi...

• DSL

• RSpec

• Sinatra

• Ruby on Rails

Page 23: Ruby in prijatelji

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

Page 24: Ruby in prijatelji

Bolj poznani “DSL-ji” v Ruby svetu...

• RAKE ~ Ruby “Make”

• RSpec ~ Ruby Specification framework

• Sinatra ~ Web application framework

• ...

Page 25: Ruby in prijatelji

RSpec = Behaviour-Driven Development tool for Ruby programmers

Page 26: Ruby in prijatelji

Sinatra

Page 27: Ruby in prijatelji

Ruby on RailsDavid Heinemeier Hansson @dhhJulij 2004Ruby on Rails z Mac OS X Leopard

Page 28: Ruby in prijatelji

Filozofija

• CoC = Convention over Configuration

• DRY = Don’t Repeat Yourself

Page 29: Ruby in prijatelji

Kaj ima?• MVC ~ Model-View-Controller Pattern

• Scaffolding

• WEBrick

• Rake

• Prototype in Script.aculo.us ~> jQuery

• RESTful Web Services

• UJS = Unobstrusive JavaScript

• ActiveRecord

Page 30: Ruby in prijatelji

Simple projekt: pozdravi-me

Page 31: Ruby in prijatelji

Scaffold

Page 32: Ruby in prijatelji

What?

Page 33: Ruby in prijatelji
Page 34: Ruby in prijatelji

Hvala!http://pozdravi-me.heroku.com/

Page 35: Ruby in prijatelji

Novo v Rails 3.1

• Assets Pipeline

• HTTP Streaming

• jQuery Default