php[architect] — November 2016
It’s only natural to hesitate when you’re starting down a new road. Sure, it helps to be prepared, but the first couple of steps can be daunting. For me, it helps to know others have done this before—or at least something similar. This month, we look at how different people have managed to move forward to learn and build new things.
Dev Divas: History’s Heroines of Computing, Part Two
In the previous installment of this series, I talked about some of the women who made foundational contributions to the world of computing. This month, I’ll share stories about women in some of history’s greatest computer collaborations, and the impact they had on our world. by Vesna Vuynovich Kovach
Creating PHP Extensions With Zephir
Creating C extensions for PHP has always been a challenge most PHP programmers were not able to accept. Some simply do not know C well enough, and others do not wish to learn the specifics of writing extensions. Zephir is a project which builds a bridge from C extensions-land to PHP user-land. You write your code in a high-level language which resembles PHP, get your Zephir code transpiled into a C extension Too good to be true? Well, you’re right; there are caveats. Yet, Zephir is without a doubt an interesting project which can be of a use to some developers. Maybe to you as well? by Victor Bolshov
What Are Interfaces, Abstracts, and Traits?
In my work as a PHP developer I use a lot of the more “unknown” possibilities of PHP. Most of the time this works great, but the downside is none of my co-workers understand any of the code I write (not only because of the “unknown possibilities,” but merely because I write rocket-science). In this article, I will try to take you on a journey through interfaces, abstract classes, Traits and lambdas. by Chilion Snoek
Strangler Pattern, Part Two: Beginning to Design for Scale With RabbitMQ
We scaled data collection at InboxDollars.com from 50K views to 600K views a day by offloading much of our work to PHP/MySQL microservices. We created a distributed processing system based on CakePHP 3, Redis, and RabbitMQ. Part Two shows our microservices infrastructure; we ensured our DevOps team had visibility into the running services and problems that arose. We built resiliency into our system based on experience. We kept things as simple as we could manage. by Edward Barnard
Education Station: Do You Truly Know Your Tool of Choice?
IDEs and text editors, could we honestly develop applications without them? You might feel you’re some über-geek, who could write code in his sleep and in, the morning when he awoke, he’d have written a better operating system than Tony Stark did for Ironman. But for the rest of us mere mortals, we need the assistance which professional IDEs and text editors give us. In this month’s Education Station, I’m going to show you a range of features from some of the leading IDEs and text editors. I hope there’ll be at least a couple of features which you haven’t tried yet, ones which you can use in your daily work to improve your efficiency and productivity. by Matthew Setter
Leveling Up: Perpetual Process
As software developers, we should strive to be constantly learning, continually improving ourselves, and our craft. We do this to improve how we write code and how we debug and fix problems. But, we should also be continually evaluating and refining the processes we follow. Rather than blindly following the same process because of someone, somewhere, at some point in the past put it in place, we should be looking for ways to improve how we do things. by David Stockton
Community Corner: Getting the Most out of a Conference
Last month, I wrote about how conference regulars, speakers, and organizers could make conferences friendlier to newcomers. But you don’t have to wait for them to listen to me before going to your first one. The problem many first timers have is they don’t know what to expect, or what to do. So, let me share with you what I’ve learned in ten years of being a professional conference attendee. by Cal Evans
Security Corner: To Scan or Not to Scan
In the time I’ve been focusing on security, specifically application security, in the world of PHP there’s one question that keeps coming back up over and over again. Developers ask me if there’s any way to include an automated step in their deployment process which can help them secure their code. While I’m much more of a fan of code reviews and building security in from the start, there are some things you can do to help catch the more major “gotchas” related to securing your code. In this installment of Security Corner, I want to talk about a tool which can help catch some simpler security issues: a security scanner. by Chris Cornutt
Can We Be Nice to Each Other?
All right everyone. I know that I’ve ranted on a similar topic in the past, but it’s time to get real. We, as the greater geek & developer community, really need to start being nice to each other. by Eli White