목록코딩하는 문과생 (220)
코딩하는 문과생
파이썬 배치 스크립트 작성 후, 여러 파일을 순차적으로 호출하는 일이 필요해졌다. 처음에는 crontab을 이용해 하나씩 호출하려 했으나 관리가 될까 의문이 들었고, 여러 서치 끝에 python-batch-runner라는 모듈을 발견해 이를 적용해보기로 했다. 우선 국내 자료가 하나도... 없어서 doc과 stackoverflow를 최대한 참조하면서 개발을 진행했다. [순서] 1. 우선 pip를 이용해 모듈을 다운 받는다. pip install python-batch-runner 2. 설치가 완료된다음 다음 명령어를 입력하면 프로젝트명과 프로젝트 경로를 지정한다. $ pyrunner --setup ProjectName : updatedaybatch ProjectPath : updateDay - 처음에 잘..
개인 프로젝트를 하던 도중에 여러 분석 기법들을 이용해 데이터를 분석하는 코드를 작성해야 했다. [처음 도입한 방식 : 공통 테이블] 추후 추가될 가능성을 생각해 코드의 일반화가 필요했고, 하드코딩을 줄이고 순수 로직만을 코드에 녹여내기 위해서 분석 기법을 관리하는 테이블을 생성하기로 결정했다. 설계한 테이블은 아래와 같다. trade_cls_cd분석기법코드trade_cls_nm분석기법명timing_period분석기간safe_degree기법 신뢰도batch_name분석 배치명use_yn사용유무 해당 테이블을 배치에서 조회해 for을 돌리는 방식으로 구성해, 최대한 수정을 줄일 수 있는 방향으로 코드를 작성하고자 했다.(몇 가지 기법을 나중에 추가해도 테이블에 데이터만 넣으면 된다.) - timingDay..
[개요] API로 호출한 데이터를 DB에 저장할 일이 생겼다. 약 16,000개 기업에 대해, API로 조회한 약 5년치 주가를 테이블에 저장하는 것인데, 데이터의 양은 대략 16,000 * 5년 * 약 200일(주가시장 거래일) = 약 1,600만 정도다. (절대로 무시할 양이 아니다...) [이전 코드] 처음엔 생각나는 대로 코드를 작성했는데, 결론적으로 처음 작성한 코드는 사용이 불가했다. 그 이유는 시간이 오래걸려서 인데, 한 회사의 주가를 가져와 저장하는 데 약 1분정도 소요되었다. 작성했던 코드를 간략히 설명하자면 1. API를 호출해 DataFrame에 담는다. 2. 테이블의 최신날짜를 조회한다. 2-1. 데이터가 없다면 from_date을 2016년 1월 1일로 설정 2-2. 데이터가 있다..