django의 lazy 함수 이해하기 source: django/utils/functional.pylaza함수가 하는 일은 callable객체를 lazy evaluated callable 객체로 바꿔준다. 자세한건 아래의 코드를 보자. 주석 앞에 달린 순서대로 보면 보기 쉽다.#1 함수와 resultclasses를 입력으로 받는다. def lazy(func, *resultclasses): """ Turn any callable into a lazy evaluated callable. result classes or types is required -- at least one is needed so that the automatic forcing of the lazy evaluation code is tr..
GraphViz를 이용한 Django 모델 다이어그램 그리기윈도우환경에서 GraphViz를 이용해 Django 프로젝트의 모델들의 다이어그램을 그려보겠습니다. 먼저 아래 링크로 들어가 GraphViz를 설치합니다. https://graphviz.gitlab.io/_pages/Download/Download_windows.html (msi, zip 아무파일이나 편한것을 선택하셔서 설치하시면 됩니다.) 설치후 설치파일 안에 있는 bin 폴더를 환경변수에 추가해줍니다. ex) C:\Program Files (x86)\Graphviz2.38\bin 커맨드창을 열어 dot 명령이 잘 작동하는지 확인합니다. 파이썬과 GraphViz를 연결시켜줄 pygraphviz를 설치합니다. 또는 Dotplus를 설치하셔도 됩니..
JWT JWT(Json Web Token)stateless 서버 : 서버에서 상태정보를 저장하지 않음. 클라이언트측에서 들어오는 요청만으로만 작업을 처리쿠키 : 클리이언트에 저장되는 키와 값이 들어있는 작은 데이터 파일. 이름, 값, 만료 날짜, 경로 정보 등서버에 접속할 때 쿠키가 헤더에 포함되 자동으로 전송되어서 로그인 유지. 다른 사용자가 로컬 쿠키 데이터를 볼 수 있기 때문에 보안에 취약 . 세션을 이용해 해결 세션 : 서버 메모리에 저장되는 정보. 서버에 저장되어서 쿠키와 다르게 사용자 정보가 노출 되지않음세션을 이용한 로그인 과정 id/pw 입력 로그인서버에서 사용자에게 받은 정보를 받아 인증을 거치면 서버 메모리에 유일한 세션 ID를 생성해 사용자 id와 매핑 정보를 저장클라아언트에 세션 I..