이 블로그는
문어발 개발자 오은석의 DevLog는 백엔드 개발자로 일하며 마주친 문제와 그 해결 과정, 그리고 시스템의 내부 동작 원리를 깊이 파고든 기록을 남기는 공간입니다.
단순히 “이렇게 하면 된다”는 사용법을 넘어서, 왜 그렇게 동작하는가를 이해하는 데 초점을 둡니다. 데이터베이스가 메모리를 어떻게 관리하는지, JVM이 코드를 어떻게 실행하는지, 트랜잭션이 어떤 과정을 거쳐 롤백되는지처럼 겉으로는 잘 드러나지 않는 내부 메커니즘을 직접 확인하고 정리합니다.
다루는 주제
- Database — PostgreSQL·MySQL(InnoDB)·Oracle의 내부 구조. Shared Buffer와 Clock Sweep 버퍼 교체 알고리즘, 트랜잭션 ID를 통한 롤백 과정, 라인 포인터와 페이지 구조, 인덱스 페이지 분할 등 스토리지 엔진 레벨의 동작을 다룹니다.
- Java — JVM 메타스페이스,
hashCode,try-with-resources, 상속보다 컴포지션 같은 언어와 런타임의 핵심 개념을 정리합니다. - Spring / Spring Batch — IoC/DI, AOP, 프록시 팩토리 빈, Spring Security 예외 처리, 배치 처리 아키텍처 등 실무에서 자주 쓰는 프레임워크 내부 동작을 다룹니다.
- Design Pattern — 싱글턴, 어댑터, 프록시, 데코레이터, 옵서버, 퍼사드, 전략 패턴 등 객체지향 설계 패턴을 자바 예제와 함께 설명합니다.
- Kafka · Kubernetes — 분산 메시지 큐와 컨테이너 오케스트레이션의 개념 및 실전 연동 경험을 기록합니다.
글을 쓰는 방식
- 개념을 이해한 뒤 직접 테스트하거나 재현한 결과를 바탕으로 작성합니다.
- 외부 자료를 참고한 경우 본문에 출처를 명시합니다.
- 실무에서 겪은 버그와 트러블슈팅 회고를 통해, 같은 문제를 마주할 다른 개발자에게 도움이 되는 것을 목표로 합니다.
만든 사람
Spring/Java 기반 백엔드에서 시작해 Node.js(Express·NestJS) 생태계까지 경험을 넓혀온 백엔드 개발자입니다. 견고한 시스템을 만들기 위해 “동작 원리를 아는 개발”을 지향합니다.
- GitHub: github.com/osk2090
- 문의: 블로그 및 콘텐츠 관련 문의는 GitHub 프로필을 통해 연락 주시면 됩니다.
이 블로그의 모든 글은 직접 학습하고 경험한 내용을 바탕으로 작성한 원본 콘텐츠입니다.