우아한테크코스 4기 백엔드 과정에서 경험한 내용의 기록입니다.
Mission | Repository | Pull Request |
---|---|---|
숫자 야구 게임 | java-baseball-precourse | Pull Request |
자동차 경주 게임 | java-racingcar-precourse | Pull Request |
자판기 미션 | java-vendingmachine-precourse | Pull Request |
최종 코딩 테스트 | java-subway-path-precourse | Pull Request |
- 자바 프로그래밍 언어에 대한 기본 문법 학습
- 읽기 좋은 코드를 구현하는 것이 왜 중요한지와 코드를 개선해 읽기 좋은 코드로 변경해 보는 경험
- 자신이 구현한 코드에 대해 단위 테스트와 리팩토링하는 경험
- 웹 프론트엔드에서 웹 백엔드까지 프로그래밍해 웹 애플리케이션을 개발하는 경험
Mission | 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 | ||
체스/step1 | java-chess/step1 | Pull Request | 조시 | 또링 |
체스/step2 | java-chess/step2 | Pull Request |
평일에 진행하는 Effective Java 스터디에 참여하여 크루들과 학습 내용 공유(스터디 저장소)
- Item 08. finalizer와 cleaner 사용을 피하라
- Item 20. 추상 클래스보다는 인터페이스를 우선하라
- Item 47. 반환 타입으로는 스트림보다 컬렉션이 낫다
- Item 62. 다른 타입이 적절하다면 문자열 사용을 피하라
- Item 77. 예외를 무시하지 말라
- 스프링 프레임워크 기반으로 웹 애플리케이션을 개발하는 경험
- TDD, ATDD 기반으로 웹 애플리케이션을 개발하고 리팩토링하는 경험
- 실제 동작하는 서비스를 만들기 위한 백엔드, 프론트엔드의 협업을 경험
Mission | 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 | jwp-shopping-cart/step1 | Pull Request | 아서 | 제이 |
장바구니 - 협업/step1 | jwp-shopping-cart/step1 | Pull Request |
일주일에 한번씩 그림으로 배우는 HTTP & Network 스터디에 참여하여 크루들과 학습 내용 공유(스터디 저장소)
- 개발 프로세스 기반으로 프로젝트 진행, 협업하는 경험
- 배포를 자동화하고, 피드백을 받아 개선하는 경험
모의 인터뷰의 준비부터 회고까지 모든 과정을 관리할 수 있는 공간입니다.
- 1차 데모 - 서비스 최종 기획 발표 및 팀 문화 공유
- 2차 데모 - 계획한 이슈 목록 및 완료 목록, 브랜치 전략, API 문서화, 인프라 환경 공유
- 3차 데모 - 추가된 기능 소개, 버그 해결, 시멘트 버저닝 공유
- 4차 데모 - 추가된 기능 소개, UX/UI 개선, 테스트 코드 개선, 프론트엔드의 성능 리포트 및 백엔드의 정적 분석 리포트 공유
- 5차 데모 - 추가된 기능 소개, 프론트엔드 성능 개선, 백엔드 쿼리 개선, 톰캣 설정 튜닝 공유
Mission | Repository | Pull Request |
---|---|---|
JPA Hands-on/엔티티 매핑 | jwp-qna | Pull Request |
JPA Hands-on/연관관계 매핑 | jwp-qna | Pull Request |
JPA Hands-on/질문 삭제하기 리팩터링 | jwp-qna | Pull Request |
- 웹 서버 구현을 통해 HTTP를 이해하고, 서블릿 컨테이너의 동작 원리 이해
- JDBC 라이브러리, MVC, DI 프레임워크 구현을 통해 Spring 프레임워크의 동작 원리 이해
- 팀 프로젝트로 진행한 결과물을 유지 보수하며 서비스를 운영하는 경험
- 레거시 코드를 리팩토링하면서 안정적으로 서비스를 운영해 보는 경험
- 대용량 서비스를 위한 시스템 아키텍처 설계, 데이터 처리 경험
Mission | Repository | Pull Request | Reviewer | Reviewee |
---|---|---|---|---|
톰캣 구현하기/step1 | jwp-dashboard-http/step1 | Pull Request | 수달 | 배카라 |
톰캣 구현하기/step2&step3&step4 | jwp-dashboard-http/step2 | Pull Request | ||
MVC 프레임워크 구현하기/step1 | jwp-dashboard-mvc/step1 | Pull Request | 로마 | 스컬 |
MVC 프레임워크 구현하기/step2 | jwp-dashboard-mvc/step2 | Pull Request | ||
MVC 프레임워크 구현하기/step3 | jwp-dashboard-mvc/step3 | Pull Request | ||
JDBC 라이브러리 구현하기/step1 | jwp-dashboard-jdbc/step1 | Pull Request | 디우 | 포키 |
JDBC 라이브러리 구현하기/step2 | jwp-dashboard-jdbc/step2 | Pull Request | ||
JDBC 라이브러리 구현하기/step3 | jwp-dashboard-jdbc/step3 | Pull Request | ||
레거시 코드 리팩터링/step1 | jwp-refactoring/step1 | Pull Request | 배카라 | 판다 |
레거시 코드 리팩터링/step2 | jwp-refactoring/step2 | Pull Request | ||
레거시 코드 리팩터링/step3 | jwp-refactoring/step3 | Pull Request |
- JPA N+1
- TDD와 BDD. 그리고 DCI 패턴
- Test Double
- String vs. StringBuilder vs. StringBuffer
- 테코톡 정리 - 트랜잭션
- 테코톡 정리 - 스프링 트랜잭션
- 테코톡 정리 - CI/CD와 무중단 배포
- 테코톡 정리 - 인덱스
- 테코톡 정리 - Spring AOP
- 테코톡 정리 - JDK Dynamic Proxy vs CGLIB Proxy
Level | Topic & Content | Pull Request |
---|---|---|
1 - 기록 | 우아한테크코스 한 달 생활기 | Pull Request |
2 - 성장 | 우테코에서 찾은 나만의 효과적인 공부법 | Pull Request |
3 - 회고 | 팀 프로젝트가 나에게 남긴 것 | Pull Request |
4 - 시작 | 내가 꿈꾸는 프로그래머로서의 삶 | Pull Request |
- 우아한테크코스 교육 프로그램 지원 시 필요한 서비스를 개발
- Kotlin + Spring을 사용하여 개발
- 지원 플랫폼 제작을 위한 미션 기반 Kotlin 학습
- [service-apply] 지원 플랫폼 개발