Techniki programowania
W kategorii Techniki programowania znajdziecie książki dobrane pod względem merytorycznym zarówno dla amatorów jak i profesjonalistów z dziedziny programowania.
Dowiecie się jak poprawnie napisać i udokumentować własny kod oraz przeczytacie o najskuteczniejszych metodach refaktoryzacji czyli w jaki sposób poprawiać i optymalizować kod napisany przez innych programistów. Poznacie sposoby optymalizacji algorytmów, analizy złożoności, kompresji danych czy elementy algorytmiki grafów. Zaznajomicie się nie tylko z najlepszymi wzorcami w wytwarzaniu oprogramowania ale także nauczycie się rozpoznawać najczęstsze błędy i czyhające na Was pułapki.
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.
Mattias Fjellström
Terraform has revolutionized infrastructure as code, becoming an essential tool for IT professionals. With the Terraform Authoring and Operations Professional certification, you can validate your expertise and stand out in the competitive tech landscape. This guide not only deep dives into the core concepts of Terraform but also highlights practical examples, tips, and best practices to help you master the tool and secure your certification.This study guide covers all six exam objectives in detail, ensuring you are ready to tackle the exam with confidence. The book also covers practical tips to help you with the exam experience.This study guide assumes you have basic knowledge of Terraform workflows and the HCL language. Preferably, you are also familiar with network and compute resources on AWS. If you are willing to put in the extra work, even a novice Terraform and AWS user will benefit from this book.
Mikael Krief
Imagine effortlessly provisioning complex cloud infrastructure across various cloud platforms, all while ensuring robustness, reusability, and security. Introducing the Terraform Cookbook, Second Edition - your go-to guide for mastering Infrastructure as Code (IaC) effortlessly.This new edition is packed with real-world examples for provisioning robust Cloud infrastructure mainly across Azure but also with a dedicated chapter for AWS and GCP. You will delve into manual and automated testing with Terraform configurations, creating and managing a balanced, efficient, reusable infrastructure with Terraform modules. You will learn how to automate the deployment of Terraform configurations through continuous integration and continuous delivery (CI/CD), unleashing Terraform's full potential. New chapters have been added that describe the use of Terraform for Docker and Kubernetes, and explain how to test Terraform configurations using different tools to check code and security compliance. The book devotes an entire chapter to achieving proficiency in Terraform Cloud, covering troubleshooting strategies for common issues and offering resolutions to frequently encountered errors.Get the insider knowledge to boost productivity with Terraform - the indispensable guide for anyone adopting Infrastructure as Code solutions.
Siddharta Govindaraj
This book starts with a look at the test-driven development process, and how it is different from the traditional way of writing code. All the concepts are presented in the context of a real application that is developed in a step-by-step manner over the course of the book. While exploring the common types of smelly code, we will go back into our example project and clean up the smells that we find.Additionally, we will use mocking to implement the parts of our example project that depend on other systems. Towards the end of the book, we'll take a look at the most common patterns and anti-patterns associated with test-driven development, including integration of test results into the development process.
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.
Test-Driven Development. Podstawy
Rob Myers
Techniki i wskazówki tworzenia wysokiej jakości kodu, który jest łatwy w utrzymaniu. Sterowane testami tworzenie oprogramowania (TDD) to nie tylko sposób na testowanie kodu, ale całościowa metoda tworzenia oprogramowania: sposób myślenia o kodzie, sam proces pisania kodu oraz sposób ciągłej interakcji z kodem tworzonym przez zespół. Podręcznik Test-driven development prowadzi Czytelników przez proces pisania testów przed kodem, który daje gwarancję, że każda funkcja zostanie jasno zdefiniowana, dokładnie zweryfikowana i będzie gotowa do sprostania zmieniającym się potrzebom biznesowym. Książka ta pokazuje, jak TDD może zmienić proces tworzenia oprogramowania, ograniczając liczbę kosztownych błędów i umożliwiając zespołowi niezawodne dostarczanie wartości. Dzięki temu będzie mniej usterek i mniej troski o zakłócenie działania istniejących funkcji podczas wdrażania nowych. Programiści mogą śmiało przekształcać wewnętrzną strukturę kodu, aby dostosować go do nowych funkcji, i poświęcać mniej czasu na usuwanie błędów. Dzięki technikom i praktycznym przykładom zawartym w tej książce TDD staje się przystępne zarówno dla programistów, jak i menedżerów oraz właścicieli produktów. Dowiecie się, jak stworzyć sieć zabezpieczeń w postaci zautomatyzowanych testów, które chronią Waszą inwestycję, przyspieszają wdrażanie i umożliwiają śmiałe wprowadzanie innowacji - niezależnie od tego, czy korzystacie z istniejących systemów czy nowych technologii. Przyjmując podejście oparte na testach, zdobędziecie umiejętności potrzebne do tworzenia oprogramowania, które nie tylko jest niezawodne dzisiaj, ale także odporne na przyszłe zmiany. - Opanowanie podstawowego procesu TDD opartego na zasadzie "Red, Green, Refactor", aby tworzyć iteracyjnie oprogramowanie zorientowane na jakość. - Tworzenie i rozszerzanie zachowania na podstawie jasnych, możliwych do wykonania specyfikacji. - Projektowanie z uwzględnieniem wyjątkowych przypadków i warunków brzegowych, aby uniknąć kosztownych niespodzianek. - Utrzymywanie sprawnego i łatwego w utrzymaniu zestawu testów dzięki sprawdzonym, długoterminowym strategiom. - Wykorzystywanie dublerów testowych do izolowania zależności i zapewniania szybkości oraz precyzji testów. - Zastosowanie technik TDD w istniejących kodach źródłowych, dzięki czemu stare oprogramowanie stanie się łatwiejsze do testowania i bardziej niezawodne. - Zrozumienie korzyści biznesowych wynikających z pełnego wdrożenia TDD: mniej błędów, szybsze wprowadzanie nowych funkcji i większa elastyczność. - Poznanie sposobu, w jaki zasady TDD są stosowane w różnych językach programowania, środowiskach programistycznych i nowoczesnym tworzeniu sztucznej inteligencji opartej na agentach. Książka pozwala na wykonanie praktycznego kroku w kierunku zmniejszenia liczby błędów i płynniejszych wdrożeń, zgłębiając TDD we własnym tempie dzięki konkretnym przykładom i wskazówkom, które naprawdę przydadzą się w praktyce. Rob Myers to doświadczony programista i instruktor z ponad pięćdziesięcioletnim stażem. Szkolił i doradzał zespołom na całym świecie w zakresie TDD i praktyk Agile, pomagając organizacjom różnej wielkości osiągnąć trwałą doskonałość w tworzeniu oprogramowania.
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
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.