Blog
Articles, guides, and notes on software engineering.
What is gRPC? A Practical Introduction to gRPC with Go
Learn what gRPC is, how Protocol Buffers work, and how to build a gRPC server and client in Go. Includes comparison with REST and when to choose gRPC.
Recent Posts
SCRUM BOOT CAMP THE BOOK: Revised Edition - Agile Development with Scrum Teams
SCRUM BOOT CAMP THE BOOK: Revised Edition - Agile Development with Scrum Teams
Differences Between Little Endian, Big Endian, Middle Endian, and Bi-endian
Understand byte ordering: Little Endian, Big Endian, Middle Endian, Bi-endian, and memory arrangement across systems.
Difference Between Orphan Processes and Zombie Processes
Understand orphan and zombie processes in UNIX, process lifecycle, and system resource management implications.
Creating a Slack Emoji Auto-Generation Bot with Golang, chromedp, and Slack
Build a Slack bot with Go and chromedp for automated emoji generation using canvas screenshots and Slack API integration.
Code Definition Jump Disabled After Enabling Go Language Server in VSCode
Fix VSCode Go language server issues with gopls by placing go.mod file correctly for code definition jumping.
Tools for Automatically Generating DB Documents (ER Diagrams, etc.) - schemaspy, tbls
Exploring and reviewing open-source tools for automatically generating DB documents.
Tool for Automatically Generating UML with PHP - phUML
Generate PHP class diagrams automatically using phUML to visualize design architecture and understand complex structures.
Introduction to Building Data Analysis Infrastructure
Introduction to Building Data Analysis Infrastructure
Production Deployment with VPS, Docker Compose, Docker Machine, Golang, Nginx, and Let's Encrypt
Deploy Golang applications with Docker Compose, Nginx reverse proxy, and Let's Encrypt SSL/TLS certificates on VPS.
Participated in ISUCON10
Learn performance optimization strategies for ISUCON competition including query tuning, MySQL upgrades, and database indexing techniques.
Algorithms and Data Structures - Bubble Sort
Learn Bubble Sort, a comparison-based sorting algorithm with O(n²) time complexity. Covers the adjacent-element swap logic and a complete Go implementation.
Algorithms and Data Structures - Heap Sort
Learn Heap Sort, which uses a binary heap tree to sort in O(n log n) time. Covers heap construction, root extraction, and a Go implementation.
Algorithm and Data Structures - Insertion Sort
Learn Insertion Sort, which divides the array into sorted and unsorted parts and builds the sorted sequence one element at a time. O(n²) time complexity with a Go implementation.
Algorithms and Data Structures - Merge Sort
Learn Merge Sort, a divide-and-conquer sorting algorithm with O(n log n) worst-case time complexity. Covers recursive splitting, merging steps, and a Go implementation.
Algorithms and Data Structures - Quick Sort
Understand Quick Sort: O(n log n) average, O(n²) worst-case time complexity. Covers pivot selection, partitioning into low/high ranges, and a randomized Go implementation.
Algorithms and Data Structures - Selection Sort
Understand Selection Sort, which repeatedly finds the minimum element and swaps it into position. Covers O(n²) time complexity and a Go implementation.
Created a URL Router called goblin in Golang
Implement a high-performance URL router in Go using trie trees with path parameters and regex pattern matching.
Algorithms and Data Structures - Binary Search Trees
Understand Binary Search Trees: O(log n) average search and insertion, DFS (preorder, inorder, postorder) and BFS traversal methods with a Go BST implementation.
Algorithms and Data Structures - Heap
Learn how min-heaps and max-heaps work as priority queue data structures. Covers O(log n) insertion and deletion with a Go heap implementation.