C++ 프로젝트가 거의 마무리 단계라 최종적으로 점검중에 log 관리를 아직 안했단 것을 깨달았다. 라이브러리 적용을 하고자 검색 결과 spdlog의 사용 빈도가 높아보였다. 사용 환경 OS: Linux ubuntu 20.04 LTS C++: gcc 9.4 CMakeLists.txt 사용 1. 멀티쓰레드(multi thread), 공유변수를 사용하여 돌아가는 c++ 프로젝트에서 로그 사용 프로젝트 환경 C++을 사용하며 main.cpp에서 다중 멀티쓰레드를 시작하고 프로그램 종료를 하기 전까지 구동 됨 멀티쓰레드는 서로 공유하는 변수가 있으며 여러 쓰레드가 한번에 변수에 접근함. 필요사항 logger 를 여러 쓰레드에서도 접근 로그 파일로 작성하고 관리 함수가 있을 것 사용하기 편할 것 2. spdlog..
java를 처음 배울 때 thread는 병렬실행을 위해 사용한다고 배웠다. 하지만 python을 많이 접하면서 웹프레임워크로 사용을 많이 해왔기 때문에 thread에서 java와 다른 점이 있을거라고는 생각하지 않았다. 1. python의 GIL : global interpreter lock 파이썬을 사용하다보면 편하다고 느낄 때가 있는데, 아무래도 바로바로 결과가 나오는 게 크다. 수정도 쉽고. python은 그간 사용하던 언어와 다르게 한 줄 씩 실행하는 interpreter언어기 때문이다. compile언어와 다른 점 때문에 많이 사용하고 좋아했는데 이번 프로젝트에서 이 인터프리터가 조금 문제이다. python에는 GIL이라는 lock이 있는데, 여러스레드가 동시에 돌아가도록 코드를 짜도 실상으로는..
도입배경 java -> kotlin으로 넘어가면서 새로 프로젝트를 만들어 적용하게 되었다. react환경을 사용하는 js는 이미 예전부터 프리티어와 ESlint의 도움을 받아 깔끔하게 코드를 유지했던 기억이 있어서 코틀린도 있지 않을까 하는 생각과 함께 소스를 만지는 4명 모두 코틀린이 처음이고 해서 소스코드 분석과 함께 코딩컨벤션을 지키고자 도입하고자 하였다. ktlint ktlint를 적용할 때 참고했던 링크들. https://blog.benelog.net/ktlint.html https://cheese10yun.github.io/ktlint/ Ktlint 코드 스타일 검사 - Yun Blog | 기술 블로그 Ktlint 코드 스타일 검사 - Yun Blog | 기술 블로그 cheese10yun.gi..