1. 강의제작 배경 및 학습목표
1) 많은 주니어 개발자들이 CRUD와 같은 기본 기능은 익숙하지만,
언어의 핵심이 되는 자료구조, 실무에 필요한 패키지 구조 설계, 데이터 흐름 제어,
동시성 처리(DB Lock, Redis, Kafka 등과의 연계 활용) 등은 정확히 이해하지 못하는
경우가 많음
2) Java Spring 기반 개발자들에게 Kotlin은 가장 빠르게 적응할 수 있는 언어 임
(Spring 프레임워크 내에서 Kotlin만 적용하면 개발은 그대로 가능함)
→ 이제는 ‘어떻게 Kotlin답게 개발할 것인가?’에 집중해야 할 때!
(OOP 중심의 Java에서 OOP + FP 지향의 Kotlin으로 자연스럽게 전환하는 방법에 초점)
3) 왜 Kotlin을 배워야 하나?
: Kotlin은 문법적 간결함을 넘어, 생산성, 안정성(Null safety), Coroutine 기반 비동기 처리,
FP 스타일 설계 등 실무에서 더 나은 코드를 만들 수 있는 수단이 됨
4) Node.js(NestJS 등) 기반의 비교적 최신 기술을 사용해본 개발자들에게도 JVM 생태계와
Kotlin은 빠르게 익힐 수 있는 기술 스택 임
val Goal = "Kotlin을 단순히 쓸 줄 아는 수준을 넘어,
Spring 기반 실무 프로젝트에서 ‘Kotlin답게’ 설계하고 구현할 수 있는 개발자”로 성장하는 것"
2. 기능별 익히는 강의 주요 목차
1) Kotlin 이란?
(1) Kotlin 주요 자료구조
(2) Kotlin 주요 문법
2) Spring 이란?
3) Spring 컨테이너, Bean
4) Spring @controller, @service, @repository
5) 요구사항 분석 및 ERD 설계
6) 개발 architecture
(1) 레이어드 아키텍처(Layered Architecture)
(2) 헥사고날 아키텍처(Hexagonal Architecture)
(3) 클린 아키텍처(Clean Architecture)
(4) EDA(Event-Driven Architecture) 패턴
(5) 강의용 Architecture
7) 주요 기능 개발(Back-end)
(1) 로그인 로그아웃
(2) Home body
- 최초 진입 시 표시 되는 화면을 위한 기능
(3) 상품(product)
- 사용자가 상품조회(상품정보, 가격정보, 재고수량)
(4) 장바구니(cart)
- 상품을 선택하여 장바구니로 저장
- 장바구니 조회
(5) 주문서(order)
- 장바구니의 상품을 주문 하기위한 주문서
- Spring Feign을 이용하여 도메인 분리하기(cart 정보 가져오기)
(6) 주문서 상세(orderDetail)
- 주문서에 어떤 상품이 담겼는지 상품 detail 정보
(주문서가 총 정보가 기입되어있는 Header의 역할이고 주문서 상세는 Body의 역할)
(7) 쿠폰(coupon)
- 주문 내용 100%무료 쿠폰(인기쿠폰 발급과 사용에 대해 동시성 문제 해결)
- 10% 할인 쿠폰 발행과 사용(일반 쿠폰)
(8) 결제
- 전액 무료 쿠폰을 사용하여 결제로직을 구현(0원 결제 - No PG)
8) Spring 캐시
- HomeBody 상품 리스트 구현 내 로컬 캐싱 추가
- Redis 란?
- Redis 로 캐싱 관리
9) Kafka 기반 도메인 분리
- Kafka 란?
- 결제 시 쿠폰도메인을 완전하게 분리하기
(분산락의 한계와 트랜젝션 분리를 통해 성능개선)
- Saga 패턴이란?
3. 강의 이후의 기대효과
1) Kotlin + Spring 기반의 프로젝트 설계 및 구현 경험을 갖추게 됩니다.
2) Redis 기반 캐싱 처리 및 NoSQL 연동 방식에 대한 실전 적용 능력을 확보할 수 있습니다.
3) Kafka 기반의 도메인 분리 및 메시징 처리 구조 설계에 대해 학습하고,
이를 통해 발생 가능한 이슈(중복 소비, 순서 보장 등)에 대한 대응 전략을 익히게 됩니다.
4) Kotlin + Spring 스택을 사용할 때 자주 마주치는 동시성 문제(Race condition, DB Lock 등) 를
어떻게 설계하고 처리할 수 있는지 이해하게 됩니다.
'Kotlin Spring > Kotlin Spring 강의 내용' 카테고리의 다른 글
4) Spring @controller, @service, @repository (0) | 2025.08.29 |
---|---|
3) Spring 컨테이너, Bean (0) | 2025.08.26 |
2) Spring Boot란? (맛보기) (0) | 2025.08.25 |
1. (2) Kotlin 주요 문법 (0) | 2025.08.25 |
1. Kotlin 이란? & (1) 주요 자료구조 (1) | 2025.08.24 |