우아한테크코스(13)
-
[우테코 7기 프리코스 3주 차] MVC
프리코스 3주 차, 잘못된 입력에 예외가 발생하면 다시 올바른 입력을 요청해야 한다는 요구 사항이 나를 막아세웠다. 무엇이 잘못된 입력인가?이 경우 예외는 어떤 타입으로 던질 것인가?잘못된 입력을 검증하는 책임은 어디에 있는가?입력을 다시 요청하는 로직은 어디에 배치해야 하는가?한 문제를 넘으면 또 다른 난관이 기다리고 있었다. 지금은 문제를 파악하고 해결했기에 넓은 시각으로 볼 수 있지만, 그 당시에는 올바르게 처리하고 있는지 끊임없이 확인하며 버거움을 느꼈다. 완벽함을 추구하는 욕심을 내려놓았다면 빠르게 구현할 수 있었겠지만, 포기할 리 있나. MVC 소프트웨어 설계의 복잡성을 관리하는 방법 중 하나가 바로 MVC(Model-View-Controller) 패턴이다. 애플리케이션의 구조를 세 가지 ..
2024.11.06 -
[우테코 7기 프리코스 2주 차] 회고
과제를 진행하며. [우테코 7기 프리코스 2주 차] NsTest1주 차 피드백을 바탕으로 TDD를 적용하려고 하니, 생각지도 못한 큰 난관에 부딪혔다. 바로 테스트 툴에 대한 이해가 부족하다는 것...그렇게나 공부하고 많은 예시를 봤음에도 직접 경험하지mak-ing.tistory.com [우테코 7기 프리코스 2주 차] 일급 컬렉션1주 차, 많은 코드를 리뷰하며 일급 컬렉션(First Class Collection)이라는 새로운 개념을 배우게 되었다. 이는 소트웍스 앤솔로지의 객체지향 생활체조 규칙 8번에서 언급되는 내용으로,컬렉션을 객mak-ing.tistory.com [우테코 7기 프리코스 2주 차] 옵저버 패턴2주 차 과제인 자동차 경주 게임을 진행하며, 매 라운드(이동 시도)마다 자동차의 위치..
2024.11.01 -
[우테코 7기 프리코스 2주 차] TDD
프리코스 2주 차, 테스트로 시작해 테스트로 마쳤다. 테스트 코드는 백엔드 개발자로서 필수적인 요소라고 익히 알고 있었지만, 실제로는 몇 번의 프로젝트를 진행하면서 테스트를 적극적으로 진행해 본 경험이 없었다. 부끄럽다. 그 이유를 나열하기엔 모두 변명일 뿐, 이번 기회에 TDD를 통해서 내 코드의 퀄리티를 검증하는 방법을 제대로 경험하고 싶었다. 리뷰가 간절했고... TDD Test Driven Development 테스트를 먼저 작성하고, 테스트를 통과시키는 프로덕션 코드를 작성한 뒤 리팩토링하는 과정.Red-Green-Blue 단계로 이루어져, 기능 개발과 리팩토링을 반복적으로 수행하며 코드 품질과 안정성을 높이는 개발 방식. 경험 테스트를 먼저 작성해야한다 테스트를 먼저 작성하라고 권장하는..
2024.10.31 -
[우테코 7기 프리코스 2주 차] 옵저버 패턴
2주 차 과제인 자동차 경주 게임을 진행하며, 매 라운드(이동 시도)마다 자동차의 위치를 출력해야 한다는 요구 사항이 있었다. 이를 반영하면서 생긴 고민들을 기록해보고자 한다. 매 라운드마다 자동차의 위치를 출력하라. 처음엔, 직관적으로 라운드가 끝날 때 Cars 클래스(일급 컬렉션)의 멤버 변수인 Car 리스트를 순회하며, 각 Car 클래스에서 OutputHandler 클래스의 출력 메서드를 호출하는 방법을 생각했다. 하지만 이 경우 Car 클래스가 OutputHandler 클래스에 의존하는 것이 불편하게 느껴졌다. OutputHandler를 정적 클래스로 두지 않고 객체로 관리하고 싶었기 때문에 이러한 의존성이 형성되는 것은 피할 수 없었다. 그렇다면 반대로 OutputHandler 클래스가 ..
2024.10.30 -
[우테코 7기 프리코스 2주 차] NsTest
1주 차 피드백을 바탕으로 TDD를 적용하려고 하니, 생각지도 못한 큰 난관에 부딪혔다. 바로 테스트 툴에 대한 이해가 부족하다는 것...그렇게나 공부하고 많은 예시를 봤음에도 직접 경험하지 않는다면 무용지물이다. 추상적으로만 생각했을 때, 단순히 실패하는 테스트 케이스를 작성하고, 그 테스트가 통과하도록 코드를 작성한 후, 리팩토링하면 된다고 생각했다. 하지만 실제로는 그 과정이 훨씬 더 복잡했다. 테스트 케이스를 어떻게 작성해야 할지도 감이 잘 오지 않았고, 무엇보다 테스트가 서로 의존적이지 않게 구성하는 방법에 대해서도 막막했다. 특히 이번 과제는 표준 입력을 다루는 특성상, 이를 테스트하는 방법이 쉽지 않았다. 이전에 사용해 본 Mockito 같은 라이브러리를 사용한다면 해결할 수 있을까 싶었지만..
2024.10.24 -
[우테코 7기 프리코스 1주 차] 피드백
2024.10.21 - [우아한테크코스] - [우테코 7기 프리코스 1주 차] 객체 지향 [우테코 7기 프리코스 1주 차] 객체 지향프리코스 1주 차, 나라는 PQ의 루트는 항상 우테코였다. 함께 진행하는 사람들의 열정에서 긍정적인 스트레스를 많이 받았고 느끼는 바가 많았다. 기록하고, 회고해 보자! 학습 목표 첫 주mak-ing.tistory.com 드디어 화요일, 1주 차 코드를 서로 리뷰할 수 있게 됐다! 새로운 과제도 나왔고.. 리뷰 내용을 바탕으로 배우고 느낀 점을 기록하려고 한다. (+ 백엔드 공통 피드백까지) indent depth 수정 전public class NumberService { public List processNumbers(List numberStrings) { ..
2024.10.22