Original post

Gazette #91

Weekly curated resources for professional developers

Fundamentals

Proposals for Go 1.15

By Robert Griesemer

4 minutes – Per the process outlined in the Go 2, here we come! blog post, it is time in our development and release cycle to consider if and what language or library changes we might include for our next release, Go 1.15, scheduled for August of this year.

Inlined defers in Golang

By Jaana B. Dogan

4 minutes – Go’s defer keyword allows us to schedule a function to run before a function returns. Multiple functions can be deferred from a function.

The flyweight pattern in Go

By Martin Kock

5 minutes – Minimizing memory usage by sharing data with other objects

Alternative command design pattern in Go

By Christian Giacomi

6 minutes – An more idiomatic command design pattern in Go and alternative way to implement this classic pattern.

Real-world reports

No frills data pipeline with Go

By exe.ac

6 minutes – There are a plethora of data processing frameworks both maintained by open-source communities and corporations. Engineers sometimes get carried away and pick up a big data processing framework to process little data, and while I myself am guilty of having done that in the past, I recently had a chance for redemption and took it with both hands and a bunch of Go channels.

Labyrinths of SQLite with Go & Docker

By exe.ac

4 minutes – With engineers trying out grandiose databases everyday for various use cases, I recently happened to have a use case where I went old school, as in with a single file database, namely SQLite.

Make boring tasks enjoyable with go and colly

By Gianluca Arbezzano

6 minutes – Recently I had the idea to update the conference page on my website with the end goal to make it a bit more structured. I mixed a bit of hacky Go and Colly for scraping.

Export_test to inject mocks and testing it in Go

By Sarah Connor

5 minutes – While working on a recent project, a teammate introduced to me a little known testing pattern that I had never used before in Golang that for our purposes we’ll call Export_Test.

Replacing classic ASP with Go on Windows Server

By Development Duck

9 minutes – Almost all of our web-based applications at work use ASP and still function well, but there are some persistent issues.

Tutorials

Building containers without Docker

By Alex Ellis

10 minutes – Outlining several ways to build containers without the need for Docker itself including buildkit, kaniko, GitHub Actions, GitLab and Jenkins. Built with Go.

Graceful shutdown of a TCP server in Go

By Eli Bendersky

7 minutes – While servers typically never stop running (until the process is killed), in some scenarios – e.g. in tests – it’s useful to shut them down in an orderly way.

Building a GraphQL Server in Go: data loaders

By Filip Wojciechowski

17 minutes – This is the second in a series of posts covering the process of building a simple yet full featured GraphQL server in Go. In this post we will focus on implementing data loaders to improve the performance of the server.

How to build your first web application with Go

By Ayooluwa Isaiah

17 minutes – We’ll build a news application that utilises the News API to present news articles on a particular topic, and deploy it to a production server in the end.

Go tools

wZD: a powerful storage server

Designed for big data storage systems with small and large files for mixed use and dramatically reduces count of small files for extend abilities any normal or clustered POSIX compatible file systems.

Ink: a framework for 2D graphics in Go

By Alex Buchanan

12 minutes – This is a quick and dirty introduction to Ink: a framework for 2D graphics in Go, focused on creative coding, and based on OpenGL.


Flexible DNS proxygithub.com

With support for encrypted DNS protocols.


Goroutine leak detectorgithub.com

Goroutine leak detector to help avoid Goroutine leaks.


Flamingo captures credentialsgithub.com

Sprayed across the network by various IT and security products.

Perspectives

My experience with Go, one year after

By Preslav Rachev

6 minutes – In my little more than a year day-to-day developer experience with Go, I have so far learned three things.

Writing RESTful APIs in Go, 3 years later

By Emir Ribic

5 minutes – I’ve started working with Go in early 2017, and since then most of my work has been writing RESTful APIs with it. Over time I’d like to keep it up-to-date with my latest views on how to write REST APIs in Go, and this blog post serves as a first step in the next iteration.

Citrix CVE-2019-19781 malware analyses

By Salim

2 minutes – After the exploit release of CVE-2019-19781, malicious hackers took the opportunity to compromise Citrix instances that did not have the Citrix mitigation implemented. I had the chance to get my hands on some artefacts from a honey pot of a certain threat actor who compromised multiple servers.

Connect a Raspberry Pi, iPad, HoloLens + Magic Leap

By Mike Buss

4 minutes – I needed a way to connect and communicate between these devices in places with unreliable WiFi. In the process I also used Go.

Academic article

Opening up the baseboard management controller

By Jessie Frazelle

17 minutes – If the CPU is the brain of the board, the BMC is the brain stem. After OpenBMC came u-bmc, a software project started by Christian Svensson of Google. Written in Go, u-bmc aims for a more minimal BMC software architecture, challenging the status quo by replacing IPMI with gRPC.

Presentations

Carmen Andoh, Van Riper: reflecting 10 years of Go

Duration: 37 minutes

About my projects

Go Gazette is a mailing consisting of the latest and finest blogs and tools curated for Golang professionals. I am your curator Maarten Bezemer, building Dutch cloud-based platform Jexia. Our platform is providing hosting and several serverless back-end functions for front-end or full-stack developers.

Product Examples Pricing