코딩 39

로그인의 다양한 방식들

토큰 vs 쿠키 방식 vs OAuth방식 무엇이 최선인가? - 아직 결론 안남 로컬 스토리지 쿠키는 모든 요청이 실려서 보내짐 회원정보같은거 매번 보내줌 용량 4096b (로컬스토리지는 5메가) 쿠키는 만료가 있지만 로컬스토리지는 없다. 쿠키를 설정하는 것이 조금 어렵다. 로컬스토리지는 쉽다. JWT는 어디 저장해야 하나? 로컬스토리지 vs 쿠키 JSON WEB TOKEN drf-jwt 개발지원 끊김 simple JWT 사용하겠다. 토큰 구성 헤더: 알고리즘, 타입 페이로드: 토큰타입, 만료날짜, 유니크아이디, 유저 아이디 verify signature : 인감부분 invalid signiture SECRETKEY 숨겨야 함 엑세스토큰을 이용해서 접근하고 엑세스토큰이 만료되면 리프레쉬 토큰으로 재발급 커..

코딩/Django 2023.04.24

장고 심화내용 이번주에 배운것들 정리

무상태 프로토콜 http는 stateless 하다 매번 요청할 때마다 세션 로그인은 상태가 있다. 최소한으로 사용한다는 개념. 비연결성 요청시마다 연결을 유지하면 클라이언트가 연결을 하면할수록 서버가 터짐 연결유지 하지않는 http 초단위 이하 빠른 응답 HTTP 메세지 리퀘스트 메세지 request line , header, a blank line, body 리스폰스 메세지 status line, header, a blank line , body HTTP 메소드 안좋은 설계 /read-member-list /read-member-by-id 안좋은 이유 레스트풀하지 않다. 기능마다 메소드별로 구별해주는것이 아니라 url이 점점 늘어감 리소스 식별 중요! 리소스란? 회원이라는 개념 자체가 리소스다 이것이 ..

코딩/Django 2023.04.23

토큰 세션 특강

강민철 강사님 필기 토큰기반 로그인, 세션기반 로그인 JWT 기반의 서비스 장고에서 토큰인증을 어떻게 구현할지? 세션과 토큰의 차이점 , 특징 , 필요성에 대해 알아야 한다. 각각의 사용처를 알고 왜 쓰는지 아는 것이 중요 1. Session 인증 2. Token 인증 Django 개발자 뿐 아니라 모든 백엔드 개발자의 기본 소양 1. 인증 - 회원가입, 로그인, 로그아웃, 회원관리, 탈퇴 -- 세션/ 토큰(JWT) 2. DB관리 - ERD, 쿼리셋, 3. Request에 따른 Response 처리 (API 개발) // 실무에선 이걸 더 많이 씀 4. 배포 - 나중에 배울예정 세션인증 모든 유저의 정보와 세션 정보를 서버에서관리 장고 세션이라는 테이블 세션 키 안에 값이 세션 밸류 쿠키 - 세션 아이디,..

코딩/Django 2023.04.21

장고

Ajax 비동기 자바스크립트 기술들이 나와서 작은 부분만 업데이트 요청을 함 프론트엔드의 엔들러 리엑트(높은 확률) 뷰 템플릿들은 대부분 프론트엔드의 기본 ajax 방식을 이용해서 사용한 방식들이 장고를 쓰는 방식들과 조금 달라짐 템플릿 , 템플릿 랭귀지 쓰지않음 >>> 바닐라 자바스크립트만 사용해서 배우게 됨 프론트엔드와 백엔드 어떻게 통신할 거냐 ? render 가 아닌 장고 레스트 프레임워크 >>> 단순함 HTTP 웹의 흐름의 방식 https://www.namver.com . 뭐 이런식으로 요청 겟 요청을 통해서 보냄 HTTPS를 호스트에 터미널에 명령어를 치면 html과 쿠키를 줌 , 터미널로 인터넷을 할 수 있다>? 웹브라우저의 역할을 여기서 많은 정보를 더해서 보내주고, 또한 서버에서 받은 정..

코딩/Django 2023.04.20

장고 프레임워크에 대한 고찰

이번주 장고 프로젝트를 진행하면서 느낀점은 플라스크로 직접 만들어야 했던 기능들이 장고에서는 이미 만들어져 있어서 정말 편하고 좋았다는 것이다. 그러나 어려웠던 점도 있었는데 1. 각각의 툴을 검색해서 쓰는데 조금 변형해서 오류가 났을 떄 수정하는 것이 힘듬 2. 장고 html 이 어떤 문법으로 쓰여지는지 조금 햇갈림 3. 파일이 많아서 처음 보면 햇갈림 이러한 어려웠던 점들이 있었다. 그러나 그를 상쇄할 많은 장점들이 있었기에 다시 웹페이지를 개발한다면 장고를 사용할 것이다. DB에서 어떻게 데이터 구조를 만들것인지는 어려운 일이다. 어떤 식으로 데이터를 만들어서 꺼내보기 쉽게 할 것인가에 대한 고민으로 프로젝트에서 대부분의 시간을 소비했다. 처음 설계한 구조가 프로젝트를 진행하면서 점점 발목을 잡아 ..

코딩/Django 2023.04.17

파이썬과 장고에 대하여 오늘 깨달음

파이썬의 딕션너리는 키-값 쌍으로 데이터를 저장하는 자료이다. 그런데 여기서 키는 고유해야 하므로, 동일한 키를 가진 항목이 여러개가 있을 경우 마지막 값만 유지된다. diction = {'fruit':'apple', 'fruit':'banana','fruit':'melon'} print(diction) 그래서 여기에서는 {'fruit': 'melon'} 이렇게 멜론만 출력된다. class.objects.get 은 장고에서 사용하는 메서드로 데이터베이스에서 객체를 가져온다. Django는 객체 관계형 매핑(Object-Relational Mapping, ORM)을 사용하여 데이터베이스와 상호작용할 수 있도록 도와주는 웹프레임워크로, class는 장고모델 클래스를 , objects는 해당 모델의 데이터베이..

코딩/python 2023.04.13

Django 모델 설계

Django를 데이터베이스 없이 쓸수 있더라도 데이터베이스 레이아웃을 파이썬 코드로 표현할 수 있는 object-relational mapper 가 같이 딸려옴 데이터베이스를 자동으로 생성해주는 Django command-line 유틸리티 $ python manage.py makemigratilns $ python manage.py migrate makemigration 명령은 생성 가능한 모델을 찾아 테이블이 존재하지 않으면 마이그레이션을 생성 migrate 명령은 마이그레이션을 실행하고 사용자의 데이터베이스에 테이블을 생성 , //데이터베이스 스키마, 관계형 데이터베이스에서 데이터가 구조화되는 방식을 정의 여기에는 필드, 데이터유형, 그이고 이러한 엔티티(개체)간의 관계등 논리적 제약조건이 포함 스키..

코딩/Django 2023.04.12

장고 프로젝트 해설, feat 포스트맨

포스트맨으로 시연 하겠다. 포스트맨: html에서 장고에서 리퀘스트를 보낼때 그걸 대신해주는 프로그램 프론트를 대체해서 사용한다. 워크스페이스 생성해서 공유할 수 있다. 협업할 때 씀 가장먼저 할 일 venv 생성 pip install django pylint 와 오토패팔 django admin startproject musinsa . 뒤에 점 찍는 이유는 새로운 폴더를 만들지 않겟다. 현 경로에서 만드냐 기본적인 세팅은 되었다. 모델링 장고 모델링 , 입출고 합산기능 python manage.py startapp user python manage.py startapp product settings.py 에 인스톨드 앱스에도 추가 django-admin startapp testz 구조를 만들고 코드를 짬..

코딩/Django 2023.04.10