9. 우아한 테크캠프 Pro를 마치며
2022. 7. 12. 19:10
개발 교육/우아한 테크캠프 Pro
마치며 이번 우아한 테크캠프 Pro 4기의 지원자는 400명 이상. 그중 60명을 선발하여 교육하기 때문에 경쟁률은 7:1 정도 되었다고 한다 지원했을 때는 '내가 뽑힐 수 있을까' 걱정을 했고, 처음 교육을 시작하기 전에는 '내가 수료할 수 있을까' 정말 많은 걱정을 했다 어렵게 시작한만큼 포기하지 않고 열심히 진행했고 결국 모든 교육 과정을 완료하여 수료자 명단에 들어갈 수 있었다 그것도 우수 수료생으로! 4기 기수의 수료율은 38/60 명으로 63% 였다 약 2달 동안 정말 많은걸 경험한 것 같다 이게 가능할까 싶을 정도로 많은 학습량을 요구했다 매일 새벽 늦게까지 공부해본 건 정말 오랜만이었던 것 같다 교육을 수료하고나서 코드 작성에 대한 자신감도 생겼고, 그러다 보니 재미도 붙은 것 같다 실제 ..
8. 안정적인 서비스 만들기
2022. 7. 12. 17:56
개발 교육/우아한 테크캠프 Pro
미션 후기미션을 통해 배운 점- Nginx 성능 개선 경험 - gzip 압축 - cache 사용 - TLS, HTTP/2 설정- was 성능 개선 경험 - redis 사용 - 비동기 처리- Nginx > 스케일 아웃 (with ASG) 교체 - Sprinboot: HTTP Cache, gzip 설정 - Launch Template 생성 - Auto Scaling Group 생성- 쿼리 인덱스 설계 경험 (execution plan 확인) 리팩터링 단계를 지나고 드디어 만난 마지막 미션!사실 처음엔 마지막 마무리는 좀 쉬어가는 미션이 될 것이라고 생각했다하지만 인프라는 항상 한번에 되는 꼴을 본적이...이번에도 역시 잘안풀려서 많이 고생했다리팩터링 미션으로 심신이 지칠 대로 지..
7. 레거시 코드 리팩터링
2022. 7. 12. 16:16
개발 교육/우아한 테크캠프 Pro
미션 후기 미션을 통해 배운 점 - mock을 통한 테스트 코드 활용 - 레거시 코드 리팩터링 경험 - DTO 활용 - 도메인 모델 Entity 작업 - 일급 컬렉션 작업 - DAO > Repository 교체 작업 - Service > domain 책임 리팩터링 - 의존성 리팩터링 경험 - 멀티 모듈 적용 방법 가장 힘들고 많은 고민을 하게 했던 미션이었다 대신 정말 정말 많은 걸 배웠던 미션이다 앞에서 진행했던 미션들을 응용해서 완성시키는 사실상 마지막 단계라고 봐도 무관할 것 같다 이번 미션을 통과하느냐 마느냐에 따라 수료가 결정된다고 할 정도로 어렵다고 미리 얘기를 들었었다 일단 이번 미션에서 테스트 코드의 진정한 쓰임새가 돋보이는 느낌이다 레거시 코드를 리팩터링하면서 코드를 보호하기 위해 moc..
6. 서비스 진단하기
2022. 7. 12. 15:13
개발 교육/우아한 테크캠프 Pro
미션 후기 미션을 통해 배운 점 - 웹 성능 측정 및 개선 - K6를 통한 부하 테스트 - grafana, cloudwatch를 통한 모니터링 - Nginx Access Log 설정 Jmeter와 NewRelic을 통해 부하 테스트를 하고 모니터링을 해본 경험이 있었다 (이전 글 참고: https://tong-dev.tistory.com/30?category=959546) 그때 부하테스트를 찾아보면서 K6, grafana를 들어본 적은 있었으나 사용해본 건 처음이었다 우선 두 개를 비교했을 때는 모니터링 툴은 느낌이 비슷했고 부하테스트 프로그램은 K6가 조금 더 편했던 것 같다 Jmeter가 그래픽 환경이라 편의성은 직관적이고 더 좋았지만 결과를 요약된 결과를 보거나 테스트를 돌릴 때 더 편했다 K6는 ..
5. 인수 테스트 기반 TDD
2022. 7. 11. 16:42
개발 교육/우아한 테크캠프 Pro
미션 후기 미션을 통해 배운 점 - 인수 테스트 기반 리팩터링 방법 학습 - 인수 테스트 기반 TDD 학습 - 주 생성자 지정하여 주 생성자 한 곳에서 인스턴스 변수 초기화 관리 - 인터페이스를 활용하여 외부 라이브러리 의존성 제거 3주 차 미션에서 인수 테스트(ATDD)에 대한 맛보기를 경험했다면 이번 미션은 조금 더 심화 과정의 느낌이었다 가장 중요한 포인트는 ATDD를 통해 코드를 보호하고 그 안에서 레거시 코드를 리팩터링 하는 경험을 하는 것이었다 확실히 인수 테스트의 장점은 느낄 수 있었다 사실 인수 테스트의 장점이라기보단 테스트 코드의 장점이기도 했지만 리팩터링 하다가 기능이 작동하지 않는 부분이 생기면 빠르게 캐치할 수 있었다 인수 테스트를 미리 작성하게 되면 가장 큰 장점은 '다음은 어떤 ..
4. 그럴듯한 서비스 만들기
2022. 7. 11. 15:37
개발 교육/우아한 테크캠프 Pro
미션 후기 미션을 통해 배운 점 - AWS 내부망/외부망 구축 방법 - 베스쳔 서버 활용 방법 - Nginx를 사용하여 Reverse Prox 구성 - 도커 기본 명령어 숙지 AWS에서 네트워크 망부터 구현해본 경험은 처음이라 많이 헤맨 것 같다 베스쳔 서버란 개념에 대해서도 처음 알게되었고 인프라 쪽은 비용 문제도 있고 해서 개인이 공부하기에는 어려운 부분이 있는데 AWS 계정도 지원해주고 너무 좋았다 (예전에 AWS 공부하려다가 20만 원 정도 날리고 계정 탈퇴했던 기억이...) 인프라 쪽은 항상 어려운 것 같다 문제가 생겨도 어느 부분이 잘못된 건지 찾기가 쉽지 않다..ㅜ 한 번에 되는 경우가 거의 없는 느낌 이번 미션을 진행하면서 가장 큰 복병이 있었는데 바로 집 네트워크 문제였다 AWS에서 네트..
3. 인수 테스트 주도 개발
2022. 7. 7. 17:54
개발 교육/우아한 테크캠프 Pro
미션 후기 미션을 통해 배운 점 - ATDD 개발 방법 - RANDOM_PORT를 이용한 ATDD 코드 작성 - request, response 시 DTO 사용 지향 - UI -> Application -> Domain 방향으로 의존도 설정 ATDD 라는 개념을 미션을 통해 처음 접하게 되었다 해당 테스트 코드를 통해 비즈니스 코드를 한층 더 안전하게 보호할 수 있었고 제대로 작성한다면 요구사항 문서나 테스트 케이스 문서를 대신할 수 있을 만큼 좋은 방법론이었다 하지만 실무에서 ATDD + TDD를 모두 적용하려면 굉장한 공수가 든다고 한다 대부분의 회사에서는 ATDD를 사용하지 않기 때문에 본격적으로 사용하기 보다는 뒤에서 정리하게 될 내용인 코드의 리팩토링이 필요한 경우 인수테스트를 작성할 것 같다 ..
2. JPA
2022. 7. 7. 17:25
개발 교육/우아한 테크캠프 Pro
미션 후기 미션을 통해 배운 점 - JPA 코드 활용법 - 영속성 컨텍스트 이해도 상승 - 테스트 코드 트랜잭션에 대한 이해도 상승 8개의 미션 중 가장 많은 학습시간을 필요로 했던 미션이었다 JPA를 사용해본적이 없는 나로써는 미션의 내용만으로는 이해하고 코드를 작성하기가 어려웠고 혹시나 해서 듣고있었던 김영한님의 인프런 강의가 큰 도움이 되었다 :) 하지만 완강한 상태가 아니었기 때문에ㅜ 빠르게 강의를 들어가며 이론적인 내용을 학습하고 코드의 대한 부족한 부분을 구글을 통해 학습하며 미션을 진행했다 이번 미션을 통해 JPA를 어떤식으로 사용해야하는지 많이 배웠다 어서 실무에서 사용해보고 싶다 :) Code / Feedback 🚀 1단계 - 엔티티 매핑 https://github.com/next-ste..
1. 로또 - TDD
2022. 7. 7. 16:40
개발 교육/우아한 테크캠프 Pro
미션 후기 미션을 통해 배운 점 - 객체지향 생활 체조 원칙을 통한 클린코드 작성 - TDD 사이클을 준수하며 개발 - 객체지향적 설계 (도메인 로직에 집중) - 인스턴스 생성 시 static 생성 고민해보기 - 고정 값 상수 사용, 일급 컬렉션, 원시값 포장 - 객체/메서드 생성 시 책임에 대한 고민 TDD 사이클을 준수하며 개발한 경험은 사실 처음이었다 테스트 코드 작성도 프리 코스를 통해 맛보기 정도로 익혔을뿐 제대로 작성하기엔 많이 부족한 상태였다 첫번째 미션을 통해 테스트 코드 작성에 대한 자신감을 어느정도 얻을 수 있었고 뒤에 계속되는 미션들에서 많은 도움이 되었다 :) 모든 메서드의 테스트 코드를 네이밍 작업에 많은 신경을 썼고, 도메인 중심의 설계 및 구현이 되도록 많은 노력을 했다 이번 ..
0. 우아한 테크캠프 Pro를 시작하며
2022. 7. 7. 15:10
개발 교육/우아한 테크캠프 Pro
신청 과정 올해 상반기에 Nextstep에서 진행하는 우아한 테크캠프 Pro 4기에 지원했다 1차, 2차 온라인 프리코스를 통해 최종 합격한 60명만 교육에 참가할 수 있었기에 조금 걱정스러웠지만 꼭 참가하고싶은 교육이었기에 도전했다 우선 이 교육을 수강하고 싶었던 가장 큰 이유는 연차에 대한 부담이 느껴져서 였다 연차가 쌓여갈수록 회사에서 나에게 기대하는 스펙은 높아져만 가는데 개발자로써 성장하지 못한다는 기분이 들었다 업무 경험을 통해 얻을 수 있는 부분은 한계가 있었고, 새로운 지식들에 대해서는 경험이 필요했다 우테캠 프로가 이 부분을 어느정도 충족해 줄 수있는 교육이라고 생각했다 다행히 4기 교육 인원으로 선발되었고 9주간 정말 열심히 진행했다 :) 일정상 미션을 하면서 블로그 작성까지 같이하는건..