SQL Antipatterns, Volume 1SQL is the ubiquitous language for software developers working with structured data. Most developers who rely on SQL are experts in their favorite language (such as Java, Python, or Go), but they're not experts in SQL. They often depend on antipatterns - -solutions that look right but become increasingly painful to work with as you uncover their hidden costs. Learn to identify and avoid many of these common blunders. Refactor an inherited nightmare into a data model that really works. Updated for the current versions of MySQL and Python, this new edition adds a dozen brand new mini-antipatterns for quick wins.
No matter which platform, framework, or language you use, the database is the foundation of your application, and the SQL database language is the standard for working with it. Antipatterns are solutions that look simple at the surface, but soon mire you down with needless work. Learn to identify these traps, and craft better solutions for the often-asked questions in this bo ...
Exploring Graphs with ElixirData is everywhere - it's just not very well connected, which makes it super hard to relate dataset to dataset. Using graphs as the underlying glue, you can readily join data together and create navigation paths across diverse sets of data. Add Elixir, with its awesome power of concurrency, and you'll soon be mastering data networks. Learn how different graph models can be accessed and used from within Elixir and how you can build a robust semantics overlay on top of graph data structures. We'll start from the basics and examine the main graph paradigms. Get ready to embrace the world of connected data!
Graphs provide an intuitive and highly flexible means for organizing and querying huge amounts of loosely coupled data items. These data networks, or graphs in math speak, are typically stored and queried using graph databases. Elixir, with its noted support for fault tolerance and concurrency, stands out as a language eminently suited to processing sparsely connected and distribute ...
Modern Front-End Development for Rails, 2nd EditionImprove the user experience for your Rails app with rich, engaging client-side interactions. Learn to use the Rails 7 tools and simplify the complex JavaScript ecosystem. It's easier than ever to build user interactions with Hotwire, Turbo, and Stimulus. You can add great front-end flair without much extra complication. Use React to build a more complex set of client-side features. Structure your code for different levels of client-side needs with these powerful options. Add to your toolkit today!
Rails 7 added a new set of default front-end building tools that are simpler to use and more robust than the previous defaults. This version of the book uses the jsbundling-rails gem and the esbuild library to manage JavaScript, the cssbundling-rails gem and Tailwind CSS to manage CSS, and the new Propshaft gem for asset management. Stimulus and Turbo have also upgraded and added a small number of new features.
It's hard to have a Rails application without integrating some client-side l ...
Modern CSS with Tailwind, 2nd EditionTailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex effects. With Tailwind, you can style your text, move your items on the page, design complex page layouts, and adapt your design for devices from a phone to a wide-screen monitor. With this book, you'll learn how to use the Tailwind for its flexibility and its consistency, from the smallest detail of your typography to the entire design of your site.
This new edition of the book covers Tailwind 3.0, which changes the way Tailwind generates its CSS. Tailwind 3.0 has a large number of new features powered by the new system, including the ability to use arbitrary values with most Tailwind class patterns, and a new syntax for combining color and opacity in a single class. This book also covers the new standalone command-line tools for Tailwind.
With CSS, you can do amazing things to the basic text and images on your website, and with just a little bi ...
The Enterprise Path to Service Mesh ArchitecturesPlanning to build a microservice-driven cloud native application or looking to modernize existing application services? Consider using a service mesh. A service mesh approach can help you create robust and scalable applications, but it also introduces new challenges. This updated report answers common questions regarding service mesh architectures through the lens of a large enterprise.
Author Lee Calcote, founder and CEO of Layer5, shows developers, operators, architects, and IT leaders how to evaluate your organization's readiness for using a service mesh-and provides a clear path to help you adopt one. You'll evaluate several factors when deciding which applications should be built from the ground up and which can be converted with a new service mesh architecture.
This updated edition discusses several service meshes available and the tools you need to implement them. You'll explore:
- Service mesh concepts, architecture, and components, such as control planes and data planes ...
Load Balancing in the CloudUse of redundant servers has long been a solution for meeting sudden spikes in demand, machine failures, and outages. Cloud services greatly reduce the cost and hassle of provisioning redundant equipment and load balancers and give you the ability to deal with separate network, application, and client-side loads. But today there are many options to consider, and you have to determine which cloud service (or services) will meet your company's unique needs.
With this ebook, author Derek DeJonghe from RightBrain Networks delivers a practical guide to load balancing services in the cloud. In this dynamic environment, where machines are frequently provisioned and decommissioned to meet user demand, you need a load balancer that can intelligently distribute traffic. This ebook walks you through the several options, including the use of the NGINX software load balancer. ...
The Book of KubernetesContainers ensure that software runs reliably no matter where it's deployed, and Kubernetes is the open-source platform that lets you manage all of your containers from a single control plane. In this comprehensive tour of Kubernetes, each chapter includes a set of examples with just enough automation to start your container exploration with ease.
The book begins with an overview of modern application architecture and the benefits of and requirements for containers and orchestration. It describes Linux control groups, process isolation, and network namespaces, and how to build container images. You'll then create containers, deploy and administer a Kubernetes cluster, and learn how to debug Kubernetes all the way down to the operating system and the network. You'll gain a deep understanding of containerization and Kubernetes, as well as how container networking works at the packet level across multiple nodes in a cluster. ...
DevOps for the DesperateIf you're a software engineer, developer, or sys admin who needs to get up to speed with DevOps quickly, this book covers the basics you need to thrive in a modern application stack.
This book's fast-paced, hands-on examples will provide the foundation you need to start performing common DevOps tasks. You'll explore how to implement Infrastructure as Code (IaC) and configuration management (CM) - essential practices for designing secure and stable systems. You'll take a tour of containerization and set up an automated continuous delivery (CI/CD) pipeline that builds, tests, and deploys code. You'll dig into how to detect a system's state and alert on it when things go sideways.
DevOps for the Desperate is a practical, no-nonsense guide to get you up and running quickly in today's full-stack infrastructure. ...
Bare Metal CBare Metal C will teach you how to program embedded devices with the C programming language. For embedded system programmers who want precise and complete control over the system they are using, this book pulls back the curtain on what the compiler is doing for you so that you can see all the details of what's happening with your program.
The first part of the book teaches C basics with the aid of a low-cost, widely available bare metal system (the Nucleo Arm evaluation system), which gives you all the tools needed to perform basic embedded programming. As you progress through the book you'll learn how to integrate serial input/output (I/O) and interrupts into your programs. You'll also learn what the C compiler and linker do behind the scenes, so that you'll be better able to write more efficient programs that maximize limited memory. Finally, you'll learn how to use more complex, memory hungry C features like dynamic memory, file I/O, and floating-point numbers. ...
The Art of Clean CodeMost software developers waste thousands of hours working with overly complex code. The eight core principles in The Art of Clean Code will teach you how to write clear, maintainable code without compromising functionality. The book's guiding principle is simplicity: reduce and simplify, then reinvest energy in the important parts to save you countless hours and ease the often onerous task of code maintenance.
Bestselling author Christian Mayer leverages his experience helping thousands perfect their coding skills in this new book.
This Python-based guide is suitable for programmers at any level, with ideas presented in a language-agnostic manner. ...