우테코(20)
-
[우테코 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 -
우아콘 2024, 다녀왔습니다!
기억에 남는 키워드 기획이 완벽하지 않더라도 서비스를 이해할 수 있어야 한다. 현업에서 중요한 능력인 것 같다.기획이 완벽하면 우리는 대체 가능한 인력이 된다. KPT 회고. 회고라는 키워드가 중요했을 수 있지만 KPT라는 단어만 맴돈다.5F 회고하는 중인데... 별개로 제텔카스텐이라는 메모 작성 기법도 알게 되었다. 기술, 패턴을 적용하기 위해서 서비스를 개발하지 말라. 어제 프로젝트 주제를 정하기 전, 기술에 대해서 먼저 논의했던 기억이 난다... "DDD는 DDD로 설명하면 안 된다." 는 뉘앙스로 설명해 주셨는데 와닿았다. 생각보다 DDD 개념이 넓어서 어려웠지만, 참가했던 세션 중에서 여러모로 발표가 완벽하셨다.역시나 발표 후, 라운지에서 인기를 체감할 수 있었다. 카프카 진..
2024.10.31 -
[우테코 7기 프리코스 2주 차] 옵저버 패턴
2주 차 과제인 자동차 경주 게임을 진행하며, 매 라운드(이동 시도)마다 자동차의 위치를 출력해야 한다는 요구 사항이 있었다. 이를 반영하면서 생긴 고민들을 기록해보고자 한다. 매 라운드마다 자동차의 위치를 출력하라. 처음엔, 직관적으로 라운드가 끝날 때 Cars 클래스(일급 컬렉션)의 멤버 변수인 Car 리스트를 순회하며, 각 Car 클래스에서 OutputHandler 클래스의 출력 메서드를 호출하는 방법을 생각했다. 하지만 이 경우 Car 클래스가 OutputHandler 클래스에 의존하는 것이 불편하게 느껴졌다. OutputHandler를 정적 클래스로 두지 않고 객체로 관리하고 싶었기 때문에 이러한 의존성이 형성되는 것은 피할 수 없었다. 그렇다면 반대로 OutputHandler 클래스가 ..
2024.10.30 -
[우테코 7기 프리코스 2주 차] 일급 컬렉션
1주 차, 많은 코드를 리뷰하며 일급 컬렉션(First Class Collection)이라는 새로운 개념을 배우게 되었다. 이는 소트웍스 앤솔로지의 객체지향 생활체조 규칙 8번에서 언급되는 내용으로,컬렉션을 객체로 캡슐화해 책임을 분리하고 불변성을 유지하는 설계 방식을 의미한다. 새롭게 알게 된 개념을 적용해가며 느낀 점과 배운 내용을 기록해보고자 한다. 개념일급 컬렉션 단일 Collection만을 멤버변수로 갖고, 이를 Wrapping하여 사용하는 클래스 비즈니스 종속적인 자료구조:비즈니스 로직에 맞춘 컬렉션 구조를 설계할 수 있습니다.상태와 행위의 일원화:데이터를 담고 처리하는 행위(method)를 한 클래스 내에서 통합 관리할 수 있습니다.테스트 용이성:컬렉션에 대한 로직이 한 곳에 집중되므로,..
2024.10.29 -
[우테코 7기 프리코스 2주 차] NsTest
1주 차 피드백을 바탕으로 TDD를 적용하려고 하니, 생각지도 못한 큰 난관에 부딪혔다. 바로 테스트 툴에 대한 이해가 부족하다는 것...그렇게나 공부하고 많은 예시를 봤음에도 직접 경험하지 않는다면 무용지물이다. 추상적으로만 생각했을 때, 단순히 실패하는 테스트 케이스를 작성하고, 그 테스트가 통과하도록 코드를 작성한 후, 리팩토링하면 된다고 생각했다. 하지만 실제로는 그 과정이 훨씬 더 복잡했다. 테스트 케이스를 어떻게 작성해야 할지도 감이 잘 오지 않았고, 무엇보다 테스트가 서로 의존적이지 않게 구성하는 방법에 대해서도 막막했다. 특히 이번 과제는 표준 입력을 다루는 특성상, 이를 테스트하는 방법이 쉽지 않았다. 이전에 사용해 본 Mockito 같은 라이브러리를 사용한다면 해결할 수 있을까 싶었지만..
2024.10.24