Adresaci szkolenia

Kurs skierowany do osób mających już doświadczenie w Ruby i Ruby on Rails chcących poznać bardziej zaawansowane techniki umożliwiające im tworzenie wydajniejszych i bardziej rozbudowanych aplikacji.

Cel szkolenia

Głównym celem szkolenia jest zaznajomienie słuchaczy z ciekawszymi aspektami tworzenia rozbudowanych aplikacji Ruby on Rails. Po ukończeniu kursu uczestnik:

  • pogłębi swoją wiedzę o języku Ruby i budowie frameworka Ruby on Rails
  • będzie potrafił tworzyć własne gemy i DSLe (języki dziedzinowe)
  • wykorzysta bardziej zaawansowane cechy bazy PostgreSQL
  • pozna Railsowe podejście do mikroserwisów
  • będzie w stanie zidentyfikować przyczyny najczęstszych problemów wydajnościowych
  • pozna różne sposoby na przenoszenie zadań w tło, włącznie z elementami infrastuktury Amazon (SQS, SNS)
  • nauczy się integrować Rubyego z innymi językami (C, Java)

Mocne strony szkolenia

Kursant po ukończeniu szkolenia znacząco pogłębi swoją wiedzę o języku Ruby i frameworku Ruby on Rails. Będzie też przygotowany na wyzwania napotykane przy tworzeniu dużych i wydajnych aplikacji.

Wymagania

Wymagana jest znajomość języka Ruby i frameworka Ruby on Rails, a także co najmniej podstawowa znajomość bazy danych PostgreSQL.

Parametry szkolenia

2 dni * 8 godzin. Forma: wykłady, ćwiczenia i warsztaty. Maksymalna liczba uczestników: 8

Program szkolenia

  1. Wprowadzenie
  2. Metaprogramowanie
    • Method missing
    • Aliasowanie metod
    • Dynamiczne generowanie kodu
  3. Kod w bazie danych
    • Środki ostrożności
    • JSON trzymany w bazie
  4. DSL
    • Przykłady
    • Pisanie własnych Rake’ów
    • Pisanie własnego DSLa w Ruby
  5. Bundler
    • Tworzenie własnych gemów
    • Gemy jako engine’y
    • Testowanie engine’ów
  6. Tworzenie mikroserwisów przy użyciu Sinatry i Ruby on Rails
    • Koncepcje tworzenia mikroserwisów
    • Podejście REST
    • Mikroserwisy w sinatrze
    • Mikroserwis z gemu (engine)
    • Tworzenie aplikacji udostępniającej czyste API
    • Montowanie aplikacji (Rails / Sinatra) wewnątrz innej aplikacji
  7. Zaawansowane wykorzystanie bazy danych PostgreSQL
    • Instrukcje EXPLAIN i EXPLAIN ANALYZE
    • Geolokalizacja i wyznaczanie odległości
    • Struktury danych PostgreSQL w Railsach
    • Indeksy GIN i GIST (w tym indeksacja struktur danych)
    • Indeksy trigram do przeszukiwania tekstu (na przykładzie livesearcha)
  8. Problemy wydajnościowe Ruby on Rails
    • Identyfikacja wąskiego gardła
    • Cache’owanie
    • Wykorzystanie Redisa
    • Zaawansowane profilowanie aplikacji
  9. Przenoszenie elementów w tło
    • Wielowątkowość
    • Sidekiq / Resque
    • SQS i SNS
    • Workery w innych językach
  10. Ruby i Java
    • JRuby
    • Wywoływanie kodu Javy z wewnątrz Ruby’ego
    • Ruby Java Bridge
  11. CRuby
    • Wstawki w języku C
  12. Dbanie o jakość kodu
    • Rubocop
  13. Podsumowanie

Pytania?

* Wymagane.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email