ݺߣ

ݺߣShare a Scribd company logo
Ruby / Rails



  Rafał „Świstak” Łasocha
ZamCamp, 23 września 2010
Cel prezentacji
●   Zachęta do programowania w Ruby
●   Zalety i wady tego języka
●   Pobieżne porównanie z innymi językami (pod
    żadnym pozorem flame-war!)
●   Przedstawienie `ficzerów`
●   Ruby on Rails
Cechy
●   Bardzo wysokiego       ●   Wygodny w pisaniu i
    poziomu                    czytaniu
●   Open source            ●   Przeznaczony dla
●   Interpretowany             człowieka, nie
                               robotów : )
●   Dynamiczny             ●   Obsługa dowolnie
●   Prosta składnia            dużych liczb
●   Skalowalność           ●   „fun”
●   W pełni obiektowy
Yukihiro „Matz” Matsumoto
            Mats w 1993 roku rozpoczyna
            pracę nad swoim językiem gdyż
            ma własny koncept na język,
            połączenie najlepszych cech z
            Pythona, Lispa, Smalltalka,
            Perla. W 2003 roku przybywa
            pogramistów dzięki pierwszym
            wersjom Ruby on Rails, a na
            początku 2009 roku została
            wydana wersja 1.9.1
            wprowadzająca m.in. Unicode.
Do czego „Ruby”?
●   Codzienne skrypty       ●   Aplikacje
    (coś zrobić a się nie       bazodanowe
    narobić)                ●   Większe projekty
●   Przetwarzanie tekstu,       (dzięki skalowalności)
    xmla (regexpy)
●   Aplikacje webowe
    (Ruby on Rails)
Myśli przewodnie
●   „Ruby jest prosty z wyglądu, ale bardzo
    skomplikowany w środku, tak jak ciało ludzkie”
●   „Szukałem języka potężniejszego od Perla i
    bardziej obiektowego od Pythona”
●   Reguła KISS (Keep It Simple, Stupid)
●   Naturalność, swoboda, wygoda programowania
    i odwzorowywania swoich myśli w kodzie
    źródłowym
●   Zasada DRY (Don't Repeat Yourself)
Gemy
 Co to są gemy? Jest to innowacyjny sposób na
zarządzanie korzystanymi przez nas bibliotekami.
     Dla przykładu, jeśli tworzymy aplikację i
    potrzebujemy biblioteki do obsługi SQLite,
                   wpisujemy:

             # gem install sqlite3-ruby

 Dodatkową zaletą jest automatyczna instalacja
odpowiedniej wersji gemu do naszej wersji Ruby.
RVM – Ruby Version Management
Co to RVM?


 RVM pozwala zarządzać wersjami Rubiego oraz
gemami. Dzięki niemu możemu utworzyć dowolną
    liczbę środowisk, w którego skład wchodzi
  gotowy do pracy Ruby oraz wybrane przez nas
  gemy. Pozwala nam to np. utworzyć oddzielne
środowiska dla poszczególnych projektów lub ich
 typów – aplikacje gtk, webowe, terminalowe etc.
„Wiesz, ja jestem maniakiem jeśli chodzi o piękno
 mojego kodu. Czasem robię przerwę i patrzę na
             niego. Bo jest super : D.”
             Anonimowy programista
ZamCamp 2.1 - Opis i zachęta do programowanie w języku Ruby
ZamCamp 2.1 - Opis i zachęta do programowanie w języku Ruby
Rails...?


Ruby on Rails – powstały w 2005 roku framework
do Rubiego, potem doczekał się portu do PHP. W
   jego skład wchodzą 4 gemy – ActiveRecord
    (modele), ActionPack (widoki&kontrolery),
     ActiveSupport, ActionMail. Rails zawiera
          wbudowany serwer (WEBrick).
Rails, a bezpieczeństwo
●   Do railsa wbudowane są odpowiednie metody
    chroniące przed dużą częścią SQL Injection
●   Filtry sprawdzające np. czy użytkownik jest
    zalogowany, chroniące przed dostępem do
    strony przez osoby nieautoryzowane lub
    dowolne inne warunki
●   Korzystanie z CRUD
Generatory w Railsie


Dzięki nim jednym poleceniem możemy
wygenerować kontrolery, modele, widoki (a nawet
wszystko na raz) zainstalować jakiś feature jak
autoryzacja. Brzmi niepozornie, jednak jest to
potężne narzędzie pozwalające stworzyć całkiem
rozbudowanego bloga za pomocą kilku poleceń,
praktycznie bez ingerencji w kod źródłowy : )
Przykłady poleceń generatorów
●   rails new blog
●   bundle install
●   rails server
●   rails generate scaffold Post name:string
    title:string content:text
●   rake db: create/migrate
●   rails generate model Comment
    commenter:string body:text post:references
A HTML?
Mam nadzieję, że ktoś po powrocie do domu
wklepie ruby-lang.org i powie – muszę tego
               spróbować : )
Dziękuję : )




  Rafał „Świstak” Łasocha
ZamCamp, 23 września 2010
Ad

Recommended

Ruby on Rails -- czy warto?
Ruby on Rails -- czy warto?
Piotr Macuk
8 powodów dla których warto poznać Ruby
8 powodów dla których warto poznać Ruby
Wydawnictwo Strefa Kursów
Język Ruby - wprowadzenie
Język Ruby - wprowadzenie
Radarek
ZamCamp - Django – webowy framework dla perfekcjonistów
ZamCamp - Django – webowy framework dla perfekcjonistów
zamcamp
JRuby On Rails
JRuby On Rails
Wiktor Gworek
TERMINALFOUR t44u 2009 - Introduction & Company briefing
TERMINALFOUR t44u 2009 - Introduction & Company briefing
Terminalfour
Ste Presentation To Crawley Manor Royal Ind Estate
Ste Presentation To Crawley Manor Royal Ind Estate
guest746615
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Terminalfour
TERMINALFOUR t44u 2010 - SEO Reporting Tool
TERMINALFOUR t44u 2010 - SEO Reporting Tool
Terminalfour
Columbia citi-conference-2010
Columbia citi-conference-2010
adarsh.srivastav
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
Terminalfour
Pecha kucha ux (TechMeetup Glasgow)
Pecha kucha ux (TechMeetup Glasgow)
Craig Nicol
Podstawy fotografii cyfrowej - ZamCamp #3
Podstawy fotografii cyfrowej - ZamCamp #3
zamcamp
iLearning Global Intro
iLearning Global Intro
virtecom
Digital Signage Rom 3 17 2008
Digital Signage Rom 3 17 2008
loudnoyes
TERMINALFOUR t44u 2011- Did you know - CMS and live search
TERMINALFOUR t44u 2011- Did you know - CMS and live search
Terminalfour
TERMINALFOUR t44u 2011 - Going mobile, a INTO Case Study
TERMINALFOUR t44u 2011 - Going mobile, a INTO Case Study
Terminalfour
TERMINALFOUR t44u 2008 - The University Of Manchester Case Study
TERMINALFOUR t44u 2008 - The University Of Manchester Case Study
Terminalfour
TERMINALFOUR t44u 2011 - Did you know - Advanced access control and htaccess
TERMINALFOUR t44u 2011 - Did you know - Advanced access control and htaccess
Terminalfour
Strategic Think Globally
Strategic Think Globally
Pelly Sianova
TERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 World
TERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 World
Terminalfour
TERMINALFOUR t44u 2009 - UI and Widgets New UI & Widgets
TERMINALFOUR t44u 2009 - UI and Widgets New UI & Widgets
Terminalfour
TERMINALFOUR t44u 2012 - Pubble Demonstration
TERMINALFOUR t44u 2012 - Pubble Demonstration
Terminalfour
TERMINALFOUR t44u 2009 - University of Oxford Case Study
TERMINALFOUR t44u 2009 - University of Oxford Case Study
Terminalfour
Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz
Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz
Łukasz Szyndzielorz
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010
Natalia Stanko

More Related Content

Viewers also liked (20)

Ste Presentation To Crawley Manor Royal Ind Estate
Ste Presentation To Crawley Manor Royal Ind Estate
guest746615
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Terminalfour
TERMINALFOUR t44u 2010 - SEO Reporting Tool
TERMINALFOUR t44u 2010 - SEO Reporting Tool
Terminalfour
Columbia citi-conference-2010
Columbia citi-conference-2010
adarsh.srivastav
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
Terminalfour
Pecha kucha ux (TechMeetup Glasgow)
Pecha kucha ux (TechMeetup Glasgow)
Craig Nicol
Podstawy fotografii cyfrowej - ZamCamp #3
Podstawy fotografii cyfrowej - ZamCamp #3
zamcamp
iLearning Global Intro
iLearning Global Intro
virtecom
Digital Signage Rom 3 17 2008
Digital Signage Rom 3 17 2008
loudnoyes
TERMINALFOUR t44u 2011- Did you know - CMS and live search
TERMINALFOUR t44u 2011- Did you know - CMS and live search
Terminalfour
TERMINALFOUR t44u 2011 - Going mobile, a INTO Case Study
TERMINALFOUR t44u 2011 - Going mobile, a INTO Case Study
Terminalfour
TERMINALFOUR t44u 2008 - The University Of Manchester Case Study
TERMINALFOUR t44u 2008 - The University Of Manchester Case Study
Terminalfour
TERMINALFOUR t44u 2011 - Did you know - Advanced access control and htaccess
TERMINALFOUR t44u 2011 - Did you know - Advanced access control and htaccess
Terminalfour
Strategic Think Globally
Strategic Think Globally
Pelly Sianova
TERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 World
TERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 World
Terminalfour
TERMINALFOUR t44u 2009 - UI and Widgets New UI & Widgets
TERMINALFOUR t44u 2009 - UI and Widgets New UI & Widgets
Terminalfour
TERMINALFOUR t44u 2012 - Pubble Demonstration
TERMINALFOUR t44u 2012 - Pubble Demonstration
Terminalfour
TERMINALFOUR t44u 2009 - University of Oxford Case Study
TERMINALFOUR t44u 2009 - University of Oxford Case Study
Terminalfour
Ste Presentation To Crawley Manor Royal Ind Estate
Ste Presentation To Crawley Manor Royal Ind Estate
guest746615
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Terminalfour
TERMINALFOUR t44u 2010 - SEO Reporting Tool
TERMINALFOUR t44u 2010 - SEO Reporting Tool
Terminalfour
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
Terminalfour
Pecha kucha ux (TechMeetup Glasgow)
Pecha kucha ux (TechMeetup Glasgow)
Craig Nicol
Podstawy fotografii cyfrowej - ZamCamp #3
Podstawy fotografii cyfrowej - ZamCamp #3
zamcamp
iLearning Global Intro
iLearning Global Intro
virtecom
Digital Signage Rom 3 17 2008
Digital Signage Rom 3 17 2008
loudnoyes
TERMINALFOUR t44u 2011- Did you know - CMS and live search
TERMINALFOUR t44u 2011- Did you know - CMS and live search
Terminalfour
TERMINALFOUR t44u 2011 - Going mobile, a INTO Case Study
TERMINALFOUR t44u 2011 - Going mobile, a INTO Case Study
Terminalfour
TERMINALFOUR t44u 2008 - The University Of Manchester Case Study
TERMINALFOUR t44u 2008 - The University Of Manchester Case Study
Terminalfour
TERMINALFOUR t44u 2011 - Did you know - Advanced access control and htaccess
TERMINALFOUR t44u 2011 - Did you know - Advanced access control and htaccess
Terminalfour
TERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 World
TERMINALFOUR t44u 2008 - Using TERMINALFOUR Site Manager In A Web 2.0 World
Terminalfour
TERMINALFOUR t44u 2009 - UI and Widgets New UI & Widgets
TERMINALFOUR t44u 2009 - UI and Widgets New UI & Widgets
Terminalfour
TERMINALFOUR t44u 2012 - Pubble Demonstration
TERMINALFOUR t44u 2012 - Pubble Demonstration
Terminalfour
TERMINALFOUR t44u 2009 - University of Oxford Case Study
TERMINALFOUR t44u 2009 - University of Oxford Case Study
Terminalfour

Similar to ZamCamp 2.1 - Opis i zachęta do programowanie w języku Ruby (20)

Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz
Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz
Łukasz Szyndzielorz
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010
Natalia Stanko
RailsSpace. Tworzenie społecznościowych serwisów internetowych w Ruby on Rails
RailsSpace. Tworzenie społecznościowych serwisów internetowych w Ruby on Rails
Wydawnictwo Helion
Programowanie w języku Ruby. Wydanie II
Programowanie w języku Ruby. Wydanie II
Wydawnictwo Helion
Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych
Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych
Wydawnictwo Helion
Ruby on Rails. Aplikacje webowe
Ruby on Rails. Aplikacje webowe
Katarzyna Sz
Produkcja aplikacji internetowych
Produkcja aplikacji internetowych
Tomasz Borowski
Ruby on Rails. Ćwiczenia
Ruby on Rails. Ćwiczenia
Wydawnictwo Helion
Paleta możliwości web developera
Paleta możliwości web developera
Tomasz Borowski
Ruby. Wzorce projektowe
Ruby. Wzorce projektowe
Wydawnictwo Helion
Master Thesis - Comparative analysis of programming Environments based on Rub...
Master Thesis - Comparative analysis of programming Environments based on Rub...
Adam Skołuda
Jak ugryźć Ruby, żeby nie połamać zębów?
Jak ugryźć Ruby, żeby nie połamać zębów?
The Software House
Co nowego w świecie Ruby\'ego
Co nowego w świecie Ruby\'ego
Bootstrap
Jarorcon Sp
Jarorcon Sp
jarorcon
Wstęp do Ruby\'ego
Wstęp do Ruby\'ego
konryd
UNIX. Sztuka programowania
UNIX. Sztuka programowania
Wydawnictwo Helion
DWO 2009 - Ruby
DWO 2009 - Ruby
Mikołaj Pastuszko
Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz
Ruby on rails wprowadzenie teoretyczne. Łukasz Szyndzielorz
Łukasz Szyndzielorz
RailsSpace. Tworzenie społecznościowych serwisów internetowych w Ruby on Rails
RailsSpace. Tworzenie społecznościowych serwisów internetowych w Ruby on Rails
Wydawnictwo Helion
Programowanie w języku Ruby. Wydanie II
Programowanie w języku Ruby. Wydanie II
Wydawnictwo Helion
Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych
Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych
Wydawnictwo Helion
Ruby on Rails. Aplikacje webowe
Ruby on Rails. Aplikacje webowe
Katarzyna Sz
Produkcja aplikacji internetowych
Produkcja aplikacji internetowych
Tomasz Borowski
Paleta możliwości web developera
Paleta możliwości web developera
Tomasz Borowski
Master Thesis - Comparative analysis of programming Environments based on Rub...
Master Thesis - Comparative analysis of programming Environments based on Rub...
Adam Skołuda
Jak ugryźć Ruby, żeby nie połamać zębów?
Jak ugryźć Ruby, żeby nie połamać zębów?
The Software House
Co nowego w świecie Ruby\'ego
Co nowego w świecie Ruby\'ego
Bootstrap
Wstęp do Ruby\'ego
Wstęp do Ruby\'ego
konryd
Ad

More from zamcamp (8)

ZamCamp - Ciekawe sposoby debugowania kodu
ZamCamp - Ciekawe sposoby debugowania kodu
zamcamp
ZamCamp 2.1 - Zenity – okna dialogowe GTK+ z terminala
ZamCamp 2.1 - Zenity – okna dialogowe GTK+ z terminala
zamcamp
ZamCamp 2.1 - Wstępniak
ZamCamp 2.1 - Wstępniak
zamcamp
ZamCamp #6 - Najczęstsze błędy w PHP
ZamCamp #6 - Najczęstsze błędy w PHP
zamcamp
ZamCamp #6 - Podsumowanie Roku 2008
ZamCamp #6 - Podsumowanie Roku 2008
zamcamp
ZamCamp #4 - Gry MMORPG
ZamCamp #4 - Gry MMORPG
zamcamp
ZamCamp #4 - O mikroblogowaniu slajdów kilka
ZamCamp #4 - O mikroblogowaniu slajdów kilka
zamcamp
Współczesne przeglądarki - ZamCamp#3
Współczesne przeglądarki - ZamCamp#3
zamcamp
ZamCamp - Ciekawe sposoby debugowania kodu
ZamCamp - Ciekawe sposoby debugowania kodu
zamcamp
ZamCamp 2.1 - Zenity – okna dialogowe GTK+ z terminala
ZamCamp 2.1 - Zenity – okna dialogowe GTK+ z terminala
zamcamp
ZamCamp 2.1 - Wstępniak
ZamCamp 2.1 - Wstępniak
zamcamp
ZamCamp #6 - Najczęstsze błędy w PHP
ZamCamp #6 - Najczęstsze błędy w PHP
zamcamp
ZamCamp #6 - Podsumowanie Roku 2008
ZamCamp #6 - Podsumowanie Roku 2008
zamcamp
ZamCamp #4 - Gry MMORPG
ZamCamp #4 - Gry MMORPG
zamcamp
ZamCamp #4 - O mikroblogowaniu slajdów kilka
ZamCamp #4 - O mikroblogowaniu slajdów kilka
zamcamp
Współczesne przeglądarki - ZamCamp#3
Współczesne przeglądarki - ZamCamp#3
zamcamp
Ad

ZamCamp 2.1 - Opis i zachęta do programowanie w języku Ruby

  • 1. Ruby / Rails Rafał „Świstak” Łasocha ZamCamp, 23 września 2010
  • 2. Cel prezentacji ● Zachęta do programowania w Ruby ● Zalety i wady tego języka ● Pobieżne porównanie z innymi językami (pod żadnym pozorem flame-war!) ● Przedstawienie `ficzerów` ● Ruby on Rails
  • 3. Cechy ● Bardzo wysokiego ● Wygodny w pisaniu i poziomu czytaniu ● Open source ● Przeznaczony dla ● Interpretowany człowieka, nie robotów : ) ● Dynamiczny ● Obsługa dowolnie ● Prosta składnia dużych liczb ● Skalowalność ● „fun” ● W pełni obiektowy
  • 4. Yukihiro „Matz” Matsumoto Mats w 1993 roku rozpoczyna pracę nad swoim językiem gdyż ma własny koncept na język, połączenie najlepszych cech z Pythona, Lispa, Smalltalka, Perla. W 2003 roku przybywa pogramistów dzięki pierwszym wersjom Ruby on Rails, a na początku 2009 roku została wydana wersja 1.9.1 wprowadzająca m.in. Unicode.
  • 5. Do czego „Ruby”? ● Codzienne skrypty ● Aplikacje (coś zrobić a się nie bazodanowe narobić) ● Większe projekty ● Przetwarzanie tekstu, (dzięki skalowalności) xmla (regexpy) ● Aplikacje webowe (Ruby on Rails)
  • 6. Myśli przewodnie ● „Ruby jest prosty z wyglądu, ale bardzo skomplikowany w środku, tak jak ciało ludzkie” ● „Szukałem języka potężniejszego od Perla i bardziej obiektowego od Pythona” ● Reguła KISS (Keep It Simple, Stupid) ● Naturalność, swoboda, wygoda programowania i odwzorowywania swoich myśli w kodzie źródłowym ● Zasada DRY (Don't Repeat Yourself)
  • 7. Gemy Co to są gemy? Jest to innowacyjny sposób na zarządzanie korzystanymi przez nas bibliotekami. Dla przykładu, jeśli tworzymy aplikację i potrzebujemy biblioteki do obsługi SQLite, wpisujemy: # gem install sqlite3-ruby Dodatkową zaletą jest automatyczna instalacja odpowiedniej wersji gemu do naszej wersji Ruby.
  • 8. RVM – Ruby Version Management
  • 9. Co to RVM? RVM pozwala zarządzać wersjami Rubiego oraz gemami. Dzięki niemu możemu utworzyć dowolną liczbę środowisk, w którego skład wchodzi gotowy do pracy Ruby oraz wybrane przez nas gemy. Pozwala nam to np. utworzyć oddzielne środowiska dla poszczególnych projektów lub ich typów – aplikacje gtk, webowe, terminalowe etc.
  • 10. „Wiesz, ja jestem maniakiem jeśli chodzi o piękno mojego kodu. Czasem robię przerwę i patrzę na niego. Bo jest super : D.” Anonimowy programista
  • 13. Rails...? Ruby on Rails – powstały w 2005 roku framework do Rubiego, potem doczekał się portu do PHP. W jego skład wchodzą 4 gemy – ActiveRecord (modele), ActionPack (widoki&kontrolery), ActiveSupport, ActionMail. Rails zawiera wbudowany serwer (WEBrick).
  • 14. Rails, a bezpieczeństwo ● Do railsa wbudowane są odpowiednie metody chroniące przed dużą częścią SQL Injection ● Filtry sprawdzające np. czy użytkownik jest zalogowany, chroniące przed dostępem do strony przez osoby nieautoryzowane lub dowolne inne warunki ● Korzystanie z CRUD
  • 15. Generatory w Railsie Dzięki nim jednym poleceniem możemy wygenerować kontrolery, modele, widoki (a nawet wszystko na raz) zainstalować jakiś feature jak autoryzacja. Brzmi niepozornie, jednak jest to potężne narzędzie pozwalające stworzyć całkiem rozbudowanego bloga za pomocą kilku poleceń, praktycznie bez ingerencji w kod źródłowy : )
  • 16. Przykłady poleceń generatorów ● rails new blog ● bundle install ● rails server ● rails generate scaffold Post name:string title:string content:text ● rake db: create/migrate ● rails generate model Comment commenter:string body:text post:references
  • 18. Mam nadzieję, że ktoś po powrocie do domu wklepie ruby-lang.org i powie – muszę tego spróbować : )
  • 19. Dziękuję : ) Rafał „Świstak” Łasocha ZamCamp, 23 września 2010