ARCHIVE

아카이브

2025

144 posts
09.02주소창 한 줄의 여정 - 밑단을 잇는다09.01내 컴퓨터는 왜 직접 안 닿나 - NAT08.31그냥 던진다 - UDP08.30안 끊기고 순서대로 오게 - TCP08.29한 기계 안에서 어느 프로세스로 - 포트08.28이름을 주소로 바꾼다 - DNS08.27패킷은 어느 기계로 가나 - IP 주소08.26HTTP 밑에 무엇이 있나 - 네트워크 계층08.25스레드가 왜 멈춰 서 있나 - 블로킹 I/O08.24파일·소켓·연결이 다 같은 번호다 - 파일 디스크립터08.23프로그램이 OS에 일을 시키는 법 - 시스템 콜08.22CPU 하나로 어떻게 동시에 도나 - 컨텍스트 스위치08.21스레드는 프로세스와 뭐가 다른가 - 스레드08.20지역변수와 new는 어디에 사나 - 스택과 힙08.19왜 내 메모리를 남이 못 건드리나 - 가상 메모리08.18프로그램이 실행되면 무엇이 되나 - 프로세스08.17실무의 이벤트 - 언제 꺼내고 무엇을 조심하나08.16상태 대신 이벤트를 진실로 - 이벤트 소싱08.15쓰는 모델과 읽는 모델을 가른다 - CQRS08.14흐름을 한곳에서 - 사가: 오케스트레이션08.13여럿에 걸친 일을 잇는다 - 사가: 코레오그래피08.12저장과 발행을 한 묶음으로 - 아웃박스08.11같은 메시지가 두 번 와도 - 멱등 소비자08.10이으면 생기는 문제들 - 이벤트 패턴 지도08.09실무의 테스트 - 믿을 수 있는 테스트를 유지한다08.08TDD - 실패하는 테스트부터 쓴다08.07통합과 E2E - 진짜를 붙여 본다08.06무엇을 테스트하고 무엇은 안 하나08.05테스트 더블 - 진짜 대신 가짜를 끼운다08.04테스트 피라미드 - 무엇을 얼마나 짜나08.03왜 테스트하나 - 확신이 변경을 두렵지 않게 한다08.02세 기둥을 하나로 - 실무의 관측가능성08.01헬스체크와 알림 - 터지기 전에, 터졌을 때07.31분산 트레이싱 - 요청 하나를 끝까지 따라간다07.30메트릭 - 지금 시스템이 어떤가07.29로그 - 무슨 일이 있었나07.28관측가능성이 푸는 문제 - 터졌는데 어디가 문제인지 모른다07.27무중단 배포 - 안 끄고 갈아끼운다07.27서킷 브레이커와 백프레셔 - 번지는 것을 끊는다07.26비밀번호는 암호화하지 않는다 - 되읽을 게 아니라 맞춰볼 것이다07.25디지털 서명과 인증서 - 이 공개키가 진짜 네 것인가07.24해시와 HMAC - 바뀌었는지를 안다07.23공개키 암호와 하이브리드 - 열쇠를 둘로 나눈다07.22대칭키 암호 - 열쇠 하나로 잠그고 연다07.21암호화가 푸는 문제 - 무엇을 감추고 무엇은 못 감추나07.20CI/CD - 사람이 안 하게 만든다07.19리버스 프록시와 Nginx07.17쿠버네티스 - 누가 돌보나07.16Docker - 이미지를 어떻게 만드나07.15컨테이너 - 프로세스를 싸 들고 다닌다07.14내 컴퓨터에선 되는데07.12나누면 정합성을 잃는다07.11Pub/Sub과 이벤트 기반07.09메시지 큐 - 기다리지 않게 만든다07.08서비스끼리 어떻게 부르나07.06나누면 무엇이 달라지나07.05모놀리스가 먼저다07.04Rate Limiting - 넘치면 막는다07.01CDN - 사용자 가까이 둔다06.30로드 밸런서 - 앞에서 나눠준다06.28수직이냐 수평이냐06.25캐시가 프로세스 밖으로 나가면06.24캐시 - 같은 답을 두 번 만들지 않는다06.22무엇이 먼저 무너지나06.18CSRF - 브라우저가 쿠키를 알아서 보낸다06.17XSS - 남의 스크립트가 내 페이지에서 돈다06.15CORS - 막은 게 아니라 안 알려주는 것06.12같은 출처만 믿는다06.10권한을 어떻게 표현하나06.09OAuth 2.0 - 열쇠를 주지 않고 권한만 넘긴다06.07세션이냐 토큰이냐06.04JWT - 서버가 기억하지 않는다06.03쿠키와 세션 - 서버가 기억한다06.01인증과 인가는 다른 질문이다05.30버저닝과 하위 호환05.27GraphQL - 필요한 것만 받는다05.26JSON - 왜 이게 표준이 됐나05.24상태 코드와 에러 응답05.21Endpoint 설계05.20REST - 자원으로 말한다05.18API는 약속이다05.16WebSocket - 요청 없이 받는다05.15HTTPS - 무엇을 감추고 무엇을 못 감추나05.13캐시 - 안 보내는 게 가장 빠르다05.10연결을 매번 새로 맺지 않는다05.09상태를 안 갖는다는 것05.07요청과 응답 - 한 번의 왕복에 무엇이 오가나05.05Connection Pooling05.02Thread Pool05.01Concurrency04.29Pagination04.27Idempotency04.24Persistence Context04.23ORM04.21Middleware04.19Active Record04.17Aggregate04.14Entity와 Value Object04.13로직을 어디에 둘 것인가04.11Unit of Work04.08DTO04.07Service Layer04.05Repository Pattern04.03Interpreter03.31Visitor03.30Memento03.27Mediator03.26Iterator03.25Chain of Responsibility03.24State03.22Template Method03.19Command03.18Observer03.17Strategy03.15Flyweight03.14Bridge03.11Composite03.10Facade03.09Proxy03.07Decorator03.06Adapter03.05Prototype03.03Builder02.28Abstract Factory02.25Factory Method02.23Singleton02.20Dependency Inversion Principle02.19Interface Segregation Principle02.17Liskov Substitution Principle02.16Open/Closed Principle02.15Single Responsibility Principle01.28B-tree와 LSM-tree - 읽기와 쓰기 중 무엇을 팔 것인가01.26복제 - 방금 쓴 걸 왜 못 읽는가01.23파티셔닝과 샤딩 - 나누면 무엇을 잃는가01.21키 설계 - 무엇으로 행을 가리킬 것인가01.19정규화 - 한 테이블은 한 가지 사실만 말한다01.16실행 계획 - 세 가지만 보면 된다01.15조인 알고리즘 - DB는 세 가지 방법 중 하나를 고른다01.13인덱스 - 왜 빠르고, 왜 만들어도 안 타는가01.10블록 - DB는 바이트를 모른다01.09MVCC - 잠그는 대신 버전을 쌓는다01.07락과 데드락 - 잠가서 지키는 방식의 대가01.04격리 수준 - 같이 읽고 쓰면 무엇이 깨지는가01.02트랜잭션과 ACID - 네 글자의 무게가 다르다