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

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

매매로직 재사용

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

트레이딩 시스템도 역시 빠른 배포가 필요하다!

시스템을 제작하고 이번 주에 시스템을 구동했다. 개발을 하면서 늘 느끼는 것은 ‘빠른 출시’는 언제나 항상 옳다는 것이다. 서버에 배포가 되고나면 문제해결에 보다 집중하게 된다. 작성한 코드에서 문제가 발생하면 안되기 때문에, 빠르게 버그를 잡아내고 문제를 해결해야 한다. 심지어 트레이딩 시스템은 현물로 거래하는 구조이기 때문에, 자칫 잘못하면 금전적 손실을 떠안을 수도 있다. 트레이딩 시스템 구축시 반드시 해야 … Read more

IntelliJ IDEA 한글 입력이 안 되는 현상(Ubuntu 18.04, UIM 입력기)

IntelliJ IDEA 버전은 2019.3으로 업데이트 한 후 한글 입력이 안 되는 현상을 발견하고 문제를 해결한 과정을 담았습니다. IntelliJ IDEA 한글 입력 문제를 겪는 분들께 도움이 되길 바랍니다. IntelliJ IDEA 한글 입력이 되지 않는 현상 최근에 IntelliJ IDEA 2019.3 으로 업데이트 후 한글입력이 안되는 현상이 발생해서 Jetbrains에 문의하였습니다. 저는 한글입력을 위해서 UIM(벼루)을 사용하고 있었고, IDEA 2019.2에서는 … Read more

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

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

mocha, jasmine 원하는 테스트만 실행/제외

Mocha에서 원하는 테스트만 실행하려 할 때는 .only를 사용하면 된다. 다음 예제의 경우 test 1만 실행된다. describe(‘description’, () => { it.only(‘test 1’, () => {}) it(‘test 2’, () => {}) }) 그리고, 다음의 경우에는 description 1의 test 1, 2만 실행된다. describe.only(‘description 1’, () => { it(‘test 1’, () => {}) it(‘test 2’, () => {}) }) … Read more

IntelliJ IDEA Preview 한글 깨짐

IntelliJ IDEA를 설치하면, 안드로이드 개발시 Layout xml의 Preview 창에 한글이 깨진다. 해결하기 위해서는 폰트를 재설정 해 주어야 한다. 필자는 금번에 Jetbrains의 Toolbox를 사용하여 IntelliJ IDEA를 설치하였다. 그래서 설치 경로는 다음과 같았다. $HOME/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/172.4574.11/ 폰트 설정 파일은 위의 경로 하위로 다음 경로에 있다. plugins/android/lib/layoutlib/data/fonts/fonts.xml 노토 산스 CJK면 한글이 깨지지 않아야 할 것 같은데 깨지는 문제가 있다. 아래의 … Read more

IntelliJ IDEA 단축키 사용기

Jetbrains Night 서울에 참석한지 아직 일주일도 지나지 않았지만, 지난 한 주간 단축키 몇 개 더 쓰면서 들었던 생각과 금주에 학습하고 활용한 단축키를 몇 가지 소개하려 한다. 이전 포스팅에서도 언급했듯 한글97의 단축키는 대략 80% 이상을 외워서 사용했다. 물론 마우스 사용은 극도로 꺼렸는데, 그 이유는 문서 작업의 흐름이 끊기기 때문이었다. 단축키 5-6개로 작업 할 동안 마우스로는 한 … Read more

docker-compose WordPress 세팅 – 2부. wordpress, nginx 설정

지난 1부에서는 docker-compose WordPress 세팅을 위한 mariadb 설정에 대해 다루었습니다. 2부에서는 wordpress와 nginx 설정을 통해서 워드프레스를 구동해 보도록 하겠습니다. docker-compose WordPress 설정 여기에서는 WordPress를 컨테이너로 띄울 것입니다. WordPress를 php 7.1으로 구동하는 fpm으로 띄울 것이며 도커 이미지 경량화를 위한 alpine 리눅스 이미지를 사용할 것입니다. 관련 사항을 docker-compose.yml에 추가하겠습니다. 1부에서 mariadb의 환경변수를 추출했던 것처럼 .env에 환경 변수는 … Read more

JetBrains Night 서울

JetBrains에서 필자가 관심갖고 있는 영역을 모두 행사에서 다룬다고 한다. 첫째는 IDE Tips & Tricks 파트다. Webstorm에 이어 PhpStorm과 PyCharm까지 사용하다가 Android Studio를 사용해야 하는 상황까지 되어서, IDE를 여러개 쓸 수 없다는 생각에 IntelliJ IDEA까지 구매를 했음에도, 사실 아직도 많은 단축키를 제대로 활용하고 있지 못한 점이 영 마음에 걸린다. 과거에 한글97 워드프로세서의 단축키 80-90%를 암기해서 쓸 … Read more