- 2023.2.7 ~ 2023.3.31
- Java, 객체지향, TDD 등 프로그래밍 기본에 대한 학습을 한다.
Project | Repository | 1단계 PR | 2단계 PR | 3단계 PR |
---|---|---|---|---|
자동차 경주 - 단위 테스트 |
Repository | 1단계 PR | 2단계 PR | X |
사다리 타기 - TDD |
Repository | 1단계 PR | 2단계 PR | X |
블랙잭 - Clean Code |
Repository | 1단계 PR | 2단계 PR | X |
체스 - OOP, DB |
Repository | 1단계 PR | 2단계 PR | 3단계 PR |
- Varargs와 Heap Pollution
- 동일성과 동등성
- equals & hashCode
- enum 소개 및 API 파헤쳐보기
- enum의 구현 방식 알아보기
- Throwable 소개 및 API
- 커스텀 예외 사용에 대한 생각
- 왜 상태와 행위를 한 곳에서 관리해야 할까?
- getter는 금기가 아니다
- 설계 관점에서 바라본 불변 객체
- 자동차 경주 미션 회고
- 자동차 경주 미션 학습 기록
- 사다리 타기 미션 회고 및 학습 기록
- 블랙잭 미션 회고
- 블랙잭 미션 학습 기록
- 체스 미션 회고
- 체스 미션 학습 기록 - 1
- 체스 미션 학습 기록 - 2
- 우아한테크코스 레벨 1 회고
- 2023.4.11 ~ 2023.6.9
- Spring Boot 프레임워크를 기반으로 웹의 개념을 이해한다.
- 협업 프로젝트를 통해 배포까지의 프로세스를 경험해본다.
Project | Repository | 1단계 PR | 2단계 PR |
---|---|---|---|
웹 자동차 경주 미션 |
Repository | 1단계 PR | 2단계 PR |
쇼핑 장바구니 미션 |
Repository | 1단계 PR | 2단계 PR |
지하철 미션 |
Repository | 1단계 PR | 2단계 PR |
쇼핑 주문 미션 - 협업 |
Repository | 1단계 PR | X |
- Bean, IoC 컨테이너의 기본 개념 정립하기
- 의존성 주입이란?
- Layered Architecture란?
- 빈 스코프
- 장바구니 미션) 도메인에서 영속성 분리해보기
- Spring Boot에서 로깅해보기
- ResponseEntity, RequestEntity, HttpEntity
- Spring Interceptor
- Interceptor 생성으로 인해 컨트롤러 테스트가 깨지는 경우
- Query Parameter, Path Variable은 무엇이고 언제 사용할까?
- HTTPS 개념 및 EC2로 배포한 서버에 적용하기(nginx + cerbot)
- 도메인 엔티티 ID 부여에 대한 주관적인 생각
- Web Server vs. WAS
- Foward Proxy vs. Reverse Proxy
- REST 기본 개념 총정리 1편 - REST의 등장 배경
- REST 기본 개념 총정리 2편 - REST의 6가지 제약조건 소개
- REST 기본 개념 총정리 3편 - 균일한 인터페이스
- JDBC, SQL Mapper, ORM
- 웹 자동차 경주 미션 학습 기록
- 웹 장바구니 미션 학습 기록 - 1
- 웹 장바구니 미션 학습 기록 - 2
- 지하철 미션 학습 기록 - 1
- 지하철 미션 학습 기록 - 2
- 쇼핑 주문 협업 미션 학습 기록 - 1
- 쇼핑 주문 협업 미션 학습 기록 - 2
- 우아한테크코스 레벨2 회고
- 2023.6.27 ~ 2023.8.18
- 기획, 개발, 배포까지의 모든 프로세스를 협업 프로젝트로 경험해본다.
효율적인 학습을 경험하고 싶다면? 하루스터디!
- 영속성 컨텍스트 기본 개념 알아보기
- Java 11 vs. Java 17
- Pull Request와 Merge Branch(feat. CI)
- 캐싱으로 인해 베포한 내용이 반영되지 않는 문제 해결하기
- 브라우저 저장소 개념 알아보기
- 세션 방식의 인증과 토큰 방식의 인증 알아보기
- 하루스터디 데이터베이스 설계 과정 및 느낀 점
- JWT 개념 이해해보기
- 대칭키 vs. 비대칭키
- Oauth의 등장 배경 및 개념 이해해보기
- SOP와 CORS
- 하루스터디 협업 1주차 회고
- 하루스터디 협업 2주차 회고
- 하루스터디 협업 3주차 회고
- 하루스터디 협업 4주차 회고
- 하루스터디 협업 5주차 회고
- 하루스터디 협업 6주차 회고
- 하루스터디 협업 7주차 회고
- 우아한테크코스 레벨 3 회고
- 2023.8.29 ~ 2023.10.27
- Tomcat, Spring MVC, JDBC와 같은 기반 기술을 이해하고 직접 구현해본다.
- 팀 프로젝트를 리팩토링하고 고도화한다.
Project | Repository | 1단계 PR | 2단계 PR | 3단계 PR | 4단계 PR |
---|---|---|---|---|---|
Tomcat 구현하기 |
Repository | 1단계 PR | 2단계 PR | X | X |
MVC 구현하기 |
Repository | 1단계 PR | 2단계 PR | 3단계 PR | X |
JDBC 라이브러리 구현하기 |
Repository | 1단계 PR | 2단계 PR | 3단계 PR | 4단계 PR |
레거시 코드 리팩토링 |
Repository | 1단계 PR | 2단계 PR | 3단계 PR | 4단계 PR |
- 에러코드, 상태코드, 예외 메세지를 쉽게 관리해보자!(+에러코드 문서화)
- IO Stream이란 무엇일까?(+Stream이란?)
- HTTP 요청 및 응답 구조 알아보기
- maxThreads, maxConnections, acceptCount로 톰캣 튜닝하기
- 리플렉션이란?(+@GetMapping 만들어보기)
- Servlet Filter란?
- DDL과 트랜잭션, 그리고 Atomic DDL
- 어드민 페이지 개발하기 - 요구사항 분석
- 어드민 페이지 개발하기 - 로그인 구현
- 어드민 페이지 개발하기 - 통계 기능 구현
- DataSource 별 성능 테스트하기 & HikariCP는 왜 성능이 좋을까?
- 쉽게 이해해보는 DispatcherServlet
- 물리 트랜잭션과 논리 트랜잭션, 그리고 트랜잭션 전파에 관하여
- 데이터베이스 호환성을 고려한 무중단 배포 진행하기
Level | Topic | Content |
---|---|---|
1 |
우아한테크코스 한달 생활기 | 우아한테크코스에서의 여행 |
2 |
자유주제 | 현실을 꿈꾸다 |
4 |
내가 꿈꾸는 프로그래머로서의 삶 | 끝은 창대하지 않아도 괜찮으니까 |