Hello, my name isEduardo Guiraldelli Schelive
Welcome to my blog where I share articles about web development, cloud infrastructure, system architecture, and modern technologies. Tutorials, guides, and hands-on experiences from real projects.
Featured article
Handling errors in goroutines
Learn two patterns for propagating errors from concurrent goroutines — the result struct and the separate error channel — and when to choose each.
Latest articles
Handling errors in goroutines
Learn two patterns for propagating errors from concurrent goroutines — the result struct and the separate error channel — and when to choose each.
Pipelines, fan-out, and fan-in
Learn how to structure concurrent Go programs as pipelines of stages connected by channels, and how fan-out and fan-in parallelize the expensive ones.
Preventing goroutine leaks
Learn how goroutines leak, why the GC cannot help, and how the done channel and context patterns give every goroutine a guaranteed exit path.
The select statement
Learn how Go's select statement coordinates multiple channel operations simultaneously, handles timeouts, and powers the for-select pattern for reactive goroutines.
Channels
Learn how Go channels enable safe communication between goroutines — creation, direction, blocking semantics, buffering, and ownership patterns.
Introduction to Data Structures
Understand how data structures transform random bytes into meaningful patterns. Explore contiguous vs scattered memory, linear vs non-linear structures, and the tradeoffs that shape your code's performance.
Arrays
Learn how arrays store elements in contiguous memory for instant access. Understand indexing, memory layout, and the tradeoffs that make arrays the foundation of most data structures.
Linked Lists
Discover how linked lists trade instant access for flexible insertion. Learn node structure, pointer manipulation, singly vs doubly variants, and when to choose linked lists over arrays.
Stacks
Learn how stacks enforce LIFO order to manage data. Explore push, pop, and peek operations, array vs linked list implementations, and why stacks underpin function calls and expression parsing.
Queues
Learn how queues enforce FIFO order to manage data. Explore enqueue, dequeue, and peek operations, circular buffer vs linked list implementations, and why queues drive task scheduling and BFS.
Data Structures
6Master the art of organizing data efficiently. Learn how arrays, linked lists, trees, graphs, and hash tables shape the performance of every program you write.
Go Programming Language
47Learn Go from scratch. This series covers the full language: from basic types and control flow to functions, interfaces, error handling, goroutines, and module management.