Sponsored links

Valid XHTML 1.0!
Valid CSS!

Product: Book - Hardcover
Title: Server+ Study Guide
Publisher: Sybex Inc
Authors: Brad Hryhoruk, Diana Bartley, Quentin Docter
Rating: 4/5
Customer opinion - 4 stars out of 5
Change authors, update book - Sybex has a winner!

Server+ hasn't been around that long but already the exam is being updated, Sybex has made a reputation on releasing reference manuals with the most accurate information possible. This book is no exception, they change authors, updated the material and you have been given a first class study guide.

Right as you open the book you are given an objective map to follow. The book is broken down in the 5 parts, install which include planning to installing and administration. Hardware from storage to networking to RIAD, which by the way is one of the best breakdowns I have seen so far.

The NOSes with TCP/IP, which should have a little more information, although it does a fairly good job of covering. Upgrading, maintenance, backups and disaster recovery are next followed by 70+ pages of troubleshooting.

The authors are well organized and the book can be studied from any point in the book. There are more than enough practice questions in the book and the cd has Edge Test practice exams as well as palm flash cards and an e-book. Overall the changes are needed and the book will certainly help.

Product: Book - Paperback
Title: Effective Oracle by Design (Osborne ORACLE Press Series)
Publisher: McGraw-Hill Osborne Media
Authors: Thomas Kyte
Rating: 5/5
Customer opinion - 5 stars out of 5
Essential Oracle for all DBAs & Developers

If possible, this book may be even better than Oracle One-on-One. Simply the finest collection of practical suggestions & design principles I've ever seen in one place and I have a large Oracle library. This book is a page-turner. Kudos to Tom!

Product: Book - Paperback
Title: Creating Motion Graphics with After Effects (With CD-ROM)
Publisher: CMP Books
Authors: Trish Meyer, Chris Meyer
Rating: 5/5
Customer opinion - 5 stars out of 5
Excellent achievement.

A truly an excellent achievement. At long last, a book that does not insult the reader's intelligence by spoonfeeding her step-by-step instructions to completely useless projects. Every single line of text, and every one of the numerous (read: hundreds) of examples comes straight out of real life -- and you better believe it, for the Meyers have been at it for years (check out their excellent work on "The Talented Mr. Rilpey").
And if that is not enough, consider that all this is packed into a full-color, well-bound, highly readable tome written fluently and concisely. The accompanying CD alone -- absolutely packed with goodies -- is worth more than the cover price.
I've read some of the other reviews and have to say I disagree with most of the criticism. For one thing, I do not believe this book is too busy. At first glance, I was blown away by the efficient layout, packed to the brim with useful information and cool shortcuts. Browse through the text to get a general idea about what is being said and then go for a second more thorough read to get down the techniques described. Yes, the writing is that intuitive.
As for the fact that the projects are only compatible with AE 4.1, the demo version supplied was more than enough. After all, only the save and render options are disabled! I simply follow the book and sample projects with 4.1 demo, and then load up my AE 4.0 (full version) to do some fiddling of my own. After all, computer software guides do have to keep up with the times, and the Meyers do that admirably and honestly, without suckering the readers.
In fact, I think word for word, dollar for dollar, this book is fantastic value for money both as a tutorial and and comprehensive reference.
This is a must buy. Now, if only there were a similar guide to Premiere. How about it, Trish and Chris?

Product: Book - Paperback
Title: Hibernate in Action (In Action series)
Publisher: Manning Publications
Authors: Christian Bauer, Gavin King
Rating: 5/5
Customer opinion - 5 stars out of 5
The right way of developing and tuning a Hibernate-based app

From a documentation point of view, Hibernate is one of the most notable exception in the world of open-source LGPL'ed projects. Its website offers a plethora of information, from solid documentation (the reference has no less than 141 pages) and various FAQs to sample projects and third-party resources. The forum is quite active and you may get answers to tricky questions. Or a little bit of rough treatment in case you haven't RTFM - but that is understandable, given the number of questions that the authors have to answer every day.

Under these circumstances, one might wonder what Gavin King (Hibernate founder) and Christian Bauer (documentation/website maintainer and Hibernate core developer) can add in order to be able to write a 400-pages book about Hibernate. I mean - sure - only by joining the reference documentation, different FAQs and guides, one can easily 'extract' a hefty 'manuscript' with more than 200 pages.

Well, I am extremely glad to tell you that this is not the case. The book not only gets you up to speed with Hibernate and its features (which the documentation does quite well). It also introduces you to the <strong>right way of developing and tuning an industrial-quality Hibernate application</strong>. I consider myself a pretty seasoned Hibernate developer, being familiar with the API since its 1.2 version in Q1-2002 (if I remember well the first app when we used Hibernate). However, I was proved wrong by "Hibernate in action" which describes best practices and even API features that were unknown or vaguely known to me. That is, until now.

The first chapter, in the good tradition of all first chapters in the world, is an introduction. It's a very well written introduction about why do we need ORM solutions in OO applications. The chapter explains the O/R impedance mismatch, while declaring quickly that OODB suck (immature and not widely adopted). Wel'll also find out that EJB also suck from a persistence point of view (for various reasons). Which can be quite a surprise knowing that Gavin is one of the authors of EJB3.0 specs. Or, on the contrary, this will explain a lot of things in the new EJB specs.

Now that we have cleared the "why Hibernate" issue, let's continue to the second chapter. Which - tradition obliged - is a "Hello, world" and a "Let's get started" chapter. Here you go, almost 50 pages later you should be able to write simple Hibernate-based persistence layers and integrate within an application server, like for instance ... Jboss ! Humm, well, why not ? They are sponsors of the Hibernate project, after all.

In the 3rd chapter, our fresh knowledge will be put to good use by starting the development of an online auction application called CaveatEmptor. This app will follow our reading progression and will grow bigger and smarter chapter by chapter. But for the moment, we are at the inception phase. What gives : a little bit of analysis, a stylish class diagram of the domain model and the resulting mapping file. And if you thought (based on 2nd chapter) that the mapping file is very intuitive and simple, you're in for a big surprise : it is, indeed, intuitive and simple ! Quite bizarre for an open-source project. As a matter of fact, the mapping file is one of the pivotal elements of Hibernate, since it addresses directly the O/R impedance mismatch, a recipy for transparent linking your POJOs and the constrained relational model. No wonder that a big part of this chapter is aimed at explaining why and how the mapping works in Hibernate. You'll see how class associations and inheritance translate at the metadata and mapping level. You'll start to understand the things that you took for granted in the previous chapter and you'll have that pleasant "uuh, I see" chain reaction. Hold on, it's just the beginning.

Because chapter 4 is going to explain once and for all the lifecycle of persistent object in Hibernate, their behavior from a persistence point of view as well as the available fetching strategies. And if you thought you already knew everything by heart from the documentation ... well, maybe you do know everything by heart. Nevertheless, it's very well synthetized in chapter 4 and I'll recommend it anytime to a coworker eager for Hibernate knowlege.

In the next chapter (the 5th) the rollercoaster slows down a bit. That is, if you already know the behavior associated with the four possible isolation modes in transactions, what are the different types of locking, what (the hell) MVCC means and the importance of transaction scopes. Chances are you already know some of this stuff quite well, but everybody needs a refresher from time to time, especially when it's well explained and when it comes with versioning and caching (1st and 2nd level) in Hibernate as a desert. By the way, I thought that OSCache supports clustering, not only SwarmCache and JbossCache, as stated in the book. There's even a thoroughly explained example of using JbossCache as a level 2 clustered cache for Hibernate, but it shouldn't be too hard to convert to other types of caching systems.

Now, if I were the author of the book, I would have placed chapter 6 before chapter 5. But I am not the author, which is quite fortunate for you dear readers since Christian and Gavin are much more competent than me at writing books about Hibernate (and probably at some other unrelated domains). They have decided to go back to mapping in chapter 6, after the short transaction/caching intermezzo. Well, they should know better... it's time for a serious dose of <strong>advanced</strong> mapping. This chapter is attacking interesting subjects such as custom mapping types (simple or composite) and (finally) the mapping of collections. Special guests stars: the whole gang of "sets, bags, lists and maps", together with explanations about their relational equivalent (associations, associations and associations !). Oh and yes "polymorphic association" (section 6.4.3) - I wasn't even aware that Hibernate is able to do that... guess I'm not that 'seasoned' (as a Hibernate developer) after all.

The 7th chapter is about "Retrieving objects efficiently" : about 45 pages for the 'retrieving' part and 6 pages for the 'efficiently' part. Fair enough ! You'll learn how to master basic HQL queries (parameters, pagination ...). You'll get a grip on the query by criteria API, as well as on advanced stuff such as dynamic queries, filters, subqueries and native SQL (very powerful). At the end of the chapter there's the Hibernate-specific solution for the n+1 selects problem, query caching and result iterators.

Following this wealth of useful knowledge, the 8th chapter starts a bit dry. Nevertheless, after a short introduction about Hibernate in managed environments, you'll find yourself again in the land of advanced programming techniques : application-level transaction implementation ! This is mostly new stuff (at least for me) - a great collection of best practices for transactional behavior management in industrial-quality apps. Somewhat unrelated but still interesting, the chapter ends with legacy schemas integration and a smart implementation example for audit logging.

The 9th (and last) chapter is about the roundtrip development in Hibernate using the classical toolset : Middlegen and/or hbm2java and/or XDoclet. All the available techniques are presented in a very detailed, step-by-step manner.

Wait : don't close the book, there's more ! Ignore Appendix A (a short and rather uninteresting document about SQL fundamentals - that is, if you know SQL). Appendix B contains mildly un-fascinating ORM implementation strategies <EM>pour les connaisseurs</EM> (come on guys, I'm just a dumb user). But - Appendix C is a great collection of real-world stories and by all means read them all ! Especially the last one, a treasure of hard to find knowledge (no spoilers, please...).

In the end, I have to confess that there is something truly interesting about 'Hibernate In Action' : albeit very technical, it reads astonishingly easy - and this kind of books is unfortunately very rare nowadays. My congratulations to the authors for this excellent piece of work - it was worth the wait.

As for you dear potential reader, if you already know all the information detailed in the book, I bow before you, great Hibernate wizard. But if you don't, what are you waiting for ? Because, if you're going to read only one technical book this summer, make sure that it's 'Hibernate In Action' (or, at least chapters 6,7 and 8, if you are that good !).