Docker: 내 컴퓨터에서는 되는데 왜 서버에서는 안 될까? (완벽 가이드)
컨테이너 기술의 바이블. 리눅스 커널 심층 분석(Namespaces, Cgroups)부터 프로덕션 배포를 위한 보안 하드닝, 트러블슈팅, 그리고 용어 사전까지.

개발과 기술에 대한 이야기를 기록합니다.
컨테이너 기술의 바이블. 리눅스 커널 심층 분석(Namespaces, Cgroups)부터 프로덕션 배포를 위한 보안 하드닝, 트러블슈팅, 그리고 용어 사전까지.

DB 설계의 기초. 데이터를 쪼개고 쪼개서 이상 현상(Anomaly)을 방지하는 과정. 제1, 2, 3 정규형을 쉽게 설명합니다.

문자열 검색에 특화된 트리 자료구조. 접두사 트리(Prefix Tree)라고도 불리는 Trie의 구조와 삽입/검색 과정, 그리고 메모리 효율을 극대화한 Radix Tree까지 다뤄봤습니다.

로딩이 3초 넘으면 사용자의 53%가 이탈합니다. 구글이 중요하게 보는 3가지 지표(LCP, INP, CLS)와 최적화 기법.

시각 장애인, 마우스가 고장 난 사용자, 그리고 미래의 나를 위한 배려. `alt` 태그 하나가 만드는 큰 차이.

클래스 이름 짓기 지치셨나요? HTML 안에 CSS를 직접 쓰는 기괴한 방식이 왜 전 세계 프론트엔드 표준이 되었는지 파헤쳐봤습니다.

요리사 한 명이 멀티태스킹을 하는 것과 요리사 두 명이 일하는 것의 차이. 스레드, 프로세스, 그리고 Python의 GIL 문제까지.

이진 탐색 트리(BST)가 편향되는 것을 막는 마법. 5가지 불변 규칙(5 Rules)부터 회전(Rotation), 그리고 AVL 트리와의 비교까지. 왜 OS 스케줄러는 이 트리를 선택했을까요?

최신 문법(ES6+)을 구형 브라우저(IE)가 알아듣게 번역해주는 통역사. 컴파일러와는 묘하게 다른 트랜스파일러의 세계.

React의 영원한 숙제, 상태 관리. 할아버지 컴포넌트에서 손자 컴포넌트로 데이터를 줄 때 왜 전역 상태(Redux, Zustand)를 써야 할까?

서버 사이드 렌더링(SSR)의 핵심 과정. 메말라 비틀어진 HTML(정적)에 수분(JS)을 공급해서 생동감 넘치는 앱(인터랙션)으로 만드는 마법.

서버에서 완성된 요리를 주기(SSR) vs 재료만 주고 브라우저가 요리하기(CSR). SEO와 초기 로딩 속도의 트레이드오프. Next.js가 둘을 합친 이유.

웹이 앱처럼 부드러워진 비결(SPA)과 옛날 방식(MPA)의 장단점. 그리고 이 둘을 합친 넥스트(Next.js)의 등장.

진짜 집을 부수고 다시 짓는 건 비쌉니다. 설계도(가상돔)에서 미리 그려보고 바뀐 부분만 공사하는 '똑똑한 리모델링'의 기술.

분산 시스템에서 일관성(C), 가용성(A), 분할 내성(P)을 모두 만족하는 것은 물리적으로 불가능합니다. CP(은행) vs AP(SNS) 시스템의 트레이드오프와 최신 PACELC 이론을 다룹니다.

버튼을 눌렀는데 부모 DIV까지 클릭되는 현상. 이벤트는 물방울처럼 위로 올라갑니다(Bubbling). 반대로 내려오는 캡처링(Capturing)도 있죠.

HTML은 그저 글자일 뿐입니다. 브라우저가 이걸 이해하고 조작하려면 '트리 구조의 객체(DOM)'로 바꿔야 합니다.

무료라고 막 갖다 쓰다가 회사가 코드를 강제로 공개해야 할 수도 있습니다. 개발자가 반드시 알아야 할 '법적 지뢰' 피하는 법.

개발자끼리의 무언의 약속. Major, Minor, Patch 숫자에 담긴 의미와 `npm install` 할 때 `^`와 `~`의 차이점 완벽 정리.

백엔드: 'API 다 만들었어요.' 프론트엔드: '어떻게 써요?' 이 지겨운 대화를 끝내주는 Swagger(OpenAPI)의 마법.
