IPv6 networking should be implemented now. IPv4 IP addresses have been depleted. IPv6 provides better security, better performance, and has a much larger address space.
In my last post, we implemented the rate limiting for an API endpoint on the server side. The server side rate limiting is useful for API providers to ensure system performance and/or to realize…
ASP.NET Core offers a native configuration system that is lightweight and highly extensible. We can aggregate configurations using one or more configuration providers, which read configuration…
This post shows (1) an ASP.NET Core Web API demo project which limits inbound HTTP requests from the internet and (2) an integration test project which tests the Web API rate limit using a TestServer…
We have been using quite a lot of .NET Core command line interface (CLI) tools, such as dotnet new, dotnet build, dotnet add package, dotnet watch run, dotnet ef database update, and so on. Have you…
In this blog post, we will create a demo Windows Service application which includes a set of features such as reading configurations, logging to files, dependency injection, file system watcher, and…
Sometimes our application needs to allow users to execute an external program by calling an API endpoint. The external program could be a script, a third-party software, or an executable written in…
Hello everyone, Shmoji here. In this tutorial you will be learning how to design/style the main page of your website using React and CSS. If you prefer videos: here is the YouTube tutorial (it is…
In this blog post, we will create a containerized ASP.NET Core 3 Web API project, and set up a CI/CD pipeline using GitHub Actions. In the GitHub workflow, we will build and test the Web API project…
This post is intended to provide some additional information to the official documentation, Hosting ASP.NET Core images with Docker Compose over HTTPS, in Microsoft Docs. In this post, we will only…
One of the best things about working in Javascript is that we have access to newer features every year, thanks to the hard work of TC39 committee and developers who implement the spec. There are a…
This is the third article in a series intended to help set up authentication and authorization in your server-side NodeJS applications using PassportJS. So, our app should be able to authenticate…
Ever since its inception in 2015 by Facebook, the React Native framework has seen a gradual increase in its adoption by the mobile development community. React Native is a cross-platform mobile…
NGINX is a well-known high-performance HTTP server and reverse proxy server. NGINX provides an abundance of features, such as load balancing, caching, SSL/TLS offloading, log rotation, and so on. In…
You’d think they are mutually exclusive. Scenario-based testing and property-based testing present entirely different approaches to what is essentially the same problem: you want to detect bugs in…
In my last article, Get Started with RabbitMQ on Docker, we learned how to run RabbitMQ instances in Docker containers, as well as load customized RabbitMQ server definitions at startup using Docker…
After the successful implementation of queues in my previous article, Javascript can be finally stackified. Yes, stacks will be implemented in this post using Javascript. The stack data structure is…
So far, we’ve created our project boilerplate to make development easier for us. In this part, we’ll set up our database and create an authentication and authorization system. We’ll be setting up a…
A great project is made out of consistent code. In the perfect world, the code should be indistinguishable from its writer: You should not be able to tell who authored which line of code in the…
When registering dependencies in the ConfigureServices method, you must have seen a pattern like the following code snippet. This pattern is essentially an extension method on top of…