Szkolenie: Zaawansowane techniki w Ruby on RailsRails Advanced

Dostępne na zamówienie dla grup.

Żaden termin nie pasuje? Zaproponuj własny termin szkolenia

Tryb zdalny: online na żywo z trenerem i grupą. Zobacz więcej o kursach zdalnych i zakł. "Terminy".
Można: zrezygnować do 15 dni przed startem; w każdej chwili przejść z trybu "na sali" na zdalny.
Dostępne na zamówienie, w terminie i lokalizacji do uzgodnienia, dla grup od 4 osób.

cena netto
dla podmiotów publicznych - zwolnione z VAT

Cena szkolenia: 3490 PLN

poczęstunek w cenie

stanowisko komputerowe w cenie

Kategorie: Ruby on Rails, Go, Perl, Ruby, Erlang, inne języki programowania

Język programowania Ruby został stworzony przez Yukihiro Matsumoto (Matz) i opublikowany po raz pierwszy w 1995 roku. Jest bardzo nowoczesnym, interpretowanym językiem programowania dostępnym na wiele platform. Jest w pełni obiektowym językiem, który zaczerpnął wiele swoich właściwości z języka Smalltalk. Ruby on Rails jest zaawansowanym środowiskiem (frameworkiem), który umożliwia szybkie i bezstresowe tworzenie efektownych, skomplikowanych i zaawansowanych serwisów / aplikacji internetowych (stron WWW).

Podczas kursu przedstawione zostaną zaawansowane techniki programistyczne języka Ruby, takie jak metaprogramowanie (technika pozwalające na automatyczne generowanie kodu aplikacji w czasie rzeczywistym), metody podczepiane (pozwalające aplikacji ingerować w bieżące wykonywanie kodu interpretera Ruby) i inne rozwiązania pozwalające na tworzenie bardzo elastycznego i eleganckiego kodu. Pokrótce omówione zostaną dobre praktyki programowania obiektowego w języku Ruby. Zaprezentowane zostaną przykłady wykorzystania tych technik na przykładzie samego środowiska Ruby on Rails.

Uczestnicy poznają wiele zaawansowanych mechanizmów programowania z wykorzystaniem środowiska Ruby on Rails. Największy nacisk położony będzie na tajniki technik TDD i tworzenia testów aplikacji, sposób optymalizacji działania aplikacji poprzez zaawansowane wykorzystanie cache na różnych poziomach przetwarzania danych oraz na tworzenie interaktywnych aplikacji i wymianę informacji w czasie rzeczywistym. Oprócz tego szczegółowo przedstawione zostaną metody przenoszenia zadań do wykonania w tle, omówiony zostanie również wprowadzony w Rails 3.1 asset pipeline – czyli nowy sposób zarządzania stylami i skryptami Javascript w obrębie aplikacji.

Czas trwania

3 dni

Program

  1. Zaawansowane programowanie w Ruby
    • Programowanie obiektowe
      • wykorzystanie modułów (modules) i mixinów (mixins)
      • zaawansowane wykorzystywanie domknięć (closure) – blocki, procedury i lambdy
    • Metaprogramowanie w Ruby
      • tworzenie metod przy użyciu define_method
      • interpretowanie kodu poprzez eval, instance_eval i class_eval
    • Metody podczepiane (hook methods)
      • śledzenie wywołań (method_added, inherited, included, extended i inne)
      • wykorzystanie method_missing i const_missing
  2. Zaawansowane techniki w Ruby on Rails
    • dobre praktyki przy projektowaniu logiki modeli
    • asocjacje polimorficzne, has_and_belongs_to_many i inne
    • standardowa serializacja danych oraz hstore (PostgreSQL)
    • asset pipeline i skomplikowane widoki
    • zadania w tle
      • kwalifikowanie zadań do wykonania w tle
      • kiedy uruchamiać pełne środowisko aplikacji do obsługi zadań, alternatywne metody
      • przegląd dostępnych bibliotek i technik (resque, beanstalkd, inne)
    • najlepsze praktyki przy tworzeniu REST API
    • Profilowanie aplikacji, poszukiwanie wąskich gardeł
      • MiniProfiler
      • Bullet
      • NewRelic
    • tworzenie bibliotek (Gemów) i silników (Engines)
  3. Efektywne testowanie kodu i praktyki TDD
    • Najlepsze praktyki
    • Refactorowanie kodu
    • Guard, RSpec, MiniTest, Cucumber, FactoryGirl
  4. Wymiana informacji przez aplikację w czasie rzeczywistym
    • przegląd dostępnych technik: long pulling, websockety, streaming
    • ActionController::Live (Rails 4)
    • Serwer komunikatów Faye
  5. Cache w aplikacjach Rails – zaawansowane techniki
    • cache stron (page caching)
    • cache akcji i fragmentów
    • cacheowanie danych z dowolnego elementu aplikacji
    • dezaktualizowanie cache (Sweepers, Observers)
    • automatyczna dezaktualizacja na podstawie sprytnych kluczy

Pobierz w wersji PDF

Training also available in English - for more information see here.

Przeznaczenie i wymagania

Program szkolenia zakłada znajomość programowania w języku Ruby oraz co najmniej podstawową znajomość środowiska Ruby on Rails. Uczestnik kursu powinien potrafić samodzielnie stworzyć prostą aplikację w środowisku Ruby on Rails. Konieczna jest również dobra znajomość technologi powiązanych z tworzeniem stron WWW oraz co najmniej podstawowa znajomość CSS, języka Javascript oraz biblioteki JQuery.

Dla osób bez żadnego doświadczenia ze środowiskiem Rails bardziej odpowiednie będzie szkolenie Aplikacje internetowe w Ruby on Rails, które od podstaw wprowadzi uczestnika w świat frameworka. Poniżej znajduje się podsumowanie wymagań/zaleceń co do wstępnej wiedzy i umiejętności uczestników.

  • solidna znajomość podstaw programowania w języku Ruby
  • ogólna znajomość programowania w środowisku Ruby on Rails (zalecana conajmniej wersja 3.x)
  • swobodna praca w środowisku terminalowym (powłoki) systemu Linux/BSD/OSX
  • rozumienie protokołu HTTP oraz powiązanych zagadnień
  • znajomość SQL i podstawowych zagadnień bazy danych MySQL lub Postgres
  • dobra znajomość HTML i CSS
  • podstawowa znajomość języka Javascript oraz biblioteki JQuery

Certyfikaty

Uczestnicy otrzymują certyfikaty ukończenia kursu sygnowane przez ALX. Każdy uczestnik po zakończeniu szkolenia będzie posiadał następujące umiejętności / wiedzę:

  • tworzenie skomplikowanych i zaawansowanych aplikacji WWW
  • zaawansowane techniki programistyczne w języku Ruby
  • tworzenia zaawansowanej logiki aplikacji przez relacje ActiveRecord
  • zaawansowane techniki optymalizacji wydajności aplikacji
  • umiejętność wyszukiwania problemów i wąskich gardeł w działaniu aplikacji
  • znajomość technik TDD i umiejętność tworzenia efektywnych testów dla aplikacji
  • umiejętność tworzenia własnych biblitek (Gemów)
  • umiejętność łączenia różnych aplikacji poprzez wykorzystanie silników (Engines)
  • znajomość mechanizmów przenoszenia zadań do wykonania w tle
  • umiejętność efektywnego organizowania stylów i kodu Javascript w obrębie aplikacji Rails

Obecnie brak terminów
Podaj swój adres e-mail, a my powiadomimy Cię o przyszłych terminach