우아한테크코스 3기에서 학습한 내용을 정리하는 저장소
- 2020.11.25 – 2020.12.16
Project | Repository | Pull Request |
---|---|---|
숫자 야구 게임 | java-baseball-precourse | Pull Request |
자동차 경주 게임 | java-racingcar-precourse | Pull Request |
지하철 노선도 미션 | java-subway-map-precourse | Pull Request |
- 2020.12.19
Project | Repository | Pull Request |
---|---|---|
지하철 노선도 경로 조회 미션 | java-subway-path-precourse | Pull Request |
- 2021.02.03 – 2021.04.02
- 자바 프로그래밍 언어에 대한 기본 문법을 익혀 프로그래밍하는 경험을 한다.
- 읽기 좋은 코드를 구현하는 것이 왜 중요한지와 코드를 개선해 읽기 좋은 코드로 변경해 보는 경험을 한다.
- 자신이 구현한 코드에 대해 단위 테스트와 리팩토링하는 경험을 한다.
- 웹 프론트엔드에서 웹 백엔드까지 프로그래밍해 웹 애플리케이션을 개발하는 경험을 한다.
Project | Repository | Pull Request | Pair | Reviewer |
---|---|---|---|---|
자동차 경주 게임/step1 | java-racingcar/step1 | Pull Request | 중간곰 | 김고래 |
자동차 경주 게임/step2 | java-racingcar/step2 | Pull Request | 김고래 | |
로또/step1 | java-lotto/step1 | Pull Request | 김김 | 코니 |
로또/step2 | java-lotto/step2 | Pull Request | 코니 | |
블랙잭/step1 | java-blackjack/step1 | Pull Request | 아마찌 | 미립 |
블랙잭/step2 | java-blackjack/step2 | Pull Request | 미립 | |
Java 8 Lambda, Stream API | java-study/da-nyee | |||
체스/step1 | java-chess/step1 | Pull Request | 검프 | 휴 |
체스/step2 | java-chess/step2 | Pull Request | 휴 | |
투두리스트/step1 | js-todo-list-step1/da-nyee | Pull Request |
- [Design Pattern] SOLID 원칙 (SOLID Principles)
- [Java] 스트림 (Stream)
- [Java] 문자열 (String)
- [우아한테크코스] 코드 테스트가 중요한 이유 (Why code testing is important)
- [Java] HashMap vs LinkedHashMap
- [Java] flatMap으로 중첩 루프 없애는 방법 (How to remove nested loops using flatMap)
- [우아한테크코스] 싱글톤 패턴은 객체지향적일까? (Is the singleton pattern object-oriented?)
- [우아한테크코스] SQL 퀴즈 및 정답 (SQL Quizzes and Answers)
- [Java] try-with-resources
- [우아한테크코스] 다니의 학습 로그 - 레벨 1
- 2021.04.13 – 2021.06.04
Project | Repository | Pull Request | Pair | Reviewer |
---|---|---|---|---|
체스/step1 | jwp-chess/step1 | Pull Request | 파피 | 김고래 |
체스/step2 | jwp-chess/step2 | Pull Request | 김고래 | |
지하철 노선도 관리/step1 | atdd-subway-map/step1 | Pull Request | 코다 | 닉 |
지하철 노선도 관리/step2 | atdd-subway-map/step2 | Pull Request | 코다 | 닉 |
경로 조회 / 로그인/step1 | atdd-subway-path/step1 | Pull Request | 크로플 | 게이츠 |
경로 조회 / 로그인/step2 | atdd-subway-path/step2 | Pull Request | 게이츠 | |
협업/step1 | atdd-subway-fare/step1 | Pull Request | 마크 | 데이브 |
- [Java] String vs StringBuffer vs StringBuilder
- [Spring] Entity vs DTO
- [우아한테크코스] 배포 퀴즈 및 정답 (Deployment Quizzes and Answers)
- [우아한테크코스] 운영 퀴즈 및 정답 (Operation Quizzes and Answers)
- [Spring] HandlerMethodArgumentResolver
- [Spring] Bean Validation
- [Spring] Interceptor - CORS Issue
- [Linux] netstat 명령어 (netstat Command)
- [Linux] pidof 명령어 (pidof Command)
- [Network] L2 오류 제어 vs L4 오류 제어 (L2 Error Handling vs L4 Error Handling)
- [우아한테크코스] 기본 생성자가 필요한 이유 (Why the default constructor is needed) (feat. Jackson ObjectMapper + Reflection)
- [Spring] JdbcTemplate queryForObject() - Return Value Issue
- [Java] Gradle Dependency Configurations
- [우아한테크코스] 다니의 학습 로그 - 레벨 2
- 2021.06.22 – 2021.10.29
- 프로젝트 1차 데모 - 서비스 최종 기획, 팀 문화
- 프로젝트 2차 데모 - 이슈 및 완료 목록, 브랜치 전략, API 설계, 배포 자동화, 어플리케이션 데모 (발표자)
- 프로젝트 3차 데모 - 이슈 및 완료 목록, 로깅 전략, API 문서화, 테스트 자동화, 도메인 연결, 어플리케이션 데모
- 프로젝트 4차 데모 - 이슈 및 완료 목록, 성능 리포트, 정적 분석 리포트, CloudWatch Logs 대시보드, 어플리케이션 데모
- 프로젝트 5차 데모 - 성능 테스트 및 개선, 새로운 기능, 어플리케이션 데모
- [Spring] Spring MVC 흐름 (Spring MVC Flow)
- [Spring] @SpringBootTest vs @DataJpaTest
- [Java] HashMap vs HashSet
- [Network] OAuth 2.0 흐름 (OAuth 2.0 Flow)
- [Git] Git Branch 전략 (Git Branch Strategy)
- [DevOps] SonarQube + JaCoCo
- 2021.08.24 – 2021.10.29
Project | Repository | Pull Request | Reviewer |
---|---|---|---|
HTTP 서버 구현하기/step1 | jwp-dashboard-http/step1 | Pull Request | 조엘 |
HTTP 서버 구현하기/step2 | jwp-dashboard-http/step2 | Pull Request | 조엘 |
MVC 프레임워크 구현하기/step1 | jwp-dashboard-mvc/step1 | Pull Request | 중간곰 |
MVC 프레임워크 구현하기/step2 | jwp-dashboard-mvc/step2 | Pull Request | 중간곰 |
JDBC 라이브러리 구현하기/step1 | jwp-dashboard-jdbc/step1 | Pull Request | 피카 |
조회 성능 개선하기/step1 | sql-tuning/step1 | Pull Request | 검프 |
레거시 코드 리팩터링/step1 | jwp-refactoring/step1 | Pull Request | 에어 |
레거시 코드 리팩터링/step2 | jwp-refactoring/step2 | Pull Request | 에어 |
- [Network] REST와 RESTful (REST and RESTful)
- [Java] Arrays.sort() vs Collections.sort()
- [Network] Nginx에 HTTP 2.0을 적용하는 방법 (How to set up Nginx with HTTP 2.0)
- [Real MySQL] 05. 트랜잭션과 잠금
- [Web] 웹 성능 테스트 (Web Performance Testing)
- [Database] DB Replication을 구성한 이유 (Why DB Replication is set up)
- [우아한테크코스] 인덱스 (Indexes)
- [Database] M1(ARM)에서 Embedded Redis를 사용하는 방법 (How to use Embedded Redis on M1(ARM))
- [Git] Tagging으로 버전 관리하기 (Tagging for Version Control)
- [Database] DB Replication 데이터 정합성 문제 (DB Replication Data Consistency Issue)
- 2021.11.01 – 2021.11.26
- 가능한 한 매일 진행하고 개인 저장소에 정리
Level | Topic | Repository | Pull Request | Reviewer |
---|---|---|---|---|
1 - 기록 | 우아한테크코스 한 달 생활기 |
woowa-writing-3/LEVEL1.md | Pull Request | 포코 |
2 - 성장 | 우테코에서 찾은 나만의 효과적인 공부법 |
woowa-writing-3/LEVEL2.md | Pull Request | 워니 |
3 - 회고 | 팀 프로젝트가 나에게 남긴 것 |
woowa-writing-3/LEVEL3.md | Pull Request | 공원 |
4 - 시작 | 내가 꿈꾸는 프로그래머로서의 삶 |
woowa-writing-3/LEVEL4.md | Pull Request | 준 |
- 웹 MVC 각 컴포넌트 역할
- DTO vs VO vs Entity
- 단위 테스트 vs 통합 테스트 vs 인수 테스트
- DispatcherServlet - Part 1
- DispatcherServlet - Part 2
- git submodule로 중요한 정보 관리하기
- JPA CascadeType.REMOVE vs orphanRemoval = true
- 커버링 인덱스
- Flyway
- HashMap vs HashTable vs ConcurrentHashMap