|
|
November 7 · Issue #81 · View online
Weekly curations of blogs and tools for Golang pros.
|
|
|
Panic/recover mechanism in detail
7 minutes - A Go 101 article that dives deeper. Exiting phases of function calls are also explained detailedly.
|
Memory management and allocation
5 minutes - The underlying management done by Go is well optimized and full of interesting concepts.
|
|
Managing CPU load in Golang
5 minutes - Recently our team started working on a new microservice tasked with user logins.
|
Instrumenting Go code via AST
6 minutes - The problem is that we have a rather large API surface (around 300+ handlers) and it would be a really tough task to instrument all the handlers by hand. That’s where our story begins.
|
How we built a vectorized SQL engine w/ Go
22 minutes - How CockroachDB improved the speed of analytic transactions by 4x on a distributed OLTP database.
|
|
Thanks @ for great envconfig library! I have written blog post how it works great with struct embedding in if you want to pass config to your app and internal libraries. https://t.co/f2y3dnsC3M
|
8:06 PM - 5 Nov 2019
|
|
Running a Golang database on WebAssembly
3 minutes - This post introduces how you can run TiDB directly in a web browser, how it is possible, and what the limitations are. All thanks to Ti-Cool, a hackathon team.
|
Speed up Go builds with Actions dependency cache
4 minutes - It turns out that the GitHub Actions team has quietly released the ability to save and restore cached dependencies using Actions.
|
|
|
Grep from first principles, in Golang
13 minutes - Building a toy version of a string searching program solely for the purposes of education. Disclaimer: Whilst the tile mentions ‘grep’, I’m using it in the colloquial sense rather than relating to grep(1), the actual unix program.
|
Go to SQL: creating a Postgres relational DB
Step by step guide to create a Postgres relational database, then perform CRUD operations against it in the Go language.
|
|
Go CBOR encoder: special floating point numbers
7 minutes - This is the last episode of a ten part tutorial ( total reading time: 60 min.) on how to write a CBOR encoder in Go, where we’ll learn more about reflection and type introspection.
|
|
|
Launch Stripe command-line interface in Go
3 minutes - The Stripe CLI is a developer tool that helps you build, test, and manage your Stripe integration right from the terminal.
|
Release v1.10.0 Ebiten's 2D game library in Go
A dead simple 2D game library in Go.
|
Localize pupils/eyes in Pigo face detection library
This article is a technical overview of the pupils/eyes localization capabilities introduced recently in the Pigo face detection library.
|
|
Introducing Pkger — Static File Embedding in Go
Been waiting awhile to announce this project, that I hope will eventually replace “gobuffalo/packr”.
Of course, there’s a video in there too if you don’t like to read. :)
https://t.co/jF7NGEvIQp
/cc @
|
9:25 PM - 5 Nov 2019
|
|
Go versions 1.13.4 and 1.12.13, containing minor point releases, were released the past week. Go 1.13.4 includes fixes to the net/http and syscall packages. Both versions resolve an issue on macOS 10.15 Catalina where the non-notarized installer and binaries were being rejected by Gatekeeper. View the release notes.
|
|
|
I'll take pkg over internal
5 minutes - Most people who would bother with the matter at all would admit that the layout of Go projects is in a bad way. To pkg, or not to pkg, that is the question.
|
|
@ I don't get the "pkg/ vs internal/" thing: internal/ is semantic, pkg/ is aesthetic (and I personally find it ugly, and feel like any package structure would be made better by removing it, surfacing the hopefully meaningful package names).
|
4:29 AM - 4 Nov 2019
|
|
Go proposal: vector basic type
15 minutes - Similar to []T but with enhancements.
|
5 things Rob Pike attributes to Go's success
5 minutes - Learnings that Go creator Rob Pike shared during the Go Time podcast.
|
cfnts: Cloudflare's implementation of NTS in Rust
11 minutes - While many of Cloudfare’s services are written in Go, and it has considerable experience on the Crypto team with Go, a garbage collection pause in the middle of responding to an NTP packet would negatively impact accuracy. It says it picked Rust because of its zero-overhead and useful features.
|
|
|
A data-race detector in the style of Go
20 minutes - University of Oslo researchers present a dynamic race detector for a language in the style of Go: featuring channel communication as sole synchronization primitive. The proposed detector records and analyzes information locally and is well-suited for online detection.
|
Exploring Rust for Unikernel development
10 minutes - German industrial researchers compare Rust with a C-based kernel and Linux and show that the performance is similar to the other solutions. It concludes the major advantage of Rust is that unsafe code must be marked explicitly and only ~3.27 % of RustyHermit are unsafe. You need to register at ACM if you haven’t - but the content is for free.
|
|
Crusty Go vs. well-written Rust project. Can Go win?
7 minutes - A slide deck for a presentation from Ben Boyter. The answer is yes, but the presentation shows you need to put that in perspective ;-).
|
Hands-on writing malware in Go
|
Duration: 35 minutes
|
Performance tuning of Go applications in the cloud
|
Duration: 50 minutes
|
About the Go Gazette: The Go Gazette is a mailing consisting of the finest blogs and tools curated for Golang pros . I’m Maarten, your curator, working from the Netherlands to help building a cloud software development platform called Jexia.
|
|
Do you have a question, feedback or you want to notify me about a recent blog for Golang pros? Reach out to me via maarten at go-gazette.com. Btw, I don’t accept proposals to include sponsored content in my weekly.
|
Did you enjoy this issue?
|
|
|
|
If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
|
|
|