TLWI Golang #53
Hello there, Go enthusiasts! We've got a jam-packed edition for you this week, with links to some fantastic resources that'll help you level up in your Go game. So put on your thinking caps, and let's dive right in!
First things first, let's talk about health. A simple and flexible health check library for Go has arrived, and it's a real game-changer. This library lets you add health checks to your Go apps in a jiffy, so you can rest easy knowing your app is running smoothly. With built-in support for HTTP, TCP, and DNS checks, this library has got you covered.
Next up, we've got a containerization treat for you. Building Microservices in Go: Containerization using Docker is a comprehensive guide to packaging your Go microservices in containers. You'll learn how to write Dockerfiles, build and run images, and deploy containers with the power of Docker. This is a must-read for anyone looking to take their Go microservices to the next level.
Okay, we know you're all here for the Gopher goodness, so let's not keep you waiting. Feast your eyes on these Gopher drawings! These adorable illustrations are the perfect way to add some character to your Go-based projects. From cute and cuddly to fierce and fiery, these Gophers have got it all.
Now, let's talk about gRPC. The Go language implementation of gRPC. HTTP/2 based RPC is a high-performance, language-agnostic RPC framework that's built on top of Google's protocol buffers. With gRPC, you can define your service using a simple interface definition language, generate client and server-side code automatically, and get started with your RPC service in no time.
Finally, we've got something for all you cloud native enthusiasts out there. The Cloud Native Application Proxy is a powerful tool that lets you expose your microservices to the world securely. With built-in support for authentication, authorization, rate limiting, and more, the Cloud Native Application Proxy is the perfect choice for anyone looking to build scalable and secure cloud native applications.
Well, that's it for this week's edition of our newsletter. We hope you found these links helpful and informative, and we can't wait to see what amazing things you'll build with Go. Stay tuned for more exciting updates!
Hot Go Articles This Week On Reddit
Our Article Picks
- Karan Pratap Singh: Dockerize your Go app
- Aurélie Vache: Learning Go by examples: part 3 - Create a CLI app in Go
- Kinyanjui Wangonya: Getting the running Go version
- &y H. Golang (he/him): Test your Go web apps with httptest
- Mario Carrion: Building Microservices in Go: Containerization using Docker
- Lucas Pinheiro: Atomicity in Redis operations
- elesq: RPC with Go, what is it?
- Valeriy: Find All Numbers Disappeared in an Array - Go solutions
- elesq: Custom middleware basics with Go. No frameworks.
- Cédric Teyton: Install a specific version of a dependency for Npm, Pip, Gem, and more
- Alexandru Bucur: Golang Datetime Cheatsheet from strftime*
- Eternal Dev: Adding and Removing dependency in Go modules
- Muhammad Al Farizzi: Penerapan service layer pattern pada golang sederhana
- Viacheslav Poturaev: Identifying breaking changes in pull request of a Go library with GitHub Action
- Nicolas Lepage: Gopher drawings!
- Plivo: How to Receive and Respond to Incoming SMS Messages in Go with Gin-Gonic and Plivo
- Alkesh Ghorpade: LeetCode - Plus One
- Alex Poulos: Rust: First Thoughts
- Mark Saward: SQL query builders
- privatecloudev: languages, languages
- elesq: Chaining middleware in Go using justinas/alice package
Our Repo Picks
- tinode/chat (Go): Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots
- microsoft/CBL-Mariner (Go): Linux OS for Azure 1P services and edge appliances
- zhenghaoz/gorse (Go): An open source recommender system service written in Go
- yedf/dtm (Go): 🔥A lightweight distributed transaction management service, support xa tcc saga. go 分布式事务管理器
- erda-project/erda (Go): An enterprise-grade Cloud-Native application platform for Kubernetes.
- pingcap/tidb (Go): TiDB is an open source distributed HTAP database compatible with the MySQL protocol
- golang-jwt/jwt (Go): Community maintained clone of https://github.com/dgrijalva/jwt-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.
- rook/rook (Go): Storage Orchestration for Kubernetes
- tal-tech/go-zero (Go): go-zero is a web and rpc framework written in Go. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.
- ethereum/go-ethereum (Go): Official Go implementation of the Ethereum protocol
- argoproj/argo-cd (Go): Declarative continuous deployment for Kubernetes.
- golang/mock (Go): GoMock is a mocking framework for the Go programming language.
- kubernetes/kubernetes (Go): Production-Grade Container Scheduling and Management
- aws/amazon-vpc-cni-k8s (Go): Networking plugin repository for pod networking in Kubernetes using Elastic Network Interfaces on AWS
- jesseduffield/lazygit (Go): simple terminal UI for git commands
- influxdata/telegraf (Go): The plugin-driven server agent for collecting & reporting metrics.
- golang/go (Go): The Go programming language
- grpc/grpc-go (Go): The Go language implementation of gRPC. HTTP/2 based RPC
- rclone/rclone (Go): "rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files
- meshery/meshery (Go): Meshery, the service mesh management plane
- traefik/traefik (Go): The Cloud Native Application Proxy
- gorilla/mux (Go): A powerful HTTP router and URL matcher for building Go web servers with 🦍
- sigstore/cosign (Go): Container Signing
- k3s-io/k3s (Go): Lightweight Kubernetes
- How to understand this behavior of wg.Add()?
- A problem understanding time.Format
- What is the workflow to contribute golang/go
- How to specify string type/format in golang
- Why Go? (A blog article for those who are still undecided)
- Golang memory leak, continuously increasing memory consumption over time
- Most efficent way to check for world writable files
- Writing to a separate file in a for loop
- Utilising Cores & Threads
- Program exits with no logs while trying to open .xlsx file
- How can I better understand packages/modules and the go filesystem?
- Read-write safety over routines
- Go Template rendering or alternative
- Whats the right way to compile go compiler locally and run my code?
- How to call go assembly function from cgo
- Output go build
- Go Developer Job Board
- Adding persistance to this connection
- Int and binary.write, distraction, confusion
- How to set the version number?
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! 🦄