Learn Microservices with Spring Boot, 2nd EditionBuild Java-based microservices architecture using the Spring Boot framework by evolving an application from a small monolith to an event-driven architecture composed of several services. This revised book follows an incremental approach in teaching the structure of microservices, test-driven development, and common patterns in distributed systems such as service discovery, load balancing, routing, centralized logs, per-environment configuration, and containerization.
This updated book now covers what's been added to the latest Spring Boot release, including support for the latest Java SE; more deep-dive knowledge on how Spring Boot works; testing with JUnit 5; changes in the Spring Cloud tools used for service discovery and load balancing; building Docker images using cloud-native buildpacks; a basic centralized logging solution; E2E traceability with Sleuth; centralized configuration with Consul; many dependency upgrades; support for Spring Data Neumann; and more.
Author Moises Ma ...
Spring Boot: Up and RunningWith over 75 million downloads per month, Spring Boot is the most widely used Java framework available. Its ease and power have revolutionized application development from monoliths to microservices. Yet Spring Boot's simplicity can also be confounding. How do developers learn enough to be productive immediately? This practical book shows you how to use this framework to write successful mission-critical applications.
Mark Heckler from VMware, the company behind Spring, guides you through Spring Boot's architecture and approach, covering topics such as debugging, testing, and deployment. If you want to develop cloud native Java or Kotlin applications with Spring Boot rapidly and effectively (using reactive programming, building APIs, and creating database access of all kinds) this book is for you.
Learn how Spring Boot simplifies cloud native application development and deployment; Build reactive applications and extend communication across the network boundary to create distribu ...
Python Object-Oriented Programming, 4th EditionObject-oriented programming (OOP) is a popular design paradigm in which data and behaviors are encapsulated in such a way that they can be manipulated together. Python Object-Oriented Programming, Fourth Edition dives deep into the various aspects of OOP, Python as an OOP language, common and advanced design patterns, and hands-on data manipulation and testing of more complex OOP systems. These concepts are consolidated by open-ended exercises, as well as a real-world case study at the end of every chapter, newly written for this edition. All example code is now compatible with Python 3.9+ syntax and has been updated with type hints for ease of learning.
Steven and Dusty provide a comprehensive, illustrative tour of important OOP concepts, such as inheritance, composition, and polymorphism, and explain how they work together with Python's classes and data structures to facilitate good design. In addition, the book also features an in-depth look at Python's exception handling and how ...
Lean Software Systems Engineering for DevelopersGraduate to the next level of your software development career, learning the tools you need to successfully manage the complexity of modern software systems.
Whether you are a developer at a small software company, or one of many developers at a large enterprise, your success directly correlates to the ability of your development team to rapidly respond to change. What makes this task challenging in today's world, is that the technical challenges we as developers strive to overcome are becoming increasingly more complex. We have to consider many more options when it comes to things like requirements, solution hosting, support, pace of change, and generally with less time and warning.
A good developer knows that it is critical to manage every aspect of software development from soup to nuts, and understands that when details and decisions are left to chance, outcomes can be negatively impacted. Poor planning can result in increased errors, substandard quality, budget and schedule ...
AI for Healthcare with Keras and Tensorflow 2.0Learn how AI impacts the healthcare ecosystem through real-life case studies with TensorFlow 2.0 and other machine learning (ML) libraries.
This book begins by explaining the dynamics of the healthcare market, including the role of stakeholders such as healthcare professionals, patients, and payers. Then it moves into the case studies. The case studies start with EHR data and how you can account for sub-populations using a multi-task setup when you are working on any downstream task. You also will try to predict ICD-9 codes using the same data. You will study transformer models. And you will be exposed to the challenges of applying modern ML techniques to highly sensitive data in healthcare using federated learning. You will look at semi-supervised approaches that are used in a low training data setting, a case very often observed in specialized domains such as healthcare. You will be introduced to applications of advanced topics such as the graph convolutional network and how you c ...
Build Your Own 2D Game Engine and Create Great Web Games, 2nd EditionDevelop a 2D game engine that will give you the experience and core understanding of foundational concepts for building complex and fun 2D games that can be played across the Internet via popular web browsers. This book is organized so that the chapters follow logical steps of building a game engine and integrates concepts accordingly.
Build Your Own 2D Game Engine and Create Great Web Games isolates and presents relevant concepts from software engineering, computer graphics, mathematics, physics, game development and game design in the context of building a 2D game engine from scratch. In this edition, all the code is based on updated versions of JavaScript with HTML5 and WebGL2: you will analyze the source code needed to create a game engine that is suitable for implementing typical casual 2D videogames. You will also learn about physics and particle system. The discussion of physics component includes rotations and popular physical materials such as wood, mud, and ice. The discus ...
An Atypical ASP.NET Core 6 Design Patterns Guide, 2nd EditionAn Atypical ASP.NET Core 6 Design Patterns Guide, Second Edition approaches programming like playing with LEGO®: snapping small pieces together to create something beautiful. Thoroughly updated for ASP.NET Core 6, with further coverage of microservices patterns, data contracts, and event-driven architecture, this book gives you the tools to build and glue reliable components together to improve your programmatic masterpieces.
The chapters are organized based on scale and topic, allowing you to start small and build on a strong base, the same way that you would develop a program. You will begin by exploring basic design patterns, SOLID architectural principles, dependency injection, and other ASP.NET Core 6 mechanisms. You will explore component-scale patterns, and then move to higher level application-scale patterns and techniques to better structure your applications. Finally, you'll advance to the client side to connect the dots with tools like Blazor and make ASP.NET Core a viab ...
Application Delivery and Load Balancing in Microsoft AzureWith more and more companies moving on-premises applications to the cloud, software and cloud solution architects alike are busy investigating ways to improve load balancing, performance, security, and high availability for workloads. This practical book describes Microsoft Azure's load balancing options and explains how NGINX can contribute to a comprehensive solution.
Cloud architects Derek DeJonghe and Arlan Nugara take you through the steps necessary to design a practical solution for your network. Software developers and technical managers will learn how these technologies have a direct impact on application development and architecture. While the examples are specific to Azure, these load balancing concepts and implementations also apply to cloud providers such as AWS, Google Cloud, DigitalOcean, and IBM Cloud.
- Understand application delivery and load balancing - and why they're important;
- Explore Azure's managed load balancing options;
- Learn how to run NGINX OSS an ...
Human-Computer Interaction in Game Development with PythonDeepen your understanding of human-computer interaction (HCI) in game development and learn how to develop video games that grab players and don't let them go. This book explores HCI design in computer games to maximize collaborative and interactive functions.
You'll first gain a basic introduction to fundamental concepts and practices of HCI before diving into the fundamental concepts of game interface design and technology. You'll learn how to design a gaming interface through practical examples using Python. This is followed by a brief look at how HCI can offer immersive gaming experiences for players and a review of key elements such as interface, usability, user-centered design, and user interface in terms of efficacy. You will also learn how to implement usability aspects in gaming interfaces with examples using Python.
Additionally, the book discusses major challenges that game publishers and developers face, and how they can be resolved using HCI techniques. The questio ...
Introduction to Game Design, Prototyping, and Development, 3rd EditionA hands-on book that explains concepts "by doing," Introduction to Game Design, Prototyping, and Development, 3rd Edition, takes readers through the process of making both paper and digital game prototypes. Rather than focusing on a single tutorial, as most Unity books have done, this book explores several small prototypes, reinforcing critical concepts through repetition from project to project. Author Jeremy Gibson Bond's approach creates a stable of "base projects" that serve as starters for readers looking to create their own games), while skipping the aspects of project creation (e.g. modeling, animation, etc.) that are less central to this book. Intermediate readers may browse this book for a tutorial that clarifies the specific prototyping or programming concept that they wish to learn.
This book begins with an introduction to general game design concepts and basic programing concepts. C# is the chosen language used in this book, and it is easy to learn and enforces good codi ...