Blog

총 33개의 글

Server#BE#Spring Boot#로그인

여러 프론트엔드로 로그인 리다이렉트 시켜주기 :OAuth Origin 화이트리스트 설계

로컬 프론트와 배포된 프론트가 동시에 같은 dev 백엔드로 로그인해야 할 때, 고정된 리다이렉트 URI 하나로는 안 되는 이유와 origin 화이트리스트 + state 검증으로 풀어낸 구조

2026년 7월 24일0
Server#BE#Spring Boot#로그인

카카오/구글 로그인이 dev에서만 자꾸 깨졌던 이유: OAuth2 콜백 트러블슈팅 3연전

STATELESS 세션과 충돌한 401, GCP Secret 공백 하나 때문에 난 KOE010, 크로스 도메인 쿠키/CSRF까지 — 이틀에 걸쳐 이어진 세 가지 원인을 순서대로 추적한 기록

2026년 7월 21일0
Server#BE#Spring Boot#AI

OpenAPI/Swagger 보안 스키마, 전역 설정 vs 개별 어노테이션

JWT 인증 API를 Swagger로 문서화할 때 보안 스키마를 전역으로 걸지 개별로 걸지, 그리고 AI 코드 리뷰 제안을 검증 없이 반영하면 안 되는 이유

2026년 7월 14일0
Server#BE#Spring Boot#로그인

로그아웃 하나 만드는데 왜 Redis가 필요했을까? 토큰 블랙리스트 저장소 결정

JWT는 stateless라 로그아웃해도 만료 전까지 유효한 문제를 어떻게 풀지, Redis와 Postgres 사이에서 고민하고 실제로 인프라를 도입한 과정

2026년 7월 14일0
Server#BE#Spring Boot#로그인

OAuth2 로그인 토큰, 쿼리스트링에서 안전한 쿠키로 옮기기까지

JWT를 쿼리스트링으로 넘기던 로그인을 HttpOnly 쿠키로 바꾸고, Secure/SameSite 정책을 정하고, CSRF 방어까지 붙이기까지 3단계 보안 강화 기록

2026년 7월 11일0
Server#BE#Spring Boot#로그인

동시에 처음 로그인하면 터지는 UNIQUE 제약 위반, REQUIRES_NEW로 잡기

소셜 로그인 최초 가입 시 동시 요청이 겹치면 발생하는 UNIQUE 제약 위반 레이스 컨디션을, 별도 트랜잭션 재시도로 해결한 기록

2026년 7월 11일0
Server#BE#Spring Boot#로그인

카카오 로그인에서 만난 PKCE 오류, client_secret_post로 해결하기

Spring Security 7.x가 자동으로 켜는 PKCE를 카카오가 지원하지 않아 터진 로그인 실패와, 백엔드 서버 구조에서 PKCE를 꺼도 안전한 이유

2026년 7월 11일0
design#디자인

애플 타이포그래피로 화면 위계 잡기 HIG Typography 적용 회고

홈페이지를 만들다 위계가 무너졌던 화면을, 애플 HIG Typography를 공부해 '크기로 위계, 굵기로 강조'하는 시맨틱 타입 스케일로 정리한 회고예요.

2026년 6월 26일0
AI#AI#Agent

멀티 에이전트 AI, 그리고 하네스 엔지니어링 - "AI 직원 18명과 일한다는 것"

단일 에이전트의 한계부터 멀티 에이전트 구조, 그리고 이를 실제로 작동시키는 하네스 엔지니어링까지. 장피엠 님의 'AI 에이전트 전환기' 영상을 보고 학생 개발자 관점에서 정리한 글입니다.

2026년 6월 18일0
volunteer#봉사#파이썬#Python

[실습] 파이썬 기초 문법 & NumPy 따라하기

풍생고등학교 코딩봉사 4주차 실습 — 섹션 1(파이썬 기초) 기초 파트 + 섹션 2(NumPy) 심화 파트

2026년 6월 15일0
Front-end#FE#로그인

Next.js에서 로그인 상태가 자꾸 풀리는 이유 : 인증 상태 분산 문제와 AuthContext 중앙화

localStorage·Cookie·Header 로컬 state 세 곳에 분산된 인증 상태가 만들어내는 버그와 AuthContext + SSR 쿠키 초기화로 해결한 과정을 담았습니다.

2026년 6월 8일0
Front-end#FE

iPhone PWA에서 바텀 네비게이션 바, 홈 인디케이터 영역 안 밟는 법

PWA로 설치된 아이폰에서 바텀 네비게이션 바가 홈 인디케이터를 침범하는 문제를 CSS env()와 viewport-fit=cover로 해결한 방법 정리

2026년 6월 6일0
Front-end#FE#품질관리#성능

Next.js 블로그에서 고려한 웹 성능 최적화

yerim.dev 블로그에서 ISR, Server Component, 동적 임포트, CLS 방지 등 실제 적용한 성능 최적화 기법 정리

2026년 6월 4일0
Server#BE

Spring Security - JWT, OAuth

세션 vs 토큰 인증 방식 비교, JWT 구조 & 커스텀 필터 구현, @AuthenticationPrincipal 활용, 카카오 OAuth 소셜 로그인까지

2026년 6월 1일0
volunteer#봉사#파이썬#Python

붓꽃 데이터 시각화 심화 실습

풍생고등학교 코딩봉사 4주차-2 NumPy, Pandas, Matplotlib, Seaborn을 활용해 붓꽃(Iris) 데이터셋을 단계별로 분석하고 시각화하는 심화 실습

2026년 5월 29일0
Server#BE

Spring Security - Security 구조, 폼 로그인

스프링 시큐리티의 인증/인가 구조, 주요 객체 역할, Filter Chain 동작 방식, 폼 로그인 구현, 인증 실패 응답 통일까지

2026년 5월 28일0
PM/PO#PM#PO#기획

Mixpanel, PM은 왜 써야 하는가

믹스패널, 사용자 여정 트래픽

2026년 5월 7일0
Algorithm#알고리즘#DP#2차원DP

다이나믹 프로그래밍 (2)

2차원 DP (LCS, 배낭 문제) · 구간 DP 기초 · DP 최적화 기법 · 실전 DP 문제 풀이 전략

2026년 5월 6일0
Server#BE#Spring Boot

페이지네이션 & 검증 어노테이션

대량 데이터 조회 시 Page(오프셋)와 Slice(커서) 로 페이지네이션을 구현하고, 검증 어노테이션(@NotNull 등) + @Valid로 잘못된 요청을 Controller 단에서 미리 걸러낸다.

2026년 5월 5일0
Server#BE#Spring Boot

JPA & ORM

Java(객체)와 MySQL(테이블)의 패러다임 불일치를 해결하기 위해 JPA/ORM을 사용하며, 영속성 컨텍스트(1차 캐시·변경감지·쓰기지연)가 그 핵심 동작 원리다.

2026년 5월 5일0
Optimization#FE#최적화

노션에서 HTML 뽑았더니 코드가 난리났다

회사에서 공지사항을 매달 노션에 작성하고, HTML로 내보내서 Hygraph CMS에 올리는 작업을 반복하고 있었다.

2026년 4월 15일0
PM/PO#기획

기획은 어떻게 세워야 하는가

기획은 어떻게 하는지에 대한 생각을 정리해보았습니다.

2026년 4월 11일0
Algorithm#알고리즘#그리디#이분탐색

이분 탐색 & 그리디

이분 탐색 응용 (Parametric Search) · 그리디 알고리즘 설계 원칙 · 정렬 기반 그리디 패턴 · 최적해 증명 연습

2026년 4월 1일0
Algorithm#알고리즘#DFS#BFS

DFS & BFS

그래프 표현 (인접 리스트/행렬) · DFS/BFS 기본 구현 · 연결 요소, 최단 경로 문제 · 격자(Grid) 탐색 패턴

2026년 3월 25일0
Algorithm#알고리즘#스택#큐

스택 / 큐 / 해시맵

스택/큐 활용 문제 패턴, 해시맵을 이용한 효율적 탐색, 우선순위 큐(힙) 기초, 괄호 매칭, 최빈값 등 대표 유형

2026년 3월 18일0
Algorithm#알고리즘

시간복잡도 & 배열/문자열

Big-O 표기법 이해 · 배열 탐색 · 투 포인터 기법 · 문자열 처리 패턴 · 기본 정렬 알고리즘 복습

2026년 3월 11일0
projects#project#회고

Next Career 프로젝트 기술 회고

인증, 상태관리, 모니터링, CI/CD, PWA까지

2025년 12월 31일0
projects#project#회고

ComNCheck 기술 회고

Zero-Runtime 스타일링, 플랫폼별 구글 로그인

2025년 10월 22일0
방명록을 남겨주세요