Server 26

Firebase login 시 에러

NoSQL 중 mongoDB도 있지만 Firebase를 써보고 싶어서 로컬에 Firebase를 설치하고, 연결을 시도했다. $ firebase login 명령어를 쳤더니,, Error: Cannot run login in non-interactive mode. See login:ci to generate a token for use in non-interactive environments. ?? 호기롭게 Firebase 써봐야지! 했는데 ,, 시작부터 에러라니... ㅜ 또 구글링... 개발은 끝도 없는 구글링이라 하지만 시작부터 이러면 조금 곤란하다.. 하지만, 역시 구글링 ! 정말 대단해 ! github.com/firebase/firebase-tools/issues/77 cannot login · Is..

Server/Database 2020.09.18

[Django] Authentication & Permission

운영 원리 : Authentication & Permission 제 3자를 비롯한 모든 사용자에게 동일한 권한을 주는 경우는 극히 드물다. Authentication 서비스를 이용하는 데에 있어 내가 어느 정도의 권한이 있음을 알려주는(요청하는) 과정 Authentication - Django REST framework www.django-rest-framework.org BasicAuthentication HTTP 자체 기본인증에 기반한 인증방식 HTTP 제어 헤더로 넘긴 ID, PW를 base64 encoding TokenAuthentication BasicAuthentication은 보안에 취약하다는 단점 SessionAuthentication은 외부 서비스에서 사용할 수 없다는 단점을 가진 한계로..

Server/django 2020.05.29

[Django] Pagination

API 서버 상의 페이지네이션 API 서버의 페이지네이션의 의의 : 하나의 request만으로 처리하기 어려운 레코드들을 여러 request로 나누어 전송하기 DRF의 페이지네이션 구현 ( DRF 제공 클래스 ) 1. PageNumberPagination 2. LimitOffsetPagination 3. CursorPagination 4. Customized Pagination 일반적으로 PageNumberPagination을 디폴트로 설정하고, 추가적인 Page 설정이 필요한 부분만 Customizing 시킨다. PageNumberPagination generics.py GenericAPIView의 pagination_class에 디폴트 페이지네이션을 설정하도록 했는데, 이는 api_settings에서..

Server/django 2020.05.25

[Django] View of DRF ( Django Rest Framework )

CBV 3 - Class based views - Django REST framework We can also write our API views using class-based views, rather than function based views. As we'll see this is a powerful pattern that allows us to reuse common functionality, and helps us keep our code DRY. We'll start by rewriting the root view as a cla www.django-rest-framework.org class (APIView): def : 그 HTTP Method로 어떻게 처리할지는 직접 정의하기 views..

Server/django 2020.05.04

[Django] JSON 직렬화 - Serializer

(Model)Form vs (Model)Serializer Django Djnago Rest Framework Form/ModelForm Serializer/ModelSerializer Model로부터 Field 읽어옴 유효성 검사 HTML Form 생성 JSON 문자열 생성 django와 django rest framework 설치 $ pip install django $ pip install djangorestframework settings.py # INSTALLED_APPS에 등록 'rest_framework' models.py from django.db import models # Create your models here. class Post(models.Model): title = model..

Server/django 2020.04.28

[Django] REST Architecture

REST(REpresentational State Transfer) : HTTP를 이용해 통신하는 네트워크상에서 정한 약속 : 인터넷, 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 설계 형식 : 자원을 대표하는 단어 or 식별자로 자원의 상태를 전송하는 방법 *자원 : 인터넷에서 제공하고 얻을 수 있는 모든 것 : 자원을 이름으로 구분하여 상태를 전송하는 방법 REST가 필요한 이유? 웹의 독립적인 운용과 발전의 측면 1. 하위 호환(기존의 약속들)을 깨뜨리지 않고 독립적 발전 REST 설계 조건 : REST가 되기 위한 필요충분조건 1. Server - Client 2. STATELESS 3. Cache 4. Uniform Interface 5. Layered System 6. Code-On-..

Server/django 2020.04.28

[Django] JSON, Http Request & Method, Httpie

JSON(JavaScript Object Notation) 데이터의 송수신을 자바스크립트의 객체로서 수행할 수 있게 하는 가벼운 문자열 데이터 표현식 django REST framework API 서버는 데이터만 주고받는다. 스타일이나 로직 없이 JSON 데이터로서 표현된 요청과 응답 결과를 담은 의사만 전달한다. cf. XML(Extensible Markup Language) 데이터 표현식 중 하나 장점 : JSON에 비해 다양한 데이터를 나타낼 수 있지만 단점 : 데이터의 크기가 너무 크다. 그렇다면 자바스크립트 객체 그대로 보내면 안되나? 답은 안된다. 통신하는 대상, 즉 모든 수신자가 자바스크립트 객체 표현식을 아는건 아니다. 이런 고민을 해결해주기 위해서 자바스크립트 문법(객체)을 그대로 보내는..

Server/django 2020.04.23

[Django] CRUD

ORM (Object Relational Mapping) 정의하고자 하는 데이터를 클래스(객체)로 표현하는 것을 말한다. 객체로 관계형 DB를 다루기 때문에 SQL문을 사용하지 않고도 데이터베이스안에 원하는 데이터를 바로 적용 가능하다. 데이터를 다루는 네 가지 방법 CRUD import 부분 from django.shortcuts import render, redirect, get_object_or_404 from django.utils import timezone from .models import Blog from .form import NewBlog C ( Create ) def create(request): # 새로운 데이터(새로운 블로그 글)를 저장하는 역할 == POST if (request..

Server/django 2020.04.16

[Django] 장고 기초 - AWS 배포하기

1. AWS 과금 주의 2. AWS 계정 생성 (회원가입) 3. elastic beanstalk 명령어를 입력하기 위해서 awsebcli 설치 pip install awsebcli --upgrade --user .gitignore 생성 먼저 깃에 프로젝트를 올린다. 곧 beanstalk관련 된 파일들이 생기는데 이것들을 굳이 저장소에 올릴 필요가 없으니 gitignore파일을 수정 해준다. ### Django ### *.log *.pot *.pyc __pycache__/ local_settings.py db.sqlite3 media # Elastic Beanstalk Files .elasticbeanstalk/* !.elasticbeanstalk/*.cfg.yml !.elasticbeanstalk/*.g..

Server/django 2020.03.05