Go Workspace Structure: From GOPATH to go.work
Organize Go projects efficiently with modern workspaces
Managing Go projects effectively requires understanding how workspaces organize code, dependencies, and build environments.
Organize Go projects efficiently with modern workspaces
Managing Go projects effectively requires understanding how workspaces organize code, dependencies, and build environments.
Structure your Go projects for scalability and clarity
Structuring a Go project effectively is fundamental to long-term maintainability, team collaboration, and scalability. Unlike frameworks that enforce rigid directory layouts, Go embraces flexibility—but with that freedom comes the responsibility to choose patterns that serve your project’s specific needs.
Master DI patterns for testable Go code
Dependency injection (DI) is a fundamental design pattern that promotes clean, testable, and maintainable code in Go applications.
Speed up Go tests with parallel execution
Table-driven tests are the idiomatic Go approach for testing multiple scenarios efficiently.
When combined with parallel execution using t.Parallel(), you can dramatically reduce test suite runtime, especially for I/O-bound operations.
Build AI search agents with Go and Ollama
Ollama’s Web Search API lets you augment local LLMs with real-time web information. This guide shows you how to implement web search capabilities in Go, from simple API calls to full-featured search agents.
Auto-generate OpenAPI docs from code annotations
API documentation is crucial for any modern application, and for Go APIs Swagger (OpenAPI) has become the industry standard. For Go developers, swaggo provides an elegant solution to generate comprehensive API documentation directly from code annotations.
Master Go code quality with linters and automation
Modern Go development demands rigorous code quality standards. Linters for Go automate the detection of bugs, security vulnerabilities, and style inconsistencies before they reach production.
Build robust AI/ML pipelines with Go microservices
As AI and ML workloads become increasingly complex, the need for robust orchestration systems has become greater. Go’s simplicity, performance, and concurrency makes it an ideal choice for building the orchestration layer of ML pipelines, even when the models themselves are written in Python.
Build production-ready REST APIs with Go's robust ecosystem
Building high-performance REST APIs with Go has become a standard approach for powering systems at Google, Uber, Dropbox, and countless startups.
Go testing from basics to advanced patterns
Go’s built-in testing package provides a powerful, minimalist framework for writing unit tests without external dependencies. Here are the testing fundamentals, project structure, and advanced patterns to build reliable Go applications.
Transactions in Microservices with Saga pattern
The Saga pattern provides an elegant solution by breaking distributed transactions into a series of local transactions with compensating actions.
Type-safe reusable code with Go generics
Generics in Go represent one of the most significant language features added since Go 1.0. Introduced in Go 1.18, generics enable you to write type-safe, reusable code that works with multiple types without sacrificing performance or code clarity.
CLI development in Go with Cobra and Viper frameworks
Command-line interface (CLI) applications are essential tools for developers, system administrators, and DevOps professionals. Two Go libraries have become the de facto standard for CLI development in Go: Cobra for command structure and Viper for configuration management.
Create consistent, portable, and reproducible development environments using Dev Containers
Developers often face the “works on my machine” dilemma due to dependency mismatches, tool versions, or OS differences. Dev Containers in Visual Studio Code (VS Code) solve this elegantly — by letting you develop inside a containerized environment configured specifically for your project.
Integrate Ollama with Go: SDK guide, examples, and production best practices.
This guide provides a comprehensive overview of available Go SDKs for Ollama and compares their feature sets.
A couple of ways to get structured output from Ollama
Large Language Models (LLMs) are powerful, but in production we rarely want free-form paragraphs. Instead, we want predictable data: attributes, facts, or structured objects you can feed into an app. That’s LLM Structured Output.