php[architect] logo

Want to check out an issue? Sign up to receive a special offer.

Decrypting Cryptography

October 2021

Change is hard at first, messy in the middle, and gorgeous at the end.—Robin Sharma

PHP Architect is going through change, and we hope you follow us for the adventure.

Cryptography 101

By Vinícius Campitelli

If you ask a group of programmers the most difficult topics they think there is in the area, there will be a lot of different responses, depending on which language they use and how skilled they are. Dynamic memory allocation, concurrency, coroutines, compiler optimizations are just some examples of those answers. I do hope I’m wrong here, but I don’t think there will be anyone saying “Cryptography”. Sadly, this is why a lot of developers get it wrong on their first hundred times trying to develop a minimal secure system.

What I Wish Someone Told Me About SQL Database Design

By Scott Keck-Warren

As shocking as this may be, not every team has a dedicated database administrator. I’ve never worked on a team that has had someone solely focused on making sure our queries are performant, and our tables are structured perfectly with all the forms of normalization being applied. Like many developers, I have had to learn difficult lessons about database design the hard way when under a lot of pressure to get something that’s broken fixed. In this article, we will go over how to normalize our database, how to use indexes to improve our performance and discuss using constraints to make sure that the data entered into our database follows our business rules. Knowing these three things will make our lives as developers who also administer databases easier.

Education Station: Windows 11 for PHP Development

By Chris Tankersley

While I am a large proponent of open source software and that it is the best option for software and the longevity of computing, I also understand that running Linux is not for everyone. There are many times where it seems like just using Firefox in a growing Chrome-based world is harder and harder. To that end, I understand why people use proprietary operating systems like macOS and Windows.

The Workshop: Nitro

By Joe Ferguson

Nitro is a command-line tool for managing Docker-based PHP development environments. Like most development environments, Nitro provides several defaults to improve the developer experience of using Docker. A primary focus of Nitro is “Simplicity matters,” meaning the developer should be focused on building their project, not getting bogged down in the DevOps swamps. If you avoid local container development environments because you don’t care about DevOps, Nitro is a great place to start your container experience.

Design Patterns by Moonlight: The Dragon Wrangling Pattern

By Edward Barnard

I’ve seen many instances of “gatekeeping” now, in the 2020s. Senior developers warn “there be dragons” while announcing a “hands off” policy toward critical areas of their code base. The code has become too fragile to touch, too costly to change. The Dragon Wrangling Pattern provides a framework for allowing newer developers, or persons new to the project, to contribute with much-lessened risk.

Security Corner: Updating the OWASP Top Ten

By Eric Mann

The Open Web Application Security Project (OWASP) is a non-profit that focuses on web security research, training, and documentation to help developers make the world a safer place. They regularly collate application security risks seen in the wild and publish a list of the most frequently encountered issues. This list, the OWASP Top Ten, is a common tool used by developers and security auditors alike to gauge the level of security maturity of a project or the team maintaining it.

PHP Puzzles: Time Value of Money

By Oscar Merida

Is it better to get $100 today or $110 in one years time? The answer’s not straightforward because you could use $100 today to potentially earn more than $10 over 12 months. How do you know what to do? For that, you need to know how to calculate a rate of return or use it to compare amounts of money at different times. Hold on for a bit, we’re bending the time—space (money?) continuum.

Community Corner: PHPUnit Creator Sebastian Bergmann, Part Two

By Eric Van Johnson

Welcome to part two of our interview with Sebastian Bergmann. Last month we heard about Sebastian’s beginnings, how he got started with development and what led him to write the de facto testing suite for the PHP programming language. This month, Sebastian dives into what it’s like managing such a widely used and crucial piece of the PHP ecosystem.

finally{}: Rubber Ducky, You’re the One!

By Beth Tucker Long

Deep in a wild, overgrown forest, a lone developer studies an ancient map carefully. Checking a compass against the angle of the sun and the moss on the trees, this exhausted programmer pushes on, finally making it to the entrance of the long-forgotten cave. Inside on a dusty stone pedestal waits the sought-after artifact—the rubber ducky!

Leave a comment

Use the form below to leave a comment: