Programowanie w języku Ruby. Mikrousługi i konteneryzacja - Helion
ISBN: 978-83-283-5241-4
stron: 248, Format: 158x235, okładka: miękka
Data wydania: 2019-04-09
Księgarnia: Helion
Cena książki: 59,00 zł
Poznaj Ruby on Rails od praktycznej strony!
- Odkryj język Ruby i platformę Rails
- Naucz siÄ™ testować i uruchamiać swój kod
- Poznaj zalety mikrousług i konteneryzacji
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)
Naucz się tworzyć wydajne aplikacje sieciowe z Ruby on Rails!
Osoby które kupowały "Programowanie w języku Ruby. Mikrousługi i konteneryzacja", wybierały także:
- Ruby on Rails. Ćwiczenia 18,75 zł, (3,00 zł -84%)
- Ruby on Rails. Od podstaw 49,00 zł, (26,95 zł -45%)
- Rails. Receptury 66,98 zł, (36,84 zł -45%)
- Programowanie w języku Ruby. Mikrousługi i konteneryzacja 57,95 zł, (32,45 zł -44%)
- Rails. Sztuka programowania 57,95 zł, (32,45 zł -44%)
Spis treści
Programowanie w języku Ruby. Mikrousługi i konteneryzacja -- spis treści
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