Vultr는 ssh로 server에 접속할 때 ID와 Password를 전달했다.AWS에 접속할 때는 ID,Password도 사용 가능하지만 KEY FILE(Pem)을 이용하는 것을 권장한다. Vultr는 Docker가 설치되어 있는 서버를 대여 받았지만, AWS EC
우리는 백엔드 구축을 마치면, 사람들과 상호작용하기 위해 API문서를 작성한다.해당 API로 다른 개발자와 상호작요하기 때문에 알기 쉽게 API 사용법을 제공할 필요가 있다. 스웨거(swagger)를 사용하면 응용프로그램이 어떻게 구성되어 있는지 설명한 문서를 자동으로
python은 똑같은 코드를 반복적으로 입력하려 결과를 얻는 것보다는 캡슐화를 통해 재사용성을 높이는 것을 선호한다.따라서, 인증, data생성 같은 반복 작업에 대해 먼저 캡슐화를 진행한다. ListCreate Veiw에 대해서 Create와 Read의 다양한 경우
한정된 네트워크 자원을 효율적으로 활용하기 위해 쿼리의 결과값으로 리턴된 리소스를 분할하여 전달 하는 것을 의미한다.콘텐츠를 여러 페이지로 나누고, 이전 혹은 다음 페이지로 넘어가거나 특정 페이지로 넘어갈 수 있게한다.Limit과 Offset을 이용해서, paginat
백엔드를 통해 데이터를 필터링 할 수 있는 다양한 방법을 제공하는 유연한 라이브러리정규식, 일치 정보, 텍스트 등 filterset_fields에 정의된 필드들을 쿼리문 형태로 url에 입력하여 정확히 일치하는 값을 찾을 수 있다.http://127.0.0.1
APIView를 상속받아 간단히, 게시글을 작성하고 조회할 수 있다.is_complete는 Todo를 만들 때 기본적으로 False로 설정해, Todo를 생성 시 기본적으로 끝나지 않은 상태로 등록한다.Todo의 주인은 Todo를 생성한 User를 참조해서 등록한다.
클래스 기반으로 View 함수를 작성하는 것Django의 많은 기능을 상속할 수 있기 때문DRF에서는 GenericAPIView에 CreateModelMixin,ListModelMixin 등 다양한 클래스를 결합해 APIView를 구현한다.GenericAPIView는
email을 username 대신 인증 수단으로 사용한다. 이를 위해 BaseUser에서 필요한 기능들을 가져온다.django.contrib.auth.models에서 AbstractUser을 복사한다.email을 blank=False, unique=True로 설정한다u
Django는 모델을 생성할 때마다 유사한 필드를 적용해야할 때가 있다.Tracking Model을 사용하여, 장고 모델의 객체가 생성되거나 업데이트 될 때 검색 방법을 통해 대부분의 항목이 어플리케이션에 공통적으로 적용된다.장고는 생성된 각 모델에서 생성된 것과 같은
Image에서 container를 만들 수 있고, 이는 Class와 Instance 관계와 유사하다.그렇다면 Image를 어디에서 가져오는가?Docker Hub전세계의 Docker 이미지를 업로드하고 다운로드 받는 곳 Docker hub안에 어떠한 이미지든지 올리고 인
Docker를 배포하려면 실제 서버를 빌려야한다. 실제 서버를 빌리려면?AWS, VULTR, Digital Ocean 등 Linux 환경을 구축할 수 있어야 하는 곳이다.가상의 독자적인 서버를 빌려주는 것이다. 실제 서버는 데이터 센터에 있는 커다란 렉에 컴퓨터들이 물
account,article,comment,profile,project,subscribe추가로 Docker 시스템을 VULTR라는 가상 서비스에 빌려서 서버에 올릴 것이다.이걸 만든 이유는 Docker 시스템 안에 Django 컨테이너를 넣기 위해 ! 현재 소프트웨어
CSRF는 사이트간 위조 요청으로 사용자가 자신의 의지와 무관하게 공격자가 의도한 행위(CRUD)를 웹 사이트에 요청하게 하는 공격이다.공격자는 웹사이트가 신뢰하고 있는 사용자 권한을 이용해 공격을 실행하며, 웹사이트 입장에서는 인증된 유저의 요청을 인가하기 때문에 공
프론트엔드는 고객이나 사용자에게 보여지는 페이지이기 때문에 DB로 직접 접속할 수 없다. 해당 프론트엔드는 엄연히 말하면, 모두가 노출되는 (Js, HTML, CSS)환경이기 때문에 DB와 직접 연결하면 민감정보 등이 노출될 가능성이 있다. 따라서, backend를 통
산업연봉근무지수정일생성일Django에서 id는 기본 값(Primary Key) 정의하지 않아도 자동 정의외래키(Foreign Key)를사용하면 뒤에 xxxx_id를 자동으로 생성Job에 위치를 추가하고 싶은데 해당 위치가 다른 테이블에 있다면 location으로 정의해
문자열 Python은 한 줄의 문자열은 79자Django는 한 줄의 문자열은 119자로 추천 DocString은 72자snake_case 사용모듈 레벨 상수는 모두 대문자ClassName은 Capitalized Word한 줄로 된, if, try, except, for
배터리가 포함되어 있는 상태개발자가 개발하고 싶은 모든 것들이 들어있음넓은 커뮤니티로 많은 정보를 수용할 수 있다.빠르고 편안한 개발을 지원한다.문서 관리 시스템 (위키, SNS, 뉴스, 블로그, 쇼핑몰) 등 HTML이나 RSS, JSON,XML 에 상관없이 모두 Dj
인증, 입증자신이라고 주장하는 사용자가 누구인지 확인하는 행위모든 보안 프로세스의 첫 번째 단계 (가장 기본 요소)즉, 내가 누구인지를 확인하는 과정401 Unauthorizaed비록 HTTP 표준에서는 "미승인(unauthorized)"을 하고 있지만, 의미상 이 응
"동일 출처 정책"특정 출처(origin)에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용 하는 것을 제한하는 보안 방식잠재적으로 해로울 수 있는 문서를 분리함으로써 공격받을 수 있는 경로를 줄임 두 URL의 Protocol, Port, Host가