Tag go
Post details
I recently received an issue report that ijq was performing slowly. The issue claimed that, when used on a large (16 MB) JSON file, ijq was “too slow to be usable”. I downloaded the test file which …(https://gpanders.com/blog/making-ijq-fast/)
Post details
Shows how much the performance of Go has improved from version 1.0 through to 1.22 (including PGO) -- in its compiler, runtime, and libraries.
Post details
I made up a neat little pattern in Go the other day. It’s a way to represent a state change in a system by exposing different APIs for different states, while only holding state in a single underlying struct. I’m sure I’m not the first person to invent this, and it may already a name, so please let me know if you know of one. I’m going to show an instance of the pattern first and the motivation after.
Post details
Go queue library built on SQLite and inspired by AWS SQS. - maragudk/goqite
What routes is my http.ServeMux
listening for? (2 mins read).
How to fairly quickly list the routes that your http.ServeMux
is handling, pre- and post-Go 1.22.
Why is Go 1.22's enhanced routing not working for me? (2 mins read).
Why you may be receiving 404 page not found
errors when using Go's new enhanced routing in Go 1.22.
Post details
Creating a quick CLI in Go is easy, but here are some patterns you can use to make your CLI easier to extend in the future
Post details
Make the compiler check your assumptions before any code runs.
Post details
A Go tool to auto generate methods for your enums. Contribute to dmarkham/enumer development by creating an account on GitHub.
Post details
Go first came onto my radar about 9 years ago when I came across MuMax during my PhD studies. While I’ve touched it briefly, I wouldn’t consider myself to have used it in anger until recently, when I started a job that uses it as one of it’s primary languages for API development. I’ve had experience in writing C and C++ code, but more recently I’ve done a lot of Python, so going back to Go has felt oddly like a throwback to those compiled languages I’ve used before, with a bit of modern sparkle.
Post details
It may seem silly, but go run is my favorite part about go. Want to run your code? go run main.go. It is so stupidly simple that I could tell my mom about this command, and she would immediately understand. Like with most things in go, the real power in this command is in the effortless understanding of how to build and run everyone’s code. But I can run node main.
Gotcha: Don't try and authenticate to URLs generated by GitHub Actions Artifacts v4 (3 mins read).
Why you may be receiving errors when trying to authenticate to download GitHub Actions Artifacts using the v4 Actions.
Post details
In response to @cadey@pony.social's blog post about wanting retry loops in #Golang, I wrote terrible hack using using the proposed iterator syntax. https://go.dev/play/?v=gotip var err error for range backoff(&err, 1 * time.Second) { if err = something1(); err != nil { continue } if err = something2() ; err != nil { continue } }
Post details
I wish Go had a retry block https://xeiaso.net/blog/2024/retry-block/
Post details
Mat Ryer, principal engineer at Grafana Labs and host of the Go Time podcast, shares what he's learned from more than a dozen years of writing HTTP services in Go.
Post details
Mat Ryer, principal engineer at Grafana Labs and host of the Go Time podcast, shares what he's learned from more than a dozen years of writing HTTP services in Go.
Post details
Mat Ryer has been writing Go since r59—a pre `1.0` release—and has been building HTTP APIs and services in Go for the past eight years. He shares his experience and insights.
Post details
I strive to respect everybody’s personal preferences, so I usually steer clear of debates about which is the best programming language, text editor or operating system. However, recently I was asked a couple of times why I like and use a lot of Go, so here is a coherent article to fill in the blanks of my ad-hoc in-person ramblings :-).
How to unpublish/redact/undo/retract a Go release (3 mins read).
How to retract a release version of a Go version, without risking folks automagically upgrade to that version.
How do you represent a JSON field in Go that could be absent, null
or have a value? (5 mins read).
Why it's surprisingly hard to work out a field has been sent or whether it's explicitly null, when using Go's encoding/json
.
Post details
Isolated loop variables, range over integers, math/rand v2 and enhanced routing.
Post details
Golang plugin system over RPC. Contribute to hashicorp/go-plugin development by creating an account on GitHub.
Post details
Debug-level logging for developers (only!). Contribute to appliedgocode/what development by creating an account on GitHub.
Post details
A tool to generate Go data types from JSON Schema definitions. - GitHub - omissis/go-jsonschema: A tool to generate Go data types from JSON Schema definitions.
Post details
🦩 Tools for Go projects. Contribute to nikolaydubina/go-recipes development by creating an account on GitHub.
Post details
A simple, powerful library for forms and prompts in the terminal 🤷🏻♀️ - GitHub - charmbracelet/huh: A simple, powerful library for forms and prompts in the terminal 🤷🏻♀️
Post details
Post details
Automatically generate Go test boilerplate from your source code. - GitHub - cweill/gotests: Automatically generate Go test boilerplate from your source code.
Post details
Post details
Post details
Post details
The Golang linter that checks usage of github.com/stretchr/testify. - GitHub - Antonboom/testifylint: The Golang linter that checks usage of github.com/stretchr/testify.
Post details
A colorful slog handler
Post details
Today, if you publish a popular Go module on a URL and you lose control of the URL (through, eg, domain expiration and having the domain snatched up), you have a problem that's probably more or less impossible to deal with short of making blog/Fediverse/etc posts about the situation. Go module identity is tied to URLs with more or less no external override or way to automatically announce and see problems (individual people can override for their usage, but that doesn't scale).
Post details
Post details
Getting Go modules to work with nested GitLab groups (3 mins read).
How to get Go modules to work with nested groups in GitLab for public or private repos.
Performing a v2 release of a Go module (1 mins read).
How to prepare your Go module for its first breaking change release.
How we reduced oapi-codegen's dependency overhead by ~84% (6 mins read).
An example of how to reduce the size of a Go module's dependencies by taking advanage of Go module pruning.
Post details
Which version of Go was used to compile this binary? (2 mins read).
How to use a few means to work out what version of Go a given binary was compiled with.
Post details
Post details
Go client library for accessing the Backstage REST API - GitHub - tdabasinskas/go-backstage: Go client library for accessing the Backstage REST API
Gotchas with pointing Go modules to a fork, when building an installable module (3 mins read).
A gotcha around how to pin a Go module to a fork, if you're building a module that should be go install
able.
Post details
A Go package providing errors with a stack trace and structured details. https://pkg.go.dev/gitlab.com/tozd/go/errors
Post details
For more content like this, buy my in-progress eBook, Data Serialization in Go, and get updates immediately as they are added! This post contains links and notes for the presentation I gave on March 5, 2020, for the Golang Rotterdam meetup group. Download the slides in PDF format, or you can view the Go Present source file. Previous blog posts on related topics: “Slightly” custom marshaling JSON Arrays as Go structs
Post details
neovim plugin to run gomodifytags. Contribute to simondrake/gomodifytags development by creating an account on GitHub.
Post details
Ok, I lied, there's no weird trick. However, you can easily reduce a Go binary size by more than 6 times with some flags and common tools. Note: I don't actually believe a 30MB static binary is a problem in this day and age, and I would not trade (build
Setting up a matrix for GitHub Actions with Go's go.mod
and specific versions (2 mins read).
How to use a Go setup matrix in GitHub Actions that can target the go.mod
version and arbitrary other version(s).
You're currently viewing page 1 of 6, of 256 posts.