목록우아한테크코스 (6)
자바칩
회고1. 지원서나 중간 회고에서 현실적인 목표를 설정하고 이를 달성했다고 생각하나요? 그 이유는 무엇인가요? 블로그는 항상 꾸준히 올리고 있다. 그러나 공부한 내용이나 기술 지식 같은게 아니라 거의 다 하루 일과를 작성해서 제출하고 있다. 미션을 하루 종일 붙잡고 있어도 어려워서 다른 책을 공부하기가 어려운 것 같다. 4주차 미션이 이렇게 어렵지 않았다면 가능했을 것 같긴 한데, 이번 주는 아쉽게도 무리였다. 매일 10시간 넘게 오로지 미션에만 투자하고 있다. 2. 중간 회고에서 조정한 목표가 실제 목표 달성에 도움이 되었나요? 목표를 달성하는 데 어떤 점이 효과적이었다고 생각하나요? 사실 저번주까지는 미션이 크게 어렵지 않았다. 다만 내가 요구사항을 놓쳐버려서 예제 테스트를 2개중에 1개 틀린 채로 제..
우아한테크코스 프리코스 미션을 진행하면서, 디스코드에서 다른 사람들의 코드를 보고 리뷰를 받거나, 리뷰를 할 수 있다.이전에는 다른 사람에게 리뷰를 받아보기만 했지만 내가 직접 리뷰를 해주기에는 나보다 더 잘하는 사람이 많아보였기 때문에 살짝 겁이 나서 하지 못했다.실제로 다른 사람들의 코드를 몇 개 보았는데 나보다 코드를 잘 작성한 사람들이 많아보였다. 오히려 내가 더욱 배워가는 시간이었다.하지만 이번 3주차때는 용기를 내어서 다른 분의 코드를 리뷰해보았다.나보다 코드를 잘 작성하신 분인 것 같지만, 내가 보기에 이부분은 개선했으면 좋겠다고 생각하는 부분은 최대한 리뷰를 해드리고, 배워갈 점은 배워갔다.아무래도 나도 SOLID 원칙과 클린 코드에 대해 어느 정도는 아는 사람이기 때문에 막힘없이 리뷰를 ..
다른 사람들의 코드를 보면서 내 코드가 생각보다 부실했다는 것을 깨달았다. 다른 분들은 정말 사소한 기능도 여러 가지의 클래스와 메서드로 잘 나누었다. MVC패턴을 주로 적용을 하였는데, 그것을 보고 나도 이번 미션부터 MVC 패턴을 적용하였다. MVC 패턴이란 Controller가 Model과 View를 컨트롤하는 것이다. Model과 View는 서로 모르는 존재가 되어야 한다. 비즈니스 로직을 Model에서 처리하고, 콘솔 입출력은 View에서 처리했다. 즉, Model은 백엔드가 되고 View는 프론트엔드가 된다. 그리고 Spring Boot 프로젝트에서 했듯이 계층을 Controller, Service, Repository로 나누었다. Controller는 Model과 View의 흐름을 컨트롤하는..
회고1. 지원서에 작성한 목표를 얼마나 달성하고 있다고 생각하나요? 그 이유는 무엇인가요? 개발 역량 강화 목표를 달성했다. 이미 학습한 Java 클린 코드 작성법을 활용하여 문제 해결 능력을 더욱 기를 수 있었다. 매일 미션에 집중할 시간을 확보하고, 주어진 문제를 철저히 분석해 해결 방법을 설계하는 과정에서 적극적으로 학습했다. Git 커밋 메시지 규칙을 새로 학습하여 적용하는 시간을 갖게 되었다. 또한, 1주차 미션보다 메서드 기능을 더욱 세분화하여 단일 책임 원칙(SRP)을 완벽히 준수하게 하였다. 학습 과정 점검 및 기록 목표도 달성하였다. 미션 해결 과정에서 느낀 어려움이나 배운 점을 정리하여 블로그에 기록하였다. 나중에 참고하기에도 좋을 것 같다. 또한 나같은 어려움을 겪는 사람들에게도 ..
소감처음에는 프리코스 과제 가이드 페이지를 그대로 따라하면서 과제가 "숫자 야구 게임"인 줄 알고 이 저장소를 fork후 clone 했더니 dependencies가 주입이 되지 않는 문제가 발생했었다. 구글링을 해서 모든 방법을 따라해 보았지만 되지 않아서 결국 스스로 방법을 찾았다. 원인은 C:\Users\{사용자명}\.gradle\caches\modules-2\files-2.1 디렉토리에 존재하는 dependencies들을 적용하지 못하는 이슈였던 것이었다. 그래서 결국 수동으로(프로젝트 우클릭 -> Build Path -> Configure Build Path -> Add External JARs) 외부 jar 파일을 직접 추가했다. 이 방법을 끝났는데 과제가 아예 다른 것이었다는 것을 깨닫고 곧바..
Java 버전 21을 쓰기 위해서는 Gradle 버전 8.0 이상을 써야 호환이 가능하다.하지만 이렇게 Gradle Wrapper에서 버전을 변경한다고 해도 시스템에 설치된 Gradle 버전 자체는 변경되지 않는다.시스템에 설치된 Gradle은 gradle 명령어로 호출Gradle Wrapper는 gradlew 명령어로 호출그러므로 시스템의 설치된 gradle과 gradle wrapper의 버전이 다른데, gradle wrapper 버전을 사용하고 싶다면 gradlew 명령어로 호출하면 된다. camp.nextstep.edu.missionutils.test.NsTest import가 안된다.. dependencies { implementation 'com.github.woowacourse-proj..