Engineering

164 posts
Building an SDK with PHP, part 3: Making it testable

Building an SDK with PHP, part 3: Making it testable

This post is part 3 of the “Building an SDK with PHP” series. Read Part 1 and Part 2 In our last article we’ve looked at how we can make our SDK configurable and today we’ll apply this to cover our SDK with several unit tests. What should...

Building an SDK with PHP, part 2: Making it configurable

Building an SDK with PHP, part 2: Making it configurable

This post is part of the “Building an SDK with PHP” series. Read Part 1: building an SDK. If you’ve followed along with the last post you have created a SDK in PHP while leveraging various PSRs such as PSR-17 and PSR-18. Today we’ll take this a step...

Ten years of testing htaccess rewrite rules

Ten years of testing htaccess rewrite rules

A little over ten years ago, I felt so annoyed with testing Apache’s mod_rewrite RewriteRules that I started looking for a tool to test them. The search was unsuccessful— no such tool to be found. https://htaccess.madewithlove.com/ Out of my frustration, I decided to write something...

Bounded contexts for dummies

Bounded contexts for dummies

Chunking up our code No matter how smart or intelligent we are, when things become too complex, we can no longer keep them in our brain completely. I recently saw this tweet from Kent Beck that makes a lot of sense. The goal of software design is to create chunks...

Building an SDK with PHP: Part 1

Building an SDK with PHP: Part 1

Whether you’ve built a private or public-facing API, at some point you or your users are going to want to communicate with it. To make things easier you might want to open-source an SDK that other developers can install. In this article we’ll take a look at how...

Get rid of ports in your docker development setup with Traefik

Get rid of ports in your docker development setup with Traefik

Reading tip: Learn how to run an ssh tunnel in your docker based development environment to easily connect to mysql or other non-http services. When working in a Docker-based development environment, you usually map the ports of your existing Docker container (port mapping or docker port forwarding) to a port...

Cypress or how I learned to stop worrying and love E2E

Cypress or how I learned to stop worrying and love E2E

Over my career I’ve dabbled in various forms of testing, both on the backend and front-end. I’ve tried various frameworks and experimented with different approaches, types of tests, and philosophies. From unit tests to Gherkin behaviour tests to E2E tests with Selenium in the good ol’ days, I’...

Help, I’m creating a file upload

Help, I’m creating a file upload

Every software engineer has at some point in their career been asked to build a file upload. Perhaps it was to let a user upload an avatar, to import a bunch of contacts into a CRM, or to attach images or legal documents to a real estate property. On the...

The Ultimate Startup Due Diligence Checklist for Investments - 2024

The Ultimate Startup Due Diligence Checklist for Investments - 2024

What is due diligence or a technical audit The goal of due diligence is simple: figure out the hidden secrets of the target company that may hurt its value or even kill the deal. But that’s a massive challenge. For investments into technical companies, there is an added challenge....

You’ve successfully subscribed to madewithlove
Welcome back! You’ve successfully signed in.
Great! You’ve successfully signed up.
Success! Your email is updated.
Your link has expired
Success! Check your email for magic link to sign-in.