Omitting dev dependencies in Go binaries
https://rednafi.com/go/omit_dev_dependencies_in_binaries
As of now, unlike Python or NodeJS, Go doesn’t allow you to specify your development dependencies separately from those of the application. However, I like to specify the dev dependencies explicitly for better reproducibility.
https://rednafi.com/go/omit_dev_dependencies_in_binaries
Exploring Go 1.22: Effective HTTP Routing Strategies
https://www.talkativedev.com/go-blog/exploring-go-122-effective-http-routing-strategies
It’s 2024 and Disney’s steam boat Willie has found itself in the public domain; however, the good news keeps rolling in with the addition of enhanced pattern matching for the STD library’s server MUX. Eerily similar to Apple, the Go team can be regarded as the final players in a vast array of frameworks — and they got it right. In this post, I’ll demonstrate how you can bind a http.Handler to a specific verb, and even host name.
https://www.talkativedev.com/go-blog/exploring-go-122-effective-http-routing-strategies
From slow to SIMD: A Go optimization story
https://sourcegraph.com/blog/slow-to-simd
So, there's this function. It's called a lot. More importantly, all those calls are on the critical path of a key user interaction. Let's talk about making it fast.
https://sourcegraph.com/blog/slow-to-simd
tint
https://github.com/lmittmann/tint
Package tint implements a zero-dependency slog.Handler that writes tinted (colorized) logs. Its output format is inspired by the zerolog.ConsoleWriter and slog.TextHandler.
https://github.com/lmittmann/tint
go-feature-flag
https://github.com/thomaspoignant/go-feature-flag
GO Feature Flag is a lightweight and open-source solution that provides a simple and complete feature flag implementation.
https://github.com/thomaspoignant/go-feature-flag
Go memory metrics demystified
https://www.datadoghq.com/blog/go-memory-metrics
For engineers in charge of supporting Go applications, diagnosing and resolving memory issues such as OOM kills or memory leaks can be a daunting task. Practical and easy-to-understand information about Go memory metrics is hard to come by, so it’s often challenging to reconcile your system metrics—such as process resident set size (RSS)—with the metrics provided by the old runtime.MemStats, with the newer runtime/metrics, or with profiling data.
https://www.datadoghq.com/blog/go-memory-metrics
goja
https://github.com/dop251/goja
Goja is an implementation of ECMAScript 5.1 in pure Go with emphasis on standard compliance and performance.
https://github.com/dop251/goja
Getting started with otelsql, the OpenTelemetry instrumentation for Go SQL
https://opentelemetry.io/blog/2024/getting-started-with-otelsql
otelsql is an instrumentation library for the database/sql library of the Go programming language. It generates traces and metrics from the application when interacting with databases. By doing that, the library allows you to identify errors or slowdowns in your SQL queries that potentially impact the performance of your application.
https://opentelemetry.io/blog/2024/getting-started-with-otelsql
Testing out Profile-Guided Optimization on Dolt's SQL Benchmarks
https://www.dolthub.com/blog/2024-02-02-profile-guided-optimization
https://www.dolthub.com/blog/2024-02-02-profile-guided-optimization
Profile Guided optimisation
https://andrewwphillips.github.io/blog/pgo.html
Learn how PGO improves use of inlining and CPU instruction caches. I show how to get biggest boost for your projects by using the right CPU profile
https://andrewwphillips.github.io/blog/pgo.html
Context Control in Go
https://zenhorace.dev/blog/context-control-go
Best practices for handling context plumbing.
https://zenhorace.dev/blog/context-control-go
integresql
https://github.com/allaboutapps/integresql
IntegreSQL manages isolated PostgreSQL databases for your integration tests.
https://github.com/allaboutapps/integresql
How I write HTTP services in Go after 13 years
https://grafana.com/blog/2024/02/09/how-i-write-http-services-in-go-after-13-years
This post covers a range of topics related to building services in Go, including:
- Structuring servers and handlers for maximum maintainability
- Tips and tricks for optimizing for a quick startup and graceful shutdown
- How to handle common work that applies to many types of requests
- Going deep on properly testing your services
- From small projects to large, these practices have stood the test of time for me, and I hope they will for you too.
https://grafana.com/blog/2024/02/09/how-i-write-http-services-in-go-after-13-years
Reducing Go Dependencies
https://dgt.hashnode.dev/reducing-go-dependencies
This article is a practical look at reducing dependencies in Go libraries. We'll start by looking at how Go dependencies work, then go into a few ideas around reducing dependencies. Finally, we'll go into a few ways I've implemented these ideas in Huma and the results. Hopefully you can use some of the same techniques in your own projects.
https://dgt.hashnode.dev/reducing-go-dependencies
Feeding a hungry mouse using Go and chromedp
https://www.pacenthink.io/post/feeding-a-hungry-mouse-using-chromedp-and-golang
The backend engineering team at Nurdsoft is a fan of Go, we use it for almost all of our backend services, its easier to get started even our Frontend engineering team can write Go!. This article is about how we can use Go to automate a browser virtually acting like a real user.
https://www.pacenthink.io/post/feeding-a-hungry-mouse-using-chromedp-and-golang