SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Tworzenie aplikacji internetowych
               z wykorzystaniem Ruby on Rails
                      Materiały pochodzą ze strony:
                        www.devcastzone.com




copyright BNS MEDIA
                                 www.devcastzone.com
Tworzenie aplikacji internetowych
             z wykorzystaniem Ruby on Rails
                            Moduł 2
                      Framework Ruby on Rails




copyright BNS MEDIA
                             www.devcastzone.com
Treśd modułu
    •Oprogramowanie z opiniami                     •Wzorzec MVC
    •Opinie                                        •Komponenty Rails
         • DRY                                     •Zadania Rake
         • KISS                                    •Generatory
         • CoC                                         • Standardowe
    •Instalacja Ruby On Rails                          • Własne
    •Generowanie projektu                          •Pluginy
    •Tworzenie bazy danych                             • Tworzenie.
    •Uruchamianie aplikacji                            • Generowanie
    •Konsola                                       •Bezpieczeństwo
    •Struktura Projektu
         • App
         • Config
         • Inne
         • Testy


copyright BNS MEDIA    Wprowadzenie do Rails
                                           www.devcastzone.com         3
Podstawowe Informacje




       • Framework Ruby on Rails jest zestawem bibliotek opartym o język Ruby.

       • Najnowszą wersją jest Rails 3.1, jednak ciągle bardzo popularna jest wersja
       2.3.

       • Szkolenie oparte jest o wersję 3.1.




copyright BNS MEDIA          Wprowadzenie do Rails
                                                 www.devcastzone.com   4
Oprogramowanie z opiniami
Ruby On Rails jest przykładem tak zwanego „opinionated software”.

       • 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 (dawniej
              prototype.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ą z
       bibliotek podmienić (np. ActiveRecord na DataMapper, ERB na haml, czy
       Test:Unit na Rspec).


copyright BNS MEDIA              Wprowadzenie do Rails
                                                     www.devcastzone.com   5
Opinie - DRY
Nie Powtarzaj Się [DRY – Don’t Repeat Yourself].




       • 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).




copyright BNS MEDIA                Wprowadzenie do Rails
                                                       www.devcastzone.com   6
Opinie - KISS
Nie Komplikuj Głupcze! [KISS! – Keep It Simple Stupid!].




       • Należy tworzyć oprogramowanie tak proste jak się da (ale nie prostsze!).

       • Framework powinien dostarczać wszystkich podstawowych narzędzi do
       pracy.




copyright BNS MEDIA                Wprowadzenie do Rails
                                                       www.devcastzone.com   7
Opinie - CoC
Konwencja Ponad Konfigurację [CoC – Convention over Configuration].




       • 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 na
              podstawie struktury bazy danych.




copyright BNS MEDIA              Wprowadzenie do Rails
                                                     www.devcastzone.com   8
Instalacja Ruby On Rails

                rvm --create 1.9.2@szachy # Tylko w systemie Linux

       • Instalacja Ruby on Rails sprowadza się do jednego polecenia.
                gem install rails

                 $ gem install rails
               Fetching: 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.21
               Successfully installed rails-3.1.1
               30 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...



       • Framework Ruby on Rails instaluje ponad 30 bibliotek.


copyright BNS MEDIA                  Wprowadzenie do Rails
                                                         www.devcastzone.com   9
Generowanie projektu

       • W Ruby On Rails istotną rolę odgrywają generatory kodu.

       • Generatory pozwalają na szybkie stworzenie szkieletu aplikacji.


                $ rails new szachy

                  Create
                  create README
                  create Rakefile
                  create config.ru
                  create .gitignore
                  create Gemfile
                  create app
                  create app/assets/images/rails.png
                  create app/assets/javascripts/application.js
                  create config
                  ... CIACH ...
                  create config/database.yml
                  create db
                  create vendor/plugins/.gitkeep
                     run bundle install



copyright BNS MEDIA                   Wprowadzenie do Rails
                                                          www.devcastzone.com   10
Tworzenie bazy danych



       • Rails po utworzeniu projektu domyślnie konfiguruje bazy danych w oparciu o
       silnik SQLite.

       • By utworzyć bazy danych korzystamy z zadania rake.

                rake db:setup

       • Polecenie rake db:setup tworzy bazę danych dla środowiska
       deweloperskiego i testowego. Ładuje schemat, oraz inicjalizuje ją danymi z
       pliku db/seed.rb.

       • Dla świeżego projektu jest ono praktycznie identyczne z rake db:create.



copyright BNS MEDIA             Wprowadzenie do Rails
                                                    www.devcastzone.com   11
Uruchamianie aplikacji


       • Aplikacja Ruby on Rails posiada wbudowany prosty serwer www uruchamiany
       poprzez:

                rails server

       • Serwer standardowo uruchamia się na porcie 3000. Przykład działania można
       obejrzeć 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).



copyright BNS MEDIA            Wprowadzenie do Rails
                                                   www.devcastzone.com   12
Konsola


       • Ruby on Rails dostarcza swoją własną rozszerzoną wersję konsoli irb.

       • Po uruchomieniu jej poleceniem:
                rails c
       otrzymujemy dostęp do pełnego środowiska Ruby on Rails.

       • Ruby on Rails udostępnia także skrót do konsoli bazy danych:
                rails db




copyright BNS MEDIA         Wprowadzenie do Rails
                                                www.devcastzone.com   13
Struktura Projektu

                      $ tree -d
                        app              #   Główny katalog aplikacji. Zawiera kod oraz zasoby aplikacji.
                          assets         #   Zasoby aplikacji (javascript, obrazki, style)
                          controllers    #   Kontrolery
                          helpers        #   Moduły pomocnicze
                          mailers        #   Klasy pocztowe
                          models         #   Modele
                          views          #   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 migracji
                        doc              #   Pliki dokumentacji projektu.
                        lib              #   Biblioteki pomocnicze projektu
                          assets         #
                          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 testowe
                          functional     #    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




copyright BNS MEDIA                              Wprowadzenie do Rails
                                                                     www.devcastzone.com                   14
Struktura Projektu - App

       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 jest
       przetworzenie danych przygotowanych przez kontroler na plik HTML.


copyright BNS MEDIA             Wprowadzenie do Rails
                                                    www.devcastzone.com      15
Struktura Projektu - Config

       • environments - zawiera pliki Ruby definiujące zachowanie aplikacji w różnych
       środowiskach. Standardowo zdefiniowane są 3 środowiska: development, test oraz
       production.

       • initializers - pliki Ruby zawierające kod, który zostanie wykonany w momencie startu
       aplikacji.

       • 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.

copyright BNS MEDIA              Wprowadzenie do Rails
                                                     www.devcastzone.com      16
Struktura Projektu - Inne



       • db - katalog zawierający bazy danych użyte w projekcie.

                migrations - pliki migracji pozwalające na synchronizację struktury bazy danych
                 pomię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 inne
       zasoby.




copyright BNS MEDIA               Wprowadzenie do Rails
                                                      www.devcastzone.com     17
Struktura Projektu - Inne


       • doc - katalog z dokumentacją projektu. Może być generowana poprzez rake
       rdoc.

       • 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.



copyright BNS MEDIA          Wprowadzenie do Rails
                                                 www.devcastzone.com   18
Struktura Projektu - Testy


       • fixtures - dane dla testów; mogą być w kilku formatach (rb, yml). Ładowane
       są 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 integracji
       aplikacji 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 klas
       pomocniczych.



copyright BNS MEDIA          Wprowadzenie do Rails
                                                 www.devcastzone.com   19
Wzorzec MVC




copyright BNS MEDIA   Wprowadzenie do Rails
                                          www.devcastzone.com   20
Wzorzec MVC


       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 za
       stronę wizualną oraz analityków i programistów odpowiedzialnych za logikę
       biznesową aplikacji.


copyright BNS MEDIA           Wprowadzenie do Rails
                                                  www.devcastzone.com   21
Wzorzec MVC



       Model (M - Model)

               • Odpowiedzialny za komunikację z bazą danych (niekoniecznie
                 relacyjną).

               • Obsługę logiki biznesowej aplikacji.

               • Obecnie zalecanym stylem pracy w Rails jest Gruby Model - Chudy
                 Kontroler.

               • Największa porcja kodu powinna przebywać w modelach.




copyright BNS MEDIA             Wprowadzenie do Rails
                                                    www.devcastzone.com   22
Wzorzec MVC


       Kontroler (C - Controller)

                Odpowiedzialny za:

               • Obsługę akcji użytkownika.

               • Przekazywanie użytkownikowi danych z modelu.

               • Obsługę formatów danych.

               • Autentykację oraz Autoryzację.




copyright BNS MEDIA            Wprowadzenie do Rails
                                                   www.devcastzone.com   23
Wzorzec MVC



       Widok (V - View)

               • Odpowiedzialny jest za formatowanie i serializację danych.

               • Nie powinien nie zawierać logiki biznesowej.

               • Wszelkie pobieranie oraz przetwarzanie danych powinno odbywać się w
                 kontrolerze.

               • Może formatować dane zarówno do plików html, jak i innych formatów.




copyright BNS MEDIA             Wprowadzenie do Rails
                                                    www.devcastzone.com   24
Komponenty Rails
       • 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ący
       wspó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 Ruby
       wykorzystywanych przez pozostałe moduły Rails.

       • Railties - bazowy kod Rails, zawierający generatory oraz spoinę łączącą wszystkie pozostałe
       moduły frameworku.

copyright BNS MEDIA              Wprowadzenie do Rails
                                                     www.devcastzone.com       25
Zadania Rake


       • 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 pliku
                 config/database.yml.
                rake db:drop - niszczy bazę danych.
                rake db:setup - tworzy bazę danych, po czym ładuje schemat bazy
                 danych 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.


copyright BNS MEDIA            Wprowadzenie do Rails
                                                   www.devcastzone.com   26
Zadania Rake

       • 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 na
       sprawdzenie 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 do
       sesji przechowywanych w ciasteczkach.

       • rake doc:app - generuje dokumentację aplikacji.

copyright BNS MEDIA               Wprowadzenie do Rails
                                                      www.devcastzone.com   27
Generatory


       • Generatory uruchamiamy poprzez wywołanie polecenia
       •   rails g NazwaGeneratora parametry:generatora


       • Listę generatorów otrzymamy po wykonaniu polecenia
                rails g


       • Pomoc dla każdego z generatorów otrzymamy poleceniem
                rails g generator -h
       •

       • Szczególnym generatorem jest generator generatorów, pozwalający nam na
       stworzenie swoich własnych generatorów.


copyright BNS MEDIA           Wprowadzenie do Rails
                                                  www.devcastzone.com   28
Standardowe Generatory

       • Podstawowe generatory rails pozwalają na generowanie:

       • modeli - pozwala na generowanie modeli oraz migracji.

               rails g model Pozycja x:integer y:integer

       • kontrolerów - generuje kontrolery oraz widoki.

               rails g controller Positions show index

       • migracji - migracje zmieniają schemat bazy danych.

               rails g migration AddZToPoszycja z:integer

       • moduły pomocnicze - generuje helpery. Jako parametr przyjmuje nazwę modułu
               rails g controller Positions


       • testy – testy wydajnościowe i integracyjne możemy wygenerować wywołując
                rails g performance_test Nazwa
                rails g integration_test Nazwa


copyright BNS MEDIA                Wprowadzenie do Rails
                                                       www.devcastzone.com         29
Standardowe Generatory
       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 tworzenie
       modelu. Nazwa istniejącego modelu misi zostać podana jako parametr.

       • session_migration - generuje migrację umieszczającą specjalną tabelę do
       przetrzymywania sesji w bazie danych.
copyright BNS MEDIA          Wprowadzenie do Rails
                                                 www.devcastzone.com   30
Własne Generatory


       • Ruby on Rails pozwala na tworzenie własnych generatorów.

               rails g generator logo


       • Generatory automatyzują proces tworzenia zasobów. Redukując czas
       potrzebny 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. chroni
       przed 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.


copyright BNS MEDIA               Wprowadzenie do Rails
                                                      www.devcastzone.com   31
Pluginy


       • 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ątrz
       pliku 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




copyright BNS MEDIA                Wprowadzenie do Rails
                                                       www.devcastzone.com     32
Pluginy - Tworzenie
       • Pluginy możemy tworzyć przy pomocy generatorów.

               rails g plugin pretty_form


       • 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.



copyright BNS MEDIA               Wprowadzenie do Rails
                                                      www.devcastzone.com   33
Pluginy - Generowanie


         $ rails g plugin ami
               create vendor/plugins/ami
               create vendor/plugins/ami/MIT-LICENSE
               create vendor/plugins/ami/README
               create vendor/plugins/ami/Rakefile
               create vendor/plugins/ami/init.rb
               create vendor/plugins/ami/install.rb
               create vendor/plugins/ami/uninstall.rb
               create vendor/plugins/ami/lib
               create vendor/plugins/ami/lib/ami.rb
               invoke test_unit
               inside    vendor/plugins/ami
               create      test
               create      test/ami_test.rb
               create      test/test_helper.rb




copyright BNS MEDIA         Ruby on Rails - MVC
                                                  www.devcastzone.com   34
Bezpieczeostwo



       • Z obsługą formularzy i formatowania danych HTML związane jest sporo
       zagroż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 przed
       atakami SQL Injection.



copyright BNS MEDIA         Wprowadzenie do Rails
                                                www.devcastzone.com   35
Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails
– program pełnego szkolenia
      1.     Wprowadzenie do Języka Ruby
               o      Instalacja Języka Ruby - Linux                         o       Zmienne
               o      Instalacja Języka Ruby - Windows                       o       Zmienne Lokalne
               o      Uruchamianie Skryptów                                  o       Zmienne Obiektowe
               o      Tryb interaktywny                                      o       Zmienne Klasowe
               o      Prawda, Fałsz i Nic                                    o       Zmienne Globalne
               o      Literały Numeryczne                                    o       Stałe
               o      Łaocuchy                                               o       Metody
               o      Tablice                                                o       Nazwy Metod
               o      Tablice Asocjacyjne                                    o       Metody - Wywoływanie
               o      Symbole                                                o       Bloki
               o      Symbole a Łaocuchy                                     o       Obiekty
               o      Zakresy                                                o       Klasy
               o      Wyrażenia regularne                                    o       Klasy - Dziedziczenie
               o      Instrukcje Warunkowe                                   o       Klasy - Dziedziczenie
               o      Instrukcja Wyboru                                      o       Moduły
               o      Operatory Logiczne                                     o       Moduły - Przestrzeo nazw
               o      Pętle                                                  o       Require i Load
               o      Wyjątki                                                o       Rubygems
                                                                             o       Bundler


                                               Tworzenie aplikacji z użyciem biblioteki Hibernate
copyright BNS MEDIA
                                                               www.devcastzone.com                              36
Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails
– program pełnego szkolenia
      2.     Framework Ruby on Rails
               o      Oprogramowanie z opiniami
               o      Opinie
                         •   DRY
                         •   KISS
                         •   CoC
               o      Instalacja Ruby On Rails
               o      Generowanie projektu
               o      Tworzenie bazy danych
               o      Uruchamianie aplikacji
               o      Konsola
               o      Struktura Projektu
                         • App
                         • Config
                         • Inne
                         • Testy
               o      Wzorzec MVC
               o      Komponenty Rails
               o      Zadania Rake
               o      Generatory
                         • Standardowe
                         • Własne
               o      Pluginy
                         • Tworzenie.
                         • Generowanie
               o      Bezpieczeostwo


                                                  Tworzenie aplikacji z użyciem biblioteki Hibernate
copyright BNS MEDIA
                                                                  www.devcastzone.com                  37
Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails
– program pełnego szkolenia
      3. Wzorzec MVC
               o      Modele                                                  o       Kontrolery
               o      Konfiguracja Bazy Danych                                o       Generowanie
               o      Przykładowa Konfiguracja                                o       Kontrolery w architekturze REST
               o      Dostęp Do Bazy Danych                                   o       Routing i Obsługa Akcji HTTP
               o      Tworzenie modeli                                        o       Renderowanie HTML
               o      Migracje                                                o       Renderowanie XML, YAML, JSON
               o      Wzorzec projektowy ActiveRecord                         o       Kontrola dostępu
               o      Walidacje                                               o       Widoki
               o      Wywołanie Zwrotne (Callbacks)                           o       Szablony
                                                                                       •   aplikacji
               o      Powiązania(Associations)                                         •   akcji
               o      Arel                                                             •   częściowe

                        •   Podstawy                                          o       Formularze
                        •   Wyszukiwanie                                      o       Helpery DOM
                        •   Łączenie tabel. Relacje                           o       ActionMailer - obsługa poczty
               o      Zakresy - Scope
               o      Deklaratywne rozszerzanie
                      możliwości modeli

                                                Tworzenie aplikacji z użyciem biblioteki Hibernate
copyright BNS MEDIA
                                                                www.devcastzone.com                                     38
Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails
– program pełnego szkolenia
      4. Framework Ruby on Rails
               o      Rack.
               o      JQuery
               o      Shoulda
               o      RSpec
               o      Cucumber
               o      CoffeeScript
               o      Less
               o      Sass
               o      Alternatywne szablony
                      HTML
                       • Haml
                       • Markaby
                       • Liquid

                                     Tworzenie aplikacji z użyciem biblioteki Hibernate
copyright BNS MEDIA
                                                     www.devcastzone.com                  39
Wprowadzenie do C# i platformy .NET
            http://www.devcastzone.com/course,wprowadzenie-do-c-i-
                                platformy-net

                                  Zapraszamy



                            Tworzenie aplikacji z użyciem biblioteki Hibernate
copyright BNS MEDIA
                                            www.devcastzone.com                  40

Weitere ähnliche Inhalte

Andere mochten auch (6)

Przetestuj swoje CV
Przetestuj swoje CVPrzetestuj swoje CV
Przetestuj swoje CV
 
Matryca śledzenia - Traceability Matrix
Matryca śledzenia - Traceability MatrixMatryca śledzenia - Traceability Matrix
Matryca śledzenia - Traceability Matrix
 
Grywalizacja (gamification) w testowaniu
Grywalizacja (gamification) w testowaniuGrywalizacja (gamification) w testowaniu
Grywalizacja (gamification) w testowaniu
 
JavaStart - kurs Java Podstawy
JavaStart - kurs Java PodstawyJavaStart - kurs Java Podstawy
JavaStart - kurs Java Podstawy
 
Tester.pl - Numer 4
Tester.pl - Numer 4Tester.pl - Numer 4
Tester.pl - Numer 4
 
ISTQB REX BLACK book
ISTQB REX BLACK bookISTQB REX BLACK book
ISTQB REX BLACK book
 

Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails

  • 1. Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails Materiały pochodzą ze strony: www.devcastzone.com copyright BNS MEDIA www.devcastzone.com
  • 2. Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails Moduł 2 Framework Ruby on Rails copyright BNS MEDIA www.devcastzone.com
  • 3. Treśd modułu •Oprogramowanie z opiniami •Wzorzec MVC •Opinie •Komponenty Rails • DRY •Zadania Rake • KISS •Generatory • CoC • Standardowe •Instalacja Ruby On Rails • Własne •Generowanie projektu •Pluginy •Tworzenie bazy danych • Tworzenie. •Uruchamianie aplikacji • Generowanie •Konsola •Bezpieczeństwo •Struktura Projektu • App • Config • Inne • Testy copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 3
  • 4. Podstawowe Informacje • Framework Ruby on Rails jest zestawem bibliotek opartym o język Ruby. • Najnowszą wersją jest Rails 3.1, jednak ciągle bardzo popularna jest wersja 2.3. • Szkolenie oparte jest o wersję 3.1. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 4
  • 5. Oprogramowanie z opiniami Ruby On Rails jest przykładem tak zwanego „opinionated software”. • 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 (dawniej prototype.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ą z bibliotek podmienić (np. ActiveRecord na DataMapper, ERB na haml, czy Test:Unit na Rspec). copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 5
  • 6. Opinie - DRY Nie Powtarzaj Się [DRY – Don’t Repeat Yourself]. • 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). copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 6
  • 7. Opinie - KISS Nie Komplikuj Głupcze! [KISS! – Keep It Simple Stupid!]. • Należy tworzyć oprogramowanie tak proste jak się da (ale nie prostsze!). • Framework powinien dostarczać wszystkich podstawowych narzędzi do pracy. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 7
  • 8. Opinie - CoC Konwencja Ponad Konfigurację [CoC – Convention over Configuration]. • 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 na podstawie struktury bazy danych. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 8
  • 9. Instalacja Ruby On Rails rvm --create 1.9.2@szachy # Tylko w systemie Linux • Instalacja Ruby on Rails sprowadza się do jednego polecenia. gem install rails $ gem install rails Fetching: 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.21 Successfully installed rails-3.1.1 30 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... • Framework Ruby on Rails instaluje ponad 30 bibliotek. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 9
  • 10. Generowanie projektu • W Ruby On Rails istotną rolę odgrywają generatory kodu. • Generatory pozwalają na szybkie stworzenie szkieletu aplikacji. $ rails new szachy Create create README create Rakefile create config.ru create .gitignore create Gemfile create app create app/assets/images/rails.png create app/assets/javascripts/application.js create config ... CIACH ... create config/database.yml create db create vendor/plugins/.gitkeep run bundle install copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 10
  • 11. Tworzenie bazy danych • Rails po utworzeniu projektu domyślnie konfiguruje bazy danych w oparciu o silnik SQLite. • By utworzyć bazy danych korzystamy z zadania rake. rake db:setup • Polecenie rake db:setup tworzy bazę danych dla środowiska deweloperskiego i testowego. Ładuje schemat, oraz inicjalizuje ją danymi z pliku db/seed.rb. • Dla świeżego projektu jest ono praktycznie identyczne z rake db:create. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 11
  • 12. Uruchamianie aplikacji • Aplikacja Ruby on Rails posiada wbudowany prosty serwer www uruchamiany poprzez: rails server • Serwer standardowo uruchamia się na porcie 3000. Przykład działania można obejrzeć 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). copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 12
  • 13. Konsola • Ruby on Rails dostarcza swoją własną rozszerzoną wersję konsoli irb. • Po uruchomieniu jej poleceniem: rails c otrzymujemy dostęp do pełnego środowiska Ruby on Rails. • Ruby on Rails udostępnia także skrót do konsoli bazy danych: rails db copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 13
  • 14. Struktura Projektu $ tree -d app # Główny katalog aplikacji. Zawiera kod oraz zasoby aplikacji. assets # Zasoby aplikacji (javascript, obrazki, style) controllers # Kontrolery helpers # Moduły pomocnicze mailers # Klasy pocztowe models # Modele views # 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 migracji doc # Pliki dokumentacji projektu. lib # Biblioteki pomocnicze projektu assets # 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 testowe functional # 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 copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 14
  • 15. Struktura Projektu - App 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 jest przetworzenie danych przygotowanych przez kontroler na plik HTML. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 15
  • 16. Struktura Projektu - Config • environments - zawiera pliki Ruby definiujące zachowanie aplikacji w różnych środowiskach. Standardowo zdefiniowane są 3 środowiska: development, test oraz production. • initializers - pliki Ruby zawierające kod, który zostanie wykonany w momencie startu aplikacji. • 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. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 16
  • 17. Struktura Projektu - Inne • db - katalog zawierający bazy danych użyte w projekcie.  migrations - pliki migracji pozwalające na synchronizację struktury bazy danych pomię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 inne zasoby. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 17
  • 18. Struktura Projektu - Inne • doc - katalog z dokumentacją projektu. Może być generowana poprzez rake rdoc. • 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. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 18
  • 19. Struktura Projektu - Testy • fixtures - dane dla testów; mogą być w kilku formatach (rb, yml). Ładowane są 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 integracji aplikacji 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 klas pomocniczych. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 19
  • 20. Wzorzec MVC copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 20
  • 21. Wzorzec MVC 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 za stronę wizualną oraz analityków i programistów odpowiedzialnych za logikę biznesową aplikacji. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 21
  • 22. Wzorzec MVC Model (M - Model) • Odpowiedzialny za komunikację z bazą danych (niekoniecznie relacyjną). • Obsługę logiki biznesowej aplikacji. • Obecnie zalecanym stylem pracy w Rails jest Gruby Model - Chudy Kontroler. • Największa porcja kodu powinna przebywać w modelach. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 22
  • 23. Wzorzec MVC Kontroler (C - Controller) Odpowiedzialny za: • Obsługę akcji użytkownika. • Przekazywanie użytkownikowi danych z modelu. • Obsługę formatów danych. • Autentykację oraz Autoryzację. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 23
  • 24. Wzorzec MVC Widok (V - View) • Odpowiedzialny jest za formatowanie i serializację danych. • Nie powinien nie zawierać logiki biznesowej. • Wszelkie pobieranie oraz przetwarzanie danych powinno odbywać się w kontrolerze. • Może formatować dane zarówno do plików html, jak i innych formatów. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 24
  • 25. Komponenty Rails • 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ący wspó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 Ruby wykorzystywanych przez pozostałe moduły Rails. • Railties - bazowy kod Rails, zawierający generatory oraz spoinę łączącą wszystkie pozostałe moduły frameworku. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 25
  • 26. Zadania Rake • 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 pliku config/database.yml.  rake db:drop - niszczy bazę danych.  rake db:setup - tworzy bazę danych, po czym ładuje schemat bazy danych 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. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 26
  • 27. Zadania Rake • 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 na sprawdzenie 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 do sesji przechowywanych w ciasteczkach. • rake doc:app - generuje dokumentację aplikacji. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 27
  • 28. Generatory • Generatory uruchamiamy poprzez wywołanie polecenia • rails g NazwaGeneratora parametry:generatora • Listę generatorów otrzymamy po wykonaniu polecenia rails g • Pomoc dla każdego z generatorów otrzymamy poleceniem rails g generator -h • • Szczególnym generatorem jest generator generatorów, pozwalający nam na stworzenie swoich własnych generatorów. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 28
  • 29. Standardowe Generatory • Podstawowe generatory rails pozwalają na generowanie: • modeli - pozwala na generowanie modeli oraz migracji. rails g model Pozycja x:integer y:integer • kontrolerów - generuje kontrolery oraz widoki. rails g controller Positions show index • migracji - migracje zmieniają schemat bazy danych. rails g migration AddZToPoszycja z:integer • moduły pomocnicze - generuje helpery. Jako parametr przyjmuje nazwę modułu rails g controller Positions • testy – testy wydajnościowe i integracyjne możemy wygenerować wywołując rails g performance_test Nazwa rails g integration_test Nazwa copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 29
  • 30. Standardowe Generatory 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 tworzenie modelu. Nazwa istniejącego modelu misi zostać podana jako parametr. • session_migration - generuje migrację umieszczającą specjalną tabelę do przetrzymywania sesji w bazie danych. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 30
  • 31. Własne Generatory • Ruby on Rails pozwala na tworzenie własnych generatorów. rails g generator logo • Generatory automatyzują proces tworzenia zasobów. Redukując czas potrzebny 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. chroni przed 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. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 31
  • 32. Pluginy • 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ątrz pliku 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 copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 32
  • 33. Pluginy - Tworzenie • Pluginy możemy tworzyć przy pomocy generatorów. rails g plugin pretty_form • 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. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 33
  • 34. Pluginy - Generowanie $ rails g plugin ami create vendor/plugins/ami create vendor/plugins/ami/MIT-LICENSE create vendor/plugins/ami/README create vendor/plugins/ami/Rakefile create vendor/plugins/ami/init.rb create vendor/plugins/ami/install.rb create vendor/plugins/ami/uninstall.rb create vendor/plugins/ami/lib create vendor/plugins/ami/lib/ami.rb invoke test_unit inside vendor/plugins/ami create test create test/ami_test.rb create test/test_helper.rb copyright BNS MEDIA Ruby on Rails - MVC www.devcastzone.com 34
  • 35. Bezpieczeostwo • Z obsługą formularzy i formatowania danych HTML związane jest sporo zagroż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 przed atakami SQL Injection. copyright BNS MEDIA Wprowadzenie do Rails www.devcastzone.com 35
  • 36. Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails – program pełnego szkolenia 1. Wprowadzenie do Języka Ruby o Instalacja Języka Ruby - Linux o Zmienne o Instalacja Języka Ruby - Windows o Zmienne Lokalne o Uruchamianie Skryptów o Zmienne Obiektowe o Tryb interaktywny o Zmienne Klasowe o Prawda, Fałsz i Nic o Zmienne Globalne o Literały Numeryczne o Stałe o Łaocuchy o Metody o Tablice o Nazwy Metod o Tablice Asocjacyjne o Metody - Wywoływanie o Symbole o Bloki o Symbole a Łaocuchy o Obiekty o Zakresy o Klasy o Wyrażenia regularne o Klasy - Dziedziczenie o Instrukcje Warunkowe o Klasy - Dziedziczenie o Instrukcja Wyboru o Moduły o Operatory Logiczne o Moduły - Przestrzeo nazw o Pętle o Require i Load o Wyjątki o Rubygems o Bundler Tworzenie aplikacji z użyciem biblioteki Hibernate copyright BNS MEDIA www.devcastzone.com 36
  • 37. Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails – program pełnego szkolenia 2. Framework Ruby on Rails o Oprogramowanie z opiniami o Opinie • DRY • KISS • CoC o Instalacja Ruby On Rails o Generowanie projektu o Tworzenie bazy danych o Uruchamianie aplikacji o Konsola o Struktura Projektu • App • Config • Inne • Testy o Wzorzec MVC o Komponenty Rails o Zadania Rake o Generatory • Standardowe • Własne o Pluginy • Tworzenie. • Generowanie o Bezpieczeostwo Tworzenie aplikacji z użyciem biblioteki Hibernate copyright BNS MEDIA www.devcastzone.com 37
  • 38. Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails – program pełnego szkolenia 3. Wzorzec MVC o Modele o Kontrolery o Konfiguracja Bazy Danych o Generowanie o Przykładowa Konfiguracja o Kontrolery w architekturze REST o Dostęp Do Bazy Danych o Routing i Obsługa Akcji HTTP o Tworzenie modeli o Renderowanie HTML o Migracje o Renderowanie XML, YAML, JSON o Wzorzec projektowy ActiveRecord o Kontrola dostępu o Walidacje o Widoki o Wywołanie Zwrotne (Callbacks) o Szablony • aplikacji o Powiązania(Associations) • akcji o Arel • częściowe • Podstawy o Formularze • Wyszukiwanie o Helpery DOM • Łączenie tabel. Relacje o ActionMailer - obsługa poczty o Zakresy - Scope o Deklaratywne rozszerzanie możliwości modeli Tworzenie aplikacji z użyciem biblioteki Hibernate copyright BNS MEDIA www.devcastzone.com 38
  • 39. Tworzenie aplikacji internetowych z wykorzystaniem Ruby on Rails – program pełnego szkolenia 4. Framework Ruby on Rails o Rack. o JQuery o Shoulda o RSpec o Cucumber o CoffeeScript o Less o Sass o Alternatywne szablony HTML • Haml • Markaby • Liquid Tworzenie aplikacji z użyciem biblioteki Hibernate copyright BNS MEDIA www.devcastzone.com 39
  • 40. Wprowadzenie do C# i platformy .NET http://www.devcastzone.com/course,wprowadzenie-do-c-i- platformy-net Zapraszamy Tworzenie aplikacji z użyciem biblioteki Hibernate copyright BNS MEDIA www.devcastzone.com 40