woowacourse-projects
woowacourse-projects copied to clipboard
[우아한 테크코스 3기 웹 백엔드 과정] 학습 내용 정리 ❗
👨🏻💻 woowacourse-projects
우아한테크코스 3기 백엔드 과정을 진행하며 학습했던 내용들을 정리했어요

어제의 나와 경쟁하자.
♥️ Level 0: 프리코스
기간
-
2020.11.25 – 2020.12.16
진행 미션
Mission | Repository | Pull Request |
---|---|---|
숫자 야구 게임 | java-baseball-precourse | Pull Request |
자동차 경주 게임 | java-racingcar-precourse | Pull Request |
지하철 노선도 미션 | java-subway-map-precourse | Pull Request |
블로그 포스팅
❤️ Level 0.9: 프리코스
기간
-
2020.12.19
진행 미션
Mission | Repository | Pull Request |
---|---|---|
지하철 노선도 경로 조회 미션 | java-subway-path-precourse | Pull Request |
블로그 포스팅
🧡 Level 1: 단위 테스트, TDD, 상속, 인터페이스, FP, OOP, 웹, DB
기간
-
2021.02.02 – 2021.04.02
학습 목표
- 자바 프로그래밍 언어에 대한 기본 문법을 익혀 프로그래밍하는 경험을 한다.
- 읽기 좋은 코드를 구현하는 것이 왜 중요한지와 코드를 개선해 읽기 좋은 코드로 변경해 보는 경험을 한다.
- 자신이 구현한 코드에 대해 단위 테스트와 리팩토링하는 경험을 한다.
- 웹 프론트엔드에서 웹 백엔드까지 프로그래밍해 웹 애플리케이션을 개발하는 경험을 한다.
진행 미션
Mission | Repository | Pull Request | Pair | Reviewer |
---|---|---|---|---|
자동차 경주 게임 | 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 | 게이츠 | ||
JS 투두리스트 스텝1 | js-todo-list-step1 | Pull Request | 동동 |
블로그 포스팅
- [Java] Java API 생성자 구현 및 검증 방식
- [IntelliJ] Column Selection Mode(컬럼 선택 모드) for mac
- [Java] 컬렉션 프레임워크(Collections Framework)
- [Java] 상속은 캡슐화를 깨뜨린다?
- [Java] 정적 팩토리 메서드 장단점과 사용시기
- [Java] instanceof vs isInstance()
- [Java] 원시값 포장이란?
- [Java] abstract 클래스와 interface는 언제 사용할까?
- [MYSQL] 우테코 레벨1 SQL 미션
- [Java] Arrays.asList() vs Collections.singletonList()
- [Java] java.util.Collections 주요 메소드 정리
- [우아한테크코스 3기] 레벨 1 - 1주차 회고
- [우아한테크코스 3기] 레벨 1 - 2주차 회고
- [우아한테크코스 3기] 레벨 1 - 3주차 회고
- [우아한테크코스 3기] 레벨 1 - 4주차 회고
- [우아한테크코스 3기] 레벨 1 - 5주차 회고
- [우아한테크코스 3기] 레벨 1 - 6주차 회고
- [우아한테크코스 3기] 레벨 1 - 7주차 회고
- [우아한테크코스 3기] 레벨 1 - 기록
💛 Level 2: 스프링 입문, 배포 인프라, 웹 프로젝트
기간
-
2021.04.13 – 2021.06.04
학습 목표
- 레벨1에서 구현한 체스 애플리케이션 경험을 토대로 스프링 프레임워크를 활용하여 구현하는 경험을 한다.
- Linux 환경에 애플리케이션을 배포하는 경험을 한다.
- 네트워크 통신 과정을 이해해본다.
- 로그를 남기고 서버의 상태를 확인하는 방법을 익힌다.
- 스프링 프레임워크의 기본적인 개념을 이해하기 위해 지하철 노선도 정보를 관리하고 경로조회, 즐겨찾기, 요금계산 등 기능을 제공하는 서비스를 구현한다.
진행 미션
Mission | Repository | Pull Request | Pair | Reviewer |
---|---|---|---|---|
스프링 입문 - 체스 | 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 | 데이브 | ||
스프링 -협업 미션 | atdd-subway-fare/step1 | Pull Request | 우기, 포츈 | 제이 |
블로그 포스팅
- [Network] http의 특징과 각각에 대해 간략히 설명해 주세요
- [Database] Inner Join vs Outer Join
- [Java] Call by value?
- [Network] DDos공격에 대응하는 법
- [AWS] EC2의 스토리지 용량 재부팅 없이 늘리기
- [AWS] Ubuntu Docker 설치
- [SpringBoot] HttpSession 대신 HandlerMethodArgumentResolver 사용하기
- [SpringBoot] @SpringBootApplication @SpringBootConfiguration, @EnableAutoConfiguration
- [Spring] 애플리케이션 컨텍스트
- [Network] OSI 7계층이란?
- [SpringBoot] Local-Memory 캐시를 사용해보자
- [Network] TCP 연결과정에 대해 알아보자
- [Spring] 쓰레드 관점에서 본 Spring MVC HTTP 요청과정
- [우아한테크코스 3기] 레벨 2 - 성장
- [Spring]서블릿 Filter를 사용해보자
💚 Level 3: 프로젝트(JPA, 프로젝트 기획, 개발 문화, GIT 브렌치)
기간
-
2021.06.22 – 2021.08.13
학습 목표(팀 문화)
- Spring Data JPA를 사용하며 이전 미션에 JDBC로 작성된 코드를 리펙토링한다.
- JPA를 활용하여 프로젝트에 적용해본다.
- 프로젝트를 기획하며 개발 계획, 문화를 팀크루들과 빌드업 한다.
- Team CVI 슬로건
- 사용한 기술을 문서화한다.
- 100번 물어보면 100번 답한다.
진행 미션(PR없이 개인적으로 진행 후 제이슨께 리뷰요청)
Mission | Repository | 리뷰어 |
---|---|---|
JPA리팩터링 | jwp-qna | 제이슨 |
진행 프로젝트
Team CVI - 데모 소개 페이지
https://sites.google.com/woowahan.com/wooteco-demo-3rd/cvi?authuser=0
Team CVI - 깃허브
https://github.com/woowacourse-teams/2021-cvi
Team CVI - 사이트
블로그 포스팅
- [Spring] 스프링 Interceptor
- [Docker] 도커란?
- [Logging] SLF4J란?
- [Logging] Logback이란?
- [DB] NoSql이 무엇인지, 기존 RDBMS와의 차별점은 무엇인지 설명해주세요
- [Spring] Bean 생명주기 콜백
- [OS]멀티 프로세스와 멀티 스레드의 차이는 무엇일까?
- [Java] Json Data를 리스트로 변환하자 with Jackson
- [AWS] EC2 인스턴스 생성하기
- [DB] 하이버네이트(Hibernate)란?
- [우아한테크코스 3기] 레벨 3 - 회고
💜 Level 4: HTTP서버 구현, MVC 프레임워크 만들기, 안정적인 서비스 만들기, JDBC 라이브러리 구현하기
기간
-
2021.08.24 – 2021.10.29
학습 목표
- HTTP, Servlet, Spring Framework에 대한 이해도를 높인다.
- JDBC를 구현하며 JdbcTemplate에 대한 이해도를 높인다.
- 레거시 프로젝트를 리팩터링하는 경험을 통해 서비스를 안정적으로 운영하면서 레거시 코드를 리팩터링할 수 있는 역량을 키운다.
- 동료의 코드를 리뷰하며 협업 능력을 키운다.
진행 미션
Mission | Repository | Pull Request | 리뷰어 |
---|---|---|---|
HTTP 서버 구현하기 | jwp-dashboard-http/step1 | Pull Request | 에드 |
jwp-dashboard-http/step2,3 | Pull Request | ||
MVC 프레임워크 구현하기 | jwp-dashboard-mvc/step1 | Pull Request | 루트 |
jwp-dashboard-mvc/step2,3 | Pull Request | ||
JDBC 라이브러리 구현하기 | jwp-dashboard-jdbc | Pull Request | 삭정 |
조회 성능 개선하기 | sql-tuning | Pull Request | 웨지 |
레거시 코드 리팩터링 | jwp-refactoring/step1 | Pull Request | 포츈 |
진행 리뷰
Mission | Pull Request | 리뷰이 |
---|---|---|
HTTP 서버 구현하기 | Pull Request | 배럴 |
Pull Request | ||
MVC 프레임워크 구현하기 | Pull Request | 나봄 |
Pull Request | ||
JDBC 라이브러리 구현하기 | Pull Request | 파즈 |
조회 성능 개선하기 | Pull Request | 다니 |
레거시 코드 리팩터링 | Pull Request | 와이비 |
블로그 포스팅
- [Docker] —memory 옵션 kernel 예외
- [Java] 해시 함수(Hash Function)란?
- [Java] Java7과 Java8의 특징
- [DB] 정규화란?
- [MYSQL] 한글 별칭(aslias) 예외
- [JUnit5] @ParameterizedTest 애노테이션(반복 테스트) 커스텀 하기
- [HTTPS] 클라이언트와 서버가 HTTPS 프로토콜에서 통신할 때 CA 동작과정
- [SpringBoot] 멀티모듈 구조에서, 다른 모듈의 테스트 클래스 사용하기
💻 테코톡
10분 테코톡
이란 우아한테크코스 과정을 진행하며 크루(수강생)들이 동료들과 학습한 내용을 공유하고 이야기하는 시간이에요.
서로가 성장하기 위해 지식을 나누고 대화하며 생각해보는 시간으로 자기 주도적인 성장을 지향하는 우아한테크코스의 문화 중 하나예요.
- [10분 테코톡] ☂️ 검프의 Docker #실습편 3부
- [10분 테코톡] ☂️ 검프의 Docker #실습편 2부
- [10분 테코톡] ☂️ 검프의 Docker #실습편 1부
- [10분 테코톡] ☂️ 검프의 Docker #이론편
- [10분 테코톡] ☂️ 검프의 Logging(로깅) #2
- [10분 테코톡] ☂️ 검프의 Logging(로깅) #1
🎤 인터뷰
누군가를 인터뷰한다는건, 마치 시험을 보는 것과 비슷한 느낌이 들곤합니다. 하지만 함께 공부하고 성장하는 친구를 인터뷰 하는건 어떨까요? 우테코에서 학습하는 크루들의 생각을 좀 더 깊이있게 알아가기 위해 크루가 크루를 인터뷰하는 인터뷰 챌린지예요.
📜 글쓰기 코스
학습목표
- 각 레벨 별로 한 편의 글을 완성하도록 한다.
- 한 편의 글에 자신의 생각과 감정을 논리적으로 담을 수 있도록 한다.
- 독자가 이해하기 쉬운 글을 작성한다.
Level | Topic | Repository | Pull Request | Reviewer |
---|---|---|---|---|
기록 | 🖋 우아한테크코스 한 달 생활기 | woowa-writing-3 | Pull Request | 씨유 |
성장 | 🖋 우테코에서 찾은 나만의 효과적인 공부법 | woowa-writing-3 | Pull Request | 준 |
회고 | 🖋 팀 프로젝트가 나에게 남긴 것 | woowa-writing-3 | Pull Request | 포비 |
시작 | 🖋 내가 꿈꾸는 프로그래머로서의 삶 | woowa-writing-3 | Pull Request | 포코 |
👨👩👦👦 스터디
우리는 찾을 것이다. 정답을. 언제나 그랬듯이
https://github.com/DOG-NO-ANSWER-BROS/find-answer
기간
-
2021.04 –
스터디 목표
- 개발 도중에 생기는 궁금증을 해결하고 공유한다.
- 자신의 언어로 지식을 정리한다.