Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 Go Miscellaneou Projects
-
Awesome Go projects and frmaeworks
-
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
-
Probably use something like https://github.com/spf13/afero
-
Project mention: ntfy is an open source tool to send push notifications to your phone via PUT/POST. It now supports making phone calls, access tokens, user account sync, Prometheus metrics, structured logging, and more 🥳 | /r/selfhosted | 2023-05-18
Official support in healthchecks.io, Uptime Kuma, Radarr, Sonarr, Shoutrrr, Gatus, and many more!
-
Project mention: I write HTTP services in Go after 13 years (Mat Ryer, 2024) | news.ycombinator.com | 2024-02-09
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.
-
package main import ( "bufio" "encoding/binary" "encoding/hex" "fmt" "os" "strings" "time" ) func main() { scanner := bufio.NewScanner(os.Stdin) scanner.Split(bufio.ScanLines) for scanner.Scan() { id, _ := FromString(scanner.Text()) fmt.Println(id.Time()) } } func (me UUID) Nanoseconds() int64 { time_low := int64(binary.BigEndian.Uint32(me[0:4])) time_mid := int64(binary.BigEndian.Uint16(me[4:6])) time_hi := int64((binary.BigEndian.Uint16(me[6:8]) & 0x0fff)) return int64((((time_low) + (time_mid << 32) + (time_hi << 48)) - epochStart) * 100) } func (me UUID) Time() time.Time { nsec := me.Nanoseconds() return time.Unix(nsec/1e9, nsec%1e9).UTC() } // code below Copyright (C) 2013 by Maxim Bublis // see https://github.com/satori/go.uuid // Difference in 100-nanosecond intervals between // UUID epoch (October 15, 1582) and Unix epoch (January 1, 1970). const epochStart = 122192928000000000 // UUID representation compliant with specification // described in RFC 4122. type UUID [16]byte // FromString returns UUID parsed from string input. // Following formats are supported: // "6ba7b810-9dad-11d1-80b4-00c04fd430c8", // "{6ba7b810-9dad-11d1-80b4-00c04fd430c8}", // "urn:uuid:6ba7b810-9dad-11d1-80b4-00c04fd430c8" func FromString(input string) (u UUID, err error) { s := strings.Replace(input, "-", "", -1) if len(s) == 41 && s[:9] == "urn:uuid:" { s = s[9:] } else if len(s) == 34 && s[0] == '{' && s[33] == '}' { s = s[1:33] } if len(s) != 32 { err = fmt.Errorf("uuid: invalid UUID string: %s", input) return } b := []byte(s) _, err = hex.Decode(u[:], b) return } // Returns canonical string representation of UUID: // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. func (u UUID) String() string { return fmt.Sprintf("%x-%x-%x-%x-%x", u[:4], u[4:6], u[6:8], u[8:10], u[10:]) }
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
-
-
-
-
-
Project mention: In what ways are channels are better than the traditional await? | /r/golang | 2023-05-18
Some packages offer utilities to gather results from goroutines, such as multierror.Group or parallel.Map in samber/lo.
-
-
-
Project mention: I've just started learning Golang, and I'm struggling to choose a framework. | /r/golang | 2023-03-31
I maintain a repository where I usually play with these tools and try to model how I ideally like to use them: https://github.com/sagikazarmark/modern-go-application
-
-
-
ghorg
Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Bitbucket, and more 🥚
-
go-restful-api
An idiomatic Go REST API starter kit (boilerplate) following the SOLID principles and Clean Architecture
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go Miscellaneous related posts
- Golang Web: GET Method
- Injeção de dependência em Go
- Delving Deeper: Enriching Microservices with Golang with CloudWeGo
- Top Secrets Management Tools for 2024
- Go
- Looking for elegant code bases written in GoLang
- I created a search engine that helps you compare and determine quality, trends, and popularity in GO packages
-
A note from our sponsor - InfluxDB
www.influxdata.com | 19 Mar 2024
Index
What are some of the best open-source Miscellaneou projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | go-formatter | 118,296 |
2 | wire | 12,101 |
3 | gopsutil | 9,934 |
4 | afero | 5,623 |
5 | gatus | 5,143 |
6 | fx | 5,068 |
7 | go.uuid | 4,856 |
8 | archiver | 4,203 |
9 | gofakeit | 4,123 |
10 | dig | 3,629 |
11 | service | 3,335 |
12 | jabba | 2,829 |
13 | go-multierror | 2,157 |
14 | go-resiliency | 2,038 |
15 | base64Captcha | 1,970 |
16 | modern-go-application | 1,759 |
17 | do | 1,528 |
18 | gosms | 1,439 |
19 | ghorg | 1,432 |
20 | go-restful-api | 1,310 |
21 | xstrings | 1,269 |
22 | pagoda | 1,245 |
23 | go-commons-pool | 1,198 |