⌨ DEVELOPMENT
[Python] 이미지 한장으로 정리하는 Python3 기초!
[Python] 이미지 한장으로 정리하는 Python3 기초!
2020.05.30요즘 핫하다는 파이썬을 배우기 위해서 책 또는 샘플을 뒤져볼 텐데 이미지 한 장으로 기본이 모두 정리되어있습니다. 파이썬 언어에 입문할 때 필요한 변수 타입부터 기본 사용법까지 간단하게 표현되어있습니다. 어렵지 않게 표현되어있으니 한번 쭉 훑어보고 익혀놓고 한 번씩 참고하면 좋을듯합니다. 많은 도움이 되시길 바라겠습니다 :)
[C/C++] clock vs gettimeofday Linux와 Windows의 코드 실행 시간 측정 방법
[C/C++] clock vs gettimeofday Linux와 Windows의 코드 실행 시간 측정 방법
2020.05.03windows program을 주력으로 개발하다 보니 자연스럽게 사용하던 clock을 이용하여 시간을 측정했습니다. 그런데 linux에서도 똑같이 시간을 측정했는데 system() API를 사용한 부분이 예상 시간이랑 너무나도 차이가 있더라고요... 확인해보니 리눅스에서의 시간 측정 방법이 잘못된 거였습니다. LINUX에서 실행 시간 측정 clock() CPU의 시간을 측정하는 API입니다. 즉, 프로세스가 CPU를 점유하지 않을 때는 시간이 측정되지 않게 되는데요, sleep(), system() API 등 CPU가 점유하지 않는 API를 사용한 시간은 측정이 되지 않습니다. gettimeofday() wall clock time이라고 하여 동작 시간을 측정하는 방식입니다. CPU의 동작 시간만을 확인..
Gopher들의 최고의 입문서! Head First Go! Golang
Gopher들의 최고의 입문서! Head First Go! Golang
2020.04.30최근 블록체인 개발에 관심이 있어 찾아보니 Go 언어로 만들어진 케이스가 있어서 관심을 갖게 되었습니다. Go 언어는 Google에서 만든 언어로 2012년 3월에 정식 발표된 생각보다 오래된 언어입니다. 언어 이름이 Go이다 보니 검색 키워드도 Go가 아니고 Golang으로 검색을 주로 하게 됩니다. 그래서 Go언어 사용자들을 고퍼(Gopher)라고 부르고 고퍼(Gopher)들을 위한 연례행사인 고퍼콘(Gophercon)이 세계 각국에서 매년 열리고 있습니다. 최근 Google 뿐만 아니라 드롭박스, 사운드 클라우드, 넷플릭스 등에서도 기존 기능 중 상당 부분을 Go언어로 대체를 하고 있으며, 트위치도 많은 부분이 Go 언어로 개발됐다고 합니다. 즉, Go언어는 이미 시장에서 인정받고 안정성이 검증된 ..
[C/C++] InternetReadFile Simple File Download.
[C/C++] InternetReadFile Simple File Download.
2020.03.04복잡한 Socket 통신을 하지 않고 인터넷 URL 또는 Network에 공유된 파일을 다운로드하려면 어떻게 하면 좋을까요? MSDN에 보시면 아주 간단하게 사용할 수 있는 InternetReadFile API를 제공하고 있습니다. 해당 API는 파일을 다룰 때 사용하는 ReadFile과 매우 유사하게 동작하기 때문에 파일을 조금 다루어보셨다면 어렵지 않게 다룰 수 있을 거예요. 사용 전 가장 먼저 해주어야 할 행동은 역시 header를 include 해주는 것인데요, wininet을 사용하므로 lib로 링크해주어야 합니다. 이제 아주 간단한 방법으로 URL에 있는 파일을 로컬 파일로 저장하도록 해봅시다. 주의 : wininet을 사용하는 경우 서버 또는 service process에는 사용하면 안 됩니..
[AI] 젯슨 나노(Jetson Nano) 초간단 리눅스 웹서버 구축하기
[AI] 젯슨 나노(Jetson Nano) 초간단 리눅스 웹서버 구축하기
2020.02.24젯슨 나노(Jetson Nano) Ubuntu Linux에서 간단하게 웹서버 동작하기 젯슨 나노에서 darknet YOLOv3등에서 나온 결과물을 느려 터진 원격 접속에서 보기도 힘들고, 웹에 올리자니 네트워크에 연결되어있어야 하는 번거로움 때문에 간단하게 젯슨 나노에서 웹 서버를 열어서 동일한 네트워크상에서 접속하기로 했습니다. 젯슨 나노(Jetson Nano)는 Ubuntu 기반이기 때문에 너무나도 간단하게 Apache2를 설치하기만 하면 80 port를 오픈할 수 있습니다! 젯슨 나노(Jetson Nano) Apache2 설치 // // 최신버전 패키지 설치를 위해 apt-get을 최신버전으로 update. // sudo apt-get update sudo apt-get upgrade // // a..
[Python] backtrader를 이용한 주식 전략 백테스팅 시뮬레이션
[Python] backtrader를 이용한 주식 전략 백테스팅 시뮬레이션
2020.01.04Python backtrader 주식 전략 백테스팅 시뮬레이션 과거의 주식 데이터를 이용하여 내가 작성한 전략 알고리즘이 어느 정도 수익을 낼 수 있는지 테스트를 해볼 수 있는 시뮬레이션을 해보려 합니다. 특정 상황에서의 매수와 매도 등 간단하게 구현을 해도 되지만 python의 backtrader를 이용하여 간단한 백테스팅 시뮬레이션을 진행해보겠습니다. 과거의 데이터를 이용할 때 가장 주의해야할점은 시뮬레이션 결과가 아무리 좋더라도 과거는 과거일 뿐이라는 겁니다. 과거에 성과가 좋았더라도 미래에는 성공한다는 보장이 없기 때문에 과거에 전략을 너무 믿지는 마세요! 자, 그럼 가장 먼저 backtrader를 설치해야합니다. pip install backtrader zipline이라는 라이브러리도 있지만 해..
[Python] 네이버 Finance API를 이용한 ETF 종목 가져오기
[Python] 네이버 Finance API를 이용한 ETF 종목 가져오기
2020.01.02ETF(상장지수펀드)는 기초지수의 성과를 추적하는 것이 목표인 인덱스펀드로, 거래소에 상장되어 있어서 개별주식과 마찬가지로 기존의 주식계좌를 통해 거래를 할 수 있습니다. 그 구성종목과 수량 등 자산구성내역(PDF)이 투명하게 공개되어 있고, 장중에는 실시간으로 순자산가치(NAV)가 제공되어 거래에 참고하실 수 있습니다. ETF는 1좌를 거래할 수 있는 최소한의 금액만으로 분산투자 효과를 누릴 수 있어 효율적인 투자수단이며, 펀드보다 운용보수가 낮고 주식에 적용되는 거래세도 붙지 않습니다. ETF의 장점은 종목 선정 및 분산투자에 익숙하지 않은 상태에서도 안정적으로 자산을 운용하기에 적합하며, 또한 가격 변동이 그렇게 크지 않기 때문에 주식 초보가 투자하기에도 좋습니다. https://finance.na..
[Python] pandas 주식정보 이동평균(moving average) 구하기
[Python] pandas 주식정보 이동평균(moving average) 구하기
2019.12.29주식 시장에는 이동평균선이라는 지표가 있습니다. 10일 이동평균선은 과거 10일 동안의 주가를 평균낸값을 계속 이어서 표시하는 방법입니다. 이런 이동평균선과 현재 주가의 괴리가 얼마나 벌어져 있는가로 추세 매매를 결정하게 됩니다. 이러한 이동평균선의 등장 배경에는 랜덤워크가설이라는것이 존재합니다. 즉, 주가는 예측할 수 없이 움직인다는 것입니다. 그러나 예측할 수 없는 움직임이라도 평균을 내보면 어떠한 방향성을 찾을 수 있지 않을까?라는 가정에서 이동평균선이 등장하게 되었습니다. 시장에서는 단순 이동평균 SMA(simple moving average), 지수 이동평균 EMA(exponetial moving average), 가중 이동평균 WMA(weighted moving average)등을 사용하며, ..
[Python] pandas 주식정보로 스토캐스틱(Stochastic Oscillator) 구하기
[Python] pandas 주식정보로 스토캐스틱(Stochastic Oscillator) 구하기
2019.12.28https://wendys.tistory.com/174 - pandas_datareader를 이용하여 주식 데이터 가져오기! Yahoo Finance Stochastic Oscillator 개념 스토캐스틱은, 최근 N일간의 최고가와 최저가의 범위 내에서 현재 가격의 위치를 표시할 때, 매수세가 매도세보다 강할 때는 그 위치가 높게 형성되고, 매도세가 매수세보다 강할 때는 그 위치가 낮게 형성된다는 것을 이용한 것이다. 예를 들어 최근 5일간 최고가가 15,000원이고 최저가가 10,000원인 주식이 있을때, 현재가가 14,000원이라면 매수세가 강하여 오르는 추세임을 알 수 있다. 만일 현재가가 11,000원이라면 매도세가 강하여 내리는 추세임을 알 수 있다. 예를 들어 최근 15일 중 최고가가 15,0..
[Python] pandas_datareader를 이용하여 주식 데이터 가져오기! Yahoo Finance
[Python] pandas_datareader를 이용하여 주식 데이터 가져오기! Yahoo Finance
2019.12.26저번 시간에 pandas를 이용하여 한국 거래소(KRX)의 주식 종목 코드를 가져왔었는데요, 이번에는 코스피(KOSPI), 코스닥(KODAQ) 주식 종목 코드를 이용하여 원하는 회사의 주식 정보를 가져와보려 합니다. https://wendys.tistory.com/173 - Pandas를 이용하여 주식 종목 코드 가져오기 코드는 저번시간에 이어서 계속 진행해보도록 하겠습니다. 주식 데이터를 가져올 수 있는 곳은 한정적입니다. 네이버의 데이터는 크롤링이 거부되어있기 때문에 언제든지 막힐 수 있고, 증권사의 API를 이용하기 위해서는 증권사 프로그램을 PC에 설치해야 하는 번거로움이 있기 때문에 간편하게 Yahoo Finance의 데이터를 이용하도록 하겠습니다. # pandas datareader를 설치합니..
[Python] Pandas를 이용하여 주식 종목 코드 가져오기! 한국 거래소 (KRX).
[Python] Pandas를 이용하여 주식 종목 코드 가져오기! 한국 거래소 (KRX).
2019.12.26주식 거래를 할 때 회사들을 일련의 코드로써 나열을 하게 됩니다. 그렇다면 주식의 정보를 가져오기 위해서는 코스피(KOSPI)와 코스닥(KOSDAQ)의 종목 코드 목록을 알아야 하는데요, 3000여 개나 되는 코드를 하나하나 찾는 건 개발자 스타일이 아니니 공식 데이터를 제공하는 한국 거래소 (KRX)를 통해 가져오도록 하겠습니다. 한국 거래소에서는 상장법인목록을 엑셀 파일로 다운로드할 수 있게 제공이 되기 때문에 한결 수월하네요 그렇다면 가장 먼저 pandas가 설치되어있어야겠죠? 저는 구글 콜라보레이터를 이용하여 테스트를 해볼 계획입니다. 구글 콜라보 레이터에는 기본적인 외부 모듈들이 설치되어있기 때문에 그냥 사용하면 되지만 만약 설치가 필요한 경우 pandas를 설치 후 작업을 진행하면 되겠습니다...
Python django vs Flask. web framework 무엇을 선택해야할까?
Python django vs Flask. web framework 무엇을 선택해야할까?
2019.12.25Python Web Framework django vs Flask Python에서 django와 Flask는 가장 널리 사용되는 오픈소스 기반 웹 프레임워크입니다. Django와 Flask는 각각 장단점이 존재할 텐데요 뭐가 더 좋다 나쁘다가 아니라 활용도에 따라 무엇을 써야 할지를 판단하는 게 중요합니다. 간단히 설명하자면 django는 Python의 full stack web framework인 반면 Flask는 가볍고 확장 가능한 web framework입니다. 즉 django는 기능이 훨씬 뛰어나지만 복잡하고, Flask는 매우 단순하고 가볍습니다. Python django django는 python기반 web framework 중 가장 많이 사용되고 있는 web framework이며, Flask..