Gopher it: Issue #1
Your bi-weekly spot to learn about everything happening in the GO community!
Welcome to the first issue of Gopherit!, your bi-weekly spot to learn about everything happening in the GO community, from blog posts to YouTube tutorials and community highlights.
As avid GO enthusiasts, we wanted to create a curated list of resources so we don't have to spend a ton of time searching the internet to keep up on the latest and greatest.
Blog posts 📚
How to create and read custom tags in Golang
Ankit Malik's tutorial guides us through creating and reading custom tags in Go, a powerful feature that attaches metadata to struct fields. His tutorial emphasizes best practices, including strategic tag names, thorough documentation, validation logic separation, avoiding overuse, and effective error management
Creating Kubernetes Operators with operator-sdk
Elton Minetto discusses the use of operator-sdk to create Kubernetes Operators. Operators minimize the need to understand various concepts by automating Deployment and Services for application operations. The operator-SDK simplifies building Kubernetes-native applications by providing a controller skeleton to manage logic and abstract complex details.
DynamoDB Streams EventBridge Pipes Multiple Items
Benjamen Pyle explains how to use DynamoDB and EventBridge Pipes to handle multiple item collections within the same table. He provides a Base Setup and shares code to filter, format, and route events to specific Lambda functions based on item types.
Navigating FIPS Compliance for Go Applications: Libraries, Integration, and Security
Gil Adda provides a guide on developing FIPS 140-2 compliant applications using Go. This can be accomplished by using FIPS 140-2 certified libraries like Google's BoringCrypto or OpenSSL. Additionally, Adda discusses Microsoft and RedHat's modified Go versions that incorporate OpenSSL as another compliance alternative.
Testing in Go: Increasing efficiency of Code
Aryan Parashar guides readers through unit and integration testing in the Go programming language. With practical examples, Parashar demonstrates how to use the 'go test' function to enhance code efficiency, run parallel tests, skip tests, and handle test teardowns. The article serves as a useful resource for programmers to optimize their Go coding skills.
Hexagonal architecture helps easily change, upgrade and test project.
AJ Phạm discusses Hexagonal architecture in programming, detailing its role in providing a structured code that improves development and testing. However, he also addressed the trade-offs, such as added complexity in smaller projects and possible performance issues due to data object conversion.
Managing Worker Pool State with Prometheus and Grafana in Go - not detail
Thanh Phúc Huỳnh's latest article discusses using Prometheus and Grafana for managing job states in a Go Worker Pool. He covers the setup of Prometheus metrics and Grafana dashboards, and the significance of logging for application health and efficiency.
Youtube Videos 📹
Efficient Debugging and Logging with OpenTelemetry in Go - Konstantin Ostrovsky
Konstantin Ostrovsky, Chief Architect at Torq.io, discusses the advantages of open telemetry for debugging. He stresses the importance of observability signals, especially traces, which provide metadata and can link different coding languages. Ostrovsky endorses open telemetry for efficient data collection and analysis, and urges listeners to adopt it to improve debugging efficiency.
Logic Programming in Go - Walter Schulze
In the video, Walter Schulze discusses logic programming, a paradigm different from imperative and functional programming. He validates its rising importance in mainstream development with the example of Epic Games' new Verse for Metaverse. Schulze demonstrates the implementation of a logic programming language using Go and its application in translating mathematical concepts into code.
Beginners Should Think Differently When Writing Golang
YouTuber Anthony GG's video stresses the unique approach to programming with Go, focusing on simple data collections rather than objects or classes. Everything is handled through functions, contrasting many other languages that utilize attached methods. The tutorial gives clear examples of these principles using a basic book structure.
In this video, ThePrimeagen explores the htmx package, a powerful tool that expands and simplifies the capabilities of HTML. He shares his coding approach and interaction with social media, while humorously questioning the supposed necessity for clean code and asserting his expertise exceeds Rust programming.
Package of the week 📦
Naveen Mahalingam's latest v6 release of go-pretty, enhances console output customization. It revamps the display of tables, lists, text, and progress bars. Note: users upgrading from v5 or below need to adjust import paths accordingly.
Community Highlight ✨
In Go 1.22, David Chase and Russ Cox are changing 'for' loops to have per-iteration scope to prevent common coding mistakes. This change will only apply to packages in modules that declare Go 1.22 or later, maintaining backward compatibility. Developers can preview this change in Go 1.21 to understand its implications.
Thanks for reading Gopherit! Subscribe for free to receive new posts and support our work 💙.