본문 바로가기

분류 전체보기845

Django Restframework JWT 토큰 인증 커스터마이징 Django의 DRF에서는 djangorestframework-jwt라는 라이브러리를 사용하면 쉽게 토큰을 사용할 수 있다.기존에는 그냥 import jwt를 통하여 작업을 했었는데 이렇게 라이브러리를 올려놓고 사용하다 보니 뭔가 헷갈렸다.편하게 사용하자고 설치한 라이브러리인데 오히려 더 불편한 느낌이랄까.내가 이해를 제대로 못하는건지 모르겠지만 개인적으로 장고 관련 자료들은 Document들이 전부다 부실한 느낌이다.오늘은 내가 겪었던 불편사항들과 그 해결 방법에 대해 적어본다.먼저 위 라이브러리를 사용하면 쉽게 토큰 발급, 토큰 재발행 등의 작업을 할 수 있다.하지만 문제점은 실제 view에서 작업할 때 해당 라이브러리들을 어떻게 엮어줘야할까 였다.라이브러리를 까보고 싶지 않았지만 어쩔수 없이 직접 .. 2018. 6. 28.
맥북(OS X) MySQL 설치하는 방법 기존에 13인치 맥북을 사용하다가 화면이 너무 작아서 15인치로 교체했다.이전 자료들을 백업받고 프로그램들을 설치하면서 그 과정을 글로 담아본다.오늘 포스팅 내용은 OS X에서 MySQL 설치하는 방법이다.먼저 나는 Homebrew를 통해 설치했다.Homebrew는 우분투의 apt-get, 페도라의 yum같은 패키지 관리자이다. https://brew.sh/index_ko 위 주소로 들어가서 설치할 수 있으며 기존에 설치되었다고 가정하고 설명한다.먼저 터미널을 키고 아래의 명령어를 입력한다.참고로 아래 명령어로 입력하면 8버전이 설치된다.5.7 버전을 설치하고 싶다면 -> brew install mysql@5.7 brew install mysql 다음으로 MySQL을 실행시킨다. mysql.server .. 2018. 6. 27.
Django AbstractBaseUser로 Custom user모델 만드는 방법 이전에 Custom User모델 만드는 방법에 대해서 포스팅했었는데다시 읽어보니 상당히 부실한 문서였다고 생각이 들어서 다시 한번 자세히 포스팅한다.장고는 기본적으로 인증에 관련된 유저 모델을 가지고 있다.하지만 내가 만드는 서비스와 맞지 않은 정보들을 가지고 있을 때는 굳이 그 유저 모델을 사용할 필요도 없으며 사용할 수도 없다.따라서 기존에 존재하는 모델을 상속받아서 내 입맛에 맞게 수정해줘야 한다.프록시 모델 등 여러가지가 있지만 기본적으로 AbstractUser와 AbstractBaseUser 두가지를 설명한다.AbstractUser를 사용하면 아래와 같이 어느정도 기본적으로 사용할 때 필요한 많은 정보들을 같이 준다. id / password / last_login / is_superuser /.. 2018. 6. 25.
학식봇 Django Restframework API 정리 Django의 Restframework로 학식봇 API서버를 만들었었는데,코드를 작성한지 상당히 오래 지나서 다시 한번 기억을 되살릴겸 작성한다. 보통 장고로 작업할때는 Dependency 문제를 해결하기 위해 가상환경으로 진입하여 작업한다.이 포스팅에서는 가상환경을 위해 pipenv를 사용한다. ( 설치 방법은 http://hides.kr/913 참고 )다음으로 django와 djangorestframework를 설치한다. pipenv shellpipenv install djangopipenv install djangorestframework 다음으로 프로젝트와 앱을 생성해준다.우리는 메뉴에 관한 정보와 익명게시판을 위한 정보가 필요하기 때문에 menu, board두개의 앱을 생성할 것이다. djang.. 2018. 6. 24.
Node.js JWT API서버 만드는 방법 이전에는 주로 장고를 통해 API서버를 만들었다.그러다가 요즘 프론트엔드로 React.js에 재미를 붙였는데, 이왕 할거같은 스택으로 하자 싶어서 백엔드도 자바스크립트인 Node.js를 시작했다.기존에는 Django의 Rest framework를 사용했다면 노드에서는 express서버에 올리는 방법으로 진행한다.먼저 아래의 명령어로 필요한 모듈들을 설치한다. npm install —save body-parser express jsonwebtoken mysql2 sequelize 모듈들마다 사용 목적은 다음과 같다- body-parser : HTTP Body에서 값들을 빼올때 사용- jsonwebtoken : JWT 토큰을 위해 사용- sequelize : MySQL과 통신할 때 사용- mysql2 : s.. 2018. 6. 18.
Node.js 자동으로 재시작하는 방법(Supervisor) 나는 PHP다음으로 백엔드를 보통 Django를 썼었다.이전 포스팅에서 작성했듯이 Django의 Rest framework를 통해 API서버를 만들었었는데요즘에는 Node.js를 공부하고 있다.(React.js도 자바스크립트이기 때문에 하나의 스택으로 통일시키기 위함이다.)무튼 코드를 실행시키고 수정하는 일이 상당히 많은데 yarn과는 다르게 node로 실행하면코드가 수정되어도 재시작이 되지 않았다.그래서 Ctrl+C를 눌러서 껐다가 다시 node ~ 를 통해 실행했는데 시간이 지날수록 상당히 불편했다.자동으로 실행시켜주는 방법이 없을까 찾아보다가 supervisor라는 패키지를 발견했다.자세한 설명은 아래 주소를 참고한다. https://www.npmjs.com/package/supervisor 먼저 .. 2018. 6. 17.