본문 바로가기

분류 전체보기

(68)
[Django, React] 로그인, 회원가입 연동 (2) 회원가입에서는 토큰을 생성하지 않고 걍 입력받은 유저 정보만 장고로 넘겨줌 React의 signup.js const data = { username, password }; try { await Axios.post("http://localhost:8000/accounts/signup/", data); notification.open({ message: "회원가입 성공", description: "로그인 페이지로 이동합니다.", icon: , }); 로그인 시 토큰 생성 React의 login.js const onFinish = (values) => { async function fn() { const { username, password } = values; #form에서 받아온 입력값 const data..
[운영체제] Process synchronization (2) 동기화 관련 문제와 해결방법에 대하여 Bounded-Buffer Problem => Shared-Memory Solution 일반적으로 Producer, Consumer 문제라고 함 Producer는 데이터를 만들기만 하고, Consumer는 소비하기만 함 Producer가 Buffer에 데이터를 쓰면 Consumer가 거기에서 읽어감 Buffer 크기는 제한되어 있으며, 프로세스 간 공유함 Producer가 데이터를 쓸 때 Consumer가 읽어가면 안되고, Consumer가 읽어갈 때 Producer가 쓰면 안됨 -> semaphore로 해결 가능(Buffer에 들어갈 때 P 호출, 나올 때 V 호출) Buffer가 한정된 크기를 가지므로 Producer가 필요할 때마다 데이터를 쓸 수 없음 Buff..
[Django, React] 로그인, 회원가입 연동 (1) simplejwt를 사용했는데 어떻게 인증되는 건지 궁금함 내 프로젝트의 views.py from django.contrib.auth import get_user_model from django.shortcuts import render from rest_framework.permissions import AllowAny from rest_framework.generics import CreateAPIView from .serializers import SignupSerializer class SignupView(CreateAPIView): model = get_user_model() serializer_class = SignupSerializer permission_classes = [AllowAny]..
[Django] JWT 인증 JSON Web Token(JWT)은 토큰 기반 인증에 사용할 수 있는 상당히 새로운 표준이다. 내장된 TokenAuthentication 체계와 달리, JWT 인증은 토큰을 검증하기 위해 데이터베이스를 사용할 필요가 없다. JWT 인증 패키지는 플러그 가능한 토큰 블랙리스트 앱뿐만 아니라 일부 기능을 제공하는 djangorestframework-simplejwt이다. Simple JWT는 Django RESTFramework를 위한 JSON 웹 토큰 인증 백엔드를 제공한다. settings.py에 추가 REST_FRAMEWORK = { ... 'DEFAULT_AUTHENTICATION_CLASSES': ( ... 'rest_framework_simplejwt.authentication.JWTAuthen..
[Django] Rest Framework란, serializer, view 등 장고 Rest 프레임워크는 웹 API를 구축하기 위한 강력하고 유연한 도구이다. Serializers 시리얼라이저를 사용하면 querysets나 모델 인스턴스와 같은 복잡한 데이터를 기본 파이썬 데이터 유형으로 변환한 다음 JSON, XML 또는 다른 콘텐츠 유형으로 쉽게 렌더링할 수 있다. 시리얼라이저는 또한 병렬화를 제공하여 들어오는 데이터를 먼저 확인한 후 구문 분석된 데이터를 복잡한 유형으로 다시 변환할 수 있다. Queryset? 쿼리셋은 전달받은 모델의 객체 목록으로 데이터베이스로부터 데이터를 읽고, 필터를 걸거나 정렬을 할 수 있다. ModelSerializer : 장고 모델 정의에 밀접하게 매핑되는 시리얼라이저 클래스 class AccountSerializer(serializers.Mode..
[Django] 앱 생성, 동작 flow 프로젝트 vs 앱 앱: 블로그 시스템, 공개 기록 데이터베이스 또는 소규모 의견조사 앱과 같은 작업을 수행하는 웹 애플리케이션 프로젝트: 특정 웹 사이트에 대한 구성 및 앱의 모음 한 프로젝트 내 여러 개 앱 포함 가능 python manage.py startapp / __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py 동작 flow 1. 웹 브라우저에서 이벤트 발생 2. URL Dispatcher에서 요청한 URL 분석해 적합한 View로 보내준다. 3. View는 사용자의 요청을 받아 Database 어디에 접근해서 어떤 데이터를 가공할 지 알려준다. 4. Model에서 Database와 연결하고 데이터를 가..
[Django] 프로젝트 시작 시 생성되는 파일들 django-admin startproject mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py manage.py: 프로젝트와 다양한 방법으로 상호작용하는 커맨드라인의 유틸리티 __init__.py: python이 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 빈 파일 python 3.3 버전부터는 이 파일이 없어도 되는데 하위 버전 호환을 위해 생성하는 것이 안전 settings.py: 프로젝트 환경 및 구성 저장 urls.py: URL 선언 저장, 사이트의 "목차" 개념 asgi.py: 프로젝트를 서비스하기 위한 ASGI 호환 웹 서버의 진입점 wsgi.py: 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점
[운영체제] Process Synchronizationtion (1) Race condition: 여러 프로세스가 동시에 같은 데이터에 접근할 때 => 동기화 필요 The Critical-Section Problem n개의 프로세스들이 공유된 데이터에 경쟁적으로 접근할 때, 공유된 데이터에 접근하는 코드를 critical section이라 함 어떤 프로세스가 critical section을 수행 중이면 다른 어떤 코드도 critical section을 수행하지 못하게 해야 함 수행하지 못하게 막는 방법 -> solution Solution of the critical-section problem Mutual Exclusion: 어떤 프로세스가 critical section을 수행 중이면 다른 어떤 코드도 critical section을 수행하지 못하게 해야 함 과도하게 막..