Week 10
기간: 2026.01.19 - 2026.01.23
커리큘럼: 백엔드(Spring)
1. Facts — 무엇을 했나?
< Spring >
< CS >
< 코딩테스트 >
< 스터디 >
귀여운 메타몽 스티커 나눔 / 달콤한 두쫀쿠 나눔 / 감기조심🥶
2. Feelings — 어떻게 느꼈나?
- Spring Boot의 계층별 구조와 각 레이어의 책임이 명확히 구분되어 있어 처음엔 복잡해 보였지만, 실습하면서 "아 이 흐름이구나" 하고 큰 그림이 잡히는 경험이 신기했음
- DB 연결 설정 하나만 잘못 잡아도 서버가 기동조차 안 되는 경험을 통해 환경설정의 중요성을 뼈저리게 느낌
- JPA의 영속성 컨텍스트와 변경 감지 같은 개념을 처음 접했는데, "객체를 바꾸기만 하면 알아서 DB에 반영된다"는 마법 같은 동작에 감탄
- 세션 vs 토큰 비교를 하면서 HTTP의 Stateless 특성이 왜 인증 방식의 근본적인 차이를 만들어내는지 깨달아서 CS적 통찰도 얻음
- Gradle 의존성 스코프를 이해하고 나니 "빌드 도구가 단순히 의존성만 가져오는 게 아니라 프로젝트 생명주기를 관리하는 핵심"이라는 사실을 새롭게 인식
3. Findings — 무엇을 배웠나?
-
Spring Boot & JPA:
- 계층별 구조(Controller → Service → Repository)와 각 계층의 명확한 책임 분리 원칙을 체득
- 전역 예외 처리(
@RestControllerAdvice), 트랜잭션 경계(@Transactional), DTO 변환 패턴을 실습하며 익힘
- JDBC → MyBatis → JPA → Spring Data JPA로 이어지는 DB 접근 기술의 진화 과정과 각각의 특징 파악
- 영속성 컨텍스트, Cascade(영속성 전이), 연관관계 매핑 등 JPA 핵심 메커니즘 이해
-
Gradle & 빌드:
- 의존성 스코프(compileOnly, runtimeOnly, testImplementation 등)의 빌드 타임/런타임 구분 기준 학습
ddl-auto(create/update/validate) 설정을 통한 개발/운영 환경별 스키마 관리 전략 체득
-
인증 & CS:
- 세션(stateful) vs 토큰(stateless)의 구조적 차이와 스케일 아웃 시 확장성 비교
- JWT의 Header/Payload/Signature 구성, 서명 검증 원리, 필터 체인에서의 토큰 처리 흐름 학습
4. Future — 다음에 어떻게 활용할까?
- Spring Data JPA + 연관관계 + Cascade를 활용한 실제 게시판(Post/Author) CRUD API 완성
- JWT 실습을 통해 로그인/인가 필터 구현 및
@AuthenticationPrincipal 연동
application-dev.yml / application-prod.yml 프로파일 분리로 환경별 설정 관리 체계화
- Gradle 멀티 모듈 프로젝트로 실무와 유사한 구조 경험 및 CI/CD 파이프라인 연동 실습
🧩 마무리 한 줄
Spring Boot의 계층 구조와 JPA의 ORM 철학을 체화하며 백엔드 개발의 근본적인 사고방식을 익힌 뜻깊은 한 주.
CS 관점에서의 세션/토큰 분석까지 더해져 API 설계의 큰 그림이 그려지기 시작했다.
너무 흥미로운 웹개발의 세계이다 짱잼!🤩🤓