일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- 14658
- queryset
- 싸피셜
- db
- sqld
- QuerySetAPI
- 셀프넘버
- Django
- pwa적용하기
- git
- react
- TypeScript
- vitepwa
- SSAFYcial
- SQL
- 머신러닝종류
- unionfind
- 백준
- js
- 플로이드워셜
- PWA
- 알고리즘
- VITE
- 싸피10기
- 싸피
- 리액트
- SSAFY
- 데코레이터
- Javascript
- Python
- Today
- Total
목록BackEnd (49)
Meme's IT
우선 # SOP(=Same-origin Policy) = 동일 출처 정책 어떤 출처(origin)에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 보안 방식 같은 출처인 걸 어떻게 구분하는데? → Protocol, Host, Port가 같아야 같은 출처로 인정해줌 근데.. 어떻게 다 같은 출처야.. 요즘 다 밖에서 API 따서오고 다른 출처로부터 리소스 요청이 엄청 많은데? 그래서 CORS라는 정책이 생겼다 # CORS(= Cross-Origin Resource Sharing) = 교차 출처 리소스 공유 다른 출처의 자원에 접근할 수 있는 권한을 부여하도록 브라우저에게 알려주는 체제 서버측에 다른 출처지만 접근해도 됩니다~ 라는 걸 알려줘야한다 CORS는 백엔드 서버..
1. 프로젝트 파일에 .env파일을 만들어준다 # .env API_KEY ='내 키' 2. settings.py에서 추가해준다 # 여기에 내 PC 파일안에 저장된 API_KEY 변수를 가져옴 import environ import os env = environ.Env( # set casting, default value DEBUG=(bool, False) ) environ.Env.read_env(os.path.join(BASE_DIR, '.env')) DEBUG = env('DEBUG') API_KEY = env('API_KEY') 참고 : https://django-environ.readthedocs.io/en/latest/quickstart.html Quick Start - django-environ..
DB의 관계 종류는 크게 세가지로 나눌 수 있다. # 1:1 관계 A 테이블의 하나의 레코드가 B 테이블의 하나의 레코드와 연결된 경우 예를 들어, 각 사용자는 하나의 프로필을 가짐 / 각 주문은 하나의 결제 정보를 가짐 외래키의 위치: 시스템에서 조회가 많은 쪽 # 1:N 관계 A 테이블 하나의 레코드가 B 테이블 여러 레코드와 연결된 경우 예를 들어, 하나의 게시글에는 여러 개의 댓글이 달릴 수 있다 외래키의 위치: N쪽에 있어야 함 # N:M관계 A 테이블 여러 레코드가 B 테이블 여러 레코드와 연결된 경우 예를 들어, 한 게시글에는 여러 명이 좋아요를 누를 수 있고 한 명이 여러 개의 게시글에 좋아요를 누를 수 있다. 외래키의 위치: 중계 테이블을 생성해야 한다 DB에서 특정 레코드를 고유하게 식..
# OpenAPI Specification(OAS) RESTful API를 설명하고 시각화하는 표준화된 방법 → API에 대한 세부사항을 기술할 수 있는 공식 표준 # drf-spectacular 라이브러리 DRF를 위한OAS를 도와주는 라이브러리 https://drf-spectacular.readthedocs.io/en/latest/readme.html#installation 를 통해 설치해준다 $ pip install drf-spectacular # settings.py INSTALLED_APPS = [ # 추가 'drf_spectacular', ] # 추가 REST_FRAMEWORK = { # YOUR SETTINGS 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.open..
이번엔 게시판에 댓글다는 기능으로 DRF를 N:1 관계에서 어떻게 쓰는지 확인해보자 0. Serialize를 위해 SerializerModel만들어주기 # articles/serializers.py from .models import Article, Comment class CommentSerializer(serializers.ModelSerializer): class Meta: model = Comment fields = '__all__' 1. GET - 모든 댓글 조회 (1) urls.py에서 url부터 추가해주기 # articles/views.py urlpatterns = [ ... path('comments/', views.comment_list),# 추가 ] (2) view 함수 작성 # art..
DRF를 우선 하나의 모델에서 해보자 이때, html파일은 작성하지 않음 → 결과를 확인하기 위해 POSTMAN이라는 프로그램을 이용 더보기 https://www.postman.com/ Postman API Platform | Sign Up for Free Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster. www.postman.com POSTMAN이란? - API를 구축하고 사용하기 위한 플랫폼 - API를 빠르게 만들 수 있는 여러 도구 및 기능..
# DRF = Django REST Framework Django에서 RESTful API서버를 쉽게 구축할 수 있도록 도와주는 오픈소스 라이브러리 → API server를 구현할 수 있음 참고) Server의 종류(배포 기준) 웹 서버 정적인 컨텐츠(html, css, 이미지 등)를 제공하기 위한 서버 대표적으로 Nginx, Apache등이 있다 API 서버 클라이언트가 데이터를 요청하면, 해당 데이터를 제공하기 위한 서버 일반적으로 API 서버는 WAS 위에서 동작 WAS(Web Application Server) 동적인 컨텐츠를 제공하기 위한 서버(DB 서버, API 서버, 세션 관리, 보안 등을 모두 포함함) 이런 것들을 모두 합쳐서 하나의 애플리케이션 실행 환경을 제공하는 서버 더보기 Djang..
자원의 행위(HTTP Request Methods) 대표적인 HTTP Request Mehods GET: 조회(Read) 서버에 리소스의 표현을 요청 GET을 사용하는 요청은 데이터만 검색해야 함 POST: 생성(Create) 데이터를 지정된 리소스에 제출 서버의 상태를 변경 PUT: 수정(Update) 요청한 주소의 리소스를 수정 DELETE: 삭제 지정된 리소스를 삭제 자윈의 표현 지금까지는 사용자에게 페이지(html)만 응답하고 있었다 → render함수의 역할 근데 이렇게 하면 뭔가 일이 일어나면 계속 새로고침이 됨(좋아요 누를 때마다 페이지가 새로고침 됨) 그래서, 이제는 JSON데이터를 응답하는 REST API로 변환 → 프론트엔드 → 클라이언트 즉, django는 이제 백엔드의 영역만 다룰 것