Posts marked with “mysql”

JSON Schema Validation With MySQL

by · August 6, 2020


Until recently, there were two schools of thought. Use a traditional relational database with normalized data or a structureless NoSQL database. If you could get avoid designing your database schema and managing table definitions, you could iterate faster and change your application quickly. Schema validation can help you keep an accelerated pace, while still safeguarding […]


Elasticsearch—There and Back Again

by · July 2, 2019


As developers, we tend to praise the technologies with which we are most familiar. The more in-depth experience we have with a given technology, the stronger the urge to bend that technology’s capabilities to our will. As a seasoned MySQL developer, I recently found myself in this position. Unable to stretch MySQL to the extent […]


Three Interesting MySQL 8.0 Features for Developers

by · June 5, 2019


There are many new features in MySQL 8.0, but there are some that may not have caught your eye that are very handy for developers. Some, like invisible indexes, histograms, and true descending indexes are probably a little too deep down the DBA rabbit hole for most PHP Developers; there are three that can immediately […]


Serverless, ReactPHP, and Expanding Frontiers

by · May 2, 2019


PHP is no longer limited to sitting behind a web server like Apache or NGINX waiting for requests to process. Serverless PHP with AWS’s lambda service is now possible. At the same time, you can also write event-driven, asynchronous servers with ReactPHP. In this issue, we take a look at these new ways to use PHP.


MySQL 8.0 Geographic Information System or How Did I Get to This Point?

by ·


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?


Internal Journeys – October 2018

by · October 2, 2018


You may be used to helpers and frameworks which rapidly generate new code at the press of a button. However, understanding what these tools are doing is immensely valuable when they don’t work or you need to develop a lean solution. This month, we’ll investigate how things work under the hood to find new tools […]


Rapid Prototyping a Board Game with PHP

by ·


After designing and coding many computer games, I recently got around to designing and publishing a tabletop game. But wait, a board game is hardware! Using PHP to design a board game seems unconventional. How did that come about? Here’s the project history showing how I used PHP as a tool for rapid prototyping. Given […]


SQL Windowing Functions

by ·


Structured Query Language, or SQL, was a boring, ho-hum declarative programming language for many years until the fairly recent additions of common table expressions and windowing functions. CTEs and windowing functions turn SQL into a much more robust programming language which provides increased power for your SQL queries. Most popular databases have them and as […]


Masterful Code Management – August 2018

by · August 3, 2018


In this issue: Xdebug, Freelancing, Parsing text, MySQL Generated Columns, Gitflow, PhpStorm, and more.


MySQL Generated Columns, Views, and Triggers

by ·


Databases often have neat features that go unnoticed or lightly used that could make your life as a developer much easier. This article started its path to print at the php[tek] 2018 conference with a discussion on generated columns in MySQL. Several attendees seemed to need extra guidance and this article is an attempt to […]