#Golang

66 articles

The Lineage of Programming Languages Leading to Go
Application 2026-09-27

The Lineage of Programming Languages Leading to Go

A source-checked walk through the lineage of programming languages from Algol 60 to Go: Wirth's Pascal-to-Oberon path and Hoare's CSP path through Newsqueak, Alef, and Limbo, and how both streams merge into Go.

#Golang#Design
9 Books for Learning Go (Beginner to Advanced)
Application 2026-09-22

9 Books for Learning Go (Beginner to Advanced)

A staged reading list of 9 books for learning Go, from beginner to advanced: language basics, a deeper understanding of the language, and web, systems, and distributed implementation. Each entry links to its full review.

#Book Review#Golang
What is sqlc? A Practical Introduction to Type-Safe SQL in Go
Database 2026-06-24

What is sqlc? A Practical Introduction to Type-Safe SQL in Go

Learn what sqlc is and how it generates type-safe Go code from SQL. A hands-on introduction using SQLite that covers the schema-to-code workflow, the benefits, and common pitfalls.

#Golang#sqlc#SQL#SQLite#Code Generation
Introducing gogocoin — A Self-Hosted Crypto Trading Bot
Tools 2026-03-20

Introducing gogocoin — A Self-Hosted Crypto Trading Bot

A deep dive into gogocoin, a Go-based self-hosted Bitcoin trading bot for bitFlyer. Covers the pluggable strategy architecture, layered design and dependency rules, trading flow, data model, and balance cache.

#Golang#Bitcoin#Trading#Infrastructure
Introducing gohan — A Go Static Site Generator with Incremental Builds
Tools 2026-03-20

Introducing gohan — A Go Static Site Generator with Incremental Builds

A deep dive into gohan, a Go-based static site generator powering bmf-tech.com. Features SHA-256 manifest-driven incremental builds, i18n, Mermaid diagrams, OGP image generation, and a compiled plugin system (Amazon book cards, bookshelf page).

#Golang#SSG#Architecture
Migrating bmf-tech.com from gobel to gohan — A Full Static Site Transition
Architecture 2026-03-20

Migrating bmf-tech.com from gobel to gohan — A Full Static Site Transition

The complete process of migrating bmf-tech.com from a self-built headless CMS (gobel) with MySQL and Vue.js to a fully static site on gohan, hosted on Cloudflare Pages. Covers 700+ articles, English slug generation, image migration, redirects, and a Go-based preflight checker.

#gohan#Migration#SSG#Golang
The Go Programming Language, 2nd Edition: An Idiomatic Go Practical Guide for Programmers from Other Languages
Application 2025-10-26

The Go Programming Language, 2nd Edition: An Idiomatic Go Practical Guide for Programmers from Other Languages

A review of The Go Programming Language, 2nd Edition. More than a mere primer, it introduces many of Go's philosophies and idioms to deepen your understanding of the language. Digging into details other primers skip, it suits experienced programmers from other languages who want to write idiomatic Go.

#Golang#Book Review
Delegation Over Inheritance
Application 2025-10-20

Delegation Over Inheritance

Learn duck typing and Liskov Substitution Principle. Build resilient Go applications using delegation patterns over inheritance.

#Duck Typing#Liskov Substitution Principle#Delegation#Inheritance#Golang
Why Interfaces Change Less Frequently Than Implementations
Application 2025-10-18

Why Interfaces Change Less Frequently Than Implementations

Understand why Go interfaces change less frequently than implementations, stabilizing contracts while allowing implementation flexibility.

#Golang#Interface
Why the Singleton Pattern is an Anti-Pattern
Application 2025-10-18

Why the Singleton Pattern is an Anti-Pattern

Examine why the Singleton pattern creates architectural problems and dependency injection provides superior design alternatives.

#Design Patterns#Golang
Understanding Terminal Specifications for TUI Development
Application 2025-10-18

Understanding Terminal Specifications for TUI Development

Explore terminal specifications, raw mode, ANSI escape sequences, and termios for TUI development with practical Go implementations.

#TUI#termios#Terminal#UNIX#Golang
Test Doubles Explained: Mocks, Stubs, Fakes, and Spies
Testing 2025-10-18

Test Doubles Explained: Mocks, Stubs, Fakes, and Spies

Learn the differences between test doubles: mocks, stubs, fakes, dummies, and spies. Understand when to use each type and how they improve unit test isolation and clarity.

#Golang#Test Double
Exploring Processes, Goroutines, and Memory in Go
Application 2025-08-09

Exploring Processes, Goroutines, and Memory in Go

Explore Go virtual address spaces, process isolation, goroutine memory sharing, stack and heap behavior.

#Golang#Memory#Data Structures#Process#Thread
Introducing ggc — A Go-Based Git Tool
Tools 2025-06-15

Introducing ggc — A Go-Based Git Tool

A complete walkthrough of ggc: the CLI/interactive split architecture, fuzzy-search engine implementation, Workflow Mode internals, customisable aliases, and cross-platform keybinding profiles.

#Golang#Git#CLI#TUI
Go's Concurrency and Parallelism Model and Goroutine Scheduling
Application 2025-06-14

Go's Concurrency and Parallelism Model and Goroutine Scheduling

Understand Go concurrency vs. parallelism. Covers goroutine scheduling, GOMAXPROCS, the GMP model, OS threads vs. goroutines, and how preemption works with sequence diagram examples.

#Golang
Building & Pushing Docker Images with GoReleaser
Application 2024-05-29

Building & Pushing Docker Images with GoReleaser

Automate Docker image builds across multiple platforms using GoReleaser with GitHub Actions for streamlined CI/CD deployment.

#Golang#GitHub Actions
From Custom HTTP Router to New ServeMux
Application 2024-04-27

From Custom HTTP Router to New ServeMux

Migrate from a custom HTTP router goblin to Go 1.22 enhanced net/http ServeMux. Covers new routing patterns, performance comparison with third-party routers, and when ServeMux is enough.

#Golang#Router
About Go's rune Type
Application 2024-02-21

About Go's rune Type

Learn what Go rune type is and how it represents Unicode code points (int32 alias). Covers string vs. rune differences, range loop behavior, and multi-byte character handling.

#Golang
One-Liner for Self-Signed Certificates in Go
Application 2024-02-16

One-Liner for Self-Signed Certificates in Go

Generate a self-signed TLS certificate in Go with one command using the built-in generate_cert.go tool. Produces cert.pem and key.pem for local HTTPS without openssl or mkcert.

#Golang#Tips
Changes to ServeMux Specification in Go 1.22rc
Application 2024-01-25

Changes to ServeMux Specification in Go 1.22rc

Explore Go 1.22 enhanced ServeMux routing: HTTP method patterns (GET /items), wildcard path params (/items/{id}), the /{$} exact-match wildcard, and Request.PathValue.

#Golang