|
SOFTWARE DESIGN BOOKS
Posted in Software Design (Friday, July 4, 2008)
Written by Scott W. Ambler and Pramodkumar J. Sadalage. By Addison-Wesley Professional.
The regular list price is $54.99.
Sells new for $34.97.
There are some available for $34.96.
Read more...
Purchase Information
5 comments about Refactoring Databases: Evolutionary Database Design (The Addison-Wesley Signature Series).
- This book is helpful for applying the basic coding practices that have been so useful in keeping code in good shape to the messy world of the DBA. It was always shocking to me how poor most DBAs were at making changes to their schema and the data. The great ones I have worked with already did a lot of stuff in this book- use scripts, etc. The other ones need to learn- and developers need to learn to if they are working sans DBA.
- Scott Ambler and Pramod Sadalage wrote Refactoring Databases, they say, "to share their experiences and techniques at evolving database schemas via refactoring". The book, particularly in the thorough list of refactorings detailed in later chapters, reveals them to be experienced users of, and writers about, agile development approaches. Their core premise is that data and databases must evolve in the same way as code does - that is incrementally.
They argue persuasively that a big-bang, up-front approach to database design is unacceptable in a modern environment. There is simply too much change and too much uncertainty in the business world for this to be realistic. The basic techniques for evolutionary database design include refactoring (the topic of the book), evolving the data model, database regression testing and configuration management and developer sandboxes. This more evolutionary approach is going to be a big shock for many data professionals, something the authors note, but I think the need for effective evolution and ongoing development of applications and thus their databases is compelling. "Change time", the period after an application (or database) is first deployed is bar far the majority of the life of an application. Techniques that help you cope with this, like database refactoring, are a good thing. Database refactoring as described in the book, is part of an evolutionary approach and with development teams taking on SCRUM, XP and other agile methods it is more important than ever for database teams to do likewise. Many data professionals will likely have the same knee-jerk reaction I did when first approaching this - Why not just get it right up front? But if you believe that agile model-driven development is here to stay for code then you have to accept the need for the same approach to database design.
Martin Fowler's original book Refactoring: Improving the Design of Existing Code made the point that a refactoring must retain the behavioral semantics of the code and this is just as true in databases. The authors take great pains to explain refactoring in enough detail that it you can apply it constantly to keep the database as clean and easy to modify as possible. They emphasize repeatedly the value of test-driven or test first development - even in database design and deployment. The authors stress the importance of testing, especially regression testing, of all the components that access a database when refactoring it. They advise making refactoring efforts small as well as test-driven. They point out that refactoring should be done as a series of small steps and that database develops must not succumb to the temptation to combine refactorings into larger, more complex efforts. The need to treat database designs, and even data, as artifacts subject to change control comes through loud and clear.
The concept of a potentially very long transition period in which both the old and new schemas are supported is a particularly good one. I worry about the organizational dynamics of having the old schema removed by a new team that does not remember the original refactoring but nothing else seems rational in a typical environment where many applications run against the same database. I also liked the paranoia of the authors, for instance in their suggestion to always run regression tests BEFORE refactoring to make sure the database is actually as you think it is! While the book focused on refactoring, many of the hints and suggestions would be good for implementing real changes in business policy.
The book is a surprisingly easy read for such a potentially dense subject. The book starts by describing the fundamentals of evolutionary database development and the basics of refactoring. A process overview, deployment notes and some best practices follow. These initial chapters, designed to be read in sequence, introduce and explain the topic well and have a nice little "What you have learned section" at the end. There were many worthwhile asides in the book as it covers these topics and after these introductory chapters, the book then goes (somewhat abruptly) into a series of chapters on various kinds of refactoring - structural, data quality, referential integrity, architectural, method and transformations. These chapters take a series of very specific refactorings. The potential motivation, tradeoffs and implementation mechanics are defined for each. The refactorings are self-contained and, while this makes reading them as a set somewhat repetitive, it should make the book a much better reference guide for actual users.
The book did not really touch on how you should consider data and database designs used in analytic models or the potential value of using business rules, but these are minor quibbles. The book is well written, full of great examples and gives lots of good advice.
- On smaller projects where you can't have a dedicated DBA this book offers just the kind of expert advice for dealing with existing DBs that you need. Highly recommended for such teams.
- Probably great for a DBA or if you are executing SQL scripts for everything. I wish there was more on using ORM technologies such as Hibernate.
- The bulk of this book is a catalog of database "refactorings" such as "rename table" or "add column constraint". Each refactoring includes a brief description and the steps you'd go through. There is often also some stored procedure code, with the odd JDBC code or Hibernate configuration fragment. This is all interesting, but a bit tedious to read through from A to Z, so it's best used as a checklist when doing a change (though it's usually nothing surprising).
The more interesting part of the book talks about how to manage and evolve a database in general (e.g. keep a table that tracks all changes that have been applied). But this part doesn't go quite as far as I'd hoped it would, e.g. there is no discussion of how to track down who is using what parts of the database prior to refactoring (proxy driver? access stats?), and the discussion is limited to relational databases (which may not even be the best choice for rapidly evolving data models).
btw there is an interesting open source tool called LiquiBase (apparently inspired by this book) that attempts to help manage (and deploy) database "refactorings" as described in this book.
Read more...
Posted in Software Design (Friday, July 4, 2008)
Written by Dino Esposito. By Microsoft Press.
The regular list price is $34.99.
Sells new for $11.87.
There are some available for $11.87.
Read more...
Purchase Information
5 comments about Introducing Microsoft ASP.NET AJAX (Pro - Developer).
- Dino's a great author, and this book shows it. The book was small, but absolutely packed with great information ranging from how-to's to best practices.
I started working with ASP.Net Ajax Extensions back when it was the second CTP under the "Atlas" moniker, and I still learned a ton from this book. If you're looking for *the* one book that will help you start writing solid, ajax-enabled web applications, look no further.
- A very good description of how to write good ASP.NET Ajax code, following Microsofts intentions with the framework. Each of the three books I have read, the other two are Professional ASP.NET 2.0 AJAX (Programmer to Programmer) and ASP.NET AJAX in Action, are missing small parts but together the are really good, a 5 star collection.
- This book is a very good introduction to MS Ajax. It teach the basic and some more advanced topic as well.
It begins with the Ajax programming model, the Client Side of ajax and the Server side (UpdatePanel and friends).
It gives also a quick view to the Ajax control toolkit.
- If you've already had a good introduction to the ASP.NET Ajax Extensions, then this short book is all you'll ever need. The thing I appreciate about Dino's writing is his exploration underneath the hood. This can be said about all of his books. Knowing how things work under the hood seperate the rock stars of the industry from the rest!
Nice work and thanks.
- I am using this book a lot. Even though I am a newbie to AJAX I foud this book and the examples easy to follow and implement into my own apps. If you are new to AJAX add this book to your library.
Charles
Read more...
Posted in Software Design (Friday, July 4, 2008)
Written by Christian Antognini. By Apress.
The regular list price is $59.99.
Sells new for $47.99.
Read more...
Purchase Information
No comments about Troubleshooting Oracle Performance.
Posted in Software Design (Friday, July 4, 2008)
Written by Michael Jesse Chonoles and James A. Schardt. By For Dummies.
The regular list price is $29.99.
Sells new for $9.78.
There are some available for $7.25.
Read more...
Purchase Information
5 comments about UML 2 for Dummies.
- This book has an apprehensible way of introducing the main principles of UML and provides a step-by-step flow delivery. It helps the novice to gather a complete view of the areas involved while supplying a sufficient level of detail without overloading at the same time. Equally practioners will find it a handy guide for quick reference and tool application verification.
This book, as the whole series, is not targeted at the expert user, who demands in-depth analysis of all levels of UML. Thus, a degree of conceptual granularity a novice would feel overwhelmed with, which is successfully avoided by book. Thereby it is perfect in meeting its target of introductionary yet coherent provision of UML concepts.
Experts, however, will feel more at home with the UML-Bible.
- I took a UML class at university and was having difficulty understanding the textbooks. I bought this book to help me understand the concepts, which this book did admirably. When I showed up in class with this book, the instructor told everyone how great the book is, and he used the examples in class. Excellent book!
- If you don't know a thing abut UML2 and would like to jump start the learning process this book is for you. Quick to access, easy to comprehend even when the material becomes rather complicated. I would recommend this book to anyone who would seriously like to learn more about UML2
- This is a fine book and I am sure I will refer to it often but here are a few items I would like to see fixed in the 2nd edition:
* I had to flip to the next page too many times to see the figure of a diagram as I was reading the text that introduced it. Please put the figure before the text or make sure it is on the facing page.
* This book is mainly about diagrams but the figure-to-text ratio was too low.
* I thought some of the UML examples were a bit off.
- This book is pretty good it really help to understand uml. Im new in UML but this bood help to understand the diferent diagram and when is correct to use it.
Read more...
Posted in Software Design (Friday, July 4, 2008)
Written by William von Hagen. By Apress.
The regular list price is $49.99.
Sells new for $25.47.
There are some available for $25.54.
Read more...
Purchase Information
5 comments about The Definitive Guide to GCC, Second Edition (Definitive Guide).
- Actually, this book does cover the FORTRAN and Java aspects of GCC for a couple of chapters, but yes it is mostly for C/C++ programmers. Anyway, if you want to learn about all of GCC's different switches, optimization techniques, and warnings then this book has it all. It also covers the "helper" tools like gcov.
- Wow. Von Hagen hit a home run with this one. Most programming books are a great answer for insomnia but the well written style of this book almost makes it a "page turner" and that says something for this man's style. I typically shy away from such subjects but was sufficiently impressed enough to delve deeper.
It is apparent from the very beginning when the discussion opens with C compilers that this guy knows just about everything there is to know about GCC.
I don't agree with the Beginner to Intermediate level as I think it is probably an Intermediate book. You really should know something about programming to be successful in understanding and enjoying the book.
Apress is known for highly technical and very well-written books and this one is no different. They certainly seem to find the experts in the field to write their books.
GCC will certainly put you one up on the competition but you may have to read it twice because it is very packed with information. Keep it handy as an invaluable reference.
- The Definitive Guide to GCC covers the ways to use the GCC Compiler to compile programs written in C, C++, Fortran, and Java. For each of these languages the author discusses how it is implemented within the GCC compiler. While all the sections of the book are good the parts I found the best were the ones on optimizing and analyzing code as well as troubleshooting GCC. These are very well done sections and cover stuff that is often left out of other texts or not explained nearly as well.
This can be a dauntingly technical book for those unfamiliar with programming and compiling but that is also what makes it so perfect for the experienced user. It is an extensive reference that includes not only the common options but also some of the more obscure options and switches that can be highly useful in the right circumstances.
The Definitive Guide to GCC is typical of the "Definitive Guide" series by Apress and does not disappoint in terms of expertise, detail, and easy to follow explanations. If you want to know the GCC compiler, the details of how to use it, and troubleshoot compilation problems you will find this book to be one of the best resources you can find. The Definitive Guide to GCC is highly recommended.
- If you want to know more about the gcc compiler this is the right book. Some alreade gcc experienced people could argue that the information could be found by searching the internet but I do not think so.
- This is fine book, it's well written and easy to follow.. My only grip is with inaccuracies in the compile option appendix. The defined effect of certain options is the reverse from there actual effect. This caused me a bit of trouble when I tried to use the options and wasn't getting the results I expected. The online documentation was consistent with my results. My suggestion is double check the options against the gnu online reference. Hopefully in the following editions (if there will be any) this will be cleared up.
Read more...
Posted in Software Design (Friday, July 4, 2008)
Written by David Kroenke. By Prentice Hall.
The regular list price is $166.67.
Sells new for $94.83.
There are some available for $67.00.
Read more...
Purchase Information
5 comments about Database Processing: Fundamentals, Design, and Implementation (10th Edition).
- I find it difficult to believe that there are too many errors strewn throughout the book. Most of the examples are in basic SQL, so some tailoring might be required for it to fit your individual DBMS. Of course, you can always go to the last chapters for practical applications using proprietary software.
This leads me to remind the buyer that the book is about concepts and design, not Oracle/MySQL/Java etc etc programming. It teaches you things you might have missed if taught informally, such as database normalization and the use of various keys.
For what it claims to be, it suits the job quite well, and is very detailed in how it describes database design and common pitfalls.
Again, this is not a dedicated programming book, and only teaches design concepts and standards.
- This book has very practical and easy to read content. There was less theory than I expected, but that ended up being a good thing.
- My first Amazon review.
I read the 7th Edition for my graduate student class in Databases. The 10ed is better organized and more applicable to current business applications, BUT, BUT, There are too many damn errors in the book that will Drive you crazy.
I have not done a DB, since I took the my grad class, 7 yrs ago. I'm studying the book for work with a deadline. I working the weekend to get this project done, BUT, I have stopped to write this Review. Heard of the movie a Bridge to Far, this is the An Errata to Many.
Save your money and Don't buy this book, until you see an Errata on
[...]
Tom
- I own many database books from Access 98 to SQL server 2005... this is the worst DB book that I've used to date. It reads more like a book for researchers focusing on impractical theory rather than practical application. If you're writing your doctorate on databases this might be your book. If you want to learn about databases there are many, many better options.
- It is an excellent book. I would recommend this book for everybody who is interested in learning database
Read more...
Posted in Software Design (Friday, July 4, 2008)
Written by Alan Shalloway and James Trott. By Addison-Wesley Professional.
The regular list price is $49.99.
Sells new for $32.40.
There are some available for $24.99.
Read more...
Purchase Information
5 comments about Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition) (Software Patterns Series).
- Although usable as a reference, this book has immense value to anyone new to patterns willing to give a cover to cover read. This book is a great complement to the original Gang Of Four book (which is in need of some touching up). The authors try to offer some insight into places where GOF was lacking. The sections on modular decomposition and principles of applying patterns provide a gateway into the world of effectively applying patterns in your projects.
Finally, I appreciate the authors' use of a uniform case study throughout the book to solidify the intent of a pattern through useful application.
- This book is great. It goes way beyond patterns. It starts with what design patterns are and the main principles behind them (coupling, cohesion, testability, ...). It does this in an interesting manner. We first solve a problem in the way we most likely would. The book then takes us through patterns and shows us a couple of better solutions using patterns and other techniques discussed in the book that are consistent with patterns.
The book also discusses the motivations of the GoF patterns - they manage variation in our problem domain. Variations in our problem domain (i.e., changes) is what makes our life as programmers difficult.
Then the killer- the authors talk about two techniques they use (one in analysis - the analysis matrix; and one in design - commonality - variability analysis) which are awesome. These techniques go way beyond patterns but relate to patterns which is why I guess they are in this book and not in a general design book (which is where they could very well be).
What's also interesting is throughout the book they talk about how patterns relate to eXtreme Programming which gives insights into both.
A must buy!
- IMHO, if you ever wanted to understand Design Patterns and most of the basic OO concepts way much better than you do now, then this is the book. It is well written, easy to read, and the authors convey the information very well. They even stick to the same real-world examples throughout the book while explaining the various concepts and patterns. This book treats the GoF Design Patterns book like the catalog that it should be with lots of references into it.
I randomly decided to bring it along on my recent business trip. I found the book engaging and have studied (not just scanned) almost half of it now. I found it to answer so many questions I had about OO all these years. It provides a strong foundation into thinking about design, OO, and patterns. I highly recommend it. The book's subtitle states, "A new perspective on OO design" and I totally agree with the authors. So far I have covered the Adaptor, Façade, Bridge, and Strategy patterns. They are highly useful and very powerful patterns that allow for easy communication among the designers, the implementers, and the unit testers.
For experienced software engineers, you may find this just a concise repackaging of what you already know and have learned. But you too may still find some new golden nuggets here and there within these pages. Plus, I believe you may find this new perspective enlightening as to why you use design patterns not just how or the pattern as a cookie cutter.
To address all the other prior reviews (especially those with low ratings), this book is in fact a new perspective. If you miss that point then this book will look like just another rehash of the topic of design patterns. But if you really study it and look for and understand this new perspective, you will find it very useful. The authors are trying to have you see design patterns as much more than just a common diagram. It is a better way to conceive of designs and communicate them, with much more understanding behind them. Design patterns are like any other tool; you may understand what a hammer and nail is for, but you may not know all the proper techniques in using a hammer and nail, and therefore your final product will be reasonable but not the best. This book goes a long way to achieving the best.
- This book gives an excellent insight into using some of the patters described in the classic book Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series). It explains the reasons why particular patterns are useful and how they can be implemented to solve real-world problems.
- It's a textbook.
I needed it for a class.
Your mileage may vary.
Read more...
Posted in Software Design (Friday, July 4, 2008)
Written by Randal K. Michael. By Wiley.
The regular list price is $50.00.
Sells new for $40.33.
There are some available for $42.64.
Read more...
Purchase Information
5 comments about Mastering Unix Shell Scripting: Bash, Bourne, and Korn Shell Scripting for Programmers, System Administrators, and UNIX Gurus.
- This is a good book, with all the practical examples we need for day to day Korn Shell Scripting.
Its good for the persons who has bit of knowledge on UNIX.
This book will be handy for the UNIX programmers as a reference book for day to day use.
Enjoy reading this book
Cheers
SAM
- This title provided me with what I needed to write Kron scripts. This will allow me to automate many of the task I need for Oracle Administration. This and the Unix shells by example have provided me with what I needed.
- I thought the book was excellent. Each example program is thoroughly explained. The example programs are very useful and well written. The examples will work for the most common Unix variants. A library of functions are provided that can be used to build more complex programs.
I am a seasoned system administrator with a lot of programming experience but I have a limited amount of experience with Unix and AIX. This book helped me get up-to-speed with common system administration tasks such as resource monitoring and notification.
- This book is great! I Recently landed a job as a Systems Administrator (Solaris), and I needed to know how to script. With little scripting experience (and me not wanting to loose the job of my dreams); I picked this book up. All I can say is WOW. What a GREAT book. It describes step by step what to do, how it's done and why it's done. Although it's exclusively KSH, it does have the same script written in different formats so that it works with Linux, Solaris, HP-UX, and other Unicies.
This book assumes that you know SOME basic scripting skills. Beginners would have to learn some basic scripting and (more importantly) understand the concept besides the actual command(s). I recommend this book for, nonetheless, to everyone who wants/needs to script. Happy scripting!
- Mastering UNIX Shell Scripting is a good book on writing Korn shell scripts. If you need BASH or CSH or something else, get another book.
All of the examples in the book are directed towards Systems Administrators. That is not a bad thing. Too many books give you examples that have no use outside the one bit they are trying to teach you. Each example in this book has a real world function. The scripts cover Linux, HP-UX, Solaris and AIX. The examples are straight forward and have lots of useful comments and techniques.
My only complaint about the book is it lacks any real reference value. It would be nice to have a summary of language features. Even with that drawback I would recommend this book over the O'Reiely book.
Read more...
Posted in Software Design (Friday, July 4, 2008)
Written by Raymond Yee. By Apress.
The regular list price is $49.99.
Sells new for $27.29.
There are some available for $28.46.
Read more...
Purchase Information
3 comments about Pro Web 2.0 Mashups: Remixing Data and Web Services (Expert's Voice in Web Development).
- This is the type of book that you can either skim and get ideas from or sit down at a computer and work through all of the examples. The material is presented clearly and thoroughly illustrates different types of mashups. The book discusses how to use Yahoo Pipes and Google Mashup Editor, their respective map API's along with manipulating Flickr properties and API's. Integrating feeds and blogs into mashups are also described. Though not required, a reader would understand more of the book with some background in languages like javascript, php, and of course xml/html.
- Kudos to the author and publisher for this release.
This book is a tour de force of the subject of Mashups.
I was looking for a good book on this subject so that I could introduce it to students as part of an extra-curricular technology program in NYC and this book is perfect.
In a sentence, Mashups are created by taking data from one or more sources and making something new and useful from them.
In my opinion, the subject is very important because there is a vast amount of data that is available now. Today the challenge is not just finding data but putting to use. This book shows you how to do that.
The author's writing style is excellent, mixing theory and applications. The book is filled with hands on examples as well as references for research in each of the areas.
I believe that this book can be read by anyone interested in the subject, regardless of their technical background. For those that want to create Mashups without programming, this book shows you how. For those that want to delve into programming, everything that you need is covered including AJAX, PHP, various data formats and how to parse them, various Javascript libraries and more.
The book is laid out in four parts:
1. Remixing Information Without Programming
As the title suggests, the chapters in this section require no previous programming experience. The author walks through some specific examples, introduces terminology and analyzes how sites like Flickr and del.icio.us work so that you can get the most out of them. Tools such as Yahoo! Pipes (a browser-based visual application for Mashups and Remixing) are explored. Following along with the discussion the reader can put together a Mashup or Remix by simply understanding the concepts and using tools, but not having to delve into coding.
2. Remixing a Single Web Application Using Its API
For the person who wants to code, this part of the book jumps right in discussing the Flickr API, PHP usage, XML processing and more. From there the discussion moves to other APIs and using AJAX/Javascript widgets.
3. Making Mashups
This section starts by delving into the ProgrammableWeb website. Showing how to find what resources are available, studying existing Mashups via which APIs they use and how to go about creating new ones. From there XMLHttpRequest and Javascript libraries such as YUI are covered and a step-by-step example is given using the previously discussed techniques. Lastly, the author addresses issues around implementing Mashups on your site including standards, accessibility and your own API. I was glad to see these topics covered as sometimes in the haste of getting something online, they can be overlooked.
4. Exploring Other Mashup Topics
This final section of the book covers a large range of interesting topics such as Map-based Mashups, Social Bookmarking, Calendars, Online Storage, Desktop and Office Suites, Embeddable Data Formats and Searches.
As you can see, there's a lot of information covered in this book. In my opinion, everything that one could want on the subject and written in such a way that you want to keep reading, exploring and creating your own Mashups.
I highly recommend this book - so far, it has been my favorite read of 2008!
- If you have an interest in learning about mashups, this is a book you don't want to miss. Whether you're just starting out or have some understanding of the subject already this book will dramatically increase your understanding of the subject.
Read more...
Posted in Software Design (Friday, July 4, 2008)
Written by Vidya Vrat Agarwal and James Huddleston and Ranga Raghuram and Syed Fahad Gilani and Jacob Hammer Pedersen and Jon Reid. By Apress.
The regular list price is $39.99.
Sells new for $20.00.
There are some available for $19.50.
Read more...
Purchase Information
No comments about Beginning C# 2008 Databases: From Novice to Professional (Beginning from Novice to Professional).
|
|
|
Refactoring Databases: Evolutionary Database Design (The Addison-Wesley Signature Series)
Introducing Microsoft ASP.NET AJAX (Pro - Developer)
Troubleshooting Oracle Performance
UML 2 for Dummies
The Definitive Guide to GCC, Second Edition (Definitive Guide)
Database Processing: Fundamentals, Design, and Implementation (10th Edition)
Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition) (Software Patterns Series)
Mastering Unix Shell Scripting: Bash, Bourne, and Korn Shell Scripting for Programmers, System Administrators, and UNIX Gurus
Pro Web 2.0 Mashups: Remixing Data and Web Services (Expert's Voice in Web Development)
Beginning C# 2008 Databases: From Novice to Professional (Beginning from Novice to Professional)
|