[프로젝트] Catch Me My Capital - 합리적인 투자 의사결정을 위한 금융 데이터 파이프라인 및 백테스팅 도구 (테스트 도입 편)
·
Minding's Programming/Knowledge
지난 프로젝트 소개 글에서 NEXT STEP 중 하나였던 테스트 도구 추가를 진행 중이다. 테스트 도입 계획부터 어떤 문제를 겪었고 어떻게 해결했는지를 이 글에서 다뤄보려고 한다. 테스트 도입 계획테스트를 도입하기에 앞서, 다음과 같은 항목들을 우선해서 선정했다.어떤 것을 테스트할 것인지?어떤 도구(라이브러리)를 사용할 것인지?테스트 코드는 어디에, 어떤 방식으로 구성할 것인지?테스트는 어떻게 실행할 것인지?1. 어떤 것을 테스트해야 할까?Catch Me My Capital(이하 CMMC) 프로젝트는 기본적으로 금융 데이터를 수집한 뒤 적절히 변환해 데이터를 저장하고, 이를 대시보드로 시각화하는 "데이터 파이프라인"이 중심이다. 따라서, 데이터 파이프라인이 정상적으로 잘 작동하는지 판단할 수 있는 요소들..
[CI/CD] CI, CD 개념 및 Github Actions
·
Minding's Programming/Knowledge
SW 빌드란? 개발한 소프트웨어를 최종적으로 출시하기 위한 형태로 만드는 것이다. 참여 개발자들이 많을수록 이 과정은 더더욱 중요해지며, 개발이 끝나기 전부터 빌드를 해서 테스트를 진행하면 SW의 안정성이 증대된다. CI (Continuous Integration)CI는 Software Engineering Practice의 하나로, 아래와 같은 기본 원칙을 가지고 있다.코드 Repo는 하나만 유지한다. (Master or Main)코드변경을 최대한 자주 반영테스트를 최대한 추가빌드를 계속적으로 수행 (자동화)성공한 빌드의 프로덕션을 릴리스 (자동화)CD (Continuous Delivery): 배포만약 빌드가 실패할 경우새 코드의 commit으로 테스트가 실패하는 경우, 많은 회사들이 다시 빌드가 성공..