February 16, 2018

Convert txt files to csv with Golang

Recently I found a client that needed to convert a list of txt files into csv - and he wanted the solution to be written in Go. Looking at the source files, I’m assuming the text files are generated by a script or a tool that extracts the data from somewhere. The good thing is that the provided files were very simple, so they are perfect for a tutorial like this. ... Read more

February 4, 2018

Elasticsearch query examples with Golang

I’ve heard of Elasticsearch quite a while ago but started using around 6-7 months ago. It’s a very fine piece of technology, allowing you to create blazingly fast queries with very complex structure. Comming from a SQL background, I spent quality time reading through the official docs to write even the most basic queries. The purpose of this article is to save you that time and get you straight to work. ... Read more

January 4, 2018

Create Golang API documentation with SwaggerUI

Having a documentation for you your APIs is more useful than you might be thinking. Even if you don’t expose your APIs publicly, having the docs for your frontend or mobile team is way easier than sending them screenshots/snippets or using a paid product like Postman/Insomnia (premium version with syncing). With SwaggerUI, you can get a well-designed documentation for all your APIs automatically. When moving to Go I had issues setting it up, due to lacking documentation/tutorials, so I decided to write one. ... Read more

December 15, 2017

Fixing corrupt archive in Golang

Recently I had an issue sending JSON via API to our analytics tool. After few days of troubleshooting, I realized what was the problem during the weekend when the file being uploaded was of lower size due to less amount of data during weekends. Obviously, I decided to zip its contents, afterward facing a problem with a corrupted archive. ... Read more

December 9, 2017

How to reduce JSON file size

When I started writing this article, it had a quite different title. To be precise: “Uploading large JSON files to Zoho Reports.” But, reducing JSON size might be useful in so many areas, I decided not to limit it to Zoho and changed the title. Shortly, I’ll explain how I managed to reduce and split JSON files of several gigabytes to the desired size - size limited by the provided API, with help of few tools. ... Read more

December 1, 2017

Glice - Golang dependency and license checker

Did you ever want to check licenses of third-party dependencies in your Go project? Me neither. However, if you want to do something like that, I made a simple tool written in Go - glice. By running it in your Go project, it gets project’s dependencies (with a possibility of recursive dependencies), then for third-party ones gets the license from GitHub API. ... Read more

2018 © Emir Ribic - Some rights reserved; please attribute properly and link back. Code snippets are MIT Licensed