코스 이미지

API 서버 개발 미션으로 배우는 자바 웹 백엔드 개발

판매 종료일: ~2022-10-04

API 서버 개발 미션으로 배우는 자바 웹 백엔드 개발

코스 대표 이미지
  • 사용 언어

    # java

강의 소개

✔️ API 서버 개발 미션을 총 7개 완주해요

주문관리 API 서버 개발 미션 소개

  • 이 코스에서는 총 7개의 API를 개발해보는 것을 목표로 합니다. 그 리스트는 다음과 같아요.
    1. 주문 리뷰 작성
    2. 주문 목록 조회
    3. 개별 주문 조회
    4. 주문 접수 처리
    5. 주문 거절 처리
    6. 주문 배송 처리
    7. 주문 완료 처리

Gradle 로 빌드합니다. 만약 Maven 을 쓰고 싶은 경우는 강사 제이크에게 얘기해서 도움을 받아보세요.

미션 수행 시 가장 중요한 가치들

  • 각 API를 구현하는 과정에서, 요구사항을 단순한 텍스트로 받아들이는 것이 아니라 늘 그것을 사용할 '사용자' 에 대해 생각하고 설계하는 습관을 들입니다.
  • 또한 모든 미션은 객체지향 프로그래밍 원칙을 중심에 두고 구현하도록 합니다. 테이블부터 생성하지 않습니다.
  • OOP, TDD, ATDD, 클린 코드의 개념을 정확히 이해하고 실제로 활용하도록 노력합니다.
  • 무엇보다도, 좋은 개발 습관을 만들기 위해서는 그에 상응하는 반복 연습이 필요하다는 것을 잊지 않습니다.

이 코스는 프로그래머스의 과제테스트 중 주문관리 API 개발 을 활용해 제작되었습니다. 요구사항의 골자는 해당 과제를 참고하였으나, 학습용으로 사용하기 위해 패키지 구성이나 코드의 전반적인 개선을 진행했습니다. 빌드툴은 Gradle이며, JPA를 사용합니다. 이미 해당 과제를 수행해본 경험이 있더라도 분명 새로운 도움이 될 겁니다.

🗓 학습 기간 안내

  • 과정 시작: 2022/10/4(화)
  • 종료: 2022/11/7(월), 5주

매 주 미션이 주어지며, 하나의 스프린트를 하듯 코스가 진행됩니다. 미션은 최대한 해당 주간 내에 수행하는 것을 권장합니다. 바짝 집중할 준비 되셨나요?

주간 라이브 세션 일정

이 코스는 강사 제이크와 매 주 한 번씩 실시간으로 만나, 찐하게 이번 주 미션에 대한 설명 및 질의응답, 그리고 온갖 커리어에 대한 고민을 털어놓는 시간이 준비되어 있습니다.

  • 매 주 화요일 20시 시작, 약 2시간 소요
  • 때에 따라 질의응답이나 라이브 코딩, 코드리뷰가 길어지면 조금 더 늦게 끝날 수도 있습니다.

세션은 녹화되어 제공되지만, 아무래도 실시간으로 함께하는 것에 비하면 학습 효과가 떨어집니다. 가급적 매번 참여하도록 노력해주세요. 5주간 총 5번, 화요일 저녁 8시입니다.

✔️ 미션을 수행하며 이런 가치를 실현합니다

설계와 코드는 유연성을 가져야 한다

  • 요구사항은 서비스의 성장에 따라 언제든지 변하게 마련입니다. 기존의 요구사항 대비하여 내용이 추가되거나, 심지어 이전에는 중요했던 요구사항이 의미가 없어지는 일도 발생합니다. 이런 상황에 잘 대처하려면 어떻게 해야할까요?
  • 요구사항 변경에 유연하게 대처할 수 있는 설계와 코드에 집중해야 합니다. 변경점 하나 생길 때 마다 미팅을 여러 번 잡아야하고, 영향을 받을 수 있는 코드가 너무 많아 엄두가 안나는 상황이라면 내부 리소스상으로도 문제가 될 뿐만 아니라 비즈니스 요구사항에도 빠르게 대처할 수 없어 결국 전반적인 성장에 저해가 됩니다.

테이블 생성 먼저 하지 말고, 객체지향 모델링을 해보자

  • 오늘도 테이블을 먼저 생성하고, 이에 맞춰 클래스를 만들진 않았나요? 틀린 방법은 아니지만, 객체지향 개발에 가까워지려면 먼저 요구사항을 정확히 파악하는 것이 우선입니다.
  • 항시 테이블 생성이 먼저이고, 그 후 클래스를 만들면 데이터베이스와 SQL 중심적인 개발을 하게 됩니다. 생산성, 유지보수를 모두 잡으려면 이제 객체 중심적인 개발 습관을 들여야 해요.
  • 혹시 IoC(제어의 역전), DIP(의존관계 역전)이 무엇인지 잘 모르겠고 그 차이도 모르겠으며, 심지어 객체지향의 핵심 가치에 맞추어 코드를 작성하는 일이 무척 어색하다면, 이 코스가 확실한 도움이 될겁니다.

수강 후 기대 효과 및 추천 대상

연차가 모든걸 말해주는 것은 아니지만, 대략 1~5년차 사이의 자바 웹 백엔드 개발자 모두에게 추천합니다. 특히 평소 이런 질문을 마음 한 켠에 두고 있었던 분들이라면, 그 답을 찾아나가는 좋은 기회가 될겁니다.

  • 나는 비즈니스 요구사항의 변화에 따라 유연하게 대처할 수 있는 코드를 작성하고 있는걸까?
  • 과연 내가 작성한 코드는 객체지향스러울까? 시니어 개발자 눈엔 어떨까?
  • OOP, ORM, TDD, ATDD, 클린 코드 등... 참 들은건 많은데, 어떻게 실현하지?

특히 부트캠프나 학원을 통해 짧은 기간동안 자바 웹 개발을 집중적으로 학습한 뒤, 그 다음 내가 나아갈 방향을 잘 잡지 못하고 있거나 취업에 어려움을 겪는 분들에게도 추천합니다.

수강 시 꼭 확인해 주세요.

  • Java, Spring, SQL 에 대한 이해 및 기본적인 사용 능력 필수
  • JPA 사용 경험이 없는 경우, 대략이라도 학습해오는 것을 권장합니다(단, 기본적인 SQL(join 포함)을 사용할 수 있어야 합니다).

😒 반대로, 이런 분들에게는 큰 도움이 안 될 수도...

  • 나는 IoC, 와 DIP를 잘 알고 있고, 타인에게 자신있게 설명할 수 있다
  • 내 코드는 항시 OOP스럽게 작성되어 있다
  • TDD/ATDD 의 핵심 가치를 잘 이해하고 있고, 실제로 이를 활용해 개발하고 있다

강사소개

강사 프로필 이미지

2022년 기준 10년차 개발자 제이크. 항상 후배와 동료를 돕는 일에 관심이 많았습니다. 이제는 한 개발자로서의 총체적인 경험을 프로그래머스와 함께 외부로 확장해 더 많은 주니어 개발자들을 돕고자 합니다.

주요 이력

  • 현재 KAKAO 백엔드 개발자
  • 전 KT 소프트웨어 개발자

수강생분들께 한 마디

"해야 할 것은 많고, 들리는 정보도 많고, 와중에 내가 공부한 것을 어디에 어떻게 접목할 수 있을지 모를 때가 많지요? 이 코스를 통해 API 서버 개발 미션을 여럿 수행하면서, 배운걸 직접 사용해보는 경험을 반복해봅시다. 항상 무언가를 도전하려 할 때는 바로 눈 앞에 벽이 보이게 마련인데요. 그 벽을 뛰어넘으면, 나를 한 단계 올려주는 계단이 되어 있더군요. 저와 함께 벽을 계단으로 만들어봐요."


커리큘럼

객체지향의 핵심, 의존역전의 원칙(DIP), IoC, 테스트 코드, jUnit 총 1개

Spring Data JPA를 활용하여 DB 연동 API 개발 총 1개

앞서 주어진 요구사항을 TDD를 활용해 개발 총 1개

비즈니스 도메인 로직에 집중하여, 자신만의 개발 스타일 구축 총 1개

기존 코드, 레거시 코드에 테스트 코드를 추가하며 리팩터링 방법 학습 총 1개

질문 & 답변