목록분류 전체보기 (341)

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

[ES6] let, const 그리고 var

Let and Const let 과 const 에 대해서 알아보도록 하겠습니다. 이 둘은 변수를 선언할 때 사용하게 되는데 이전에는 var 를 사용하였습니다. var 로 변수를 선언하게 된다면 다음과 같이 변수의 overwrite 가 가능해집니다. var name = "minsung"; name = "sungbin"; 이렇게 var 를 사용하게 되면 큰 어플리케이션을 만들거나 협업을 할 경우 문제가 생길 수 있습니다. 다른 개발자가 다른 파일에서 또는 같은 파일인데 다른 위치에서 작업을 할 경우 name 이라는 변수명을 또 사용할 수 있게 되고 의도치않게 name 은 sungbin 으로 덮어쓰게 됩니다. 따라서 변수가 변하는 걸 막기 위한 매커니즘이 필요했고 const 가 등장하였습니다. const 는 ..

웹프로그래밍/ES6 2019. 12. 30. 21:42
[ES6] ES는 무엇인가, 왜 ES6인가

javascript 를 공부하려고 보니 ES6 라는 말이 많이 등장해서, 중요하다고 해서, 이에 대해서 정리해보고자 합니다. ES 는 무엇인가 ES 는 ECMAScript 의 약자입니다. 그리고 숫자 6은 여섯번째 ES 라고 생각하면 되겠습니다. 그렇다면 ES, ECMAScript 는 무엇일까요? 위키백과를 보면 ECMAScript 는 Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어입니다. 자바스크립트를 표준화하기 위해서 만들어졌으며 꼭 자바스크립트가 아니더라도 어도비 플래시를 사용하는 소프트웨어에서 사용하는 액션스크립트, MS 사의 인터넷 익스플로러에 쓰이는 J스크립트 등 다른 구현체들 역시 포함하고 있습니다. ES 가 등장하게 된 배경을 살펴보면 1990년대..

웹프로그래밍/ES6 2019. 12. 30. 17:54
[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