소프트웨어 개발/Python 36

성능 튜닝

분명히 루핑하고 계산하는데 있어서 성능개선이 필요하다. 현재, rolling mean 5,10,20,60,120 을 모두 계산하는데에 있어 0.2초밖에 걸리지 않지만, 인덱스를 읽어서 여러 표기를 하는데 있어 굉장히 시간이 많이 든다. 분명히 문제는 인덱스를 읽는데에 시간이 드는것이다. 현재 2015년1월 ~ 2015년 4월까지의 데이터는 총 4.07초가 걸리고 있다. 2014년1월 ~ 2015년 4월까지의 1년3개월의 데이터는 20초가 걸렸다. 현재 인덱스를 ix로 끌고오는게 문제가 되는데.이제 asset을 계산해서 하나의 컬럼 생성하고 인덱스를 이용하는데 계산하는데 얼마나 걸리나 보자. 2014년 1월 ~ 2015년 4월까지의 데이터는 총 13.41초가 걸렸다. 갈길이 멀다. 1초내로 끊어야한다. 이..

파이썬 코드

코드는 상당히 쉽다. 그냥 맞춰서 잘 넣으면 된다. 다만 문제는 굉장히 느리다는 것이다. 파이썬이 느리다는 사실을 말만 들었지, 생각보다 상당히 느려서 아무래도 실제 자동매매 프로그램을 개발할때는 C로 개발을 하여야 할듯 하다. 코드는 다음과 같다. views.py def calc(request):tpl = loader.get_template('list.html')beg = datetime.datetime(2010,1,1)end = datetime.datetime(2015,4,1)data = web.DataReader("030200.KS","yahoo",beg,end) # Samsung Electronicsdata['mean5'] = panda.stats.moments.rolling_mean(data['..

Django 구조 파악하기

어쨌든 장고를 배울필요가 있어서 되도록 엄청 빠르게 장고를 흡수하고 싶다. 현재 시간은 2시반이고 중간에 햄버거 사러가는 시간도 있을테니 약 3시간이면 다 배울수 있을까 싶다. mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py manage.py 는, 이걸로 여러가지를 실행하는듯 싶다. 나머지는 그냥 됐고, 빠르게 넘긴다. 보나마나 url세팅이랑 db세팅이 있을것이다. polls/ __init__.py admin.py models.py tests.py urls.py views.py url 예시from django.conf.urls import include, url from django.contrib import admin urlpatte..

Django 를 이용해 웹에 데이터 뿌려주기

이제 파이썬과 장고 기능을 이용해 웹 화면에 필요한 데이터를 뿌려주고 이를 저장하고 그래프를 만들어 보는 단계를 시도해보겠다. 이제 마무리 단계이다. 그동안의 경험으로 생각해봤을때 무엇을해야할까? 당연히 데이터를 가져와야 한다. 그렇지만 데이터가 실제로 제대로 가져와지는지 확인해 보기위해 템플릿 기능을 이용할것이다. 물론 그 나름대로의 철학은 있겠지만 장고는 생각보다 html 템플릿을 만들어 내는데 짜증이 난다. play나, RoR처럼 냅다 파일을 위치시키면 알아서 컴파일하는게 아니라 템플릿을 가져오고 발광을 해야하는듯하다. 뭐 다시보니 발광정도는 아니고, 쓸데없는 동작인듯 하지만, 어쨌든 settings.py 에 템플릿이 있는지를 확인해준다. 일단 settings.py 를 열어서 import os RO..

Django 윈도우 설치

일단 Django 를 설치해서 통합환경을 한번 구축해보기로 한다. DLL을 불러서 스칼라에서 바로 이용하는것도 나브지 않은것 같지만 일단은 첫번째 단계로, COM객체를 이용해서 윈도우7기반 로컬호스트에다가 원하는 프로그램을 제작하도록 한다. 일단 장고 홈페이지를 가서 필요한 파일을 찾는다. (리눅스보다 윈도우 설치는 상당히 난이도가 있는듯.) 일단 django.tar.gz를 다운로드 받아서 압축을 푼다. 그리고 다음 명령으로 고고한다. python setup.py install 다음과 같이 나타나면 성공 그리고 이제 Ctrl+Z 버튼을 통해서 나가버린다. 그리고 django-admin startproject mysite 명렁어를 통하면 mysite 디렉터리가 하나 생기면서 이제 프로젝트를 시동할수 있다...

파이썬 시작, Xing API 이용하기 (8) - 쿼리날리기

이제 거의다 왔다. 쿼리를이용해 실제로 거래를 걸어보고 가상 계좌랑 연결해보는 절차만 거쳐보면 된다. 이게 완성되면 파이썬-장고로 빠르게 구축하든지, 아니면 스칼라-플레이프레임워크로 구축하든지, 이도저도 안되면 C샵이나 다른 것들을 이용할수 있을 것이다. 어차피 윈도우 화면을 구성하는데는 상당히 힘이들고 귀찮다. 스칼라를 이용할수만 있다면 참 좋을텐데 쉽지는 않을듯 보인다. import pythoncom import win32com.client class XASessionEvents: logInState = 0 def OnLogin(self, code, msg): print("OnLogin method is called") print(str(code)) print(str(msg)) if str(code)..