small medium large xlarge

Sort by: Title | Release Date

Cover Image For Release It! Second Edition…

Release It! Second Edition: Design and Deploy Production-Ready Software

A single dramatic software failure can cost a company millions of dollars—but can be avoided with simple changes to design and architecture. This new edition of the best-selling industry standard shows you how to create systems that run longer, with fewer failures, and recover better when bad things happen. New coverage includes DevOps, microservices, and cloud-native architecture. Stability antipatterns have grown to include systemic problems in large-scale systems. This is a must-have pragmatic guide to engineering for production systems.

Cover Image For Design It!…

Design It!: From Programmer to Software Architect

Don’t engineer by coincidence—design it like you mean it! Grounded by fundamentals and filled with practical design methods, this is the perfect introduction to software architecture for programmers who are ready to grow their design skills. Ask the right stakeholders the right questions, explore design options, share your design decisions, and facilitate collaborative workshops that are fast, effective, and fun. Become a better programmer, leader, and designer. Use your new skills to lead your team in implementing software with the right capabilities—and develop awesome software!

Cover Image For Effective Testing with RSpec 3…

Effective Testing with RSpec 3: Build Ruby Apps with Confidence

Build and maintain quality software with RSpec, the popular BDD-flavored Ruby testing framework. This definitive guide from RSpec’s lead developer shows you how to use RSpec to drive more maintainable designs, specify and document expected behavior, and prevent regressions during refactoring. Build a project using RSpec to design, describe, and test the behavior of your code-whether you’re new to testing tools or an experienced developer.

Cover Image For Scalable Cloud Ops with Fugue…

Scalable Cloud Ops with Fugue: Declare, Deploy, and Automate the Cloud

Harness the promise of the cloud with Fugue, an operating system built for the cloud. Program cloud infrastructure in a fraction of the time it takes with current tools, debug infrastructure at design time, and centralize your change control process. Written by the Fugue development team, this is the definitive resource to scalable cloud operations with Fugue.

Cover Image For Test-Driving JavaScript Applications…

Test-Driving JavaScript Applications: Rapid, Confident, Maintainable Code

Debunk the myth that JavaScript is not easily testable. Whether you use Node.js, Express, MongoDB, jQuery, AngularJS, or directly manipulate the DOM, you can test-drive JavaScript. Learn the craft of writing meaningful, deterministic automated tests with Karma, Mocha, and Chai. Test asynchronous JavaScript, decouple and properly mock out dependencies, measure code coverage, and create lightweight modular designs of both server-side and client-side code. Your investment in writing tests will pay high dividends as you create code that’s predictable and cost-effective to change.

Cover Image For Pragmatic Guide to Sass 3…

Pragmatic Guide to Sass 3: Tame the Modern Style Sheet

Design websites faster than ever using Sass—the most mature and popular CSS meta-language. On any platform, integrate Sass into your project, create a reusable style guide, and use maps to drastically reduce duplication in your stylesheets. You’ll see how to code the right way in Sass with short, clear examples on two-page spreads that show the explanation on one side and code examples on the other. This ultimate guide to using Sass, written by its creator, is updated and expanded with all the new features found in Sass 3.4, making you an expert in no time.

Cover Image For Serverless Single Page Apps…

Serverless Single Page Apps: Fast, Scalable, and Available

Don’t waste your time building an application server. See how to build low-cost, low-maintenance, highly available, serverless single page web applications that scale into the millions of users at the click of a button. Quickly build reliable, well-tested single page apps that stay up and running 24/7 using Amazon Web Services. Avoid messing around with middle-tier infrastructure and get right to the web app your customers want.

Cover Image For Designed for Use, Second Edition…

Designed for Use, Second Edition: Create Usable Interfaces for Applications and the Web

This book is for designers, developers, and product managers who are charged with what sometimes seems like an impossible task: making sure products work the way your users expect them to. You’ll find out how to design applications and websites that people will not only use, but will absolutely love. The second edition brings the book up to date and expands it with three completely new chapters.

Cover Image For Web Development Recipes 2nd Edition…

Web Development Recipes 2nd Edition

Modern web development is so much more than just HTML and CSS with a little JavaScript mixed in. People want faster, more usable interfaces that work on multiple devices, and you need the latest tools and techniques to make that happen. This book gives you over 40 concise solutions to today’s web development problems, and introduces new solutions that will expand your skill set – proven, practical advice from authors who use these tools and techniques every day. In this completely updated edition, you’ll find innovative new techniques and workflows, as well as reworked solutions that take advantage of new developments.

Cover Image For Your Code as a Crime Scene…

Your Code as a Crime Scene: Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs

Jack the Ripper and legacy codebases have more in common than you’d think. Inspired by forensic psychology methods, this book teaches you strategies to predict the future of your codebase, assess refactoring direction, and understand how your team influences the design. With its unique blend of forensic psychology and code analysis, this book arms you with the strategies you need, no matter what programming language you use.

Cover Image For Pragmatic Unit Testing in Java 8 with JUnit…

Pragmatic Unit Testing in Java 8 with JUnit

The Pragmatic Programmers classic is back! Freshly updated for modern software development, Pragmatic Unit Testing in Java 8 With JUnit teaches you how to write and run easily maintained unit tests in JUnit with confidence. You’ll learn mnemonics to help you know what tests to write, how to remember all the boundary conditions, and what the qualities of a good test are. You’ll see how unit tests can pay off by allowing you to keep your system code clean, and you’ll learn how to handle the stuff that seems too tough to test.

Cover Image For Rails 4 Test Prescriptions…

Rails 4 Test Prescriptions: Build a Healthy Codebase

Does your Rails code suffer from bloat, brittleness, or inaccuracy? Cure these problems with a regular dose of test-driven development. Rails 4 Test Prescriptions is a comprehensive guide to how tests can help you design and write better Rails applications. In this completely revised edition, you’ll learn why testing works and how to test effectively using Rails 4, Minitest 5, and RSpec 3, as well as popular testing libraries such as factory_girl and Cucumber. Do what the doctor ordered to make your applications feel all better. Side effects may include better code, fewer bugs, and happier developers.

Cover Image For Modern C++ Programming with Test-Driven Development…

Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better

If you program in C++ you’ve been neglected. Test-driven development (TDD) is a modern software development practice that can dramatically reduce the number of defects in systems, produce more maintainable code, and give you the confidence to change your software to meet changing needs. But C++ programmers have been ignored by those promoting TDD—until now. In this book, Jeff Langr gives you hands-on lessons in the challenges and rewards of doing TDD in C++.

Cover Image For 101 Design Ingredients to Solve Big Tech Problems…

101 Design Ingredients to Solve Big Tech Problems

Tough technology and business challenges face you at every stage of a project. The one-page ingredients in 101 Design Ingredients show you how to solve problems using practical examples you can apply right away. Case studies explain how leading companies combined these ingredients into their own unique recipes to catapult their businesses, and how you can, too. You’ll learn how to mix and match the high-level patterns in this quick, entertaining survey to build your own solutions tailored to your projects’ requirements.

Cover Image For Explore It!…

Explore It!: Reduce Risk and Increase Confidence with Exploratory Testing

Uncover surprises, risks, and potentially serious bugs with exploratory testing. Rather than designing all tests in advance, explorers design and execute small, rapid experiments, using what they learned from the last little experiment to inform the next. Learn essential skills of a master explorer, including how to analyze software to discover key points of vulnerability, how to design experiments on the fly, how to hone your observation skills, and how to focus your efforts.

Cover Image For Test-Driven Development for Embedded C…

Test-Driven Development for Embedded C

Still chasing bugs and watching your code deteriorate? Think TDD is only for desktop or web apps? It’s not: TDD is for you, the embedded C programmer. TDD helps you prevent defects and build software with a long useful life. This is the first book to teach the hows and whys of TDD for C programmers.

Cover Image For Test Driven Development…

Test Driven Development

Test-driven development (TDD) is a programming technique that reverses the usual sequence of coding and testing. By writing tests just in advance of the code needed to satisfy them, programmers:

  • Work with confidence
  • Work on a series of achievable steps instead of tackling a big problem all at once
  • Ensure that software design meets the need of the actual code
  • Leave behind a suite of tests to help preserve the integrity of the code

Note: Although the ideas aren’t language specific the author does use Java in the examples.

Cover Image For SQL Antipatterns…

SQL Antipatterns: Avoiding the Pitfalls of Database Programming

Bill Karwin has helped thousands of people write better SQL and build stronger relational databases. Now he’s sharing his collection of antipatterns—the most common errors he’s identified in those thousands of requests for help.

Most developers aren’t SQL experts, and most of the SQL that gets used is inefficient, hard to maintain, and sometimes just plain wrong. This book shows you all the common mistakes, and then leads you through the best fixes. What’s more, it shows you what’s behind these fixes, so you’ll learn a lot about relational databases along the way.

Cover Image For Language Implementation Patterns…

Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages

Learn to build configuration file readers, data readers, model-driven code generators, source-to-source translators, source analyzers, and interpreters. You don’t need a background in computer science—ANTLR creator Terence Parr demystifies language implementation by breaking it down into the most common design patterns. Pattern by pattern, you’ll learn the key skills you need to implement your own computer languages.

Cover Image For Debug It!…

Debug It!: Find, Repair, and Prevent Bugs in Your Code

Professional programmers develop a knack of unerringly zeroing in on the root cause of a bug. They can do that because they’ve written a lot of buggy code and then gained experience fixing it. This book captures all this experience—use it, and you’ll find you write fewer bugs, and the ones you do write will become easier to hunt down.

Cover Image For Release It!…

Release It!: Design and Deploy Production-Ready Software

“Feature complete” is not the same as “production ready.”

Whether it’s in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to survive a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?

If you’re a developer and don’t want to be on call at 3AM for the rest of your life, this book will help you.

Cover Image For The Pragmatic Programmer…

The Pragmatic Programmer: From Journeyman to Master

Straight from the programming trenches, The Pragmatic Programmer: From Journeyman to Master cuts through the increasing specialization and technicalities of modern software development to examine the core process—what do you do, as an individual and as a team, if you want to create software that’s easy to work with and good for your users.

This classic title is regularly featured on software development “Top Ten” lists, and is issued by many corporations to new hires.

We wrote this book before we created our publishing business, and we do not publish it. The Pragmatic Programmer is published by Addison Wesley, and may not contain the same ebook features or format the same as our Pragmatic Bookshelf books. Paperbacks are available wherever old-fashioned paperback books are sold, and the ebook is available here—all available ebook formats for one price, with no restrictive DRM.