@023
focus and hustle

배포했더니 메모리 오버슈팅이 발생했던 건에 대하여

January 29, 2026

운영 서버(t3.small)에 Docker 기반 무중단 배포를 시도하는 과정에서, 신규 컨테이너와 기존 컨테이너가 공존하는 시점에 메모리와 CPU 사용량이 임계치를 초과(Overshooting)하는 현상 발생하고 있었다. 배포 진행 중 SSH 접속 불가, 간헐적 서비스 타임아웃 발생, 심할 경우 OOM Killer에 의한 프로세스 강제 종료 위험이 있었다…


Spring에서 Event 처리하기

January 21, 2026

스프링 이벤트가 왜 필요할까? 회원가입하기 메서드를 예시로 들어보자. 과연 이걸로 끝이 날까? 이메일만 있을까? 카카오톡으로도 보낼 수 있을 것이고, 회원가입 시 포인트를 지급하는 정책이 있을 수도 있을 것이다. 이런 일이 비일비재할 것이다. 여기서 우리가 집중할 것은 회원가입 처리를 하는 것이다. 하지만 예시 코드처럼 부가적인 기능이나 핵심 로직와 거리…


좋은 API 설계하기

December 23, 2025

팀 프로젝트를 하다가 다음과 같은 요청을 받았다. 여러 번 요청을 보내면 네트워크 리소스 비용이 더 많이 소모되니까. 그냥 한 번에 보내주세요. 이 요청을 받으면서 다음과 같은 생각이 들었다. “그래도 되나?” “괜찮아 보이기도 하고..” “뭔가 안 괜찮을 거 같은데 명확한 이유를 모르겠네..” 이러한 생각이 드는 이유는 좋은 API에 대한 기준이 스스로…


이벤트 스토밍

November 27, 2025

이벤트 스토밍(Event Storming)이라는 단어는 익숙치 않을 것이다. 그럼 브레인 스토밍(Brain Storming)은 어떠한가? 상대적으로 더 익숙할 것이다. 브레인 스토밍은 “머릿속 아이디어를 스토밍으로 쏟아낸다.”라고 표현할 수 있다. 그럼 이벤트 스토밍은 어떻게 표현할 수 있을까? “발생 가능한 이벤트를 스토밍으로 자유롭게 도출한다.” 라고…


Linux 아는 척 해보기

November 10, 2025

리눅스 리눅스는 리눅스 커널을 기반의 유닉스 계열의 오픈 소스 운영체제이다. 오픈소스이다보니 자신들의 목적에 맞게 자유롭게 커스텀마이징된 다양한 버전들이 있다. Ubuntu, Debian, CentOS, Fedora 등이 이에 속하고 이들을 리눅스 배포판이라고 부른다. 그렇기에 리눅스 배포판들은 각각의 장단점을 가진다. 리눅스를 잘 이해한하게 된다면 상황…


함께 자라기

November 01, 2025

자라기 달인이 되기 위한 방법으로 1만시간의 법칙이 흔히 거론된다. 여기서, 1만 시간의 법칙이란 “특정 분야에서 1만 시간 이상 일을 하면 그 분야에 달인이 된다”라는 말이다. 그럼 우리가 매일하는 양치는 1만 시간이 넘을텐데 양치의 달인이라고 할 수 있는가? 아니다. 시간만 투자한다고 해서 그 분야의 전문가라고 할 수는 없을 것이다. 달인이 되기 위해…


FIRST 원칙

October 20, 2025

FIRST 원칙은 "Robert C. Martin in his book "Clean Code: A Handbook of Agile Software Craftsmanship"에서 소개되었다. 유명한 책이라 소지하고 있었고, 가끔 궁금한 부분을 펼쳐서 읽곤 했는데.. 이게 있었다는게 기억이 나지 않는 걸 보니 읽지 않았던 모양이다. 그래서 겸사겸사 꺼내서 읽…


Flyway를 도입해보자!

October 15, 2025

기존에는 ddl-auto=create/update 옵션을 사용해 스키마를 관리하고 있었지만, 이 방식은 환경마다 스키마 불일치가 발생할 수 있고, DB 변경 이력이 추적되지 않습니다. 이 부분을 해결하고자 Flyway 도입을 하고자 했습니다. Flyway를 사용하면 애플리케이션 실행 시 자동으로 데이터베이스와 스키마 이력을 관리하여 모든 환경에서 동일한 …


최범균님의 테스트 세미나를 보고

October 14, 2025

개발을 (거의) 완료했다는 것의 의미 완료의 의미를 생각해보면 (거의) 사용 가능한 상태까지 만든 것을 완료했다라고 말할 수 있을 것 같다. 개발을 배포한 상태라던가, QA 전 상태라던가, 운영 배포 전 상태라던가 이런식 개발을 완료했다라는 것은 실제로 요구한 기능을 거의 사용 가능한 상태로 만들었다고 정의할 수 있을 것이다 완료에 필요한 개발활동은 그럼…


IP 주소 체계

October 03, 2025

네트워크 주소와 호스트 주소 하나의 IP 주소는 크게 네트워크 주소와 호스트 주소로 나뉩니다. 아이피는 32비트로 구성되어있습니고, 아래 그림은 네트워크 주소가 16비트, 호스트 주소가 16비트인 IP 주소의 예시입니다. 네트워크 주소 : 호스트가 속한 특정 네트워크를 식별하는 역할 호스트 주소 : 네트워크 내에서 특정 호스트를 식별하는 역할 만약 네트…