프로젝트 27

[Tondo] 서비스 기획 및 계획

기획 Tondo는 댓글의 온도(thatgeul's ondo)의 줄임말로 정했습니다. 댓글의 온도 서비스는 유튜브 댓글의 감정분석을 통해 해당 유튜브 영상에 달린 댓글의 평균 감정을 알려주는 서비스로 처음 기획했습니다. 하지만, 두가지 이유로 방향을 다르게 설정했습니다. 1. 유튜브 댓글, 한국어 감정분석의 데이터 셋 어려움. 유튜브 댓글을 분석하다 패닉에 빠졌습니다. 우선, 문법을 제대로 지키지 않습니다. 오타가 나더라도 고치지 않고 그대로 작성된 것이 많고, 야민정음(대리가 명~), 신조어 욕설(야발) 등 유튜브에서 고유한 문화가 있는 느낌이었습니다. 감정분석을 하기 위해 영화 댓글을 가져왔는데 유튜브 댓글에 그대로 적용시키기에 한계가 있었습니다. 2. 단순 재미보다 조금 더 의미있는 서비스. 감정분석..

[Android] 코호 - 안드로이드 배포

안드로이드 배포 안녕하세요. 코호의 안드로이드 배포를 정리해보겠습니다. 코호의 출시는 4월 9일에 처음 시작했지만, 결국 4월 26일에 정상 출시가 되었습니다. 그 사이에 수많은 일이 있었습니다.. 첫 번째 삭제 WebView의 스팸 정책에 위반된다는 내용. 사이트의 소유자임을 증명해야 했습니다. 사실 여기서 바보같은 짓을 해버렸습니다. 사이트 내에서 크롤링한 사이트 링크를 넘겨주는데, 이 링크의 문제라고 생각했습니다. 크롤링을 허락 맡고 했니? 이것에 대한 증명을 해야한다고 생각했습니다. 그래서, 크롤링이 불법이 아니라는 해외 판결 사례와, 구글 플레이스토어에 올라와있는 비슷한 크롤링 앱들을 제시하면서 이의제기를 보냈습니다. 이의제기는 3일이 걸려 도착했습니다. 두 번째 삭제 이 사이트 너꺼 맞아? 결..

[Django] 코호 - 실시간 코인 호재 캘린더 PROC 12

우선 며칠간 글을 안썼는데, 그동안 웹 배포를 마쳤다. 내가 한 것은 아니지만, 과정을 기록하겠다. 장고 크론탭을 1시간 마다 실행 시켜야 했는데, 코인 크롤러가 멀티프로세스로 되어 있어서 오류가 발생했다. 서버가 다운되는 문제가 생겼다. 그래서 이제는 6분 정도 걸리는 코드를 생으로 돌리기로 했다. 크론탭은 리눅스 환경에서 실행이 가능한데, 윈도우에서 테스트를 하려고 도커를 열심히 공부했지만, 결국에는 잘 안됐다. 덕분에 도커라는게 뭔지 어렴풋이 알게 되었다. 말보다 웹 사이트를 보여주면 간단할 것 같다. 업데이트는 꾸준히 까진 아니고, 모바일 출시 했을 때, 반응이 좋으면 업데이트에 신경쓰기로 했다. 이제 안드로이드와 IOS에 웹뷰로 배포를 시작할 것이다. 여기 담당은 내가 맡기로 했다. 안드로이드는..

[TensorFlow] 비트코인 예측 딥러닝(LSTM) 모델 PROC 1

TensorFlow 생활코딩 강의를 듣고나서, 주가 예측에 대해 찾아보았고 이를 비트코인(가상화폐)에 적용시키면 어떨까 싶었습니다. 사실 돈복사 기계를 만들고 싶었지만, 돈잃는 기계를 만들어버렸습니다. 기록을 정리해보겠습니다. 아래의 블로그에서 거의 다 가져왔습니다. 90%가 복붙된 코드입니다. 딥러닝(LSTM) 삼성전자 주가 예측 블로그 구글의 Colaboratory로 개발했습니다. import 하는 모듈 import requests import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.preprocessing import MinMaxScaler from sklearn.model_selection im..

[TensorFlow] 생활코딩 Tensorflow (python) 정리

Tensorflow (python) - 생활코딩 수업소개 이 수업은 코드로 딥러닝을 구현해보는 딥러닝 기초 수업입니다. 텐서플로우를 이용하여 가장 간단한 형태의 텐서플로우 딥러닝 모델을 작성합니다. 무엇을 넣을까가 아니라, 무엇 opentutorials.org 계층구조 인공지능 머신러닝 문제 :분류 알고리즘 : 인공신경망(딥러닝) 라이브러리 : 텐서플로우 머신러닝 프로세스 1. 과거의 데이터를 준비합니다. 2. 모델의 구조를 만듭니다. 3. 데이터로 모델을 학습(FIT)합니다. 4. 모델을 이용합니다.

[TensorFlow] 생활코딩 머신러닝1 정리

인류는 인간의 고유한 영역으로 남아있던 결정을 기계에게 맡 긴다. 기계가 스스로 결정을 하도록 하는 기술이 머신러닝이다. 머신러닝이란 판단력을 기계에게 부여하는 기술이고, 이 판단력으로 모델(Model)이라고 부르기로 했다. 또한 이 모델을 만드는 과정을 학습(Learning)이라고 부르기로 했다. 표는 현실의 데이터를 로봇이 학습할 수 있는 일종의 틀 역할을 한다. 행 : instance, observed value, record, example, case 열 : feature, attribute, variable, field 독립변수는 원인, 종속변수는 결과. 머신러닝은 지도학습, 비지도학습, 강화학습으로 분류된다. 지도학습은 과거의 데이터로 학습해서 미래를 예측한다. 회귀(숫자 예측)와 분류(카테고..

[Django] 코호 - 실시간 코인 호재 캘린더 PROC 11

결국에는 다시 원점으로 돌아왔다. 배포는 이번주 주말까지는 무조건 완료하기로 했다. 과연 이번주 주말까지 끝낼 수 있을지도 의문이다. 솔직히 시간은 많지만, 점점 의욕이 떨어지는 기분이다. 끝이 다다를수록 심해지는데 어쩔 수 없다. 번아웃을 극복해야 한다. 해결한 문제 멀티 프로세스와 멀티 스레드를 사용해도 속도가 더 줄어들지 않아 전부 멀티 프로세스로 바꿨다. 요약하자면 Rollback을 시켰다. ORM의 구조를 바꿨다. JSON형태로 바로 넘겨주기로 했다. model.py의 class내용을 바꿨다. 마주친 문제 ORM데이터의 구조를 바꿨는데, sql파일을 migrate를 다시 해주어야 했다. 찾아보니깐 attribute를 바꿨을 때 python mange.py syncdb이걸 사용하라고 되어있는데 없..

[Django] 코호 - 실시간 코인 호재 캘린더 PROC 10

이번주 배포가 목표다. 계획상 내일 배포를 해야하지만, 많이 부족하다. 일단 배포를 해보고 업데이트 하는걸로 하려고 한다. 배포 안하고 계속 수정만 한다면 보이는 결과가 없어서 힘이 빠질 것 같기 때문이다. 3주가 개발에 있어서는 짧지만 우리가 하는 프로젝트의 크기를 생각했을 때, 3주면 결과를 내야한다고 생각한다. 다음주에는 모바일 배포가 목표인데, 간단히 웹뷰만 띄워서 배포하는게 목표다. 해결한 문제 멀티 프로세스와 멀티 스레드를 동시에 사용해서 속도를 90초에서 60초로 줄였다. 하지만 멀티 프로세스가 잘 동작하지 않는 것 같아서 조금 더 해결해야 할 것 같다. 또한 속도를 더 줄일 수 있는 방법을 계속 찾아볼 것이다. 아래의 블로그에서 참고했다. 단순 멀티 스레드 속도가 멀티 프로세스보다 속도가 ..

[Django] 코호 - 실시간 코인 호재 캘린더 PROC 9

오늘은 시간을 조금 들였다. 가끔 의욕이 많은 날이 있는 것 같다. 해결 한 문제 딕셔너리 구조를 바꿨다. 캡쳐도구로 그린거여서 글씨가 이상하다. 캘린더에 날짜별로 추가를 하기때문에 데이터를 날짜별로 가공하는게 좋겠다고 말했다. 같은 날짜에 같은 코인 정보가 여러개였고, 이를 묶어서 저장하기로 했다. 원래는 parser.py에서 크롤링 함수도 구현하고, 멀티프로세스도 돌렸는데 점점 복잡해져서 코인마켓컬 사이트 크롤링 함수를crawler_coinmarketcal.py여기에 넣고, 코인스캘린더 크롤링 함수를 crawler_coinscalendar.py여기에 넣었다. 훨씬 간단해진 느낌이다. 마주친 문제 우선 시간이 90초가 넘게 걸린다. 멀티 프로세스를 사용해도 이렇다. 이건 어쩔수가 없는 것 같다. 코인스..

[Django] 코호 - 실시간 코인 호재 모음 PROC 8

일주일만에 돌아왔당. 소마 면접을 준비해야 했기 때문에 신경을 하나도 못썼다. 그렇지만 오늘부터 다시 시작. 이번주 배포가 목표다. 부족하지만 일단 배포하고 피드백 받고 업데이트 해나가는게 더 빠를 것 같아서 그렇게 정했다. 내가 쉬는 동안 친구가 웹 프론트를 많이 수정했다. 내가 수정한게 아니니깐 나중에 허락맡고 올리도록 하겠다. 해결한 문제 Django ORM과 크롤링 파이썬 파일 연결 아래의 사이트에서 참고했다. 캡쳐한 결과는 조금 신나서 막했었다. beomi.github.io/2017/03/01/HowToMakeWebCrawler-Save-with-Django/ 마주친 문제 솔직히 아직 장고 사용법을 잘 모르겠다. 하지만 계속 이렇게 하다보면 언젠가는 알지 않을까 싶었다. 해결 해야 할 문제 이제..