Safe at Speed – July 2017

I smiled when I ran across the CAP theorem in one of this month’s articles. I’d been familiar with a similar theorem “Cheap-fast-good–pick two” from my web agency working days. In this issue, our contributors look at one aspect of this conjoined triangle of success. I’ve returned to this heuristic when I have to evaluate tradeoffs. Often when you’re making a decision, you can boil it down to 3 desired outcomes, of which you can only pick two because of the way they interact.

Sponsored By

Zero to Cloud in One Hour With the Google Cloud

This article is a deep dive into the Google Cloud. By the end, you will be able to set up your own web server running PHP 7, create a separate MySQL server with automatic backups and failovers, use cloud storage to distribute files to your users, and set up serverless computing to improve your app’s scalability. by Robert Aboukhalil

Smart, Scalable Content Distribution

Running a business with a fast, reliable, and highly available web presence is still a great engineering challenge. To help you maintain and improve your online reputation, you need an efficient and safe approach that will not break the bank. Moreover, it needs to be applicable to internal systems as well, not just the customer-facing ones. After solving many such problems over the years for global customers, a certain pattern has emerged. Together we will look at a solution to content snapshotting, distribution, and caching in a distributed architecture aiming for high availability and content distribution process automation. by Georgiana Gligor

Modern JavaScript: Moving Beyond jQuery

For years I struggled with JavaScript and frankly never liked it much. In fact, I avoided using it as much as possible. I do appreciate the irony in being asked to write an article about JavaScript, but after putting aside my prejudices and learning how to write well-structured JavaScript, I have come to appreciate its strengths and advantages. So, let’s fire up our web browsers, arm ourselves with our favorite IDE, and tame JavaScript together. by Derek Binkley

The Train Wreck: When Safety Is Discretionary

The train fell over as it blew through a work zone at 60 mph, killing four and causing a safety rule to be amended. The railroad handbooks are “written in blood;” every rule exists because someone died. Our software is quickly reaching the same point: people will die unless we think of their safety first. by Edward Barnard

Education Station: Simple, Compact Time Range Creation with Period

For the longest time, I’ve enjoyed using PHP’s DateTime library. I’ve always found it to be relatively straightforward in creating DateTime objects for use with various applications I’ve written. However, one thing that isn’t very simple, nor intuitive, is the ability to create time ranges—especially ones requiring some degree of sophistication, such as fiscal quarters, for financial reporting requirements. It’s for these reasons that I’m going to spend the rest of the column introducing Period, a Time range API for PHP, maintained by The League of Extraordinary Packages. by Matthew Setter

Community Corner: Lend More Than Your Voice

Community is more than an encouraging echo chamber. So many times when we think of community, we think of people encouraging each other. Community has to be more, and community members have to do more than just pay lip-service to the idea of community. Community members have to step up. They have to invest not only words of encouragement, but actual help, so the community will continue to thrive. by Cal Evans

Artisanal: Forms and Request Processing

HTTP requests are the fundamental entry point to most web applications. By default, Laravel uses its own Illuminate\Http\Request class for requests which is an extension of Symfony’s Symfony\Component\HttpFoundation\Request class. This month, we’ll look at working with requests and handling form input in your application. by Joe Ferguson

The Dev Lead Trenches: So Now You’re a Team Lead

I never planned on being a team lead when it happened. I want to help you grow as a team lead, whether you took a job as a team lead want to do better, or were like me and all of a sudden in charge of other people. Ultimately, it is not as scary as one might think, but being a team lead may mean getting outside of your comfort zone. In this and future columns, I will expand upon the few ideas I mentioned here and more. by Chris Tankersley

On Mental Health—My Personal Story

This month I want to touch on a different subject, a very personal one, in the hopes that it might help you or someone that is close to you. Mental health is a big topic in the PHP—and global developer—community for some time now, and it’s a good thing. I’ve listened to numerous talks on the subject. Each one was full of tears, inspiration, hope, and a call for help. They were moving, but each time they weren’t about me. Little did I know I needed to be helped. by Eli White