Go Library
4.13K subscribers
20 photos
63 files
805 links
Go (Golang) Library

Реклама: @ostinostin
Контент: @mxssl
Download Telegram
Type assertion vs type switches in Go

https://rednafi.com/go/type_assertion_vs_type_switches
integresql

IntegreSQL manages isolated PostgreSQL databases for your integration tests.


https://github.com/allaboutapps/integresql
How I write HTTP services in Go after 13 years

This post covers a range of topics related to building services in Go, including:

- Structuring servers and handlers for maximum maintainability
- Tips and tricks for optimizing for a quick startup and graceful shutdown
- How to handle common work that applies to many types of requests
- Going deep on properly testing your services
- From small projects to large, these practices have stood the test of time for me, and I hope they will for you too.


https://grafana.com/blog/2024/02/09/how-i-write-http-services-in-go-after-13-years
Reducing Go Dependencies

This article is a practical look at reducing dependencies in Go libraries. We'll start by looking at how Go dependencies work, then go into a few ideas around reducing dependencies. Finally, we'll go into a few ways I've implemented these ideas in Huma and the results. Hopefully you can use some of the same techniques in your own projects.


https://dgt.hashnode.dev/reducing-go-dependencies
Feeding a hungry mouse using Go and chromedp

The backend engineering team at Nurdsoft is a fan of Go, we use it for almost all of our backend services, its easier to get started even our Frontend engineering team can write Go!. This article is about how we can use Go to automate a browser virtually acting like a real user.


https://www.pacenthink.io/post/feeding-a-hungry-mouse-using-chromedp-and-golang
Start With the Go Standard Library

When starting a project, new Gophers often ask the following questions.

- What logger should I use?
- What web framework should I use?
- What object–relational mapping (ORM) should I use?

These questions are well-intentioned but they all miss a key aspect about Go.


https://matthewsanabria.dev/posts/start-with-the-go-standard-library
Calling C from Go

As someone who works a lot with operating systems, there are many scenarios that require loading C libraries. Plugins that use shared libraries, low-level device APIs, random Linux utilities. Despite modern options for interprocess communication, sometimes you get a header file and a shared object and have to run with it.

This post covers cgo, Go’s C interoperability layer.


https://ericchiang.github.io/post/cgo
fuego

Go framework generating OpenAPI documentation from code. Inspired by Nest, built for Go developers.


https://github.com/go-fuego/fuego
Memory leaks in Go

In this post, we are going to have a look at

- What is a memory leak
- Why are memory leaks bad
- Common causes for memory leaks in Go
- Methods for identifying memory leaks
- Investigate memory leaks


https://dev.to/gkampitakis/memory-leaks-in-go-3pcn
hatchet

Hatchet replaces difficult to manage legacy queues or pub/sub systems so you can design durable workloads that recover from failure and solve for problems like concurrency, fairness, and rate limiting. Instead of managing your own task queue or pub/sub system, you can use Hatchet to distribute your functions between a set of workers with minimal configuration or infrastructure.


https://github.com/hatchet-dev/hatchet
yokai

Simple, modular, and observable Go framework for backend applications.


https://github.com/ankorstore/yokai
mactop

mactop - Apple Silicon Monitor Top written in pure Go Lang! Under 1,000 lines of code.


https://github.com/context-labs/mactop
ntcharts

ntcharts is a Golang Terminal Charting library for the Bubble Tea Framework and other TUIs.


https://github.com/NimbleMarkets/ntcharts
Robust generic functions on slices

The slices package provides functions that work for slices of any type. In this blog post we’ll discuss how you can use these functions more effectively by understanding how slices are represented in memory and how that affects the garbage collector, and we’ll cover how we recently adjusted these functions to make them less surprising.


https://go.dev/blog/generic-slice-functions
One Billion Rows Challenge in Golang

The One Billion Row Challenge (1BRC) is intended to be a fun exploration of how far modern Java can be pushed for aggregating one billion rows from a text file.


https://www.bytesizego.com/blog/one-billion-row-challenge-go
goquery

goquery brings a syntax and a set of features similar to jQuery to the Go language. It is based on Go's net/html package and the CSS Selector library cascadia. Since the net/html parser returns nodes, and not a full-featured DOM tree, jQuery's stateful manipulation functions (like height(), css(), detach()) have been left off.


https://github.com/PuerkitoBio/goquery
gologin

Package gologin provides chainable login http.Handler's for Google, GitHub, Twitter, Facebook, Bitbucket, Tumblr, or any OAuth1 or OAuth2 authentication providers.


https://github.com/dghubble/gologin