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

Post on 26-Dec-2014

1.611 views 4 download

description

 

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

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

Ruby / Rails

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 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”

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 (coś zrobić a się nie narobić)

● Przetwarzanie tekstu, xmla (regexpy)

● Aplikacje webowe (Ruby on Rails)

● Aplikacje bazodanowe

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

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

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” ŁasochaZamCamp, 23 września 2010