Tech 26
- 실무 보안 기초: PEM 키 관리부터 데이터 암호화까지
- Celery 태스크 실행 메서드 정리: delay vs send_task, shared_task
- 파이썬 Import 에러와 Dockerfile WORKDIR의 상관관계
- Ubuntu 24.04 Docker CE 설치와 CI Fast-Fail 파이프라인 구축기
- Dockerfile 최적화 전략: 가볍고 빠른 Python 이미지 만들기 (Slim vs Alpine, Layer Caching)
- Docker Compose로 완벽한 로컬 개발 환경 구축하기 (Healthcheck, Resource Limit, YAML Anchor)
- JPA 영속성 컨텍스트(Persistence Context)와 DB의 동기화
- API Design: Path Variable vs Request Body (RESTful, 확장성, 보안)
- [Spring Boot] @Valid 유효성 검증 실패가 500 에러를 뱉는 이유와 해결법 (MethodArgumentNotValidException)
- 데이터 유효성 검증: DTO와 Service
- JPA Entity 설계: 주요 어노테이션과 시간 관리(Auditing vs Manual)
- [Spring Boot] Django 개발자의 스프링 계층형 아키텍처 적응기 (feat. 비즈니스 로직이란?)
- [Spring Boot] JPA vs MyBatis: 무엇을 선택해야 할까?
- WebRTC와 WebSocket
- 당근 테크 블로그 분석: 저장 중심에서 활용 중심의 데이터 설계로
- 무신사 기술 블로그 분석: OCMP 통합 회원 시스템과 대규모 마이그레이션
- 승인 대기 중인 브랜치에서 이어서 작업하기 (Stacked PR 전략)
- PR이 꼬였을 때: Cherry-pick으로 커밋 분리하고 브랜치 복구하기
- 클라우드 아키텍처의 이해와 서비스 장애 대응 전략 (IaaS vs PaaS)
- GitHub PR 템플릿 및 마일스톤 설정
- 자바스크립트 비동기 처리와 setTimeout의 동작 원리
- 컬리의 개인화 추천 시스템 분석: Semantic ID와 Dual-Head 아키텍처
- n8n으로 카카오톡 자동 메시지 구현하기
- GitHub Pages 배포 실패 해결: HttpError Not Found
- GitHub Issue 템플릿 설정하기
- 서버는 어떻게 클라이언트의 요청에 응답할까?