Blog
Articles, guides, and notes on software engineering.
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.
Recent Posts
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.
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.
Introduction to Custom URL Routing: Episode 2
Implement custom URL routing using trie and Patricia trees with path matching algorithms for HTTP routing.
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.
Completed All PHP Conferences in 2019
Complete guide to attending all Japanese PHP conferences in 2019: Sendai, Laravel JP, PHPerKaigi, Fukuoka, Hokkaido, Okinawa.
Design It
Design It
Algorithms and Data Structures - Queue
Learn how the Queue (FIFO) data structure works. Covers enqueue and dequeue operations, time complexity compared to stacks, and a Go implementation.
Algorithms and Data Structures - Stack
Learn how the Stack (LIFO) data structure works. Covers push, pop, and peek operations with time complexity analysis, and a complete Go implementation using slices.
Code Reading of Golang's HTTP Server
Dive deep into Go's HTTP server internals: ServeMux routing, Handler interface, middleware patterns, and request handling.
Algorithms and Data Structures - Arrays
Understand arrays as a data structure: O(1) random access, O(n) insertion/deletion, static vs. dynamic memory allocation. Includes a Go array implementation.