목록전체 글 (360)
간단한 다익스트라 문제이다.c++로 풀어보았는데그래프를 클래스로 관리하는 법으로 풀었다. #include #include #include #include #include using namespace std;struct Edge { int to; int weight;};class Graph{ private: vector> adj; public: Graph(int vertices) : adj(vertices){} void addEdge(int from, int to, int weight) { adj[from].push_back({to, weight}); } vector getEdges(int vertex) { return adj[vertex]; } int size() { retu..
먼저 Upbit API를 활용해서 비트코인 종목을 위주로 매매를 진행하는 프로그램을 제작해 보기로 했다.주식에 대한 지식도 많은 편은 아니지만 계속 공부해가며 코드를 수정해 나갈 예정이다. 현재의 디렉터리 구상도이다.프로젝트를 진행하면서 계속 바뀔것이다. project/│├── config/│ ├── config.py # 설정 파일│├── modules/│ ├── api.py # API 통신 모듈│ ├── data_processing.py # 데이터 처리 모듈│ ├── strategy.py # 매매 전략 모듈│ ├── logger.py # 로깅 모듈│├── tests/│ ├── test_api.py # API 모듈 테..
#include #include #include #include #include #include #include #include #include // ICMP 체크섬 계산 함수unsigned short checksum(void *b, int len) { unsigned short *buf = (unsigned short *)b; unsigned int sum = 0; unsigned short result; for (sum = 0; len > 1; len -= 2) sum += *buf++; if (len == 1) sum += *(unsigned char *)buf; sum = (sum >> 16) + (sum & 0xFFFF); sum +..
ICMP 패킷을 보내고 다시 받은 패킷의 src IP를 추출했다. #include #include #include #include #include #include // ICMP 체크섬 계산 함수unsigned short checksum(void *b, int len) { unsigned short *buf = (unsigned short *)b; unsigned int sum = 0; unsigned short result; for (sum = 0; len > 1; len -= 2) sum += *buf++; if (len == 1) sum += *(unsigned char *)buf; sum = (sum >> 16) + (sum & 0xFFFF..
리눅스의 Traceroute를 직접 구현해 보기로 했다. Traceroute는 ICMP 규약을 통해 통신을한다.ICMP의 패킷 구조이다.WireShark로 다시 한번 확인해 볼 예정이다. 먼저 간단하게 ICMP패킷을 만들어 보내는 코드를 작성해 보았다. #include #include #include #include #include #include // ICMP 체크섬 계산 함수unsigned short checksum(void *b, int len) { unsigned short *buf = (unsigned short *)b; unsigned int sum = 0; unsigned short result; for (sum = 0; len > 1; len -= 2) ..
가장 높은 시너지에 대해서 승률을 정리하는 로직을 작성했다. #ifndef ANALYSIS_H#define AHALYSIS_H#include "JSONParsing.h"#include #include #include class Analysis{ private: Participant my_data; std::vector scraped_traits; std::vector scraped_avg_places; std::map mapset; public: Analysis(Participant arg_1, std::vector arg_2, std::vector arg_3); void Analysis_traits();..
오늘은 간단하게 저번에 작성했던 코드를 클래스로 다시 정리했다. Scraper를 만들어주었다. tasks도 수정을 해주었다. #ifndef SCRAPER_H#define SCRAPER_H#include #include #include class Scraper{ private: std::vector traits; std::vector avg_places; FILE* pipe; public: Scraper(); ~Scraper(); std::vector GET_traits(); std::vector GET_avg_places(); void Print_Data();};#endif //S..
내가 가지고 있는 데이터와 어떤 데이터를 비교해야 할지 많이 고민했다.결국 TFT정보들이 정리되어있는 사이트를 크롤링해서비교 데이터를 수집하기로 했다. C++로 크롤링을 진행하다 여러 오류를 만나 시간이 오래 걸렸다.그래서 Python으로 크롤링을 진행하고 해당 출력데이터를 c++로 보내는 방법을 이용하기로 했다. 점점 디렉터리에 파일이 많아진다.test.py가 크롤링을 진행하는 스크립트이다.#include "APIManager.h"#include "JSONParsing.h"#include #include #include #include #include #include using namespace std;int main() { string puuid = "jzmQU3rvfYTnN7djGlqZg7G..