Greetings!

Welcome back to the beginning of a new school year for many, the end of the summer for those of us in the Northern Hemisphere, and the start of an exciting season here at the Pragmatic Bookshelf. We’ve got three new things for you this week: Enterprise Recipes with Ruby and Rails is now available in Beta, there’s a new episode available in the Erlang in Practice series, and a new episode in the Everyday Active Record series.

Enterprise Recipes with Ruby and Rails now in Beta

Enterprise Recipes with Ruby and Rails helps you to overcome typical obstacles hidden in every enterprise’s infrastructure. It doesn’t matter if your Rails application needs to access your company’s message-oriented middleware or if it has to scan through tons of huge XML documents to get a missing piece of data. Ruby and Rails enable you to create solutions that are both elegant and efficient.

With more than 50 concise, targeted recipes, this book shows you how to use existing infrastructure to develop effectively for the enterprise. For example, Ruby is an excellent language for manipulating both textual and binary data. This is enormously useful, because typical enterprise software is about storing and processing huge amounts of data. You’ll learn how to process data in various popular data formats such as XML, CSV, fixed length records, and JSON.

This book covers the whole spectrum of distributed application technologies, ranging from simple socket-based servers to full-blown Service Oriented Architectures. In addition, Ruby is a perfect ally when you have to integrate with RESTful and SOAP services, or when you have to access message-oriented middleware. It even helps you to reuse your existing C/C++, Java, or .NET code with ease.

Since the advent of the Web, many enterprises have opened their internal services to the outside world to participate in the rapidly growing world of e-commerce. As an enterprise programmer you’d better learn how to use existing payment gateways and how to implement security mechanisms to protect your company’s data and your customers’ privacy, and this book shows you how.

Enterprise programming is not only about developing huge software projects but also about maintaining and operating them. You’ll save a lot of valuable time if you document your software (of course, automatically) and automate tedious and recurring tasks, such as monitoring your servers and testing your programs. Enterprise Recipes with Ruby and Rails covers these major enterprise concerns, giving you tools and knowledge you’ll turn to over and over.

Erlang in Practice

Episode 7: Writing Servers with gen_server

In the first half of this episode, we’ll learn how to write Erlang server processes using gen_server, a module in the OTP library. Then, in the second half of this episode, we’ll put what we learned into practice by incrementally refactoring two of our home-grown servers to use gen_server. As a result, you’ll be able to immediately apply gen_server to your next Erlang server process or one you’ve already written. You’ll learn how to:

  • write a generic Erlang server process using gen_server
  • design systems that decouple the message dispatch loop from the code that handles the messages for better reuse
  • send RPC and cast-style messages
  • initialize and shutdown gen_server processes
  • scope the server to control who sees the server and who can send messages to it
  • apply gen_server to a real-world problem
  • refactor existing servers to use gen_server

Everyday Active Record

Episode 5: Optimizing Queries

Rails makes it easy to fetch records from the database without even writing SQL, but it’s equally easy to wind up with slow database queries. In this episode, we’ll use advanced find options to improve the performance of database queries in the cinemas application. We’ll also measure each change along the way to avoid premature optimization. As a result, you’ll be able to benchmark and improve your database queries. You’ll learn how to:

  • create a staging environment for performance testing
  • dynamically populate the staging database to simulate the production environment
  • use :select to speed up queries by limiting which columns are selected
  • use :include to eliminate N+1 query problems
  • use :joins to join associations with faster queries
  • how database indexes work and how to add them
  • benchmark the performance benefits of the various tuning options

Coming Soon:

  • iPhone SDK Development—We’re ready whenever Apple is…
  • Web Design Techniques for Programmers
  • Managing Websites with ExpressionEngine
  • Enterprise Recipes with Ruby and Rails
  • Debug It! Find, Repair, and Prevent Bugs
  • Job Hunting in the Tech World
  • ...and more!

Recently Released:

Thanks for your continued support,

Andy & Dave

www.PragProg.com