The process of debugging can be a difficult one, and the process of troubleshooting performance even more so. Luckily there are some great tools out there to help with improving the performance of web applications. Previously I wrote about generating flamegraphs from XHProf to visual stacktraces and identify bottlenecks.
I've been keeping myself busy with a few things over the past few months. One of them is the Drupal 8 Development Cookbook to be published by Packt Publishing around May 2016! The book will feature over 60 recipes that will help beginners and seasoned Drupalistas get a handle on Drupal 8. I have been helping on developing Drupal Commerce 2.x and given a hand with the Panels in Drupal 8 initiative. Taking from these experiences I have been working hard to create a great resource for all Drupal 8 hopefuls!
I've been working on a Docker tool for local environments and one of the tools is setting up the ability to easily generate flamegraphs. I figure the best test run would be to dive into some basic info on the performance of a front page load for a typical Drupal Commerce site. There's no magic solution presented here, just some knowledge on what the build process looks depending on caches.
iPhones 4 and up store images in landscape mode and use EXIF data to provide proper rotation when viewed. This is a bit quirky as not all desktop browsers provide fixes, or they may not be streamlined. I remember my old project manager telling me their images were showing up "flipped to the side" during mobile QA testing. Sure enough when the image was embedded in HTML it was cocked to the side - however when viewed directly in the browser or desktop it was fine. What?
The Features module has become a de facto tool in configuration management in Drupal 7. In fact, most Drupal distributions now utilize Features to export configuration and handle updates to the configuration. There is one pitfall - Features was meant to be a way to export a feature set. Features takes a set of configurations and its job is to ensure those are in place. That means customizations to defaults are at risk of preventing incoming changes or loss when updating.
I've been a fan of Platform.sh since it came out, even before I started at Commerce Guys. I'm a fan of using builder tools for constructing projects - Composer or Drush make (latter for Drupal) - instead of putting extra code into version control. However, this post is not about a PHP project, but one of my AngularJS projects.