View
142
Download
0
Category
Preview:
DESCRIPTION
Devcast "Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails" ma na celu zaznajomienie uczestników z wersją 3.1 frameworku Ruby on Rails w oparciu o język Ruby w wersji 1.9.2. Devcast opiera się o przykładowy projekt gry w szachy, który w trakcie szkolenia będzie rozwijany.
Citation preview
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 1/40copyright BNS MEDIAwww.devcastzone.com
Tworzenie aplikacji internetowych
z wykorzystaniem Ruby on Rails
Materiały pchdzą ze strny:
www.devcastzone.com
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 2/40copyright BNS MEDIAwww.devcastzone.com
Tworzenie aplikacji internetowych
z wykorzystaniem Ruby on Rails
Mduł 2
Framework Ruby on Rails
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 3/40copyright BNS MEDIAwww.devcastzone.com
Treśd mułu
Wprowadzenie do Rails 3
•Oprogramowanie z opiniami •Opinie
• DRY • KISS • CoC
•Instalacja Ruby On Rails •Generowanie projektu •Tworzenie bazy danych •Uruchamianie aplikacji •Konsola
•Struktura Projektu • App • Config • Inne • Testy
•Wzorzec MVC •Komponenty Rails •Zadania Rake •Generatory
• Standardowe • Własne
•Pluginy• Tworzenie. • Generowanie
•Bezpieczeństwo
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 4/40copyright BNS MEDIAwww.devcastzone.com
Podstawowe Informacje
Wprowadzenie do Rails 4
• Framework Ruby on Rails jest zestawem bibliotek opartym o język Ruby.
• Najnowszą wersją jest Rails 3.1, jednak ciągle bardzo popularna jest wersja2.3.
• Szkolenie oparte jest o wersję 3.1.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 5/40copyright BNS MEDIAwww.devcastzone.com
Oprogramowanie z opiniami Ruby On Rails jest przykłaem tak zwaneg „pininate sftware”.
Wprowadzenie do Rails 5
• RoR daje nam konkretne rozwiązania zamiast delikatnych sugestii.
• RoR podejmuje za nas sporo decyzji: Wybór ORM - Otrzymujemy wbudowany ORM: ActiveRecord.
Wybór biblioteki JavaScript - Otrzymujemy jQuery (dawniejprototype.js).
Instalowany jest język CoffeeScript. Instalowana jest biblioteka SASS ułatwiająca pisanie CSS.
• Oprogramowanie jest przeznaczone do rozwiązania konkretnych zadań. Nie
stara się robić wszystkiego.
• Pomimo że otrzymujemy gotowy zestaw bibliotek, to możemy prawie każdą zbibliotek podmienić (np. ActiveRecord na DataMapper, ERB na haml, czyTest:Unit na Rspec).
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 6/40copyright BNS MEDIAwww.devcastzone.com
Opinie - DRY
Nie Pwtarzaj Się [DRY – Dn’t Repeat Yurself].
Wprowadzenie do Rails 6
• Powtarzający się kod jest uciążliwy i prowadzi do błędów.
• Należy separować i wydzielać powtarzający się kod.
• W Rails realizowane jest to za pomocą: • modułów włączanych do klas (w warstwach M oraz C),
• helperów (w warstwach V oraz C), • pluginów acts_as_* (w modelach).
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 7/40copyright BNS MEDIA
www.devcastzone.com
Opinie - KISS
Nie Kmplikuj Głupcze! [KISS! – Keep It Simple Stupid!].
Wprowadzenie do Rails 7
• Należy tworzyć oprogramowanie tak proste jak się da (ale nie prostsze!).
• Framework powinien dostarczać wszystkich podstawowych narzędzi dopracy.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 8/40copyright BNS MEDIA
www.devcastzone.com
Opinie - CoC
Knwencja Pna Knfigurację [CC – Convention over Configuration].
Wprowadzenie do Rails 8
• Zamiast konfiguracji w plikach xml / yaml stosujemy konwencje.
• Podstawowe konwencje Ruby on Rails:• Modele nazywane są w liczbie pojedynczej. • Tabele w bazie danych nazywane są w liczbie mnogiej odpowiadającej
nazwie modelu.• Kontrolery nazywane są w liczbie mnogiej. • Akcje kontrolerów mapowane są na pliki widoków.
• Modele nie definiują kolumn, w zamian metody są definiowane napodstawie struktury bazy danych.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 9/40copyright BNS MEDIA
www.devcastzone.com
Instalacja Ruby On Rails
Wprowadzenie do Rails 9
$ gem install railsFetching: multi_json-1.0.3.gem (100%)Fetching: activesupport-3.1.1.gem (100%)Fetching: builder-3.0.0.gem (100%)... CIACH ...Successfully installed bundler-1.0.21Successfully installed rails-3.1.130 gems installed Installing ri documentation for multi_json-1.0.3...
.. CIACH ...Installing RDoc documentation for railties-3.1.1...Installing RDoc documentation for bundler-1.0.21...Installing RDoc documentation for rails-3.1.1...
rvm --create 1.9.2@szachy # Tylko w systemie Linux
gem install rails
• Instalacja Ruby on Rails sprowadza się do jednego polecenia.
• Framework Ruby on Rails instaluje ponad 30 bibliotek.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 10/40copyright BNS MEDIA
www.devcastzone.com
Generowanie projektu
Wprowadzenie do Rails 10
• W Ruby On Rails istotną rolę odgrywają generatory kodu.
• Generatory pozwalają na szybkie stworzenie szkieletu aplikacji.
$ rails new szachy
Createcreate READMEcreate Rakefilecreate config.rucreate .gitignorecreate Gemfile
create appcreate app/assets/images/rails.pngcreate app/assets/javascripts/application.jscreate config... CIACH ...create config/database.ymlcreate dbcreate vendor/plugins/.gitkeep
run bundle install
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 11/40copyright BNS MEDIA
www.devcastzone.com
Tworzenie bazy danych
Wprowadzenie do Rails 11
• Rails po utworzeniu projektu domyślnie konfiguruje bazy danych w oparciu osilnik SQLite.
• By utworzyć bazy danych korzystamy z zadania rake.
• Polecenie rake db:setup tworzy bazę danych dla środowiska
deweloperskiego i testowego. Ładuje schemat, oraz inicjalizuje ją danymi zpliku db/seed.rb.
• Dla świeżego projektu jest ono praktycznie identyczne z rake db:create.
rake db:setup
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 12/40copyright BNS MEDIA
www.devcastzone.com
Uruchamianie aplikacji
Wprowadzenie do Rails 12
• Aplikacja Ruby on Rails posiada wbudowany prosty serwer www uruchamianypoprzez:
• Serwer standardowo uruchamia się na porcie 3000. Przykład działania możnaobejrzeć otwierając przeglądarkę. http://localhost:3000/
• Zobaczymy stronę informacyjną zawierającą:
informację że aplikacja działa, informacje o wersji Ruby oraz Ruby on Rails, informacje o środowisku i ustawieniach aplikacji, linki do poradników i dokumentacji (po angielsku).
rails server
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 13/40
copyright BNS MEDIAwww.devcastzone.com
Konsola
Wprowadzenie do Rails 13
• Ruby on Rails dostarcza swoją własną rozszerzoną wersję konsoli irb .
• Po uruchomieniu jej poleceniem:
otrzymujemy dostęp do pełnego środowiska Ruby on Rails.
• Ruby on Rails udostępnia także skrót do konsoli bazy danych:
rails c
rails db
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 14/40
copyright BNS MEDIAwww.devcastzone.com
Struktura Projektu
Wprowadzenie do Rails 14
$ tree -d app # Główny katalog aplikacji. Zawiera kod oraz zasoby aplikacji. assets # Zasoby aplikacji (javascript, obrazki, style)controllers # Kontroleryhelpers # Moduły pomocnicze
mailers # Klasy pocztowe models # Modeleviews # Widoki
layouts # w tym pliki szablonów.
config # Katalog z konfiguracją projektu, m.in. bazy danych. environments # Konfiguracja poszczególnych środowisk Rails (development, test, production) initializers # Pliki inicjalizujące - wykonywane są przy starcie aplikacji. locales # Pliki tłumaczeń - patrz I18n
db # Pliki baz danych oraz migracjidoc # Pliki dokumentacji projektu.lib # Biblioteki pomocnicze projektuassets #tasks # Definicje zadań Rake dla projektu
log # Katalog z logami aplikacji public # Katalog zawierający strony statyczne dostępne publicznie script # Katalog zawierający skrypty pomocnicze projektu (przestarzały) test # Katalog zawierający testy fixtures # dane testowefunctional # testy funkcjonalne (kontrolery i widoki)integration # testy integracyjne (w przypadku gdy aplikacja korzysta z zewnętrznych zasobów i api) performance # testy wydajnościowe unit # testy jednostkowe (modeli)
tmp #vendor # Zewnętrzne wtyczki, biblioteki i zasoby
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 15/40
copyright BNS MEDIAwww.devcastzone.com
Struktura Projektu - App
Wprowadzenie do Rails 15
Katalog app jest głównym katalogiem projektu. Wewnątrz znajdują się pliki modeli,kontrolerów i widoków oraz, od wersji 3.1, zasoby aplikacji.
• assets - zasoby aplikacji. javascripts - Skrypty JavaScript.
stylesheets - Arkusze stylów CSS lub SASS. images - Obrazki aplikacji.
• controllers - kontrolery obsługują akcje HTTP.
• helpers - moduły zawierające funkcje pomocnicze dla kontrolerów i widoków.
• mailers - klasy zawierające metody dla obsługi poczty.
• models - klasy modelujące logikę biznesową; mogą mapować tabele baz danych.
• views - widoki są plikami szablonów (np. .erb, .haml), których zadaniem jestprzetworzenie danych przygotowanych przez kontroler na plik HTML.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 16/40
copyright BNS MEDIAwww.devcastzone.com
Struktura Projektu - Config
Wprowadzenie do Rails 16
• environments - zawiera pliki Ruby definiujące zachowanie aplikacji w różnychśrodowiskach. Standardowo zdefiniowane są 3 środowiska: development , test orazproduction .
• initializers - pliki Ruby zawierające kod, który zostanie wykonany w momencie startuaplikacji.
• locales - pliki tłumaczeń dla aplikacji.
• database.yml - plik YAML zawierający konfigurację bazy danych dla każdego ześrodowisk.
• application.rb - plik główny aplikacji Rails; jest wywoływany, gdy rozpoczynane jestładowanie środowiska Rails.
• boot.rb - wywoływany jako pierwszy z application.rb; ładuje biblioteki z pliku Gemfile.
• routes.rb - plik definiujący mapowanie ścieżek url do kontrolerów.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 17/40
copyright BNS MEDIAwww.devcastzone.com
Struktura Projektu - Inne
Wprowadzenie do Rails 17
• db - katalog zawierający bazy danych użyte w projekcie.
migrations - pliki migracji pozwalające na synchronizację struktury bazy danychpomiędzy wersjami aplikacji.
• lib - katalog zawierający biblioteki oraz funkcje pomocnicze które nie pasujądo modelu.
tasks - Zawiera zadania programu Rake powiązane z aplikacją.
• public - katalog zawierający publicznie dostępne strony www oraz innezasoby.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 18/40
copyright BNS MEDIAwww.devcastzone.com
Struktura Projektu - Inne
Wprowadzenie do Rails 18
• doc - katalog z dokumentacją projektu. Może być generowana poprzez rakerdoc.
• log - katalog z logami aplikacji - osobno dla każdego środowiska.
• public - katalog zawierający statyczne i dostępne publicznie zasoby.
• tmp - katalog zawierający pliki tymczasowe i sesje (w trybie deweloperskim).
• vendor - zapisane lokalnie pliki z zewnętrznych projektów.
gems - lokalnie zapisane gemy. plugins - lokalnie zapisane pluginy. native - wersje binarne aplikacji powiązane z konkretną platformą. assets - zasoby pochodzące z zewnętrznych projektów.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 19/40
copyright BNS MEDIAwww.devcastzone.com
Struktura Projektu - Testy
Wprowadzenie do Rails 19
• fixtures - dane dla testów; mogą być w kilku formatach (rb, yml). Ładowanesą one każdorazowo przy uruchamianiu testów.
• functional - testy mające za zadanie sprawdzanie kontrolerów oraz widoków.
• integration - testy integracyjne. Przeznaczone do testowania integracjiaplikacji ze środowiskiem oraz usługami i interfejsami zewnętrznymi.
• performance - testy wydajnościowe, testujące szybkość odpowiedzi
poszczególnych kontrolerów.
• unit - testy jednostkowe dla modelów, helperów oraz innych klaspomocniczych.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 20/40
copyright BNS MEDIAwww.devcastzone.com
Wzorzec MVC
Wprowadzenie do Rails 20
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 21/40
copyright BNS MEDIAwww.devcastzone.com
Wzorzec MVC
Wprowadzenie do Rails 21
Wzorzec MVC pozwala na:
• Wyraźny podział aplikacji na warstwy.
• Rozdzielenie logiki biznesowej aplikacji od jej prezentacji.
• Dowolną prezentację danych - te same dane z kontrolera mogą zostaćsformatowane jako strona WWW, JSON, XML czy grafika.
• Łatwiejsze ponowne użycie kodu.
• Łatwy podział pracy pomiędzy grafików i programistów odpowiedzialnych zastronę wizualną oraz analityków i programistów odpowiedzialnych za logikębiznesową aplikacji.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 22/40
copyright BNS MEDIAwww.devcastzone.com
Wzorzec MVC
Wprowadzenie do Rails 22
Model (M - Model)
• Odpowiedzialny za komunikację z bazą danych (niekoniecznierelacyjną).
• Obsługę logiki biznesowej aplikacji.
• Obecnie zalecanym stylem pracy w Rails jest Gruby Model - ChudyKontroler.
• Największa porcja kodu powinna przebywać w modelach.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 23/40
copyright BNS MEDIAwww.devcastzone.com
Wzorzec MVC
Wprowadzenie do Rails 23
Kontroler (C - Controller)
Odpowiedzialny za:
• Obsługę akcji użytkownika.
• Przekazywanie użytkownikowi danych z modelu.
• Obsługę formatów danych.
• Autentykację oraz Autoryzację.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 24/40
copyright BNS MEDIAwww.devcastzone.com
Wzorzec MVC
Wprowadzenie do Rails 24
Widok (V - View)
• Odpowiedzialny jest za formatowanie i serializację danych.
• Nie powinien nie zawierać logiki biznesowej.
• Wszelkie pobieranie oraz przetwarzanie danych powinno odbywać się wkontrolerze.
• Może formatować dane zarówno do plików html, jak i innych formatów.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 25/40
copyright BNS MEDIAwww.devcastzone.com
Komponenty Rails
Wprowadzenie do Rails 25
• Action Pack - jeden gem obejmujący Kontroler i Widok.
Action Controller - bazowa klasa kontrolerów. Action Dispatch - system mapowania URL do Kontrolerów. Action View - klasa obsługująca renderowanie widoków.
• Action Mailer - obsługa wysyłania poczty.
• Active Model - interfejs pomiędzy ORMem(dowolnym) a ActionPackiem udostępniającywspólne metody wymagane dla modeli do współpracy z modułami pomocniczymi ActionPack.
• Active Record - klasa bazowa dla modeli udostępniająca operacje CRUD na bazie danych.
• Active Resource - klasa bazowa dla modeli opartych na zewnętrznych web-serwisach a nie
bazie danych.
• Active Support - zestaw modułów i klas pomocniczych, oraz rozszerzeń klas Rubywykorzystywanych przez pozostałe moduły Rails.
• Railties - bazowy kod Rails, zawierający generatory oraz spoinę łączącą wszystkie pozostałemoduły frameworku.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 26/40
copyright BNS MEDIAwww.devcastzone.com
Zadania Rake
Wprowadzenie do Rails 26
• Wraz z Ruby on Rails otrzymujemy zestaw przydatnych zadań Rake.
• Pełną listę można otrzymać wywołując rake -D
• rake db - zadania związane z zarządzaniem bazą danych.
rake db:create - tworzy bazę danych na podstawie danych z plikuconfig/database.yml.
rake db:drop - niszczy bazę danych.
rake db:setup - tworzy bazę danych, po czym ładuje schemat bazydanych z pliku db/schema.rb oraz dane początkowe z pliku db/seeds.rb. rake db:migrate - migruje bazę danych od najnowszej wersji. rake db:rollback - wycofuje ostatnio przeprowadzoną migrację. rake db:schema:dump - zrzuca schemat bazy danych do pliku.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 27/40
copyright BNS MEDIAwww.devcastzone.com
Zadania Rake
Wprowadzenie do Rails 27
• rake assets:clean - czyści wszystkie wygenerowane zasoby.
• rake test - uruchamia wszystkie testy aplikacji.
rake test:recent - uruchamia ostatnio zmienione testy.
• rake routes - wypisuje wszystkie ścieżki aplikacji, co pozwala nasprawdzenie jaki kontroler obsługuje dany adres.
• rake middleware - wyświetla listę wszystkich bibliotek pośredniczących Rack
pomiędzy serwerem WWW a aplikacją Rails.
• rake secret - generuje losowy ciąg znaków - sekret do użycia jako klucz dosesji przechowywanych w ciasteczkach.
• rake doc:app - generuje dokumentację aplikacji.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 28/40
copyright BNS MEDIAwww.devcastzone.com
Generatory
Wprowadzenie do Rails 28
• Generatory uruchamiamy poprzez wywołanie polecenia•
• Listę generatorów otrzymamy po wykonaniu polecenia
• Pomoc dla każdego z generatorów otrzymamy poleceniem
•
• Szczególnym generatorem jest generator generatorów, pozwalający nam nastworzenie swoich własnych generatorów.
rails g NazwaGeneratora parametry:generatora
rails g
rails g generator -h
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 29/40
copyright BNS MEDIAwww.devcastzone.com
Standardowe Generatory
Wprowadzenie do Rails 29
• Podstawowe generatory rails pozwalają na generowanie:
• modeli - pozwala na generowanie modeli oraz migracji.
• kontrolerów - generuje kontrolery oraz widoki.
• migracji - migracje zmieniają schemat bazy danych.
• moduły pomocnicze - generuje helpery. Jako parametr przyjmuje nazwę modułu
• testy – testy wydajnościowe i integracyjne możemy wygenerować wywołując
rails g performance_test Nazwarails g integration_test Nazwa
rails g controller Positions
rails g migration AddZToPoszycja z:integer
rails g controller Positions show index
rails g model Pozycja x:integer y:integer
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 30/40
copyright BNS MEDIAwww.devcastzone.com
Standardowe Generatory
Wprowadzenie do Rails 30
Pozostałe generatory związane z Ruby:
• mailer - generuje moduł formatowania poczty.
• observer - klasa implementująca wzorzec obserwatora na modelu.
• plugin - generuje szkielet pluginu.
• resource - generuje model dla zewnętrznego zasobu.
• scaffold - generuje cały szkielet modelu MVC - od modelu przez kontroler,
helpery, oraz widoki.
• scaffold_controller - podobnie jak scaffold, z tym że omija tworzeniemodelu. Nazwa istniejącego modelu misi zostać podana jako parametr.
• session_migration - generuje migrację umieszczającą specjalną tabelę doprzetrzymywania sesji w bazie danych.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 31/40
copyright BNS MEDIAwww.devcastzone.com
Własne Generatry
Wprowadzenie do Rails 31
• Ruby on Rails pozwala na tworzenie własnych generatorów.
• Generatory automatyzują proces tworzenia zasobów. Redukując czaspotrzebny na wykonanie powtarzających się czynności.
• Generatory mogą korzystać z metod biblioteki thor.
• Biblioteka thor pozwala na bezpieczne używanie generatorów (m.in. chroniprzed przypadkowym nadpisaniem plików).
• Używając generatorów możemy tworzyć nie tylko pliki i kod, ale także grafikę,czy inne zasoby binarne.
rails g generator logo
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 32/40
copyright BNS MEDIAwww.devcastzone.com
Pluginy
Wprowadzenie do Rails 32
• Pluginy są sposobem na ponowne użycie kodu.
• Pluginy mogą zostać dodane do aplikacji Ruby on Rails na dwa sposoby: • Jako biblioteka gem• Jako zainstalowany plugin
• Obecnie zalecanym sposobem jest dodawanie pluginów jako gemy wewnątrzpliku Gemfile.
• Instalacja pluginu może nastąpić zarówno z pliku, serwera www, jak i
repozytorium git.
rails plugin instal https://github.com/swanandp/acts_as_list.git
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 33/40
copyright BNS MEDIAwww.devcastzone.com
Pluginy - Tworzenie
Wprowadzenie do Rails 33
• Pluginy możemy tworzyć przy pomocy generatorów.
• Pluginy mogą dodawać do aplikacji funkcjonalności, jak i narzędzia
deweloperskie, takie jak:• generatory,• zachowania Modeli (acts_as_*),• filtry Kontrolerów,• szablony widoków,
• Pluginy mogą zawierać własne zestawy testów.
• Pluginy powinny trzymać klasy wewnątrz przestrzeni nazw (modułu) i unikaćrozszerzania klas bez potrzeby.
rails g plugin pretty_form
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 34/40
copyright BNS MEDIAwww.devcastzone.com
Pluginy - Generowanie
Ruby on Rails - MVC 34
$ rails g plugin amicreate vendor/plugins/amicreate vendor/plugins/ami/MIT-LICENSEcreate vendor/plugins/ami/READMEcreate vendor/plugins/ami/Rakefilecreate vendor/plugins/ami/init.rbcreate vendor/plugins/ami/install.rbcreate vendor/plugins/ami/uninstall.rbcreate vendor/plugins/ami/libcreate vendor/plugins/ami/lib/ami.rbinvoke test_unitinside vendor/plugins/amicreate testcreate test/ami_test.rbcreate test/test_helper.rb
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 35/40
copyright BNS MEDIAwww.devcastzone.com
Bezpieczeostw
Wprowadzenie do Rails 35
• Z obsługą formularzy i formatowania danych HTML związane jest sporozagrożeń.
• Framework Ruby on Rails posiada domyślnie sporo zabezpieczeń.
• Widoki domyślnie są chronione przed atakami Cross Site Scripting.
• Formularze są automatycznie zabezpieczane przed atakami Cross Site
Request Forgery.
• Generując zapytania SQL używając biblioteki AREL jesteśmy chronieni przedatakami SQL Injection.
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 36/40
copyright BNS MEDIAwww.devcastzone.com
Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails
– prgram pełneg szklenia
1. Wprwadzenie d Języka Ruby o Instalacja Języka Ruby - Linux
o Instalacja Języka Ruby - Windows
o Uruchamianie Skryptów
o Tryb interaktywny
o Prawda, Fałsz i Nic
o Literały Numeryczne
o Łaocuchy
o Tablice
o Tablice Asocjacyjne
o Symbole
o Symble a Łaocuchy
o Zakresy
o Wyrażenia regularne
o Instrukcje Warunkowe
o Instrukcja Wyboru
o Operatory Logiczne
o Pętle
o Wyjątki
Tworzenie aplikacji z użyciem biblioteki Hibernate 36
o Zmienne
o Zmienne Lokalne
o Zmienne Obiektowe
o Zmienne Klasowe
o Zmienne Globalne
o Stałe
o Metody
o Nazwy Metod
o Metody - Wywływanie
o Bloki
o Obiekty
o Klasy
o Klasy - Dziedziczenie
o Klasy - Dziedziczenieo Mduły
o Mduły - Przestrzeo nazw
o Require i Load
o Rubygems
o Bundler
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 37/40
copyright BNS MEDIAwww.devcastzone.com
Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails
– prgram pełneg szklenia
2. Framework Ruby on Railso Oprogramowanie z opiniami
o Opinie• DRY
• KISS
• CoC
o Instalacja Ruby On Rails
o Generowanie projektuo Tworzenie bazy danych
o Uruchamianie aplikacji
o Konsola
o Struktura Projektu• App
• Config
• Inne
• Testy
o Wzorzec MVC
o Komponenty Railso Zadania Rake
o Generatory
• Standardowe
• Własne
o Pluginy
• Tworzenie.
• Generowanie
o Bezpieczeostw
Tworzenie aplikacji z użyciem biblioteki Hibernate 37
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 38/40
copyright BNS MEDIAwww.devcastzone.com
Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails
– prgram pełneg szklenia
3. Wzorzec MVCo Modele
o Konfiguracja Bazy Danych
o Przykładwa Konfiguracja
o Dstęp Do Bazy Danych
o Tworzenie modeli
o Migracje
o Wzorzec projektowy ActiveRecord
o Walidacje
o Wywłanie Zwrotne (Callbacks)
o Pwiązania(Associations)
o Arel• Podstawy
• Wyszukiwanie
• Łączenie tabel. Relacje
o Zakresy - Scope
o Deklaratywne rozszerzaniemżliwści modeli
Tworzenie aplikacji z użyciem biblioteki Hibernate 38
o Kontrolery
o Generowanie
o Kontrolery w architekturze REST
o Ruting i Obsługa Akcji HTTP
o Renderowanie HTML
o Renderowanie XML, YAML, JSON
o Kntrla dstępu
o Widoki
o Szablony• aplikacji
• akcji
• częściwe
o Formularzeo Helpery DOM
o ActionMailer - bsługa pczty
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 39/40
copyright BNS MEDIAwww.devcastzone.com
Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails
– prgram pełneg szklenia
4. Framework Ruby on Railso Rack.
o JQuery
o Shouldao RSpec
o Cucumber
o CoffeeScript
o Less
o Sass
o Alternatywne szablonyHTML
• Haml
• Markaby
• Liquid
Tworzenie aplikacji z użyciem biblioteki Hibernate 39
5/14/2018 Tworzenie Aplikacji Internetowych z Wykorzystaniem Ruby on Rails - slidepdf.com
http://slidepdf.com/reader/full/tworzenie-aplikacji-internetowych-z-wykorzystaniem-ruby-on-rails 40/40
Wprowadzenie do C# i platformy .NET
http://www.devcastzone.com/course,wprowadzenie-do-c-i-platformy-net
Zapraszamy
T i lik ji ż i bibli t ki Hib t
Recommended