vale
Vale is a command-line tool that brings code-like linting to prose. It's fast, cross-platform (Windows, macOS, and Linux), and highly customizable.https://github.com/errata-ai/vale
etree
The etree package is a lightweight, pure go package that expresses XML in the form of an element tree. Its design was inspired by the Python ElementTree module.https://github.com/beevik/etree
memphis
Memphis enables building modern queue-based applications that require large volumes of streamed and enriched data, modern protocols, zero ops, up to x9 faster development, up to x46 fewer costs, and significantly lower dev time for data-oriented developers and data engineers.https://github.com/memphisdev/memphis
How Much Memory Do You Need to Run 1 Million Concurrent Tasks?
https://pkolaczk.github.io/memory-consumption-of-async
https://pkolaczk.github.io/memory-consumption-of-async
go-datastructures
A collection of useful, performant, and threadsafe Go datastructures.https://github.com/Workiva/go-datastructures
gain
Gain is a high-performance io_uring networking framework written entirely in Go.https://github.com/pawelgaczynski/gain
lancet
Lancet is a comprehensive, efficient, and reusable util function library of go. Inspired by the java apache common package and lodash.js.https://github.com/duke-git/lancet
dnscontrol
DNSControl is a system for maintaining DNS zones. It has two parts: a domain specific language (DSL) for describing DNS zones plus software that processes the DSL and pushes the resulting zones to DNS providers such as Route53, Cloudflare, and Gandi. It can send the same DNS records to multiple providers. It even generates the most beautiful BIND zone files ever. It runs anywhere Go runs (Linux, macOS, Windows). The provider model is extensible, so more providers can be added.https://github.com/StackExchange/dnscontrol
openfga
A high-performance and flexible authorization/permission engine built for developers and inspired by Google Zanzibar.https://github.com/openfga/openfga
Implementing a distributed key-value store on top of implementing Raft in Go
https://notes.eatonphil.com/2023-05-25-raft.html
https://notes.eatonphil.com/2023-05-25-raft.html
Finding The Best Go Project Structure
Part 1: https://avivcarmi.com/finding-the-best-go-project-structure-part-1
Part 2: https://avivcarmi.com/finding-the-best-go-project-structure-part-2
Part 1: https://avivcarmi.com/finding-the-best-go-project-structure-part-1
Part 2: https://avivcarmi.com/finding-the-best-go-project-structure-part-2
Unlocking the Power of JunoDB: PayPal’s Key-Value Store Goes Open-Source
https://medium.com/paypal-tech/unlocking-the-power-of-junodb-paypals-key-value-store-goes-open-source-ee85f935bdc1
https://medium.com/paypal-tech/unlocking-the-power-of-junodb-paypals-key-value-store-goes-open-source-ee85f935bdc1
grank.io helps you navigate in the golang world
Choosing the right dependencies is more of an art than a science. People usually apply different heuristics, like checking github star counts, commit frequency, issue counts, number of contributors, etc. After one of these discussion why i have chosen library A instead of B or C i came to an idea that is presented here.https://www.grank.io
Luckily most of the golang dependencies (libraries, frameworks) are open-source and located in one place, github.com. Golang's package import convention tells us how to actually find the source code of the dependencies, so we can check easily the dependency graph of go packages. If we wanna compare packages we could check which packages are used by more "important" packages/projects that sounds similar to idea od PageRank how importance of web pages can be computed. Even more we have additional useful information put together manually by the members of the community for example the star counts on a repo which could be used as weight in the computation.
grank.io is showing a rank list based on this weighted PageRank value of github repos and for each analysed repositories, packages it shows the packages that are dependent on it or it depends on. The source code is available on github.
How to include Git version information in Go
TL;DR: Just import github.com/carlmjohnson/versioninfo and use versioninfo.Revision to automatically include a Git hash in your Go application.https://blog.carlmjohnson.net/post/2023/golang-git-hash-how-to
Curious how it works? Want to make your own version info package? Read on.
requests
The problem: Go's net/http is powerful and versatile, but using it correctly for client requests can be extremely verbose.https://github.com/carlmjohnson/requests
The solution: The requests.Builder type is a convenient way to build, send, and handle HTTP requests. Builder has a fluent API with methods returning a pointer to the same struct, which allows for declaratively describing a request by method chaining.
Requests also comes with tools for building custom http transports, include a request recorder and replayer for testing.
ls-lint
An extremely fast directory and filename linter - Bring some structure to your project filesystemhttps://github.com/loeffel-io/ls-lint