Skip to main content

18 posts tagged with "technical"

View All Tags

· 4 min read
Iain Cambridge

I've started to document the design decisions made for Parthenon. One of the main decisions made was to make classes that aren't meant to be extended to be final. There are many schools of thought when it comes to development. With many people having different opinions about when and why to use final classes, I thought I would add my opinion to the mix.

Decision

The decision was made to make classes that aren't meant to be extended final. All final classes should have an interface that matches their publicly available methods.

· 3 min read
Iain Cambridge

A few days ago I saw someone ask if Sylius was a good eCommerce system to use, which it is. And my first thought to head was "Of course because it's Symfony based." then I wondered what the options and systems built on Laravel and thought it would be interesting to list out were. So here we are. I'll go through the systems I know of for various categories for both Symfony and Laravel.

· 6 min read
Iain Cambridge

I'm currently developing a cookieless Free Live Chat SaaS - Blether.chat and as part of the development process, I decided to stress test the application and really see the difference PHP OP Cache preload made to the request per second in a real-world application. This led me down a path that resulted in me making a configuration change unrelated to the OP Cache resulting in an almost 100% increase in throughput and adding 200+ requests per second to my server's capabilities.

· 7 min read
Iain Cambridge

Code review is the process of having others review code that is written and accepting feedback and adapting the code to the feedback given. These days code review is seemingly at every IT department and widely ruled agreed upon as a best practice. It is often one of the largest sources of conflicts within a development team since giving and receiving criticism about work is often hard to do while remaining detached from the work itself. After several years of code review in several teams, I've noticed somethings that work and something that don't, as well as, things that are often touted about code review which I don't think are quite true by default. Here I'll try and share what I currently think about code review.

· 9 min read
Iain Cambridge

Estimations are one of the most important parts of project planning and one of the most common tasks that developers do no matter which language they code in, what team they are on, or which company they work for. Estimating is hard, so hard we pretty much get it wrong a lot of the time.

· 2 min read
Iain Cambridge

PHP Conferences are a lot of fun to attend, they're a great way to get to meet people who work in the industry and chat about all sorts of things. I've noticed a lack of a single place to find PHP Conferences so I decided to create this list.

Some of these have already happened but I figure it would be good to know what has happened to be able to start thinking about next year and following their accounts or signing up for their newsletters.

· 3 min read
Iain Cambridge

Building an admin system is a requirement for most plans. But since it's not customer-facing it's not of much importance and the actions are often less complex than the customer-facing system. Often the best way to build your admin system is to use a bundle/package that provides the skeleton framework. Here we'll go over the options.

· 6 min read
Iain Cambridge

While we all enjoy to write code, we all also need to make a living. Many people get into web development just to make money, and that's fair too. Sometimes people want to use their skills to create some financial safety or freedom for themselves, and we're all for that too. So here is how you can make money as PHP/Web developer.

· 6 min read
Iain Cambridge

Building software is difficult and it's easy to make mistakes. To help developers keep the quality of their code high, developers have created an array of tools to help. From testing tools to ensure the code works to code styling tools to ensure code is consistently readable to Linters.

· 5 min read
Iain Cambridge

Within the PHP ecosystem there are tons of super cool and super useful tools to help you to maintain a good level of code quality. And I use quite a few of them. Today I'm going to go over one of the first code quality tools I added to the Parthenon tech stack right at the start of development - Deptrac.

· 6 min read
Iain Cambridge

For most complex large-scale applications, one of the main issues is maintaining a high level of performance with extremely complex data. This is a problem whether you use microservices or a monolith, as the problem is data-related and not a system architecture problem. In this blog article, I'll try to explain, in simple terms, how to maintain performance with a complex data model. I'll use the real-world domain of an Electric Mobility Service Provider (EMSP) including their locations and prices to provide you with a solution for performance issues.

· 12 min read
Iain Cambridge

This blog article will provide you with a guide on how to prepare for a PHP Technical Interview. Whether you’re a junior developer looking for your first job, you’ve been working at an agency going to FinTech, or you’ve been out of the interview game for a few years - this article will help you get ready for your interview.

· 5 min read
Iain Cambridge

Learning to program is hard, really hard. Advanced programmers forget how hard it was for them to learn, and beginners aren't often aware that the language they choose to program in has an effect on their learning. In this article, I'll make the case that PHP is the best language to use when learning to program.

· 5 min read
Iain Cambridge

For the most part, sanity checks are put into the code to ensure there are no bugs. For this reason, guaranteeing sanity checks are done correctly becomes necessary. If you do not check to see if the data is valid, and it is invalid, then you’re going to allow invalid data to proceed. Here, I’m going to discuss how I think we should do sanity checking in PHP.

· 4 min read
Iain Cambridge

Single Responsibility Principle (SRP) is probably one of the most well-known principles from SOLID. At its core is a desire to prevent classes from becoming overwhelming and bloated. While enabling the ability to change how a single thing works by only changing a single class. So the benefits of the Single Responsibility Principle are that you have an easier codebase to maintain since classes are less complex and when you wish to change something you only have to change a single class. In this blog, I will go through some ways to try and help avoid breaching the Single Responsibility Principle while doing code review.

· 2 min read
Iain Cambridge

Logging is a very important part of operating an application if you're unaware of what happened in your system you're unable to quickly and efficiently identify the issue. However, logging can open up some potential pitfalls. One of them being including secrets and other sensitive information within the logs accidentally. Twitter and Github both accidentally logged people's passwords in plain text. To help protect our users we've made it so that we automatically filter passwords out of the logs created via monolog. And we're going to share how we did it so you can also ensure your logs are also secret free.