About two years ago I started hearing more and more about Docker. Eventually, I had heard so much talk about Docker that I had to dive deeper into it and learn what the fuzz was about.
My only regret is that I didn’t learn it sooner. It has helped me in my daily work so much, I truly believe Docker is something every developer should learn.
Let’s begin by talking about what Docker is, what it’s used for, and how to use it. We will also build our own image to demonstrate usage. We will also try using our own…
A few months ago I started a project where I wanted to use gRPC. It was an amazing experience. I really liked how I could use protobuf and gRPC to have the same Client in both the backend and the frontend.
During my development phase I encountered a few hiccups though. So when searching the internet for solutions to use gRPC in a web application it seems almost everybody recommends the envoy reverse proxy. I started using envoy and it worked very well, there were a lot of examples showing how to set it up.
Problems started occurring when I…
I’ve reached my first three big goals as an author on Medium. I’ve published 10 articles, reached 100 followers and my first article now has 1000 reads. It might not seem like much for some, but it feels like a huge achievement for me. I thought that this wouldn’t happen for a very, very long time. Especially not the followers, which I am grateful for!
It took me two days after publishing my article to get my first follower. At that time I told my spouse about it and I was all super excited. I’m still excited when I get…
When I first started learning about AWS I thought of it as dark wizardry. Every time I touched the topic there was so much to learn that I immediately stopped, not knowing how to proceed.
That’s why I’ve created this step-by-step tutorial of creating a full-stack application using AWS. We will after this tutorial have a frontend, backend that speaks to a database, and an API.
There are a few ways of communicating with AWS, in this tutorial we will use the services web-consoles. Web consoles are user-friendly web applications that let the user manage and set up the AWS…
Ever get tired of having bash scripts or makefiles that you have to run to in order to perform repetitive mundane tasks — running tests, building?
Do you feel setting up a CI/CD is overkill for a small home project?
Well, you shouldn’t feel that way — it’s super easy using GitHub Actions.
GitHub Actions allows users on GitHub to perform a large number of actions, such as deploy to AWS, Terraform, Email the developers if a commit breaks any tests, and much, much more! GitHub Actions allows us to run a CI/CD very easily and without much prior knowledge.
I’m not going to lie — benchmarking is not one of my biggest strengths. I don’t do it nearly as often as I’d like. But it’s become more frequent since I started using Go as my primary language of choice. One of the reasons for this is because Go has some great built-in support for benchmarking.
Go lets us developers benchmark using the testing package. So the testing package comes with benchmarking powers included. That’s awesome!
In this article, I want to dive deeper into benchmarks, but I’ll start from scratch. …
Have you ever driven a car with a kid in the backseat?
The constant questioning.
Are we there yet? Are we there yet? — annoying backseat kids
This could drive people mad and probably has done already.
It’s strange because even if we know how frustrating that is, software tends to be designed this way. You have a frontend or a service running as a client that loads data from the server. This loading is in many cases done by frequently polling for new data. Imagine being an HTTP API with tons of clients, all asking you “Hey, got any…
In this article, I will cover how I used the power of the Golang interface to replace a major piece in Go4Data. We will also use benchmarks to compare to old solution to the new solution.
I want the article to focus on HOW to use interfaces properly, along with benchmarks rather than the code I’m changing. Since we will change a lot of code, I don’t expect you to code this yourself, but rather try to embrace the process and mindset of using the interfaces.
Let’s begin by explaining what Go4Data is, or what I want it to become…
Redis is an in-memory database, what this means is that it stores data directly in memory without saving it on disk. This is an important factor to remember when using Redis. If the system your running Redis on loses power, you will lose the data that is stored in the memory. Redis does persist data through snapshots though, so only new data since the last snapshot is lost. This is why many people often say that you should utilize Redis as a Cache for storing data. …
I feel obliged to make an article about interfaces since it’s one of the features in Go that amazed me the most. I’m not gonna lie, it took me a while to get comfortable using them, but when I passed the learning threshold I started loving them.
It’s not that Interfaces are hard or complex, but learning the habit to use them and the mindset seem to confuse many. In this article I will try to use a lot of examples so that we not only learn how to use them, but also when.
Let’s start at the beginning and…
I'm a software developer that enjoys writing about code, Proud Go fanatic