Używamy cookies, aby ułatwić korzystanie z Portalu. Możesz określić warunki przechowywania, dostępu do plików cookies w Twojej przeglądarce. Dowiedz się więcej.
strona główna Strona główna | Nowości | Promocje | Zapowiedzi Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc
mapa działów
Szukaj: szukanie zaawansowane
Koszyk
Książki \ Programowanie \ Ruby

Programowanie w języku Ruby. Mikrousługi i konteneryzacja Język: 1

978-83-283-5241-4

Cena Brutto: 59.00

Cena netto: 56.19

Ilość:
Wersja: Drukowana
Autor Michał Sobczak
Liczba_stron 248
Wydawnictwo Helion
Oprawa miękka
Data_Wydania 2019-04-09
Programowanie w języku Ruby. Mikrousługi i konteneryzacja

Ruby to nowoczesny, wieloparadygmatowy, interpretowany język programowania. Wraz z platformą Rails stanowi jedno z najpopularniejszych rozwiązań służących do szybkiego tworzenia aplikacji sieciowych; wspiera wiele znanych serwisów dostępnych w internecie. Ruby on Rails od lat utrzymuje się w ścisłej czołówce platform klasy MVC - dzięki rozbudowanym funkcjom, wysokiej wydajności oraz łatwości pisania kodu, a także możliwości stosowania dużej liczby rozszerzeń.


Jeśli chcesz się dowiedzieć, jak wykorzystać tę platformę w swoich projektach, jesteś na dobrym tropie! Dzięki tej książce poznasz możliwości i konstrukcje języka Ruby oraz mechanizm działania platformy Rails, a w szczególności interfejs Rack. Dowiesz się, jak zapewniać odpowiednią jakość swoich rozwiązań, nauczysz się je uruchamiać przy użyciu technologii wirtualizacji VMware ESXi oraz konteneryzacji Docker na platformach OpenShift Origin, OKD i Nomad. Prześledziwszy praktyczne przykłady, zdobędziesz wiedzę na temat architektury mikrousług, poznasz też sposoby wykorzystania oprogramowania GitLab w funkcji repozytorium kodu, systemu zgłoszeń, bazy wiedzy i narzędzia CI/CD.

  • Mechanizmy języka Ruby i ich praktyczne zastosowanie
  • Programowanie strukturalne i obiektowe oraz metaprogramowanie
  • Możliwości platformy Rails i ich wykorzystanie w praktyce
  • Zastosowanie interfejsu Rack i szyny usługowej RabbitMQ
  • Zapewnianie jakości aplikacji - teoria i praktyka
  • Uruchamianie aplikacji przy użyciu maszyn wirtualnych i kontenerów
  • Zastosowanie systemów orkiestracji kontenerów
  • Praca z repozytorium kodu oraz ciągła integracja i dostarczanie (CI/CD)


Wstęp 11

Rozdział 1. Ruby 17

  • Interpreter 17
    • Rozwój 18
    • rvm 18
  • Clojures 20
    • Blok 20
    • Lambda 21
    • Proc 21
    • Różnice między blokami a Proc 22
    • Różnice między Proc a lambdą 23
    • yield 24
  • ObjectSpace 25
    • each_object 25
    • finalizer 26
    • Drzewo klas 26
    • Statystyka obiektów 27
    • Metody obiektów 28
  • Bezpieczeństwo 29
    • Poziomy $SAFE 29
    • Przykłady 29
  • Analiza wydajności 30
    • Wydajność mierzona bibliotekami Benchmark i MiniTest 30
    • Profilowanie z ruby-prof 34
  • Zarządzanie pamięcią 36
    • Retencja obiektów 36
    • Biblioteka get_process_mem 37
    • Wypełnienie pamięci 37
    • Abstrakcyjny model pamięci 39
    • Odśmiecanie 40
    • Wizualizacja stosu 43
  • Współbieżność 47
    • Biblioteka 47
    • Wątki 48
    • Procesy 50
    • Fibers 52
    • Wielowątkowość a interpretery 54
    • Komunikacja między procesami 54
    • Przykład 59
  • Rozszerzenia 65
    • Konstrukcja 66
    • Przykład praktyczny 67
    • Osadzanie interpretera 72
  • Paradygmaty 72
  • Programowanie strukturalne 73
    • Założenia 73
    • Stan początkowy 75
    • Plik 2d.rb 75
    • Plik 3d.rb 79
    • Plik main.rb 82
  • Programowanie obiektowe 84
    • Blockchain 84
  • Metaprogramowanie 91
    • Korzyści 91
    • Przykład 91

Rozdział 2. Rails 95

  • Platforma 95
    • Rozwój 97
    • Konwencja ponad konfigurację 98
    • Instalacja 98
  • Minimalistyczne aplikacje w Rails 99
    • Najmniejsza aplikacja 100
    • Drugi przykład 100
    • Trzeci przykład 102
  • Rack i middleware 103
    • Rack 103
    • Rails 104
  • RabbitMQ 106
    • Tryby pracy 107
    • Komunikacja jednokierunkowa 107
    • Komunikacja dwukierunkowa 107
    • Komunikacja mieszana 110
  • Powszechne błędy 110
    • ActionController::RoutingError 110
    • NoMethodError: Undefined Method for Nil:NilClass 111
    • ActionController::InvalidAuthenticityToken 111
    • Net::ReadTimeout 112
    • ActiveRecord::RecordNotUnique: PG::UniqueViolation 112
    • NoMethodError: Undefined Method id for nil:NilClass 113
    • ActionController::ParameterMissing 113
    • ActionView::Template::Error: Undefined Local Variable or Method 113
    • ActionController::UnknownFormat 113
  • Praktyka a konwencje 113
    • Za dużo logiki w kontrolerach 114
    • Za dużo logiki w widokach 114
    • Za dużo logiki w modelach 114
    • Pozostały kod 114
    • Za dużo bibliotek 115
    • Brak automatycznych testów 115
  • Tryb API 115
    • Middleware 115
    • Nowa aplikacja 116
    • find_in_batches 116

Rozdział 3. Zapewnienie jakości 119

  • Wprowadzenie 119
    • Teoria i praktyka 119
  • Metodyki 120
    • Definicja błędu 120
    • Definicja niezawodności 121
    • Przyczyny błędów 121
    • TDD 122
    • TIP 123
    • Eksploracja 123
  • Wykrywanie defektów 124
    • Bierne wykrywanie defektów 124
    • Czynne wykrywanie defektów 124
    • Tolerancja na błędy 127
    • Izolacja defektów 127
  • Testowanie Rack 127
    • Mikrousługi: lb 128
    • Rack 129
    • Sinatra 132
  • Testowanie Rails 134
    • Instalacja 135
    • Funkcje pomocnicze 136
    • Przypadki testowe 138
    • Uruchomienie 139

Rozdział 4. Wdrożenie 141

  • Wprowadzenie 141
    • Definicja 141
    • Podejście procesowe 142
    • Proces wdrożeniowy 142
  • Wirtualizacja 143
    • Rodzaje wirtualizacji 143
    • VMware vSphere Hypervisor 143
  • Konteneryzacja 148
    • Docker 148
    • Inne rozwiązania 148
    • Prywatne chmury obliczeniowe 148
    • Publiczne rozwiązania 149
    • Nomad na tle konkurencji 149
  • Przykładowa struktura 150
    • Środowisko pomocnicze 151
    • Utworzenie wirtualnej maszyny 151
    • Instalacja systemu operacyjnego 153
  • OpenShift Origin / OKD 154
    • Wprowadzenie 155
    • Struktura klastra 158
    • Serwer DNS 159
    • Przygotowanie węzłów klastra 161
    • Przygotowanie instalacji 164
    • Instalacja klastra 166
    • Konfiguracja klastra 3.7/3.9 169
    • Dodanie nowych węzłów klastra 172
    • Aktualizacja do nowej wersji 173
    • Administrowanie klastrem 173
  • Minishift 174
    • Instalacja 175
    • Uruchomienie 175
  • Nomad 178
    • Wprowadzenie 179
    • Środowisko narzędziowe 180
    • Środowisko aplikacyjne 181
    • Środowisko uruchomieniowe 185
  • GitLab CI/CD 193
    • Wprowadzenie 193
    • Instalacja systemu GitLab 193
    • Integracja z systemem OpenShift/OKD 194
    • Wdrażanie aplikacji do systemu OpenShift/OKD 202
    • Integracja z systemem Nomad 203

Rozdział 5. Mikrousługi 205

  • Wprowadzenie 205
    • Infrastruktura funkcjonalna 206
    • Przepływ danych 206
    • DNS 208
  • Urządzenie IoT 208
    • ESP8266 209
    • Program testowy 210
    • Program docelowy 211
  • NGINX 212
    • nginx.conf 212
    • Podsumowanie 213
  • lb 213
    • config.ru 214
    • Dockerfile 215
    • Gemfile 216
    • .gitlab-ci.yml 216
    • .nomad 217
  • check_dns 219
    • check_dns.rb 219
    • .nomad 219
  • rack 220
    • config.ru 221
    • .nomad 222
  • csp.consumer 223
    • consumer.rb 223
    • Dockerfile 225
    • fluent.conf 225
    • Gemfile 226
  • csp.processor 226
    • processor.rb 226

Rozdział 6. Projekt 229

  • Wprowadzenie 229
    • Problem i oczekiwane efekty 229
    • Źródłowa baza danych 230
  • Stos technologiczny 230
    • Metaprogramowanie 230
    • Biblioteki 230
  • Realizacja 231
    • Prototyp 231
    • Struktura 236
    • Kontrola dostępu 238
    • UI 240
    • Użycie 242

Podsumowanie 243

  • Wnioski 243
    • Rails 243
    • Orkiestracja 243
    • Ruby 243
    • Popularność 244
  • Na koniec 244
  • Przyszłość 244

Bibliografia 245

Skorowidz 246

powrót
 
Produkty Podobne
Programowanie w języku Ruby. Mikrousługi i konteneryzacja
Ruby on Rails Tutorial: Learn Web Development with Rails, 4th Edition
Ruby on Rails. Tworzenie aplikacji WWW
Ruby Performance Optimization
RESTful Rails Development
Text Processing with Ruby
Ruby. Przewodnik programisty. Wydanie II
Learn Game Programming with Ruby
Ruby Pocket Reference, 2nd Edition
Ruby on Rails Tutorial: Learn Web Development with Rails, 3rd Edition
Więcej produktów