상권's

2022.01.08 Final Project 2주차 회고 본문

~2022 작성 글/Code States 회고

2022.01.08 Final Project 2주차 회고

라마치 2022. 1. 9. 18:25

이번 주부터 본격적으로 서버를 구현했습니다. 구현을 하면서 다음과 같은 것들에 신경 썼습니다.

 

1. api 에러 처리를 확실히 한다.

2. 유저임을 확인할 수 있는 방법(보안)을 구상한다.

3. 클라이언트가 편리한 데이터형태로 응답할 수 있도록 한다.

4. 리차드슨 REST 성숙도 모델 2단계 API를 구현할 수 있도록 한다.

 

1번은 TDD 학습을 통해 어느정도는 구현할 수 있었습니다. 테스트를 구현하진 못해 너무 아쉽지만, 에러처리에서 학습 내용을 활용할 수 있었습니다. 

 

2번은 JWT를 쿠키에 저장해 서버 요청이 들어오면 쿠키 존재여부에 따른 에러처리를 구현했습니다. 남은 기간동안 보안에 더 나은 방법이 없을 지 고민하고 반영해볼 예정입니다.

 

3번은 유저가 follow하고 있는 유저들의 article을 불러올 때, sequelize 메소드를 통해 실천할 수 있었습니다. 초기에 예상했던 데이터 형태처럼 나오긴 했지만, include 메소드로 테이블 명이 닷 노테이션으로 함께 출력되는 부분이 예상과는 달라 추가적으로 학습할 예정입니다.

 

주 중에 예상했던 형태와 다르게 데이터가 출력되면서 프론트 엔드 팀원이 follow의 유무에 따라 키와 벨류를 추가할 수 있는 지 문의를 했었습니다. 다행스럽게도 키와 베류를 추가하지 않고 메소드를 이용해 해결할 수 있었지만, '가능은 하겠지만, 임의로 데이터를 가공해서 보내주는 것이 데이터 무결성에 영향을 줄 수 있지 않을까?'라는 고민을 했습니다. 아직 해당 고민에 대한 적합한 답을 찾질 못했지만, 데이터의 무결성에 대해서 꼭 추가적으로 학습해야겠습니다.

 

4번은 지속적으로 학습하며 반영할 수 있도록 노력할 것입니다.

 

주 초반에는 전체적인 api를 만들고, 후반에는 디테일하게 수정하고 네이버 도서 api를 구현했습니다. 이번 주에 가장 아쉬웠던 건 아직 학습의 깊이가 부족하보니 보안이나, 클라이언트로 send해주는 데이터의 형태 등을 고민할 때 답을 찾기 힘들었다는 것입니다. 현재도 학습하며 프로젝트 깃헙에 데브로그를 작성하고 있지만, 프로젝트 이후에도 학습하는 내용을 반영하여 만족스러운 서버를 구현해보고 싶습니다.

Comments