-
실험의, 실험에 의한, 실험을 위한 하루 (레벨 테스트 2일차 작업 회고)Today I Learned 2022. 10. 4. 23:59
오늘 구현하려 했던 목표는?
- 프론트엔드에서 상품 목록 중 하나를 선택했을 때 상품 상세 정보 페이지로 이동되도록 한다.
- 상품 목록, 상품 상세 목록과 관련된 인수 테스트를 로그인과 관련된 부분을 제외하고 모두 달성한다. 이 과정에서 필요한 백도어 API를 작성한다.
- 상품 목록 페이지에서 상품을 페이지별로 나타나게 하는 페이징을 구현한다.
음... 모두 강의에서 큰 개념들을 다루기는 했었는데, 강의에서 봤던 내용만으로 하기에는 약간 부족하고, 스스로 찾아서 그 약간의 간극을 채워줘야 하는 부분들이 생각보다 많았다.
예를 들면 각 상품의 아이디마다 주소가 바뀌는데, 그 바뀌는 주소에 대해서도 컴포넌트를 생성해야 하는데 어떻게 할 것인가, 그 주소의 컴포넌트에서 상품 아이디를 어떻게 꺼내서 요청할 것인가, 백엔드에서 Pageable 객체를 구체적으로 어떻게 이용하고, 그에 따라 구현 내용이 바뀌는 것들은 어떻게 대처할 것인가 등...
애매하게 모르는 부분이지만, 결국 구현을 해내려면 써야 했기에 쓰는 방법을 찾아야 했다. 어떻게 써야 하는지는 공식 문서에 잘 나와 있다. 하지만 공식 문서만 봐서는 결코 빠른 시간 안에 심도 있게 이해하기가 쉽지 않았다. (죽일 놈의 영어 실력...)
그렇다면 이제 남은 방법은 결국 몸으로 부딪히면서 실험을 해보는 수밖에 없겠구나 싶었다. 쓸 수 있는 수준이 될 때까지 실험을 계속 해보고, 뭔가 범위가 좁혀지는 것 같으면 실험한 내용을 바탕으로 공식 문서를 한번 더 보면서 이해해보려고 하고, 또 실험하고, 또 문서를 보고를 반복했다.
다만 오늘의 실험이 다른 날들과 다른 점이 있다면 오늘은 실험의 거의 모든 과정을 기록했다. 예전에는 실험을 하면서도 안 되면 안 되는대로, 되면 되는대로 그냥 흘려보내곤 했었는데 기억에 남는 게 많이 없는 느낌이었기에 이번에는 다르게 해 보았다. 예쁘게 쓰는 것도 아니고 그냥 날것으로 기록했다.
실험을 되는대로 기록을 남기면서 해 보니 느낀 점들이 있었다.
- 다수의 블로그 글들, 심지어는 검색되는 일부 공식 문서조차도 해당될 수 있는 문제로, 최신 버전이 아닌 경우 나오는 내용들을 현재의 소스코드에 적용할 수 없는 경우가 있다. 블로그 글은 반드시 공식 문서와 교차 검증을 하고, 공식 문서도 버전을 꼭 확인하는 습관을 들이도록 해야 할 것이다.
- 기록을 하니 이 실험이 실패했을 때 그 다음에는 무엇을 해야 하지?가 기록을 하지 않을 때보다 방향을 잡는 데 도움이 되었다. 기록이 어느정도 쌓였을 경우 기록들에서 공통적으로 나타나는 것들을 통해 내가 실험하고 있는 방향을 유지해도 될지, 방향을 바꿔야 할지에 대한 판단이 서는 것 같았다.
물론 실험을 계속 하니 진도 자체는 빠르지 못했다. 아니, 실험으로 모르는 것을 아는 것으로 바꾼 것들이 없이 구현만 하는 식으로 했었다고 해도 속도는 비슷했을수도...? 똑같이 속도가 느릴 거라면, 실험한 것들은 확실히 내 것으로 만들어가면서 계속 해 보자.
'Today I Learned' 카테고리의 다른 글
문서와 테스트는 어느 정도로 심도있게 작성하는 게 맞는 걸까...? (레벨 테스트 4일차 작업 회고) (0) 2022.10.06 프론트엔드 단위 테스트에 하루종일 고통받다 (레벨 테스트 3일차 작업 회고) (0) 2022.10.05 찍어보는데 안되고... 범위는 갑자기 넓어지고... (레벨 테스트 1일차 작업 회고) (0) 2022.10.03 도메인의 컨셉, 그리고 구체적인 동작 (테스트 주도 개발 스터디 2회차 참여 소고) (0) 2022.10.02 React 웹 애플리케이션 Github에 배포하기 (0) 2022.10.01 - 프론트엔드에서 상품 목록 중 하나를 선택했을 때 상품 상세 정보 페이지로 이동되도록 한다.