Server: Racket now available

I’m happy to announce that my latest ebook, Server: Racket—Practical Web Programming with the Racket HTTP Server is now available!

Server: Racket is a series of tutorials illustrating an array of common topics and problems in web development. My aim is to jump-start your web development in Racket. If you’re new to Racket and want to see how it can be useful for web work, or if you’ve tried to get into Racket for the web and didn’t really get anywhere, I’ve written the book for you.

(I should say that the ebook isn’t really an introduction to Racket. I assume you have some knowledge of the system and/or interest in learning it.)

Table of contents

Part 1: HTTP à la Racket

HTTP requests and responses entirely within Racket. No external systems, and using only modules that come standard with Racket.

  1. The servlet: In the beginning there was request?response?
  2. Routes: URL-based dispatching
  3. Error handling
  4. Logging
  5. Working with JSON data
  6. HTML templates
  7. Processing HTML forms
  8. Handling AJAX requests
  9. Cookies
  10. Testing

Part 2: Interacting with other systems

In part 2, I talk about how to use Racket with specialized systems (primarily, databases) and use special-purpose packages that aren’t included in a standard Racket installation.

  1. Using a relational database (db, sql)
  2. Session management (redis)
  3. Environment variables (dotenv)
  4. JSON Schema validation (argo)
  5. Models (object-relational mapping) (racquel)
  6. Sending HTTP requests (http)
  7. Caching with memcached (memcached)
  8. Database migrations with Phinx
  9. Racket and Docker
  10. A CRUD-style HTTP API
  11. Deploying a Racket site behind a proxy server

Sample chapter

Chapter 2, on routes, can be viewed online.