profile
기획과 설계 그리고 구현까지 하는 개발자가 되고 싶습니다

OMX와 OMC 요약 정리

AI 코딩 도구는 이제 단순히 “코드를 생성해주는 도구”를 넘어가고 있다.예전에는 개발자가 요청을 입력하면 AI가 코드 조각을 만들어주는 수준이었다면, 최근에는 요구사항을 정리하고, 작업을 계획하고, 여러 역할로 나누어 실행하고, 결과를 검증하는 방식으로 발전하고 있다

어제
·
0개의 댓글
·

별 헤는 밤을 운영하며 배운 것 — 결국 Simple is Best

사이드 프로젝트로 별 헤는 밤이라는 커뮤니티 사이트를 배포하고 운영하면서, 기능을 만들고 고치고 다시 걷어내는 과정을 꽤 오래 겪었다.그중에서도 가장 기억에 남는 건 날씨 캐싱 설계와 회원 탈퇴 처리였다.지금 돌아보면, 정말 많은 시간을 쏟았는데 결과적으로는“굳이 이렇

2026년 1월 3일
·
0개의 댓글
·

별 헤는 밤 웹 서비스 회고록

'별 헤는 밤'이라는 웹 서비스를 만들기로 결심한 이유는 세 가지였다.완성의 경험이 필요했다정규 학습 외에 내가 혼자 처음부터 끝까지 완성한 프로젝트가 없었다. 실전 경험의 부재자바와 스프링을 공부만 하고 직접 개발하며 상황을 겪어보지 않으니 모든 것이 막연하게만 느껴

2025년 10월 22일
·
0개의 댓글
·

JPA N+1 문제 정리 & 해결 방법

JPA에서 연관 관계가 LAZY 로딩일 때,1번의 메인 쿼리 실행 후, 연관된 엔티티를 N번 추가 조회하는 현상Post와 User는 @ManyToOne(fetch = LAZY) 관계게시글이 10개라면:Post 조회 쿼리: 1번각 User 조회 쿼리: 10번 → 총 1

2025년 10월 22일
·
0개의 댓글
·

🧠 Oracle CDB와 PDB 차이 쉽게 이해하기

Oracle 12c부터 DB를 CDB(큰 집)과 PDB(방)으로 나누어 관리해요.여러 개의 데이터베이스를 하나의 DB 시스템 안에서 동임적으로 사용하고 싶을 때 필요해요.CDB = 오라클 전체 시스템 (건물)PDB = 서비스에 쓰이는 DB 하나하나 (방)\`C개발자는

2025년 10월 16일
·
0개의 댓글
·

🌌 별 헤는 밤: S3 아키텍처 개선 회고록

별 헤는 밤 프로젝트에서 S3 직접 접근 방식에서 CloudFront CDN 기반 아키텍처로 전환하고, Presigned URL 수명을 5분으로 최적화한 과정을 기록합니다.직접 S3 접근: CDN 없이 전 세계 사용자가 미국 동부 리전에 직접 접근캐싱 부재

2025년 9월 19일
·
0개의 댓글
·

🌙 별 헤는 밤: ERR_TOO_MANY_REDIRECTS에서 JWT 암호화 문제까지

평소와 같이 커피 한 잔과 함께 모니터링 대시보드를 확인하던 중, 별 헤는 밤 서비스에 접속이 안 되는 것을 발견했다. 브라우저에는 무정하게도 ERR_TOO_MANY_REDIRECTS 오류만 반복되고 있었다."어제까지 잘 되던 사이트가 갑자기 왜...?

2025년 9월 17일
·
0개의 댓글
·

운영체제(OS) 개념, 화장실로 이해해보기 💡

운영체제 개념이 어렵게 느껴지는 분들을 위해, 복잡한 이론 대신 우리에게 익숙한 '화장실'을 비유로 들어 쉽게 이해해보자프로세스 (Process): 화장실을 이용하려는 사람임계영역 (Critical Section): 한 번에 한 사람만 들어갈 수 있는 변기칸자원 (Re

2025년 8월 27일
·
0개의 댓글
·

🔒 Redisson 분산락 도입 해보기

"분산락이 필요한 이유가 뭔가요? Redis와 Redisson의 차이점은?" Redis Template: 단순한 캐싱과 세션 관리에 사용동시성 문제: 포인트 지급, 출석체크 등에서 Race Condition 발생 가능기술면접 대비: 분산 시스템에서의 동시성 제어에 대

2025년 8월 4일
·
0개의 댓글
·

📚 Spring DI 정리 – 의존성 주입, Autowired, RequiredArgsConstructor, Mock 이해

내가 직접 객체를 생성하지 않고, Spring이 필요한 객체를 대신 주입해주는 개념→ 객체 간 결합도를 낮추고 테스트 가능성을 높임@Autowired = 쟁반: 먼저 쟁반 놓고 나중에 이것저것 올림 (중간에 이상한 거 섞일 수 있음)생성자 주입 = 쿠키틀: 처음부터 필

2025년 7월 29일
·
0개의 댓글
·
post-thumbnail

📘 Partitioning & Sharding 정리

Partitioning은 하나의 데이터베이스 내에서 테이블 데이터를 여러 파티션(partition)으로 분할하는 기법입니다.수평 파티셔닝 (Horizontal Partitioning) 행(Row) 기준으로 데이터 분할 → 예: 사용자 ID 1~10000 / 1000

2025년 7월 29일
·
0개의 댓글
·

☕ CORS를 스타벅스 비유로 쉽게 이해해보자

웹 개발하다 보면 누구나 한 번쯤은 마주치는 CORS 에러.처음 보면 굉장히 당황스럽고, “왜 요청은 성공했는데 브라우저는 응답을 못 받지?”라는 혼란이 생기죠.오늘은 이 CORS(Cross-Origin Resource Sharing) 개념을스타벅스 비유로 쉽고 재밌

2025년 7월 26일
·
0개의 댓글
·
post-thumbnail

🎉 SpringCamp 2025 후기 – 실무 아키텍처와 철학이 만나는 개발자의 축제

지난주 토요일, 강남 삼성역 인근에서 열린 SpringCamp 2025에 다녀왔습니다.사실 처음엔 “개발자 행사야 다 거기서 거기지”라는 마음도 조금 있었는데, 결론부터 말하자면 기술, 조직, 사고방식까지 통으로 자극받고 돌아온 값진 경험이었습니다.이번 후기에선 단순한

2025년 7월 22일
·
0개의 댓글
·

🔐 AuthenticationProvider 커스텀 구현 정리

Spring Security에서 실제 인증 로직을 담당하는 핵심 컴포넌트사용자의 ID/PW 또는 JWT 토큰 등으로부터 인증을 수행하고인증된 사용자 정보(Authentication)를 반환함다양한 인증 방식을 Provider로 분리할 수 있음 (예: Form Login

2025년 6월 19일
·
0개의 댓글
·

🔐 Spring Security 인증 필터 흐름 정리

스프링 시큐리티는 필터 기반으로 작동하며, 인증/인가 과정을 체계적으로 분리하여 처리함.FilterChain → AuthenticationFilter → AuthenticationManager → Provider 흐름으로 구성됨.로그인 시: /login, 또는 사용자

2025년 6월 19일
·
0개의 댓글
·

🔄 Java ThreadPool 구조 정리

자바에서 다수의 요청을 처리하기 위해 미리 생성된 쓰레드 집합(Pool)을 재사용하는 구조매번 새 쓰레드를 만들지 않고, 일정 개수의 쓰레드를 반복 사용하여 성능을 최적화주로 비동기 작업, 백그라운드 작업, 대규모 요청 처리 등에 사용됨Executors는 내부적으로 T

2025년 6월 19일
·
0개의 댓글
·

🔐 Spring Security + JWT + Redis 인증 구조 정리

JWT는 무상태 인증 방식이기 때문에, 토큰을 클라이언트에만 저장하면 서버는 상태를 기억하지 못함.이를 보완하기 위해 Redis를 사용해 로그아웃된 토큰이나 강제로 만료시킬 토큰을 관리하는 구조를 설계함.클라이언트가 로그인 요청 → 서버가 JWT 발급 (access +

2025년 6월 19일
·
0개의 댓글
·

☕ JVM GC 및 메모리 구조 정리

JVM은 실행 중인 Java 애플리케이션의 메모리를 아래와 같이 구분해 관리함:Heap 영역: 객체가 저장되는 공간 (GC의 주요 대상)Young Generation (Eden, Survivor)Old Generation (Tenured)Method Area (Perm

2025년 6월 19일
·
0개의 댓글
·