Go: Write Log to a File

If you run your application on a server, you need to write your application log to a file. It will help you debug and analyze your application. A good log file will tell you what the error is, when it happened, and where it is come from. This article will show you how to write logs to a file in Go.

[Read More]
go  logs  linux 

Upload File to Amazon S3 With Go

When your application handles a large number of files, you need to store the files in a certain storage system outside your application server. One of the best storage services is Amazon S3. This article will show you how to create an Amazon S3 Bucket, create access key id and secret, and upload files to Amazon S3 with Go.

[Read More]
S3  aws  go 

Makefile Example Usage

If you never used Makefile before, you better check out this article. You will find out what Makefile is and how it will be useful for you.

[Read More]

Profiling A Go App With pprof

Profiling an application is helpful to identify resource consumption at runtime. We can see which function consumes the most CPU or memory. We can see if our application is already efficient or not and then find a chance of improvement. In Go, there is pprof, a built-in library for profiling that we can easily use and integrate.

[Read More]

Distributed Tracing with Jaeger in Go

Distributed tracing is used by software engineers to monitor or debug their applications. It is very useful to find which process takes the most time or which function causes errors. One of the systems to do distributed tracing is Jaeger. This article will show you how to run Jaeger in the local environment and trace a Go application.

[Read More]

Golang Function Timeout With Context

Timeouts can be important for an application. It can limit how long is the maximum duration of a process. We can save resources by cancel further processes when timeout happened. We can use context to apply a timeout to a function call in Go.

[Read More]

Run PostgreSQL Database With Docker

Running PostgreSQL with docker is very useful for testing purposes. You can run it everywhere. You can create any testing data, use it then destroy it after testing is done. Integration testing and automation testing are made easy by it.

[Read More]

Zero Downtime Reload With Socketmaster

Nowadays, zero downtime reload is mandatory for most systems. Especially for the system that is accessed all the time. Stakeholders demand the high availability of the system. So it is bad if the system needs downtime for reloads even if it’s in milliseconds. Socketmaster is there to help your system reload with zero downtime.

[Read More]