project/project

인천주막 (DRF_머신러닝 연계)(2)

JM Lee 2023. 5. 23. 21:05
728x90
역할 분담

단계별로 차근차근 할 것이기 때문에 오늘은 백엔드 쪽 역할을 분담했다.

 

이번에 내가 맡은 부분은 페이지네이션이다.

기존 팀에서 한 번도 수행한 적이 없어서 다른 팀의 코드를 보고 공부할 때만 접한 것이라 조금 선행 공부를 했다.

 

 

페이지네이션 선정

 

페이지네이션은 2가지로 나뉘어 있어서 어떤 방식으로 선택해야 할지 고민이었다.

 

1. 오프셋 기반 페이지네이션(Offset-based Pagination)
- DB의 offset쿼리를 사용하여 ‘페이지’ 단위로 구분하여 요청/응답

 

2. 커서 기반 페이지네이션(Cursor-based Pagination)
- Cursor 개념을 사용하여 사용자에게 응답해준 마지막 데이터 기준으로 다음 n개 요청/응답

 

효율성에 있어서는 커서 기반 페이지네이션이 더 효율적이라는 정보를 받았지만,

와이어프레임 특성 상 오프셋을 기반으로 한 페이지네이션이 더 효율적이라고 판단해서

오프셋 페이지네이션을 사용하기로 했다.

베스트와 페이지별 술을 같이 보게끔 하기 위해서 오프셋 선정

 

페이지네이션

 

위  와이어프레임에 있는 123 버튼을 누르면 그 번호 페이지에 맞는 정보를 가져와야 하는것이

페이지네이션의 주 임무이다.

 

여기서 백엔드의 역할은 서버의 요청을 받아서 요청에 맞는 정보를 offset query에 맞게 가져다 주는 것이다.

 

오프셋 페이지네이션 코드를 만들 때 핵심은

  • JSON 파일로 보내는가?(시리얼라이징 명확하게)
  • 페이지에 맞는 정보가 존재하는 경우/존재하지 않는 경우
  • 존재하지 않는 경우 에러 생성
  • 페이지 별 몇 개씩 내놓는가?
  • settings.py에 환경 설정을 했는가?

정도로 보면 될 것 같다.

 

PageNumberPagination의 경우에는 settings.py에서 설정해도 각 함수에 따라 오버라이딩이 가능

 

깃모지

 

깃모지 : git +emogi

깃에 이모티콘을 넣는 방식으로, 이 사람의 커밋 형식을 어렵지 않게 확인할 수 있다.

우리 팀의 커밋 형식
요종도

 

이런 것이 있었다는 것을 이번에 처음 알아서 해보았다.

 

# 깃모지 다운로드
npm i -g gitmoji-cli

 

git add : 변경사항 스테이지에 올리기
gitmoji -c : git commit -m 대신 gitmoji -c 명령어로 이모티콘과 커밋메시지 작성

위 작업을 해주면 커밋 메세지가 정상적으로 들어간다!

'project > project' 카테고리의 다른 글

[트러블 슈팅]pyenv와 poetry 환경설정 과정  (0) 2023.06.08
인천주막 (DRF_머신러닝 연계)(3)  (0) 2023.05.26
인천주막 (DRF_머신러닝 연계)(1)  (0) 2023.05.23
It-em-is (4)  (0) 2023.05.16
It:em_is (3)  (2) 2023.05.12