Zaawansowane Ruby i Ruby on Rails
Czas trwania szkolenia:2 dni (16h)
Kod kursu:RAILS/ADV
Poziom zaawansowania:
Szkolenie na zamówienie
Szkolenie dostosowane do potrzeb Twojego zespołu. Dostępne wyłącznie na zamówienie.
- Dostosowany program
- Indywidualna wycena
- Dowolny termin
O szkoleniu Zaawansowane Ruby i Ruby on Rails
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Wymagania
- Wymagana jest znajomość języka Ruby i frameworka Ruby on Rails, a także co najmniej podstawowa znajomość bazy danych PostgreSQL
Zalety
- 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
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Zaznajomienie słuchaczy z ciekawszymi aspektami tworzenia rozbudowanych aplikacji Ruby on Rails
- Nauka tworzenia własnych gemów i DSLi (języki dziedzinowe)
- Wykorzystanie bardziej zaawansowanych cech bazy PostgreSQL
- Poznanie podejścia Rails do mikroserwisów
- Nabycie umiejętności identyfikowania przyczyny najczęstszych problemów wydajnościowych
- Poznanie różnych sposobów na przenoszenie zadań w tło, włącznie z elementami infrastruktury Amazon (SQS, SNS)
- Nauka integrowania Ruby z innymi językami (C, Java)
Program
Wprowadzenie
Metaprogramowanie
- Method missing
- Aliasowanie metod
- Dynamiczne generowanie kodu
Kod w bazie danych
- Środki ostrożności
- JSON trzymany w bazie
DSL
- Przykłady
- Pisanie własnych Rake’ów
- Pisanie własnego DSLa w Ruby
Bundler
- Tworzenie własnych gemów
- Gemy jako engine
- Testowanie enginów
Tworzenie mikroserwisów przy użyciu Sinatra i Ruby on Rails
- Koncepcje tworzenia mikroserwisów
- Podejście REST
- Mikroserwisy w Sinatra
- Mikroserwis z gemu (engine)
- Tworzenie aplikacji udostępniającej czyste API
- Montowanie aplikacji (Rails/Sinatra) wewnątrz innej aplikacji
Zaawansowane wykorzystanie bazy danych PostgreSQL
- Instrukcje EXPLAIN i EXPLAIN ANALYZE
- Geolokalizacja i wyznaczanie odległości
- Struktury danych PostgreSQL w Rails
- Indeksy GIN i GIST (w tym indeksacja struktur danych)
- Indeksy trigram do przeszukiwania tekstu (na przykładzie livesearch)
Problemy wydajnościowe Ruby on Rails
- Identyfikacja wąskiego gardła
- Cache
- Wykorzystanie Redisa
- Zaawansowane profilowanie aplikacji
Przenoszenie elementów w tło
- Wielowątkowość
- Sidekiq/Resque
- SQS i SNS
- Workery w innych językach
Ruby i Java
- JRuby
- Wywoływanie kodu Javy z wewnątrz Ruby
- Ruby Java Bridge
CRuby
- Wstawki w języku C
Dbanie o jakość kodu
- RuboCop