19
Rafał „Świstak” Łasocha ZamCamp, 23 września 2010 Ruby / Rails

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

  • Upload
    zamcamp

  • View
    1.611

  • Download
    4

Embed Size (px)

DESCRIPTION

 

Citation preview

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

Rafał „Świstak” ŁasochaZamCamp, 23 września 2010

Ruby / Rails

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

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

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

Cechy

● Bardzo wysokiego poziomu

● Open source● Interpretowany● Dynamiczny● Prosta składnia● Skalowalność● W pełni obiektowy

● Wygodny w pisaniu i czytaniu

● Przeznaczony dla człowieka, nie robotów : )

● Obsługa dowolnie dużych liczb

● „fun”

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

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.

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

Do czego „Ruby”?

● Codzienne skrypty (coś zrobić a się nie narobić)

● Przetwarzanie tekstu, xmla (regexpy)

● Aplikacje webowe (Ruby on Rails)

● Aplikacje bazodanowe

● Większe projekty (dzięki skalowalności)

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

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)

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

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.

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

RVM – Ruby Version Management

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

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.

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

„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

Page 11: ZamCamp 2.1 - Opis i zachęta do programowanie w języku Ruby
Page 12: ZamCamp 2.1 - Opis i zachęta do programowanie w języku Ruby
Page 13: 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).

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

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

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

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 : )

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

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

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

A HTML?

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

Mam nadzieję, że ktoś po powrocie do domu wklepie ruby-lang.org i powie – muszę tego

spróbować : )

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

Dziękuję : )

Rafał „Świstak” ŁasochaZamCamp, 23 września 2010