✏️ DAY-8 회고 작성
프로젝트를 진행하며 느낀 점들을 간략하게 작성
안재관
팔로우 기능을 구현했다. 중복처리를 서버에서 해주지 않기 때문에 프론트로 API 호출을 받아와서 중복여부를 검사한 후 다시 API 호출을 통해서 팔로우와 언팔로우를 반영해야 했다.
API에서 unfollow 기능이 제대로 작동하지 않는줄 알았지만 이번에도 내 실수였다. 팔로우하는 유저, 팔로우 당하는유저, 팔로우 자체의 Id 가 있는데 넣어야 할 값들을 잘못넣어서 많은 시간을 허비했다………….
유지영
유저 정보 수정 기능 구현에 시간을 다 썼던 것 같다! 처음엔 라이브러리 없이 구현을 하면서 state를 굳이 안쓰고 싶은데 방법이 없어서 쓴 부분이 있었다. 그리고 멘토님의 말씀처럼 함수에서 한 가지의 기능만 할 수 있도록 api를 호출하는 함수, validate를 체크하는 함수로 나눴었다. 이런 식으로 함수를 나누는 거구나! 하고 배웠던 것 같다.
코드리뷰를 받고 react-hook-form을 도입하기로 결정했고 처음엔 그냥 처음부터 라이브러리를 쓸 걸 그랬나? 하는 아쉬움도 있었다. 하지만 개인적인 공부 차원에서 라이브러리를 쓰지 않았을 때와 라이브러리를 쓰고 난 후의 비교가 체감이 확 되서 오히려 좋았던 것 같다!
react-hook-form 라이브러리를 처음쓰는 것이어서 조금 헤맸었다. 팀원에게도 물어보고 구글링도 하면서 찾다가 몇 시간 동안 고민하던 문제를 공식문서를 보고 해결했을 때 너무 기뻤다. 공식 문서 먼저 볼 걸… 그리고 라이브러리 없이 구현했을 때 더럽게(?) 구현되던 부분이 라이브러리를 사용하니 깔끔하게 구현되어서 좋았다.
박민형
- axios 호출을 함에 있어 network error가 발생해서 많은 시간을 소비했다. 분명히 postman에서는 정상적으로 동작을 했는데 axios 통신을 통해서는 구현되지 않았다 .그러다 body의 속성 중 하나에 값이 문자열에 있어 1개를 빼먹어서 그런 오류가 발생하는 것을 보며 소스코드 작성에 있어 작은 실수도 error로 이어질 수 있다는 것을 알 수 있었다.
조예지
역시 사용성 좋게 어떤 도구를 개발한다는 것은 매우 힘든 과정인 거 같다. 사실 기능을 1차원적으로 구현만 하는 것은 쉽지만, 더 나은 구조로, 팀원들이 사용하기 쉽게 훅을 개발하는 건 많은 고민이 필요한 거 같다.
남은 서스펜스까지만 오늘 해봐야지!
우대현
오늘은 페이지네이션과 하이라이팅 기능 작업을 진행했고, 페이지네이션은 그 간의 데브코스 강의를 통해서 2번 정도 내용을 들었기 때문에 생각 만큼 오래 걸리지 않았다. 하지만 하이라이팅 기능에 대해서 문제 해결을 하기까지 시간을 많이 사용한 것 같다. 크게 2가지 고민이 있었는데 첫 번째 제목, 제목+내용, 작성자 옵션을 선택하면 해당 옵셥과 관련된 부분에 하이라이팅 처리가 되어야 했고 두 번째 고민은 어떻게 해당 부분만 하이라이팅 처리를 해야하는지에 대한 고민 이었다. 첫 번째 고민에 대한 내용은 선택한 검색 옵션 값을 가지고 있기 때문에 금방 해결했지만, 두 번째 부분이 시간이 오래 걸렸다. 조건에 따라 검색어에 해당하는 부분에 <strong>태그를 사이에 넣어주면 될 것 같다는 접근으로 시도 했으나, JSX내부에서 템플릿 리터러를 활용하여 <strong>태그를 넣어주어도 읽어 들이지 못한다는 것을 알게되었고, 역시 개발의 7할 이상은 검색이라고 했던가,, 검색을 통해서 검색할 내용을 배열로 쪼개고 해당 글자 하나 하나에 볼드를 입히는 방법을 활용할 수 있다는 것도 알게 되었다. 어떻게 보면 굉장히 직관적인 내용인데 이 부분에 대해서는 생각하지 못한 것 같다. 아직도 하나의 방법을 생각해내면 어떻게든 그 방법으로 해결하려는 고집이 남아 있는것 같은데 조금 더 유연하게 사고할 수 있게 많은 내용들을 접하고 경험을 쌓을 필요가 있을 것 같다.