In this article, we’re going to deploy a ReactPHP application and discuss all the things involved with it. This setup is the way I’m currently deploying my applications, but that doesn’t mean I’ll keep using this method. I’m already looking at Docker and k8s. However, the information in this article helps you whether you deploy the way I describe here or another deployment tool. To fully cover everything in this article would be too much so I’ll be focusing on the deployment and everything directly related to it. I’ll skim over the rest and encourage you to dive into that yourself after reading this article.
In recent years, a different way to build applications has arisen called serverless computing. This term is not a good name; I’m reminded of the adage that there are two hard problems in programming: naming things, cache invalidation, and off-by-one errors. Serverless computing as a name implies no servers, but there are servers—you don’t think about them though. A better way to think about it is that the servers and the management of them are abstracted away and the provider manages the allocation of resources, not the application architect. In this article, I’m going to walk through how to use Lambda with PHP to execute a function.
For many legacy code bases, upgrading to the latest version of PHP 7 presents an opportunity not just to use the latest syntax and features, but to address technical debt and streamline infrastructure. In this article, I’ll share how in moving to PHP 7, the Digital Media team at NPR prepared to make the move and modernized our deployment practices.
MySQL before version 5.7 had less than stellar Geographic Information Systems (GIS) support. In version 5.7, the Boost.Geometry two dimensional or 2D libraries were added. The past several years have seen explosive growth in GIS demand, and the pre 5.7 software was not up to what the customer base was demanding. So the decision was made to switch to the Boost.Geometry libraries. This refactoring was a significant investment for the engineering team to move to a third party library and they have also become contributors to the Boost.Geometry project. Also, with 8.0 came the three dimensional or 3D libraries, but how do you use these features?
I’ll admit, one of the best things I love about PHP is that I don’t have to deal with all sorts of different ways to deal with data. At the base of the language we have nice primitives like strings, integers, floats, and Booleans, and we also have one of the most flexible structures known to programmers—the PHP Array. The array itself wears many hats. If you are coming from other languages, you have to think about the structure of ordered data in a few different ways. The reason for this tends to deal mostly with how we need to represent data and how we manipulate data. Different data has different requirements.
We normally don’t care about abstractions in software, because they exist to hide details we shouldn’t need to care about. However, sometimes, we do need to know the detail. An essential part of how PHP works involves memory management. This month we’ll see new ways to think of memory itself; we’ll also introduce a learning tool we’ll be using in upcoming articles. We’ll be simulating an ancient mainframe computer, and its hard-wired operator console, using modern text messages.
Proving the identity of a user isn’t the end of an application’s responsibilities: you must also verify the user is allowed to perform the actions they’re attempting. Conflating authentication (the act of identifying users) with authorization (the act of verifying their level of access within the system) is one of the most common ways applications have been breached in the recent past.
Why care about philosophy? In a word, burnout. Misology is the hatred of reasoning, revulsion or distrust of argument, debate, or the Socratic method, and it’s one of the flavors of burnout.
I’ve spent a while now working on my seven deadly sins series of articles, and so it’s been a while since we’ve stepped back to look at PHP itself. Where are we as a language, and as a community?
Responses and Pingbacks
May 9th, 2019 at 6:10 am
[…] one has been published in the May 2019 issue and if you’re not already a subscriber, you should […]
October 1st, 2019 at 7:13 am
[…] one has been published in the May 2019 issue and if you’re not already a subscriber, you should […]