Blog

Articles, guides, and notes on software engineering.

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

Recent Posts

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
Completed All PHP Conferences in 2019
Poem 2019-12-03

Completed All PHP Conferences in 2019

Complete guide to attending all Japanese PHP conferences in 2019: Sendai, Laravel JP, PHPerKaigi, Fukuoka, Hokkaido, Okinawa.

#PHP#PHP Conference
Design It
Architecture 2019-11-25

Design It

Design It

#Architect#Book Review
Algorithms and Data Structures - Queue
Algorithms and Data Structures 2019-11-17

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.

#Queue
Algorithms and Data Structures - Stack
Algorithms and Data Structures 2019-11-17

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.

#Stack
Code Reading of Golang's HTTP Server
Application 2019-11-03

Code Reading of Golang's HTTP Server

Dive deep into Go's HTTP server internals: ServeMux routing, Handler interface, middleware patterns, and request handling.

#Golang#Code Reading#Router
Algorithms and Data Structures - Arrays
Algorithms and Data Structures 2019-10-31

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.

#Arrays