[TIL] 2019-11-14

undefcat·2019년 11월 14일
0

TIL

목록 보기
62/228

2019-11-14 목요일

알고리즘

  • 9.22 - 회전초밥
    - bottom-up 방식으로 해결

사이드 프로젝트로 느낀점

현재 팀원분과 함께 일이 없는 동안 사이드 프로젝트를 진행중인데, 나는 백엔드를 맡았다. SPA라서 따로 페이지 렌더링은 필요 없고 데이터만 뿌려주면 되는데, 백엔드를 nodeTypeScript를 얹어서 개발하고 있다.

지금도 물론 개발중이지만, 지금까지 느낀 점들을 한 번 정리해보고자 한다.

어떤 페이지에 필요한 기본 데이터는 서버에서 모두 뿌려주는게 맞는 것 같다.

SPA를 가정해서 응답 데이터를 만들다보니까 가장 자연스럽게 들었던 생각이, 이 데이터는 이미 받은 데이터니까 굳이 다시 줄 필요 없겠지? 였다. 물론 이 생각에서 이미 받은 데이터라는 가정부터가 잘못되었는데, 사용자가 메인화면에서부터 링크로 타고 타고 특정 페이지에 도달할 수 있는게 아니라 라우팅 기능을 사용하고 있기 때문에, 바로 접근할 수도 있다는 것이다. 그럼 당연히 이미 받은 데이터라는 가정부터가 무너진다.

그러니까, 어떤 페이지에 필요한 데이터는 서버에서 기본적으로 모두 뿌려주게 만들고 나중에 이러한 캐시처리는 따로 프론트와 협의해서 구성해야 할 것 같다.

Request, Domain, Persistent, Response data

서버 어플리케이션을 구성하다보니, 데이터의 타입을 아래와 같이 4가지로 구분할 수 있는 것 같다.

  1. 요청 데이터
  2. 도메인 데이터
  3. 영속성 데이터
  4. 응답 데이터

이 데이터의 타입을 하나로 통일해서 사용할 수가 없다. 따라서, 각 데이터 타입을 엄격하게 정의하고 구분해서 사용해야 할 것 같다.

테스트 환경에서의 오류 처리를 엄격히 구분하자.

TDD를 지향하고자 노력하고 있는데, 오류 처리에 대한 환경 구분도 매우 중요한 것 같다. 뭔가 오류가 터졌는데, 어쩌다 보니까 이 오류를 테스트 환경에서도 감추게 개발해버렸다. 이건 큰 실수다. 이를 생각해서 테스트 환경을 구성해야 할 것 같다.

테스트 코드 작성시 꼼꼼하게

서버는 요청을 응답해주는 것이 기본이다. 그러면 테스트 코드를 작성할 때, 요청데이터와 응답데이터를 꼼꼼히 확인하는 모든 테스트를 작성해야 할 것이다.

profile
undefined cat

0개의 댓글