TIL (정리중12.7)

On a regular basis·2021년 12월 9일
0

1.Source
Linux 명령어
source 바로 적용하기에 좋음
Venv

2.로그인
cookie, session, jwt 다시 공부!! 세개 연결시켜서~₩
Access token -> 네트워크상에 엑세스 토큰이 노출이 되니까… 탈취되면 어떡해?
혹시나 탈취당하더라도 2일밖에 못씀!!!
Refresh token -> Access token 리필 기능

Https 통신을 하고 있는 한 도청 불가능
Refresh token을 쓴다는것?
Access token을 탈취당했다

Jwt를 쓰는이유는? 유저한테 검증권한을 맡기겠다
토큰만 확인하고 -

기존 세션이 훨씬 안전해. 그치만 jwt를 쓰는이유는 토큰만 확인하고 key값만 공유하면되니까 서버의 부하를 획기적으로 줄일 수 있음!

진짜 보안이 걱정됐다면 session…(이건 클라이언트한테 토큰 주지도않으니까)
여기는 jwt을 발급하지는 않음……..

3.로우하다
mysql을 python에서 쓰려고한다

Django orm -> 추상화
Flask sqlalchemy -> 추상화
-> 데이터베이스를 안봐도 다될정도로 다해줄게!
-> 많이 봐준다 초보개발자도 구조화하기 좋다 / 다 몰라도 돼 객체 지향적으로 개발하기 좋다

mysqlclient
-> 쿼리 대신 db로 때려주기
-> 굉장히 raw하다 날것!
-> mysql 의 모든 기능을 다 가능하게 해준다

당연히 두개 다 쓴다
Pyjwt로 한것 확인
ㅎㅎㅎ….

  1. Form
    Json 전에 form으로 썼었음
    Form -> 파일만큼은 예외로 폼데이터로 받음 (form은 스트링만!)
    json은 파일(이미지) 첨부 까다로워

  2. Flask run
    Python3 app.py
    Export Flask_App=app

gunicorn / risky

api를 만들 때

Input 가져올 때
url에서 직접 가져올 때

Uri Path param
Uri Query param
Body json
Form data + file
header

uri는 데이터에 제한이 있음
Update put -> 소설 컨텐츠는 많이 보내야해 데이터를 uri는 안보내질 확률이 커
안전하게 body로 넣어서 보내자.
Architecture 상에 가독성
uri는 자원의 위치를 명시하기 위해 존재

Query (uri)
쿼리는 스트링밖에 안보내줌!
파싱을 해서 보내야함!

Json (body)
리스트, 스트링, 내부에서 json 다 보낼 수 있음
미리 파싱이 되어있음
중요한 데이터, 바디로!

  1. CSR - client side rendering
    -> react/front framework / 느려

SSR - server side rendering
-> 서버가 그려줌 / 빨라 /.. 근데 돈을내고 서버가 연산을 해줘야해 / 서버가 html을 박아서 데이터를 던져줌

우리가 담당하는 서버는 데이터만 뿌림 ssr, csr ㅅㅏ용하지 않음.

서버

RDBMS 나머지가 NOSQL
RDBMS는 다들 비슷비슷
NOSQL은 하나하나 새로 배워야할 정도로 다 다름

  • redis는 그 중에서도 in memory database -> 데이터를 메모리 안에 저장하는 데이터베이스
    데이터가 많아서가 아니야. 그럼 왜 보관해? 속도가 빨라
    Memory에서 가져오는 속도가 너무 빨라서 redis를 씀.
    빨리 자주 쓰는 애들을 메모리에 저장해놓고 쓰자~ redis 쓰자.
    cash서버
profile
개발 기록

0개의 댓글