poniedziałek, 16 kwietnia 2012

Lekcja 1: Przygotowanie środowiska

W pierwszej lekcji zajmiemy się instalacją Ruby, Rails oraz Git. Przedstawiony artykuł odnosi się do instalacji narzędzi na systemie Ubuntu 12.04. Schemat instalacji na innych systemach operacyjnych jest analogiczny. Poniższe komendy należy wpisywać do terminala bez znaku '$'.

Instalacja Ruby oraz Rails   
1) Aktualizacja Ubuntu do ostatniej wersji
$ sudo apt-get update
$ sudo apt-get upgrade

2) Instalacja Git i Curl (wymagane przy Ruby Version Manager - RVM)
$ sudo apt-get install build-essential git-core curl

3) Instalacja Ruby Version Manager RVM (pomaga przy zarządzaniu wersjami Ruby)
$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

4) Dodanie linii do ./~bashrc (to spowoduje ładowanie RVM przy każdym razem gdy otworzymy terminal)
$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc

Następnie należy zamknąć i ponownie otworzyć terminal. Jeśli wszystko się udało to po wpisaniu w terminal komendy $ rvm notes powinniśmy zobaczyć notatki na temat instalacji.

5) Instalacja kilku pakietów wymaganych przy Ruby
$ sudo aptitude install build-essential openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison

6) Instalacja Ruby
$ rvm install 1.9.2

7) Ustawienie domyślnej wersji Ruby
$ rvm --default use 1.9.2

Komenda $ ruby -v powinna wyświetlić domyślną wersję Ruby

8) Instalacja rails
$ gem install rails
Komenda $ rails -v powinna wyświetlić wersję rails'ów

Wybór środowiska
Wybór IDE do pisania w railsach to kwestia osobistych preferencji, ale dla początkujących osób proponowałby zacząć od edytora gedit, który można zmodernizować o kilka przydatnych pluginów.

Po wpisaniu w konsoli $ sudo apt-get install gedit-plugins należy odpalić gedit oraz wybrać interesujące nas wtyczki. Aby to zrobić wybieramy odpowiednio Edycja>>Wtyczki oraz zaznaczamy pomocne dodatki. Dodatkowo możemy wybrać Schemat kolorów przy pisaniu kodu. Osobiście używam schematu kolorów Railscasts Black Improved oraz wtyczek: Zapisywanie sesji, Panel przeglądarki plików, Osadzony terminal, Komentarze w kodzie, Uzupełnianie nawiasów, White Space Terminator, TabSwitch, Smart Highlighting, Rails File Loader.

Pierwsza aplikacja
W celu stworzenia pierwszej aplikacji wybierzemy folder dla naszych projektów oraz odpalimy komendę $ rails new first_app, która w aktualnym folderze utworzy projekt o nazwie first_app.

$ mkdir rails_projects
$ cd rails_projects
$ rails new first_app 

Warto zwrócić uwagę na utworzoną strukturę plików, która jest prawie taka sama dla wszystkich aplikacji railsowych. Poniżej znajduje się krótkie omówienie poszczególnych katalogów i plików.

Plik/katalog Przeznaczenie
app/ Główny kod aplikacji zawierający modele, kontrolery, widoki oraz helpery
config/ Konfiguracja aplikacji
db/ Pliki do manipulowania bazą danych
doc/ Dokumentacja aplikacji
lib/ Biblioteki
log/ Logi aplikacji
public/ Pliki publiczne, np. pliki graficzne, pliki css
script/rails Skrypt odpowiedzialny za generowanie kodu lub uruchamianie lokalnego serwera
test/ Testy aplikacji
tmp/ Pliki tymczasowe
vendor/ Pluginy i gemy
README Krótki opis aplikacji
Rakefile Zadania dostępne poprzez komendę rake
Gemfile Gemy wymagane w aplikacji


W tym momencie możemy odpalić naszą podstawową aplikację na lokalnym serwerze. Wystarczy wpisać w terminalu komendę:
$ rails server
=> Booting WEBrick
=> Rails 3.2.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-04-16 17:38:11] INFO  WEBrick 1.3.1
[2012-04-16 17:38:11] INFO  ruby 1.9.3 (2012-02-16) [x86_64-linux]
[2012-04-16 17:38:11] INFO  WEBrick::HTTPServer#start: pid=4696 port=3000

W celu zobaczenia wyniku należy przejść na stronę http://localhost:3000/ w przeglądarce. Jeśli zobaczymy domyślną stronę aplikacji (widoczną poniżej) to znaczy, że wszystko poszło zgodnie z planem.


















System kontroli wersji
Kiedy już mamy działającą aplikację zajmiemy się umieszczeniem jej kodu pod systemem kontroli wersji. Systemy kontroli wersji pozwalają nam śledzić zmiany w kodzie naszego projektu, efektywnie współpracować z innymi oraz zarządzać wersjami kodu. Przy tworzeniu aplikacji w Ruby on Rails rekomendowane jest użycie systemu Git, który dodatkowo połączymy z Githubem - platformą pozwalającą na trzymanie i zarządzanie kodem. Na początku należy założyć konto na stronie https://github.com/, a następnie skonfigurować gita zgodnie z tutorialem dostępnym na ich stronie http://help.github.com/linux-set-up-git/. Kiedy już ustawimy wszystko, stworzymy nasze pierwsze przykładowe repozytorium na platformie github.













Następnie w głównym katalogu naszej aplikacji zainicjujemy nowe repozytorium.

$ git init
Initialized empty Git repository in /home/wojtek/Pulpit/rails_projects/first_app/.git/

Warto wspomnieć, że przy tworzeniu aplikacji automatycznie w głównym katalogu dodawany jest plik .gitignore, który zawiera reguły mówiące gitowi, który pliki ma pominąć przy wersjonowaniu. Struktura takiego pliku jest widoczna poniżej. Większość z tych plików zmienia się automatycznie i bardzo często, zatem wersjonowanie ich jest niewłaściwe.

# Ignore bundler config
/.bundle

# Ignore the default SQLite database.
/db/*.sqlite3

# Ignore all logfiles and tempfiles.
/log/*.log
/tmp

 Następnym krokiem jest dodanie plików projektu do repozytorium.

$ git add .
$ git commit -m 'Initial commit'

$ git status
# On branch master
nothing to commit (working directory clean)

Pierwsze polecenie dodaje wszystkie pliki z bieżącego katalogu do indeksu, kolejne bierze nasze pliki z indeksu i włącza je do lokalnego repozytorium (parametr „m” odpowiada za dodanie komentarza do commitu). Ostatnie polecenie wyświetla status plików w naszym projekcie.

Kolejnym krokiem jest dodanie Githuba jako naszej głównej gałęzi (master) w projekcie i wysłanie naszego lokalnego repozytorium do Githuba. Uzyskamy to za pomocą komend poniżej (oczywiście musicie zmienić <username> na nazwę waszego użytkownika).

$ git remote add origin git@github.com:<username>/first_app.git
$ git push origin master

W ten sposób powinniśmy zobaczyć naszą pierwszą aplikację na platformie Github. Większe możliwości Gita zobaczymy w kolejnych lekcjach.

Podsumowanie
W pierwszej lekcji skonfigurowaliśmy nasze środowisko, stworzyliśmy pierwszą pustą aplikację oraz dodaliśmy ją do systemu kontroli wersji.