go-recipes
https://github.com/nikolaydubina/go-recipes
Handy well-known and lesser-known tools for Go projects
https://github.com/nikolaydubina/go-recipes
Sign in with GitHub in Go
https://eli.thegreenplace.net/2023/sign-in-with-github-in-go
It's common to see web applications that let you log in through third-party services. "Sign in with Google" is particularly popular; on developer-oriented websites, "Sign in with GitHub" also pops up quite a bit. In this post, I want to briefly explore OAuth - the technology that enables these delegated logins, and present some ways to integrate GitHub login in your Go service.
https://eli.thegreenplace.net/2023/sign-in-with-github-in-go
pdfcpu
https://github.com/pdfcpu/pdfcpu
pdfcpu is a PDF processing library written in Go supporting encryption. It provides both an API and a CLI. Supported are all versions up to PDF 1.7 (ISO-32000).
https://github.com/pdfcpu/pdfcpu
osv-scanner
https://github.com/google/osv-scanner
Use OSV-Scanner to find existing vulnerabilities affecting your project's dependencies.
https://github.com/google/osv-scanner
Iterators in Go
https://bitfieldconsulting.com/golang/iterators
This article describes an experimental extension to the Go language: range over func. The design of Go iterators is evolving, and this tutorial is a work in progress, so don’t forget to check back later for the latest developments.
https://bitfieldconsulting.com/golang/iterators
Implementing the Raft distributed consensus protocol in Go
https://notes.eatonphil.com/2023-05-25-raft.html
We'll implement two key components of Raft in this post (leader election and log replication). Around 1k lines of Go. It took me around 7 months of sporadic studying to come to (what I hope is) an understanding of the basics.
https://notes.eatonphil.com/2023-05-25-raft.html
betteralign
https://github.com/dkorunic/betteralign
betteralign is a tool to detect structs that would use less memory if their fields were sorted and optionally sort such fields.
https://github.com/dkorunic/betteralign
Go 1.22: Interactive release notes
https://antonz.org/go-1-22
Go 1.22 is out, and you can try many of its features without leaving your browser. Read on and see!
https://antonz.org/go-1-22
Constraining Complexity in the Generics Design
https://blog.merovius.de/posts/2024-01-05_constraining_complexity
https://blog.merovius.de/posts/2024-01-05_constraining_complexity
Writing a Simple JSON Parser in Golang
https://buildwithgo.substack.com/p/writing-a-simple-json-parser-in-golang
Learn to build a JSON parser in Go: Mastering lexer and AST for advanced data interpretation.
https://buildwithgo.substack.com/p/writing-a-simple-json-parser-in-golang
Introducing astjson: Transform and Merge JSON Objects with Unmatched Speed in Go
https://wundergraph.com/blog/astjson_high_performance_json_transformations_in_golang
In this article, I will introduce you to a new package called astjson that I have been working on for the last couple of weeks. It is a Go package that allows you to transform and merge JSON objects with unmatched speed. It is based on the jsonparser package by buger aka Leonid Bugaev and extends it with the ability to transform and merge JSON objects at unparalleled performance.
https://wundergraph.com/blog/astjson_high_performance_json_transformations_in_golang
Framework for writing functions, microservices, or monoliths with Web Assembly
https://tarmac.gitbook.io/tarmac-framework
https://tarmac.gitbook.io/tarmac-framework
mock
https://github.com/uber-go/mock
gomock is a mocking framework for the Go programming language. It integrates well with Go's built-in testing package, but can be used in other contexts too.
https://github.com/uber-go/mock