
[둥지] 네이버 OAuth 2.0 소셜 로그인 프론트엔드 연동
네이버 소셜 로그인을 OIDC로 시도했다가 OAuth 2.0으로 전환한 과정을 기록합니다. CORS 차단으로 백엔드 토큰 교환을 선택하고, URL 오류·state 누락·follow_redirects 등 서버 사이드 디버깅까지 정리합니다.

네이버 소셜 로그인을 OIDC로 시도했다가 OAuth 2.0으로 전환한 과정을 기록합니다. CORS 차단으로 백엔드 토큰 교환을 선택하고, URL 오류·state 누락·follow_redirects 등 서버 사이드 디버깅까지 정리합니다.

카카오 소셜 로그인을 프론트엔드에 연동하는 과정을 정리합니다. SDK 동적 로드, 프론트 측 토큰 교환, sessionStorage를 이용한 약관 동의 전달, scope 범위 결정까지 다섯 가지 결정을 중심으로 기록합니다.

ALB+ACM과 컨테이너 certbot 방식을 비교하고, webroot 인증과 standalone 선발급을 조합해 컨테이너 중단 없는 HTTPS 자동 갱신 구조를 설계한 과정을 정리합니다.
React SPA를 서빙하는 Nginx 설정 파일을 환경별로 어떻게 나눴는지, 그리고 SSM 전용 Prod 서버에서 rsync 대신 Dockerfile 이미지 빌드를 선택한 이유를 정리합니다.
root 계정 액세스 키 하나로 모든 AWS 작업을 처리하던 구조를 환경(Dev/Prod)과 기능(Issuance/OCR/CI)별로 IAM 사용자를 세분화하여 교체했습니다. 최소 권한 원칙을 적용한 설계 과정과 EC2 IAM Role 전환, DeleteObject·HeadObject 권한 이슈까지 다룹니다.

SSH 없는 Keyless Prod 환경에서 GitHub Actions CD 파이프라인을 구성하며 마주한 세 가지 트러블슈팅을 기록합니다. SSM Waiter의 100초 하드코딩 타임아웃, /bin/sh의 pipefail 미지원, ssm-user와 ubuntu 간 권한 격리, 그리고 SSH 없이 Compose 파일을 EC2로 전달하는 S3 경유 방식까지 다룹니다.
AI가 만들어내는 저품질 생성물 'AI Slop'이 정보 생태계를 어떻게 바꾸는지, 그리고 AI에 의존하는 개발 워크플로가 인간의 역할을 어떻게 축소시키는지에 대한 생각을 정리합니다.
SSH 키 없이 AWS SSM으로만 접근하는 Prod EC2를 구축한 과정을 공유합니다. 개발(Dev)과 운영(Prod) 리소스를 완전히 분리한 이유, Nginx 리버스 프록시와 Let's Encrypt HTTPS 설정, 그리고 Docker Compose 기반 컨테이너 운영 구조까지 다룹니다.
독소조항 분석 워커가 Celery result backend 폴링에 의존하던 구조의 문제점을 분석하고, Celery chain을 도입해 폴링을 제거하기까지의 과정을 기록합니다. 세 가지 아키텍처 방안과 에러코드 체계 설계를 중심으로 의사결정 근거를 정리합니다.
Celery Beat 태스크 안에서 asyncio.run()으로 async SQLAlchemy를 호출할 때 발생하는 'Future attached to a different loop' 에러의 원인을 분석하고, NullPool·스레드 격리·전용 동기 세션 세 가지 대안 중 NullPool을 선택한 의사결정 근거를 기록합니다.