TLWI Golang #54
Hey there, fellow techies! Ready for another dose of programming goodness? We got you covered! 🙌
First up, have you ever wished you could see the output of your
curl -v command in dazzling colors? Well, your prayers have been answered! Introducing curl-versus, the CLI tool that gives you the same verbose output but with a rainbow of colors to make it more readable!
And if you're looking to level up your Golang skills, we've got the perfect article for you. In part 4 of his "Learning Go by Examples" series, our resident Gopher expert will teach you how to create a bot for the popular chat application, Discord, using the Go programming language. Be the envy of your chat buddies with your custom-made bot!
Next on the list, we have an informative article on Go control flow. Specifically, you'll learn how to handle panics (not the heart attack kind), and recover from them gracefully with defer statements. Good stuff!
Now, let's talk about security. If you're dealing with JSON web tokens (JWT) in Go, you should definitely check out this community-maintained clone of the jwt-go library. We all know how important security is these days, and this library can help you keep your app secure.
Last but not least, we have a step-by-step guide to help you set up environment variables in your Go project. Creating env variables has never been easier with this helpful tutorial. No more hardcoding sensitive information in your code! Yay for security again! 🔒
That's it for this week, folks. Hope you found something useful in our newsletter. Till next time, happy coding! 💻🚀
Hot Go Articles This Week On Reddit
- Go is the 10th most loved language in 2021! (1 day ago)
- How does Go calculate
len? (3 days ago)
- GoLand 2021.2 is out now! Support for Go 1.17, running gofmt after the built-in formatter, and more await you! (6 days ago)
- Dasel v1.16.0 added a delete command meaning you can now select, put and delete data from JSON, YAML, TOML, XML and CSV with a single tool. (2 days ago)
Our Article Picks
- Karan Pratap Singh: Art of building small containers
- Mario Carrion: Building Microservices in Go: Graceful Shutdown
- Andrei Dascalu: Make containers small again
- Eternal Dev: Building CLI application with GO
- Aurélie Vache: Learning Go by examples: part 4 - Create a Bot for Discord in Go
- xuri: Excelize 2.4.1 is Released
- James D.: Developing Inside A Docker Container
- Guilherme Guitte: 👾 Mutation testing on Go
- borislav nikolov: Why we killed elixir
- Jay Ehsaniara: Go Task Scheduler with Distributed Lock
- elesq: Go, Gorilla/mux and mongo demo
- Tarek Ali: Writing Go with Github Copilot
- Akshay Bharambe: You are just a click away from Go package documentation
- Prashant Ghildiyal: Kubernetes Deployment Made Easy
- Eduardo Hitek: Performing Benchmark Tests in Go
- elesq: More Go RPC, using gorilla/rpc/json
- Adjie Djaka Permana: Let's Go Pointer
- Nikhil Taneja: Understanding concurrency in go
- Douglas Makey Mendez Molero: Socket sharding in Linux example with Go
- 5elenay: Ezcli - Minimal Package for Creating CLI apps.
- Florian Pigorsch: Golang: Identifiers vs. Unicode
- Muhammad Al Farizzi: #1 Belajar Go-Pointer
- Cdebrincat: An Optimisation Story: Building a Code Scanner for Large Golang Apps
- Deeptiman Pattnaik: gRPC connection library in Go
- Adjie Djaka Permana: Go Control Flow - Deferring Panic with Recovery
- Alexandre Liberato: Como medir o desempenho de seus sistemas (benchmark)
- Odysseas Lamtzidis: How to extend the Geth-Netdata integration
- David Bond: Go: Creating Dynamic Kubernetes Informers
- manuel: Merge several individual ssh configuration files to one single file in Golang
- iamlearning: Check if go package installed + "uninstall go package"
Our Repo Picks
- iotexproject/iotex-core (Go): Official implementation of IoTeX blockchain protocol in Go.
- golang-jwt/jwt (Go): Community maintained clone of https://github.com/dgrijalva/jwt-go
- erda-project/erda (Go): An enterprise-grade Cloud-Native application platform for Kubernetes.
- tailscale/tailscale (Go): The easiest, most secure way to use WireGuard and 2FA.
- amirgamil/apollo (Go): A Unix-style personal search engine and web crawler for your digital footprint.
- cloudreve/Cloudreve (Go): 🌩 支持多家云存储的云盘系统 (A project helps you build your own cloud in minutes)
- OWASP/Amass (Go): In-depth Attack Surface Mapping and Asset Discovery
- chaos-mesh/chaos-mesh (Go): A Chaos Engineering Platform for Kubernetes.
- davecheney/httpstat (Go): It's like curl -v, with colours.
- hashicorp/terraform (Go): Terraform enables you to safely and predictably create, change, and improve infrastructure. It is an open source tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
- jesseduffield/lazygit (Go): simple terminal UI for git commands
- Terry-Mao/goim (Go): goim
- hashicorp/vault (Go): A tool for secrets management, encryption as a service, and privileged access management
- linkerd/linkerd2 (Go): Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
- rclone/rclone (Go): "rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files
- matrix-org/dendrite (Go): Dendrite is a second-generation Matrix homeserver written in Go!
- vitessio/vitess (Go): Vitess is a database clustering system for horizontal scaling of MySQL.
- lightningnetwork/lnd (Go): Lightning Network Daemon ⚡️
- snail007/goproxy (Go): 🔥 Proxy is a high performance HTTP(S) proxies, SOCKS5 proxies,WEBSOCKET, TCP, UDP proxy server implemented by golang. Now, it supports chain-style proxies,nat forwarding in different lan,TCP/UDP port forwarding, SSH forwarding.Proxy 是 golang 实现的高性能 http,https,websocket,tcp,socks5 代理服务器,支持内网穿透,链式代理,通讯加密,智能 HTTP,SOCKS5 代理,黑白名单,限速,限流量,限连接数,跨平台,KCP 支持,认证 API。
- 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.
- anchore/grype (Go): A vulnerability scanner for container images and filesystems
- fluxcd/flux2 (Go): Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.
- argoproj/argo-workflows (Go): Workflow engine for Kubernetes
- zyedidia/micro (Go): A modern and intuitive terminal-based text editor
- kubernetes-sigs/aws-load-balancer-controller (Go): A Kubernetes controller for Elastic Load Balancers
- Excelize 2.4.1 is Released – Go API for Spreadsheets
- Do The Go Playground Share Links Expire?
- Go carbon version 1.4.6 was released to fix known bugs and add translation files
- Creating Env variable
- Errors when opening golang/go in vscode
- Stopping goroutines?
- [Need help] modify two scanner.go files to support allman style braces
- Why do I get multiple times the same data?
- Removing first and last empty lines from a string
- How to add persistance?
- Multiple static files directories
- Http: superfluous response.WriteHeader call
- Golang debugging with STS
- Enums without prefixes?
- Starting generated binary at Windows
- GitHub - Deeptiman/grpc-connection-library: grpc-connection-library is a
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! 🦄