SpringBoot 21
- [SAN] TIL 리콜 카드 API: threshold 기반 전체 반환과 Lazy 로딩
- [SAN] GlobalExceptionHandler 설계: BindException 통합과 ErrorCode 인터페이스
- [SAN] CGLIB 프록시: @Async + 인터페이스 구현 클래스에서 발생하는 기동 실패
- [SAN] 자연어 통합 검색 API: AiEmbeddingClient 설계와 BindException 트러블슈팅
- [SAN] pgvector 기반 벡터 검색 엔진 설계
- [SAN] 이벤트 기반 비동기 파이프라인: Spring Event
- [SAN] 리콜 카드 조회 설계: 저장 vs 실시간, 추출 기준, ERD 의사결정
- [SAN] 비동기 작업 DB 설계
- [허수아비] MinIO Presigned URL 서명 불일치 트러블슈팅
- [LIVErary] 프로젝트 회고
- JPA 영속성 컨텍스트(Persistence Context)와 DB의 동기화
- [LIVErary] Spring Scheduler를 활용한 예약 방 수명주기 관리 (자동 시작/종료)
- [LIVErary] JPA Dirty Checking과 Bulk 연산 혼용 시 데이터 증발 문제 (feat. flushAutomatically)
- API Design: Path Variable vs Request Body (RESTful, 확장성, 보안)
- [Spring Boot] @Valid 유효성 검증 실패가 500 에러를 뱉는 이유와 해결법 (MethodArgumentNotValidException)
- [LIVErary] Spring Boot context-path 설정 시 403 에러 해결 (경로 매핑 중복 문제)
- 데이터 유효성 검증: DTO와 Service
- [LIVErary] Spring Boot 실행 에러: application.yml 들여쓰기와 @Value 바인딩 문제
- JPA Entity 설계: 주요 어노테이션과 시간 관리(Auditing vs Manual)
- [Spring Boot] Django 개발자의 스프링 계층형 아키텍처 적응기 (feat. 비즈니스 로직이란?)
- [Spring Boot] JPA vs MyBatis: 무엇을 선택해야 할까?