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

Реклама: @ostinostin
Контент: @mxssl
加入频道
Go Tutorials & Examples

Learn Go programming by example. GOSAMPLES is a library of Go tutorials and examples that helps you solve everyday code problems.

https://gosamples.dev
Go mod's lesser known features

In this post, we will explore Go mododules design and learn how they support supply chain security.

https://verdverm.com/go-mods
A Complete Guide to Working With Cookies in Go

In this post we're going to run through how to use cookies in your Go web application to persist data between HTTP requests for a specific client.

https://www.alexedwards.net/blog/working-with-cookies-in-go
neffos

Neffos is a cross-platform real-time framework with expressive, elegant API written in Go.

https://github.com/kataras/neffos
fibratus

Fibratus is a tool for exploration and tracing of the Windows kernel. It lets you trap system-wide events such as process life-cycle, file system I/O, registry modifications or network requests among many other observability signals. In a nutshell, Fibratus allows for gaining deep operational visibility into the Windows kernel but also processes running on top of it. It requires no drivers nor third-party software.

https://github.com/rabbitstack/fibratus
chrono

Chrono is a scheduler library that lets you run your tasks and code periodically. It provides different scheduling functionalities to make it easier to create a scheduling task.

https://github.com/procyon-projects/chrono
Logging in Go with slog

slog is an experimental logging package from the Go team that provides the functionality of structured logging.

This article gives you an overview of logging functionality in this package.

https://thedevelopercafe.com/articles/logging-in-go-with-slog-a7bb489755c2
go-micro

Go Micro is a framework for distributed systems development.

Features:

- Authentication
- Dynamic Config
- Data Storage
- Service Discovery
- Load Balancing
- Message Encoding
- RPC Client/Server
- Async Messaging
- Event Streaming
- Synchronization
- Pluggable Interfaces

https://github.com/go-micro/go-micro
Migrating our monorepo seamlessly from Dep to Go Modules

Since 2018, we've been using Dep to manage all the dependencies (473 at the time of counting) in our microservices monorepo. In 2020, Dep was deprecated in favour of the officially-supported Go modules system, but we weren’t able to migrate because of the new way it calculates the dependency tree; migrating to Go modules would have changed over 1.5 million lines of third-party code. This is extremely risky, difficult to review and hard to roll back, but continuing to use Dep meant we were relying on tooling that was no longer maintained and not sticking with the Go ecosystem which could cause problems down the line.

We wanted to find a way to switch to Go modules safely so we turned the operation into a ‘no-op’ by freezing dependency versions. We prepared our monorepo by iteratively updating our dependencies using the existing Dep tooling, which in turn reduced the risk of dependency changes during and after the migration to Go modules.

https://monzo.com/blog/2022/09/29/migrating-our-monorepo-seamlessly-from-dep-to-go-modules
Memory layout and mechanics of arrays and slices | Golang

https://youtu.be/RVTfPy_NELc
The perfect start to your new Go project

Effortlessly generate the ideal application scaffold for your Go project, customized to your needs and saving yourself hours of time and thinking.

https://autostrada.dev
How To Create a PDF in Go: a Step-by-Step Tutorial

Follow Along As We Generate a PDF Invoice From Scratch

https://medium.com/the-godev-corner/how-to-create-a-pdf-in-go-157355429a94
pagoda

Pagoda is not a framework but rather a base starter-kit for rapid, easy full-stack web development in Go, aiming to provide much of the functionality you would expect from a complete web framework as well as establishing patterns, procedures and structure for your web application.

https://github.com/mikestefanello/pagoda
circumflex

It's Hacker News in your terminal

https://github.com/bensadeh/circumflex
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