Go Library
4.11K subscribers
20 photos
63 files
798 links
Go (Golang) Library

Реклама: @ostinostin
Контент: @mxssl
Download Telegram
giu

A rapid cross-platform GUI framework for Go based on Dear ImGui and the great Go binding imgui-go.


https://github.com/AllenDang/giu
go-blueprint

Go Blueprint is a CLI tool that allows users to spin up a Go project with the corresponding structure seamlessly. It also gives the option to integrate with one of the more popular Go frameworks (and the list is growing with new features)!


https://github.com/Melkeydev/go-blueprint
Writing a circuit breaker in Go

https://rednafi.com/go/circuit_breaker
When I told 4,091 writers they weren’t getting paid

Subtle database errors and how we recovered


https://medium.engineering/when-i-told-4-091-writers-they-werent-getting-paid-b42b8e55ca43
gomponents

gomponents are HTML components written in pure Go. They render to HTML 5, and make it easy for you to build reusable components. So you can focus on building your app instead of learning yet another templating language.


https://github.com/maragudk/gomponents
Lessons from running WebAssembly in production with Go & Wazero

Lessons learned from running production Go services that call Wasm using Wazero: embedding Wasm binaries, optimizing startup times, pre-initialization, wasm-opt optimizations, and profiling.


https://blog.arcjet.com/lessons-from-running-webassembly-in-production-with-go-wazero
CPU throttling for containerized Go applications explained

https://kanishk.io/posts/cpu-throttling-in-containerized-go-apps
greenmask

Greenmask is a powerful open-source utility that is designed for logical database backup dumping, anonymization, synthetic data generation and restoration. It has ported PostgreSQL libraries, making it reliable. It is stateless and does not require any changes to your database schema. It is designed to be highly customizable and backward-compatible with existing PostgreSQL utilities, fast and reliable.


https://github.com/GreenmaskIO/greenmask
risor

Risor is a fast and flexible scripting language for Go developers and DevOps.

Its modules integrate the Go standard library, making it easy to use functions that you're already familiar with as a Go developer.

Scripts are compiled to bytecode and then run on a lightweight virtual machine. Risor is written in pure Go.


https://github.com/risor-io/risor
awesome-go

A curated list of awesome Go frameworks, libraries and software


https://github.com/avelino/awesome-go
Benchmarks and performance testing

A big part of programming is about making choices:

- What data type do I use? A map, a slice, something more fancy?
- Do I implement this using recursion or a loop?
- Should I pass a value or a pointer?
- How to determine the best choice?

One way is to measure performance using benchmarks.

Go has built-in support for benchmarking in the testing package.

In this article you’ll see how benchmarks are structured, what to keep in mind when writing them and how to execute them.

In the end we’ll also look at a real-world inspired example repository.


https://www.willem.dev/articles/benchmarks-performance-testing
Fuzz Testing Go HTTP Services

As a developer, you can't envision all of the possible inputs your programs or functions could receive. Even though you can define the major edge cases, you still can't predict how your program will behave in the case of some weird unexpected input. In other words, you can only find bugs you expect to find.

That's where fuzz testing or fuzzing comes to the rescue.


https://packagemain.tech/p/fuzzing-http-services-golang
Go and Postgres Listen/Notify or: How I Learned to Stop Worrying and Love PubSub

This post is going to show you how to use Listen/Notify in your Golang applications with pgx Conn.WaitForNotification


https://brojonat.com/posts/go-postgres-listen-notify
go-graphviz

Go bindings for Graphviz


https://github.com/goccy/go-graphviz
notify

A dead simple Go library for sending notifications to various messaging services.


https://github.com/nikoksr/notify
bun

SQL-first Golang ORM


https://github.com/uptrace/bun
asynq

Asynq is a Go library for queueing tasks and processing them asynchronously with workers. It's backed by Redis and is designed to be scalable yet easy to get started.


https://github.com/hibiken/asynq
BemiDB

BemiDB is a Postgres read replica optimized for analytics. It consists of a single binary that seamlessly connects to a Postgres database, replicates the data in a compressed columnar format, and allows you to run complex queries using its Postgres-compatible analytical query engine.


https://github.com/BemiHQ/BemiDB
Writing secure Go code

What does it mean to keep security in mind when writing Go code? Answering this question in one short article seems impossible. For this reason, we will narrow it down to a few specific practices.


https://jarosz.dev/article/writing-secure-go-code
lazyjournal

TUI for journalctl, logs in the file system and docker containers for quick viewing and filtering with fuzzy find and regex support.


https://github.com/Lifailon/lazyjournal