Qafoo GmbH - passion for software quality ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :Author: www-data :Date: Wed, 31 Oct 2018 10:07:55 +0100 :Copyright: All rights reserved =============== Qafoo Team Blog =============== - Common Bottlenecks in Performance Tests Most developers by now internalized that we should not invest time in optimizations before we know what happens exactly. This is true for optimizations in your PHP code but also for optimizations regarding your infrastructure. We should measure before we try to optimize and waste time. How can this be done? - Using Mink in PHPUnit Another day for a short PHPUnit trick. If you want to use PHPunit to control a browser for functional or acceptence tests, then you can easily do this using the Mink library. Mink is well known from the Behat community to facilitate Behaviour-Driven Development (BDD), but it is a standalone library that can be used with PHPUnit just as easily. - Launching the Tideways Company Today we have a very exciting announcement: Qafoo and I have launched a new company together to turn my side project Tideways into a fully-fledged business. - Why Architecture Matters We experience that the system architectures of our customers grow more and more complex. This is either because of scaling requirements or because developers like to try out new technologies like implementing Microservices. What are the challenges with this and how can we overcome them? - Testing Effects of Commands With Phake::capture() Today I want to share a simple trick for the excellent Mocking library Phake (I wrote about it before) when testing state on APIs that don't return values. - Teaching and Learning Domain-Driven Design without Patterns When development teams start to use Domain-Driven Design (DDD) in work projects, then one or more developers read the blue book by Eric Evans and start to apply patterns such as Entity, Repository, Services and Value Objects. In my experience with teams using DDD it can be very distracting to think in patterns. Read about a more practical way to get started… - Analyze the Quality Of Your PHP Code In code reviews we often browse metrics, source code and reported code issues together with our customers. This leads to discussions about the current state of the code and possible improvements. First we used a bunch of shells scripts for that. In a second step we developed a simple PHP (Open Source) application helping us to do the job. Now we did the third step and rewrote that application into a React based client side (Open Source) application. Read on for the reasons and benefits… - Developers Life is a Trade-Off At Qafoo, we train a lot of people on topics like object oriented software design, automated testing and more. It happens quite often that an attendee asks questions like "Which is the best solution for problem class $x?", "What is the optimal tool for task $y" or "There is a new technology $z, is that the future of web development?". Some are disappointed when I reply "It depends" or "That does not exist", but that's the truth.There is no silver bullet and one of the most important skills every developer needs to hone is to assess possibilities and to find the best trade-off for the current challenge.To make that point clear I'm giving three examples from my personal experience, some where it went well and some where it did not. - Qafoo Supporties Development teams use various kinds of headgear in their processes. Some have a "hat of shame" or even pink bunny ears, the breaker of a build needs to wear (and is posted on Facebook). We at Qafoo have the tradition of wearing the symbolic "pink sombrero" when hacking something in production.The purpose of such headgear is as multifarious as its incarnations. Some should just be funny, some remind you that what you are doing should not be done and others seduce your co-workers to blame you.This background raised the idea for our Qafoo Supporty, a cap that developers can wear with pride: to show that there is something good going on, to indicate that disturbing them right now can interrupt something very sensible and to keep the important developer brain warm in in winter. - Qafoo Profiler - Public Beta Six month ago the first line of code was written. Now we are finally opening the beta registration to everyone. So far our closed beta testers have measured 500 million requests and the Profiler has analyzed 7 million traces. We hope to increase this numbers alot by giving you all access to the Profiler.Our journey started by building a platform based on XHProf and during the closed beta we have moved beyond the original Facebook PHP extension to provide many additional features and performance optimizations that are necessary for isolating and fixing bottlenecks.You can take a look at all the Features that we already support right now and a Roadmap of what we are working on. Get started with the Profiler now and head over to the registration: Register Now!