Clean Android ArchitectureAs an application's code base increases, it becomes harder for developers to maintain existing features and introduce new ones. In this clean architecture book, you'll learn to identify when and how this problem emerges and how to structure your code to overcome it.
The book starts by explaining clean architecture principles and Android architecture components and then explores the tools, frameworks, and libraries involved. You'll learn how to structure your application in the data and domain layers, the technologies that go in each layer, and the role that each layer plays in keeping your application clean. You'll understand how to arrange the code into these two layers and the components involved in assembling them. Finally, you'll cover the presentation layer and the patterns that can be applied to have a decoupled and testable code base.
By the end of this architecture book, you'll be able to build an application following clean architecture principles and have the knowledge ...
DevOps Tools for Java DevelopersWith the rise of DevOps, low-cost cloud computing, and container technologies, the way Java developers approach development today has changed dramatically. This practical guide helps you take advantage of microservices, serverless, and cloud native technologies using the latest DevOps techniques to simplify your build process and create hyperproductive teams.
Stephen Chin, Melissa McKay, Ixchel Ruiz, and Baruch Sadogursky from JFrog help you evaluate an array of options. The list includes source control with Git, build declaration with Maven and Gradle, CI/CD with CircleCI, package management with Artifactory, containerization with Docker and Kubernetes, and much more. Whether you're building applications with Jakarta EE, Spring Boot, Dropwizard, MicroProfile, Micronaut, or Quarkus, this comprehensive guide has you covered.
Explore software lifecycle best practices; Use DevSecOps methodologies to facilitate software development and delivery; Understand the business value of DevSe ...
Observability EngineeringObservability is critical for building, changing, and understanding the software that powers complex modern systems. Teams that adopt observability are much better equipped to ship code swiftly and confidently, identify outliers and aberrant behaviors, and understand the experience of each and every user. This practical book explains the value of observable systems and shows you how to practice observability-driven development.
Authors Charity Majors, Liz Fong-Jones, and George Miranda from Honeycomb explain what constitutes good observability, show you how to improve upon what youâ??re doing today, and provide practical dos and don'ts for migrating from legacy tooling, such as metrics, monitoring, and log management. Youâ??ll also learn the impact observability has on organizational culture (and vice versa).
You'll explore: How the concept of observability applies to managing software at scale; The value of practicing observability when delivering complex cloud native applicat ...
Fluent Python, 2nd EditionPython's simplicity lets you become productive quickly, but often this means you aren't using everything it has to offer. With the updated edition of this hands-on guide, you'll learn how to write effective, modern Python 3 code by leveraging its best ideas.
Don't waste time bending Python to fit patterns you learned in other languages. Discover and apply idiomatic Python 3 features beyond your past experience. Author Luciano Ramalho guides you through Python's core language features and libraries and teaches you how to make your code shorter, faster, and more readable.
Featuring major updates throughout the book, Fluent Python, second edition, covers:
Special methods: The key to the consistent behavior of Python objects;
Data structures: Sequences, dicts, sets, Unicode, and data classes;
Functions as objects: First-class functions, related design patterns, and type hints in function declarations;
Object-oriented idioms: Composition, inheritance, mixins, interfaces, operator ...
Advanced Analytics with PySparkThe amount of data being generated today is staggering and growing. Apache Spark has emerged as the de facto tool to analyze big data and is now a critical part of the data science toolbox. Updated for Spark 3.0, this practical guide brings together Spark, statistical methods, and real-world datasets to teach you how to approach analytics problems using PySpark, Spark's Python API, and other best practices in Spark programming.
Data scientists Akash Tandon, Sandy Ryza, Uri Laserson, Sean Owen, and Josh Wills offer an introduction to the Spark ecosystem, then dive into patterns that apply common techniques-including classification, clustering, collaborative filtering, and anomaly detection, to fields such as genomics, security, and finance. This updated edition also covers NLP and image processing.
If you have a basic understanding of machine learning and statistics and you program in Python, this book will get you started with large-scale data analysis.
Familiarize yourself wi ...
Q# Pocket GuideReady to build quantum computing applications using Q# and the Microsoft Quantum Development Kit? This is the book for you. Q# is a domain-specific language for expressing quantum algorithms that combines familiar "classical" language constructs with quantum-specific ones. Ideal for any developer familiar with (or willing to learn) the basics of quantum computing and looking to get started with quantum programming, this pocket guide quickly helps you find syntax and usage information for unfamiliar aspects of Q#.
You'll explore the quantum software development lifecycle from implementing the program to running it on quantum simulators to testing and debugging it. You'll learn to use the tools provided by Microsoft's Quantum Development Kit for each step of the process.
You'll explore: Q# language details, including data types, statements, and operators; Guidelines for organizing Q# code and invoking it from different environments; Information on simulators and tools in the Micros ...
Introduction to Windows ContainersWith the introduction of container support in Windows Server 2016, we open a world of opportunities that takes traditional monolithic applications on a journey to modernize them for better agility. Containers are a stepping stone that can help IT organizations understand what key items in modern IT environments, such as DevOps, Agile, Scrum, Infrastructure as Code, Continuous Integration, and Continuous Deployment, to name just a few, can do and how these organizations can adopt all of these elements and more to their enterprises.
As a result of Microsoft's strong strategic partnership with Docker - the de facto standard in container management software - enterprises can minimize the time required to onboard and run Windows Containers. Docker presents a single API surface and standardizes tooling for working across public and private container solutions as well as Linux and Windows Container deployments.
This is the next phase in IT evolution in which a direct replatform of code ...
Beginning Ansible Concepts and ApplicationLearn the concepts and develop the skills to be a true Ansible artist and use it inside and outside the box. This book applies key concepts immediately while building up your Ansible skills layer by layer through easy to grasp examples and engaging projects. You'll also think about security, why testing is important, and how to use version control safely.
As a beginner to Ansible, you'll be guided step-by-step through creating your first Ansible playbook to deploying your first server and writing more complex cross-dependency playbooks. From the first line of code to the last, you'll constantly iterate and simplify your playbooks, iwhile taking on more complex topics as you construct a full Wordpress website stack consisting of a database, web servers, and load balancer. This book will prompt you to think about how these fit together and will explain what to do to ensure maintainability long into the future.
Don't just use Ansible. Completely change how you go about provisioning, ...
A Complete Guide to Docker for Operations and DevelopmentHarness the power of Docker by containerizing your code with all its libraries and file systems to consistently run anywhere. This book is your source for learning all about Docker operations and development. It's divided into two units and focuses on the topics that the Docker Certified Associate exam covers.
Unit 1 covers the Docker fundamentals, such as Docker Enterprise for Operations, Docker Enterprise for Developers, Swarm, and an introduction to Kubernetes. You will learn how to install Docker Community Edition, Docker Enterprise Edition with Kubernetes and CLI. Also, you will learn the Docker cycle, container lifecycle, develop applications in any language, wrap, build, ship, and deploy them for production. Finally, you will learn how to create a Swarm cluster, deploy an app to it, and manage it with the best practices according to the current technologies.
Unit 2 provides quizzes to help you prepare for the certification test. The DCA exam format and the question style h ...
Network Programming with Go Language, 2nd EditionDive into key topics in network architecture implemented with the Google-backed open source Go programming language. Networking topics such as data serialization, application level protocols, character sets and encodings are discussed and demonstrated in Go. This book has been updated to the Go version 1.18 which includes modules, generics, and fuzzing along with updated and additional examples.
Beyond the fundamentals, Network Programming with Go, Second Edition covers key networking and security issues such as HTTP protocol changes, validation and templates, remote procedure call (RPC) and REST comparison, and more. Additionally, authors Ronald Petty and Jan Newmarch guide you in building and connecting to a complete web server based on Go. Along the way, use of a Go web toolkit (Gorilla) will be employed.
This book can serve as both an essential learning guide and reference on networking concepts and implementation in Go. Free source code is available on Github for this book u ...