728x90
반응형

전체 글 214

MongoCxx 라이브러리 Min, Max 해결 방법

링크도 잘 되어 있고, 다른 게 모두 정상인 것 같은데빌드 버튼을 누르는 순간 find.hpp 에서 Min 어쩌구 Max 어쩌구 경고가 뜨는 현상이 있는 사람들이 이 글까지 왔을 것이다. 해당 현상은 Windosw에서 Min Max를 매크로로 생성해두어 충돌하여 발생한 것이라고 하는데이 현상을 해결하는 방법은#define NOMINMAX#include #undef min#undef max#incdlue "MongoCxx~~.hpp"위와 같다Windows.h를 include할 때 minmax를 정의하지 못하게 하고 undef min으로 혹시나 min max가 정의되어 있으면 undef해준 후 mongocxx들을 include 해주면 된다

C++ 2024.05.02

LNK2019 "public: __cdecl 함수명A(void)" (??0CMongoDB@@QEAA@XZ)"public: __cdecl 함수명B(void)" (??0클래스명@@QEAA@XZ) 함수에서 참조되는 확인할 수 없는 외부 기호 해결 방법

만약 온갖 방법을 다 활용해 보아도 안되었거나 동일한 설정을 한 프로젝트 A와 B 중 한 프로젝트만 빌드가 되는 현상이 발생했다면 한번 확인해야 하는 사항이 있다. 중간에 프로젝트에 참여했거나, 기존 프로젝트에서 코드를 가져와 비주얼 스튜디오에 넣어서 라이브러리를 Include한 상태라면 비주얼 스튜디오에 해당 스크립트가 있는지 확인하는 것이다.실제 경로에는 코드가 있지만, 솔류션 탐색기에서 프로젝트를 확장해 보았을 때 해당 코드들이 없다면 수동으로 추가해주어야 한다. 추가하는 방법은 프로젝트나 넣어줄 폴더 우클릭 -> 추가 -> 기존 항목을 누른 후 넣어줘야할 코드들을 모두 넣어주면 된다.하나씩 넣을 필요없이 여러 개 한 번에 가능하다. 진짜 별 생쑈를 다했는데 저거 한 번 하니까 정상 빌드되었다 ㅎ;;;

C++ 2024.05.02

[MongoDB] 외부 연결 설정안될 때 해결법

.conf파일에서 ip bind를 0.0.0.0로 설정해도 안되는 분들이 이 글까지 찾아왔을거라 생각됩니다 이외에 mongo를 실행할 떄 Mongo -u [userId] -p [password] --host [~~IP~~] authenticationDatabase [dbTable] 라는 방식으로도 해보았는데 안되었을겁니다. 그런데 해결방법은 진짜... 가까이 있었습니다요 Mongod를 실행하면 뜨는 위의 Warning 메세지에서 답을 발견할 수 있습니다. 발견하셨나요 세~ 네 번째 줄을 보면 특정 IP 주소를 입력하거나 --bind_ip_all을 해버리라고합니다. 자 Mongod를 종료하고 cmd를 킵시다. 이제 방금같은 warning 메세지는 사라졌을 것입니다 다른 cmd를 실행시켜서 아래와 같이 입력..

C++ 2024.04.12

[C++] 컨텍스트 스위치란

컨텍스트 스위치(Context Switch)CPU가 현재 실행 중인 프로세스 또는 스레드에서 다른 프로세스 또는 스레드로 전환하는 과정 이 과정에는 현재 실행 중인 프로세스의 상태(컨텍스트)를 저장하고, 새로운 프로세스의 상태를 불러와서 CPU가 이어서 작업을 수행할 수 있도록 하는 작업이 포함 컨텍스트 스위치는 다음과 같은 상황에서 발생- Time Slice가 끝났을 때: 운영체제가 각 프로세스에 할당한 시간이 끝나면 다음 프로세스로 전환 - I/O 요청이 있을 때: 프로세스가 I/O 작업을 요청하면, 그 작업이 완료될 때까지 CPU는 다른 프로세스로 전환 - 우선순위가 높은 프로세스가 등장했을 때: 더 높은 우선순위를 가진 프로세스가 실행 준비가 되면, 현재 프로세스를 중단하고 우선순위가 높은 프로세..

C++ 2024.03.17

[커리어] 주니어 -> 중급 개발자가 되기 위한 역량

프로그래밍 기술 향상: 기본적인 프로그래밍 경험을 넘어서 다양한 프로젝트와 언어에 대한 실무 경험 이 말을 단순히 연차가 쌓이면서 프로그래밍 기술이 향상된다고 생각하면 버그가 발생한 것이다. 기술의 향상은 방치형 게임이 아니니까. 스스로 모르는 기술, 새로 나온 기술, 다른 분야에 대해 공부하고 만들어보지 않는다면 스스로 고여버리고 그 기간이 길어진다면 본인의 우물을 점점 더 깊게 파고 나가기 힘들어지게 만들 뿐이다. 라이브러리를 사용하더라도 시간 여유가 있다면 어떤 기술을 사용했는지, 어떤 문제가 있는지와 같이 다른 사람의 기술을 훔치는 것 또한 중요하다고 생각한다. 좋은 점은 내 것으로 만들고, 미흡한 부분은 개선하여 흡수하며 나의 기술을 강화하고 레벨 업해야 한다. 데이터베이스 및 운영 체제 이해:..

잡다한 팁 2024.03.17

[CPP] 분할 구현

- .h(헤더) 파일에는 함수나 클래스의 선언 - .cpp 파일에는 함수나 클래스의 구현(구현하는 부분에서는 선언한 .h파일을 #include "~~.h"식으로 전처리 해주어야 한다) - 이후 함수를 참조하려면 .h파일 전처리(#include) 하면 해당 함수 사용 가능 test.hclass TestClass{ private: int m_testValue; public: void Output(); void Set(int _value); int Get(); }test.cpp #include #include "test.h" void Test::Output(){ std::cout

C++ 2024.03.15

[C++] Merger Sort 병합 정렬

[병합 정렬의 이점] - 많은 양의 데이터에 대해 효율적 - 효율 O(Log N) - 안정적인 정렬 알고리즘 - 데이터의 초기 순서에 관계없이 항상 일정한 성능 제공 [병합 정렬의 단점] - 메모리를 임시로 저장하기 때문에 메모리 요구량이 크지만, 요즘 사양의 컴퓨터에겐 큰 무리는 없을 수 있다 #include #include // 두 개의 정렬된 서브 배열을 합병하는 함수 void merge(std::vector& arr, int left, int mid, int right) { int n1 = mid - left + 1; int n2 = right - mid; // 임시 배열을 생성하고 데이터를 복사합니다. std::vector L(n1), R(n2); for (int i = 0; i < n1; i+..

C++ 2024.03.15
728x90
반응형