Google Go Style
Style Guide - https://google.github.io/styleguide/go/guide
Style Decisions - https://google.github.io/styleguide/go/decisions
Best Practices - https://google.github.io/styleguide/go/best-practices
Style Guide - https://google.github.io/styleguide/go/guide
Style Decisions - https://google.github.io/styleguide/go/decisions
Best Practices - https://google.github.io/styleguide/go/best-practices
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
Understanding Fuzz Testing in Go
https://blog.jetbrains.com/go/2022/12/14/understanding-fuzz-testing-in-go
https://blog.jetbrains.com/go/2022/12/14/understanding-fuzz-testing-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.https://thedevelopercafe.com/articles/logging-in-go-with-slog-a7bb489755c2
This article gives you an overview of logging functionality in this package.
go-micro
Go Micro is a framework for distributed systems development.https://github.com/go-micro/go-micro
Features:
- Authentication
- Dynamic Config
- Data Storage
- Service Discovery
- Load Balancing
- Message Encoding
- RPC Client/Server
- Async Messaging
- Event Streaming
- Synchronization
- Pluggable Interfaces
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.https://monzo.com/blog/2022/09/29/migrating-our-monorepo-seamlessly-from-dep-to-go-modules
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.
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 Scratchhttps://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
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