ruby developer@wordwatch.com O Rubym słów kilka… Simple Pinger O mnie: Maciej Mensfeld ruby developer@wordwatch.com maciej@mensfeld.pl dev.mensfeld.pl github.com/mensfeld Maciej Mensfeld
Co robimy? dev.mensfeld.pl/SimplePinger.zip O Rubym słów kilka… Co robimy? dev.mensfeld.pl/SimplePinger.zip Baaaaardzo prosty mechanizm monitoringu stron WWW Prosty jak budowa cepa ;) Maciej Mensfeld
Jak robimy? Kilka małych etapów żeby sobie życia nie komplikować O Railsach słów kilka… Jak robimy? Kilka małych etapów żeby sobie życia nie komplikować Spróbujemy zrobić coś co działa Startujemy z „gołą” Railsową apką Podstawy Rubiego i Railsów Maciej Mensfeld
Jak to ma działać? Mechanizm dodawania lokacji (stron) do monitoringu O Railsach słów kilka… Jak to ma działać? Mechanizm dodawania lokacji (stron) do monitoringu Każda ze stron ma być sprawdzana co interwał czasu Zapis czasu odpowiedzi Prosta autoryzacja (HTTP Basic auth) Maciej Mensfeld
O Railsach słów kilka… Start! Maciej Mensfeld
Rails… O Railsach słów kilka… cd ~ rails new my_blog … Try it out! (output): create create README create Rakefile create config.ru create .gitignore create Gemfile create app create app/assets/images/rails.png Za dużo tego!!! Maciej Mensfeld
Na szczęście większość tego można olać ;) O Railsach słów kilka… Rails… Na szczęście większość tego można olać ;) 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
ActionController – REST O Railsach słów kilka… ActionController – REST Maciej Mensfeld
O Railsach słów kilka… ActionView Maciej Mensfeld
O Railsach słów kilka… ActionView templates ERB – templates with HTM and Ruby code – used to display dinamic stuff from prepared by controllers Maciej Mensfeld
O Railsach słów kilka… Pora na odrobinę magii! Maciej Mensfeld
Odpalamy serwerek (krok 0) Malutka apka… Odpalamy serwerek (krok 0) cd SimplePinger bundle install rails s -p 3000 -u Adres: http://localhost:3000/ Maciej Mensfeld
Malutka apka… Yay! It works! Maciej Mensfeld
Ale to nic nie robi :( - krok 1 Malutka apka… Ale to nic nie robi :( - krok 1 rails g scaffold Location name:string url:string Paczać do db/migrate rake db:migrate Paczać do app/views/locations Usunąć <p><%= notice %></p> Ale można tam wpisać byle co i i tak przejdzie… Maciej Mensfeld
Walidacja modeli – krok 2 Malutka apka… Walidacja modeli – krok 2 Maciej Mensfeld
Ping – krok 3 rake db:migrate Malutka apka… Ping – krok 3 rails g model Ping response:integer time_taken:float location_id:integer rake db:migrate Maciej Mensfeld
Malutka apka… Ping – krok 4 Maciej Mensfeld
Malutka apka… Ping – krok 4 cd Maciej Mensfeld
rake task - crontab –e – krok 5 Malutka apka… rake task - crontab –e – krok 5 rake simple_pinger:check Maciej Mensfeld
Wyświetlanie pingów - krok 6 Malutka apka… Wyświetlanie pingów - krok 6 rails g controller pings index routes.rb -> resources :pings, :only => [:index] Maciej Mensfeld
Wyświetlanie pingów – widok - krok 6 Malutka apka… Wyświetlanie pingów – widok - krok 6 Maciej Mensfeld
Autoryzacja HTTP Basic auth Malutka apka… Autoryzacja HTTP Basic auth Maciej Mensfeld
Maciej Mensfeld Live long and prosper! Presented by: Malutka apka… Live long and prosper! Presented by: Maciej Mensfeld maciej@mensfeld.pl dev.mensfeld.pl github.com/mensfeld Maciej Mensfeld 30/30