• Programming,  Python

    [Python] 다른 Python Source의 모듈 가져오기

    Python을 사용하다보면 PYTHONPATH에 있는 package가 아닌 다른 python source의 module을 가져와서 사용하는 경우가 종종 있다. 위 기능을 지원하는 패키지를 통해 동작을 구현해보려고 한다.참고로 Python version별로 사용 방법이 다르기 때문에 유의해야하며, 이 글은 Python…

  • Etc.,  Programming

    CMake Pre-defined Variables

    CMake에는 미리 정의된 변수들이 존재한다. 이번 포스팅에선 대표적으로 사용되는 변수를 소개한다. CMAKE_COMMAND cmake 명령어 자체를 수행하고자 할 때 사용한다. 따라서 해당 변수 ${CMAKE_COMMAND}에는 cmake binary 위치가 저장된다. 아래와 같이 사용이 될 수 있다.…

  • Etc.,  Programming

    CMake 명령어

    CMake를 사용할 때는 CMakeLists.txt에 다양한 명령어를 함수처럼 호출해서 사용한다. 이번 글에서 각 명령어들에 대해 소개하도록 한다. cmake_minimum_required 최소로 요구되는 CMake version을 명시한다. project 해당 project의 필수 정보들을 입력한다. 이 명령은 CMake 수행에 반드시…

  • Etc.,  Programming

    CMake 사용법

    What is CMake? CMake란 cross-platform build system으로 우리가 일반적으로 많이 이용하는 Make에서 확장된 프로그램이다. 어떤 platform을 target으로 사용되는 Make와 다르게 다양한 platform에서도 동작 할 수 있는 build system을 CMake를 통해 이용 가능하다. 위…

  • Linux,  Programming

    [Linux] Executable의 RPATH 확인

    Linux에서 executable은 elf format으로 구성되는데, 내부에는 rpath entry라는게 존재한다. 참고로 rpath는 shared library를 이용하는 build된 binary에서 dynamic loading 시 어떤 위치에 shared library가 존재하는지 가리키는 entry다. Runtime 시 shared library를 참조하는 순서는 다음과…

  • Linux,  Programming

    [Linux] Bash set 명령어

    Bash shell에서 set 명령어는 스크립트에서 자주 사용되는 명령어다. 이번 글에서 주요한 옵션에 대해서 설명해본다. -e -e 옵션은 bash shell에서 각 명령어를 수행하고 난 뒤에 error가 발생해 return value가 0이 아닌 다른 값이면 뒤따르는…

  • Git,  Programming

    [Git] Github Action Workflow 작성법

    Github Action의 workflow 파일 작성을 통해 각 workflow 동작을 기술해준다. 각 파일의 구조는 크게 다음과 같이 나타낼 수 있다. name .github/workflows/XXX.yml 파일에 가장 먼저 기술되는 부분은 workflow의 이름이다. 필수 key는 아니기에 만약 설정해주지…

  • Git,  Programming

    [Git] Github Action 사용법

    Github에선 workflow를 자동화 할 수 있는 기능을 제공한다. 대표적인 workflow 자동화 프로그램으로는 Jenkins가 있는데 간단한 업무를 Github에서 제공하는 Action으로 어느정도 대체가 가능하다. 대신 위 기능은 각 repository 별 최대 등록 가능한 workflow 개수가…