fx
pandoc
Our great sponsors
fx | pandoc | |
---|---|---|
31 | 420 | |
5,175 | 32,396 | |
3.3% | - | |
8.2 | 9.8 | |
5 days ago | 2 days ago | |
Go | Haskell | |
MIT License | GNU General Public License v3.0 or later |
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.
pandoc
-
Beautifying Org Mode in Emacs (2018)
My main authoring tool is then Emacs Markdown Mode (https://jblevins.org/projects/markdown-mode/). For data entry, it comes with some bells and whistles similar to org-mode, like C-c C-l for inserting links etc.
I seldom export my notes for external usage, but if it is the case, I use lowdown (https://kristaps.bsd.lv/lowdown/) which also comes with some nice output targets (among the more unusual are Groff and Terminal). Of cource pandoc (https://pandoc.org/) does a very good job here, too.
-
Show HN: I made a tool to clean and convert any webpage to Markdown
This is one of those things that the ever-amazing pandoc (https://pandoc.org/) does very well, on top of supporting virtually every other document format.
-
LaTeX makes me so angry at word
Folks feel the same way about Markdown versus LaTeX: why use something significantly more complicated where a looser, human-readable grammar works better?
For any other situations, I use https://pandoc.org/, or, generate a Word doc scriptomatically.
-
📓 Versionner et builder l'eBook de son Entretien Annuel d'Evaluation sur Git(Hub)
pandoc toolchain pour builder une version confortable/imprimable en phase de travail (ePub, pdf, docx, html)
-
Launch HN: Onedoc (YC W24) – A better way to create PDFs
Congrats on the launch, I guess, but there are so many free options that I can't think of a situation where paying $0.25 per document would be justified...? Just to name a few:
Back in the days, I used to use XSL-FO [0] and it was okay. It was not very precise but it rarely if ever broke, and was perfectly integrated with an XML/XSLT solution. Yeah, this was a long time ago.
Last month I used html-to-pdfmake [1] and it's also not very precise and more fragile, but very efficient and fast.
Yet another approach would be to pro grammatically generate .rtf files (for example) and use Pandoc [2] to produce PDFs (I have not tried this in production but don't see why it wouldn't work).
[0] https://en.wikipedia.org/wiki/XSL_Formatting_Objects
[1] https://www.npmjs.com/package/html-to-pdfmake
[2] https://pandoc.org/
-
Ask HN: Looking for lightweight personal blogging platform
Others have mentioned static site generators. I like Hakyll [1] because it can tightly integrate with Pandoc [2] and allows you to develop custom solutions if your needs ever grow.
[1]: https://jaspervdj.be/hakyll/
[2]: https://pandoc.org/
-
Show HN: CLI for generating beautiful PDF for offline reading
Have you compared it with a conversion by pandoc (https://pandoc.org/)?
-
Pandoc
I have used it to kickstart a blogging project that I wish to come back to soon. The Lua inter-op for custom readers, writers and filters is great but I wish there was more editor integration and even perhaps an official IDE/editor with built-in debugging features (probably something already do-able with Emacs but I haven't checked). The only blocker for my project is no support for "ChunkedDoc" for Lua filters [1] which forces me to write more code and a complicated Makefile.
[1]: https://github.com/jgm/pandoc/issues/9061
- I don't always use LaTeX, but when I do, I compile to HTML (2013)
- What Happened to Pandoc-Discuss?
What are some alternatives?
dig - A reflection based dependency injection toolkit for Go.
pandoc-highlighting-extensions - Extensions to Pandoc syntax highlighting
wire - Compile-time Dependency Injection for Go
obsidian-html - :file_cabinet: A simple tool to convert an Obsidian vault into a static directory of HTML files.
wire - Strict Runtime Dependency Injection for Golang
obsidian-export - Rust library and CLI to export an Obsidian vault to regular Markdown
container - A lightweight yet powerful IoC dependency injection container for the Go programming language
Obsidian-MD-To-PDF - A command line python script to convert Obsidian md files to a pdf
captcha - :sunglasses:Package captcha provides an easy to use, unopinionated API for captcha generation
kramdown - kramdown is a fast, pure Ruby Markdown superset converter, using a strict syntax definition and supporting several common extensions.
wild-workouts-go-ddd-example - Go DDD example application. Complete project to show how to apply DDD, Clean Architecture, and CQRS by practical refactoring.
wavedrom - :ocean: Digital timing diagram rendering engine