2021-02-14(Sun)

항목

내용

학습 날짜

2021-02-15(월)

학습 시간

11:00~24:00

학습 범위 및 주제

Websocket

학습 목표

Chat Index view를 구현완료한다.

동료 학습 방법

-

상세 학습 내용

다시 프론트엔드와 백엔드 요청에 대한 논의를 했다.

Backbone Model, Collection을 통해서(Backbone에 구현되어있는 메서드를 활용해서) 백엔드와 통신을 주고 받아야할지, 아니면 우리가 구현한 Helper 내의 fetch 함수를 이용해야할지에 대해 기존에 논의해서 정한 기준이 있었지만 현실과 맞지않다고 느껴졌기 때문이다.

지금까지는 이를 요청 메서드에 따라 나눠왔다.

  • body를 보내지 않는 요청 메서드(GET, DELETE 등)를 통해 서버와 통신할 때: Backbone에 구현되어있는 메서드를 활용해서 요청

  • body를 보내는 요청 메서드(POST, PUT, PATCH)를 통해 서버와 통신할 때: Helper 내의 fetch 함수를 활용해서 요청

하지만 구현을 진행하다보니 무조건 요청 메서드에의해 나누는 것이 비합리적으로 느껴졌다. Backbone의 모델과 컬렉션이 없어도 서버와 통신을 주고받는 상황이 많기 때문이다. 애초에 모델과 컬렉션의 fetch메서드는 javascript의 fetch메서드를 RESTful하게 쓸 수 있도록 도와주는 것에 불과하다. 우리는 fetch 메서드를 랩핑하는 Helper 메서드를 만들어뒀으므로, 이를 활용하면 Backbone 메서드를 써서 얻을 이 점이 별로 없다.

결과적으로 서버에 요청할 때 Helper 메서드를 쓰는 것으로 통일했다.

현재의 요구사항과 미래의 변경 가능성 사이에서 어떤 형태로 코드를 구현할지 결정하는게 생각보다 까다롭다! 되도록 '확장에는 열리게, 수정에는 닫히게' 구현하는게 왠만하면 답에 가까울 수 있겠지만 그 마저도 잘 따져보고 선택해야하기 때문이다.

학습 내용에 대한 개인적인 총평

으으 피곤하다.

다음 학습 계획

  • Chat Index view 구현 완료

Last updated