[Postman/Github Actions] Github Actions를 통해 API 테스트 자동화하기
·
Minding's Programming/Knowledge
API를 테스트하는 도구로 많은 사람들이 Postman을 사용한다. Postman에서 미리 스크립트를 작성해두면, API에 대한 테스트를 자동화시킬 수 있는데, Github Actions를 이용하면 Github에 배포할 때마다 테스트를 시도하게 할 수 있다. Postman에서 API 테스트를 자동화하는 방법API 테스트 예시로 코인 데이터를 수집할 수 있는 Binance API를 사용해보았다. (코인 기본 데이터만 수집할 시 API 키는 필요없다.)https://github.com/binance/binance-spot-api-docs GitHub - binance/binance-spot-api-docs: Official Documentation for the Binance Spot APIs and Str..
[AWS RDS/MySQL] AWS RDS에서 MySQL 이벤트 스케줄러 설정하기
·
Minding's Programming/AWS
MySQL 이벤트 스케줄러?MySQL의 이벤트 스케줄러는 특정 시간 간격 또는 지정된 시점에 SQL 쿼리를 자동으로 실행할 수 있도록 도와주는 기능으로, 이를 통해 특정 시간에 예약해야 하는 작업들을 반복적으로 실행할 수 있다. Cron과 유사한 역할이라고 보면 되며, DB 내에서 직접 관리된다. MySQL의 장점은 MySQL 서버 내에서 쿼리가 자동으로 실행되기 때문에 외부의 서버 또는 애플리케이션을 통해 스크립트를 보내지 않아도 된다는 것이다. 클라이언트와도 독립적으로 실행되기 때문에, 간단한 작업의 경우 이벤트 스케줄러를 이용하는 장점이 극대화된다. 구성 요소MySQL 이벤트 스케줄러는 크게 '이벤트'와 '스케줄러' 2가지로 나뉘어져 있다.이벤트: 실행할 SQL 명령어 또는 명령어 블록이다.스케줄러..
[QA/Testing] Charles Proxy Tool - 테스트 효율을 높일 수 있는 툴
·
Minding's Programming/Knowledge
이 글은 우아한형제들의 기술블로그 글을 참고하여 정리한 글입니다.https://techblog.woowahan.com/14550/ 너 혹시 T(Tester)야? : 테스트 효율을 높이는 Charles 툴 활용기 | 우아한형제들 기술블로그테스트 데이터를 효율적으로 쌓기 위해 Charles라는 프록시 툴을 도입하였습니다. 프록시 : 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리킴 (출처 : 위키백과) Charles 툴techblog.woowahan.com Charles? (공식문서)Charles는 웹 디버깅 프록시 툴로, HTTP 및 HTTPS 트래픽을 모니터링 및 분석할 수 있으며, 요청 및 응답 데이터를 조작할 수 있는 기능을 가지고 있다. 많은 QA 엔지니어와 개발자들이 애플리케..
[프로젝트] Catch Me My Capital - 합리적인 투자 의사결정을 위한 금융 데이터 파이프라인 및 백테스팅 도구 (프로젝트 소개 편)
·
Minding's Programming/Knowledge
Github: https://github.com/DE-ta-e-il/catch-me-my-capital GitHub - DE-ta-e-il/catch-me-my-capital: A data engineering project focused on collecting and managing financial data with a visA data engineering project focused on collecting and managing financial data with a vision for backtesting and analysis. - DE-ta-e-il/catch-me-my-capitalgithub.com 프로젝트 개요프로젝트 배경"우리는 정말 원숭이보다 투자를 더 잘하고 있을까요?"라는 질..
[프로그래머스 코딩테스트/MySQL] 특정 물고기를 잡은 총 수 구하기
·
Minding's Programming/프로그래머스 코딩테스트
문제 설명 낚시앱에서 사용하는 FISH_INFO 테이블은 잡은 물고기들의 정보를 담고 있습니다. FISH_INFO 테이블의 구조는 다음과 같으며 ID, FISH_TYPE, LENGTH, TIME은 각각 잡은 물고기의 ID, 물고기의 종류(숫자), 잡은 물고기의 길이(cm), 물고기를 잡은 날짜를 나타냅니다. Column name Type Nullable ID INTEGER FALSE FISH_TYPE INTEGER FALSE LENGTH FLOAT TRUE TIME DATE FALSE 단, 잡은 물고기의 길이가 10cm 이하일 경우에는 LENGTH 가 NULL 이며, LENGTH 에 NULL 만 있는 경우는 없습니다. FISH_NAME_INFO 테이블은 물고기의 이름에 대한 정보를 담고 있습니다. FIS..
[Kafka/Python] Kafka 설치 방법(Conduktor)
·
Minding's Programming/Knowledge
실시간 데이터 처리 플랫폼의 대표라고 할 수 있는 Kafka에 대해 공부하기 위해서, Kafka를 어떻게 설치하는지 알아보려고 한다. 이 글에서는 Kafka를 Docker Container로 실행할 예정이기 때문에, 기본적으로 Docker가 설치되어 있어야 한다. Docker 설치는 아래 글을 참고하길 바란다. (Windows의 경우 WSL2 설치가 필요할 수 있다.) Docker의 개념 및 기본 실행 명령어 [Docker] Docker의 개념 및 기본 실행 명령어Docker Docker는 애플리케이션을 컨테이너라는 독립된 환경에서 실행할 수 있게 해주는 Linux 컨테이너 기반 플랫폼이다. 애플리케이션과 관련된 라이브러리와 종속성을 하나의 패키지로 묶어 어디minding-deep-learning.tis..
[Python/Unittest] Unittest
·
Minding's Programming/Knowledge
Unittest?Python의 테스트 프레임워크인 unittest는 코드 상의 특정 기능을 테스트하기 위해 작성된다. 일반적으로 특정 입력을 주고 예상된 출력이 나오는지의 형태로 테스트한다. 최근 CI/CD의 자동화와 안정성이 중요해지면서 전체 코드의 테스트 커버리지의 중요성도 함께 높아졌는데, 이 때 Python코드에서는 unittest가 일반적으로 사용된다. unittest는 테스트 케이스를 class 단위로 작성하고, 그 안에 포함된 여러가지 메서드를 통해 기능을 테스트한다. 아래 코드는 unittest의 예시다.import unittestclass TestStringMethods(unittest.TestCase): def test_upper(self): self.assertEqu..
[Spark/Hive] Spark에서 Hive 메타 스토어 사용하기
·
Minding's Programming/Spark
Spark의 DB와 테이블SparkSQL을 통해 임시 테이블을 만들어 SQL 조작이 가능하지만, Spark는 기본적으로 인메모리 기반이기 때문에, 세션이 종료되면 카탈로그라고 불리는 테이블과 뷰가 사라진다. 이 문제로 인해 Spark에서는 계속해서 사용해야 하는 테이블을 그때 그때 불러와줘야 하는 문제가 발생한다. Hive 메타스토어이를 해결하기 위해 Disk에 저장이 가능한 Hive와 호환이 되는 Persistent라는 카탈로그를 제공한다. 각 테이블들은 DB라고 부르는 폴더와 같은 구조로 관리된다. 위와 같이 스토리지 기반의 테이블은 기본적으로 HDFS오 Parquet 포맷을 사용하며, Hive와 호환되는 메타스토어를 사용한다. 여기엔 두 종류의 테이블이 존재한다.Managed Table: Spark..