TQ
dev.com

Blog about software development

Subscribe

Zero downtime deployment in Apache

01 Feb 2023 - by 'Maurits van der Schee'

Whether you deploy using git push, rsync or even sftp you never want your site to be down or inconsistent during updates. If your site has high traffic you may not only do frequent updates, you may also have significant traffic during these updates. With "zero downtime" deployments...

Continue reading...

A Hugo static website is fast

31 Jan 2023 - by 'Maurits van der Schee'

A Hugo website can be extremely fast. As it loads no dynamic data most content can be served within milliseconds. Since Hugo can resize images on build you can ensure the image sizes are optimal. The static assets that make up a Hugo website can easily be distributed...

Continue reading...

The rock star programmer problem

29 Jan 2023 - by 'Maurits van der Schee'

Do you have a colleague that you look up to? That knows everything about the topic you would love to know more about? That always has an answer to any question you ask? Still you are not learning from this person, because this person is sitting on knowledge. Likes to do things alone...

Continue reading...

Scaling 3 tier web development: 2 rules

31 Dec 2022 - by 'Maurits van der Schee'

Software development benefits from separating the presentation, business logic and data access. The concepts of "tiers" and "layers" in web development aid this separation. Within the application tier three layers can be identified. This blog proposes two rules to get a well-structured, more secure...

Continue reading...

Calling "ToList()" for LINQ performance

18 Dec 2022 - by 'Maurits van der Schee'

While I was doing AdventOfCode 2022 I ran into an issue that made my code run more than 30 times slower than I expected. I didn't materialize the LINQ expression and I iterated over the sorted collection by position. To anyone understanding how LINQ does lazy evaluation...

Continue reading...

A session locking test suite for PHP

27 Nov 2022 - by 'Maurits van der Schee'

Session locking is well explained by Mattias Geniar in his article "PHP Session Locking: How To Prevent Sessions Blocking in PHP requests" (please read that first). Now that you've done that you know what session locking is. My story is that I have once been bitten by this bug...

Continue reading...

PHPStan: Find bugs without writing tests

15 Nov 2022 - by 'Maurits van der Schee'

I'm not saying you shouldn't write tests. But you may find bugs without writing tests using PHPStan. At least, that is what they claim on their website. I took a relatively big PHP project I run commercially to see whether or not PHPStan would help me to find and fix bugs...

Continue reading...

MintyPHP v3 is released

30 Oct 2022 - by 'Maurits van der Schee'

I use MintyPHP to quickly build web applications on the LAMP stack and I just released version 3 this month. Since v3 it relies solely on the composer generated autoloader, making the software faster and making it integrate even better with your IDE...

Continue reading...

Beelink "MINI S" N5095 under 200

13 Oct 2022 - by 'Maurits van der Schee'

I want my computers to be small, silent and repairable and use as little energy as needed, especially when idle. I recently bought a Beelink "MINI S" N5095/16GB/256GB computer with slots for both the DDR4 RAM and the M2 SATA drive. It has an external power supply and medium sized fan...

Continue reading...

Overengineering makes investors happy

18 Sep 2022 - by 'Maurits van der Schee'

Investors want tech startups to use a "latest technology" to gain an "unfair advantage" allowing them to compete in an established market. This "unfair advantage" may be a reason that the investment is going to pay off. Therefor startups may say that they are using (for instance) blockchain, AI...

Continue reading...