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

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

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

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

아나콘다 가상환경 삭제 방법

가상환경을 만드는 건 쉬웠는데 삭제해야 하는 상황인가요? 아나콘다 가상환경 삭제 방법을 살펴보겠습니다. 아나콘다 가상환경 삭제 아나콘다 가상환경을 만들어 사용하다가 불필요해서 삭제해야 하는 경우가 있습니다. Anaconda 가상환경 삭제에는 conda env remove 또는 conda-env remove 명령어를 사용하면 됩니다. -n 옵션을 이용해서 삭제하고자 하는 아나콘다 가상환경 이름을 적어주면 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

Python BeautifulSoup4 사용방법

Python beautifulsoup4 사용법으로 문서의 제목을 가져오고 표의 값을 가져와 보도록 하겠습니다. Python BeautifulSoup4 개요 BeautifulSoup4는 Python에서 HTML 문서나 XML 문서를 파싱하는데 사용할 수 있습니다. PyPi에서 제공되는 현재 최신 버전은 4.12.3입니다. beautifulsoup3는 2020년도에 drop 되었다고 하니 bs4를 이용하시기 바랍니다. 문서의 제목 읽어오기 문서의 제목을 읽어오도록 하겠습니다. HTML에서 문서의 제목은 head 태그 아래의 title 태그 내에 표현합니다. … Read more