본문 바로가기

728x90

분류 전체보기

(129)
[Git] 특정 branch 만 git clone 하기 git clone -b {branch_name} --single-branch {저장소 URL}
[Django/JS] Jquery Ajax를 JS Fetch 함수로 변환하는 방법 fetch_option = { method: "POST", headers: { "Content-Type" : "application/json", }, body : JSON.stringify(data), }; fetch("url/", fetch_option).then(response => {return response.json()}) .then(response => { // function to execute }) .catch(function(err){ alert(err) }) .finally(function(){ }) error -> catch complete -> finally // views.py def AnyFunction(request): data = json.load(request) return..
[Django] CSS,JS 파일 캐쉬 해제하는 방법 웹 배포 시마다 CSS, JS 파일이 바로 적용되지 않는다면, 이전 CSS,JS 파일의 캐쉬가 존재하기 때문이다. 이를 해제하기 위해서는 다음과 같이 ?{% now 'U' %} 를 붙여준다. * static을 사용하지 않는 경우에도 동일하게 href나 src 뒤에 붙여준다 ?version=1 과 같이 일일이 버전을 수동적으로 관리하는 방법도 있지만, ?{% now 'U' %} 를 사용할 경우, 파일 로드 파라미터로 매 초마다 Unix Timestamp를 자동적으로 생성한다 따라서, 위와 같이 파일 로드 태그를 붙여주면, 실제 웹 사이트 상에서는 아래와 같이 자체적으로 생성한 파라미터(1249948982)를 사용해 파일을 찾게 된다 Reference django css file cached I'm havi..
[Python] 현재 설치된 모든 패키지 목록 저장하기(requirements.txt) # 현재 설치된 모든 패키지 목록 저장 $ pip freeze > requirements.txt
[Django] Rest framework 개념 및 사용법(django-rest-framework) RESTful이란? RESTful이란, Representational State Transfer의 줄임말로서, http의 url과 http method(GET, POST, PUT, DELETE)를 사용해서 API 가독성을 높인 구조화된 시스템 아키텍쳐이며, 하나의 URL로 최소 4가지의 HTTP method를 전송할 수 있다는 장점이 있다. 기존에는 웹 페이지를 보여주는 웹서버만 구현하여 웹 서버에서 DB서버의 데이터도 읽어오고, 사용자들이 글을 남기면 DB 서버에 저장까지 하는 기능을 모두 담당했다. 하지만 스마트폰이 출시되고, 어플리케이션의 등장으로 더이상 웹으로만 서비스를 제공하는 것에 한계가 있었다. 스마트폰 어플과 웹에서 동일한 기능을 제공하는데 기존의 웹서버를 계속 사용하면 매번 HTML을 읽..
[Django] JWT 개념 및 사용법 (djangorestframework-simplejwt) 개념 JWT는 JSON Web Token을 줄인 말로 인증 시스템이다. JWT를 사용함으로 서버는 유저의 세션을 유지할 필요가 없기 때문에 서버 자원을 아낄 수 있게 된다. JWT는 access token과 refresh token을 가지고 있다. access token은 잠시동안만 살아있습니다. 기본값은 5분이고 커스터마이징이 가능하다. refresh token은 조금 더 긴 24시간동안 살아있고 역시 커스터마이징이 가능하다. 토큰이 만료가 되면 당연히 다시 로그인을 해야한다. 구성 JWT는 세 부분으로 구성되어 있다 header.payload.signature signature signature에는 header(base64) + payload(base64) + SECRET_KEY로 구성되어 있다. S..
[Web] 토큰(Token) 기반 인증의 개념 및 장점 토큰(Token) 기반 인증은 모던 웹서비스에서 정말 많이 사용되고 있는 방법이며, API 를 사용하는 웹서비스를 개발한다면, 토큰을 사용하여 유저들의 인증작업을 처리하는것이 가장 좋은 방법이다. 과거 서버 기반 인증의 한계 기존의 서버 기반 인증 시스템은 유저들의 정보를 서버측(메모리/디스크/데이터 베이스 시스템)에서 기억하고 있어야 한다. 하지만, 웹/ 모바일 어플리케이션이 부흥하게 되면서 위 방식의 인증 시스템은 아래와 같은 문제점이 발생했다. 세션 유저가 인증을 할 때, 서버는 이 기록을 서버에 저장을 해야하며, 이를 세션 이라고 부른다. 대부분의 경우엔 메모리에 저장하게 되는데, 만약 로그인 중인 유저의 수가 늘어난다면 서버의 램이 과부화되는 현상이 발생한다. 이를 피하기 위해서, 세션을 데이터..
[Django] app폴더 서브폴더 안으로 이동시키기 1. app 폴더 서브폴더 안으로 이동 1) app 초기 생성부터, 서브 폴더 안에서 시작하고 싶은 경우 아래 명령문과 같이 서브 폴더 내 만들고자 하는 앱 이름의 폴더를 생성한뒤, python manage.py startapp 명령어로 앱을 서브 폴더 내 앱 폴더의 위치에서 생성하겠다는 선언을 한다. mkdir / python manage.py startapp / 예시 (myapp이라는 앱을 apps 폴더 내 생성) mkdir apps/myapp python manage.py startapp myapp apps/myapp 2) 이미 app폴더가 있으며, 이동만 시키고 싶은 경우 이 경우에는 app 폴더를 서브 폴더 안으로 이동시킨 후, 다음 단계를 진행한다. 2. 앱 폴더 내 apps.py의 name을..

반응형