Archives
- 02 Apr [허수아비] 프로젝트 회고
- 02 Apr [허수아비] mock-radar CSV 청킹으로 메모리 98% 절감
- 26 Mar [둥지] IssuanceTask / OcrTask 설계 논의 정리: DB 선행 패턴과 Retry 정책
- 26 Mar [허수아비] Kafka 멀티 EC2 네트워크 트러블슈팅: bootstrap 주소 해석 실패
- 24 Mar [허수아비] WebRTC에서 HLS로 전환하다
- 24 Mar [허수아비] WebRTC CCTV 스트리밍 트러블슈팅: nginx 프록시부터 ICE 연결 실패까지
- 20 Mar [둥지] utils에 있던 시세 조회 로직, 왜 독립 도메인으로 옮겼나
- 20 Mar [허수아비] CI/CD 배포 트러블슈팅 모음
- 19 Mar 실무 보안 기초: PEM 키 관리부터 데이터 암호화까지
- 19 Mar [둥지] OCR 인프라 결정기: Lambda에서 Tailscale 셀프 호스팅 워커로
- 18 Mar [허수아비] Windows에서 작성한 쉘 스크립트가 Docker 컨테이너에서 죽는 이유 — CRLF 트러블슈팅
- 17 Mar [허수아비] GitLab CI/CD 환경변수 관리 — .env를 이미지에 절대 넣지 않는 법
- 16 Mar [둥지] 사용자 정보 수정: 단일 API vs 분리형 API
- 16 Mar Celery 태스크 실행 메서드 정리: delay vs send_task, shared_task
- 13 Mar 파이썬 Import 에러와 Dockerfile WORKDIR의 상관관계
- 13 Mar [허수아비] 실시간 데이터 파이프라인 아키텍처 설계: 선택과 집중
- 13 Mar [둥지] 결제 시스템 도입에 따른 회원 탈퇴 정책 고도화 및 OAuth 연동 해제 전략
- 13 Mar Ubuntu 24.04 Docker CE 설치와 CI Fast-Fail 파이프라인 구축기
- 13 Mar [허수아비] CCTV 영상과 레이더 시계열 데이터 파이프라인
- 12 Mar [둥지] 네이버 소셜 로그인: OIDC 시도 → OAuth 2.0 전환기
- 12 Mar [허수아비] Docker Compose 설계 전략 및 트러블슈팅
- 11 Mar [둥지] 카카오 OAuth 2.0 vs OIDC 비교 및 OIDC 채택기
- 11 Mar [허수아비] GitLab CI 파이프라인 구축기 (DinD vs DooD)
- 09 Mar [둥지] 로그인/로그아웃 코드리뷰: 보안 취약점 발굴과 트러블슈팅
- 09 Mar [둥지] Google OIDC 로그인 플로우
- 08 Mar [둥지] FastAPI 비동기 통합 테스트 아키텍처: SQLAlchemy Savepoint와 롤백 전략
- 08 Mar [둥지] FastAPI 비동기 환경의 테스트 아키텍처 구축기
- 08 Mar [허수아비] 모노레포 프로젝트 구조
- 06 Mar [허수아비] 시스템 아키텍처 의사결정 총정리
- 03 Mar [허수아비] 람다(Lambda) vs 카파(Kappa) 아키텍처: 데이터 파이프라인 설계기
- 02 Mar [둥지] FastAPI 테스트 환경 구축기: Mocking부터 Docker CI/CD 연동까지
- 01 Mar [둥지] Redis 파이프라인과 Celery 예외 처리: 분산 환경에서 데이터 일관성 지키기
- 25 Feb [둥지] FastAPI + GitHub Actions: Pydantic 환경 변수(ValidationError) 트러블슈팅
- 23 Feb [둥지] FastAPI + Celery + Redis: 비동기 백엔드 아키텍처와 최종 의사결정
- 23 Feb [둥지] FastAPI 환경 변수 관리: 전역 객체 대신 get_settings()와 DI를 선택한 이유
- 23 Feb [둥지] FastAPI 비동기 DB 세팅: SQLAlchemy 2.0 세션 관리와 이중 방어 모델링
- 22 Feb [둥지] FastAPI 프로젝트 초기 설정: Config와 Main 구성하기
- 19 Feb [둥지] FastAPI 백엔드 폴더 구조 설계: 도메인 기반 아키텍처(DDD)
- 11 Feb [LIVErary] 프로젝트 회고
- 08 Feb [둥지] Docker 환경 분리와 보안 전략: Multi-stage Build부터 Secrets 관리까지
- 02 Feb [둥지] FastAPI + AI 워커를 위한 모던 백엔드 구조 설계 (feat. uv, Producer-Consumer)
- 01 Feb Dockerfile 최적화 전략: 가볍고 빠른 Python 이미지 만들기 (Slim vs Alpine, Layer Caching)
- 01 Feb Docker Compose로 완벽한 로컬 개발 환경 구축하기 (Healthcheck, Resource Limit, YAML Anchor)
- 29 Jan JPA 영속성 컨텍스트(Persistence Context)와 DB의 동기화
- 29 Jan [LIVErary] Spring Scheduler를 활용한 예약 방 수명주기 관리 (자동 시작/종료)
- 29 Jan [LIVErary] JPA Dirty Checking과 Bulk 연산 혼용 시 데이터 증발 문제 (feat. flushAutomatically)
- 27 Jan API Design: Path Variable vs Request Body (RESTful, 확장성, 보안)
- 26 Jan [Spring Boot] @Valid 유효성 검증 실패가 500 에러를 뱉는 이유와 해결법 (MethodArgumentNotValidException)
- 25 Jan [둥지] 서비스 런칭을 위한 리팩토링: 하이브리드 클라우드 아키텍처와 기술 스택 선정의 이유
- 20 Jan [LIVErary] Spring Boot context-path 설정 시 403 에러 해결 (경로 매핑 중복 문제)
- 20 Jan 데이터 유효성 검증: DTO와 Service
- 20 Jan [LIVErary] Spring Boot 실행 에러: application.yml 들여쓰기와 @Value 바인딩 문제
- 19 Jan JPA Entity 설계: 주요 어노테이션과 시간 관리(Auditing vs Manual)
- 17 Jan [LIVErary] 로컬 개발 환경 구축: Docker Compose로 MySQL, Redis, Media Server 통합하기
- 16 Jan [Spring Boot] Django 개발자의 스프링 계층형 아키텍처 적응기 (feat. 비즈니스 로직이란?)
- 16 Jan [Spring Boot] JPA vs MyBatis: 무엇을 선택해야 할까?
- 15 Jan [LIVErary] 메타버스 독서 플랫폼 DB 설계: 단일 테이블 전략과 데이터 분리
- 13 Jan WebRTC와 WebSocket
- 06 Jan 당근 테크 블로그 분석: 저장 중심에서 활용 중심의 데이터 설계로
- 02 Jan [모아톤] AWS HTTPS 배포 가이드 (CloudFront + Nginx + Certbot)
- 27 Dec [모아톤] AWS 풀스택 배포 가이드 (EC2, S3, Nginx, Gunicorn)
- 26 Dec [모아톤] 프로젝트 회고
- 25 Dec [모아톤] GSAP로 구현한 목표 달성 트랙(Track) 시각화 (feat. SVG 애니메이션)
- 25 Dec [모아톤] UI/UX 최종 디자인 적용 및 프론트엔드 트러블슈팅 로그
- 25 Dec [모아톤] 전역 권한 정책 재수립 및 비로그인 사용자 UX 개선
- 24 Dec [모아톤] 프로필 페이지 구현과 데이터 동기화 이슈 해결 (Pinia, Serializer)
- 24 Dec [모아톤] 메인/랜딩 페이지 구현과 SPA 상태 관리 트러블슈팅
- 24 Dec [모아톤] 로그인 후 팔로우 목록 조회 오류 수정 (비동기 처리 & Race Condition)
- 23 Dec [모아톤] 금융 상품 리스트 성능 최적화 (Client-side Filtering & Caching)
- 23 Dec [모아톤] 뱃지 시스템 구현: 기획부터 트러블슈팅까지
- 22 Dec [모아톤] 금/은 시세 시각화 구현 (feat. Google Charts & Vue.js)
- 22 Dec [모아톤] 모아톤 생성 프로세스 구현 (Direct vs Recommend 모드)
- 19 Dec [모아톤] Django 앱 분리 리팩토링과 API 문서화 도구(Swagger) 교체기
- 16 Dec 무신사 기술 블로그 분석: OCMP 통합 회원 시스템과 대규모 마이그레이션
- 15 Dec 승인 대기 중인 브랜치에서 이어서 작업하기 (Stacked PR 전략)
- 13 Dec [모아톤] Django 비밀번호 재설정 이메일 발송 구현과 트러블슈팅
- 11 Dec 블로그 검색 노출을 위한 구글 & 네이버 서치 콘솔 등록 가이드
- 10 Dec PR이 꼬였을 때: Cherry-pick으로 커밋 분리하고 브랜치 복구하기
- 07 Dec 클라우드 아키텍처의 이해와 서비스 장애 대응 전략 (IaaS vs PaaS)
- 06 Dec GitHub PR 템플릿 및 마일스톤 설정
- 05 Dec [쉽길] 프론트엔드 개발 회고
- 04 Dec 자바스크립트 비동기 처리와 setTimeout의 동작 원리
- 03 Dec [쉽길] Font Awesome에 원하는 아이콘이 없을 때? (Feat. CSS로 에스컬레이터 구현하기)
- 02 Dec 컬리의 개인화 추천 시스템 분석: Semantic ID와 Dual-Head 아키텍처
- 02 Dec [둥지] 포트폴리오 완성을 위한 메인 페이지 UI/UX 리디자인
- 30 Nov [쉽길] 역 정보 및 경로 안내 UI/UX 대개편
- 27 Nov [둥지] 2박 3일 해커톤 회고
- 26 Nov [둥지] Ubuntu 서버에서 Docker Compose로 React 앱 배포하기 (feat. 수동 배포의 맛)
- 23 Nov [둥지] n8n과 CODEF API로 등기부등본 자동 발급하기
- 22 Nov [둥지] AI Agent와 MCP의 차이, 그리고 n8n 적용기
- 21 Nov [둥지] 프론트엔드와 n8n 매핑 테스트
- 20 Nov [둥지] MVP 선정과 아키텍처 설계
- 19 Nov [둥지] Supabase와 n8n 연결해서 메일로 보내봅시다
- 18 Nov [쉽길] 경로 안내 페이지 UI/UX 개선 (Grid 레이아웃 & 모달 적용)
- 18 Nov [쉽길] 로컬 서버 초기 설정 가이드
- 18 Nov [둥지] Figma Make로 프로토타입 구현하기
- 15 Nov n8n으로 카카오톡 자동 메시지 구현하기
- 10 Nov GitHub Pages 배포 실패 해결: HttpError Not Found
- 08 Nov GitHub Issue 템플릿 설정하기
- 06 Nov 서버는 어떻게 클라이언트의 요청에 응답할까?
- 05 Nov [쉽길] 로컬 개발 환경 설정 중 DJANGO_SECRET_KEY 에러 해결
- 05 Nov [쉽길] 지하철 역 검색 자동완성 구현 (feat. Debouncing & UX)
- 05 Nov 마크다운 스타일 가이드
- 02 Oct [쉽길] Django(백엔드)와 JavaScript(프론트엔드)의 역할 분담을 어떻게 할까요?
- 01 Oct 나의 첫 기술 블로그 포스트
- 21 Sep [쉽길] 프로토타입 제작기 (feat. 피그마 MCP, gemini-CLI)
- 17 Sep [쉽길] 피그마랑 친해지기