django+python + nginx + gunicorn
-
Upload
hojung-kang -
Category
Software
-
view
281 -
download
5
Transcript of django+python + nginx + gunicorn
강호정
감정 컬러 분석Moodade
목적
컬러를통한감정분석서비스
매일매일 느끼는 나의 감정을 관리 -> 타인의 도움 없이 심리 파악 및컨디션 조절 가능
• 감정 공유 및 커뮤니티 형성 -> 같은 감정을 느끼는 사람들끼리 유대감 형성, 치료/상담 보다도 큰 효과
서비스
최종서비스환경
Django 1.9.7
python 3.5.1
Pycharm (IDE tool 파이썬 IDE툴 )
Nginx 1.4.4
Wsgi 컨테이너 : Gunicorn
DB : mysql
Ubuntu 16.04
서버기본구조
• MTV 구조
(model,template,view)
• Urls.py :url 주소 매핑
• views.py : 컨트롤러역할.
• Settings.py: 프로젝트전체의
환경 설정.
• Models.py : ORM을통해 DB
를 파이썬 객체를 통해 접근
한다.
서버상세구조
static files(정적자원) 들에 접근
하기 위해서는 static 디렉토리를
따로 설정한다.
Django 템플릿 엔진을 사용해
Html 구조 표현.
Database: mysql 사용
.
프로젝트 구성도
moodade
mood
moodcalendr
mysite
template
static
kakaoRest
사용자의 감정 분석 및 감정 색채로직 처리
회원의 날짜 별 감정 캘린더 관리
프로젝트 설정 관리
기본 베이스 템플릿 및 회원가입및 로그인 페이지
이미지 , css, 자바스크립트 등의 정적파일 디렉토리
카카오톡 api를 사용하기 위해Rest api 구현
개발과정
• PaSS 인 pythonanywhere.com 사용
• 소스 배포 및 운영이 매우 간편함(python 에 최적화)
테스트 서버 환경
개발과정
소스 관리
Github 사용
개발 과정
배포환경
SSH 를 통해 파일 전송 및 서버 구동 관련 쉘 스크립트 작성 및 실행
Upstart를 이용해 서비스 등록 : 프로세스가 죽거나 시스템이 재부팅되었을 때 등의 자동화 작업을 위해서
화면
상단바와 하단바 기본 템플릿 base.html을 만들고 다른 페이지에서 이를 확장
하여 페이지를 구성한다.
Base.html
{% block content %}{% endblock %}
contents 영역
화면
Moodade.co.kr 로 들어갔을 때 처음으로 보여지는 페이지
화면
8개의 감정 이모티콘 중 자신에 감정에 맞는 이모티콘을 선택한다.
각 카테고리 별로 감정 텍스트 데이터 구축
그 감정에 맞는 카테고리로부터 데이터를 가져옴.
감정별 단어 DB구축.
각 단어별로 감정 강도를 통해 감정색채가 달라짐.
선택한결과화면
디자이너가 작업한 이미지를 javascript로 동적으로 처리하기 위해SVG 를 사용
자체 구현한 감정 색채 판별 알고리즘을 통해 텍스트별 감정 강도를 색채로 동적으로 구현.
기능실행방식
모든 form 에는 csrf_token 을 삽입한다. Xss 공격을 방지하기 위함이다.
• 사용자는날짜별로자신의감정색을한눈에확인할수있다.
• 각날짜에일기처럼자신의 감정을일기로적는다.
• ajax를통해날짜별로데이터를받아온다.
현재까지구현내용
Html5 Canvas 객체를 통해서 자신의 감정을 나타내는 색깔에 원하는문구를 입혀서 이미지 파일로 다운받을 수 있게 함.
Canvas 객체의 toDataUrl()을 통해 그림을 문자열로 변환후 다운로드
회원가입페이지
Django 의 UserCreationForm을 상속받아서 구현 (form.py)
로그인페이지
Django의 인증 폼인 AuthenticationForm을 상속받아서 구현
카카오 yellow api
카카오 yellow api
Django restframework 3.5.1 버전을 사용
Kakao yelloapi에 정의된 /message -> Post방식
사용자가 보낸 감정단어들( 공백을 기준으로 스플릿한다.) 을 분석해서 가장 높은 수치의 감정을가진 카테고리를 반환한다.
알고리즘
현재 Moodade에적용된 알고리즘은 사전 기반 감정 분류 알고리즘을 응용해서 사용중.
추후 더 많은 감정데이터들의 확보 및 기능 확장을 위해 SVM 을 이용한 머신러닝으로
감정 분석 서비스를 제공할 예정 .
이 부분은 Open API 로 공개하여 사용자들이 자신의 글을 통해 감정을 분석 할 수 있도록
구현할 것. 이로인해서 moodade는더 많은 데이터를 확보 할 수 있고 좀 더 정확한
감성 분석 서비스를 제공할 수 있게됨.
감사합니다.