[SLAM] 12. Logger and CI CD

happy_quokka·2023년 11월 24일
0

SLAM

목록 보기
13/28

Speed logger

  • 빠르다
  • 로깅을 할 때 string으로 만들어서 출력해주는데 string을 만들때 쓰는 라이브러리가 fmt. 이게 기본적으로 다른 방법들에 비해서 빠르다
  • 여러 플랫폼에서 사용가능 (윈도우, 리눅스, 맥)
  • cout으로는 못하는 error 단계가 나뉘어 있다
    • 4레벨 : info, warn, error, critical
spdlog::info("Spdlog is activated!");
spdlog::warn("Spdlog is warning you");
spdlog::error("spdlog says this program should quit");

  • cout의 경우 여러 thread를 사용할 때 string이 꼬이는 문제가 발생할 수 있는데 spdlog의 경우 무조건 먼저 실행되는 것부터 출력해주기 때문에 겹치지 않는다
  • logging을 많이 하는 것이 좋다

CI/CD

  • 터미널에서 하는 것들을 자동화

github actions

  • 코드의 format을 맞춰주는 기능
  • .github/workflow의 clang-tools.yaml
  • .github가 깃헙에 올라갈 때 자동화해주는 것들이 다 여기에 포함
  • workflows가 github actions를 실행시킨다
  • .github을 깃헙에 올리면 자동으로 포멧을 확인해준다
  • 돌아간 actions를 확인하고 싶으면 github에서 actions에서 확인할 수 있다
  • branch protection rule
  • 깃헙의 setting -> branches -> branch protection rule
  • 특정 브랜치에 코드를 넣고 싶으면 룰을 통과하도록
  • status check -> clang-format

0개의 댓글