Go Library
4.09K subscribers
17 photos
63 files
712 links
Go (Golang) Library

Реклама: @ostinostin
Контент: @mxssl
加入频道
tunny

Tunny is a Golang library for spawning and managing a goroutine pool, allowing you to limit work coming from any number of goroutines with a synchronous API.

https://github.com/Jeffail/tunny
fsnotify

fsnotify is a Go library to provide cross-platform filesystem notifications on Windows, Linux, macOS, BSD, and illumos.

https://github.com/fsnotify/fsnotify
lazydocker

A simple terminal UI for both docker and docker-compose, written in Go with the gocui library.

https://github.com/jesseduffield/lazydocker
cobra

Cobra is a library for creating powerful modern CLI applications.

https://github.com/spf13/cobra
goa

Goa takes a different approach to building services by making it possible to describe the design of the service API using a simple Go DSL. Goa uses the description to generate specialized service helper code, client code and documentation. Goa is extensible via plugins, for example the goakit plugin generates code that leverage the Go kit library.

https://github.com/goadesign/goa
Scaling acceptance tests

Acceptance tests are essential, and they directly impact your ability to confidently evolve your system over time, with a reasonable cost of change.

https://quii.gitbook.io/learn-go-with-tests/testing-fundamentals/scaling-acceptance-tests
frankenphp

FrankenPHP is a modern application server for PHP built on top of the Caddy web server.

FrankenPHP can also be used as a standalone Go library to embed PHP in any app using net/http.

https://github.com/dunglas/frankenphp
Go Performance Case Studies

Dolt DB is the world's first SQL database that you can branch and merge, push and pull, fork and clone just like a git repository.

We built Dolt's storage engine from the ground up to make these operations fast. Writing a row storage engine and a SQL execution engine isn't easy. There's a reason that most people don't even attempt it, but at DoltHub we're built different.

Today we're going to review several case studies of performance problems we ran into while benchmarking Dolt to get row access to be as fast as MySQL. Every case study is a real performance problem we encountered and fixed.

https://www.dolthub.com/blog/2022-10-14-golang-performance-case-studies
wails

The traditional method of providing web interfaces to Go programs is via a built-in web server. Wails offers a different approach: it provides the ability to wrap both Go code and a web frontend into a single binary. Tools are provided to make this easy for you by handling project creation, compilation and bundling. All you have to do is get creative!

https://github.com/wailsapp/wails
buf

A new way of working with Protocol Buffers.

https://github.com/bufbuild/buf
goatcounter

GoatCounter is an open source web analytics platform available as a (free) hosted service or self-hosted app. It aims to offer easy to use and meaningful privacy-friendly web analytics as an alternative to Google Analytics or Matomo.

https://github.com/arp242/goatcounter
rqlite

rqlite is an easy-to-use, lightweight, distributed relational database, which uses SQLite as its storage engine.

https://github.com/rqlite/rqlite
retry-go

Simple golang library for retry mechanism

https://github.com/avast/retry-go
incremental parsing in go

This post is an attempt to explain the incremental parsing algorithm aretext uses for syntax highlighting.

https://dev-nonsense.com/posts/incremental-parsing-in-go
rand

Fast, high quality alternative to math/rand and golang.org/x/exp/rand.

https://github.com/flyingmutant/rand
How We Built a Globally Distributed Mesh Network to Scale WebRTC

https://blog.livekit.io/scaling-webrtc-with-distributed-mesh
carbon

A simple, semantic and developer-friendly golang package for datetime

https://github.com/golang-module/carbon
FerretDB

FerretDB (previously MangoDB) was founded to become the de-facto open-source substitute to MongoDB. FerretDB is an open-source proxy, converting the MongoDB 6.0+ wire protocol queries to SQL - using PostgreSQL as a database engine.

https://github.com/FerretDB/FerretDB
ccache

CCache is an LRU Cache, written in Go, focused on supporting high concurrency.

https://github.com/karlseguin/ccache
ginkgo

Ginkgo is a mature testing framework for Go designed to help you write expressive specs. Ginkgo builds on top of Go's testing foundation and is complemented by the Gomega matcher library.

https://github.com/onsi/ginkgo