Blog

Articles, guides, and notes on software engineering.

Difference Between Orphan Processes and Zombie Processes
Computer Architecture 2020-08-24

Difference Between Orphan Processes and Zombie Processes

Understand orphan and zombie processes in UNIX, process lifecycle, and system resource management implications.

#UNIX#Process

Recent Posts

Creating a Slack Emoji Auto-Generation Bot with Golang, chromedp, and Slack
Application 2020-08-11

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.

#Golang#Slack#Chrome#chromedp#Emoji#Slack Bot
Code Definition Jump Disabled After Enabling Go Language Server in VSCode
Application 2020-07-19

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.

#Golang#gocode#gopls#Language Server#vscode#Tips
Tools for Automatically Generating DB Documents (ER Diagrams, etc.) - schemaspy, tbls
Database 2020-07-09

Tools for Automatically Generating DB Documents (ER Diagrams, etc.) - schemaspy, tbls

Exploring and reviewing open-source tools for automatically generating DB documents.

#Docker#ER
Tool for Automatically Generating UML with PHP - phUML
Application 2020-06-26

Tool for Automatically Generating UML with PHP - phUML

Generate PHP class diagrams automatically using phUML to visualize design architecture and understand complex structures.

#PHP
Introduction to Building Data Analysis Infrastructure
Architecture 2020-06-19

Introduction to Building Data Analysis Infrastructure

Introduction to Building Data Analysis Infrastructure

#ETL#Book Review#Elasticsearch#Kibana#fluentd
Production Deployment with VPS, Docker Compose, Docker Machine, Golang, Nginx, and Let's Encrypt
Poem 2020-06-07

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.

#Docker#Docker Compose#Golang#Let's Encrypt#Nginx#Docker Machine#VPS
Participated in ISUCON10
Architecture 2020-05-21

Participated in ISUCON10

Learn performance optimization strategies for ISUCON competition including query tuning, MySQL upgrades, and database indexing techniques.

#ISUCON#ISUCON10
Algorithms and Data Structures - Bubble Sort
Algorithms and Data Structures 2020-02-01

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.

#Bubble Sort
Algorithms and Data Structures - Heap Sort
Algorithms and Data Structures 2020-02-01

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.

#Heap Sort
Algorithm and Data Structures - Insertion Sort
Algorithms and Data Structures 2020-02-01

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.

#Insertion Sort
Algorithms and Data Structures - Merge Sort
Algorithms and Data Structures 2020-02-01

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.

#Merge Sort
Algorithms and Data Structures - Quick Sort
Algorithms and Data Structures 2020-02-01

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.

#Quick Sort
Algorithms and Data Structures - Selection Sort
Algorithms and Data Structures 2020-02-01

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.

#Selection Sort
Created a URL Router called goblin in Golang
Application 2020-01-26

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.

#Golang#URL Routing#Router
Algorithms and Data Structures - Binary Search Trees
Algorithms and Data Structures 2020-01-15

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.

#Binary Search Tree
Algorithms and Data Structures - Heap
Algorithms and Data Structures 2020-01-14

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.

#Heap
Reflection on 2019 and Goals for Next Year
Poetry 2019-12-21

Reflection on 2019 and Goals for Next Year

Personal year-end reflection on 2019: key experiences, learnings as a software engineer, and resolutions heading into 2020.

#Reflection and Goals
Introduction to Custom URL Routing: Episode 2
Application 2019-12-15

Introduction to Custom URL Routing: Episode 2

Implement custom URL routing using trie and Patricia trees with path matching algorithms for HTTP routing.

#HTTP#URL Routing#Router
Introduction to Building Your Own URL Routing - Episode 1
Application 2019-12-14

Introduction to Building Your Own URL Routing - Episode 1

Learn URL routing fundamentals with tree data structures and trie algorithms for building custom application routers.

#HTTP#URL Routing#Router