Zaawansowane Ruby i Ruby on Rails

Czas trwania szkolenia:2 dni (16h)

Kod kursu:RAILS/ADV

Poziom zaawansowania:
rubyweb-applicationruby-on-railspostgresql

Szkolenie na zamówienie

Szkolenie dostosowane do potrzeb Twojego zespołu.
Dostępne wyłącznie na zamówienie

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Icon with laptop

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

Dla kogo?

  • 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

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
  • Kameralne grupy - szkolenia technologiczne prowadzimy w grupach liczących do 8 osób. Pozwala to na indywidualne podejście oraz aktywizację każdego uczestnika
  • 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

Podsumowanie

Podobne szkolenia