dynaQ
KrakenD
dynaQ | KrakenD | |
---|---|---|
8 | 4 | |
30 | 6,053 | |
- | 0.4% | |
0.0 | 8.4 | |
almost 2 years ago | 12 days ago | |
Go | Go | |
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.
dynaQ
-
Share Your Code.. Share your most unique piece of Go code.
I wouldn’t consider it idiomatic Go (and not something I recommend for use in production), but for fun, I built dynaQ (an abbreviation for dynamic querier) as a PoC of an extension to the database/sql core package erasing the need to model your DB results or use an ORM. There’s minimal reflection used to keep things performant, you can pass in an option whenever creating the new dynamic querier to auto-detect a time value from your database with a custom format (or take it’s default), and more.
-
How do you handle returning data from DB Queries with Joins? Create a struct for every possible Query?
But that’s why I built dynaQ. No need to pre-model your returns and it’s just as performant as the standard library ;)
-
New Open source Go projects looking for contributors
I don’t have a contributor guide written for either of them, but feel free to help with the few issues in either this or this package I’ve written and released. They’re super simple things, but I’ve been rather busy at work and in life. So I haven’t had the time to address them. If you want to contribute, feel free to send me a DM with any questions!! Otherwise, just fork the repo(s) and just open a PR once you’re ready for the changes to be merged. I’ll review it asap!!
-
The superbasic SQL-Builder
Nice!! Looks like a great companion to this module that I wrote and released recently!!
-
Next month I'll start working at a company as a Backend Developer and will be mostly using Go. How can I better prepare myself?
As far as projects to study go, I’ll start off with a shameless plug of two Go packages I’ve written, myself. This one is for converting between RGB (and other color space formats) to the nearest matching DMC thread color. This one is admittedly an extremely unidiomatic package (it’s completely opposite of how you should do things in Go) for supporting dynamic queries in Go without headaches or pre-defining “model” structs to hold each row of your query results. It’s something that can be useful, but it’s also built to showcase making the language work for a use case it wasn’t originally meant to support. If you wanna take a look at them, feel free. Also, I suggest looking at the testify repo. It’s an EXTREMELY popular testing library, and it’s also structured well.
-
Create a type for every response when using REST API ?
I’ve created a package as an extension of the database/sql package in the stdlib for supporting dynamic queries without headaches in Go without having to predefine the structs. So you might be able to take some pointers from how I accomplished this
-
dynaQ, a light-weight extension to Go’s standard database/sql package for executing dynamic queries on a database, as part of a transaction, and more
A couple of days ago, someone asked about why using dynamic queries in Go was such a headache. And after reading through the comments, looking at code, and studying others’ frustrations with this issue, I decided to tackle it. And that’s how dynaQ was born!!
-
why is getting data from the database such a headache
It’s called dynaQ. It allows you to use dynamic queries on a database, with database transactions, and more, without having to pre-define any model structs to hold the returned data. It also allows for variable query arguments, as well as the ability to use custom time formats in your database and configure that format whenever creating a dynamic querier. Take a look and give it a shot!! I think you’ll be pretty pleased with the result
KrakenD
-
Share Your Code.. Share your most unique piece of Go code.
KrakenD and Lura https://github.com/krakendio/krakend-ce https://github.com/luraproject/lura
-
Apache Apisix: Open-Source API Gateway and API Management Platform
I was trying to look up the license for that project and the repo linked from the footer of their website is https://github.com/krakendio/krakend-ce#readme (Apache 2), but because I just did a web search for krakend there is also https://github.com/luraproject/lura#readme which says it's from the Linux Foundation (also Apache 2)
Is KrakenD some kind of generic term, or does that project just have a complex history?
-
What is the coolest Go open source projects you have seen?
https://github.com/luraproject/lura api gateway framework
-
Authelia is an open-source authentication/authorization server with 2FA/SSO
Thanks for the pointer to Express API Gateway.
A took a look at Krakend a while back, and it didn't seem to support it either [1]
[1] https://github.com/devopsfaith/krakend/issues/274
What are some alternatives?
superbasic - The superbasic SQL-Builder.
Kong - 🦍 The Cloud-Native API Gateway and AI Gateway.
go-c2dmc - A Go package for converting RGB and other color formats/colorspaces into DMC thread colors (DMC color name and floss number)
Tyk - Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols
particleui - A library to make frontend app development as simple as possible.
Keycloak - Open Source Identity and Access Management For Modern Applications and Services
simplefeatures - Simple Features is a pure Go Implementation of the OpenGIS Simple Feature Access Specification
Hasura - Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
memphis.go - Go client for Memphis. Memphis is an event processing platform
oauth2-proxy - A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers.
JSON-to-Go - Translates JSON into a Go type in your browser instantly (original)
grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC