Capturing Network Traffic with Raw Sockets in Go
Capturing Network Traffic with Raw Sockets in Go
The most common library for capturing network traffic in Go is github.com/google/gopacket, which requires libpcap and therefore must be compiled with CGO enabled. To reduce environmental dependencies, we can use raw sockets to capture network traffic and then leverage gopacket's protocol parsing ...
Posted on Wed, 20 May 2026 20:31:02 +0000 by kingnutter
Understanding Pointers in Go
Pointers in Go are variables that store memory addresses of other variables. They provide a way to directly manipulate memory and pass references to values across functions.
Basic Pointer Operations
The address operator (&) obtains the memory address of a variable, while the dereference operator (*) accesses the value stored at that address ...
Posted on Wed, 20 May 2026 17:39:47 +0000 by scuba
Sorting in Go: Built-in and Custom Approaches
1. Default Sorting
Go provides built-in sorting capabilities through the sort package. The sorting operations modify the slice in place, meaning the original slice is changed directly without creating a new one.
package main
import "fmt"
import "sort"
func main() {
// Strings can be sorted using sort.Strings()
col ...
Posted on Mon, 18 May 2026 00:23:15 +0000 by cytech
Deploying and Managing a High-Performance Object Storage Server with MinIO
Comparing Distributed File Storage Solusions
When evaluating distributed storage architectures, MinIO stands out as a prominent solution. It is a high-performance object storage server built using Go, allowing it to run seamlessly across various operating systems including Windows, Linux, macOS, and FreeBSD. Its deployment is streamlined, often ...
Posted on Sat, 16 May 2026 00:38:36 +0000 by seek
Calling C/C++/Go Code Directly in Web Pages Using WebAssembly
When building a rosbag visualization tool, it was discovered that a static web frontend could parse rosbag files without any backend API requests, prompting investigation into WebAssembly as the underlying technology.
WebAssembly Basics
WebAssembly (abbreviated WASM) is a low-level, efficient binary instruction format built for browser-based ex ...
Posted on Fri, 15 May 2026 09:44:12 +0000 by skoobi
Go Concurrency Fundamentals: Goroutines, Channels, and Select Statements
Go's concurrency model is built around lightweight, independently executing functions known as goroutines. A goroutine can be thought of as a function running concurrently with other functions within the same address space. They are significantly less expensive than traditional operating system threads, making it practical to launch thousands o ...
Posted on Fri, 15 May 2026 03:20:17 +0000 by CybJunior
Analyzing the cache2go Go Caching Library
Overview
This analysis focuses on the cache2go library, a concurrency-safe caching solution written in Go. The goal is to dissect its core components and understand its design patterns. We will examine the project's strutcure, key data structures, and the implementation of its core functionalities, providing insihgts into how it manages cached ...
Posted on Wed, 13 May 2026 22:38:18 +0000 by franko75
Understanding Arrays, Slices, and Maps in Go
Arrays
An array is a fixed-length sequence of elements of the same type, stored contiguously in memory.
Declaration
Declare an array by specifying its length and element type.
var colors [3]string
The length is part of the array's type; [3]int and [5]int are distinct types.
Initialization
Initialize an array during declaration.
var colors = [3 ...
Posted on Wed, 13 May 2026 17:56:36 +0000 by d3vilr3d
Deploying the Go-ChatGPT Service Stack with Docker Compose
Service Deployment Structure
The go-ChatGPT project relies on multiple middleware services. The deployment directory layout is shown below:
|-- chat-api
| |-- etc
| | `-- config.yaml
| `-- logs
|-- chat-rpc
| |-- etc
| | `-- config.yaml
| `-- logs
|-- docker-compose.yaml
|-- mysql
| `-- data
|-- nginx
| |-- conf
| | `-- ...
Posted on Mon, 11 May 2026 05:33:29 +0000 by Hilitec
Difference Between `var` and `:=` in Go
In Go, variables can be declared using either the var keyword or the short variable declaration operator :=. While both serve to create variables, they differ in syntax, scope, and usage context.
Using var
The var keyword is the standard way to declare variables and works in all scopes—both global and local.
// Declare a variable without initia ...
Posted on Mon, 11 May 2026 02:03:05 +0000 by Axem