Hello everyone!
Not a while ago I started to run a daily newsletter with resources (blog posts, videos and projects) about Go (Golang) that I found interesting. Here are the latest 6 issues of the newsletter. I hope you will find it useful. Happy coding!
Daily Golang Issue #6 (2024-08-19)
Your daily hub for Go news, insights, and projects
β‘οΈ Latest
Here are the newest blog posts, videos, and projects from the Go community and all around it.
- GopherCon UK published recordings of talks from the latest conference
- πΉ The Business of Go - Cameron Balahan, Google
- πΉ Debugging Go Applications - Matt Boyle, Cloudflare
- πΉ Understanding the Go runtime, JesuΜs Espino, Mattermost
- πΉ Boost application performance with profile guided optimization Michael Pratt, Google
- πΉ AI is coming for your job - Adam Scholey, Benefex
- πΉ Improving your code craft with generative AI - Liam Hampton, Microsoft
- πΉ Decoding AI: A Go Programmer's Perspective - Beth Anderson, BBC
- πΉ Event Driven Workflows - Andrew Wormald, Luno
- π GopherCon UK 2024 by Jamie Tanna
- π οΈ TreeGen
- ASCII Tree to Directory and File Structure Generator
π§ Discoveries
Here is the list of discovered interesting blog posts, videos, and projects that are worth checking out.
π Blog Posts
-
Safer Enums in Go
- This post explores how to implement safer enums in Go, providing strategies to avoid common errors associated with enums and ensuring type safety in your code.
- Random testing in Go by John Arundel
-
Sign in with Google in Go
- This post walks you through implementing Google OAuth authentication in a Go application. It covers setting up OAuth credentials, integrating with Google's API, and handling user sign-ins securely within your Go projects.
-
Building an interactive shell in Golang
- The author provides a guide to creating an interactive command-line shell in Go. The post covers topics like handling user input, executing commands, and managing the shell's environment, offering a practical approach to building robust CLI tools.
πΉ Videos
- Julia Ogris - Building a Beginner's Programming Language with Go | GopherConAU 2023
- Why Golang + HTMX Is The Most Productive Stack
- Keynote - Go: the language of dreamers / Derek Parker
- A REAL usecase of Golang Go Routines! - Golang Concurrency Example
π οΈ Projects
-
sirupsen/logrus
- Logrus is a structured, pluggable logging library for Go, designed to provide a flexible logging framework that supports various output formats and hooks.
-
fergusstrange/embedded-postgres
- Embedded Postgres allows running a real Postgres database locally as part of another Go application or test, providing a simple way to include Postgres in your development environment.
Daily Golang Issue #5 (2024-08-18)
Your daily hub for Go news, insights, and projects
β‘οΈ Latest
Here are the newest blog posts, videos, and projects from the Go community and all around it.
- βGo 1.23: What You Need to Know About the Latest Featuresβ
- βAn unordered list of things I miss in Go
π§ Discoveries
Here is the list of discovered interesting blog posts, videos, and projects that are worth checking out.
π Blog Posts
-
Moving Towards Domain Driven Design in Go
- This post discusses how to implement Domain-Driven Design (DDD) principles in Go applications. The author provides practical steps to transition from traditional application structures to DDD, focusing on aligning code with business domains for better maintainability.
- Error wrapping in Go by John Arundel
-
Common Anti-Patterns in Go Web Applications
- The author identifies and explains several common anti-patterns in Go web applications, offering advice on how to avoid these pitfalls to create more efficient and maintainable code.
- Implementing the Raft distributed consensus protocol in Go
πΉ Videos
- Raghav Roy - Coroutines and Go | GopherConAU 2023
- Golang Has Entered a New Era for Routing
- How to EFFICIENTLY Handle Errors in Golang APIs
- How To Refactor A Golang Project By Using Interfaces
π οΈ Projects
-
spf13/viper
- A popular configuration management library in Go, supporting many formats, environment variables, remote configurations, and more, designed to work seamlessly with spf13/cobra.
-
rqlite/rqlite
- Rqlite is a lightweight, distributed relational database built on SQLite, offering an easy-to-use solution for applications requiring high availability and fault tolerance.
Daily Golang Issue #4 (2024-08-17)
Your daily hub for Go news, insights, and projects
π§ Discoveries
Here is the list of discovered interesting blog posts, videos, and projects that are worth checking out.
π Blog Posts
- Standalone test scripts by John Arundel
-
Using functional options instead of method chaining in Go
- Jon Calhoun advocates for the use of functional options as an alternative to method chaining in Go, explaining how this pattern can lead to more flexible and maintainable code.
-
Introduction to DDD Lite: When microservices in Go are not enough
- This article introduces a "DDD Lite" approach, explaining how it can be a middle ground between full-blown Domain-Driven Design (DDD) and simpler design patterns. Itβs particularly useful when microservices alone do not sufficiently address complex business needs.
- Context Control in Go
πΉ Videos
- The Secret Life of a Goroutine - JesΓΊs Espino - April Gophers 2023
- GopherCon 2023: Ellery Addington-White - From Zero to Hero: Launch Your Own Game in 45 Minutes
- 06. Matteo Grella - The Go-to Language for AI: Opportunities and Challenges | GopherConAU 2023
- How To Use Goroutines For Aggregating Data In Golang?!
π οΈ Projects
-
go-task/task
- simple "Make" alternative.
-
joho/godotenv)
- A Go port of the Ruby dotenv library, which loads environment variables from a
.env
file, making it easier to manage environment-specific configurations.
- A Go port of the Ruby dotenv library, which loads environment variables from a
Daily Golang Issue #3 (2024-08-16)
Your daily hub for Go news, insights, and projects
β‘οΈ Latest
Here are the newest blog posts, videos, and projects from the Go community and all around it.
- Go is my hammer, and everything is a nailβ
- No Go Related:
π§ Discoveries
Here is the list of discovered interesting blog posts, videos, and projects that are worth checking out.
π Blog Posts
- Testing errors in Go by John Arundel
-
time.Now() and the Monotonic Clock
- The post discusses the use of
time.Now()
in Go, particularly focusing on the monotonic clock feature. The author explains how Go ensures time consistency across operations, crucial for preventing errors in time-sensitive applications.
- The post discusses the use of
- Build Server With Go Under 10 minutes
- Build a Go API with wallet authentication, JWT, Gin
πΉ Videos
- Building a Chat with WebSockets and HTMX in Golang
- The BEST Tool to Structure Golang Projects
- Pointers Are the Broccoli of Go - Beth Knight - July Gophers 2023
- Gosh - Writing Go at the Command Line - Nick Wells - September Gophers
π οΈ Projects
-
gookit/config
- A comprehensive Go configuration management library that supports multiple file formats, environment variables, and command-line flags, offering flexibility in how configurations are loaded and merged.
-
onsi/ginkgo
- Ginkgo is a modern testing framework for Go, providing expressive syntax and powerful features for writing readable and maintainable tests, especially for behavior-driven development (BDD).
Daily Golang Issue #2 (2024-08-15)
Your daily hub for Go news, insights, and projects
β‘οΈ Latest
Here are the newest blog posts, videos, and projects from the Go community and all around it.
π§ Discoveries
Here is the list of discovered interesting blog posts, videos, and projects that are worth checking out.
π Blog Posts
- Shameless green: TDD in Go by John Arundel
-
Distributed Computing With Dried, Salted Cod Fish, WASM, And (Tiny)Go
- This post creatively explores the use of WebAssembly (WASM) and TinyGo for distributed computing, drawing an analogy to the historical use of dried cod fish for trade. The author discusses the benefits of using TinyGo for running Go code in constrained environments like WASM.
-
Strategy pattern in Go
- This article explains the Strategy Pattern, a behavioral design pattern that allows an algorithm's behavior to be selected at runtime. The author demonstrates how to implement this pattern in Go, making code more flexible and easier to maintain.
- How to start a Go project in 2023
πΉ Videos
- Go Concurrency Explained: Go Routines & Channels
- How NOT to Write a Test in Go - Amir Malka
- Understanding the Go runtime - Jesus Espino
- How You Should Use Mutexes And Atomic Values In Golang?!
π οΈ Projects
-
Evertras/bubble-table
- A customizable and interactive table component designed for the Bubble Tea framework, allowing developers to build rich terminal-based UIs.
-
nanovms/ops
- A tool for building and running unikernels in Go, designed to simplify the creation of lightweight, secure applications by bundling them into single-purpose virtual machines.
Daily Golang Issue #1 (2024-08-14)
Your daily hub for Go news, insights, and projects
β‘οΈ Latest
Here are the newest blog posts, videos, and projects from the Go community and all around it.
- βGo 1.23 is releasedβ
- βChangelog.com - Go Time #326 - Big shoes to fillβ
- βGo 1.23 in 23 minutes (ByteSizeGo)β
- βPreemption in Go: an introductionβ
- πΉΒ Starting new series | Letβs learn - Go language - 1β
- No related to Go
π§ Discoveries
Here is the list of discovered interesting blog posts, videos, and projects that are worth checking out.
π Blog Posts
- Functional programming in Go by John Arundel
-
Connecting to a PostgreSQL database with Go's database/sql package
- A comprehensive guide on connecting to a PostgreSQL database using Goβs
database/sql
package. The post walks you through the steps to set up a connection, execute queries, and handle errors.
- A comprehensive guide on connecting to a PostgreSQL database using Goβs
-
The One Billion Row Challenge in Go: from 1m45s to 3.4s in nine solutions
- The author discusses optimizing a Go program to handle one billion rows of data. The post details different strategies and solutions implemented to significantly reduce processing time, offering insights into performance tuning in Go.
-
How to parse a time or date in Go
- This article explains how to parse and format time and date strings in Go, covering common use cases and potential pitfalls. The author provides code examples to demonstrate how to handle various date and time formats effectively.
πΉ Videos
- How to Rewrite a Service - Michal Bock - April Gophers 2023
- Time to Reflect - Sam Williams - September Gophers
- Using RabbitMQ Steams In Go
- Understanding Language Server Protocol - autocomplete, formatting - Adrian Hesketh
π οΈ Projects
-
knadh/koanf
- A simple, lightweight, and extensible Go configuration management library, supporting JSON, TOML, YAML, and more. It allows easy merging and layering of configurations from various sources.
-
adrg/xdg
- A Go implementation of the XDG Base Directory Specification, providing a standardized way to manage user directories and application data locations across different operating systems.
Top comments (0)