Mar 31Go adds structured logging to its standard library…but should it?Originally published at https://sagikazarmark.hu. The Go programming language has recently accepted a proposal to add a structured logging package to its standard library. This long-awaited addition is expected to land in a future version of the language, sparking excitement and debate among developers. Before diving into the pros and cons…Go5 min readGo5 min read
Jun 19, 2021Decoding custom formats with ViperOriginally published at https://sagikazarmark.hu. A frequently requested feature for Viper is adding more value formats and decoders. For example, parsing character (dot, comma, semicolon, etc) separated strings into slices. …Go5 min readGo5 min read
Mar 2, 2021Please, build!Originally published at https://sagikazarmark.hu. Make and I were good friends for years, building software together, and while I value our friendship a lot, it’s time we move on. Make is a build automation tool well-known in the software development industry. It’s installed on most developer’s machines (even if they don’t…Build System8 min readBuild System8 min read
Published inLevel Up Coding·Jan 28, 2020Functional options on steroidsBest practices that make using functional options a breeze — Originally published at https://sagikazarmark.hu. Functional options is a paradigm in Go for clean and extensible APIs popularized by Dave Cheney and Rob Pike. This post is about the practices that appeared around the pattern since it was first introduced. Functional options came to life as a way to create nice…Software Engineering9 min readSoftware Engineering9 min read
Published inThe Startup·Dec 3, 2019Member-onlyGetting started with Go kitOriginally published at https://sagikazarmark.hu. Go kit is often accused of being too complicated, at least compared to other libraries used for building applications. This post ought to explain the differences between them and demonstrate the thought process of building an application with Go kit. What is Go kit? Go kit is advertised as a…Golang9 min readGolang9 min read
Jul 23, 2019Member-onlyVanity import paths in GoOriginally published at https://sagikazarmark.hu. Recently I migrated one of my libraries (Emperror) to a vanity import path. Although the migration itself was easy (took less than one day), making the decision, thinking it through from every angle to make sure existing applications don’t break, wasn’t. …Go9 min readGo9 min read
Apr 19, 2019TwirPHP: A modern RPC framework for PHPIn the last couple years RPC started to become popular again as a communication mechanism for web-based APIs. It’s not a new concept at all, but it changed a lot over the years: the technology evolved, new IDLs and frameworks (like protobuf and gRPC) appeared. …Microservices9 min readMicroservices9 min read
Published inITNEXT·Apr 9, 2019Containerizing a Symfony applicationRecently I was tasked with deploying and operating a Symfony application on Kubernetes. Since PHP is not my primary area of work anymore, I was hoping to find some up to date guide and/or best practices about the topic, but sadly that wasn’t the case at all, so I decided…Docker8 min readDocker8 min read