TLWI Golang
thelastweekin.dev
Hello Code Sapiens,
Grab a cup of coffee, a cozy spot, and get ready to unravel this week's golang mysteries with your trusty newsletter!
Did you ever experience that 'If I knew then, what I know now' moment with Go packages? Well, I did and trust me, it changes the game! I'm about to spill the beans and share with you (drumroll please...) my top 3 Go packages that I wish I'd known about earlier. With these packages at your disposal, you'll be writing Go code like a pro in no time.
Next up, we've got one of those 'program goblins' that just likes to mess with your peace of mind. Have you ever asked yourself in frustration, "Why is this printing twice?
If you're curious about the intricate workings of generic functions with maps in Golang, you're in for a treat! This week, we dive headfirst into a juicy question about the behavior of generic functions with maps in Golang
The world of Golang doesn't just revolve around coding and debugging, there's a fine art to it as well. Do you ever find yourself wondering if you need to drain a buffered channel after closing it? I did too and I went on a quest to find the answer. Tune in to my insights and let's explore together if we need to drain a buffered channel after closing it
In our bonus round this week, we're going to talk about React. You heard it - React with go templ! But wait, there's a twist. Enter HTMX - the better alternative. Don't believe me? Set your expectations high, as we're about to take you on a thrilling ride navigating Using React (HTMX is better) with go templ
Get ready, sit back and let's dive deep into these exclusive insights together in this week's newsletter. Remember, knowledge shared is knowledge multiplied, so don't forget to share your thoughts and experiences!
Until next week, Happy Coding!
Your Go Guru
Dennis
Our Article Picks
- Ege Aytin: Microservices Authentication and Authorization Using API Gateway
- Marcus Kohlberg: Refactoring a Request/Response based Go backend into Event-Driven using Pub/Sub
- Marcus Kohlberg: Using Clerk to authenticate users in a Go backend
- Andy Jessop: Building a Basic HTTP Server in Go: A Step-by-Step Tutorial
- Vic Shóstak: 🤓 My top 3 Go packages that I wish I'd known about earlier
- Panchanan Panigrahi: Deep Dive into Multistage Dockerfile with a Golang App ⚙️🚢
- xuri: Excelize 2.8.1 Released - Powerful open-source library for spreadsheet (Excel) document
- Nik L.: When To Not Use Pointers in Golang?
- Egregors: PassKey in Go
- Aurélie Vache: Understanding Go: part 3 – If
- Manav Kushwaha: Learning Microservices With Go(Part 5). Asynchronous Communication. (Kafka)
- Norbert Fuhs: What is Go 2024 Edition
- Erick Takeshi: Injeção de dependência em Go
- Chig Beef: Creating An Ending (Cosplore Pt:22)
- Sukma Rizki: Http Request Form Data at Golang
- Samuel Luiz: Building an interpreter in Go: Lexical Analysis
- sago35: Create Your Own Keyboard with sago35/tinygo-keyboard
- Jorge Contreras: Concurrency in Go
- Harutyun Mardirossian: Property based testing in Go
- Dave Smith: One Billion Row Challenge: way more than I thought
- Code Monk: Ergonomic Trees in Go
- Sukma Rizki: Pointer Deployment in Golang
- juricake: DynamoDB client for Go
- Stefan Alfbo: White box and Black box testing in Go
- Stefan Alfbo: go test <package>
- Egemen Göl: Introducing Spread - Ergonomic PubSub/EventBus in Golang
- Chig Beef: Creating Fire Soundtracks (Cosplore Pt:23)
- Andy Jessop: Starting Out with Go: Understanding Concurrency Basics
- Leandro Ayala ®: Go Practice (official Doc)
- Abhik Banerjee: Modelling your Data Layer in Go
- Kiswono Prayogo: Writing UDF for Clickhouse using Golang
- Chig Beef: Broken Rocket Launcher (Cosplore3D Pt:24)
- Answer.dev: Answer 1.2.5 is Ready
- Mat: Don't pay for a Content Management System. Build your own
- Max Kovalevskii: A new learning way on how to write "Hello, World!" program in Go [video]
- UponTheSky: [Go] Understanding net/http - How to run a server like a Pro?
- Tanishq Singla: Handling config files in go
- are_you_garabage_or_am_i: Using React(HTMX is better) with go templ
- Mat: Connecting local apps to remote servers. An advance Go guide.
Our Repo Picks
- ollama/ollama (Go): Get up and running with Llama 2, Mistral, Gemma, and other large language models.
- XTLS/Xray-core (Go): Xray, Penetrates Everything. Also the best v2ray-core, with XTLS support. Fully compatible configuration.
- TwiN/gatus (Go): ⛑ Automated developer-oriented status page
- SagerNet/sing-box (Go): The universal proxy platform
- ethereum/go-ethereum (Go): Official Go implementation of the Ethereum protocol
- qax-os/excelize (Go): Go language library for reading and writing Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets
- gptscript-ai/gptscript (Go): Develop LLM Apps in Natural Language
- fleetdm/fleet (Go): Open-source platform for IT, security, and infrastructure teams. (Linux, macOS, Chrome, Windows, cloud, data center)
- redis/go-redis (Go): Redis Go client
- nats-io/nats-server (Go): High-Performance server for NATS.io, the cloud and edge native messaging system.
- stefanprodan/podinfo (Go): Go microservice template for Kubernetes
- go-gitea/gitea (Go): 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
- 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.
- go-kratos/kratos (Go): Your ultimate Go microservices framework for the cloud-native era.
- aquasecurity/trivy (Go): Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more
- trufflesecurity/trufflehog (Go): Find and verify credentials
- kubernetes/kubernetes (Go): Production-Grade Container Scheduling and Management
- grafana/loki (Go): Like Prometheus, but for logs.
- opencontainers/image-spec (Go): OCI Image Format
- zeromicro/go-zero (Go): A cloud-native Go microservices framework with cli tool for productivity.
- gogf/gf (Go): GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang.
- ccfos/nightingale (Go): An all-in-one observability solution which aims to combine the advantages of Prometheus and Grafana. It manages alert rules and visualizes metrics, logs, traces in a beautiful web UI.
- EndlessCheng/codeforces-go (Go): 算法竞赛模板库 by 灵茶山艾府 💭💡🎈
- linkerd/linkerd2 (Go): Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
- hybridgroup/gocv (Go): Go package for computer vision using OpenCV 4 and beyond.
Forum Topics
- How to track database connection leak
- Excelize 2.8.1 Released - Powerful open-source library for spreadsheet (Excel) document
- Compile the go standard library to use external library
- Why do type assertions on interface type aliases fail?
- The shell script kills the go process, causing the script to be killed as well
- Why is this printing twice?
- Lorca: invalid memory address or nil pointer dereference
- Cant close DB Connection with db.Close()
- Go / Go Lang - Openai Streaming
- Why [rune()] is not a function, but rather a language construct for type conversion!
- I'd like to read longer text using Golang stdin
- Question about behavior of generic functions with maps in Golang
- Is GoCV still a healthy project?
- What happens if I compile a program that uses uint64 on old 32 bit hardware?
- Do we need to drain a buffered channel after closing it?
- How golang calls runtime.panic* functions?
- BoringCrypto: RDSEED as entropy source
- Making Go Program FIPS 140-2 Compliant with BoringCrypto
- Go-redis client latency
- Issues with new routing feature from Go 1.22
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! 🦄