fx
Fiber
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fx
-
I write HTTP services in Go after 13 years (Mat Ryer, 2024)
I found fx(https://github.com/uber-go/fx) to be a super simple yet versatile tool to design my application around.
All the advice in the article is still helpful, but it takes the "how do I make sure X is initialized when Y needs it" part completely out of the equation and reduces it from an N*M problem to an N problem, ie I only have to worry about how to initialize individual pieces, not about how to synchronize initialization between them.
I've used quite a few dependency injection libraries in various languages over the years (and implemented a couple myself) and the simplicity and versatility of fx makes it my favorite so far.
-
go-ecommerce-microservices: A practical e-commerce microservices, built with cqrs, event sourcing, vertical slice architecture, event-driven architecture.
Some of the features: - ✅ Using Vertical Slice Architecture as a high level architecture - ✅ Using Event Driven Architecture on top of RabbitMQ Message Broker with a custom [Event Bus](pkg/messaging/bus/) - ✅ Using Event Sourcing in Audit Based services like [Orders Service](services/orders/) - ✅ Using CQRS Pattern and Mediator Patternon top of Go-MediatR library - ✅ Using Dependency Injection and Inversion of Controlon top of uber-go/fx library - ✅ Using RESTFul api with Echo framework and using swagger with swaggo/swag library - ✅ Using Postgres and EventStoreDB to write databases with fully supports transactions(ACID) - ✅ Using MongoDB and Elastic Search for read databases (NOSQL) - ✅ Using OpenTelemetry for collection Distributed Tracing with using Jaeger and Zipkin - ✅ Using OpenTelemetry for collection Metrics with using Prometheus and Grafana - ✅ Using Unit Test for testing small units with mocking dependent classes and using Mockery for mocking dependencies - ✅ Using End2End Test and Integration Test for testing features with all of their real dependeinces using docker containers (cleanup tests) and testcontainers-go library
-
Gorilla,wow
any take on https://github.com/uber-go/fx?
-
App init and graceful watch lib recommendations ?
I’m not sure of much that can do all of that - maybe it’s a use case for https://github.com/uber-go/fx
-
How normal is it to stare at your screen, getting nothing done when stuck and waiting for help?
If I still find myself stuck/waiting, I switch over to studying more about our team's main language Go. Currently looking around at Fx ( https://github.com/uber-go/fx ). Which is interesting, though I doubt we'll actually migrate anything for it, but might make a neat lunch and learn topic.
-
Zerolog printing logs multiple times
Hello gophers, I am using https://github.com/uber-go/fx and https://github.com/rs/zerolog for logging.
-
Does this project structure make sense?
Also, I like to use Uber FX for my DI stuff. You can check it out here:https://github.com/uber-go/fx
-
As a Go programmer, what design pattern, programming techniques have you actually used, implemented regularly in your workplace which made your life much easier?
I only have private and work repos... But I use Uber fx. https://github.com/uber-go/fx
-
Does Golang has any framework like Springboot?
Spring Boot is notable for its dependency injection / inversion of control. The closest Go has to this is Uber's Fx which also includes some lifecycle management.
-
Config for production and mocking (db connections, http parsers etc)
If you have such a complex and deep dependency graph, and you don't want to manually maintain it, you could use some DI library to handle that for you. Something like https://github.com/google/wire for small-medium size stuff, or https://github.com/uber-go/fx for larger scale, more enterprise projects.
Fiber
- อย่าเพิ่งใช้ fiber ถ้ายังไม่ได้อ่าน doc
-
Ultimate Guide to User Authorization with Identity Platform
To make my life easier, I added Fiber, a popular lightweight framework. Regardless of which package you use, the process and most of the code will remain unchanged.
-
go for web backend
Since you're from Nodejs just like me, I use fiber https://gofiber.io/ it's easier to understand from a Nodejs background (express, etc) and there's nothing wrong using it if you know it, your casual application wont need all the performance in the world Go provides
-
Which is the best framework to create web apps with go?
I think u should try Fiber it's the fastest according to the benchmarks and imo it's the best I love it!!!
-
Boneless: a CLI to create your apps with Go
Boneless is a powerful tool that offers a wide range of features to facilitate application development. In this blog post, we will explore some essential tools that can be used in conjunction with Boneless: Service Weaver, Go Migrate, SQLC, and Fiber. Let's discover how these tools can boost productivity and efficiency in application development.
-
Integrating OpenAI's GPT-3 into a Next.js and Go Fiber App
Fiber
-
Best and fastest way to learn Golang for web dev?
Fibber is web framework written in Go. It is very easy to learn. https://gofiber.io
-
Hermes. Extremely fast full-text-searches (10-300µs) and cache.
don’t have an API at all - it’s a security vulnerability and unless you already know how to secure an API suite it’s very likely to increase risk for a dependent project. if you’re set on an API, use a well known routing package (e.g I love gofiber), and add an optional .withMiddleware() to your start func to allow clients to extend and secure the API themselves
- What are the possible ways to integrate react and django ?
-
I've just started learning Golang, and I'm struggling to choose a framework.
I have loved using fiber. Very nice API with lots of configurability and it scales very well compared to echo, gin, etc.
What are some alternatives?
dig - A reflection based dependency injection toolkit for Go.
Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
wire - Compile-time Dependency Injection for Go
Echo - High performance, minimalist Go web framework
wire - Strict Runtime Dependency Injection for Golang
mux - A powerful HTTP router and URL matcher for building Go web servers with 🦍
container - A lightweight yet powerful IoC dependency injection container for the Go programming language
Iris - The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket:
captcha - :sunglasses:Package captcha provides an easy to use, unopinionated API for captcha generation
chi - lightweight, idiomatic and composable router for building Go HTTP services
wild-workouts-go-ddd-example - Go DDD example application. Complete project to show how to apply DDD, Clean Architecture, and CQRS by practical refactoring.
fasthttp - Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http