전체 글
Study - Singleton Pattern 2
싱글턴 패턴에서 자기 자신을 포인터로 가지도록 구현하는 방법도 있고, 일반 변수로 사용하는 경우가 있던데 어떤 차이가 있을까? 궁금했다. 포인터를 사용하는 경우 지연 초기화(Lazy Initialization) 가능: 포인터를 사용하면 객체의 인스턴스가 실제로 필요할 때까지 생성을 지연시킬 수 있습니다. 즉, getInstance() 메소드가 처음 호출될 때 싱글턴 객체를 생성합니다. 이는 자원을 효율적으로 사용하게 하며, 초기 시작 시간을 단축시킬 수 있습니다. 명시적인 생성자 호출: 포인터를 사용하면 객체의 생성자를 명시적으로 호출할 수 있어, 생성 과정에서 추가 로직을 수행할 수 있습니다. 생명 주기 관리 용이: 프로그램의 어느 시점에서든 객체를 명시적으로 삭제하거나 재생성하는 등 생명 주기를 관리..
study - vcpkg
vcpkg vcpkg는 C++ 프로젝트에 대한 의존성 관리를 단순화하는 마이크로소프트에서 개발한 오픈 소스 패키지 관리자입니다. 크로스 플랫폼 호환성을 지원하며, Windows, macOS, 그리고 Linux에서 사용할 수 있습니다. 이 도구는 개발자들이 필요한 라이브러리를 쉽게 찾고, 설치하며, 프로젝트와 통합할 수 있게 해줍니다. vcpkg 설치 전제조건 CMake Visual Studio 또는 GCC/Clang(Linux, macOS) Git ※ 진짜 진짜 중요 중요 !!!! Visual Studio 설치 시, 언어팩은 꼭 영어로 제발 설치하세요. 영어랑 그 외 언어 설치하는 건 상관 없는데, 영어는 필수입니다. 이유는? 저도 잘 모르겠어요,,,, 한국어만 설치한경우 Visual Studio 잘 찾..
Study - 싱글턴 패턴, Singleton Pattern
싱글턴 패턴, Singleton Pattern 싱글턴 패턴은 소프트웨어 디자인 패턴의 하나로, 클래스의 인스턴스가 오직 하나만 생성되도록 보장하는 패턴입니다. 이는 전역 변수를 사용하지 않고 객체에 대한 전역 접근을 제공하려는 경우에 유용합니다. 예제 코드 #include class Singleton { private: static Singleton* instance; // 싱글턴 인스턴스를 저장할 정적 멤버 변수 Singleton() {} // 생성자는 비공개 public: // 복사 생성자와 대입 연산자를 삭제하거나 비공개로 만듭니다. Singleton(const Singleton&) = delete; Singleton& operator=(const Singleton&) = delete; // 싱글턴..
설계 - 데이터 수집 모듈
설계 - 데이터 수집 모듈 1. API 클라이언트 주식 데이터를 제공하는 외부 API(예: Alpha Vantage, Yahoo Finance)와 통신할 수 있는 클라이언트를 구현합니다. 이 클라이언트는 필요한 데이터를 요청하고 응답을 수신하는 역할을 합니다. 2. 데이터 파서 API로부터 수신된 데이터(대부분 JSON 형식)를 파싱하여 필요한 정보만 추출하는 기능을 구현합니다. 3. 데이터 모델 파싱된 데이터를 저장할 데이터 구조(클래스 또는 구조체)를 정의합니다. 이 데이터 모델은 나중에 분석 모듈에서 사용됩니다. 4. 오류 처리 및 로깅 네트워크 오류, API 한도 초과, 데이터 형식 문제 등의 예외 상황을 처리하고 로그를 남길 수 있는 기능을 포함합니다.
요구 사항 분석 및 개발 모듈
요구사항 1. 데이터 수집 실시간 주식 데이터나 역사적 주식 데이터를 수집할 수 있는 기능. 2. 데이터 분석 수집된 데이터를 기반으로 기본적 분석, 기술적 분석 등 다양한 분석 기법을 적용할 수 있는 기능. 3. 사용자 인터페이스 사용자가 쉽게 데이터를 조회하고 분석 결과를 볼 수 있는 직관적인 UI. 4. 성능과 확장성 대량의 데이터를 빠르게 처리할 수 있으며, 새로운 기능 추가나 데이터 소스 확장이 용이해야 합니다. 5. 보안 사용자 데이터와 분석 정보의 보안을 유지할 수 있는 기능. 모듈 1. 데이터 수집 모듈 주식 정보 API로부터 데이터를 효율적으로 수집하기 위한 모듈 2. 데이터 처리 및 저장 모듈 수집된 데이터를 분석에 적합한 형태로 변환하고, 데이터베이스에 저장 3. 분석 알고리즘 모듈 ..