우아한테크코스 4기 백엔드 과정(2022.02 ~ 2022.11.25)
우아한형제들에서 진행하는 개발자 양성 교육 과정
- TDD, ATDD, JDBC, Spring boot, 웹 서버 등의 주제를 기초부터 학습
- 미션 및 현직자 코드 리뷰 중심의 교육
- 페어 프로그래밍, 팀 프로젝트를 통한 협업 중심
- 객체 지향과 레거시 코드 리펙토링에 대해서 학습
Project | Repository | Pull Request |
---|---|---|
숫자야구게임 | java-baseball-precourse | Pull Request |
자동차 경주 게임 | java-racingcar-precourse | Pull Request |
자판기 미션 | java-vendingmachine-precourse | Pull Request |
- 자바 프로그래밍 언어에 대한 기본 문법을 익혀 프로그래밍하는 경험을 한다.
- 읽기 좋은 코드를 구현하는 것이 왜 중요한지와 코드를 개선해 읽기 좋은 코드로 변경해 보는 경험을 한다.
- 객체지향적인 코드를 작성한다.
Project | Repository | Pull Request |
---|---|---|
자동차 경주 게임 | java-racingcar-step1 | Pull Request |
java-racingcar-step2 | Pull Request | |
로또 | java-lotto-step1 | Pull Request |
java-lotto-step2 | Pull Request | |
블랙잭 | java-blackjack-step1 | Pull Request |
java-blackjack-step2 | Pull Request | |
체스 | java-chess-step1 | Pull Request |
java-chess-step2 | Pull Request |
- 자동차 경주게임 리뷰 정리
- 로또 리뷰 정리
- 블랙잭 리뷰 정리
- 체스 리뷰 정리
- git-cherry-pick
- new ArrayList<>()와 Arrays.asList()와 List.of()
- [Gradle] runtimeOnly와 implementation와 testImplementation의 차이
- 레벨1 정리 포스팅
- 레벨1 코드 리뷰 스터디
- spark 에서 spring boot로 이전한다.
- Spring 프레임워크 기반으로 웹 애플리케이션을 개발하는 경험을 한다.
- TDD, ATDD 기반으로 웹 애플리케이션을 개발하고 리팩토링하는 경험을 한다.
- 데코레이터 패턴, 어뎁터 패턴 등 다양한 디자인 패턴을 적용
Project | Repository | Pull Request |
---|---|---|
웹 체스 | jwp-chess-step1 | Pull Request |
jwp-chess-step2 | Pull Request | |
지하철 노선도 관리 | atdd-subway-map-step1 | Pull Request |
atdd-subway-map-step2 | Pull Request | |
지하철 경로 조회 + 로그인 | atdd-subway-path-step1 | Pull Request |
atdd-subway-path-step2 | Pull Request | |
장바구니 | jwp-shopping-cart-step1 | Pull Request |
jwp-shopping-cart-step2 | Pull Request |
- 웹 체스 리뷰 정리
- 지하철 노선도 관리 리뷰 정리
- 지하철 경로 조회 리뷰 정리
- 장바구니 리뷰 정리
- @Mock vs @MockBean vs @InjectMocks
- [Junit] Mock, Fake, Stub 테스트 더블의 종류
- [Exception]checked Exception vs unchecked Exception
- @RequestBody와 @ModelAttribute 차이
- Junit5 테스트 동작 방식과 빈 주입
- 디스페처 서블릿의 흐름
- 리플랙션 API
- 패스워드 저장 시 단방향 해시 함수의 문제점과 해결법
공식(공유해줘 너의 지식) : 우테코 크루들을 위한 질문 게시판
데모 영상
Project | Description |
---|---|
1차 데모 동영상 | 프로젝트 설명 & 팀문화 |
2차 데모 동영상 | CI/CD & 브랜치 전략 & API 설계 |
3차 데모 동영상 | 테스트 전략 & 자동화 테스트 & 로깅 전략 & HTTPS |
4차 데모 동영상 | 정적 분석 리포트 & CloudWatch logs 대시보드 |
5차 데모 동영상 | 부하 테스트 & 조회 쿼리 성능 개선 |
- 톰캣을 구현하며 HTTP와 서블릿에 대한 이해도를 높이고, 쓰레드와 쓰레드풀을 적용해보고 동시성 처리를 경험한다.
- MVC 프레임워크를 구현하고 점진적인 리팩터링을 경험한다.
- JDBC 라이브러리를 구현하며 데이터베이스에 대한 이해도를 높인다.
- 레거시 프로젝트를 리팩터링하는 경험을 통해 서비스를 안정적으로 운영하면서 레거시 코드를 리팩터링할수 있는 역량을 키운다.
Project | Repository | Pull Request |
---|---|---|
톰캣 구현하기 | jwp-dashboard-http-step1 | Pull Request |
jwp-dashboard-http-step2 | Pull Request | |
MVC 구현하기 | jwp-dashboard-mvc-step1 | Pull Request |
jwp-dashboard-mvc-step2 | Pull Request | |
jwp-dashboard-mvc-step3 | Pull Request | |
JDBC 라이브러리 구현하기 | jwp-dashboard-jdbc-step1 | Pull Request |
jwp-dashboard-jdbc-step2 | Pull Request | |
jwp-dashboard-jdbc-step3 | Pull Request | |
레거시 코드 리펙토링 | jwp-refactoring-step1 | Pull Request |
jwp-refactoring-step2 | Pull Request | |
jwp-refactoring-step3 | Pull Request |