Cover Image For Continuous Testing...

Continuous Testing: with Ruby, Rails, and JavaScript

Feedback. We’re always telling you that you need feedback, with a short feedback gap — the time it takes to get feedback on your decisions, your code, your designs. Well, what if you narrowed the feedback gap to near zero while coding? You’d have continuous testing, a powerful idea that lets you fix bugs while they’re still small and fresh.

Continuous Testing shows you how to use a combination of tests, tools, and techniques to immediately detect problems in code, before they spread.

Cover Image For Designed for Use...

Designed for Use: Create Usable Interfaces for Applications and the Web

Have you ever been angry at your computer or cell phone? 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. This book shows you how to design applications and websites that people will not only use, but will absolutely love.

Cover Image For Code in the Cloud...

Code in the Cloud: Programming Google AppEngine

Join the next wave of Web 2.0 software development in the cloud! Cloud applications are the next big shift in application development: instead of building single-user applications to run on a personal computer, new applications are being built as multi-user services that run in data centers around the world. One of the most exciting new environments for building services in the cloud is Google’s AppEngine. AppEngine is a powerful, easy-to-use framework for developing cloud-based services. This book will teach you what you need to make the shift to cloud development using AppEngine.

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 Rails Test Prescriptions...

Rails Test Prescriptions: Keeping Your Application Healthy

Rails Test Prescriptions is a comprehensive guide to testing Rails applications, covering Test-Driven Development from both a theoretical perspective (why to test) and from a practical perspective (how to test effectively). It covers the core Rails testing tools and procedures for Rails 2 and Rails 3, and introduces popular add-ons, including RSpec, Shoulda, Cucumber, Factory Girl, and Rcov.

Cover Image For The RSpec Book...

The RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends

Behaviour-Driven Development (BDD) gives you the best of Test Driven Development, Domain Driven Design, and Acceptance Test Driven Planning techniques, so you can create better software with self-documenting, executable tests that bring users and developers together with a common language.

Get the most out of BDD in Ruby with The RSpec Book, written by the lead developer of RSpec, David Chelimsky.

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

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 Scripted GUI Testing with Ruby...

Scripted GUI Testing with Ruby

If you need to automatically test a user interface, this book is for you. Whether it’s Windows, a Java platform (including Mac, Linux, and others) or a web app, you’ll see how to test it reliably and repeatably.

Many automated test frameworks promise the world and deliver nothing but headaches. Fortunately, you’ve got a secret weapon: Ruby. Ruby lets you build up a solution to fit your problem, rather than forcing your problem to fit into someone else’s idea of testing.

This book is for people who want to get their hands dirty on examples from the real world—and who know that testing can be a joy when the tools don’t get in the way. It starts with the mechanics of simulating button pushes and keystrokes, and builds up to writing clear code, organizing tests, and beyond.

Updated eBook

This new revision refreshes the RSpec examples for version 2.x. It also contains an updated section on narrative-style tests, based on Cucumber 1.x. Ian has tweaked code samples throughout the book for compatibility with Ruby 1.8.7, Ruby 1.9.2, or JRuby 1.6.5, based on what the underlying libraries support.

Cover Image For Design Accessible Web Sites...

Design Accessible Web Sites: 36 Keys to Creating Content for All Audiences and Platforms

“Accessibility” has a reputation of being dull, dry, and unfriendly toward graphic design. But there is a better way: well-styled semantic markup that lets you provide the best possible results for all of your users. This book will help you provide images, video, Flash and PDF in an accessible way that looks great to your sighted users, but is still accessible to all users.

Cover Image For Pragmatic Unit Testing in C# with NUnit...

Pragmatic Unit Testing in C# with NUnit (2nd edition)

Pragmatic programmers use feedback to drive their development and personal processes. The most valuable feedback you can get while coding comes from unit testing. Now in it’s second edition, Pragmatic Unit Testing in C# with NUnit, 2nd Ed. will show you how to do software unit testing, of course, but more importantly will show you what to test.

For various technical reasons, the eBook version is a PDF: epub and mobi versions of this title will NOT be available.

Cover Image For Release It!...

Release It!: Design and Deploy Production-Ready Software

Jolt Productivity award “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 Interface Oriented Design...

Interface Oriented Design

Learn by pragmatic example how to create effective designs composed of interfaces to objects, components and services.

You’ll learn what polymorphism and encapsulation really mean, and how to use these ideas more effectively. See how to create better interfaces using agile development techniques, and learn the subtle differences between implementing an interface and inheriting an implementation. Take a fresh, modern view of Design By Contract and class responsibilities. Understand the basis of a service-oriented architecture, including stateful versus stateless interfaces, procedural versus document models, and synchronous versus asynchronous invocations.

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. It’s owned and published by Addison-Wesley, and is available wherever old-fashioned paperback books are sold.

You can browse our newer titles.

Enjoy!

Dave & Andy