목록2024/08 (3)
관심있는 것들 정리
c로 코딩을 할 경우, sorting 순서, 중복항목 체크를 직접해 주어야 하지만 c++의 경우 이를 간단히 처리해준다.map에서 key 값을 기준으로 sorting하면서 merge가 되며, 간단히 int 타입을 key로 하는 map에 대한 예제는 다음과 같다.#include#include#inclucdeusing namespace std;int main(){ map tmap1 = {{10, "10"}, {1, "1"}, {3, "3"}, {20, "20"}}; map tmap1 = {{10, "10"}, {5, "5"}, {6, "6"}, {20, "20"}}; tmap1.insert(tmap2.begin(), tmap2.end()); for(auto& p: tmap..
코딩을 처음배울 때는 내가 사용하는 언어의 문법을 배우는 데 바쁘고, 그 언어를 이용해 기능을 구현하는 것에 관심이 있어, 클린 코드라는 것을 들어도 귀에 들어오지 않는다. 이는 회사에 취직해서 회사의 플랫폼에 맞춰, 주어진 업무를 빠른 시간내에 구현하는 초기 개발자에게도 해당하는 이야기일 수 있다. 회사가 만드는 프로그램의 수명에 따라, 어떤 곳은 단품을 만들면 새로 코드를 만들어야 하고 어떤 곳은 10년이 지나도 동일한 코드 베이스에서 계속해서 기능 개발 및 버그 수정을 해야하는 곳이 있다. 후자의 경우, 시간이 지나면 지날 수록, 또 새로운 기능을 계속 개발하면 개발할 수록, 이전에 급한 일정때문에 기능에만 몰두해 개발한 코드는 부채처럼 나에게 계속 코드 관리의 어려움, 테스트의 어려움, 그리고 여..
googletest가 나온지 상당히 오래됐고, 회사에서 사용한지도 꽤 오래됐다.그래서 집에 있는 Mac 머신에서도 googletest 수행해보려고 해 보면 자꾸 에러가 나서, 간단히 컴파일하는 방법과 관련 CMakeLists.txt 파일을 정리해 둔다. 1. googletest 개발용 header와 library 설치$ git clone https://github.com/google/googletest.git$ cd googletest$ mkdir install$ cd install$ cmake ../$ make$ sudo make install$ export CPLUS_INCLUDE_PATH=/usr/local/include$ export LIBRARY_PATH=/usr/local/lib이렇게 하면, ..