분류 전체보기
-
TIL.71 JsonResponse 활용TIL 2020. 12. 18. 21:53
프로젝트 진행 중 확인한 내용으로 어떻게 JsonResponse 활용할 수 있는지 알아보자. JsonResponse JsonResponse(data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None, **kwargs) HttpResponse의 subclass로, JSON-encoded response를 생성할수 있게 해 줌. 대부분의 기능은 superclass에서 상속받음 첫번째 인자로는 전달할 데이터로서 반드시 dictionary 객체여야 함. 디폴트 Content-type 헤더는 application/json임 encoder는 데이터를 serialize할 때 이용됨. json_dumps_params는 json.dumps()에 전달할 딕셔너리..
-
TIL.70 auto_now VS auto_now_add 차이TIL/Django 2020. 12. 17. 13:18
Django의 ModelField 중 DateField , DateTimeField 필드의 옵션으로 사용되는 auto_now 와 auto_now_add의 차이에 대해 알아보자. 먼저 DateField 와 DateTimeField는 언제 사용하는지 알아보자. DB 에서 CURRENT_TIMESTAMP 로 생성되야하는 정보일때 해당 필드를 사용하는데 예를 들어 게시물을 작성한 시간, 리뷰를 작성한 시간, 작성한 게시물을 수정한 시간, 리뷰의 리뷰를 작성할때의 시간 등 DB에 Timesatamp로 생성되어 저장되어야 하는 정보의 column 값을 지정해줄때 위와 같은 필드를 사용한다. 보통 최초 생성 시간 (created_at) 과 수정 시간 (updated_at) 2가지를 모두 구성해주는것이 컨벤션이다. D..
-
TIL.69 FloatField 활용하기TIL/Django 2020. 12. 16. 21:18
장고를 이용해 데이터모델링을 구성할때 아래와 같은 평점은 어떻게 구현 할 수 있을까? 따라서 리뷰에서 평점 모델링을 구성한다고 했을 경우 아래의 예시와 같이 작성할 수 있다. import json from django.views import View class ReView(View): rate = models.IntegerField() class Meta: db_table = 'reviews' 평점은 대략 0.5 ~ 5.0까지의 실수! 로 표현되는게 일반적이다. 따라서 소수 첫번째자리 까리 표현할 수 있으며 여기서 IntegerField 사용은 어울리지 않다 아래와 같이 FloatField를 사용하며 Djanog의 validators 모듈을 사용하여 평점의 범위를 지정해 줄 수 있다. import jso..
-
TIL.68 __str__은 무엇일까TIL/Django 2020. 12. 15. 14:55
Django 모델링 공부시 거의 대부분 __str__ 메서드가 사용되는 것을 어렵지 않게 볼 수 있다. 그럼 __str__ 메서드를 왜 사용하는지 알아보자. __str__ 해당 클래스로 만들어진 인스턴트를 자체를 출력할 때, 문자열로 설명해주기 위한 메서드이다. Django의 models.py에서는 class가 admin 페이지에서 어떻게 출력되는지 정의해주는 역할이라 볼 수 있겠다. 아래와 같은 Question 클래스의 3가지 column이 있는 상황을 생각해보자 class Question(models.Model): subject = models.CharField(max_length=200) content = models.TextField() create_date = models.DateTimeFiel..
-
TIL.67 Trello 다루기TIL 2020. 12. 14. 22:00
팀 프로젝트의 첫 시작인 Trello (협업 관리 Tool)에 대해 알아보자. 스크럼으로 효율적인 프로젝트 관리를 하기 위한 많은 협업 툴 중에서 Trello를 사용하여 프로젝트를 진행한다. 먼저 개발팀 및 멘토분들을 모두 멤버로 초대하여 프로젝트 팀을 함께 구성한다. Trello의 Board 화면은 아래와 같이 구성된다. Backlog / This week / I progress / Done 1. Backlog 백로그(Backlog)는 제품 개발에 필요한 모든 요구사항을 우선순위에 따라 나열한 목록으로, 이를 작성한 뒤 사용자 스토리를 기반으로 전체 일정 계획인 릴리즈 계획을 수립한다 백/프론트 개발간 계획을 세분화하여 작성한다. 2. This Week 우리팀은 1 sprint 을 1주일 기준으로 잡았..
-
TIL.66 스크럼(Scrum)TIL 2020. 12. 13. 21:04
스크럼(Scrum)이란? 프로젝트 관리를 위한 상호,점진적 개발방법론이며, 애자일 소프트웨어 개발 중의 하나이다. 스크럼(Scrum)은 소프트웨어 개발 프로젝트를 위하여 고안되었지만, 소프트웨어 유지보수 팀이나 일반적인 프로젝트/프로그램 관리에서도 적용될 수 있다. (출처 : wikipedia) 스크럼(Scrum)이란 원래 럭비에서 반칙으로 경기가 중단된 경우 양 팀의 선수들이 럭비공을 가운데 두고 상대팀을 밀치기 위해 서로 대치해 있는 대형을 말한다. 이처럼 팀이 중심이 되어 개발의 효율성을 높인다는 의미가 내포된 용어로 스크럼은 애자일(Agile) 방법론을 기반으로 한 기법, 방법, 프로세스 라 할 수 있겠다 고객(클라이언트)의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발..
-
TIL.65 알고리즘과 선형_이진 탐색TIL/Algorithm 2020. 12. 12. 22:15
먼저 알고리즘이란 무엇일까 Algorithm : 알고리즘(라틴어, 독일어: Algorithmus, 영어: algorithm 알고리듬[*], IPA: [ǽlɡərìðm])은 수학과 컴퓨터 과학, 언어학 또는 관련 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것, 계산을 실행하기 위한 단계적 절차를 의미한다. 알고리즘은 연산, 데이터 마이닝(기계 학습) 또는 자동화된 추론을 수행한다. 산법(算法), 셈법, 계산 절차 등으로 번역되기도 한다. (출처 : wikipedia ko.wikipedia.org/wiki/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98) 알고리즘 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 알고리즘(라..
-
TIL.64 (Token)_AuthenticationTIL/Django 2020. 12. 11. 23:16
Westagram Project를 하며 회원가입, 로그인, 게시물, 댓글 등의 기능을 구현해보았다. 오늘은 로그인 당시 부여한 Access_token을 이용한 회원가입/로그인 인증 구현을 마쳐놓은 상태이다. 이제 인증을 마쳤으니, 발행한 토큰을 이용해 유저가 요청하는 request를 실행할 수 있는 권한이 있는 유저인가를 확인하는 절차(인가)를 구현해보자 먼저 인가를 구현하기 위한 방법으로 크게(?) 2가지가 있다고 생각한다. 1. Django REST Framework 에서 지원하는 Authorization 4가지를 이용하는 방법 www.django-rest-framework.org/api-guide/authentication/ Authentication - Django REST framework ww..