Weekly curated blogs and tools for Angular pros.
Channels and Goroutines
By Justin Fuller
10 minutes - In my last post Go Things I Love: Methods On Any Type, I demonstrated a feature of Go that makes it easy to build Object-Oriented software. Now I will demonstrate a few neat concurrency patterns in Go.
Exposing interfaces in Go
By Efe Karakus
5 minutes - Interfaces are my favorite feature in Go. An interface type represents a set of methods. Unlike most other languages, you don’t have to explicitly declare that a type implements an interface.
PubSub using channels in Go
By Eli Bendersky
7 minutes - Presenting a brief overview of some design decisions that arise when implementing PubSub for a Go application.
By Vincent Blanchon
4 minutes - Goroutines are easy to create, have a small stack, and a fast context switch. However, a program that spawns many short living goroutines will spend quite some time creating and destroying them.
Go concurrency & scheduler affinity
By Vincent Blanchon
6 minutes - Switching a goroutine from an OS thread to another one has a cost and can slow down the application if it occurs too often. However, through time, the Go scheduler has addressed this issue.
The await/async concurrency pattern in Go
By Matteo Madeddu
10 minutes - We focus on parallelism and concurrency and how you can achieve the same behavioral pattern you can achieve with Node.js using await/async statements.
Plumbing at scale
By Karan Kamath (Grab.com)
8 minutes - Detailing Grab’s journey building and deploying an event sourcing platform in Go, building a stream processing framework over it, and then scaling it (reliably and efficiently) to service over 300 billion events a week.
Multiplexing channels in Go
By Tiago Katcipis
10 minutes - Write simpler concurrent algorithms for fun and profit.
Continuous profiling in Go with Profefe
By Gianluca Arbezzano
3 minutes - Taking a snapshot at the right time is nearly impossible. A very easy way to fix this issue is to have a continuous profiling infrastructure that gives you enough confidence of having a profile at the time you need it.
By Jesse Li
18 minutes - What is the complete path between visiting the Pirate Bay and sublimating an mp3 file from thin air? We’ll implement enough of the BitTorrent protocol to download Debian.
A concurrency pattern tour via our new scheduler
By Andrew Cholakian (Elastic.co)
7 minutes - Heartbeat, the agent behind the Elastic Uptime app, will get a new scheduler as part of our upcoming Elastic Stack 7.6.0 release.
Porting Pigo face detection library to Webassembly
By Endre Simo
7 minutes - Porting Pigo to Webassembly (WASM) was the next step in the library evolution. I will give a detailed description of the code behind and I will explain the challenges I faced during the implementation.
More real-world reports:
Sorting maps in Go
By Austin Gebauer
3 minutes - I’ll present a problem and show examples of how to solve it by sorting the contents of a Go map by keys and/or values.
Functional pipe in Go
By Ali AslRousta
7 minutes - Introducing a practical approach for implementing the function composition in Go using pipe and reflection.
Making resilient Go net/http servers
By Ilija Eftimov
12 minutes - Using timeouts, deadlines and context cancellation.
Building a GraphQL server in Go: Part 1
By Filip Wojciechowski
23 minutes - We will use gqlgen and sqlc to build a working GraphQL server backed by a PostgreSQL database, and capable of performing basic CRUD operations.
How to start logging in Go projects - Part 2
By Anatoliy Fedorenko
4 minutes - This is mostly about controlling your logs and I wanted to show how to use logs (of level Error or higher) to take quick actions in case something bad happens.
Why GoatCounter ignores 'do not track'
By Martin Tournoij
5 minutes - GoatCounter doesn’t support the Do-Not-Track (DNT) header, and that’s a feature.
Age: ncryption tool with small explicit keys
A simple, modern and secure encryption tool with small explicit keys, no config options, and UNIX-style composability.
Web crawler for discovery of endpoints and assets
Simple, fast web crawler designed for easy, quick discovery of endpoints and assets within a web application.
Hello world: a language test
By Drew Devault
3 minutes - Let’s say you ask your programming language to do the simplest possible task: print out "hello world". Most languages do a whole lot of other crap other than printing out "hello world", even if that’s all you asked for.
My response to "Hello world
By Caleb Doxsey
16 minutes - Drew DeVault shows a "Hello World" program in several languages, how long those programs take to execute, how large of a binary they produce and how many syscalls they execute. "Hello World" is a rather strange program to optimize, but since that was what was tested in the original blog post, we’ll run with it.
Following up on "Hello world"
By Drew Devault
7 minutes - ‘Hello world’ has been easily the most negatively received article I’ve written — a remarkable feat for someone who’s written as much flame bait as me. Naturally, the fault lies with the readers.
By Victor Fernandez
6 minutes - An exploit is "the vehicle used to breach a system." I will demonstrate the benefit of using deliberate exploit development techniques, with Go.
How Gitlab scaled Git access with Go
By Oswaldo Ferreira
27 minutes - Oswaldo Ferreira discusses the history of how GitLab switched from a Rails monolith to using Feature flags, Protocol Buffers, gRPC and Go. And what it gained from it.
Product Examples Pricing