홈으로

Theory

소프트웨어 설계와 아키텍처의 핵심 이론을 깊이 있게 학습합니다.

DDD (Domain-Driven Design)

에릭 에반스의 원전을 기반으로 DDD의 전략적/전술적 패턴을 체계적으로 학습합니다.

입문1-1.5시간
DDD 이론 1: DDD 철학과 복잡성
DDD의 탄생 배경과 핵심 철학, 복잡성 관리, Knowledge Crunching을 에릭 에반스의 원전을 통해 탐구합니다.
DDDComplexityKnowledge CrunchingEric Evans
입문1-1.5시간
DDD 이론 2: 유비쿼터스 언어
개발자와 도메인 전문가가 공유하는 언어의 중요성, 모델과 코드의 일치를 학습합니다.
Ubiquitous LanguageCommunicationModel-Code Gap
중급1-1.5시간
DDD 이론 3: 도메인과 서브도메인
Core/Supporting/Generic 서브도메인 분류와 Distillation을 통한 전략적 투자 결정을 다룹니다.
Core DomainSubdomainDistillationStrategic Investment
중급1-1.5시간
DDD 이론 4: Bounded Context
대규모 시스템을 분할하는 Bounded Context의 개념과 경계 식별 방법을 탐구합니다.
Bounded ContextLinguistic BoundaryModel Separation
중급1-1.5시간
DDD 이론 5: Context Mapping
9가지 Context Map 패턴과 팀 간 협력 모델, 통합 전략을 학습합니다.
Context MapPartnershipACLOHS
중급1-1.5시간
DDD 이론 6: Entity와 Value Object
도메인 모델의 기본 빌딩 블록인 Entity와 Value Object의 본질적 차이와 설계 원칙을 다룹니다.
EntityValue ObjectIdentityImmutability
중급1-1.5시간
DDD 이론 7: Aggregate 설계
일관성 경계를 정의하는 Aggregate 패턴의 핵심 규칙과 올바른 크기 결정 방법을 학습합니다.
AggregateAggregate RootInvariantTransaction
중급1-1.5시간
DDD 이론 8: Repository, Factory, Module
영속성 추상화, 복잡한 객체 생성 캡슐화, 모듈/패키지 설계 원칙을 다룹니다.
RepositoryFactoryModulePackage Design
고급1-1.5시간
DDD 이론 9: Service와 Supple Design
Domain/Application Service의 책임 분리와 유연한 설계를 위한 패턴들을 학습합니다.
Domain ServiceApplication ServiceSupple Design
고급1-1.5시간
DDD 이론 10: Domain Events
도메인에서 발생하는 중요한 사건을 모델링하고 이벤트 기반 통합을 구현합니다.
Domain EventsEvent PublishingIntegration Events
고급1-1.5시간
DDD 이론 11: Event Sourcing과 CQRS
상태 대신 이벤트를 저장하는 Event Sourcing과 CQRS 패턴의 원리와 트레이드오프를 다룹니다.
Event SourcingCQRSProjectionEvent Store
고급1-1.5시간
DDD 이론 12: DDD 실천과 아키텍처
Event Storming, Hexagonal Architecture, 팀 토폴로지와 점진적 DDD 도입 전략을 다룹니다.
Event StormingHexagonalTeam TopologyPractice

AWS Data Platform

AWS 기반 데이터 플랫폼의 설계, 구축, 운영을 체계적으로 학습합니다.

입문2시간
AWS Data 1: Data Platform 개요 & 아키텍처
데이터 플랫폼의 진화, 데이터 레이크/웨어하우스/레이크하우스의 차이, AWS 데이터 서비스 전체 맵을 학습합니다.
Data LakeData WarehouseLakehouseModern Data Stack
입문2시간
AWS Data 2: 데이터 수집 (Ingestion)
Kinesis, DMS, AppFlow를 활용한 배치/실시간 데이터 수집 파이프라인 구축 방법을 학습합니다.
KinesisDMSAppFlowCDCStreaming
입문2시간
AWS Data 3: 데이터 저장 (Storage)
S3 데이터 레이크 설계, 파일 포맷(Parquet/ORC), Glue Data Catalog, 파티셔닝 전략을 다룹니다.
S3ParquetGlue CatalogPartitioning
중급2시간
AWS Data 4: 데이터 처리 - 배치
Glue ETL, EMR, Step Functions를 활용한 대규모 배치 데이터 처리 파이프라인을 구축합니다.
Glue ETLEMRSparkStep Functions
중급2시간
AWS Data 5: 데이터 처리 - 실시간
Kinesis Data Analytics, MSK, Flink를 활용한 실시간 스트림 처리 아키텍처를 학습합니다.
Kinesis AnalyticsMSKFlinkStream Processing
중급2시간
AWS Data 6: 데이터 웨어하우스 (Redshift)
Redshift 아키텍처, 분산키/정렬키 설계, Serverless, Spectrum을 활용한 레이크하우스 구현을 다룹니다.
RedshiftMPPSpectrumServerless
중급2시간
AWS Data 7: 데이터 쿼리 & 분석
Athena, QuickSight, OpenSearch를 활용한 대화형 쿼리와 시각화, 비용 최적화 전략을 학습합니다.
AthenaQuickSightOpenSearchSQL
고급2시간
AWS Data 8: 데이터 거버넌스 & 보안
Lake Formation, IAM 정책, 암호화, 데이터 계보(Lineage), 품질 관리를 다룹니다.
Lake FormationData GovernanceSecurityLineage
고급2시간
AWS Data 9: DataOps & MLOps 통합
MWAA(Airflow), SageMaker 연동, Feature Store, CI/CD 파이프라인 구축을 학습합니다.
MWAAAirflowSageMakerMLOps
고급2시간
AWS Data 10: 실전 아키텍처 & 사례
레퍼런스 아키텍처, 비용 최적화, 마이그레이션 전략, 실제 구축 사례를 다룹니다.
ArchitectureBest PracticesMigrationCase Study

JPA (Java Persistence API)

ORM의 기초부터 고급 활용까지, JPA/Hibernate를 체계적으로 학습합니다.

입문1.5시간
JPA 1: ORM과 JPA 기초 개념
JDBC에서 ORM으로의 패러다임 전환, JPA와 Hibernate의 관계, 영속성 컨텍스트의 핵심 개념을 학습합니다.
JPAORMHibernatePersistence Context
기초1.5시간
JPA 2: 기본 Entity Mapping
Entity와 테이블 매핑의 기본 어노테이션, 기본키 전략, 다양한 타입 매핑을 학습합니다.
@Entity@Column@IdGenerationType
중급1.5시간
JPA 3: 연관관계 매핑 기초
Entity 간의 관계를 매핑하는 방법, 단방향과 양방향의 차이, 연관관계의 주인 개념을 학습합니다.
@ManyToOne@OneToManymappedBy@JoinColumn
중급1.5시간
JPA 4: 연관관계 고급 & N+1 문제
JPA 성능의 핵심인 N+1 문제를 이해하고 Fetch Join, @EntityGraph, @BatchSize로 해결합니다.
N+1Fetch Join@EntityGraphCascade
중급1.5시간
JPA 5: Spring Data JPA 활용
Repository 인터페이스, 쿼리 메서드, JPQL, 페이징, Specification 동적 쿼리를 학습합니다.
JpaRepositoryQuery Methods@QueryPageable
고급1.5시간
JPA 6: CQRS 패턴 적용
Command와 Query를 분리하여 JPA 애플리케이션의 성능과 유지보수성을 향상시킵니다.
CQRSCommandQueryProjection
고급1.5시간
JPA 7: 트랜잭션과 동시성 제어
@Transactional의 동작 원리, 전파 옵션, 낙관적/비관적 락을 학습합니다.
@TransactionalPropagation@VersionLock
고급1.5시간
JPA 8: Flyway DB 형상 관리
Flyway를 이용한 데이터베이스 스키마 버전 관리와 마이그레이션 전략을 학습합니다.
FlywayMigrationBaselineSchema Management

Next.js

React 기반 풀스택 프레임워크 Next.js를 이커머스 예제와 함께 체계적으로 학습합니다.

입문1.5-2시간
Next.js 01: Next.js 소개
Next.js의 탄생 배경, React와의 차이점, App Router의 핵심 개념을 이커머스 예제와 함께 학습합니다.
Next.jsApp RouterReactSSR
입문1.5-2시간
Next.js 02: Server/Client Components
서버 컴포넌트와 클라이언트 컴포넌트의 차이, 사용 시점, 최적의 조합 패턴을 학습합니다.
Server ComponentsClient Componentsuse clientRSC
중급1.5-2시간
Next.js 03: 렌더링 전략
SSR, SSG, ISR, CSR의 차이점과 각 전략의 적합한 사용 사례를 학습합니다.
SSRSSGISRCSRRendering
입문1.5-2시간
Next.js 04: TypeScript
Next.js에서 TypeScript를 효과적으로 활용하는 방법, 타입 정의, 제네릭 활용을 학습합니다.
TypeScriptType SafetyGenericsInterface
입문1.5-2시간
Next.js 05: 라우팅과 레이아웃
App Router의 파일 기반 라우팅, 동적 라우팅, 레이아웃 시스템을 학습합니다.
RoutingLayoutDynamic RoutesParallel Routes
중급1.5-2시간
Next.js 06: 데이터 페칭
서버 컴포넌트에서의 데이터 페칭, fetch API, 캐싱 전략을 학습합니다.
Data FetchingfetchCachingRevalidation
중급1.5-2시간
Next.js 07: API 설계와 SSOT
Route Handlers, API 설계 패턴, Single Source of Truth 원칙을 학습합니다.
Route HandlersAPI DesignSSOTREST
중급1.5-2시간
Next.js 08: TanStack Query
서버 상태 관리를 위한 TanStack Query의 핵심 개념과 활용 패턴을 학습합니다.
TanStack QueryServer StateCachingMutations
중급1.5-2시간
Next.js 09: Zustand
클라이언트 상태 관리를 위한 Zustand의 핵심 개념과 패턴을 학습합니다.
ZustandClient StateStoreMiddleware
중급1.5-2시간
Next.js 10: React Hook Form + Zod
폼 상태 관리와 유효성 검증을 위한 React Hook Form과 Zod 활용법을 학습합니다.
React Hook FormZodValidationForm State
입문1.5-2시간
Next.js 11: Tailwind + shadcn/ui
Tailwind CSS와 shadcn/ui를 활용한 모던 UI 개발 방법을 학습합니다.
Tailwind CSSshadcn/uiUI ComponentsStyling
중급1.5-2시간
Next.js 12: 테스팅
Jest, React Testing Library, Playwright를 활용한 테스트 전략을 학습합니다.
JestTesting LibraryPlaywrightE2E
고급1.5-2시간
Next.js 13: FSD 아키텍처
Feature-Sliced Design 아키텍처를 Next.js에 적용하는 방법을 학습합니다.
FSDArchitectureFeature-SlicedScalability
중급1.5-2시간
Next.js 14: i18n
Next.js에서 다국어 지원을 구현하는 방법과 best practices를 학습합니다.
i18nInternationalizationnext-intlLocalization
고급1.5-2시간
Next.js 15: 배포와 최적화
Vercel 배포, 성능 최적화, 이미지 최적화, 번들 분석을 학습합니다.
DeploymentVercelOptimizationPerformance

Spring Framework

디자인 패턴부터 헥사고날 아키텍처까지, Spring을 체계적으로 학습합니다. 이커머스 도메인 예제와 함께 실무 중심으로 진행됩니다.

입문1.5-2시간
Spring 01: 디자인 패턴 (1)
Spring을 이해하기 위한 필수 디자인 패턴 - Singleton, Factory, Template Method, Strategy를 이커머스 예제와 함께 학습합니다.
SingletonFactoryTemplate MethodStrategy
입문1.5-2시간
Spring 02: 디자인 패턴 (2)
Proxy, Decorator, Observer, Adapter, Facade 패턴을 학습하고 Spring에서의 적용 사례를 탐구합니다.
ProxyDecoratorObserverAdapterFacade
입문1.5-2시간
Spring 03: IoC/DI 원리와 Spring Container
Spring 탄생 배경, IoC 컨테이너, DI 원리, Bean 생명주기를 깊이 있게 학습합니다.
IoCDIBeanApplicationContext
입문1.5-2시간
Spring 04: Spring Boot와 Web MVC
Auto Configuration, Starter, @Controller, @RestController, 요청/응답 처리를 학습합니다.
Spring BootWeb MVCREST APIAuto Configuration
중급2-3시간
Spring 05: JPA 완전 정복
Spring Data JPA, Entity 설계, 연관관계, N+1 해결, QueryDSL, 성능 최적화를 학습합니다.
JPAQueryDSLN+1Entity성능 최적화
중급2-3시간
Spring 06: AOP 완전 정복
관점 지향 프로그래밍의 개념, Advice, Pointcut, 프록시 동작 원리, 실전 활용 패턴을 학습합니다.
AOP@AspectPointcutProxy횡단 관심사
중급2-3시간
Spring 07: Custom Annotation 활용
커스텀 어노테이션으로 공통 모듈 구현 - 로깅, 재시도, 분산 락, 검증, 보안 어노테이션을 학습합니다.
Custom AnnotationAOPValidationArgumentResolver
중급1.5-2시간
Spring 08: 테스트 전략
@SpringBootTest, @WebMvcTest, @DataJpaTest, Mockito, 테스트 컨테이너를 학습합니다.
TestingMockitoSlice TestTestcontainers
중급1.5-2시간
Spring 09: Spring Security 기초
인증/인가, SecurityFilterChain, UserDetailsService, PasswordEncoder를 학습합니다.
Spring SecurityAuthenticationAuthorizationFilter
중급1.5-2시간
Spring 10: JWT 인증
JWT 구조, 토큰 생성/검증, Refresh Token, 보안 고려사항을 학습합니다.
JWTAccess TokenRefresh Token인증
중급1.5-2시간
Spring 11: OAuth2 소셜 로그인
OAuth2 흐름, Google/Kakao/Naver 연동, OAuth2UserService를 학습합니다.
OAuth2소셜 로그인GoogleKakao
중급1.5-2시간
Spring 12: 캐싱
@Cacheable, @CacheEvict, Redis 캐시, 캐시 전략을 학습합니다.
CachingRedis@CacheableCache Strategy
중급1.5-2시간
Spring 13: 비동기 처리
@Async, CompletableFuture, ThreadPool 설정, 비동기 예외 처리를 학습합니다.
@AsyncCompletableFutureThreadPool비동기
중급1.5-2시간
Spring 14: 스케줄링
@Scheduled, Cron 표현식, 동적 스케줄링, 분산 환경 스케줄링을 학습합니다.
@ScheduledCronShedLockQuartz
고급1.5-2시간
Spring 15: 메시징/Kafka
Kafka 기초, Producer/Consumer, 파티션, 메시지 보장을 학습합니다.
KafkaProducerConsumer메시징
중급1.5-2시간
Spring 16: API 문서화 - Swagger/OpenAPI
SpringDoc, Swagger UI, API 문서 자동화, 커스터마이징을 학습합니다.
SwaggerOpenAPISpringDocAPI 문서화
고급1.5-2시간
Spring 17: 모니터링/Actuator
Actuator 엔드포인트, Micrometer, Prometheus, Grafana 연동을 학습합니다.
ActuatorMicrometerPrometheusGrafana
중급1.5-2시간
Spring 18: 로깅
SLF4J/Logback, MDC, 구조화된 로깅, 로그 레벨 전략을 학습합니다.
LoggingLogbackMDCStructured Logging
고급1.5-2시간
Spring 19: 배포 - Docker, Profile
Docker 컨테이너화, Profile 설정, 환경별 설정 관리를 학습합니다.
DockerProfile배포환경 설정
고급1.5-2시간
Spring 20: 클라우드 - AWS 연동
AWS SDK, S3, SQS, Parameter Store 연동을 학습합니다.
AWSS3SQSParameter Store
고급1.5-2시간
Spring 21: 마이크로서비스 기초
MSA 개념, Spring Cloud, Service Discovery, API Gateway를 학습합니다.
MSASpring CloudEurekaAPI Gateway
고급1.5-2시간
Spring 22: 실전 프로젝트 구조
멀티 모듈, 레이어드 아키텍처, 헥사고날 아키텍처, 패키지 구조를 학습합니다.
멀티 모듈아키텍처패키지 구조설계