Skip to content

Modern-Programming-Club/modern-java-programming

Repository files navigation

🖥️ 실습으로 익히는 모던 자바 프로그래밍

📚 스터디 개요

🍂 Spring Boot 기반의 API 서버 개발

모던 자바 프로그래밍에서 널리 쓰이는 프레임워크와 라이브러리를 활용하여 API 서버를 개발합니다.

  • 목표
    • Gradle로 Multi Module 구조의 프로젝트를 구성합니다.
    • Jooq, JPA, Lombok 등의 주요 의존성을 설정하고 사용합니다.

📜 TDD(Test Driven Development)

테스트 작성은 안정성 있는 코드를 작성하는 데 중요한 역할을 합니다.

  • 목표
    • TDD의 개념을 이해하고, JUnit5와 Mockito를 활용하여 테스트 코드를 작성합니다.
    • 단위 테스트의 중요성을 이해하고, 테스트 코드를 작성합니다.

💰 DDD(Domain Driven Design)

DDD는 모던 자바 프로그래밍에서 도메인 모델을 설계하는 데 중요한 개념입니다. 어플리케이션이 비대해지는 것을 방지하고, 도메인 모델을 설계하는 데 도움을 줍니다.

  • 목표
    • DDD의 개념을 이해하고, 도메인 모델을 설계합니다.
    • Aggregate, Entity, Value Object 등의 개념을 이해하고, 구현합니다.

🔨 Clean Architecture & Hexagonal Architecture

Clean Architecture와 Hexagonal Architecture는 DDD를 기반으로 어플리케이션을 설계하는 전술적 패턴입니다. 계층을 나누어 어플리케이션을 설계하고, 의존성을 줄여 유지보수성을 높입니다.

  • 목표
    • Clean Architecture와 Hexagonal Architecture의 개념을 이해하고, 어플리케이션을 설계합니다.
    • Controller, Service, Repository 등의 계층을 나누어 어플리케이션을 설계합니다.

🧼 Clean Code

개발의 주요 관심사 중 하나는 코드의 가독성과 유지보수성입니다. 위의 Clean Code는 이러한 관심사를 해결하기 위한 방법론입니다.

  • 목표
    • Clean Code의 개념을 이해하고, 코드를 작성합니다.
    • 코드 리뷰를 통해 다른 사람의 코드를 리뷰하고, 리뷰를 받습니다.

🤔 스터디 방법

서로에게 모두 적절한 시간을 확보하기 어렵기 때문에 실시간으로 진행하는 것은 어려워서 아래와 같은 방법으로 스터디를 진행하겠습니다.

📅 Weekly Mission

커리큘럼에 따라 매주 한 가지의 미션을 드립니다. 미션 수행자는 주간 미션을 수행합니다.

🤓 Daily Commit & Review

주간 미션을 수행할 때, 하루에 10분이라도 개발하여, 빌드와 어플리케이션이 동작하는 상태로 커밋을 합니다. 미션 제출자는 해당 커밋을 리뷰합니다.

👥 Weekly Pair Programming

주간 미션 마지막 날, 가능하면 대면하여 전체적인 리뷰와 페어 프로그래밍을 진행합니다.

About

DDD/TDD 아키텍처 학습을 위한 스터디 교육용 샘플 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages