210331_TIL

seungyeon·2021년 3월 31일
0

TIL

목록 보기
46/64

IM: DAY 38

오늘 한 일

  • IM course 2nd HA - Basic Web Hiring Assessments

    09:00am HA 시작
    10:00am 클라이언트 구현 완료
    12:04pm 서버 구현 완료. 클라이언트와 서버 연동하는 작업 시작 (+ 점심식사)
    12:48pm 제출까지 완료

    • 클라이언트
      마지막에 클라이언트와 서버를 연동하고나니 모두 통과하던 테스트케이스 중 일부가 통과하지 않는 문제 발생.
      이유: 테스트케이스에서는 API 요청과는 별개로 기본값을 가지고 있어야 통과하게끔 만들어놓았기 때문.
      해결방법: App이 가지고 있는 state의 초기값을 null이 아니라 가상데이터로 넣어주면 된다.
    • 서버
      클라이언트에 비해 확실히 서버 쪽이 더 약하다는 것을 느꼈다. 서버를 다시 정리해야겠다.
    • API 호출
      Postman을 왜 사용하는지 제대로 체감할 수 있었던 기회였다. 지난 chatterbox-server 스프린트 때만 해도 아직 포스트맨 사용에 미숙해서 콘솔창으로 찍어가면서 진행했었는데, 지난주에 동기님에게 포스트맨 사용법을 배운 덕을 오늘 톡톡히 봤다. 포스트맨을 사용해서 내가 보내는 요청에 따라 응답이 어떻게 오는지 확인할 수 있었던게 오늘 가장 어려웠던 부분인 라우팅 과정에서 큰 도움이 되었다.
      (다시 한 번 포스트맨의 마법을 선사해주신 동기님에게 감사드린다. 🌛)
  • React Hooks를 사용한 유튜브 클론 앱 리팩토링(미완)

기억할 것

라우팅 경로

http://localhost:3000/movies/{id}
movies/{id}에서 한참 헤맸던 것 같다.
movies?id={id} 형태도 아니고 어떻게 id값을 받아와야 하는지, 어떻게 구분해야할 지 한참 고생을 하다가(진짜 별짓을 다했다. 처음에는 /movies* 로 받아와서 url.path를 (이건 또 url 모듈을 불러와야 한다.) .slice(8) 로 id를 찾아내고, id가 빈문자열인지 아닌지로 조건문을 돌려서 라우팅 처리를 해줬었다.) 다음과 같은 해결방법을 찾아냈다.

app.get('/user/:id', function (req, res, next) {
  console.log('ID:', req.params.id);
  next();
}, function (req, res, next) {
  res.send('User Info');
});

내일 할 일

  • useEffect 정리하기
  • 서버 정리하기

Reference

0개의 댓글