AI 21
AWS 1
Apache 2
Architecture 1
Authentication 1
Blog 3
Blog Development 2
Blog Features 1
Browser 1
Content Creation 1
Database 4
DevDiary 6
DevOps 6
Development 91
Essay 4
Frontend 2
GitHub 1
Gnuboard 1
Internationalization 1
IoT 1
Life 7
Linux 1
MCP 7
PHP 1
Package 1
Project 4
Python 1
Security 1
Side Project 1
System Administration 1
Tips 43
Troubleshooting 2
Tutorial 8
UI/UX 1
Unity 1
Web Server 2
AI 21
- 2026.03.05 I Asked AI to Build an App and It Was Done in a Day - But Store Registration Took 3 Days
- 2026.02.20 My $50 Credit Vanished in 3 Hours - The Real Cost of Claude Code 1M
- 2026.02.20 Escaping Compacting Hell - Claude Code 1M Context Model Review
- 2026.02.10 I Asked AI to Design a 3D Hardware Case - It Took 5 Minutes
- 2026.01.20 I Tried Opencode... Turns Out Claude Code Already Does It All
- 2026.01.15 What Services Should You Build in the AI Era - It All Comes Down to Data
- 2025.07.03 Can One Person Really Develop Entire Projects? 200% AI Utilization with CDK + Lambda + Cursor
- 2025.06.26 Creating Naver/Kakao OIDC for Firebase? Reality Hits Different
- 2025.06.19 Building a GitHub Pages Tech Blog with AI - Complete Series Guide
- 2025.06.17 Building a GitHub Pages Tech Blog with AI (5) - Completing Jekyll Multilingual Blog with MCP
- 2025.06.15 Building a GitHub Pages Tech Blog with AI (4) - Perfect Implementation of Dark/Light Mode with MCP
- 2025.06.13 Building a GitHub Pages Tech Blog with AI (3) - Setting up Giscus Comment System in 5 Minutes with MCP
- 2025.06.11 Building a GitHub Pages Tech Blog with AI (2) - Complete Automation of SEO-Optimized Tech Posting with MCP
- 2025.06.10 Complete RAG Guide: Understanding True Data Integration AI through Manufacturing MES Systems
- 2025.06.08 Building a GitHub Pages Tech Blog with AI (1) - Creating Jekyll Blog Locally with Claude Desktop MCP
- 2025.06.04 Building a Complete Tech Blog with Claude Desktop + MCP: The Reality of AI Pair Programming
- 2025.03.25 How to Get Good Code From AI - It's Not Just About Prompts
- 2025.03.20 Cursor Agent After One Month - Where AI Coding Actually Stands
- 2025.02.15 Running LLMs Locally With Ollama - It Depends on the Use Case
- 2024.05.23 Creating a Gnuboard Q&A Site Using ChatGPT-4o - Idea Journal
- 2024.02.10 Using ChatGPT for Microservice Architecture Design - An Honest Review
Apache 2
Architecture 1
Authentication 1
Blog 3
Blog Development 2
Blog Features 1
Browser 1
Content Creation 1
Database 4
DevDiary 6
- 2026.02.19 AI Can Do Everything Now - So What Should We Build?
- 2026.02.14 Everyone's Talking About OpenClaw, But I Was Already Building the Korean Version
- 2025.06.09 AI Development Reality Check: Lessons from Blog Automation
- 2025.04.10 After 20 Years of Coding, AI Built My Website
- 2021.06.10 Winning a Website Renewal Project Through Competitive Pitch
- 2020.03.16 When Coding Is Fun But Your Hands Won't Move - The Developer Laziness Trap
DevOps 6
- 2022.06.20 AWS Lightsail Revisited - It's a Completely Different Service Now
- 2021.03.15 API Gateway Stage-Specific Lambda Functions - A Tale of Debugging Permissions
- 2020.12.15 AWS Certified Developer Associate - Exam Review and How I Passed
- 2020.09.10 An On-Premise Developer Falls Hard for AWS
- 2020.04.20 From On-Premise to Cloud - Confessions of a Developer Who Keeps Postponing Migration
- 2020.03.15 My Honest Review After Using Docker for Every Project for 2 Years
Development 91
- 2026.03.07 Next.js 15 Changed the Default Fetch Cache - How to Handle no-store
- 2026.03.06 Serve Static Sites with Nginx + Docker
- 2026.03.05 I Asked AI to Build an App and It Was Done in a Day - But Store Registration Took 3 Days
- 2026.03.04 Cookie Authentication with localStorage Fallback
- 2026.03.03 Set Up a Monorepo with pnpm Workspace
- 2026.03.02 Next.js API Proxy with rewrites for Microservices
- 2026.03.01 How to Properly Type React useRef with TypeScript
- 2026.02.28 Estimate LLM Token Count - Korean vs English Differences
- 2026.02.27 Type-Safe API Responses with TypeScript Generics
- 2026.02.26 Zod: Runtime Type Validation for TypeScript
- 2026.02.25 Build an FPS Monitor with requestAnimationFrame
- 2026.02.24 TypeScript satisfies Operator: Type Safety Without Losing Inference
- 2026.02.23 React useEffect Infinite Loop: 3 Causes and How to Fix Them
- 2026.02.21 Restructuring Jekyll Multilingual Blog URLs and Overhauling Pagination
- 2026.02.20 My $50 Credit Vanished in 3 Hours - The Real Cost of Claude Code 1M
- 2026.02.20 Escaping Compacting Hell - Claude Code 1M Context Model Review
- 2026.02.19 AI Can Do Everything Now - So What Should We Build?
- 2026.02.18 CORS Error Complete Guide - From Cause to Next.js/Express Setup
- 2026.02.17 Auto-Deploy Docker Images to ECR with GitHub Actions
- 2026.02.16 Python FastAPI + SQLAlchemy Async Database Connection Pattern
- 2026.02.15 AWS Lambda Deploy Script - Auto-Find CDK Function Names
- 2026.02.14 Everyone's Talking About OpenClaw, But I Was Already Building the Korean Version
- 2026.02.10 I Asked AI to Design a 3D Hardware Case - It Took 5 Minutes
- 2026.02.08 S3 Presigned URLs - Build One-Time Download Links
- 2026.02.01 DynamoDB ConditionExpression for Concurrency Control
- 2026.01.25 AWS CDK - Build a SES Email Lambda in Minutes
- 2026.01.20 I Tried Opencode... Turns Out Claude Code Already Does It All
- 2026.01.15 What Services Should You Build in the AI Era - It All Comes Down to Data
- 2026.01.10 Vite Monorepo - Allow Parent Directory Access with server.fs.allow
- 2026.01.05 Using __dirname in ES Modules - import.meta.url Approach
- 2025.12.20 Redis Key Naming Convention - Hierarchical Key Design
- 2025.12.05 Electron contextIsolation + Preload Security Pattern
- 2025.11.20 Node.js --expose-gc for Memory Leak Debugging
- 2025.11.05 S3 Cache Busting - Always Fetch the Latest File
- 2025.10.20 Prisma Index Strategy - Composite Indexes and Sort Direction
- 2025.10.05 Next.js Health Check API - Essential Production Monitoring Endpoint
- 2025.09.20 Node.js TCP Port Scanner - Using net.Socket with Timeout
- 2025.09.05 Node.js Get Local IP Address - Cross-Platform (Win/Mac/Linux)
- 2025.08.25 Next.js HttpOnly Cookie JWT Auth - Protect Tokens from XSS
- 2025.08.05 Docker Compose Redis Healthcheck - Guarantee Startup Order
- 2025.07.20 Building a Kiosk with Raspberry Pi - More Pitfalls Than Expected
- 2025.07.10 Auto-Inject Bearer Token with a fetch API Auth Helper
- 2025.07.03 Can One Person Really Develop Entire Projects? 200% AI Utilization with CDK + Lambda + Cursor
- 2025.06.26 Creating Naver/Kakao OIDC for Firebase? Reality Hits Different
- 2025.06.25 JavaScript Intl.NumberFormat - Format Numbers Without Libraries
- 2025.06.21 Unity + Firebase Authentication Journey: From Anonymous to Account Linking
- 2025.06.10 Complete RAG Guide: Understanding True Data Integration AI through Manufacturing MES Systems
- 2025.06.09 AI Development Reality Check: Lessons from Blog Automation
- 2025.06.07 Automating Blog Image Generation with Vertex AI Imagen: From Python Package to MCP Server
- 2025.06.06 vertex-ai-imagen: A Simple Python Package for Google Vertex AI Imagen
- 2025.06.05 Easy MCP Installation Using Existing MCPs - Practical Guide for Installing Playwright MCP
- 2025.06.04 Building a Complete Tech Blog with Claude Desktop + MCP: The Reality of AI Pair Programming
- 2025.05.15 PM2 Cluster Mode for Next.js Production Performance
- 2025.05.05 Python Timestamp Guide - Current Time, Conversion, and Practical Usage
- 2025.04.20 Node.js Redis Singleton Connection + Auto-Reconnect Strategy
- 2025.04.05 Docker Compose YAML Anchors (&) - Eliminate Repeated Config
- 2025.03.25 How to Get Good Code From AI - It's Not Just About Prompts
- 2025.03.20 Cursor Agent After One Month - Where AI Coding Actually Stands
- 2025.03.10 Docker Multi-Stage Build for Next.js - Optimize Image Size
- 2025.02.15 Running LLMs Locally With Ollama - It Depends on the Use Case
- 2025.02.10 API Endpoint Security Without Authentication - How Far Should You Go?
- 2025.01.20 Next.js Prisma Singleton Pattern - Fix Hot Reload Connection Leaks
- 2025.01.10 JavaScript UTC to KST Conversion - 3 Utility Functions for Production
- 2024.08.20 Vector Databases - Do You Actually Need One?
- 2024.05.15 Giving SvelteKit a Try - Am I Framework-Hopping Again?
- 2024.05.10 Linux SSH Key Generation - Complete ssh-keygen Guide
- 2024.04.10 Building an Automated Naver Blog Posting System with AWS Lambda + S3 + CloudWatch + SNS
- 2024.03.10 Hardware-Based Key Management and Access Control System Design Using Thingplug
- 2024.02.10 Using ChatGPT for Microservice Architecture Design - An Honest Review
- 2024.02.10 Linux System Resource Monitoring with htop
- 2024.02.01 Building Remote Desktop with AWS EC2 - Reality and Future of Cloud Work Environment
- 2024.01.10 Adding Specific Files from Ignored Directories in .gitignore
- 2023.12.10 Setting up SSH Push with Bitbucket Access Key
- 2023.11.10 Installing LEMP Stack on Ubuntu 18.04LTS: Complete Guide to Nginx, MariaDB, PHP 7.1
- 2023.10.10 Complete Guide to Configuring MariaDB External Access
- 2023.09.10 Setting up nginx Bandwidth Limiting - Complete limit_rate Guide
- 2023.08.10 Complete Guide to GitKraken GitHub Organization Repository Integration
- 2023.07.30 Creating Photoshop Effects with CSS Blend Modes - Complete Guide to background-blend-mode and mix-blend-mode
- 2023.07.20 Complete Guide to Gnuboard Hook Usage and Event Types
- 2023.07.10 JavaScript Number Padding with Zeros - Complete Guide to padStart() and Custom Functions
- 2023.06.20 Complete Guide to MySQL/MariaDB Database Backup and Restore via Console
- 2023.04.05 Adding Values to HTTP Headers in JavaScript jQuery AJAX Communication
- 2023.03.20 ThemePress Addon Server Architecture - Microservice-Based Scalable Web Platform Design
- 2022.06.20 AWS Lightsail Revisited - It's a Completely Different Service Now
- 2021.09.20 A jQuery Developer Picks Up Vue.js
- 2021.03.15 API Gateway Stage-Specific Lambda Functions - A Tale of Debugging Permissions
- 2020.12.15 AWS Certified Developer Associate - Exam Review and How I Passed
- 2020.09.10 An On-Premise Developer Falls Hard for AWS
- 2020.04.21 MySQL uuid() in Practice - Stop Exposing Auto Increment PKs in URLs
- 2020.04.20 From On-Premise to Cloud - Confessions of a Developer Who Keeps Postponing Migration
- 2020.03.15 My Honest Review After Using Docker for Every Project for 2 Years
Essay 4
Frontend 2
- 2024.05.15 Giving SvelteKit a Try - Am I Framework-Hopping Again?
- 2021.09.20 A jQuery Developer Picks Up Vue.js
GitHub 1
Gnuboard 1
Internationalization 1
IoT 1
Life 7
- 2026.02.05 Why I Regret Paying for Annual AI Subscriptions
- 2025.04.10 After 20 Years of Coding, AI Built My Website
- 2024.01.15 The Blog Nomad Finally Settles Down
- 2022.03.15 Why Developer Communities Died - Or Did They Just Change Shape?
- 2021.06.10 Winning a Website Renewal Project Through Competitive Pitch
- 2020.05.20 How My Parents' Generation Thinks About Retirement - A Developer Son's Worry
- 2020.03.16 When Coding Is Fun But Your Hands Won't Move - The Developer Laziness Trap
Linux 1
MCP 7
- 2025.06.19 Building a GitHub Pages Tech Blog with AI - Complete Series Guide
- 2025.06.17 Building a GitHub Pages Tech Blog with AI (5) - Completing Jekyll Multilingual Blog with MCP
- 2025.06.15 Building a GitHub Pages Tech Blog with AI (4) - Perfect Implementation of Dark/Light Mode with MCP
- 2025.06.13 Building a GitHub Pages Tech Blog with AI (3) - Setting up Giscus Comment System in 5 Minutes with MCP
- 2025.06.11 Building a GitHub Pages Tech Blog with AI (2) - Complete Automation of SEO-Optimized Tech Posting with MCP
- 2025.06.08 Building a GitHub Pages Tech Blog with AI (1) - Creating Jekyll Blog Locally with Claude Desktop MCP
- 2025.06.04 Building a Complete Tech Blog with Claude Desktop + MCP: The Reality of AI Pair Programming
PHP 1
Package 1
Project 4
- 2025.06.07 Automating Blog Image Generation with Vertex AI Imagen: From Python Package to MCP Server
- 2024.04.10 Building an Automated Naver Blog Posting System with AWS Lambda + S3 + CloudWatch + SNS
- 2024.03.10 Hardware-Based Key Management and Access Control System Design Using Thingplug
- 2024.02.01 Building Remote Desktop with AWS EC2 - Reality and Future of Cloud Work Environment
Python 1
Security 1
Side Project 1
System Administration 1
Tips 43
- 2026.03.07 Next.js 15 Changed the Default Fetch Cache - How to Handle no-store
- 2026.03.06 Serve Static Sites with Nginx + Docker
- 2026.03.04 Cookie Authentication with localStorage Fallback
- 2026.03.03 Set Up a Monorepo with pnpm Workspace
- 2026.03.02 Next.js API Proxy with rewrites for Microservices
- 2026.03.01 How to Properly Type React useRef with TypeScript
- 2026.02.28 Estimate LLM Token Count - Korean vs English Differences
- 2026.02.27 Type-Safe API Responses with TypeScript Generics
- 2026.02.26 Zod: Runtime Type Validation for TypeScript
- 2026.02.25 Build an FPS Monitor with requestAnimationFrame
- 2026.02.24 TypeScript satisfies Operator: Type Safety Without Losing Inference
- 2026.02.23 React useEffect Infinite Loop: 3 Causes and How to Fix Them
- 2026.02.18 CORS Error Complete Guide - From Cause to Next.js/Express Setup
- 2026.02.17 Auto-Deploy Docker Images to ECR with GitHub Actions
- 2026.02.16 Python FastAPI + SQLAlchemy Async Database Connection Pattern
- 2026.02.15 AWS Lambda Deploy Script - Auto-Find CDK Function Names
- 2026.02.08 S3 Presigned URLs - Build One-Time Download Links
- 2026.02.01 DynamoDB ConditionExpression for Concurrency Control
- 2026.01.25 AWS CDK - Build a SES Email Lambda in Minutes
- 2026.01.10 Vite Monorepo - Allow Parent Directory Access with server.fs.allow
- 2026.01.05 Using __dirname in ES Modules - import.meta.url Approach
- 2025.12.20 Redis Key Naming Convention - Hierarchical Key Design
- 2025.12.05 Electron contextIsolation + Preload Security Pattern
- 2025.11.20 Node.js --expose-gc for Memory Leak Debugging
- 2025.11.05 S3 Cache Busting - Always Fetch the Latest File
- 2025.10.20 Prisma Index Strategy - Composite Indexes and Sort Direction
- 2025.10.05 Next.js Health Check API - Essential Production Monitoring Endpoint
- 2025.09.20 Node.js TCP Port Scanner - Using net.Socket with Timeout
- 2025.09.05 Node.js Get Local IP Address - Cross-Platform (Win/Mac/Linux)
- 2025.08.25 Next.js HttpOnly Cookie JWT Auth - Protect Tokens from XSS
- 2025.08.05 Docker Compose Redis Healthcheck - Guarantee Startup Order
- 2025.07.10 Auto-Inject Bearer Token with a fetch API Auth Helper
- 2025.06.25 JavaScript Intl.NumberFormat - Format Numbers Without Libraries
- 2025.06.05 Easy MCP Installation Using Existing MCPs - Practical Guide for Installing Playwright MCP
- 2025.05.15 PM2 Cluster Mode for Next.js Production Performance
- 2025.04.20 Node.js Redis Singleton Connection + Auto-Reconnect Strategy
- 2025.04.05 Docker Compose YAML Anchors (&) - Eliminate Repeated Config
- 2025.03.10 Docker Multi-Stage Build for Next.js - Optimize Image Size
- 2025.01.20 Next.js Prisma Singleton Pattern - Fix Hot Reload Connection Leaks
- 2025.01.10 JavaScript UTC to KST Conversion - 3 Utility Functions for Production
- 2024.01.10 Adding Specific Files from Ignored Directories in .gitignore
- 2023.08.10 Complete Guide to GitKraken GitHub Organization Repository Integration
- 2023.07.10 JavaScript Number Padding with Zeros - Complete Guide to padStart() and Custom Functions
Troubleshooting 2
Tutorial 8
- 2024.05.10 Linux SSH Key Generation - Complete ssh-keygen Guide
- 2024.02.10 Linux System Resource Monitoring with htop
- 2023.12.10 Setting up SSH Push with Bitbucket Access Key
- 2023.11.10 Installing LEMP Stack on Ubuntu 18.04LTS: Complete Guide to Nginx, MariaDB, PHP 7.1
- 2023.09.10 Setting up nginx Bandwidth Limiting - Complete limit_rate Guide
- 2023.07.30 Creating Photoshop Effects with CSS Blend Modes - Complete Guide to background-blend-mode and mix-blend-mode
- 2023.07.20 Complete Guide to Gnuboard Hook Usage and Event Types
- 2023.04.05 Adding Values to HTTP Headers in JavaScript jQuery AJAX Communication