Ahoy, fellow coders! We're back with an exciting edition of our weekly newsletter filled with an array of insightful news and tips to level up your game. Sit back, grab a cup of joe, and let's dive right into our galaxy of code.
Ever wanted a powerful tool that fits seamlessly into your workflow? GitHub has got you covered! The tech mogul has made public its own official command line tool. Talk about a lifeline! The GitHub CLI allows you to interact directly with GitHub right from your terminal. Isn't that just the coolest? Get your fingers clicking and check out GitHub’s official command line tool right now!
Go on a digital treasure hunt with our next segment! Are you scratching your head, wondering where you can find information about environment variables for use with cgo in Go? Well, bring out your magnifying glasses (or magnified text editors!) and let us guide you to info about Environment Variables for use with cgo. Knowledge is just a click away!
For our hot topic this week, let's talk hot reload in Go! Well, we don't exactly mean to set your code on fire. A hot reload saves you time and increases efficiency by reloading your Go programs without the need to manually stop and start it. Intrigued? We thought so! Learn all about how to use hot reload in Go and save yourselves those precious seconds! Remember, time is of the essence, especially when you're coding.
Get ready to ride the RESTful coaster! Brace yourself for the joy of building a Golang RESTful API with Gin, SQLC, and PostgreSQL. Learn about deploying an API with these three amigos and experience the thrill of backend development at its best! Fasten your seatbelts and head over to our guide on deploying a Golang RESTful API with Gin, SQLC, and PostgreSQL – it's sure to be a wild ride!
We'll wrap this week's newsletter with a peek into an open-source wonder! Who knew that an entire real-time backend could be squeezed into just one file?! Wondrous and easy to navigate, check out this gleaming find in the world of open-source. Discover the potential and power of an open-source realtime backend in 1 file.
There you have it! Your weekly dose of code-related enlightenment awaits. Until next week, keep your geek on and keep coding!
Our Article Picks
- Marcus Kohlberg: Building a Type-Safe Microservices Backend in Go
- Marcus Kohlberg: What became of Heroku? 🤔
- Marcus Kohlberg: Your Microservices are probably not Type-Safe 🐘
- Calvin McLean: How I Learned Generics in Go
- Ege Aytin: OPA vs. Google Zanzibar: A Brief Comparison
- Wiliam V. Joaquim: Como deixar o Swagger com tema dark mode usando Swaggo e Golang
- awedis: Real-time Image Analysis with AWS Step Functions and Amazon Rekognition - (Let's Build 🏗️ Series)
- Wiliam V. Joaquim: O poder do CLI com Golang e Cobra CLI
- Vitor Vargas: How to use hot reload in Go
- Aceld: Understanding the Golang Goroutine Scheduler GPM Model
- Abhishek Gupta: Use Amazon Bedrock and LangChain to build an application to chat with web pages
- reluth: Setting Up the Go Programming Environment on Windows 11
- Geoffrey Sagini Mogambi: Deploying a Golang RESTful API with Gin, SQLC and PostgreSQL
- Ersin Buckley: How to build a desktop markdown editor
- Vitor Vargas: Como usar hot reload em Go
- Mateus Vinícius: Goroutines por baixo dos panos
- Scofield Idehen: Build a Cybersecurity Link-Analyzer with Go
- Nik L.: Testing a Node.js + AWS Lambda + API Gateway App - Serverless Testing Strategies
- Benjamen Pyle: Partitioned S3 Bucket from DynamoDB
- Szymon Gibała: Add context to errors
- Anastasia: "How to improve Docker build from minutes to seconds for Golang apps."
- Birnadin Erick: Errors in Go - Beginner level
- Ankit malik: Algorithms for Rate limiting with Redis and Golang
- Huynh Thanh Phuc: Building a TypeScript Simple Channel (Like Golang)
- Ortiz de Arcanjo Antonio David: Manipulação de Unidades de medida em Golang
- tinkerbaj: My Journey with Svelte: From Vue to Svelte and the Joy of Pure JS Libraries
- Iñigo Etxaniz: Golang Error Handling: Introducing Fold Ninja to Reduce Verbosity
- Mathias Jiya: How to setup ZeptoMail in Golang
- Kshitij (kd): Abstract to Go: Lets create our own Ansible (Part 2)
- Geoffrey Sagini Mogambi: Metaprogramming in Golang: Reflection Package guide
- Anton: Do whatever you want with your files, and do it quickly
- Matheus Moura: Gerenciando os gerenciadores de pacotes com ASDF
- Ortiz de Arcanjo Antonio David: Criptografia de senha em Golang
- Ortiz de Arcanjo Antonio David: Middleware usando Golang
- Ortiz de Arcanjo Antonio David: Utilização de Views SQL em Golang
Our Repo Picks
- sashabaranov/go-openai (Go): OpenAI ChatGPT, GPT-3, GPT-4, DALL·E, Whisper API wrapper for Go
- songquanpeng/one-api (Go): OpenAI 接口管理 & 分发系统，支持 Azure、Anthropic Claude、Google PaLM 2、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元，可用于二次分发管理 key，仅单可执行文件，已打包好 Docker 镜像，一键部署，开箱即用. OpenAI key management & redistribution system, using a single API for all LLMs, and features an English UI.
- pocketbase/pocketbase (Go): Open Source realtime backend in 1 file
- portainer/portainer (Go): Making Docker and Kubernetes management easy.
- everywall/ladder (Go): Selfhosted alternative to 12ft.io. and 1ft.io bypass paywalls with a proxy ladder and remove CORS headers from any URL
- alist-org/alist (Go): 🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV 程序，使用 Gin 和 Solidjs。
- navidrome/navidrome (Go): 🎧☁️ Modern Music Server and Streamer compatible with Subsonic/Airsonic
- kubernetes/kubernetes (Go): Production-Grade Container Scheduling and Management
- prometheus/client_golang (Go): Prometheus instrumentation library for Go applications
- shadow1ng/fscan (Go): 一款内网综合扫描工具，方便一键自动化、全方位漏扫扫描。
- bluenviron/mediamtx (Go): Ready-to-use SRT / WebRTC / RTSP / RTMP / LL-HLS media server and media proxy that allows to read, publish, proxy and record video and audio streams.
- kubeshark/kubeshark (Go): The API traffic analyzer for Kubernetes providing real-time K8s protocol-level visibility, capturing and monitoring all traffic and payloads going in, out and across containers, pods, nodes and clusters. Inspired by Wireshark, purposely built for Kubernetes
- syncthing/syncthing (Go): Open Source Continuous File Synchronization
- go-gorm/gorm (Go): The fantastic ORM library for Golang, aims to be developer friendly
- ethereum/go-ethereum (Go): Official Go implementation of the Ethereum protocol
- Melkeydev/go-blueprint (Go): Go-blueprint allows users to spin up a quick Go project using a popular framework
- iDvel/rime-ice (Go): Rime 配置：雾凇拼音 | 长期维护的简体词库
- nlpodyssey/waveny (Go): Emulate guitar amps and pedals with deep learning, in Go.
- cli/cli (Go): GitHub’s official command line tool
- btcsuite/btcd (Go): An alternative full node bitcoin implementation written in Go (golang)
- fatedier/frp (Go): A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
- weaviate/weaviate (Go): Weaviate is an open source vector database that stores both objects and vectors, allowing for combining vector search with structured filtering with the fault-tolerance and scalability of a cloud-native database, all accessible through GraphQL, REST, and various language clients.
- NetEase-Media/easy-ngo (Go): easy-ngo 是由网易传媒开发的基于 Go 语言的开发工具包，基于 easy-ngo 工具包，开发者可以快速构建高可用、大并发的应用。
- hibiken/asynq (Go): Simple, reliable, and efficient distributed task queue in Go
- hashicorp/terraform (Go): Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
- Go test and examples
- Gentoo go1.21.4 safe installation along with go1.20.4
- Using Http Context to Add User Info
- Is golang free for a large corporation to install it on the company's machines?
- X/net/http: http client with custom TLS Config and ForceAttemptHTTP2 set to true leading to memory issues
- Optimizing http.Dir Questions about backward compatibility?
- Program breaks after creating around 7600 WebSockets
- Need Help Understanding Go Input in Donovan and Kernighan's Book
- Convert to types. Func based on a method signature (string)
- Where i can find information about Environment variables for use with cgo
- How to
go geta module from a workspace repo?
- Go vet sprinf checking number of arguments
- Why GC so frequent
- Is image/draw thread safe?
- Go get download private project of private gitlab failed
Gopher Gold is a weekly roundup for all things Go! If you have more suggestions for resources, submit them below! Follow me on Twitter for more projects @dennisokeeffe92.
Subscribe to my personal newsletter to get updates on TheLastWeekIn.Dev + more! 🦄