Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

Kod: RoR-Rails
Kategoria: Ruby on Rails
Forma: 30% wykłady / 70% warsztaty
Czas trwania: 4
Grupa docelowa: developerzy

Podczas tego szkolenia uczestnicy dowiedzą się, w jaki sposób szybko tworzyć wysokiej jakości aplikacje webowe w oparciu o technologię Ruby on Rails.

Poznają oni kluczowe możliwości najnowszej wersji Rails - 3.2, jak również elementy języka Ruby w wersji 1.9 i nauczą się, jak wykorzystać tę wiedzę do tworzenia aplikacji, krok po kroku - od idei do wdrożenia.

W oparciu o tworzoną od podstaw aplikację uczestnicy poznają najważniejsze cechy tej technologii.

Szkolenie ma formę wykładów zakończonych warsztatami, główny nacisk położony jest na ćwiczenia praktyczne.

W procesie tworzenia projektu przedstawione zostaną elementy zwinnych (agile) metod tworzenia oprogramowania oraz praktyk takich jak refaktoring, DRY i innych.

Wyróżniki szkolenia

Podczas zajęć możesz oczekiwać szczególnych akcentów położonych na poniższe aspekty:

  • Nauka poprzez ćwiczenia praktyczne
  • Poznanie pełnego procesu wytwarzania oprogramowania w oparciu o metodyki zwinne (TDD, BDD, automatyzacja)
  • Zawiera elementy Domain Driven Design
  • Poznanie narzędzi i bibliotek, które są obecnie na preferowane przez programistów Ruby on Rails
  • Szybkie tworzenie w pełni testowalnych aplikacji internetowych

Program Szkolenia

Pobierz program w formacie PDF
  1. Wstęp
    1. Środowisko Developerskie
      1. Instalacja - Windows
      2. Instalacja - Linux
      3. RubyMine IDE
  2. Aplikacje webowe
    1. Lightweight vs enterprise
  3. Zwinne projektowanie
    1. Podejście Agile
    2. User Story
    3. Interakcja z klientem
    4. Automatyzacja testów
      1. Jednostkowe
      2. end2end
    5. Zwinne modelowanie
      1. Elementy Domain Driven Design
          Bulding Blocks
  4. Język Ruby
    1. Filozofia
    2. Różnice pomiędzy dynamicznie a statycznie typowanymi językami programowania
    3. Podstawowe konstrukcje języka (Metody, Klasy, Moduły, Bloki, Sterowanie, Wyrażenia regularne, Yield)
    4. Podstawowe typy (Teksty, Liczby, Tablice, Mapy)
    5. Programowanie zorientowane obiektowo
    6. Metaprogramowanie
    7. Podejście funkcyjne
    8. Idiomy języka Ruby
    9. Wzorce
      1. Wzorce zawarte w składni
      2. Best practices
  5. Framework Rails
    1. Podstawy
      1. Architektura aplikacji
      2. Architektura Model View Controler
      3. RESTful
      4. Rails Models and Action Pack
    2. Pierwsza aplikacja
      1. Komendy linii poleceń
      2. Generatory (scaffolding)
      3. Zasada "konwencja ponad konfiguracją"
    3. Model
      1. Rails ActiveRecord
      2. Zarzadzanie schematem bazy danych przy pomocy migracji
      3. ORM - walidacja, callbacki
      4. Zasięgi (scope)
      5. Techniki optymalizacyjne
      6. Zasady designu obiektowego
          EnkapsulacjaDRYLow CouplingHigh Cohesion
    4. Widoki
      1. Rails ActionView
      2. Layouty, partiale, helpery
      3. Formularze
      4. HTML (silnik szablonów: ERB/ HAML - do wyboru)
      5. CSS (Sass)
      6. Javascript
          JQuery
      7. Coffeescript
          AjaxWydajność
      8. Best Practices
    5. Kontrolery
      1. Rails ActionController
      2. Wzorce Decorator/Presenter i Facade
      3. Zasada 'skinny controller, fat model'
      4. Obsługa różnych formatów (xml, json, csv, pdf)
    6. Routing
      1. RESTful urls
      2. Tworzenie zdalnego API
    7. Rozsyłanie maili
      1. Rails ActionMailer
    8. Zadania w tle
      1. delayed_job
    9. Autentykacja i bezpieczeństwo
      1. Bezpieczne mechanizmy Rails
      2. Zarządzanie użytkownikami przy pomocy devise
      3. Kontrolowanie dostępu
    10. Narzędzia
      1. assets pipeline - kompilator statycznych zasobów
      2. Bundler - zarządzanie zależnościami
      3. Rake - automatyzacja procesu budowania
  6. Testowanie
    1. Testowanie jednostkowe
      1. Zalety testowania w izolacji
      2. Podstawowe pojęcia i techniki
      3. Test-Driven Development
          Narzędzia wspomagające TDD: guard, spork
      4. Testowanie JavaScript
    2. RSpec
      1. Testowanie modeli
      2. Testowanie kontrolerów
      3. Testowanie widoków
      4. Testowanie route'ów
      5. Przygotowanie stanu (fixture, factory)
      6. Mockowanie
    3. Testowanie integracyjne/akceptacyjne
      1. Metodyka Behavior-Driven Development
          Technika modelowania wymagań poprzez User Story
      2. Scenariusze akceptacyjne
      3. Współpraca z Ekspertem Domenowym
      4. Cucumber - narzędzie wspierające BDD
          Produktywne techniki tworzenia scenariuszy
      5. Capybara - testowanie przez warstwę prezentacji
          Pułapki i najlepsze praktyki tworzenia testowalnych widoków
  7. Deployment i automatyzacja
    1. Deployment w chmurze
      1. Heroku
    2. Własny server
      1. capistrano
    3. Zaawansowana automatyzacja
      1. Developerskie środowisko proukcyjne
      2. VirtualBox, Vagrant, Chef
    4. Continuous integration
  8. Wskazówki praktyczne
    1. Zasady S.O.L.I.D. w praktyce
    2. Pułapki wydajności
    3. Bezpieczeństwo

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Zapytaj o szkolenie

Imię i nazwisko:
Firma:
E-mail/Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń