Programowanie
Tao mikrousług. Projektowanie i wdrażanie
Richard Rodger
Systemy oparte na mikrousługach różnią się od aplikacji monolitycznych. Są bardziej skalowalne, efektywniejsze, a także łatwiejsze w implementacji, rozwijaniu i utrzymaniu. Architektura mikrousług pozwala na doskonalenie danego elementu bez zastanawiania się nad działaniem całości aplikacji. Tego rodzaju systemy opierają się na nowoczesnych wzorcach, takich jak asynchroniczna komunikacja za pomocą komunikatów, usługi API i hermetyzacja. Po odpowiedniej optymalizacji dobrze działają zarówno w chmurach, jak i w scentralizowanych środowiskach opartych na kontenerach. Niniejsza książka jest przeznaczona dla programistów, menedżerów projektów i architektów oprogramowania. Wyjaśniono tu niezbędne pojęcia oraz różnice dzielące systemy oparte na mikrousługach i aplikacje monolityczne, a także zasady ich projektowania. Wyczerpująco omówiono techniki rozwiązywania problemów z mikrousługami oraz sposoby kontrolowania ryzyka wystąpienia awarii. Pokazano, w jaki sposób mikrousługi mogą współpracować z trwałymi danymi i jak wygląda ich współpraca z bazami danych. Sporo miejsca poświęcono technikom oceny kondycji działających systemów mikrousługowych, a także studiom przypadków oraz najlepszym praktykom pracy zespołu, planowania zmian i wyboru narzędzi. Najważniejsze zagadnienia: mikrousługi i ich architektura mikrousługi a wymagania biznesowe i korporacyjne komunikaty i ich wzorce wdrażanie systemów o dużej skali wady systemów opartych na mikrousługach Pracuj mądrzej i bardziej humanitarnie. Wdrażaj mikrousługi!
Alexander Kolesnikov, Brian Fitzpatrick
TDD. Programowanie w Javie sterowane testami
Viktor Farcic, Alex Garcia
Programowanie sterowane testami (ang. test-driven development — TDD) nie jest nową metodyką. Jej praktyczne zastosowanie pozwala na rozwiązanie wielu problemów związanych z procesami rozwijania i wdrażania oprogramowania. Mimo ogromnych zalet, programowanie sterowane testami nie jest zbyt popularne wśród programistów. Wynika to z tego, że techniki TDD nie są łatwe do opanowania. Choć teoretyczne podstawy wydają się logiczne i zrozumiałe, nabranie wprawy w stosowaniu TDD wymaga długiej praktyki. Książka, którą trzymasz w ręce, została napisana przez programistów dla programistów. Jej celem jest przekazanie podstaw TDD i omówienie najważniejszych praktyk związanych z tą metodyką, a przede wszystkim — nauczenie praktycznego stosowania TDD w pracy. Autorzy nie ukrywają, że nabranie biegłości w takim programowaniu wymaga sporo wysiłku, jednak korzyści płynące z metodyki TDD są znaczne: skrócenie czasu wprowadzania produktów na rynek, łatwiejsza refaktoryzacja, a także wyższa jakość tworzonych projektów. Z tą książką dogłębnie zrozumiesz metodykę TDD i uzyskasz wystarczającą pewność siebie, by z powodzeniem stosować to podejście w trakcie programowania aplikacji w Javie. Dzięki tej książce: Nauczysz się podstaw metodyki TDD Poznasz potrzebne narzędzia, platformy i środowiska wraz ze szczegółami ich konfiguracji Wykonywasz praktyczne ćwiczenia i stopniowo wdrożysz się w TDD Poznasz proces „czerwone, zielone, refaktoryzacja” Dowiesz się, jak pisać testy jednostkowe wykonywane w izolacji od reszty kodu Dowiesz się, jak tworzyć prosty i łatwy w konserwacji kod, nauczysz się refaktoryzować już istniejący Nauczysz się pracować z atrapami, stosować programowanie sterowane zachowaniami, a także udostępniać połowicznie ukończone funkcje w środowisku produkcyjnym za pomocą przełączników funkcji Programowanie sterowane testami to metodyka dla prawdziwych profesjonalistów!
TDD. Sztuka tworzenia dobrego kodu
Kent Beck
Idealny kod, pokryty w pełni testami, to marzenie każdego dewelopera. Niestety, marzenia zazwyczaj rozmijają się z rzeczywistością. Codzienność większości programistów to nieczytelny kod i brak testów. Są to doskonałe warunki do powstawania błędów, często bardzo trudnych do wykrycia. Czy jest sposób, żeby wybrnąć z tego ślepego zaułka? Czy są techniki pozwalające tworzyć przejrzysty kod, którego zmiana nie będzie sprawiała trudności? Oczywiście, że tak - wykorzystaj TDD (ang. Test Driven Development). Programowanie sterowane testami można sprowadzić do prostej zasady: w pierwszej kolejności napisz test, a następnie kod, który ma być testowany. Kent Beck w swojej książce zaprezentuje Ci w praktyce podejście TDD i pokaże, jak wdrożyć jego zasady w codziennej pracy. Zapoznaj się z licznymi przykładami zastosowania tej metody, przydatnymi poradami i najlepszymi wzorcami. To doskonały początek, żeby wdrożyć TDD w Twoim projekcie. Dowiedz się, jak tworzyć idealny kod! Dzięki tej książce: poznasz technikę programowania sterowanego testami stworzysz czytelny kod, doskonale pokryty testami nie będziesz się bał dokonywać zmian w Twoim kodzie Twój kod osiągnie nowe standardy jakości Twoja przepustka do świata idealnego kodu!
TDD. Techniki programowania sterowanego testami
Dariusz Woźniak
Odnieś sukces dzięki TDD! Poznaj filozofię programowania sterowanego testami Dowiedz się, jak wdrożyć metodę TDD w praktyce Naucz się stosować właściwe narzędzia i techniki Metoda Test-Driven Development pozwala na pisanie lepszej jakości, bardziej elastycznego i łatwiejszego w utrzymaniu kodu, na którym można w pełni polegać. Większa wydajność pracy programistów, którzy o wiele lepiej rozumieją potrzeby biznesowe stawiane tworzonym przez nich aplikacjom, znaczne przyspieszenie powtarzalnych testów - to tylko niektóre zalety TDD. Nic dziwnego, że świat zachwycił się tą techniką, a jej znajomość należy do podstawowych wymagań, które muszą spełnić inżynierowie pragnący rozwijać swoją karierę w branży IT. Jeśli chcesz poznać metodę TDD i nauczyć się tworzyć zgodne z nią testy jednostkowe, trafiłeś na właściwą książkę! W prosty sposób przedstawi Ci ona cykl Red-Green-Refactor, zaprezentuje zalety poprawnie zaimplementowanej techniki TDD, zwróci uwagę na trudności związane z wdrażaniem tej techniki i podpowie, jak sobie z nimi poradzić. Nauczysz się z niej pisać testy jednostkowe zgodnie z dobrymi praktykami oraz sprawdzać zależności i tworzyć atrapy obiektów. Dowiesz się, jak stosować TDD w przypadku już istniejącego kodu, a także jak mierzyć pokrycie kodu testami. Poznasz również podstawowe informacje na temat ciągłej integracji i jej znaczenia dla techniki TDD. Podstawowe informacje o testach i metodzie TDD Tworzenie dobrych testów jednostkowych Praktyczne zastosowanie biblioteki NUnit Atrapy i ich klasyfikacja Zastosowanie TDD do istniejącego kodu Pokrycie kodu testami i ciągła integracja Najważniejsze biblioteki wspierające TDD Poznaj w praktyce najbardziej przebojową metodę tworzenia oprogramowania!
TDD w praktyce. Niezawodny kod w języku Python
Harry Percival
„Ta książka to znacznie więcej niż tylko wprowadzenie do programowania sterowanego testami w Pythonie. To jest pełny kurs przedstawiający najlepsze praktyki, od początku do końca na przykładzie nowoczesnego programowania aplikacji sieciowej w Pythonie.” — Kenneth Reitz, członek Python Software Foundation Twórz niezawodne aplikacje w języku Python! Każdy programista marzy o pracy z przejrzystym kodem, który został w całości pokryty testami. Niestety, rzeczywistość bywa często daleka od ideału. A może da się go jednak osiągnąć? Odpowiedzią na to pytanie jest TDD (ang. Test-Driven Development), czyli wytwarzanie oprogramowania sterowane testami. Jak zacząć stosować tę technikę? Na to i wiele innych pytań odpowiada ta książka. Zacznij w praktyce realizować koncepcje płynące z TDD w połączeniu z językiem Python. Na początku dowiedz się, jak skonfigurować Django za pomocą testu funkcjonalnego, oraz skorzystaj z modułu unittest. Zdobądź też bezcenną wiedzę na temat testowania widoków, szablonów i adresów URL oraz naucz się testować układy strony i style. Sprawdź, jak zapewnić ciągłą integrację z wykorzystaniem systemu Jenkins oraz najlepszych praktyk w tworzeniu testowalnego kodu. Książka ta jest doskonałą lekturą dla wszystkich programistów tworzących aplikacje internetowe w języku Python. Twój kod może być naprawdę łatwy w utrzymaniu! Poznaj sposób pracy wykorzystujący podejście TDD, między innymi cykl test jednostkowy i tworzenie kodu, a później refaktoryzacja. Używaj testów jednostkowych dla klas i funkcji oraz testów funkcjonalnych pozwalających na symulowanie działań podejmowanych przez użytkownika w przeglądarce internetowej. Dowiedz się kiedy i jak używać obiektów imitacji, a także poznaj wady i zalety testów odizolowanych i zintegrowanych. Przetestuj i automatyzuj wdrożenie za pomocą serwera prowizorycznego. Zastosuj testy względem przygotowanych przez firmy trzecie wtyczek, które integrujesz z witryną. Używaj środowiska ciągłej integracji w celu automatycznego wykonywania testów. Poznaj techniki TDD w połączeniu z Pythonem!
TDD z wykorzystaniem C# 7. Programowanie sterowane testami
John Callaway, Clayton Hunt
Coraz więcej profesjonalnych środowisk produkcyjnych opiera się na oprogramowaniu. Ewentualne błędy w pracy kodu mogą prowadzić do poważnych konsekwencji - dlatego od rozwiązań informatycznych wymaga się solidności i poprawności. Równocześnie oczekuje się wydajnego działania, skalowalności i podatności na modyfikacje, a także możliwości łatwego utrzymania kodu. Aplikacje utworzone zgodnie z paradygmatem TDD są w większym stopniu testowalne i zapewniają wysoki poziom poprawnej, stabilnej pracy. Sprawia to, że coraz więcej zespołów programistycznych skłania się ku TDD, mimo że zautomatyzowane testowanie bywa czasochłonne, pracochłonne i dość trudne w implementacji. To książka przeznaczona dla tych, którzy chcą dogłębnie zrozumieć istotę TDD. Omówiono tu wszystkie aspekty TDD, włączając w to podstawy, dzięki którym średnio zaawansowany programista komfortowo rozpocznie budowę aplikacji zgodnie z tym paradygmatem. Przedstawiono zasady definiowania i testowania granic, a także pojęcie abstrahowania kodu zewnętrznego. W książce pojawiają się też - wprowadzane stopniowo - bardziej zaawansowane koncepcje, takie jak szpiedzy, imitacje i fałszywki. Pokazano w niej, w jaki sposób za pomocą TDD można przekształcić wymagania i historie użytkownika w funkcjonującą aplikację. Sporo miejsca poświęcono pisaniu różnych rodzajów testów, również integracyjnych. Poszczególne koncepcje zostały zilustrowane praktycznymi fragmentami kodu napisanego w C# i JavaScripcie. W tej książce między innymi: koncepcje programowania sterowanego testami i przygotowanie środowiska do pracy różne podejścia do budowania aplikacji i sterowania testami poprawa elastyczności aplikacji i jej podatności na przyszłe modyfikacje TDD w warunkach zmieniających się wymagań rozwiązywanie problemów z kodem zastanym TDD: tak pracują najlepsi programiści!
Tech Trends of the 4th Industrial Revolution. Navigating the Future of Technology in Business
Mercury Learning and Information, D. Pyo, J....
The term 4th Industrial Revolution is often mentioned in the media, but public understanding of its technologies lags behind their rapid development. This book bridges the gap, explaining essential technologies like IoT, blockchain, AI, cloud computing, and big data. It aims to enhance comprehension by minimizing technical content.The book introduces key technologies and their applications, emphasizing their importance in contemporary business models. Readers will find accessible descriptions and practical examples to aid understanding. Covering topics and trends vital for modern business, this book ensures readers grasp the technological landscape shaping the future.Throughout the book, you'll explore how these technologies are revolutionizing industries and their integration into business strategies. This journey provides a comprehensive understanding of the 4th Industrial Revolution, equipping readers with the knowledge needed to navigate and leverage these advancements effectively.
Joshua Alan Teter, Ben Tobin
The technical program manager (TPM) is a relatively new role born out of the need of the tech industry to have a specialized practitioner who speaks both tech and business and leverages this bilingual talent to get results that no one else can.This book dives into what makes a TPM tick. You’ll find out which project and program management skills will help you shine and how you can apply your technical skills for effective results. This book looks at the TPM role across the Big Five tech companies (Amazon, Google, Microsoft, Apple, and Meta) to help you discern the most effective skills to be successful no matter which company you work for.Are you already a well-performing TPM looking to see what’s next? This book identifies the career paths for a TPM at the Big Five to help you decide the next step for you.By the end of this book, you’ll have a clear understanding of how to be a TPM, along with a breakdown of the necessary technical and program management skills to develop a clear roadmap for your career.
Technologiada. Młodzi kompetentni
Piotr Synowiec
Doświadczyć znaczy zrozumieć Świat biegnie do przodu coraz szybciej i szybciej, w rytmie, w jakim rozwija się ludzka wiedza i technologia, jaka dzięki niej powstaje. Z jednej strony to świetnie - kto czterdzieści lat temu przypuszczał, że nosić będzie w kieszeni mały, supersprawny i wszechwiedzący komputer, dla niepoznaki zwany "telefonem"? Z drugiej, to trochę przerażające. Ciężko nadążyć. Bo choć większość z nas, starszych i młodszych, na co dzień korzysta z nowoczesnych technologii, to jednak rzadko kto je naprawdę rozumie. Bo żeby zrozumieć, żeby się nauczyć i móc pójść dalej, trzeba spróbować: zaprojektować trójwymiarowy obiekt w programie pCon.planner zbudować silnik z klocków LEGO stworzyć animację, a może i grę w Scratchu Potem można ruszyć do przodu. Na ścieżkę twórców, odkrywców, naukowców i inżynierów na miarę XXI wieku. Potem można dorosnąć i przemienić pasję w pracę. Najpierw jednak trzeba sięgnąć do zasobów nieograniczonej w młodym wieku wyobraźni i połączyć ją z możliwościami, jakie daje nam dzisiejszy świat, już teraz pukający do drzwi przyszłości. Z niewielką pomocą tej książki Twoje nastoletnie dziecko bawiąc się aplikacjami i narzędziami dostępnymi na wyciągnięcie ręki i kliknięcie myszką, opanuje umiejętności, które mogą okazać się kluczowe dla jego przyszłego życia. Podaruj mu Technologiadę, a wraz z nią kompetencje przyszłości!
Ahilan Ponnusamy, Andreas Spanner, Mirco Hering, Vincent...
Cloud goals, such as faster time to market, lower total cost of ownership (TCO), capex reduction, self-service enablement, and complexity reduction are important, but organizations often struggle to achieve the desired outcomes. With edge computing gaining momentum across industries and making it possible to move workloads seamlessly between cloud and edge locations, organizations need working recipes to find ways of extracting the most value out of their cloud and edge estate.This book provides a practical way to build a strategy-aligned operating model while considering various related factors such as culture, leadership, team structures, metrics, intrinsic motivators, team incentives, tenant experience, platform engineering, operations, open source, and technology choices. Throughout the chapters, you’ll discover how single, hybrid, or multicloud architectures, security models, automation, application development, workload deployments, and application modernization can be reutilized for edge workloads to help you build a secure yet flexible technology operating model. The book also includes a case study which will walk you through the operating model build process in a step-by-step way.By the end of this book, you’ll be able to build your own fit-for-purpose distributed technology operating model for your organization in an open culture way.
Marius Bancila
Learn how the metaprogramming technique enables you to create data structures and functions that allow computation to happen at compile time. With this book, you'll realize how templates help you avoid writing duplicate code and are key to creating generic libraries, such as the standard library or Boost, that can be used in a multitude of programs.The introductory chapters of this book will give you insights into the fundamentals of templates and metaprogramming. You'll then move on to practice writing complex templates and exploring advanced concepts such as template recursion, template argument deduction, forwarding references, type traits, and conditional compilation. Along the way, you'll learn how to write variadic templates and how to provide requirements to the template arguments with C++20 constraints and concepts. Finally, you'll apply your knowledge of C++ metaprogramming templates to implement various metaprogramming patterns and techniques.By the end of this book, you'll have learned how to write effective templates and implement metaprogramming in your everyday programming journey.
Palanisamy P
With deep reinforcement learning, you can build intelligent agents, products, and services that can go beyond computer vision or perception to perform actions. TensorFlow 2.x is the latest major release of the most popular deep learning framework used to develop and train deep neural networks (DNNs). This book contains easy-to-follow recipes for leveraging TensorFlow 2.x to develop artificial intelligence applications.Starting with an introduction to the fundamentals of deep reinforcement learning and TensorFlow 2.x, the book covers OpenAI Gym, model-based RL, model-free RL, and how to develop basic agents. You'll discover how to implement advanced deep reinforcement learning algorithms such as actor-critic, deep deterministic policy gradients, deep-Q networks, proximal policy optimization, and deep recurrent Q-networks for training your RL agents. As you advance, you’ll explore the applications of reinforcement learning by building cryptocurrency trading agents, stock/share trading agents, and intelligent agents for automating task completion. Finally, you'll find out how to deploy deep reinforcement learning agents to the cloud and build cross-platform apps using TensorFlow 2.x.By the end of this TensorFlow book, you'll have gained a solid understanding of deep reinforcement learning algorithms and their implementations from scratch.
Jesús Martínez
Computer vision is a scientific field that enables machines to identify and process digital images and videos. This book focuses on independent recipes to help you perform various computer vision tasks using TensorFlow.The book begins by taking you through the basics of deep learning for computer vision, along with covering TensorFlow 2.x’s key features, such as the Keras and tf.data.Dataset APIs. You’ll then learn about the ins and outs of common computer vision tasks, such as image classification, transfer learning, image enhancing and styling, and object detection. The book also covers autoencoders in domains such as inverse image search indexes and image denoising, while offering insights into various architectures used in the recipes, such as convolutional neural networks (CNNs), region-based CNNs (R-CNNs), VGGNet, and You Only Look Once (YOLO). Moving on, you’ll discover tips and tricks to solve any problems faced while building various computer vision applications. Finally, you’ll delve into more advanced topics such as Generative Adversarial Networks (GANs), video processing, and AutoML, concluding with a section focused on techniques to help you boost the performance of your networks.By the end of this TensorFlow book, you’ll be able to confidently tackle a wide range of computer vision problems using TensorFlow 2.x.
Tony Holdroyd
TensorFlow is one of the most popular machine learning frameworks in Python. With this book, you will improve your knowledge of some of the latest TensorFlow features and will be able to perform supervised and unsupervised machine learning and also train neural networks.After giving you an overview of what's new in TensorFlow 2.0 Alpha, the book moves on to setting up your machine learning environment using the TensorFlow library. You will perform popular supervised machine learning tasks using techniques such as linear regression, logistic regression, and clustering. You will get familiar with unsupervised learning for autoencoder applications. The book will also show you how to train effective neural networks using straightforward examples in a variety of different domains.By the end of the book, you will have been exposed to a large variety of machine learning and neural network TensorFlow techniques.
Abhishek Thakur, Alberto Boschetti, Luca Massaron, Alexey...
TensorFlow is one of the most popular frameworks used for machine learning and, more recently, deep learning. It provides a fast and efficient framework for training different kinds of deep learning models, with very high accuracy. This book is your guide to master deep learning with TensorFlow with the help of 10 real-world projects.TensorFlow Deep Learning Projects starts with setting up the right TensorFlow environment for deep learning. You'll learn how to train different types of deep learning models using TensorFlow, including Convolutional Neural Networks, Recurrent Neural Networks, LSTMs, and Generative Adversarial Networks. While doing this, you will build end-to-end deep learning solutions to tackle different real-world problems in image processing, recommendation systems, stock prediction, and building chatbots, to name a few. You will also develop systems that perform machine translation and use reinforcement learning techniques to play games.By the end of this book, you will have mastered all the concepts of deep learning and their implementation with TensorFlow, and will be able to build and train your own deep learning models with TensorFlow confidently.
Mikael Krief, Armon Dadgar
HashiCorp Configuration Language (HCL) has changed how we define and provision data center infrastructure with the launch of Terraform, a top-tier product for building Infrastructure as Code (IaC). Terraform Cookbook shows you how to leverage Terraform to manage complex infrastructure with ease.This new edition has been updated to include real-world examples for provisioning Azure, AWS and GCP infrastructure with Terraform. You'll delve into manual and automated testing with Terraform configurations, creating and managing a balanced, efficient, and reusable infrastructure with Terraform modules. You'll learn how to automate the deployment of Terraform configuration with continuous integration and continuous delivery (CI/CD).Besides that, several new chapters have been added that describe the use of Terraform for Docker and Kubernetes, examine advanced topics on GitOps practices, and explain how to test Terraform configurations using different tools to check code and security compliance. The final chapter covers troubleshooting common Terraform issues and provides solutions for frequently encountered errors.By the end of this book, you'll have developed the skills needed to get the most value out of Terraform and to effectively manage your infrastructure.
Terraform. Krótkie wprowadzenie. Tworzenie infrastruktury za pomocą kodu. Wydanie II
Yevgeniy Brikman
Terraform jest narzędziem open source służącym do tworzenia i wdrażania kodu infrastruktury licznych platform wizualizacji i chmury, takich jak Amazon Web Services, Google Cloud, Azure, oraz zarządzania tym kodem. Migracja korporacyjnych systemów IT do chmury jest niezwykle obiecującą możliwością i wielu menedżerów wysokiego szczebla dostrzega zalety technologii chmurowych. Terraform znakomicie ułatwia wdrażanie rozwiązań opartych na chmurze, jest też narzędziem szczególnie predysponowanym do pracy zgodnej z metodyką DevOps, dzięki której współdziałanie ludzi, procesów i technologii pozwala na zapewnienie wysokiej jakości i niezawodności produktu. Ta książka jest drugim, wzbogaconym i uzupełnionym wydaniem praktycznego samouczka, dzięki któremu rozpoczęcie pracy z Terraform stanie się bardzo łatwe. Zapoznasz się z językiem programowania Terraform i zasadami tworzenia kodu. Szybko zaczniesz go wdrażać i zarządzać infrastrukturą za pomocą zaledwie kilku poleceń. Istotną częścią publikacji jest ukazanie metodologii DevOps w działaniu oraz wyjaśnienie zasad kodowania infrastruktury. Dziesiątki jasnych przykładów kodu, które można samodzielnie wypróbować w akcji, ułatwią zrozumienie podstaw. Niezależnie od tego, czy jesteś początkującym programistą, weteranem DevOps lub doświadczonym administratorem systemów, szybko przejdziesz od podstaw Terraform do przygotowania pełnego stosu, który zapewni obsługę ogromnego ruchu sieciowego i dużych zespołów programistów. W książce między innymi: wprowadzenie do Terraform wraz ze zmianami w kolejnych wydaniach tworzenie wysokiej jakości modułów Terraform testy ręczne i zautomatyzowane kodu wdrażanie klastrów serwerów, mechanizmy równoważenia obciążenia i bazy danych zarządzanie informacjami o stanie infrastruktury zaawansowana składnia Terraform Infrastruktura: koduj, wdrażaj i zarządzaj!
Terraform. Tworzenie infrastruktury za pomocą kodu. Wydanie III
Yevgeniy Brikman
Jeszcze do niedawna praca administratora systemu polegała na ręcznym przygotowywaniu infrastruktury do działania. Mozolne konfigurowanie serwerów, baz danych i elementów sieci niosło za sobą ryzyko przestojów środowiska produkcyjnego i wprowadzenia błędnych ustawień, a wdrożenia przebiegały powoli i łączyły się z nieuchronnym poszukiwaniem błędów. Dziś do tego rodzaju prac służy Terraform, narzędzie open source przeznaczone do tworzenia i wdrażania kodu infrastruktury, a także zarządzania nim; rozwiązanie stosowane w takich platformach jak Amazon Web Services, Google Cloud, Azure i wiele innych. To trzecie, wzbogacone i uzupełnione wydanie praktycznego samouczka, dzięki któremu błyskawicznie rozpoczniesz pracę z Terraform. Zapoznasz się z językiem programowania Terraform i zasadami tworzenia kodu. Szybko zaczniesz wdrażać infrastrukturę i zarządzać nią za pomocą zaledwie kilku poleceń. Istotną częścią książki jest pokazanie metodologii DevOps w działaniu, a także wyjaśnienie zasad kodowania infrastruktury. Dziesiątki jasnych przykładów kodu, które można samodzielnie wypróbować w akcji, ułatwią zrozumienie podstaw. Nie musisz być weteranem DevOps ani doświadczonym administratorem systemów - z tym podręcznikiem nawet początkujący programiści sprawnie przygotują pełny stos, który zapewni obsługę ogromnego ruchu sieciowego w rzeczywistych środowiskach produkcyjnych. Dzięki książce: zrozumiesz, kiedy używać Terraform, a kiedy innych narzędzi wdrożysz klastry serwerów, mechanizmy równoważenia obciążenia i bazy danych nauczysz się tworzyć infrastrukturę Terraform przetestujesz moduły Terraform wieloma metodami skonfigurujesz potoki CI/CD i zaczniesz się posługiwać zaawansowaną składnią Terraform nauczysz się pracować w środowiskach chmurowych Infrastruktura jako kod: od sukcesu dzieli Cię kilka poleceń!
Adelina Simion
Experienced developers understand the importance of designing a comprehensive testing strategy to ensure efficient shipping and maintaining services in production. This book shows you how to utilize test-driven development (TDD), a widely adopted industry practice, for testing your Go apps at different levels. You’ll also explore challenges faced in testing concurrent code, and learn how to leverage generics and write fuzz tests.The book begins by teaching you how to use TDD to tackle various problems, from simple mathematical functions to web apps. You’ll then learn how to structure and run your unit tests using Go’s standard testing library, and explore two popular testing frameworks, Testify and Ginkgo. You’ll also implement test suites using table-driven testing, a popular Go technique. As you advance, you’ll write and run behavior-driven development (BDD) tests using Ginkgo and Godog. Finally, you’ll explore the tricky aspects of implementing and testing TDD in production, such as refactoring your code and testing microservices architecture with contract testing implemented with Pact. All these techniques will be demonstrated using an example REST API, as well as smaller bespoke code examples.By the end of this book, you’ll have learned how to design and implement a comprehensive testing strategy for your Go applications and microservices architecture.
Adam Tibi
Spośród wielu koncepcji tworzenia oprogramowania na szczególną uwagę zasługuje model programowania sterowanego testami - TDD. Zastosowanie podejścia TDD ułatwia utrzymanie wysokiej jakości kodu. Technika ta opiera się na dodawaniu funkcjonalności do produktu dopiero po utworzeniu i przeprowadzeniu testów jednostkowych. TDD coraz częściej jest wyborem szanowanych firm programistycznych. W tej praktycznej książce przedstawiono zasady TDD na rzeczywistych przykładach z użyciem popularnych frameworków, takich jak ASP.NET Core i Entity Framework. Po zapoznaniu się z solidnym wprowadzeniem do koncepcji TDD dowiesz się, jak można używać Visual Studio 2022 do tworzenia aplikacji internetowej z wykorzystaniem Entity Framework, a także baz danych SQL Server i Cosmos DB. Nauczysz się też korzystać z różnych wzorców, takich jak repozytorium, usługi i budowniczy. Ponadto omówiono tu architekturę DDD i inne najlepsze praktyki stosowane podczas tworzenia oprogramowania, w tym reguły SOLID i wskazówki FIRSTHAND. Nie zabrakło przydatnych uwag o biznesowych aspektach podejścia TDD. W książce między innymi: testy jednostkowe i mechanizm wstrzykiwania zależności NSubstitute: imitacje i dublery używane podczas testów zastosowanie TDD dla ASP.NET API, Entity Framework i baz danych tworzenie potoków ciągłej integracji za pomocą GitHub zaawansowane scenariusze używania imitacji korzyści z wdrażania podejścia TDD przez zespoły i firmy TDD wprowadza dobre praktyki i doskonali programistę!
Test-Driven Development with C++. A simple guide to writing bug-free Agile code
Abdul Wahid Tanner
Modern, standard C++ is all that is needed to create a small and practical testing framework that will improve the design of any project. This allows you to think about how the code will be used, which is the first step in designing intuitive interfaces. TDD is a modern balanced software development approach that helps to create maintainable applications, provide modularity in design, and write minimal code that drastically reduces defects. With the help of this book, you'll be able to continue adding value when designs need to change by ensuring that the changes don't break existing tests.In this book, you will use test-driven development (TDD) to gain practical skills by writing a simple testing framework and then using it to drive the design of a logging library. The book will help you enhance your software development skills with test cases. You'll understand how to design and implement test cases. The chapters will also show you how to utilize the TDD approach to be more productive in software development than attempting to code in large unstructured steps.By the end of this book, you'll have gained knowledge of TDD and testing and also built a working logging library with unique features not found in other libraries.
Rainier Sarabia, Ben Hansen
PHP web developers end up building complex enterprise projects without prior experience in test-driven and behavior-driven development which results in software that’s complex and difficult to maintain. This step-by-step guide helps you manage the complexities of large-scale web applications. It takes you through the processes of working on a project, starting from understanding business requirements and translating them into actual maintainable software, to automated deployments.You’ll learn how to break down business requirements into workable and actionable lists using Jira. Using those organized lists of business requirements, you’ll understand how to implement behavior-driven development (BDD) and test-driven development (TDD) to start writing maintainable PHP code. You’ll explore how to use the automated tests to help you stop introducing regressions to an application each time you release code by using continuous integration.By the end of this book, you’ll have learned how to start a PHP project, break down the requirements, build test scenarios and automated tests, and write more testable and maintainable PHP code. By learning these processes, you’ll be able to develop more maintainable, and reliable enterprise PHP applications.