This week I received a review copy of the book “Instant Magento Performance Optimization How-to”, “Improve the performance of your Magento stores using pratical, hands-on recipes”. The book title sure sounds good since performance is often one of the main issues in any Magento project. The book is relatively compact (only 56 pages) and easy to read. It’s divided in clear subjects that cover a wide range of improvements going from merging css and js files to clustering, database replication and load balancing.
The good parts
One thing I really like about the book is that it offers small hands-on subjects with clear steps to take. It often shows the load time improvement that can be accomplished by implementing the solution so you will know what the benefit will be of a solution.
Although the book is specifically written for Magento projects some of the tips can be applied to any web project. All tips that are offered in the book can already be found on the internet but this book bundles them in a neat way for referencing.
The bad parts
I do think that the author of the book sometimes should warn the reader about drawbacks of a performance tip. For example the part about storing “sessions in the database”. It would be nice if the reader was warned that changing the session storage mechanism on a high traffic webshop would cause a big performance hit on the database and the performance result could be exactly opposite of what is intended to accomplish.
Another thing I really didn’t like was the fact the author advices to chmod the var/logs directory to 0777. This is just a bad practice and should never ever be done.
As a Magento developer I would have liked to see some more in-depth information on some topics but maybe that just isn’t in the scope of the book.
The book is nice to read and useful to keep as a reference afterwards. It has some good tips for Magento administrators (beginner to advanced) and can be helpful in solving performance problems. Overall I would recommend buying this book but pay attention to what you are doing and what the possible drawbacks can be of some of the tips that are provided. Consider the book to be a fast reference and introduction to different performance improvements that can be done.
The Packt Publishing can be found here for only €6.79 at the moment.
One of the real challenges in building any type of framework, core or application is making it possible for the developers to hook into the business logic at specific points. Since PHP is not event based, nor it works with interrupts you have to come up an alternative.
The test case
Lets assume we are the main developers of a webshop framework. Programmers can use our framework to build complete webshops. Programmers can manage the orders that are placed on the webshop with the order class. The order class is part of our framework and we don’t want it to be extended by any programmer. However we don’t want to limit to programmers in their possibilities to hook into the orders process. Read the rest of this entry »
I passed the PHP 5.3 ZCE exam
Today I passed the exam to become a PHP 5.3 ZCE. Like everyone else I had to sign the non-disclosure contract so I can’t go into detail about the questions that were asked, I can however tell my impressions of the exam and how prepared for it.
Differences with the previous exam
The first thing I noticed when I bought the PHP 5.3 exam voucher was that there was no option to order a bundle of preparation tests. There was however a free study guide. The new study guide can not be compared with the previous php|architect’s Zend PHP 5 Certification Study Guide. Were the new free study guide gives a quick overview (including some example questions) of each topic in the exam the original study guide starts with basics of PHP and really covers each topic thorough, except for the new PHP 5.3 features. Read the rest of this entry »
What is a controller?
A controller can best be described as the set of instructions and algorithms that are responsible for making your application actually doing something. Often based on user input. You could say your controller is your business logic.
What is a view?
The view is the presentation of your application, the part that our user sees. The view won’t do any processing (like math, checking data,…) it will just show data.
Why don’t you separate your logic and view?
I don’t know how or I don’t use a framework. Those are both often heard excuses when I ask someone why he doesn’t separate the logic and view of his application. Even when you Read the rest of this entry »
Although PHP GD library handles basic image operations quite good, you have probably run into the limitations of GD library as well, it is often slow, memory intensive and a bit complicated to use for advanced image effects. ImageMagick however is a very good alternative. It is an opensource software suite licensed under a BSD style license from IM itself. ImageMagick provides in all functionality that can be accomplished with the GD library but even goes a step further with support for more advanced image edit techniques. An example of such a technique is the recently added “liquid scaling” feature, this is a content aware scaling option. Read the rest of this entry »
Below is a short comprehensive description of getting Git up and running in just a few minutes. I personally use OSX as a development machine and so the installation part of Git will cover an installation on OSX. If you like to install Git on another platform please take a look at the Git installation documentation. There are a lot of other ways to install Git, but the one described below seems to bring the least hassle on OSX.
Read the rest of this entry »
Although PHP has a lot of filter functions available, I found that still to many people are using (often incorrect) regular expressions to validate user input. The filter extension is simple, standard available and will fulfill the common validations. Below some pratical examples and things to consider when working with PHP filter functions.
Read the rest of this entry »
The last couple of weeks I was working on writing a mailing/newsletter system myself. One of the first questions that came up was “how do I prevent that my newsletter will be marked as spam”. Although this article has nothing to do with PHP I still like to put it in the spotlight. I will give some tips on how to avoid your mail being marked as spam, some you will know, others you won’t.
How is determined if my email is spam?
Mostly this is done by so called spam filters (server side or client side), some well known examples:
Some of them work with the Bayesian filter. This filter is one of the Read the rest of this entry »
Alternative, lazy what?
Consider the next example:
We could write the above like this: Read the rest of this entry »
Until the last PHP conference I attended (the PHP benelux conference 2010) I used an normal Windows XP installation with a Zend Server CE installation on it at home, and yeah it worked. At the office we already used versioning, bug tracking and some other Joel points. I could see the advantages clearly, even if I was developing on my own at home but I just couldn’t find time and motivation to start converting my home server to something more serious. That is until I attended a track on the Joel test of lornajane. (Slides are available here). I thought it would be a nice idea to keep my Windows installation on the server during this adventure to pass the Joel test. Read the rest of this entry »