Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
Programming Books Media Perl Software Book Reviews IT Technology Apache

Open Source Web Development With LAMP 104

Alan Eibner submitted this review of Addison-Wesley's Open Source Web Development With LAMP. He writes "The number of books about Web development technologies is astounding. Some claim you can learn everything you need to know in 24 hours. Others require several complementary volumes in order to learn the subject. Why another web development book? And what sets this one apart from the rest?" Read on for the rest of Alan's chapter-by-chapter review. Update: 04/11 18:22 GMT by T : I'd called this an O'Reilly book rather than Addison-Wesley; sorry, now fixed.
Open Source Web Development with LAMP
author James Lee, Brent Ware
pages 496
publisher Addison-Wesley
rating 10
reviewer Alan Eibner
ISBN 020177061X
summary All the Open Source web technologies in one easy to read place.

Open Source Web Development with LAMP (henceforth OSWB) has a difficult goal: to teach you enough about all the LAMP (Linux, Apache, MySQL, Perl/Mod_Perl/PHP) technologies that you can start developing static and dynamic websites right away. How on earth can they cover so much in one ~500 page book, you ask?

The Theory

The authors do not intend to teach every little bit about the web technologies they cover. No book binding is that strong, but the reason is more subtle than that. When you try to cover everything, you lose perspective about the pros and cons of the technologies.

Instead, the authors try to teach you enough about the technologies to hit the road running, and provide you pointers to websites, man pages, and other books where you can learn the pieces they don't cover. I think the authors' words themselves describe it best -- quoting from the Introduction:

"Based on experience, we believe that 80 percent of the utility of any complicated tool is the result of knowing 20 percent of the uses of that tool, whether that tool be software, hardware, mechanical, or electronic. Swiss Army knives are excellent and versatile tools, but most of the time, you just use the blade or the screwdriver.

The purpose of this book is to introduce you to that 20 percent -- the blade and the screwdriver -- that opens up the most functionality, and to make you aware of the remaining 80 percent so you can use the other tools when most appropriate."

This is the goal of the book -- a goal that I believe they fulfilled superbly.

The Authors

James Lee is the lead author of OSWB. He's a Perl and Open Source trainer, programmer, hacker and who-knows-what-else at Onsight, Inc.. He's also co-author of Hacking Linux Exposed first and second editions. (./ review of HLE 2nd edition)

Brent Ware, co-author of OSWB, has a PhD in Physics, has done the Dot Com thing, failed to get independently wealthy, and now gets paid to play with lasers, but would rather be climbing mountains. He was also a contributing author to Hacking Linux Exposed.

(Descriptions are based on their Bios, intuition, and unsubstantiated rumors.)

The Book

  • Part I: Structural

    • Chapter 1: The Web Explained
    • Chapter 2: Linux - the Choice of a GNU generation

      These two chapters are mainly here for folks new to Web development in a Linux/Non-Microsoft environment. They do a superb job of explaining why LAMP is a good solution for both technology and monetary reasons. A great read, especially for your manager who keeps asking why you shouldn't use some proprietary development tools. It also shows you what HTTP actually looks like, and the difference between static HTML, dynamic websites, and embedded web programming languages.

    • Chapter 3: Apache Webserver

      Next they provide information about configuring Apache, creating password-restricted access, and other security considerations. At about 20 pages, this is fast and concise, but contains all you really need to know when setting up your Apache server.

    • Chapter 4: Perl

      Following the 20/80 rule, the authors manage to teach you the Perl you'll need to know in order to generate web content. They don't go into things like creating network sockets, shared memory, or the Foo::Bar::Never::Necessary module. What you do get is all the I/O, flow control, datatypes, regexps, system access, scoping, best practices (use strict, etc), and enough OO to use modules that require it. (Database access via DBI is covered later, don't worry.)

    • Chapter 5: MySQL

      Here they teach you to install MySQL databases, tables, and enough SQL to do what you need to do. The examples are excellent and frequently amusing. This is also where the book starts to really begin its integration of multiple technologies. We'll be referring back here later when we start programming web front-ends to MySQL databases.

  • Part II: Static

    • Chapter 6: WML

      For those that don't know, WML is the Website Meta Language. WML allows you to create static HTML files using a very powerful suite of pre-processing, macros, eperl, and HTML shortcuts. By creating site templates, WML can manage all your links and layout, leaving you to concentrate on the content of each page. OSWB is the only book I know of that discusses WML.

  • Part III: Dynamic

    • Chapter 7: CGI

      First, the authors discuss how dynamic HTTP actually works -- GET/POST requests, variable passing, types of fields, and security implications. This will be important for all the remaining chapters of the book. The chapter then continues with a focus on perl and CGI.pm for CGI development, including a fully functional CGI/MySQL/DBI project.

    • Chapter 8: mod_perl

      For those who want to get more performance out of dynamic perl-created content, mod_perl is the answer. The authors explain the ways you can create mod_perl code, the differences between this and the CGI.pm environment, and then continue with a mod_perl MySQL/DBI project. This chapter is worth the cost of the book alone.

  • Part IV: Embedded Languages

    • Chapter 9: Server Side Includes

      I think most people agree that SSI is pretty much dead, when compared to the more functional languages we have nowadays. The authors give a very complete synopsis in about 10 pages.

    • Chapter 10: Embperl
    • Chapter 11: Mason
    • Chapter 11: PHP

      If you want to use an embedded language (where the code is inside the HTML files themselves) then you're much more likely to use one of these three languages. I'd never heard of Embperl or Mason before, but they seem to be an excellent middle ground between CGI and mod_perl. They both are explained extremely well. Since they are based on Perl, much of the background was already covered in Chapter 4, so the authors concentrate on the important features, rather than the language constructs.

      PHP is, of course, completely different than Perl, and thus Chapter 11 needs to teach everything from the constructs and datatypes up to database integration. Yet somehow it manages to do so with ease. It also concludes with a database-driven project ripe for you to modify for your own needs.

Short notes

Some short comments that didn't seem to fit anywhere else in this review:

  • Distro: OSWB does assume a Red Hat installation for its example configurations, but does a good job of remaining distro-agnostic aside from pathnames, and letting you know the differences you're likely to face.

  • Humor: Lee and Ware are funny - reading this book is really enjoyable because they are constantly weaving humor into it.

  • Security: Security is discussed whenever appropriate in the book, which is not a surprise, given the authors' association with Hacking Linux Exposed.

  • Omissions: The "What We Didn't Talk About" section is excellent. Most books deny what they haven't covered. OSWB tells you exactly what they haven't taught you, and point you to the places you can get more information if you need it.

  • Projects: The book has many projects that let you learn and experiment with the languages directly. Each one could serve as a branching-off point for your own website's needs.

  • Integration: Since OSWB covers all the technologies, you don't have constant overlap or redundancies; that lets it stay lean and tight. For example WML allows you to include perl code, but since you already learned perl in Chapter 4 the authors don't need to start from the ground up. However, they do keep introducing us to new and neat features in all their subsequent code examples.

The Website

The OSWB website at OpenSourceWebBook.com is written in the languages they discuss, and all the original source code used to build the website and the rest of the code in the book is available for download. Snippets of the code for the website is shown as examples with commentary in the book, letting you really see how everything fits together. These guys fall squarely into the practice-what-you-preach category.

The Verdict

By not trying to teach every nuance and advanced feature of each of these languages and technologies fully, you actually have a much better book. At the end you have an excellent understanding of what tools are out there, and can best choose the ones you should use for a given purpose. I came away from this book and immediately used a combination of WML templates + mod_perl + MySQL to create a very robust dynamic web application using only the info in the book and a few choice man pages.

I'd recommend this book both to nitty-gritty web developers, and also to non-techies who want to be able to understand the technologies that are out there, to help create informed decisions when starting any web development project.


You can purchase Open Source Web Development With LAMP from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

This discussion has been archived. No new comments can be posted.

Open Source Web Development With LAMP

Comments Filter:
  • by ftlstl ( 639654 ) on Friday April 11, 2003 @12:02PM (#5711044)
    I remember reading that any sales of Hacking Linux Exposed [hackinglinuxexposed.com] are donating online procedes to the Electronic Frontier Foundation [eff.org]. (See their Books Purchasing Page [hackinglinuxexposed.com]. They list a lot of other great books too.)

    Is this the case for Open Source Web Development with LAMP? Since James Lee is an author on both, I'd think that'd be the case, but I don't see anything meantioned on the OSWB Book Purchasing Page [opensourcewebbook.com].

  • Great Book (Score:5, Interesting)

    by Squid Monkey ( 641696 ) on Friday April 11, 2003 @12:05PM (#5711066)
    I was applying for a web development position. I'd had CGI under my belt for ages (I still have a copy of the original NCSA web server running on one of my machines for grins) but never really got into the other languages and way of writing dynamic code. When I lost my job as a sys admin, I wasn't able to find any "honest" work in that field, so I thought I might need to fall back on my historic web development skills.

    In the store one day I was looking for a good book to get me up to speed on all the languages I'd been thumbing my nose at all this time. I came across OSWD w/LAMP, and flipping through it could tell it was just what I needed. When I noticed that it was by one of the guys who wrote Hacking Linux Exposed I knew that not only would it be useful in helping me do dynamic websites, but it would contain the security pointers I'd need to be able to do so in a secure manner.

    Ironically, the day I bought it, a company scheduled an interview for me for a web development position the following day. So I read the entire book, cover to cover, in one night without the chance to actually try out the code. Nonetheless, I learned so much just from reading it without even typing a line of code that I totally smoked the interview. The interview was very technical, asking differences between the languages and pros/cons, as well as having me write code off the top of my head to do things in the different languages.

    I can't recommend this book enough.

    • I'd had CGI under my belt for ages ... but never really got into the other languages and way of writing dynamic code.

      So I read the entire book, cover to cover, in one night without the chance to actually try out the code. Nonetheless, I learned so much just from reading it without even typing a line of code that I totally smoked the interview. The interview was very technical, asking differences between the languages and pros/cons, as well as having me write code off the top of my head to do things in t

  • by andy braaten ( 663675 ) on Friday April 11, 2003 @12:10PM (#5711105)
    Linux, linux, linux, oh how I hate that buzzword.

    Not counting the installation instructions, this book applies to any Unix machine. The authors did cover configuration in just the right amount of depth, which applies everywhere, but were brief about the installation, which is actually a good thing. I got this book for new web developers at our company. We have about 50 FreeBSD servers in our server farm that do all the web stuff, and other than the install notes in this book, every byte was applicable to us as well.

    My only objection? Having a title that implies that only Linux can do this.

    • Yeah it's the Gnu stuff that binds it all together, but GAMP just doesn't have that ring to it. And some people use PostreSQL too, but we can always slide that in under the P. ;o)

    • My only objection? Having a title that implies that only Linux can do this.

      Yeah, but, Linux is the only OS that can do LAMP. Now, maybe the trinity of open-sourced BSDs (Open, Free, Net) could do BAMP instead. But, that would be a completely different book, Open Source Development Using BAMP.

      My only complant is not enough BSD books out there.

    • Imagine if BSD were the one in the spotlight. We might be reading a book with "BAMP" in the title. See how wrong that is? Thank your lucky stars that it's Linux and NOT BSD.

      (removing tongue from cheek...)

      -diggem
    • Thanks for buying the book!

      We didn't mean to imply that only Linux could do this stuff, but you have to admit that LAMP is a better acronym than UAMP (Unix), BAMP (BSD), BLAMP (BSD/Linux), G/LAMP (GNU/Linux), MAMP (Mac OS X) or some combinatorial subset thereof. We say in the intro that most of the book is suitable not only for Linux, but most *nix-based machines.

      But hey, LAMP is good marketing, and I didn't want to spend a year working on a book called BLAMP.
      • Wouldn't most of the book apply to Apache on any platform? (In particular, Apache on Windows, provided mod_perl has been ported to Windows.) So perhaps it was not necessary to mention the operating system at all.

        Instructions about 'how to build the Apache source code' are OS-specific, but it probably makes more sense to write a book assuming that Apache is already installed, since the procedure for installing it varies so much (rpm/deb/binary tgz/build-from-source/GNU stow/Windows installer/etc).
        • >Wouldn't most of the book apply to Apache on any platform?

          I believe this to be largely true, but haven't really kept up with what's available on other non-*nix platforms (cough - Windows), so didn't want to talk out of school.
      • I don't believe for one second the emphasis was on Linux because it made for a better acronym. Why not go with "AMP" ? Sticking "Linux" on the cover just helps the publishers capitalize on the Linux buzz, which makes me immediately wary of the book.
  • Excellent Review (Score:4, Interesting)

    by TheFlyingGoat ( 161967 ) on Friday April 11, 2003 @12:10PM (#5711109) Homepage Journal
    This is one of the better book reviews I've read on Slashdot. Kudos to Alan Eibner for putting together a clear, concise, and complete article. Note to future book reviewers: don't list the chapters and a summary of the book... try breaking down each chapter, and then the book as a whole. It seems to come out much better. :)
  • by burgburgburg ( 574866 ) <splisken06@email. c o m> on Friday April 11, 2003 @12:12PM (#5711116)
    LAMP (Linux, Apache, Mod_Perl, PHP)
    SOFA (Suite of Free Applications)
    LEATHER (Linux Expressions Applications That Have Extensible Results)
    CHAIR (Combined HURD Apache Interface Regexp)
  • by Brian Hatch ( 523490 ) <briNO@SPAMifokr.org> on Friday April 11, 2003 @12:12PM (#5711118) Homepage Journal
    I was one of the tech reviewers of OSWB. James and Brent wrote the thing in LaTeX, the lucky bastards, so I was able to see the whole thing as it unfolded, updated nightly via CVS over SSH. Now you might call me biased -- James and I have worked together for almost a decade now, and he's the one who badgered me into learning Perl way back when. And he's got a great pull out couch that my daugter and I sleep on when we go back to Evanston for Northwestern Homecoming every year. I got a free signed copy, but that's the only way I benefit -- OSWB sales don't affect my pocketbook in any way.

    So, with those disclaimers out of the way, here is my review of OSWB.

    Open Source Development with LAMP is the perfect book to learn a wide variety of server technologies that will have you writing useful, clean, fast, and productive websites before you finish reading it.

    I was one of the technical editors of this book, and was able to watch it evolve as they wrote. The authors have made a huge effort to make the book appropriate for multiple Linux distributions, and they have achieved the highest degree of technical accuracy.

    OSWB covers many different technologies, some complementary, some discreet. By showing you many of the possible tools, this book lets you decide which is best for the job at hand.

    The theory behind OSWB is that knowledge of 20% of a tool's capabilities will let you accomplish 80% of the tasks you face. OSWB does a superb job of giving the user a sizable introduction to webserver technologies that will be sufficient for most rojects, and tells you where you can get information for advanced needs. They have written their entire website with the exact same tools they teach you in the book, and they offer the entire source of their website for download for your investigation and reference, as well as all the samples and projects in the book itself.

    The gold in this book is not just the descriptions of how the languages work, but how you can use them singly or together to create interactive websites. Their are many sample projects which let you see how everything fits together, and much of the ode can be adapted immediately to your needs. The book is extremely well integrated and organized.

    I have used some of the languages described in this book, while others were completely new to me. I am definitely not a web design person, preferring to write back-end server software. However while reading OSWB, I was charged with creating a MySQL database with a customizable web interface for my alumni organization. Using only this book and a few perldoc commands, I was able to create an interactive mod_perl website in a few days.

    This book offers something to everyone, even advanced web designers. If you are starting out in Web technologies, or are curious about other ways you can get the job done, this is the book for you.

  • I don't know... (Score:5, Insightful)

    by kafka93 ( 243640 ) on Friday April 11, 2003 @12:14PM (#5711132)
    "goal: to teach you enough about all the LAMP (Linux, Apache, Perl/Mod_Perl/PHP) technologies "
    .. you'd think that if the book was so good it would've left the reviewer with the knowledge that LAMP stands for "Linux Apache MySQL Perl". But there we go.
    • Re:I don't know... (Score:4, Interesting)

      by Alan Eibner ( 663668 ) on Friday April 11, 2003 @12:20PM (#5711175)
      Aaaaaaaahhhhhhhhhhh!

      I worked long and hard on this review, and I make a totally stupid mistake like that? Crap.

      Hey timothy - care to fix my review?

      (Words fall on deaf ears...)

      Great, I'm going to look like an idiot in slashdot archives for all time. Yes, of course they cover MySQL - the entire second half of the book has project after project that uses it.

    • Agreed... (Score:3, Informative)

      Like I'm going to trust a review about a LAMP book from someone that doesn't even know what LAMP means. Linux, Apache, MySQL, PHP or Perl or Python.
      • ...doesn't even know what LAMP means...

        According to Gurunet, LAMP stands for:

        • Lake Acidification Mitigation Project
        • Lakewide Management Plan
        • Land A Mighty/Meaty Punch [my favorite]
        • Large Advanced Mirror Program
        • Linux, Apache, MySQL, PHP
        • Linux, Apache, MySQL, PHP/Python/Perl
        • Logistics Assessment Methodology Prototype
        • Logistics Automation Master Plan
    • (or, er, PHP, or whatever. You know what I meant. But then, of course, I knew what he meant..)
  • by Anonymous Coward
    Some claim you can learn everything you need to know in 24 hours.

    Clap on clap off. How long can that take to learn?

    I do find that LAMP is a benefit when reading dead tree reference material, but backlighting issues sometimes cause the need to disable LAMP, relying only on the ambient from the monitor.
  • Looks like it would be a great book to use for the purpose of informing corporate managers how an open-source web architecture would function, and what its advantages are over closed source. It ties together each of the disparate aspects of the necessary open source techonologies in a way that even a manager could understand & appreciate. Would be useful as a tool for convincing management to move from a propretary closed system (ie, Windows, IIS, ASP, MSSQL || Solaris, iPlanet, JSP, Oracle || Windows,
  • Free Alternatives (Score:5, Interesting)

    by Vilk ( 131239 ) on Friday April 11, 2003 @12:30PM (#5711265)
    Even as a professional web developer I cannot help but feel that books like these are, useful as they may be, totally redundant and devourers of perfectly good shelf space. The intricacies of setting up, maintaining, and administering a Linux webserver are numerous enough to warrant their own book and I suspect that one would be better suited buying a text on that particular topic and sticking to online resources for the others.

    The Internet is teeming with websites full of introductory material such as this. I'm almost positive that to establish a respected computing site you are required to have an Apache and/or mod_perl tutorial; these are so unnervingly common that one would think the entire world is stuck in a cycle of endlessly installing Apache. It's a great credit to the creators that it is so easy to install and administrate that the entire process of setting up a production-ready server can be covered in a few poorly-written online tutorials. Why buy a book if your needs can be satisfied by a quick Google search?

    I'll admit that the subjects of Apache and Linux administration may be too complex without a handy book, but PHP and perl? PHP's online manual is absolutely superb. No matter the size of the project or its complexity, if I have a question it will most assuredly be answered by a quick rifle through the documentation. And perl? PerlMonks is all you need. The monastery blows my mind.

    I'll be the first to recommend books on operating system design, theory, and microprocessor internals, and in fact my shelves are lined with them. It is, however, the unfortunate truth that introductory material is everywhere on the Internet but getting any deeper will require a speciality textbook; that is, of course, and not very ironically, unless you're a web developer. For the shallow depths that this book plumbs, I'd recommend saving the money for a guide to webserver administration and taking a visit to http://www.php.net [php.net] and http://www.perlmonks.org [perlmonks.org].
    • Have you considered the possibility that some people prefer reading large sums of new topics in natural light away from the computers.

      Other times, I use real resources to find things because I have a lot of context already going on in the computer and I don't want to futhur complicate what I see.

      I'm highly interested in this book because I've been meaning to get into Linux based web development for a while but had no firm starting point. I get Linux installed, and then it just sits there. At work, I cur
      • At work, I currently work on a IIS VBS ASP website on NT 4 using Oracle 8i (on some UNIX server). My love for Microsoft is not great and would like to eventually move the site off of NT.

        Yuck. Oracle's drivers (you need them to use Oracle-specific features, such as accessing large objects through OLE-DB) are piss-poor. If you're using the MS drivers or plain ODBC you should be fine, but if you require Oracle 8-specific features on NT using Oracle's client, I can only give you my best words. I've downed mor
        • O-btuse
          R-AM
          A-busing
          C-orrupt
          L-ame
          E-xecuti ble

          Is it a coincidence ? I think not .

          Even my supervisor at www.inet.com called
          this Or-suckle when I worked there .

          Peace...
          Ex-MislTech
        • Here's the best way I have found to use Oracle LOBs and access in general.
          Oracle's ODBC driver is pretty good. It supports "LEFT JOIN" and "RIGHT JOIN" all you have to do is "FROM { oj tbl1 INNER JOIN tlb2 ON tbl1.fld1 = tlb2.fld1 } " and it is all good there.

          Now, you use Microsoft ADO and use a loop with fld.GetChunk(128) and that is good. (Either keep a field to tell you how big it is or do special checks to see when you are done.)

          Finally, make sure all your LOB fields are the LAST fields selected in
    • Re:Free Alternatives (Score:2, Interesting)

      by bware ( 148533 )
      We wouldn't disagree with you on most of this. In fact, we spend a fair portion of the intro discussing online resources, and many if not most of our references are to online resources. I'm pretty sure that the two websites you mention are referenced in the book in appropriate places. We even say that Google and Google News are your best friends.

      That said, lots of those online resources are out of date, poorly maintained, contradictory, and even if they weren't, how is a person new to the game supposed
      • Re:Free Alternatives (Score:2, Interesting)

        by Vilk ( 131239 )
        Online resources truly can be horrendous and antiquated, especially considering that the open source movement chugs along at a good clip compared to commercial products. All things considered, however, PHP.net is still the best and most up to date resource for PHP and PerlMonks.org moves just as quickly and is chock-full of innovation and brilliant code.

        I'm honestly not trying to detract from the product of your efforts; you and the reviewer both clearly tout this book as a wide introduction to web develo
    • I agree with you about the wasted trees on configuration and all that. If I took all the chapters on how to install and set up Apache from just the PHP books I have and put them together, I have a dumpster sized pile of redundant material. Ditto for mySQL installation blah blah...

      HOWEVER, there is merit to having a book, as opposed to online documentation. Yes, php.net rocks. It's open in another window on my screen right now - often is.

      But this is a newbie/best practices book, and that is hard to get fro
  • by sulli ( 195030 ) on Friday April 11, 2003 @12:31PM (#5711269) Journal
    I post webpages in the dark.
  • by Galahad ( 24997 ) on Friday April 11, 2003 @12:31PM (#5711272) Homepage
    (Descriptions are based on their Bios, intuition, and unsubstantiated rumors.)

    Phoenix, Award, or AMI ?

  • Open Source Web Development with LAMP (henceforth OSWB)

    is what the 'B' stands for.

  • From the office of Iraqi Information Minister Mohammed Saeed al-Sahhaf (aka Baghdad Bob):

    "No LAMPs have been looted from government offices [person seen running through streets in background with LAMP]. It is all lies! Evrything is okay!"

    More at 11.
  • JOLA - For Coprorate (Score:2, Informative)

    by Anonymous Coward
    LAMP is good, but JOLA seems to be the best mix of technologies for the corporate environment. Java is a mature programming environment already being blessed by many F500 companies. Oracle is more trusted than mySQL and Postgres. Like Java, Oracle has a proven track record and probably already has an install base at most F500 companies. Linux...this is a GREAT way to get an Open Source platform in the door. Apache, the same way. With RedHat and Oracle being G. certified...this seems to be a no brainer
  • O'Reilly???? (Score:2, Informative)

    by Anonymous Coward
    This is not an O'Reilly book!
  • It's from Addison-Wesley, not O'Reilly.

    No animal. No hand-tools. Must not be ORA.

  • Sorry to be off-topic, but this review sparked a question that has been lurking at the back of my mind for a while now.

    I am in charge of all the web development for a medium-sized parachurch organization, the Willow Creek Association [willowcreek.com]. I come from a hand-coded HTML background; I do most of my page edits/development in Visual InterDev. We run NT 4.0/IIS 4/ASP 3.0 on our web server.

    I have relied heavily on SSIs to include header, footer, and sidebar on our web pages. I have been hearing for over a year now t
    • If you're just using SSI to include header/sidebar/etc stuff, then what you should really do is save your CPU cycles and use WML. SSI requires each page get's rewritten each time, each 'exec' gets run each time. If you're just using it for the window dressing, you're better off with static pages.

      That's where WML works - you can still keep all your window dressing in one place, you still include it automatically from your new docs, so no copy/paste problems or big hassles when you want to change the enti

    • If you're just using SSI for headers, footers, and so on, you'll get better performance by using a tool that can generate static pages from some sort of template that says where the various bits of content go.

      The tool I use for this is Dreamweaver, from Macromedia. It gives you a WYSIWIG view of your web pages and lets you define templates, "library items", and so on. When you change a library item or template, it updates every affected page:

      Pros:

      • WYSIWIG view. (I think it's a "pro", anyway. I used
  • by esconsult1 ( 203878 ) on Friday April 11, 2003 @01:39PM (#5711825) Homepage Journal
    Sure, you'll be able to learn how to use the underlying technologies to create web programs, but what about teaching people how to create proper web programs in the first place. Budding web developers need to learn about practices such as:

    • Scalability
    • Caching
    • Database Independent Libraries
    • User Authentication methodologies
    • Connection Pooling
    • Code/HTML Separation: Templates
    • Modular programming & Libraries
    • Web security techniques
    • Sessions and cookies

    All the above items are technology neutral, and applicable, whether you are a Micro$oft or Open Source programmer, or a Java junkie.

    IMHO, because of the lack of such books, we have truly terrible web coding practices out there right now. Instead of such books, we have the latest "LAMP Book Of The Week". The LAMP books are ok, but due to the web development practices presented in 97% of them, I cannot recommend to friends and colleagues.

    If there is such a book out there, then let me know, because I have not seen one.

    • I agree that the skills you point out are good to know ... but I would disagree that they belong in an intro level book.

      For the person who doesn't even know how to make a DB connection, teaching connection pooling is going to be a failure. They need to be able to build their own "Hello World"s so that they can get a basic understanding of what the pieces are, and what they do, and how to manipulate them.

      Once they know the basics of building a dynamic site, THEN they can move on to performance enhancements
    • This book should be called "Web Page Development", while what you describe is about "Web Application Development". The problem is that most of so-called web-developers do not know the difference, they just prototype few pages and then decide to extend them to meet the most of obvious business requirements for future web application. Result? It's unscalable, unrelable, unsecure, unpredictable, unmodular and often yet slow.

      As for LAMP, I support only first letter, L (Linux), while the rest three are for web

    • Lee and Ware do cover these issues. Persistant database connections, user authentication methods (both in Apache and in CGI/mod_perl/etc), caching (how it affects 'scripting' languages, etc), proper way to create user sessions with cookies, templates (as used in WML mostly). Even though it's an intro level book, they cover many issues that are often explained poorly or burried in other books.

      The whole goal of this book was to explain how to do things the right way. Unlike most other LAMP books, they do

      • I don't get it: "The whole goal of this book was to explain how to do things the right way.".

        By this you mean that mod_perl (OUCH!!!)/cgi (OUCH!!!)/persistent database connections (OUCH!!!) are "doing things the right way"?

        Well, if you're implying that then I agree that the title of the book is way off - it should be "developing web pages for dummies" instead.

        # Scalability
        cgi - no way
        perl - probaly not, prove me wrong
        persistent database connections - hmm, a though one - depends entirely on impleme

    • I don't disagree with you, but recognize that any book that isn't to be lifted with a forklift has to make choices. Your book would have had different subject matter than the one we chose to write.

      We discussed addressing at least some of these, but the book is already 460 pages, and we felt that these were out of the scope for the audience we chose.

      We talk about web security where ever possible, but again, it's a big subject and one that deserves its own study once the student is ready. We try to point
  • Linux, Apache, MySQL, PHP.
    And no, that's *not* Perl.
    I wonder who got that idea at first.
  • How can anybody even consider this book as being serious. I only know one or two people that even use perl for web development anymore. The only people I still see using perl are the ones that are scared to learn a new language. This book is a history book in my opinion.

Machines certainly can solve problems, store information, correlate, and play games -- but not with pleasure. -- Leo Rosten

Working...