xop-go
dynaQ
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.
xop-go
-
Rethinking logging levels
I'm building a logging/tracing system -- see xop. I'm trying to make it stand out from the competition (which I see as slog and Open Telemetry -- zap and zerolog do not integrate with tracing well enough). As such, I'm examining each aspect of logging and asking myself what I can do better.
-
New Open source Go projects looking for contributors
I'm working on a combined/logging tracing system. It's highly unstable right now. What I need most right now is feedback on the APIs. https://github.com/muir/xoplog
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
What are some alternatives?
slog - 📑 Lightweight, configurable, extensible logging library written in Go. Support multi level, multi outputs and built-in multi file logger, buffers, clean, rotate-file handling.一个易于使用的,轻量级、可配置、可扩展的日志库。支持多个级别,输出到多文件;内置文件日志处理、自动切割、清理、压缩等增强功能
superbasic - The superbasic SQL-Builder.
box-cli-maker - Make Highly Customized Boxes for CLI
go-c2dmc - A Go package for converting RGB and other color formats/colorspaces into DMC thread colors (DMC color name and floss number)
particleui - A library to make frontend app development as simple as possible.
usql - Universal command-line interface for SQL databases
simplefeatures - Simple Features is a pure Go Implementation of the OpenGIS Simple Feature Access Specification
memphis.go - Go client for Memphis. Memphis is an event processing platform
locking-center - Locking-Center provides very useful primitive service in many environments where different processes must operate with shared resources in a mutually exclusive way.
JSON-to-Go - Translates JSON into a Go type in your browser instantly (original)