Study: DeveloperTools(DevTool)

    [Git] reset과 revert 알고 사용하기

    Git reset vs revert 차이점 공통점: '과거로 되돌린다.' 는 것. 차이점: '과거로 되돌리겠다는 내용도 기록되는가?(= commit 이력에 남는가?)' 이다. reset : 시간을 아예 과거의 특정 사건(commit)으로 되돌립니다(= commit 이력이 남는가? X). 아예 현재가 없었던 것 처럼 원하는 과거로 돌아갈 수 있습니다. 정말 말 그대로 '리셋'이며, reset은 이력을 남기지 않습니다. 따라서 현재까지의 commit 이력을 남기지 않고 원하는 시점으로 완전히 되돌아가고 싶을 때 사용할 수 있습니다. revert : 현재에 있으면서 과거의 특정 사건(commit)들만 없던 일로 만듭니다(= commit 이력이 남는가? O). 과거로 돌아가겠다는 이력을 남겨두고 원하는 시점으로..

    [IDE] VSCode C++ CMake 개발환경 세팅(MacOS, Linux)

    💡 본 문서는 'VSCode C++ CMake 개발환경 세팅방법'에 대해 정리해놓은 글입니다. Linux에서 VSCode C++ CMake 개발환경 세팅방법에 대해 정리하였으니 참고하시기 바랍니다. 1. VSCode CMake 환경 세팅(linux) 1.1 CMake Extension Visual Studio Code에 위의 Extension(CMake Tools)을 설치하면, 아래와 같이 VSCode 하단바에 여러 버튼이 생성됩니다. 이를 잘 활용하면 CMake 상에서 쉽게 디버깅하고 실행 및 테스트 할 수 있습니다. 1.2 VScode 하단바 하단바를 이용하여 Cmake 디버깅하는 방법을 알려주도록 하겠습니다. CMake extension을 설치하면 총 7개의 버튼이 생성되며 차례차례 설명하겠습니다...

    [CMake] make package 패키지 (feat. cmake install)

    본 문서는 CMake에 패키지 관련 내용을 나열한 문서로, 주로 설치한 패키지를 받아서 사용하기 위해 사용합니다. Package Package의 구성 보통 패키지라고 하면 Chocolaty, NuGet, RPM, Brew처럼 Package Manager 소프트웨어를 통해 다운로드/설치/업데이트해서 사용하는 프로그램들(+ 문서)을 말하는데, C++ 프로그래머들에게 패키지란 개발에 필요한 Library + Manifest에 가까운 것 같습니다. 일반적인 패키지: 실행 프로그램(executable) 문서 파일(license, manual, readme 등) 프로그래밍 패키지: 일반 패키지 + 개발에 필요한 요소들 서브 프로그램(library) 실행 프로그램(test tools, script 등) 소스 코드(i..

    [IDE] VSCode C++ 디버깅 환경 세팅(task.json, launch.json): GCC on Linux (feat. 모든 중단점에서 멈추도록)

    💡 본 문서는 Visual Studio Code를 활용한 C++ 디버깅 환경 세팅 방법에 대해 소개합니다. 운영체제 별로 지원되는 컴파일러에 차이가 있어 운영체제별로 일부 상이할 수 있으니 본인의 운영체제를 확인하고 그에 맞춰서 진행하시기 바랍니다. 미리 알아야 할 점 (주의사항) VSCode에서 디버깅시 프로젝트의 상위에 있는 .vscode/폴더 내에 task.json과 launch.json을 아래와 유사하게 구성합니다. VScode의 디버깅을 실행하면 launch.json이 실행되는데, 이때 preLaunchTask 라벨이 있다면 task.json에서 label이 동일한 것을 찾고 task.json 작업을 실행한 후 launch.json이 실행합니다. 따라서 task.json의 "label"과 lau..

    [CMake] 변수 및 이미 정의된 매크로 값들

    💡 본 문서는 CMake에 이미 정의되어 있는 변수 값인 매크로에 대해 나열한 문서로, 주로 환경 경로 등을 사용자가 설정하기 위해 사용합니다. 1. 변수 정의 및 사용 일반적인 변수 정의 set( ... [PARENT_SCOPE]) If the PARENT_SCOPE option is given the variable will be set in the scope above the current scope. option( "" [value]) an option for the user to select as ON or OFF. If no initial is provided, OFF is used. 캐시 변수 정의 set( ... CACHE [FORCE]) 환경 변수 정의 set(ENV{} []) calls..