python에서 dictionary로 query string 처리하는 2가지 방법

Python에서 dictionary 형태의 데이터를 문자열 형태의 쿼리스트링으로 처리해야 하는 경우가 생깁니다. urlencode를 사용하여 query string을 만드는 방법과, requests 패키지 사용시의 처리 방법을 알아보겠습니다. urllib.parse의 urlencode사용하여 query string 만들기 urllib.parse의 urlencode를 사용하면 dictionary 형태의 데이터를 간단히 문자열로 만들 수 있습니다. 위와 같은 코드를 사용하면 아래와 같이 출력됩니다. requests를 사용하는 경우 그런데 만약 requests를 사용하여 query string을 … Read more

Python unittest 모든 테스트 한 번에 하는 방법

파이썬으로 유닛테스트 처음 해 보는 분들 계시죠.파일 하나씩은 실행시켜봤는데, 한 번에 모든 테스트 파일 실행하고 싶을 때 어떻게 해야 하는지 알려드릴게요. 테스트 실행하기 아래 명령어 한 줄이면 끝납니다. 프로젝트 루트에서 실행하도록 하세요. 실행했는데, 아래와 같은 결과가 나왔나요? 그렇다면 이렇게 된 2가지 가능성이 있는데, 그 두 가지 확인해 보겠습니다. 해결해야 할 이슈 2가지 파일이름 테스트 파일 … Read more

아나콘다 가상환경 삭제 방법(설치, 가상환경 생성, 활성화 포함)

가상환경을 만드는 건 쉬웠는데 삭제해야 하나요? Anaconda 설치부터 시작해서 가상환경 생성 후, 가상환경을 활성화 및 비활성화 해보고 마지막으로 아나콘다 가상환경 삭제 방법까지 알아보도록 하겠습니다. 마지막에는 가상환경을 왜 사용하는지도 함께 살펴보도록 하겠습니다. Anaconda 다운로드 아나콘다 다운로드 페이지에 들어가면 현재 사용하는 운영체제와 사용하는 프로세서에 맞는 버전의 아나콘다를 화면 오른쪽에서 기본적으로 추천해 줍니다. 그곳에서 초록색 다운로드 버튼을 눌러서 … Read more

크레온 플러스 API 연동 IsConnect 확인 후 강제종료

크레온 플러스 API 연동시 IsConnect를 통해 연결상태를 확인하고 나면 잠시 후 실행한 파이썬 어플리케이션이 종료되는 현상이 있습니다. 크레온 플러스 API 연동시 강제종료되는 현상의 원인과 해결 방법을 알아보도록 하겠습니다. 크레온 플러스 API IsConnect 확인 후 강제종료되는 현상 VULTR 가상머신에서 크레온 플러스 API를 연동해서 사용하기 위해서 호스팅을 신청하고 이용했습니다. 그런데 분명 과거에는 아무 문제 없이 잘 실행했었는데, … Read more

Python numba guvectorize 활용 방법으로 속도 300배 높이기

파이썬에서 매우 긴 리스트의 값을 처리하는데 시간이 오래 걸려서 괴로우신가요? Python에서 numba guvectorize를 사용하면 array 형태의 값 처리의 속도를 매우 빠르게 할 수 있습니다. 개요: 성능 비교 우선 실행 결과를 먼저 보겠습니다. aaa는 guvectorize를 사용해서 연산한 경우이고, bbb는 그냥 python 단순 for loop을 실행한 결과입니다. 그리고 ccc는 numpy의 벡터 연산을 실시한 결과입니다. guvectorize를 적용하면 단순 … Read more

매매로직 재사용

빠른 배포가 중요하다는 포스팅에서 이야기 한 방법은 사실 안정적이지 않다. 더 좋은 방법은 백테스트할 때 활용한 매매 시스템의 로직을 트레이딩 시스템에서 동일하게 활용하는 방법이다. 1호 시스템을 만들고 나서, 앞으로 2호 이후의 시스템들을 만들 생각을 하니 매번 모든 코드를 작성해야 하는 것은 비효율적이라는 생각이 들었다. 매매로직을 모듈화해서 백테스트와 트레이딩 시스템에 모두 동일하게 활용할 수 있게 한다면, … Read more

Python 대용량 테이블 쿼리 속도 느려지는 문제 해결 방법 3가지

Python에서 큰 용량의 테이블에 자료를 insert하고 update 하다가 속도 느려지는 문제 경험하셨나요? 그랬다면 오랜 시간을 기다려야 해서 힘드셨죠? 대용량 테이블 쿼리 속도 빠르게 insert, update 할 수 있는 방법 3가지 알려드립니다. 속도 느려지는 문제 발견(INSERT, UPDATE 쿼리) 테이블 하나에 약 800만개의 레코드를 가진 테이블(약 1.2GB)을 만들고 분석할 일이 있었습니다. 그런데 매일 새로 생긴 데이터를 추가해주고, … Read more