330 likes | 504 Views
O Rubym słów kilka…. Robi bo musi, czy Ruby bo lubi?. O mnie:. Maciej Mensfeld. ruby developer@wordwatch.com. maciej@mensfeld.pl dev.mensfeld.pl github.com / mensfeld. Maciej Mensfeld. O Rubym słów kilka…. Robi bo musi, czy Ruby bo lubi?. Powiedz mi…. …jeśli mówię za szybko;
E N D
O Rubym słów kilka… Robi bo musi, czy Ruby bo lubi? O mnie: Maciej Mensfeld ruby developer@wordwatch.com maciej@mensfeld.pl dev.mensfeld.pl github.com/mensfeld Maciej Mensfeld
O Rubym słów kilka… Robi bo musi, czy Ruby bo lubi? Powiedz mi… • …jeśli mówię za szybko; • …mam coś powtórzyć; • …mam coś wyjaśnić bardziej; • …jeśli masz jakieś pytania Maciej Mensfeld
O Rubym słów kilka… Ruby WT*? Ruby -> obrazki Maciej Mensfeld
O Rubym słów kilka… Czym jest Ruby? • Ruby jest jak Iron Man: • Błyszczy; • Jest czerwony; • Bywa ciężki; • Wygodny w użyciu; • Działa na prąd; (a do tego można w nim programować Lego ^^) Maciej Mensfeld
O Rubym słów kilka… Czym jest Ruby? • W pełni obiektowy (liczby, booleany i wszystko inne to obiekty) • Stworzony przez Yukihiro Matsumoto w1993; • Darmowy i open-source; • Wygodna, łatwa do zrozumienia składnia; • Wiele zastosowań (aczk. głównie webowe); • Może być rozszerzany innym kodem w Rubym i C; • Duża pomocna społeczność; Maciej Mensfeld
O Rubym słów kilka… Społeczność i propaganda! Maciej Mensfeld
O Rubym słów kilka… Co lubi Ruby? Ruby lubi rozmawiać! Maciej Mensfeld
O Rubym słów kilka… Kto używa Rubiego? Maciej Mensfeld
O Rubym słów kilka… Czym Ruby nie jest? • Uniwersalnym rozwiązaniem na marnych programistów; • Językiem do wszystkiego (i niczego); • Iron Manem ;) • Językiem do naprawdę małych aplikacji; • Pythonem; • Lepszym PHPem; • Czymś co działa na Windowsie; Maciej Mensfeld
O Rubym słów kilka… Czytelność ponad czytalność Maciej Mensfeld
O Rubym słów kilka… Czytelność ponad czytalność Java: public classHelloWorld{ public staticvoidmain(Stringargs){ System.out.println(„HelloWorld”); } } Ruby: puts „HelloWorld” Maciej Mensfeld
O Rubym słów kilka… Wygodna składnia && obiekty, obiekty, obiekty… 3.times { puts „Ruby iscool”} [„Maciek”, „John”, „Anna”].first #=> „Maciek” [„Maciek”, „John”, „Anna”].last #=> „Anna” attr_accessor :name „Anna”.class #=> String nil.class #=> NilClass 1.class #=> Integer {}.class #=> Hash [].class #=> Array self.class #=> Object (0..9).class #=> Range Maciej Mensfeld 6/23
O Rubym słów kilka… Ruby syntax – klasy, metody, obiekty Tryit out! # Commentsstartswith „#” class Messenger definitialize(name) # instancevariablesstartswith „@” @name = name end public defhello puts „Hello #{@name }!” end end HelloYourName! as an object msg = Message.new(„Maciek”) msg.hello #=> „Hello Maciek!” Maciej Mensfeld
O Rubym słów kilka… Ruby syntax – pętle Ruby: friends.each{|friend| putsfriend } C: for(i=0; i<number_of_elements;i++) { print element[i] } 10.times {|i| puts i } 10.downto(1){|i| puts i } Nie ma w Rubym standardowej pętli„for”! Maciej Mensfeld
O Rubym słów kilka… Ruby craziness - symbole Zapytaj programistę Rubiego czym są symbole ;) Często usłyszysz odpowiedź, że one po prostu są! Symbole to instancje obiektów klasy Symbol. Symbole tworzy się dając dwukropek przed ich nazwą: :name, :id, :user OMG symbolsare so weird… Symbole wykorzystywane są często do tworzenia hashy (słowników): h = {:name => "Jayson", :email => „test@gmail.com"} Zaletą symboli jest to, że przechowywane są w pamięci jako integery. Żaden symbol nigdy nie będzie większy niż integer. Symbole służą lepszemu wykorzystaniu pamięci. Maciej Mensfeld
O Rubym słów kilka… Ruby craziness - symbole Kiedy wykorzystujemy stringi, za każdym razem tworzona jest ich nowa instancja. W przypadku symboli, wykorzystywane są te załadowane do pamięci (można je trochę traktować jak singletony) puts "name".object_id puts "name".object_id puts :name.object_id puts :name.object_id Vs: puts"name".object_id == "name".object_id puts :name.object_id == :name.object_id Maciej Mensfeld
O Rubym słów kilka… Ruby on Rails Maciej Mensfeld
O Rubym słów kilka… Czym są Railsy? • Frameworkiem do aplikacji webowych • Railsy zostały napisane w Rubym • Rosnąca społeczność • Opensource • Celem nadrzędnym jest produktywność i poprawa jakości wytwarzanego oprogramowania Maciej Mensfeld
O Rubym słów kilka… Ruby on Rails Na rynku istnieje masa frameworków które mniej lub bardziej nadają się do użytku, jednak… Maciej Mensfeld
O Rubym słów kilka… Ruby on Rails • Ruby on Rails daje deweloperom możliwość wytwarzania oprogramowania wysokiej jakości, w stosunkowo krótkim czasie; • Konwencja ponad konfigurację • KISS – Keepitsimplestupid 3-4 szybciej niż dev w Zendzie Maciej Mensfeld
O Rubym słów kilka… Ruby on Rails – dlaczemu? Zaprojektowane aby developerka, deploy oraz utrzymanie były możliwie proste MVC DRY koncept Don’tRepeatYourself (DRY) Every piece of knowledgeshould be expressedinjust one place Maciej Mensfeld
O Railsach słów kilka… MVC Maciej Mensfeld
O Railsach słów kilka… Rails MVC Maciej Mensfeld
O Railsach słów kilka… Model…e ;) Maciej Mensfeld
O Railsach słów kilka… ActiveRecord Maciej Mensfeld
O Railsach słów kilka… ActionController Maciej Mensfeld
O Railsach słów kilka… ActionController – REST Maciej Mensfeld
O Railsach słów kilka… ActionView Maciej Mensfeld
O Railsach słów kilka… ActionViewtemplates ERB – templateswith HTM and Ruby code – used to display dinamicstufffromprepared by controllers Maciej Mensfeld
O Rubym słów kilka… Testy. Testy? Testy! Rspec Selenium Rcov Cucumber MiniTest Itd Maciej Mensfeld
O Rubym słów kilka… Testy Maciej Mensfeld
O Rubym słów kilka… Ruby on Rails – kto z tego korzysta? Maciej Mensfeld
O Rubym słów kilka… Live long and prosper! Presented by: Maciej Mensfeld maciej@mensfeld.pl dev.mensfeld.pl github.com/mensfeld Maciej Mensfeld 30/30