Articles
AI
- 2023-10-11 ◦ GitHub - charmbracelet/mods: AI on the command line
API
gRPC
- 2024-07-02 ◦ gRPC - What, why and How
- how to use protobuf for a Golang project
Architecture
- 2023-01-19 ◦ Go project written in clean code architecture : golang
- 2022-10-04 ◦ Auto-generated C4 Architecture Diagrams in Go (PlantUML)
- 2022-08-16 ◦ Service Discovery with Go and mDNS
AWS
- 2022-10-10 ◦ inanzzz | A simple AWS SNS example with Golang using Localstack
- 2022-10-10 ◦ aws sdk go - How does one programmatically subscribe an SQS queue to an SNS topic in Go? - Stack Overflow
- 2022-09-96 ◦ GO ON AWS
Custom resources
- 2023-01-24 ◦ Cloud Ninja: Building CloudFormation Custom Resources in Go
- 2023-01-20 ◦ GitHub - masgari/aws-custom-resources: A Lambda for creating custom resources in CloudFormation.
- 2023-01-20 ◦ GitHub - lifadev/archive_aws-cloudformation-go-customres: Author your AWS CloudFormation Custom Resources in Go.
Fun
- 2023-11-30 ◦ A chalk bag (gopher style)
- 2023-09-13 ◦ GitHub - MariaLetta/free-gophers-pack
- ✨ This pack of 100+ gopher pictures and elements will help you to build own design of almost anything related to Go Programming Language: presentations, posts in blogs or social media, courses, videos and many, many more.
- 2023-05-15 ◦ Go Proverbs
Botnets
- 2022-08-22 ◦ GitHub - ThrillQuks/Pitraix: Modern Self-Modifying Cross-Platform Peer-to-Peer Botnet over TOR
Books
- 2024-05-06 ◦ Concurrency in Go
- 2024-04-17 ◦ Effective Go Recipes: Fast Solutions to Common Tasks by Miki Tebeka
- 2023-10-11 ◦ Learn Go with Pocket-Sized Projects
Concurrency
- 2023-12-07 ◦ Learn Concurrent Programming with Go (Book)
- 2023-03-27 ◦ CodePilot | Synchronization Patterns in Go
Comparisons
- 2023-01-16 ◦ Ask HN: Should I learn Rust or Go? | Hacker News (Rust)
- 2023-01-16 ◦ Go devs that learned Rust, what are your thoughts on it? (Rust)
Design Patterns
- 2023-12-04 ◦ Favourite Golang Design Patterns
- 2022-09-05 ◦ GoF Design patterns that still make sense in Go
Frontend
- 2023-04-11 ◦ Best front-end stack for Golang backend
Error handling
- 2024-08-15 ◦ 5 Levels of Go Error Handling - YouTube
- 2023-07-04 ◦ Master Golang Error Handling: Step-by-Step Guide to Robust and Resilient Applications
- 2023-06-22 ◦ Gopher Wrangling. Effective error handling in Go | Stephen’s Tech Blog
- 2022-12-22 ◦ New in Go 1.20: wrapping multiple errors
EDA
HTTP
Contexts
- 2024-06-19 ◦ Putting Go’s Context package into context
Internals
- 2023-03-27 ◦ The Golang Scheduler
Learning
-
2024-06-06 ◦ Internalize Go programming techniques
-
2022-11-16 ◦ github.com/mauricioabreu/golings: rustlings but for golang this time
-
2022-08-29 ◦ How to use Go as a glue language
Happiness comes from within: self-conained binaries
Go is verb-oriented. Put a pot on the stove. Boil water. Pour the water over some tea leaves. Wait. Drink. This is the way humans think. When planning a task, you think about the necessary actions before you think about the array of objects needed for executing these actions.
Go’s “*do something*” approach gets your stuff done.
The
net/http
package allows building a basic HTTP server with a few lines of code.Go has quite a unique approach of abstracting away data sources and sinks as uniform data streams. An
io.Reader
stream, for example, can represent input from a file, a network connection, an in-memory buffer, or even a simple string. Unit-test your code with a byte buffer, then use it in production with real files. -
2022-08-17 ◦ Preferred resource for ‘advanced’ Go? : golang
- Some good recommendation for advanced Go learning resources
Plugins
- 2023-05-09 ◦ RPC-based plugins in Go - Eli Bendersky’s website
Malware
-
2023-03-21 ◦ Uncovering HinataBot: A Deep Dive into a Go-Based Threat | Akamai
-
2022-11-01 ◦ Hacking with Go: Part 2 with Ivan Kwiatkowski (Go Time #251)
-
2022-10-06 ◦ GopherCon Europe 2021: Joakim Kennedy - The Dark Side of Go: A 2020 Go Malware Round Up
- Government based
- APT28 - Zebrocy
- APT29 - WellMess and WellMail
- NOBELIUM aka UNC2452
- SolarWinds
- Holy Water/Storm Cloud APT
- used Google Drive as C2
- Criminal background
- Loaders/Crypters
- RATs
- Glupteba
- Stealers
- CryptoStealer.Go
- steals cryptocurrency wallets and data stored in browsers
- Clipper
- Clipboard Stealer
- CryptoStealer.Go
- Ransomware
- Robbin Hood
- NEPHILIM Ransomware
- EKANS
- Bots
- Cross-Platform Mining Bots (for Linux and Windows)
- XMRig Miner Dropper
- P2P Bots
- FritzFrog
- InterPlanetary Storm
- Uses IPFS
- Cross-Platform Mining Bots (for Linux and Windows)
- Government based
Microservices
- 2024-02-28 ◦ GitHub - stefanprodan/podinfo: Go microservice template for Kubernetes
- 2023-04-05 ◦ Micro-services with auto discovery, observability and load balancing. | Rethink Connectivity Ep 9 - YouTube (using nats.io)
- 2022-10-04 ◦ Encore Docs — Encore Flow
- Visualize cloud microservices architecture
- 2022-08-25 ◦ go-zero
- A cloud-native Go Microservices framework with cli tool for productivity.
A collection of interesting threads.
-
2023-11-22 ◦ Expectations for Senior Go Dev
Go-specific things:
- understand the different usage scenarios for channels
- demonstrable knowledge of the net/http interfaces and their common implementations
- demonstrable knowledge of the io interfaces and their common implementations
- the ability to demonstrate when and how a goroutine will end
- demonstrable knowledge of common pitfalls (e.g. closing a response body, variable shadowing, etc)
- demonstrate you can write code that respects context cancellation
- knowledge and demonstrated proficiency with standard tooling in the Go sdk
- slice internals
- map internals
In addition to all of that:
- channel internals,
- scheduler
- garbage collection
- concurrency patterns
- understanding advantages and disadvantages of go and it’s history (will help you understand why it was designed that way and avoid a huge ton of pitfalls)
-
2023-03-27 ◦ My believe that Golang will grow in demand and how maybe this is ruining my pay increase
Security
- 2022-10-04 ◦ Simple JWT Authentication for Golang (Part 1) (JWT)
Serverless
- 2023-06-22 ◦ Lambda Extension with Golang - DEV Community
- Shows how to use AWS Lambda extensions
- 2022-10-04 ◦ gRPC and gRPC Web on Google Cloud Run (serverless) - GenDocu Blog
SSH
Styling
- 2023-11-22 ◦ Go Style (Google)
Success stories
- 2024-05-23 ◦ From Ground Zero to Production: Go’s Journey at Google - Yves Junqueira’s blog
- 2022-10-19 ◦ Have you moved from Java to Go (or another popular language)
Tooling
- 2023-10-04 ◦ My Preferred Go Stack
Products
-
2024-03-01 ◦ Go Essentials
Go Essentials provides a comprehensive guide for backend engineers covering essential aspects of Golang from basic to advanced levels.
Highlights
- ⚙️ Benefits of Go in Software Engineering
- 🛠️ Essential Resources for Writing Go Code
- 🏗️ Setting up Go Environment
- 📝 Functions in Go
- 🔗 Stacks and Pointers in Go
- 📘 Go Custom Types, Methods, and Interfaces
- 🚀 Building an HTTP Server in Go
-
2024-03-01 ◦ Everyday Golang
“Everyday Go” is a practical book aimed at Go developers that covers various topics like software testing, distribution, and monitoring. It features top rated content on writing unit tests in Go, along with updated and modernized techniques for 2021.
Highlights 📘 Practical examples, lessons, and techniques for Go developers 📘 Compilation of tools, techniques, and patterns used in production 📘 Focus on software lifecycle from fundamentals to testing, distribution, and monitoring 📘 Suitable for beginners and intermediate developers looking to expand or deepen their Go knowledge 📘 Includes information on unit testing, GitHub Actions, goroutines, and more 📘 Premium Edition offers 300 pages with a normal-sized font, while the base edition is approximately 215 pages 📘 Additional resources like sample apps and a serverless add-on are available in the premium and team editions
-
2024-03-01 ◦ Let’s Go
Let’s Go teaches you step-by-step how to create fast, secure and maintainable web applications using the fantastic programming language Go.
The idea behind the book is to help you learn by doing. Together we’ll walk through the start-to-finish build of a complete web application — from structuring your workspace, through to session management, authenticating users, securing your server and testing your application.
Building a complete web application has a number of benefits: it helps put the things you’re learning into context, demonstrates how different parts of your codebase link together, and forces us to work through the edge-cases and difficulties that come up when writing software in real-life. In essence, you’ll learn more that you would by just reading Go’s (great) documentation or standalone blog posts.
Although you can read the book cover-to-cover, it’s designed specifically for you to follow along and build the application yourself. Break out your text editor, and happy coding! — Alex
Resources
Blogs
- 2024-03-27 ◦ Ozan Sazak
- 2024-03-27 ◦ Learning Go in 2024; From Beginner to Senior