|
Perl @ Web Programming
Programming Shed : Programmer Store & Resources |
|
|
|
Perl Index - Perl Book : Writing Apache Modules with Perl and C
by Lincoln Stein, Doug MacEachern, Linda Mui (Editor) Paperback: 724 pages Dimensions (in inches): 1.22 x 9.22 x 7.00 Publisher: O'Reilly & Associates ISBN: 156592567X; 1st edition (March 1999) Writing Apache Modules with Perl and C will allow you to enhance your Apache HTTP server in just about any way you'd like. Overall, it is an excellent book, and it has a lot of good information and terrific examples on everything from "Content Handlers" to customizing the Apache server configuration process. It's quickly apparent that Lincoln Stein and Doug MacEachern spent valuable time writing this book considering the breadth of their subject and the depth they devote to it. The only downside to the book is that it's kind of hard to explain all of the API functionality without assuming a minimum level of competence from the audience. For that reason, this book might be a bit intimidating to novice programmers, but it really rewards you if you put time into it and tinker with things. The book also works well as a source of ideas and inspiration for when you have to write your own server modules, and I'd recommend it if you want to customize your Apache server or speed up your Perl CGI programs. --Doug Beaver Book Description: This guide to Web programming teaches you how to extend the capabilities of the Apache Web server. It explains the design of Apache, mod_perl, and the Apache API, then demonstrates how to use them to rewrite CGI scripts, filter HTML documents on the server-side, enhance server log functionality, convert file formats on the fly, and more. Ingram: This guide to Web programming teaches readers how to extend the capabilities of the Apache Web server. The book explains the design of Apache, mod_perl, and the Apache API, then demonstrates how to use them to rewrite CGI scripts, filter HTML documents on the server-side, enhance server log functionality, convert file formats on the fly, and more. Book Info: Explains the design of Apache, mod_perl, and the Apache API and how to use them to extend the capabilities of your web server. Customer Reviews Reviewer: Tony Williams from Neutral Bay, NSW Australia I once read that you could not consider yourself a Unix Wizard until you had hand written a SendMail configure script once, and that no sane person ever did it twice. The first part of that truism can perhaps be said of Web Wizards and Apache modules. Fortunately Apache modules are a little easier to write than Sendmail configurations and this book makes it easier still. Let's not mince words. Perl scripts and other CGI software can quickly become performance bottlenecks on any server, no matter the size of your hardware. The most powerful way of fixing this is to fold a fair amount of that programming inside the server where the overhead of loading interpreters, libraries and code is already taken care of, not to mention you find yourself with much more power and control over the dialogue between server and browser. Unfortunately writing to an API as large and complex as that in Apache is not always easy. MacEachern and Stein go to a great deal of trouble and exert a fair degree of skill in breaking the learning down into manageable chunks and explaining it all with a large number of examples. This was the first book I read that really made me understand the process going on, both between the two pieces of software and inside Apache, when a page is requested. From there the book goes on to give you a marvellous understanding of how to write a module in Perl that fits into that process. Finally the last three chapters are excellent API reference guides, one on the Perl API and two on the C API, and an excellent index (which indexes every function in the API's as well as key concepts) make this a superb tool when you get down to writing. The book does not cover using C in any where near as much depth, but the vital conceptual understanding required and explained in the Perl chapters means that once you have written a module in Perl I don't believe you will find it a problem to do it in C. I have to say though, as a C programmer I am yet to do it, I get so much performance out of a module in Perl I've yet to find the need. I read this book before starting my first module and I have now written three. I would never have even contemplated the task before reading this volume. I would recommend this book to anyone who wants to get a full understanding of writing software for the web and anyone who wants a quantum leap in the performance of their web software. You will need some fair Perl skills and preferably written a few CGI scripts as this book does not cover the language skills required at all. Reviewer: Matthew Amster-Burton from NYC Writing Apache Modules is quintessential O'Reilly. They have taken an arcane but potentially useful topic and produced a readable, entertaining, complete, and authoritative guide to it. The book's 700 pages are nearly 3/4 tutorial, which walks you through the writing of dozens of Apache modules, mostly in Perl. (C is covered in less detail, but it's all there.) You'll learn how to write modules for every Apache request stage. The Perl code is technically excellent and well-formatted, and they don't shy away from using useful CPAN modules. Database examples use the free and popular MySQL. No matter what kind of Apache module you're thinking about writing, this book will surely have an example that will get you started, and the reference section will keep you going. I have read literally dozens of O'Reilly books, and this is among the very best they've ever done. Reviewer: percy_smogg from Tulsa, OK USA A good tutorial starts out with something basic and gradually builds on it. This book starts out with three chapters of pure reference material. Granted some of this is a half-assed description of setting up Apache and compiling in mod_perl. I found the docs that come with the Apache and mod_perl source code to be far more useful (and accurate). Then you get this long list of Perl API classes, request object functions, Perl handlers, etc. All of which is wonderfully useful information ... presented at the wrong time ... we have yet to begin writing a useful module. When we do begin the writing of a module, it isn't a basic, stand-alone module, but a module to add footers to other content. So, the text digresses into a long and technical discussion of the various ways to configure Apache and associate MIME types so that this module will work with documents that we might or might not have on hand (It's just assumed that you have these laying around handy). During this discussion, we get bounced off of other Apache::xyz modules that apparently popped into the author's head in a moment of "As long as we're at it, why don't we throw this in too" inspiration. Wonderful information ... presented at the wrong time. To give an example: A logical place to start learning Oracle SQL (or any other SQL) would be with the SELECT statement. However, the authors of this book would begin with a detailed discussion of PL/SQL exception handling, a listing of most of the built-in PL/SQL exceptions, and a listing of a number of the built-in Oracle packages. (Recall we were just starting with SQL. But what the heck! PL/SQL is cool, so why not talk about it now? We're going to use it eventually anyway.) Then for your first select statement, you would write something that used a complex join, a correlated subquery, and a few built-in functions. Well, obviously, we can't just throw this extra stuff in there and not talk about it. So we go whirling off into a discussion of complex joins, correlated subqueries and any other tangents that happen to pop into our head. And when it is all said and done, we still don't know how to display the entire contents of the EMP table. This is a classic of case of making it difficult to see the forrest because of all the trees. The authors of this book have made no attempt to devise a progressive model for building knowledge. Instead, information is dumped on the reader apparently in the order it came to mind. Maybe this is a problem with having multiple authors. Perhaps the parts were written independently, then slung together. That's what it looks like. I suppose this book will get you to where you are going ... eventually. But I suspect you will spend considerable time flipping back and forth between chapters re-reading and re-re-reading sections in order to re-assemble the information in a somewhat logical pattern; hence the comparison to a 5,000 piece puzzle. For those who might be wondering: This book assumes you already know the Perl language. If you don't, the "Learning Perl" book is a good starting point (you do NOT want "Programming Perl" at this point). You will probably also want to get some knowledge of HTML and building web documents. And you will probably want to get at least a basic knowledge of custom configuring an Apache installation. Reviewer: Reader from Bloomington, IN USA The book in and of itself, is great. Typical O'Reilly fare. But this book is 99% Perl.. anyone writing Apache Modules, isn't writing them in Perl. Perl is great since it works as an add-on thats written in "C"! This book is more a mod_Perl users guide. |
|
|
© 2005-2006, Programming Shed
|