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 Go Projects
-
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.
-
frp
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
-
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.
-
Moby
The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems
-
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.
-
rclone
"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files
-
Gitea
Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
-
tidb
TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://tidbcloud.com/free-trial
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
A curated list of awesome Go frameworks, libraries and software - Awesome Go / Golang (awesome-go.com)
net/http: add methods and path variables to ServeMux patterns Discussion about ServeMux enhancements
Deploying AI models into production requires tools that can package applications and manage them at scale. Docker simplifies the deployment of AI applications by containerizing them, ensuring that the application runs smoothly in any environment. Kubernetes, an orchestration system for Docker containers, allows for the automated deployment, scaling, and management of containerized applications, essential for AI applications that need to scale across multiple servers or cloud environments.
Seems to be the exact opposite of https://github.com/fatedier/frp which is a reverse tunnel over a variety of protocols (including HTTP).
Project mention: How to Build and Document a Go REST API with Gin and Go-Swagger | dev.to | 2024-03-08Now let’s define the functions that will be called whenever a request hits our API. All the functions will be referencing the context provided by the Gin web framework. Paste the following code below the sample slice we just added to api.go:
This blog is running on Hugo. It had previously been running on Jekyll. Both these SSGs ship with the ability to create excerpts from your markdown content in 1 line or thereabouts.
Having been featured in our February 2023, and January 2024 Release Radars, Moby is the original Linux Container runtime. This new version adds a bunch of changes to the Docker CLI and Moby itself with additional features. There's bug fixes and enhancements, with the main thing for users to be on the look out for containers that were created using Docker Engine 25.0.0. These containers might have duplicate MAC addresses, and thus must be recreated. The same goes for those containers created with Moby 25.0+ and with user defined MAC addresses. Read up on all these changes in the release notes.
Project mention: Ask HN: Any tool for managing large and variable command lines? | news.ycombinator.com | 2024-04-25In addition, I think bash's `operate-and-get-next` can be very helpful. When you go back through your shell history, you can hit Ctrl+o instead of enter and it will execute the command then put the next one in your history on the command line, and keep track of where you are in your history. This way, you can rerun a bunch of commands by going to the first one and Ctrl+o till you are done. And you can edit those commands and hit Ctrl+o and still go to the next previously run command.
Note: fzf's history search feature breaks this. https://github.com/junegunn/fzf/issues/2399
Project mention: Platform issues which disadvantage Firefox compared to first-party browsers | news.ycombinator.com | 2024-01-19My biggest gripe with Firefox on Android is that sometimes I enter a domain in the address bar, press enter and nothing happens.
This behaviour seems to be erratic and only affects a few websites, such as https://forum.syncthing.net.
Closing the tab or using a different one doesn't solve the problem. I need to force close the app to fix this.
Project mention: Why Does Windows Use Backslash as Path Separator? | news.ycombinator.com | 2024-04-24No, look at the associated unit test: https://github.com/caddyserver/caddy/blob/c6eb186064091c79f4...
If that test fails we could serve PHP source code instead of having it be evaluated, a major security flaw.
However, it's very unlikely that .NET developers will directly expose their Kestrel-based web apps to the internet. Typically, we use other popular web servers like Nginx, Traefik, and Caddy to act as a reverse-proxy in front of Kestrel for various reasons:
Project mention: Oracle Linux 8.8'de PostgreSQL 13 Yedekli Yapı Nasıl Kurulur? - Patroni, ETCD, HAProxy | dev.to | 2023-12-07sudo dnf -y install curl wget vim ETCD_RELEASE=$(curl -s https://api.github.com/repos/etcd-io/etcd/releases/latest|grep tag_name | cut -d '"' -f 4) echo $ETCD_RELEASE wget https://github.com/etcd-io/etcd/releases/download/${ETCD_RELEASE}/etcd-${ETCD_RELEASE}-linux-amd64.tar.gz tar xvf etcd-${ETCD_RELEASE}-linux-amd64.tar.gz cd etcd-${ETCD_RELEASE}-linux-amd64 sudo mv etcd* /usr/local/bin ls /usr/local/bin /usr/local/bin/etcd --version
Even more relevant would be the Ethereum Improvement Proposal repo (where people submit proposals to change the spec):
https://github.com/ethereum/EIPs
Or the go-ethereum execution client (the most popular execution client):
https://github.com/ethereum/go-ethereum
Project mention: A Distributed File System in Go Cut Average Metadata Memory Usage to 100 Bytes | news.ycombinator.com | 2024-02-22Looks like minio added this in 2022:
https://github.com/minio/minio/pull/15433
> Gitea but the other one
Wouldn't that also be Gogs? https://gogs.io/
I remember when that one was what a lot of people were looking into, before the Gitea fork happened. It's odd to see how this has happened yet again, but I guess is a good thing that it's even possible in the first place, if there are indeed differing values and goals?
rclone: a command-line program to manage files on cloud storage.
Linux Mint with Cinnamon: https://www.linuxmint.com/ as far as desktop OSes go it's familiar (Ubuntu without snaps by default), whereas the UI feels both snappy, doesn't use too much resources and is actually pretty to look at.
MobaXTerm: https://mobaxterm.mobatek.net/ this one is a bit more Windows centric but I ended up paying for it and replaced mRemoteNg and PuTTY with it, it's even better than Remmina or whatever Linux has to offer - you can manage SSH/RDP/VNC/... sessions, input across multiple sessions side by side and it just simplifies things a lot (jump host support, a port forwarding too and so much more).
GitKraken: https://www.gitkraken.com/ also a piece of software that I paid for, this one actually makes using Git pleasant, feels better to use than SourceTree and Git Cola (even though that latter is wonderfully lightweight, too) and honestly I prefer that to the CLI nowadays.
Kanboard: https://kanboard.org/ is a lightweight Kanban project management tool, it might not have every feature under the sun but it's the most snappy project management tool I've ever used, looks simple and runs well. I honestly love it, what a nice thing to have.
Most modern text editors and IDEs: I personally pay for JetBrains IDEs but also like Visual Studio Code as a text editor and both have helped me immensely, they're reasonably performant when you have the RAM, look nice, often give you suggestions about how to improve your code and also have a plethora of plugins in their ecosystems. Nowadays I unapologetically use LLMs as well and overall it feels like I have these great tools and cool autocomplete (that is sometimes a bit silly and wrong) at my disposal, that makes me happy.
Kdenlive: https://kdenlive.org/ imagine if there was a successor to Windows Movie Maker, though something that gets most of the important stuff out of Sony Vegas, except is also completely free and works on most platforms. Kdenlive is all of that and also somehow quite pleasant to use, I actually prefer it to DaVinci resolve. There is a bit of a learning curve to any piece of software like this, but everything mostly makes sense in this one.
Gitea: https://about.gitea.com/ I still use this for my personal Git repositories and integrating with CI systems and it's lightweight, looks good and just feels pleasant to use. Previously I self-hosted GitLab and constantly ran into resource exhaustion as well as doubts about the next update is going to corrupt all of my data and break (it did), so now I use Gitea instead.
Drone CI: https://www.drone.io/ a container native CI solution that I can also self host. It's container oriented, integrates with Gitea nicely, is similarly nice to GitLab CI and doesn't cause me headaches like Jenkins would.
Docker: https://www.docker.com/ yes, even Docker desktop. It just makes working with containers really pleasant and predictable, even when something like Podman also exists (and also is great). I don't know, I feel like Docker really saved me from having brittle legacy environments, even self-contained containers with health checks and resource limits with still the same brittle code inside of those make me feel way more safe.
Project mention: A MySQL compatible database engine written in pure Go | news.ycombinator.com | 2024-04-09tidb has been around for a while, it is distributed, written in Go and Rust, and MySQL compatible. https://github.com/pingcap/tidb
Somewhat relatedly, StarRocks is also MySQL compatible, written in Java and C++, but it's tackling OLAP use-cases. https://github.com/StarRocks/starrocks
We can use the flag with --date or -date, Go already does the automatic check. We can make our entire boilerplate with this approach, but let's make it a little easier and use the Cobra CLI package.
GORM is a comprehensive ORM tool in Go, offering a code-first approach which allows defining database schemas using struct tags in Go. It's known for its developer-friendly nature, making it suitable for both beginners and experienced users. GORM supports a variety of SQL databases like MySQL, PostgreSQL, and SQLite. It's designed to be flexible, allowing developers to drop down to raw SQL when necessary. However, it's important to be cautious about its performance implications in large-scale applications.
I usually develop on Windows so I installed NVM for Windows from here, but if you’re on other OS I’m sure you can find a version that supports it, probably this is the answer.
Solutions are many, and could include Docker Compose, VS Code dev containers, Telepresence, Localstack or setting up temporary AWS accounts as a development environment for serverless applications.
Go Go related posts
- From Homemade HTTP Router to New ServeMux
- How to Temporarily Remove and Reintegrate Cloud Resources from Terraform Management
- Hot reloading in Go applications
- Live reload em Go com docker e compile daemon
- IBM to Acquire HashiCorp, Inc
- Micro – A Go service development platform
- Gin + Gorm Practical Guide, Implementing a Simple Q&A Community Backend Service in One Hour
-
A note from our sponsor - InfluxDB
www.influxdata.com | 27 Apr 2024
Index
What are some of the best open-source Go projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | go-formatter | 120,785 |
2 | go | 119,564 |
3 | kubernetes | 106,778 |
4 | frp | 79,666 |
5 | Gin | 75,469 |
6 | Hugo | 72,452 |
7 | Moby | 67,716 |
8 | fzf | 59,739 |
9 | syncthing | 59,497 |
10 | Caddy | 53,718 |
11 | traefik | 47,814 |
12 | etcd | 46,345 |
13 | go-ethereum | 46,063 |
14 | minio | 44,220 |
15 | Gogs | 44,132 |
16 | rclone | 43,720 |
17 | Gitea | 41,851 |
18 | tidb | 36,134 |
19 | cobra | 35,985 |
20 | GORM | 35,416 |
21 | nvm for Windows | 34,610 |
22 | the-way-to-go_ZH_CN | 34,133 |
23 | Docker Compose | 32,367 |
Sponsored