홈으로

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

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: 실전 프로젝트 구조
멀티 모듈, 레이어드 아키텍처, 헥사고날 아키텍처, 패키지 구조를 학습합니다.
멀티 모듈아키텍처패키지 구조설계