If you think it’s slow, first prove it with a benchmark. Don't assume if things are slow. Benchmark it and see if they are really slow. Benchmarking is the way we check how fast our algorithm is for a given unit of the program. In benchmarking, we typically see how many iterations can a piece of code can run in a given time.
I am a self-taught programmer from start. And have limited knowledge of computer science. Which of course is changing day by day. I had a background in Python before getting into Go. So my recommendations will also be aligned with my experience level.
In Python we can set some parameters to default by doing option=True. But in Go we don't have that. In Go we do things differently. In Go we compose one function out of multiple helper functions. In this post we are going to explore the world of variadic function.
Sending a POST request in Go is not an easy cake. One need to structure every piece of data being send. Today I'm gonna show how you can make a little easier.
There are two options, either you put version info in code and then use that in automation to create git tag. The another way is to let git tag drive the version info in the compiled application. In this post we see the later option.
Docker makes it easy to develop and deploy application, reducing friction between the processes. And ElasticBeanstak is a great platform build upon EC2 infrastructure which provides provisioning capability without much effort.
Some of the features of BoltDB is... It's ability to do concurrent reads. It's nature of being Go native, which means it can compile where Go can compile. Read more about it in the post.
In this post, I talk about why TDD is important. Why it is essential part of build process. I also talk a little bit about test coverage and having more coverage is always better. I also provision a Travis CI pipeline to test same application in different environments.
One of the benefits of multi stage build is that you can improve on build time. Second benefit is that size of your final images can drastically reduced.
This year was a transition period for me from a career perspective. I was hearing, understanding and practicing stuff like microservices, fault tolerance, cross-site deployment, REST APIs, software deployment system, agile development and attending meetings & training sessions with the people on the other side of the planet.
Earlier on, I was decided on to giving my website a go backend, but I later thought it was an overkill to use golang as a backend for a personal website and I should keep that enthusiasm for a real app. But for now, I'll use a static site generator called Hugo for blogging.