목록웹프로그래밍 (163)

수학과의 좌충우돌 프로그래밍

[Django] DRF Pagination

실제 서비스의 경우에는 레코드의 개수가 많을 것이고 이 경우 하나의 API 요청으로 모든 레코드를 받는 것은 오랜 시간이 걸리게 됩니다. 따라서 이런 경우 페이지를 나눠서 요청을 해야합니다. 다행히도 DRF 에서는 이러한 pagination 기능을 제공하고 있습니다. PageNumberPagination 과 LimitOffsetPagination pagination 을 하는데는 크게 두 가지 방법이 있습니다. 두 방법 모두 url 의 get parameter 를 이용하여 이를 지원해줍니다. 각각에 대해 알아보도록 하겠습니다. PageNumberPagination page : 몇 번째 페이지인지 표시해줍니다. 페이지는 1부터 시작합니다. page_size : 한 페이지에 몇 개의 레코드를 보여줄지 표시해줍..

웹프로그래밍/DRF 2019. 12. 30. 00:29
[Django] filtering 과 Search

목록을 조회하는 ListAPIVIew 에서 필터링하는 방법에 대해서 알아보도록 하겠습니다. 이는 CBV 의 일종이기 때문에 CBV와 익숙하시다면 쉽게 하실 수 있을 겁니다. 여러 인자 획득 filtering 을 하는데 필요한 인자들을 request 를 통해서 획득할 수 있습니다. self.request.user 현재 로그인 중인 유저에 접근할 수 있습니다. 로그인이 안 되어 있을 시에는 AnnoymousUser 인스턴스를 획득합니다. self.request.GET 요청한 get 인자들을 획득합니다. self.request.query_params self.request.GET 와 같은 값을 얻습니다. 보다 더 가독성이 높기 때문에 DRF 에서 지원하고 있습니다. self.kwargs URL Capture ..

웹프로그래밍/DRF 2019. 12. 29. 23:14
[Django] django rest framework 를 위한 JSON 기초

DRF 라고 불리는 django rest framework 를 학습하기 이전에 기초적인 내용에 대해 알아보고자 합니다. JSON JSON 은 JavaScript Object Notation 의 줄임말로서 데이터의 송수신을 자바스크립트 객체로서 수행할 수 있게끔 하는 가벼운 문자열 데이터 표현식입니다. JSON 이 등장하기 이전에는 XML 이 그 역할를 독차지 하고 있었습니다. 하지만 XML 은 비교적 크기가 무겁다는 이유로 요즘은 JSON 이 더 많은 지분을 확보하고 있습니다. XML 이란? eXtensible Markup Language 의 줄임말로서 html 과 많이 비교됩니다. 둘의 결정적인 차이는 html 은 테그들을 통해서 데이터를 표현하는 마크업 언어이고 XML 은 데이터를 설명하는 마크업 언..

웹프로그래밍/DRF 2019. 11. 16. 23:47
[SEO] JSON-LD, 구조화된 데이터 추가

구글 검색을 하다보면 검색 결과에 위 이미지와 같이 평점과 리뷰 등이 나오는 걸 볼 수 있습니다. 검색 결과에 위와 같은 내용을 노출시킨다면 사용자로 하여금 신뢰도를 얻을 수 있고 더 높은 클릭 수를 부를 수 있을 겁니다. 이를 위해서는 스키마 마크업을 이용하여 Structed Data 를 웹페이지에 넣어야 합니다. 우리의 웹페이지는 html 로 이루어져 있습니다. html 은 데이터와 그 형식을 표시해줄 뿐, 데이터가 어떤 데이터인지는 알지 못합니다. 그저 텍스트로만 인식하는 거지 텍스트가 사람이름인지, 건물의 이름인지 등을 구분하지 못한다는 소리죠. 이를 구분해주기 위해 스키마 마크업이 필요한 것이죠. 스키마 (Schema) 란? 데이터의 데이터 라는 의미입니다. 해당 데이터가 어떤 데이터인지 설명해..

웹프로그래밍/SEO 2019. 11. 12. 17:00