Systems | Development | Analytics | API | Testing

Honeybadger

Secure custom domains with Caddy

If you want to run a SaaS app where your customers can each have one of their own domains pointing to your app, then you will encounter two problems: For example, let's say you wanted to provide a status page service hosted at yourapp.com that allows customers to set up their own domain (like status.acmecorp.com) to be served by your app. Let's dive into the solutions..

How to build a serverless web application

Serverless technology allows you to build and deploy efficient, scalable, and modern web applications. By going serverless, you can eliminate the need for server management and save time and money. In this tutorial, you'll learn how to utilize the power of serverless by building a full-stack web application using different technologies. If you are ready to take your web development skills to the next level and build a serverless web application, let's get started!

Deploying serverless applications with Laravel Vapor

In recent years, the serverless paradigm has become known as a transformative approach to application development, allowing us to focus more on writing code and less on managing infrastructure. Laravel Vapor, a serverless deployment platform for Laravel applications, brings the power of the Laravel framework into the world of serverless architecture.

Working with images in Laravel using intervention/image

When handling images in your Laravel applications, you may sometimes be required to edit them. This could include resizing, cropping, or converting images to meet a given criteria. For example, you may want to crop and resize all user avatar image uploads to a fixed-sized square. In this article, we'll examine how to use the Intervention Image (intervention/image) package in Laravel to edit images.

Architecture testing with Laravel Pest

Ensuring that a growing codebase follows best practices and does not deviate from the standards is essential for any project. However, this can typically only be enforced manually by code reviews and other similar processes. As with any other manual task, this can be time-consuming, tedious, and error-prone. That's where architecture testing comes in. Architecture testing allows you to automatically enforce code standards such as naming conventions, method usage, directory structure, and more.

A practical GitHub Actions pipeline example with Rails

Continuous integration (CI) pipelines are an important part of building and deploying reliable software. Whether it's building a Docker image, running tests, or even just doing code linting, CI pipelines help you automate repetitive tasks and ship better code even faster. GitHub Actions lets you create pipelines to build containers, test source code, and publish software.

Building A SOLID foundation for Laravel API integrations

All developers will eventually need to integrate an app with a third-party REST API when doing web development. However, the RESTful APIs that we are trying to make sense of often do not provide a lot of flexibility. This article addresses this issue within your codebase, showing you how to seamlessly implement any Laravel API integration.

The ultimate guide to Sidekiq scheduled jobs

Sidekiq is one of the most popular open-source background job libraries for Ruby. As one of ActiveJob's most popular backends, it's often used to run asynchronous jobs in Rails applications. It leans on Redis to manage queues and jobs, which makes it fast. Developers can run background jobs using Sidekiq with or without ActiveJob, and we'll explore both in this article. Just as useful - Sidekiq scheduled jobs allow you to run a job after a given amount of time or at a given time.

Subdomain takeover: ignore this vulnerability at your peril

The Domain Name System (DNS) is often described as the address book of the Internet. A and AAAA records map a human-friendly hostname like honeybadger.io to some machine-friendly IP address like 104.198.14.52. Other types of DNS records also exist; in particular, CNAME records are records that map a hostname to some other hostname, thereby delegating IP resolution to the latter.