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
- 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
- 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)
- Efektywne testowanie kodu i praktyki TDD
- Najlepsze praktyki
- Refactorowanie kodu
- Guard, RSpec, MiniTest, Cucumber, FactoryGirl
- Wymiana informacji przez aplikację w czasie rzeczywistym
- przegląd dostępnych technik: long pulling, websockety, streaming
- ActionController::Live (Rails 4)
- Serwer komunikatów Faye
- 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
Lokalizacja
Zajęcia realizujemy zdalnie w trybie "wirtualnej klasy" oraz stacjonarnie w naszych salach komputerowych (adresy).
Tryby zdalne - Wirtualna Klasa, na żywo z trenerem
Forma zajęć w trybie zdalnym (wideokonferencyjnym, "wirtualna klasa") wygląda analogicznie jak zajęcia realizowane w naszym standardowym trybie - tylko bez wychodzenia z domu lub firmy. Nie ma tutaj filmów (gotowych nagrań) do oglądania, jest trener na żywo, który cały czas prowadzi zajęcia, opowiada, na bieżąco reaguje i ma kontakt z grupą. Zajęcia są prowadzone przez tych samych trenerów, którzy prowadzą kursy "stacjonarne" według tego samego programu.
Uczestnicy mogą liczyć na pomoc trenera, ale też mają kontakt z innymi kursantami - dokładnie tak samo, jak na kursach stacjonarnych. Dużą uwagę poświęcamy temu, aby w jak największym stopniu zachować warsztatowy charakter naszych zajęć.
W praktyce szkolenie wygląda tak, że kursant otrzymuje zaproszenie z linkiem, po kliknięciu którego połączy się z nami zdalnie przy użyciu specjalistycznego systemu telekonferencyjnego, tworząc "wirtualną klasę". Kursant będzie widział prowadzącego, oraz będzie miał obraz z rzutnika. Czas szkolenia będzie taki sam jak w naszej sali szkoleniowej. Podczas zajęć, oprócz wizji, fonii, będzie dostęp do czatu tekstowego (z trenerem i z grupą - innymi uczestnikami), jest możliwość przekazywania sobie plików/załączników, pokazywania fragmentów kodu (w przypadku szkoleń z programowania), zadawania pytań, otrzymywania poprawek itp. Na prośbę uczestnika, prowadzący może również uzyskać dostęp do całości ekranu i kursora komputera kursanta ("przejęcie myszy i klawiatury"), do okna z formułami czy do pola z komendami, a w przypadku szkoleń programistycznych do okna z kodem - aby poprawić fragment programu, skomentować, czy zwyczajnie pokazać jak wykonać daną czynność.
W zdalnych trybach jest dokładnie tyle samo godzin zajęć - i zajęcia odbywają się w takich samych godzinach jak zajęcia stacjonarne.
Po zakończeniu kursu otrzymają Państwo ten sam certyfikat (bez względu na formę zajęć), a trener będzie dostępny po zakończeniu bloku szkoleniowego, żeby odpowiedzieć na wszelkie dodatkowe pytania. Pełne informacje o tym jak wyglądają oraz jak prowadzimy szkolenia w trybach zdalnych dostępne są na stronie: kursy zdalne (online).
Tryby zajęć stacjonarnych
Dostępne są terminy weekendowe (zaoczne - soboty i niedziele), dzienne (w tygodniu) oraz wieczorowe (w tygodniu w godzinach 18:00 - 20:30).
Lokalizacje
- Zdalnie –
- Warszawa – ul. Jasna 14/16A
- Kraków – ul. św. Filipa 23
- Katowice – ul. Stawowa 10
- Gdańsk – ul. Toruńska 12
- Poznań – ul. Towarowa 35
- Wrocław – ul. Rynek 35
- Łódź – ul. Wólczańska 4a
- Online (EN) – your home, office or wherever you want
- Warsaw (EN) – Jasna 14/16A
- na życzenie dowolne miejsce w Polsce, lub UE (zajęcia prowadzone w języku angielskim)
Godziny szkolenia
Zajęcia standardowo odbywają się w godzinach 9-17 (po 8 godzin zegarowych
dziennie, w tym przerwa obiadowa oraz krótkie przerwy w trakcie zajęć).
Przy szkoleniach na zamówienie, dokładne godziny mogą być uzgodnione z
Klientem wedle jego preferencji.
Wielkości grup
Szkolenia ogólnodostępne odbywają się w grupach do
8 osób.
W trybie na zamówienie możliwe są grupy dowolnej wielkości - według preferencji Klienta. Ze względu na jakość szkolenia i skuteczność przekazywania wiedzy, sugerujemy jednak, aby grupy nie były większe niż 12 osób.
Szkolenie jest realizowane w trybie zamkniętym, dla grup od 4 osób.
Szkolenia zamknięte prowadzimy w naszych salach, w siedzibie Klienta, lub w dowolnej lokalizacji na terenie Polski, lub UE (w jęz. polskim lub angielskim). Dla grup możliwe są dowolne tryby zajęć - godziny pracy, wieczory, weekendy. Możliwe jest również dostosowanie tematów kursu do indywidualnych potrzeb Klienta.
Cena szkolenia na zamówienie jest wyliczana indywidualnie dla każdego zamówienia. Dzięki temu koszt szkolenia w przeliczeniu na uczestnika może być znacznie korzystniejszy niż przy szkoleniach w grupach ogólnodostępnych (ceny podane na stronie) - zwłaszcza w przypadku większych grup.
Zapytaj i zaproponuj termin
Lub prosimy o kontakt.
Konsultacje indywidualne
W przypadku, gdy nie zgłasza się grupy zorganizowanej, a wybrane szkolenie nie ma terminu otwartego lub terminy są nieodpowiednie - w zakresie większości zagadnień i programów można zamówić również indywidualne konsultacje.
W ramach konsultacji indywidualnych nie tylko szkolimy, ale również rozwiązujemy problemy, pomagamy dobrać odpowiednie rozwiązania, doradzamy, jak efektywnie używać wybranych narzędzi.
Więcej informacji na temat konsultacji znajduje się na osobnej stronie Konsultacje. Zachęcamy również do kontaktu z naszym biurem.
Cena szkolenia
2780 PLN netto (VAT 23%)
Cena za jedną osobę, w grupie ogólnodostępnej (otwartej), o standardowej wielkości. Dla grup istnieje również możliwość organizacji szkolenia zamkniętego. Więcej w zakładce „Na zamówienie”.
W cenę szkoleń organizowanych w naszej siedzibie wliczone są:
- autorskie
materiały szkoleniowe,
- indywidualne stanowisko komputerowe do pracy podczas zajęć,
- certyfikaty ukończenia szkolenia,
- obiady,
- drobny poczęstunek oraz ciepłe i zimne napoje,
- możliwość jednorazowego kontaktu z instruktorem (instruktorami) po szkoleniu i zadawania pytań dotyczących materiału szkolenia.
W wypadku podmiotów publicznych lub finansowania ze środków publicznych, możliwe jest zwolnienie z VAT. Szczegóły na osobnej stronie.
Upusty i rabaty
- 7% - rabat dla stałych klientów
- ważny na: wszystkie kursy i szkolenia;
- dla: osoby, lub pracownika firmy, która wcześniej delegowała co najmniej jednego pracownika na jakikolwiek nasz kurs lub szkolenie.
- 5% - "polecający, polecony" - poleć nasz kurs znajomemu (znajomej) lub współpracownikowi i przyprowadź go (ją) ze sobą, a obie osoby dostaną po 5% rabatu (dotyczy kursów zawodowych).
- 5% - dla posiadaczy karty EURO<26.
- 3% - dla wszystkich studentów, za okazaniem skanu ważnej legitymacji.
- 3% - rabat "first minute" - za wczesny zapis na kurs zawodowy/bootcamp (nie dotyczy szkoleń). Przysługuje przy zapisie na kurs najpóźniej na 30 dni przed startem zajęć.
- W przypadku zapisów online i skorzystania z rabatu za wczesny zapis należy przesłać podpisane zgłoszenie w ciągu 48 godzin od zapisania się (w uzasadnionych przypadkach możemy termin wydłużyć).
- oferta rabatowa obowiązuje przy płatności z góry w terminie do 7 dni przed rozpoczęciem zajęć, w oparciu o nasz standardowy formularz zgłoszeniowy lub standardową umowę szkolenia.
- Standardowe rabaty, oferty i promocje nie obowiązują w przypadku skierowań przez podmioty trzecie.
- Przy zgłoszeniach grupowych i szkoleniach na zamówienie (zamkniętych) oferujemy atrakcyjne rabaty, które są ustalane indywidualnie.
- rabaty, oferty i promocje nie łączą się.