Skip to main content

61 docs tagged with "books"

View all tags

Chapter 1: Clean Code

Why clean code matters, the cost of bad code, and what experts say good code looks like.

Chapter 10: Batch Processing

So far the book has focused on systems that handle requests as they arrive (OLTP) or read/write in real-time. But some of the most important data processing.

Chapter 10: Classes

Designing small, cohesive classes with a single responsibility and organizing them for change.

Chapter 10: Exceptions

When used to best advantage, exceptions can improve a program's readability, reliability, and maintainability. When used improperly, they can have the opposite.

Chapter 11: Concurrency

Threads allow multiple activities to proceed concurrently. Concurrent programming is harder than single-threaded programming because more things can go wrong.

Chapter 11: Stream Processing

Batch processing has one problem: **latency**. A job that runs once a day means insights that are 24 hours stale. Stream processing is like a continuous batch.

Chapter 11: Systems

Separating system construction from use, dependency injection, and scaling clean architecture.

Chapter 12: Emergence

Kent Beck's four rules of simple design and how following them leads to emergent good design.

Chapter 12: Serialization

This chapter concerns **object serialization** — Java's framework for encoding objects as byte streams (*serializing*) and reconstructing objects from their.

Chapter 13: Concurrency

The challenges of concurrent programming and principles for writing safe, clean concurrent code.

Chapter 3: Storage and Retrieval

As an application developer, you usually just call your database and trust it to do the right thing. But to choose the right database and tune it properly, you.

Chapter 4: Classes and Interfaces

Classes and interfaces are the heart of the Java programming language. This chapter gives guidelines for making the best use of these language elements so that.

Chapter 4: Encoding and Evolution

Applications change over time — requirements evolve, new features are added, bugs are fixed. Your data model must evolve too. But in large systems, you can't.

Chapter 5: Formatting

Code formatting as communication — how visual structure conveys meaning and intent.

Chapter 5: Generics

Generics were added in Java 5. Before generics, you had to cast every object read from a collection — if someone accidentally inserted an object of the wrong.

Chapter 5: Replication

**Replication** means keeping a copy of the same data on multiple machines (connected via a network). Reasons to replicate:

Chapter 6: Enums and Annotations

Java supports two special-purpose families of reference types: *enum types* (a kind of class) and *annotation types* (a kind of interface). This chapter.

Chapter 6: Partitioning

For very large datasets or very high query throughput, a single machine is not enough. **Partitioning** (also called sharding) breaks the data into.

Chapter 7: Lambdas and Streams

Java 8 added lambda expressions, method references, and the Streams API. This chapter covers best practices for using these powerful new facilities.

Chapter 7: Transactions

Real applications are messy — the database can crash, network connections can drop, multiple clients write concurrently, and partial reads of partially updated.

Chapter 8: Boundaries

Strategies for cleanly integrating third-party code and managing the edges of your system.

Chapter 8: Methods

This chapter discusses several aspects of method design: how to treat parameters and return values, how to design method signatures, and how to document.

Chapter 9: Consistency and Consensus

Chapter 8 cataloged everything that can go wrong in distributed systems. This chapter asks: **given all those failure modes, what guarantees can we actually.

Chapter 9: General Programming

This chapter covers the nuts and bolts of Java programming: local variables, control structures, libraries, data types, and using two non-language features.

Introduction

This guide provides a detailed, chapter-by-chapter breakdown of Sam Newman's *Building Microservices* (2nd Edition).

Introduction

Clean Code - A Handbook of Agile Software Craftsmanship by Robert C. Martin

Introduction

**Effective Java (3rd Edition)** by Joshua Bloch is the definitive guide to writing correct, efficient, and maintainable Java code. It contains **90 items** -.