Ciągłe dostarczanie oprogramowania w języku Java. Najlepsze narzędzia i praktyki wdrażania kodu
- Autorzy:
- Daniel Bryant, Abraham Marín-Pérez
- Ocena:
- 4.0/6 Opinie: 2
- Stron:
- 400
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Ciągłe dostarczanie oprogramowania w języku Java. Najlepsze narzędzia i praktyki wdrażania kodu
W ciągu ostatnich lat radykalnie zmieniły się wymagania i oczekiwania biznesowe wobec oprogramowania. Kluczowymi wartościami są innowacyjność, szybkość i czas wejścia na rynek. Do spełnienia tych wymagań konieczne okazały się nowe architektury i modele tworzenia kodu. Metodyka ciągłego dostarczania, zwanego też CD, polega na tworzeniu w krótkich cyklach wartościowych i solidnych produktów. Funkcjonalności są dodawane w małych krokach, a oprogramowanie można wydawać niezawodnie w dowolnej chwili. To sprawia, że można też szybko otrzymywać informacje zwrotne. Jednak taki sposób pracy wymaga odpowiednich ram organizacyjnych, a zespół projektowy musi przyswoić nieco inny od tradycyjnego styl pracy.
Ta książka jest praktycznym przewodnikiem, dzięki któremu programiści Javy opanują techniki potrzebne do pomyślnego zastosowania metody ciągłego dostarczania. Opisano tu najlepsze zasady budowy architektury oprogramowania, automatycznej kontroli jakości, pakowania aplikacji i wdrażania ich w różnych środowiskach produkcyjnych. Szczególną uwagę poświęcono testowaniu oprogramowania: przedstawiono całą gamę metodyk testowania, opisano ich zastosowanie i znaczenie w cyklu życia aplikacji. Ciekawym elementem książki są informacje o złych praktykach i antywzorcach wraz ze wskazówkami dotyczącymi rozwiązywania tego rodzaju problemów.
W tej książce między innymi:
- solidne podstawy ciągłego dostarczania oprogramowania
- migracja do ciągłego dostarczania oprogramowania
- narzędzia: Jenkins, PMD i FindSecBugs
- zasady testowania funkcjonalności i jakości oprogramowania
- techniki obserwacji aplikacji w środowisku produkcyjnym
Java i CD: tak zdobędziesz prawdziwą przewagę!
Ciągłe dostarczanie oprogramowania odgrywa ogromną rolę w biznesie i całym cyklu życia aplikacji. Jednak do wdrożenia tego procesu potrzebne są nowe umiejętności, zazwyczaj niechętnie nabywane przez programistów. W tej praktycznej książce autorzy Daniel Bryant i Abraham Marin-Perez starają się pomóc programistom Java opanować takie techniki jak projektowanie architektury oprogramowania, automatyczna kontrola jakości, pakowanie aplikacji i wdrażanie ich na różnych platformach.
- Poznaj podstawowe pojęcia, dowiedz się, jak zacząć i pomyślnie ukończyć migrację do ciągłego dostarczania oprogramowania.
- Przygotuj środowisko umożliwiające ciągłe dostarczanie oprogramowania Java do różnych platform.
- Buduj artefakty aplikacyjne, pliki JAR, obrazy maszyn wirtualnych i obrazy kontenerów systemów operacyjnych (Docker).
- Naucz się używać narzędzi do ciągłej integracji i automatycznej kontroli jakości oprogramowania, takich jak Jenkins, PMD i FindSecBug.
- Buduj zaawansowane procesy kompilacyjne i projektuj oprogramowanie w osobnych procesach wdrażania i udostępniania aplikacji.
- Dowiedz się, dlaczego testowanie funkcjonalności i jakości oprogramowania ma kluczowe znaczenie w całym procesie, od programowania do wdrożenia aplikacji.
- Naucz się skutecznie lokalnie kompilować i testować aplikacje i obserwować działanie systemu w środowisku produkcyjnym.
"Tę książkę, razem z książką Java. Efektywne programowanie. Wydanie III, powinien natychmiast kupić każdy inżynier, z którym pracuję. Inwestycja zwróci się tysiąckrotnie!"
Martijn Verburg, Prezes jClarity i szef społeczności LJC
"Daniel i Abraham napisali książkę dającą szczegółowy wgląd w wiele różnych komponentów infrastruktury chmurowej i stosowane w niej techniki ciągłego dostarczania oprogramowania. Jest to pozycja obowiązkowa dla każdego programisty, który chce się stać pełnoprawnym użytkownikiem chmury".
Ben Evans, autor publikacji i doradca techniczny
Wybrane bestsellery
-
Continuous delivery adds enormous value to the business and the entire software delivery lifecycle, but adopting this practice means mastering new skills typically outside of a developer’s comfort zone. In this practical book, Daniel Bryant and Abraham Marín-Pérez provide guidance...
Continuous Delivery in Java. Essential Tools and Best Practices for Deploying Code to Production Continuous Delivery in Java. Essential Tools and Best Practices for Deploying Code to Production
(169.14 zł najniższa cena z 30 dni)169.14 zł
199.00 zł(-15%) -
Ten przewodnik, który docenią programiści i architekci, zawiera wyczerpujące omówienie zagadnień projektowania, funkcjonowania i modyfikowania architektury API. Od strony praktycznej przedstawia strategie budowania i testowania API REST umożliwiającego połączenie oferowanej funkcjonalności na poz...
Architektura API. Projektowanie, używanie i rozwijanie systemów opartych na API Architektura API. Projektowanie, używanie i rozwijanie systemów opartych na API
(44.85 zł najniższa cena z 30 dni)41.40 zł
69.00 zł(-40%) -
Most organizations with a web presence build and operate APIs; the doorway for customers to interact with the company's services. Designing, building, and managing these critical programs affect everyone in the organization, from engineers and product owners to C-suite executives. But the real ch...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
Ta książka będzie świetnym uzupełnieniem wiedzy o Flutterze i Darcie, sprawdzi się również jako wsparcie podczas rozwiązywania konkretnych problemów. Znalazło się tu ponad sto receptur, dzięki którym poznasz tajniki pisania efektywnego kodu, korzystania z narzędzi udostępnianych przez framework F...
Flutter i Dart. Receptury. Tworzenie chmurowych aplikacji full stack Flutter i Dart. Receptury. Tworzenie chmurowych aplikacji full stack
(44.85 zł najniższa cena z 30 dni)41.40 zł
69.00 zł(-40%) -
Czy chcesz szybko i skutecznie opanować podstawy Microsoft Azure, zrozumieć jego architekturę i możliwości? W takim razie to książka dla Ciebie! Czy chcesz nauczyć się, jak wdrażać, zarządzać i skalować aplikacje w chmurze Azure, nie tracąc przy tym cennego czasu? W takim razie to książka dla C...
Azure w 1 dzień. Microsoft Azure od podstaw po zaawansowane techniki Azure w 1 dzień. Microsoft Azure od podstaw po zaawansowane techniki
-
Zigi to postać fikcyjna - warta poznania! Autor książki, sam będący od wielu lat testerem, wyposażył swojego bohatera we własne doświadczenia. Dołożył do nich trochę „case’ów”, które widział, o których słyszał lub czytał, ubrał je w przystępne słowa i sfabularyzował dla podkręce...(38.35 zł najniższa cena z 30 dni)
35.40 zł
59.00 zł(-40%) -
Testowanie oprogramowania to jedna z najdynamiczniej rozwijających się dziedzin inżynierii oprogramowania. Zarobki doświadczonych testerów są porównywalne z wynagrodzeniem, jakie otrzymują dobrzy programiści. Aby rozpocząć karierę w tym zawodzie, trzeba się legitymować odpowiednimi umiejętnościam...
Certyfikowany tester ISTQB®. Poziom podstawowy. Wydanie II Certyfikowany tester ISTQB®. Poziom podstawowy. Wydanie II
(70.85 zł najniższa cena z 30 dni)65.40 zł
109.00 zł(-40%) -
Dzięki tej książce dowiesz się, czym jest RPA i w jakich konkretnie procesach biznesowych może mieć zastosowanie. Zapoznasz się również, korzystając z zawartych tu studiów przypadków i najlepszych praktyk branżowych, jak wyglądają praktyczne aspekty wdrażania tej technologii. Przekonasz się też, ...
Zrobotyzowana automatyzacja procesów. Tworzenie i wdrażanie systemów RPA Zrobotyzowana automatyzacja procesów. Tworzenie i wdrażanie systemów RPA
(44.85 zł najniższa cena z 30 dni)41.40 zł
69.00 zł(-40%) -
Oto drugie, zaktualizowane i uzupełnione wydanie przewodnika po bibliotece Pandas. Dzięki tej przystępnej książce nauczysz się w pełni korzystać z możliwości oferowanych przez bibliotekę, nawet jeśli dopiero zaczynasz przygodę z analizą danych w Pythonie. Naukę rozpoczniesz z użyciem rzeczywisteg...
Jak analizować dane z biblioteką Pandas. Praktyczne wprowadzenie. Wydanie II Jak analizować dane z biblioteką Pandas. Praktyczne wprowadzenie. Wydanie II
(70.85 zł najniższa cena z 30 dni)65.40 zł
109.00 zł(-40%) -
Wraz z rozwojem sztucznej inteligencji i modeli językowych – a niewątpliwie żyjemy w czasach eksplozji AI – rośnie znaczenie osób będących w stanie w praktyce sięgać po zasoby, jakie oferuje nam ta nowoczesna technologia. Okazuje się, że pośród rozmaitych innych umiejętności potrafi o...
Prompt engineering. Kurs video. Precyzyjne tworzenie zapytań dla modeli AI Prompt engineering. Kurs video. Precyzyjne tworzenie zapytań dla modeli AI
(76.05 zł najniższa cena z 30 dni)39.90 zł
169.00 zł(-76%)
O autorze ebooka
Daniel Bryant specjalizuje się we wdrażaniu procesów ciągłego dostarczania, w identyfikowaniu strumieni wartości, tworzeniu procesów kompilacyjnych i implementowaniu strategii testowania. Jest znawcą narzędzi DevOps, platform chmurowych i kontenerowych, mikrousług, a także ekspertem Javy.
Zobacz pozostałe książki z serii O'Reilly
-
To drugie, zaktualizowane wydanie przewodnika po systemie Prometheus. Znajdziesz w nim wyczerpujące wprowadzenie do tego oprogramowania, a także wskazówki dotyczące monitorowania aplikacji i infrastruktury, tworzenia wykresów, przekazywania ostrzeżeń, bezpośredniej instrumentacji kodu i pobierani...
Prometheus w pełnej gotowości. Jak monitorować pracę infrastruktury i wydajność działania aplikacji. Wydanie II Prometheus w pełnej gotowości. Jak monitorować pracę infrastruktury i wydajność działania aplikacji. Wydanie II
(57.85 zł najniższa cena z 30 dni)53.40 zł
89.00 zł(-40%) -
Dzięki tej książce zrozumiesz bazowe koncepcje programowania funkcyjnego i przekonasz się, że możesz włączać je do kodu bez rezygnacji z paradygmatu obiektowego. Dowiesz się również, kiedy w swojej codziennej pracy i dlaczego używać takich opcjifunkcjonalności, jak niemutowalność i funkcje czyste...
Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego
(56.55 zł najniższa cena z 30 dni)52.20 zł
87.00 zł(-40%) -
To książka przeznaczona dla osób, które pracują ze zbiorami danych. Jest praktycznym przewodnikiem po koncepcjach algebry liniowej, pomyślanym tak, by ułatwić ich zrozumienie i zastosowanie w użytecznych obliczeniach. Poszczególne zagadnienia przedstawiono za pomocą kodu Pythona, wraz z przykłada...
Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie
(50.05 zł najniższa cena z 30 dni)46.20 zł
77.00 zł(-40%) -
Ta książka stanowi wszechstronne omówienie wszystkich bibliotek Pythona, potrzebnych naukowcom i specjalistom pracującym z danymi. Znalazł się tu dokładny opis IPythona, NumPy, Pandas, Matplotlib, Scikit-Learn i innych narzędzi. Podręcznik uwzględnia przede wszystkim ich aspekty praktyczne, dzięk...
Python Data Science. Niezbędne narzędzia do pracy z danymi. Wydanie II Python Data Science. Niezbędne narzędzia do pracy z danymi. Wydanie II
(83.85 zł najniższa cena z 30 dni)77.40 zł
129.00 zł(-40%) -
Oto kolejne wydanie zwięzłego podręcznika dla programistów Javy, który ma ułatwić maksymalne wykorzystanie technologii tego języka w wersji 17. Treść została skrupulatnie przejrzana i uzupełniona o materiał dotyczący nowości w obiektowym modelu Javy. Pierwsza część książki obejmuje wprowadzenie d...(57.85 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł(-40%) -
Oto zwięzły i praktyczny przewodnik po usłudze GA4 i jej integracji z chmurą. Szczególnie skorzystają z niego analitycy danych, biznesu i marketingu. Opisano tu wszystkie istotne kwestie dotyczące tego nowego, potężnego modelu analitycznego. Szczególną uwagę poświęcono bardziej zaawansowanym funk...
Google Analytics od podstaw. Analiza wpływu biznesowego i wyznaczanie trendów Google Analytics od podstaw. Analiza wpływu biznesowego i wyznaczanie trendów
(44.85 zł najniższa cena z 30 dni)41.40 zł
69.00 zł(-40%) -
Dzięki tej książce dowiesz się, w jaki sposób uczynić architekturę oprogramowania wystarczająco plastyczną, aby mogła odzwierciedlać zachodzące zmiany biznesowe i technologiczne. W nowym wydaniu rozbudowano pojęcia zmiany kierowanej i przyrostowej, a także przedstawiono najnowsze techniki dotyczą...
Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II
(43.55 zł najniższa cena z 30 dni)40.20 zł
67.00 zł(-40%) -
Właśnie w tym celu powstał ten przewodnik po filozofii oprogramowania. Znajdziesz w nim 21 pragmatycznych reguł, którymi kierują się najlepsi programiści. Dzięki spostrzeżeniom zawartym w książce zmienisz podejście do programowania i szybko się przekonasz, że pozwoli Ci to na pisanie lepszego, cz...(51.35 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł(-40%) -
Ta książka, napisana z myślą o inżynierach oprogramowania, jest trzecim, gruntownie zaktualizowanym wydaniem praktycznego przewodnika, który szybko przeprowadzi Cię od podstaw aż do zaawansowanych technik pracy z Gitem. Po zapoznaniu się z filozofią systemu i jego najważniejszymi funkcjami płynni...
Kontrola wersji z systemem Git. Zaawansowane narzędzia i techniki do wspólnego projektowania oprogramowania. Wydanie III Kontrola wersji z systemem Git. Zaawansowane narzędzia i techniki do wspólnego projektowania oprogramowania. Wydanie III
(77.35 zł najniższa cena z 30 dni)71.40 zł
119.00 zł(-40%) -
Książka jest adresowana do wszystkich, którzy chcą budować, rozwijać i skalować systemy NLP w środowisku biznesowym, a także dostosowywać je do swojej branży. Opisuje tworzenie rzeczywistych aplikacji NLP. Omawia pełny cykl życia typowego projektu NLP, od zbierania danych po wdrożenie i monitorow...
Przetwarzanie języka naturalnego w praktyce. Przewodnik po budowie rzeczywistych systemów NLP Przetwarzanie języka naturalnego w praktyce. Przewodnik po budowie rzeczywistych systemów NLP
Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana
(70.85 zł najniższa cena z 30 dni)65.40 zł
109.00 zł(-40%)
Ebooka "Ciągłe dostarczanie oprogramowania w języku Java. Najlepsze narzędzia i praktyki wdrażania kodu" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Ciągłe dostarczanie oprogramowania w języku Java. Najlepsze narzędzia i praktyki wdrażania kodu" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Ciągłe dostarczanie oprogramowania w języku Java. Najlepsze narzędzia i praktyki wdrażania kodu" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Continuous Delivery in Java: Essential Tools and Best Practices for Deploying Code to Production
- Tłumaczenie:
- Krzysztof Bąbol, Andrzej Watrak, Lech Lachowski
- ISBN Książki drukowanej:
- 978-83-283-5633-7, 9788328356337
- Data wydania książki drukowanej:
- 2019-10-11
- ISBN Ebooka:
- 978-83-283-5634-4, 9788328356344
- Data wydania ebooka:
- 2019-10-11 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 168x237
- Numer z katalogu:
- 94533
- Rozmiar pliku Pdf:
- 7.4MB
- Rozmiar pliku ePub:
- 7.5MB
- Rozmiar pliku Mobi:
- 16.9MB
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
- Zgłoś erratę
- Serie wydawnicze: O'Reilly
Spis treści ebooka
- Ogólny zarys 21
- Dlaczego? Bo daje możliwości programistom 22
- Szybka informacja zwrotna pozwala ograniczyć zmiany kontekstu 22
- Automatyczne, powtarzalne i niezawodne wydania 22
- Uściślenie definicji ukończenia 23
- Czym jest? Badamy typowy potok budowy 24
- Podstawowe etapy potoku budowy 24
- Wpływ technologii kontenerów 28
- Zmiany we współczesnych architekturach 29
- Podsumowanie 29
- Wymagania współczesnych aplikacji Java 31
- Potrzeba szybkości i stabilności biznesowej 32
- Rozwój ekonomii interfejsów API 32
- Szanse i koszty chmury 33
- Przywrócenie modularności: wykorzystanie niewielkich usług 33
- Wpływ na ciągłe dostarczanie 34
- Ewolucja platform wdrożeniowych w języku Java 35
- Archiwa WAR i EAR: era dominacji serwerów aplikacji 35
- Wykonywalne pliki JAR z zależnościami: powstanie metodologii dwunastu aspektów 36
- Obrazy kontenerów: ulepszenie przenośności (i zwiększenie złożoności) 37
- Funkcja jako usługa: pojawienie się przetwarzania "bezserwerowego" 37
- Wpływ platform na ciągłe dostarczanie 38
- Metodyki DevOps, SRE oraz Release Engineering 39
- Rozwój i utrzymanie 39
- Site Reliability Engineering 40
- Inżynieria wydawnicza oprogramowania 42
- Współodpowiedzialność, metryki i wgląd 43
- Podsumowanie 44
- Fundamenty dobrej architektury 45
- Luźne sprzężenie 45
- Wysoka spójność 47
- Sprzężenie, spójność i ciągłe dostarczanie 47
- Architektura nakierowana na elastyczność biznesową 49
- Zła architektura ogranicza dynamikę biznesową 49
- Złożoność i koszt zmian 50
- Najlepsze rozwiązania dla aplikacji zorientowanych na API 50
- Tworzenie interfejsów API metodą od zewnątrz do wewnątrz 51
- Dobre interfejsy API pomagają w ciągłym testowaniu i dostarczaniu 51
- Platformy wdrażania a architektura 52
- Projektowanie aplikacji natywnych dla chmury według metodologii 12 aspektów 52
- Doskonalenie wyczucia mechaniki 55
- Projektowanie i ciągłe testowanie pod kątem awarii 56
- Podążanie w kierunku niewielkich usług 57
- Wyzwania w dostarczaniu aplikacji monolitycznych 57
- Mikrousługi: architektura zorientowana na usługi spotyka się z projektowaniem dziedzinowym 58
- Funkcje, architektura Lambda i nanousługi 59
- Architektura: "wszystko to, co trudno zmienić" 60
- Podsumowanie 60
- Funkcje zapewniane przez platformę 63
- Niezbędne procesy programistyczne 64
- Platformy oparte o tradycyjną infrastrukturę 65
- Komponenty tradycyjnej platformy 65
- Wyzwania platform opartych o tradycyjną infrastrukturę 66
- Korzyści z bycia tradycyjnym 66
- Ciągła integracja i dostarczanie na platformach opartych o tradycyjną infrastrukturę 67
- Platforma chmury (IaaS) 67
- Zaglądamy w chmurę 68
- Wyzwania chmury 69
- Korzyści z chmury 70
- Ciągłe dostarczanie w chmurze 71
- Platforma jako usługa 72
- Zaglądamy w usługę PaaS 72
- Wyzwania platformy PaaS 73
- Korzyści z platformy PaaS 75
- Ciągła integracja i dostarczanie a model PaaS 75
- Kontenery (Docker) 75
- Komponenty platformy kontenerów 76
- Wyzwania technologii kontenerów 76
- Korzyści z kontenerów 78
- Ciągłe dostarczanie kontenerów 78
- Kubernetes 78
- Podstawowe koncepcje platformy Kubernetes 79
- Wyzwania platformy Kubernetes 80
- Korzyści z platformy Kubernetes 81
- Ciągłe dostarczanie na platformie Kubernetes 81
- Funkcja jako usługa (funkcje bezserwerowe) 81
- Koncepcje platformy FaaS 82
- Wyzwania platformy FaaS 83
- Korzyści z platformy FaaS 84
- Ciągła integracja i dostarczanie a model FaaS 84
- Praca z infrastrukturą jako kodem 85
- Podsumowanie 86
- Podział procesu budowania 87
- Automatyzacja budowania 88
- Zależności budowania 89
- Zależności zewnętrzne 92
- Projekty wielomodułowe 93
- Wiele repozytoriów (czy jedno)? 93
- Wtyczki 94
- Wydawanie i publikacja artefaktów 95
- Przegląd narzędzi do budowania kodu Java 95
- Ant 95
- Maven 98
- Gradle 102
- Bazel, Pants i Buck 105
- Inne narzędzia do budowania oparte o JVM: SBT i Leiningen 107
- Make 107
- Wybór narzędzia do budowania 108
- Podsumowanie 109
- Polecenia Linuksa, powłoki Bash i podstawowego interfejsu wiersza poleceń 111
- Użytkownicy, uprawnienia i grupy 112
- Praca z systemem plików 115
- Przeglądanie i edycja tekstu 117
- Wszystko razem: przekierowania, potoki i filtry 118
- Wyszukiwanie tekstu i manipulowanie nim: grep, awk i sed 119
- Narzędzia diagnostyczne: top, ps, netstat i iostat 120
- Wywołania HTTP i manipulacja danymi JSON 121
- Narzędzie curl 121
- Narzędzie HTTPie 124
- Narzędzie jq 127
- Podstawy pisania skryptów 128
- Narzędzie xargs 128
- Potoki i filtry 128
- Pętle 129
- Warunki 129
- Podsumowanie 130
- Budowanie archiwum JAR krok po kroku 131
- Budowanie wykonywalnego fat JAR (uber JAR) 135
- Wtyczka Maven Shade 135
- Budowanie plików uber JAR przy użyciu projektu Spring Boot 138
- Skinny JAR - gdy zdecydujesz się nie budować plików uber JAR 139
- Budowanie plików WAR 140
- Pakowanie dla chmury 141
- Gotowanie konfiguracji: wypiekanie lub smażenie maszyn 142
- Budowanie pakietów RPM i DEB systemu operacyjnego 142
- Dodatkowe narzędzia kompilowania pakietów systemu operacyjnego (z obsługą systemu Windows) 145
- Tworzenie obrazów maszyn dla wielu chmur za pomocą programu Packer 147
- Dodatkowe narzędzia do tworzenia obrazów maszyn 149
- Budowanie kontenerów 150
- Tworzenie obrazów kontenerów za pomocą narzędzia Docker 150
- Fabrykowanie obrazów Docker za pomocą fabric8 151
- Pakowanie aplikacji Java FaaS 153
- Podsumowanie 155
- Wyzwania związane z lokalnym tworzeniem oprogramowania 157
- Imitacje, atrapy i wirtualizacja usług 158
- Wzorzec 1.: profile, imitacje i atrapy 158
- Imitowanie usług za pomocą biblioteki Mockito 159
- Wzorzec 2.: wirtualizacja usług i symulacja interfejsu API 161
- Wirtualizacja usług za pomocą narzędzia Hoverfly 162
- Maszyny wirtualne oraz narzędzia Vagrant i Packer 165
- Instalacja narzędzia Vagrant 166
- Utworzenie pliku Vagrantfile 166
- Wzorzec 3.: pudełkowe środowisko produkcyjne 168
- Kontenery: Kubernetes, minikube i Telepresence 169
- Przykładowa aplikacja Docker Java Shop 169
- Tworzenie aplikacji Java i obrazów kontenerów 170
- Wdrożenie kontenera na platformie Kubernetes 172
- Prosty test usługi 174
- Utworzenie pozostałych usług 174
- Wdrożenie całej usługi Java na platformie Kubernetes 174
- Kontrola wdrożonej aplikacji 175
- Telepresence: praca zdalna i lokalna 176
- Wzorzec 4.: dzierżawa środowiska 178
- Funkcja jako usługa: AWS Lambda i SAM Local 179
- Instalacja narzędzia SAM Local 179
- Tworzenie funkcji AWS Lambda 179
- Testowanie obsługi zdarzeń za pomocą funkcji AWS Lambda 182
- Testowanie funkcji za pomocą narzędzia SAM Local 185
- FaaS: usługa Azure Functions i edytor Visual Studio Code 186
- Instalacja najważniejszych komponentów Azure Functions 186
- Lokalne kompilowanie i testowanie funkcji 189
- Testowanie lokalnych i zewnętrznych funkcji za pomocą edytora Visual Studio Code 191
- Podsumowanie 192
- Co to jest ciągła integracja oprogramowania? 193
- Implementacja ciągłej integracji oprogramowania 194
- Centralny i rozproszony system kontroli wersji 194
- Przewodnik po systemie Git 196
- Najważniejsze polecenia systemu Git 196
- Hub: podstawowe narzędzie w systemach Git i GitHub 198
- Efektywne korzystanie z systemu DVCS 200
- Programowanie pniowe 200
- Odgałęzienia funkcjonalne 201
- Gitflow 201
- Nie ma recepty na wszystko, czyli jak wybrać odpowiednią strategię odgałęziania 202
- Przeglądanie kodu 204
- Cele przeglądania kodu 205
- Automatyzacja przeglądu kodu: analizatory PMD, Checkstyle i FindBugs 207
- Przeglądanie wniosków o zmiany 210
- Automatyzacja kompilacji 211
- Jenkins 212
- Zaangażowanie zespołu 213
- Regularne konsolidowanie kodu 214
- "Zatrzymać produkcję!", czyli obsługa nieudanych kompilacji 214
- Nie ignoruj testów 214
- Kompilacja musi być szybka 215
- Ciągła integracja platformy (infrastruktura jako kod) 215
- Podsumowanie 216
- Wprowadzenie do aplikacji Extended Java Shop 217
- Rozdzielenie wdrożenia i wydania aplikacji 220
- Wdrażanie aplikacji 220
- Utworzenie obrazu kontenera 221
- Mechanizm wdrażania 224
- Wszystko zaczyna się (i kończy) na kontroli stanu 233
- Strategie wdrożeniowe 237
- Praca z niezarządzanymi klastrami 246
- Modyfikacje baz danych 249
- Wydawanie funkcjonalności 252
- Flagi funkcjonalności 253
- Wersjonowanie semantyczne 255
- Kompatybilność wsteczna i wersje interfejsu API 257
- Wielofazowe aktualizacje 261
- Zarządzanie konfiguracją i poufnymi danymi 262
- "Zaprasowana" konfiguracja 263
- Zewnętrzna konfiguracja 264
- Przetwarzanie poufnych danych 265
- Podsumowanie 266
- Po co testować oprogramowanie? 267
- Co testować? Wprowadzenie do kwadrantów zwinnego testowania 267
- Ciągłe testowanie oprogramowania 269
- Utworzenie odpowiedniej pętli zwrotnej 270
- Żółwie są wszędzie, aż po sam koniec 270
- Transakcje syntetyczne 272
- Testy kompleksowe 272
- Testy akceptacyjne 274
- Programowanie zorientowane na działanie 275
- Imitowanie i wirtualizowanie zewnętrznych usług 278
- Wszystko razem 278
- Testy kontraktów klienckich 279
- Kontrakty REST API 280
- Kontrakty komunikatów 283
- Testy komponentów 285
- Wbudowane magazyny danych 285
- Kolejki komunikatów umieszczane w pamięci 286
- Dublerzy testowi 287
- Tworzenie wewnętrznych zasobów lub interfejsów 288
- Testy wewnątrz- i zewnątrzprocesowe 289
- Testy integracyjne 291
- Weryfikowanie zewnętrznych interakcji 291
- Testy odporności na błędy 292
- Testy jednostkowe 293
- Towarzyskie testy jednostkowe 294
- Samotne testy jednostkowe 295
- Niestabilne testy 296
- Dane 296
- Tymczasowo niedostępne zasoby 296
- Niedeterministyczne zdarzenia 297
- Gdy nic nie można zrobić 297
- Testy "do wewnątrz" i "na zewnątrz" 298
- Testy "do wewnątrz" 298
- Testy "na zewnątrz" 299
- Zebranie wszystkiego w jeden proces 301
- Jak dużo testów trzeba wykonać? 301
- Podsumowanie 303
- Po co testować wymagania niefunkcjonalne? 305
- Jakość kodu 306
- Jakość architektury 306
- ArchUnit: testy jednostkowe architektury 307
- Wyliczanie wskaźników jakościowych projektu za pomocą biblioteki JDepend 308
- Testy wydajnościowe i obciążeniowe 310
- Testowanie wydajności przy użyciu Apache Benchmark 311
- Testy obciążeniowe z użyciem narzędzia Gatling 312
- Bezpieczeństwo, podatności i zagrożenia 317
- Weryfikacja bezpieczeństwa na poziomie kodu 318
- Weryfikacja zależności 322
- Luki w bezpieczeństwie platform wdrożeniowych 325
- Kolejny krok: modelowanie zagrożeń 329
- Testowy chaos 332
- Wywoływanie chaosu w środowisku produkcyjnym 333
- Wywoływanie chaosu w środowisku przedprodukcyjnym 334
- Jak dużo testów wymagań niefunkcjonalnych trzeba wykonać? 335
- Podsumowanie 336
- Obserwowalność i ciągłe dostarczanie oprogramowania 337
- Po co obserwować aplikację? 338
- Obiekty obserwacji: aplikacja, sieć, serwer 338
- Metody obserwacji: monitorowanie, logowanie i śledzenie 340
- Alarmy 340
- Projektowanie obserwowalnych systemów 341
- Wskaźniki 342
- Rodzaje wskaźników 343
- Dropwizard Metrics 343
- Spring Boot Actuator 344
- Micrometer 345
- Dobre praktyki tworzenia wskaźników 346
- Logowanie 347
- Formaty logów 347
- SLF4J 348
- Log4j 2 349
- Dobre praktyki logowania 350
- Śledzenie zapytań 351
- Ślady, przęsła i bagaże 352
- Śledzenie aplikacji Java: OpenZipkin, Spring Cloud Sleuth i OpenCensus 353
- Dobre praktyki śledzenia systemów 353
- Śledzenie wyjątków 354
- Airbrake 355
- Narzędzia do monitorowania systemu 356
- collectd 356
- rsyslog 356
- Sensu 357
- Zbieranie i zapisywanie danych 357
- Prometheus 358
- Elastic-Logstash-Kibana 358
- Wizualizacja danych 359
- Wizualizacja dla biznesu 359
- Wizualizacja dla administratorów 360
- Wizualizacja dla programistów 361
- Podsumowanie 362
- Czynniki ciągłego dostarczania 365
- Wybór projektu migracji 366
- Świadomość sytuacyjna 367
- Framework Cynefin i ciągłe dostarczanie 368
- Wszystkie modele są złe, ale niektóre są przydatne 369
- Wstępne organizowanie ciągłego dostarczania 370
- Pomiar ciągłego dostarczania 371
- Zacznij od niewielkich rzeczy, eksperymentuj, ucz się, udostępniaj i powtarzaj 372
- Szersze wdrożenie: kierowanie wprowadzaniem zmian 374
- Dodatkowe porady i wskazówki 375
- Złe praktyki i typowe antywzorce 375
- Brzydka architektura: naprawiać czy nie naprawiać 376
- Podsumowanie 379
- Zacznij od punktu, w którym jesteś 381
- Opieraj się na solidnych podstawach technicznych 382
- Ciągłe dostarczanie wartości (Twój najwyższy priorytet) 382
- Zwiększenie współodpowiedzialności za oprogramowanie 383
- Promuj szybką informację zwrotną i eksperymentowanie 384
- Rozwijaj ciągłe dostarczanie w organizacji 385
- Ciągłe doskonalenie 385
- Podsumowanie 386
Słowa wstępne 13
Wstęp 17
1. Ciągłe dostarczanie? Dlaczego? Czym jest? 21
2. Ewolucja programowania w języku Java 31
3. Projektowanie architektury pod kątem ciągłego dostarczania 45
4. Platformy wdrożeniowe, infrastruktura i ciągłe dostarczanie aplikacji Java 63
5. Budowanie aplikacji w języku Java 87
6. Dodatkowe narzędzia i umiejętności wykorzystywane do budowania aplikacji 111
7. Pakowanie aplikacji do wdrożenia 131
8. Praca w lokalnym odpowiedniku środowiska produkcyjnego 157
9. Ciągła integracja: pierwsze kroki w tworzeniu procesu kompilacji kodu 193
10. Proces wdrażania i wydawania oprogramowania 217
11. Testy funkcjonalne: sprawdzenie poprawności i akceptacja oprogramowania 267
12. Testy jakościowe systemu: weryfikacja wymagań niefunkcjonalnych 305
13. Obserwowalność aplikacji: monitorowanie, logowanie i śledzenie 337
14. Migracja do ciągłego dostarczania 365
15. Ciągłe dostarczanie i ciągłe doskonalenie 381
Skorowidz 389
Oceny i opinie klientów: Ciągłe dostarczanie oprogramowania w języku Java. Najlepsze narzędzia i praktyki wdrażania kodu Daniel Bryant, Abraham Marín-Pérez (2) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(0)
(1)
(0)
(1)
(0)
(0)
więcej opinii