TLWI Golang #103
Hello and welcome back to our weekly newsletter! We have some exciting links to share with you this week that cover a range of topics from cloud-native resources to debugging in Go.
First up, we have an interesting article on cloud-native Pipeline resources. If you're not already familiar with cloud-native architecture, it is a modern approach to building and running applications. This article explains how to make your app cloud-native by leveraging pipeline resources that facilitate continuous delivery and deployment.
Next, we have a cool article on Go Workspaces (multi-module). Go workspaces allow you to split your project up into multiple modules, allowing for better code organization and easier maintenance. This article takes you through the steps of creating a multi-module project in Go, so be sure to give it a read!
Are you tired of manually tunneling network traffic to different ports on your localhost? Fear not! Check out this rule-based tunnel in Go that lets you tunnel traffic automatically using predefined rules. This is a great tool for developers who work on complex projects and need to tunnel traffic on a regular basis.
In case you've ever encountered the "File is not
goimports-ed" error message, we have a helpful article on how to debug it using goimports. Goimports is a tool that automatically updates your imports and fixes common code issues, making it a highly recommended tool for all Go developers.
Finally, we have an article that explains how to implement an elegant service discovery extension in the HTTP framework. Service discovery is a crucial aspect of modern web development, and this article shows how you can use HTTP framework extensions to simplify the process.
That's it for this week's newsletter! We hope you found these links insightful and helpful. Don't forget to share this newsletter with your fellow developers, and we'll see you next week!
Our Article Picks
- Aurélie Vache: Learning Go by examples: part 10 - Instrument your Go app with OpenTelemetry and send traces to Jaeger - Distributed Tracing
- L2ncE: How to implement an elegant service discovery extension in the HTTP framework
- Demola Malomo: Supercharge Go APIs with Serverless Functions
- Kuldeep Singh: 1000X faster two sum leetcode solution
- L2ncE: Golang Reverse Proxy Practices
- Muhammad Hamza Hameed: Go Workspaces (multi-module)
- Ege Aytın: Fine-Grained Access Control: Where RBAC falls short
- Sitaram Rathi: GSoC Final Report – Rocket Chat TUI
- go-doudou: go-doudou series 02: How to develop gRPC service with go-doudou
- Kuldeep Singh: How to reverse a string in Go
- Muhammad Hamza Hameed: Serverless application in golang with AWS (Lambda Service)
- Artur Balsam: SAST Autofix
- Toby Chui: Universal File Access Gateway - How I turn my own Web Desktop OS into a gateway for all my file servers
- Muhammad Hamza Hameed: GoCD - Introduction (A tool that use for continuous Integration and continuous delivery CI/CD)
- Akshay Rao: Docker Container Manipulation Part-I
- Muhammad Hamza Hameed: Background process in Lambda using SQS
- Andrey Germanov: Frontend vs Backend (To Go or not to Go)
- sai teja: Handle go routines gracefully
- Akshay Rao: I tried Docker Container manipulation Part-II
- Pieces 🌟: Python vs Golang
- Maxime Guilbert: How to debug : File is not
- Maxime Guilbert: Comment débugger : File is not
- Arthur Christoph: Go Series: Defer, Finally...
- Evrone: Technokratos: Localizing a marketplace with complex language requirements
- Answer.dev: Answer.dev v0.4.0 released!
- Gustavo Henrique: Criando uma API Rest com Fiber - Uma história pessoal de aprendizado
- mikeyGlitz: Introducing Goctuator: a Go-Based Actuator Module
- ente: Custom S3 requests with AWS Go SDK
- Timotej Avsec: Video content search using MongoDB Atlas Search and Google Machine Learning
- Kavindu Santhusa: Top 10 trending github repos of the week😉.
- Benjamin Bryant: Go: Around The World - London, UK - An Introduction
- Jonathan Hall: All about Go's standard errors package
- sai teja: Data Streaming in Go Lang
- Artjom Kurapov: A dream of scalable and enriched GraphQL subscriptions
- Bartłomiej Święcki: Throttling Pool
- Artem Tanyhin: Publishing Go package
Our Repo Picks
- superseriousbusiness/gotosocial (Go): Fast, fun, ActivityPub server, powered by Go.
- hashicorp/golang-lru (Go): Golang LRU cache
- alpkeskin/mosint (Go): An automated e-mail OSINT tool
- lima-vm/lima (Go): Linux virtual machines, typically on macOS, for running containerd
- apernet/hysteria (Go): Hysteria is a feature-packed proxy & relay tool optimized for lossy, unstable connections (e.g. satellite networks, congested public Wi-Fi, connecting to foreign servers from China)
- nats-io/nats-server (Go): High-Performance server for NATS.io, the cloud and edge native messaging system.
- tendermint/tendermint (Go): ⟁ Tendermint Core (BFT Consensus) in Go
- gin-gonic/gin (Go): 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.
- tektoncd/pipeline (Go): A cloud-native Pipeline resource.
- pion/webrtc (Go): Pure Go implementation of the WebRTC API
- kubeshark/kubeshark (Go): The API traffic viewer for Kubernetes providing deep visibility into all API traffic and payloads going in, out and across containers and pods inside a Kubernetes cluster. Think TCPDump and Wireshark re-invented for Kubernetes
- Dreamacro/clash (Go): A rule-based tunnel in Go.
- 99designs/gqlgen (Go): go generate based graphql server library
- fatedier/frp (Go): A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
- containerd/nerdctl (Go): contaiNERD CTL - Docker-compatible CLI for containerd, with support for Compose, Rootless, eStargz, OCIcrypt, IPFS, ...
- aler9/rtsp-simple-server (Go): ready-to-use RTSP / RTMP / LL-HLS server and proxy that allows to read, publish and proxy video and audio streams
- teivah/100-go-mistakes (Go): 📖 100 Go Mistakes and How to Avoid Them
- cosmos/cosmos-sdk (Go): ⛓️ A Framework for Building High Value Public Blockchains ✨
- marcel-dempers/docker-development-youtube-series (Go): undefined
- hashicorp/hcl (Go): HCL is the HashiCorp configuration language.
- iximiuz/cdebug (Go): cdebug - a swiss army knife of container debugging
- DrDonk/unlocker (Go): VMware macOS utilities
- goharbor/harbor (Go): An open source trusted cloud native registry project that stores, signs, and scans content.
- cookieY/Yearning (Go): 🐳 A most popular sql audit platform for mysql
- ipfs/kubo (Go): An IPFS implementation in Go
- How to handle User (needed for almost all code)
- Noob is wondering why slices need to exist
- A question about string for range
- TCP server not sending me the response I am looking for.
- Any Go equivalent for the following RSA Encryption module?
- Reassigning a Slice variable
- Windows Golang setup-Stuck in this issue don't know why its causing can anyone please help
- How do I run make test more than once?
- Access to external go files
- Why does assigning different types work with arrays and slices and not with regular variables?
- affected/package: database/sql "Deficiency in the code"
- How to make only the differences saved
- how to invoke edge browser using new Selenium service method and how to set up the capabilities and service option
- A better design pattern
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! 🦄