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
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.https://github.com/dunglas/frankenphp
FrankenPHP can also be used as a standalone Go library to embed PHP in any app using net/http.
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.https://www.dolthub.com/blog/2022-10-14-golang-performance-case-studies
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.
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