분류 전체보기
-
_Docker_chroot container & isolationTools/Docker 2024. 5. 31. 20:24
개발을 하면서 Docker에 대해 많이 들어봤을 거라 생각한다.그럼 Docker란 무엇일까? Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다.실제로 우리가 Github에서 Open source를 사용하려고 하면, Docker로 배포하는 경우를 많이 볼 수 있다.Docker를 가상머신과 비슷하게 생각해도 좋지만, 운영체제를 가상화하지 않는 컨테이너 기술이니만큼 가상머신에 비해서 가볍고 한 대의 서버에 여러 개의 서비스를 구동하기 좋다. 1. chroot docker에 대해 알아보기전에 chroot에 대해 살펴보자.리눅스 파일시스템은 root로부터 파일 시스템이 시작된다.chroot는 change root directory의 약자로 root dir.를 특정 디렉터..
-
_Uncrustify_C++Clean Code 2024. 5. 29. 16:19
Uncrustify는 내가 작성한 C++코드를 지정한 서식에 맞게 재작성 해준다.Ubuntu에서의 설치법은 간단하며, 대부분의 경우 설치가 되어있다. 참고 사이트:https://github.com/uncrustify/uncrustify GitHub - uncrustify/uncrustify: Code beautifierCode beautifier. Contribute to uncrustify/uncrustify development by creating an account on GitHub.github.comhttps://uncrustify.sourceforge.net/ Uncrustify - Source Code Beautifier for C-like languagesUncrustify Source C..
-
_ROS2_Robot Operating System2ROS/ROS2 2024. 5. 24. 17:10
ROS1은 2020년 5월에 출시한 Neotic Ninjems를 마지막 version으로 출시하였으며 해당 version의 EOL(End of Life)은 2025년 5월이다. (EOL은 유지보수 기간이라 생각하면 된다.)필자는 ROS1 Melodic을 많이 사용했지만, 이미 EOL이 끝났다. 사실 ROS2는 2014년 3월부터 개발이 시작되었으며, 2015년에 alpha version이 release 되었다.ROS2는 계속해서 개발이 되었으며, 현재 Ubuntu 24.04 (Noble Numbat) version이 나왔고 2024년 5월 23일에 ROS2 Jazzy Jalisco가 출시되었다.필자는 Ubuntu 22.04에 ROS2 Humble Hawksbill을 사용하고 있다. ROS2는 기존 ROS..
-
C++ coding Guide-line 1Clean Code 2024. 5. 17. 18:00
프로그래밍을 잘하기 위해서는 coding guide-line 혹은 coding convention을 잘 준수해야 한다.실제로 Clean code라는 개념과 관련책도 있다.Clean code를 작성하기 위해서는 코드의 구조를 잘잡고 개발 가이드라인을 잘 준수해야 한다!!코드의 상태가 너무 안좋으면 나중에 보는 사람들이 읽고 수정하는데 문제가 발생할 수 있다. Clean Code(클린 코드) : 네이버 도서네이버 도서 상세정보를 제공합니다.search.shopping.naver.com관심 있으면 이 책을 읽어보자. (나도 읽어보고 싶다..)Clean code의 저자는 주석 없이 코드를 작성할 수 있다고 이야기를 한다.General C++ guide line가장 일반적인 Coding guide line을 살펴..
-
Build_System_CMake1Tools/CMake 2024. 1. 9. 16:09
이전에 미리 작성된 CMake를 사용하여 빌드를 하였지만, CMake를 어떻게 작성하는지 정리하려고 한다. https://mokchanic.tistory.com/100 Basic_CMake 이번에는 간단한 예제를 가지고 CMake를 구성하여 C++ 빌드를 해보려고한다. 만약 이 페이지를 처음 본다면, 아래의 기본적인 Compiler 설치와 Extentions중 Clangd를 적용하고 오는 것을 추천한다. Compiler mokchanic.tistory.com Build System 1. 개요 소스 코드를 실행 가능한 프로그램 또는 라이브러리로 변환하는 과정을 자동화하는 도구와 방법들의 집합. 프로젝트의 규모가 커질수록 잘 관리하는것이 매우 중요하다. 2. 목적 프로젝트의 일관성: 빌드 시스템을 통해 동일..
-
Automation Scripts(Bash)Tools/Scripts 2024. 1. 2. 15:54
Linux의 경우 작업을 하면서 재설치를 하는 경우가 많다. 이번에는 개발환경을 Script를 사용하여 자동화 셋팅을 해보려고 한다. - Script? 일련의 컴퓨터 명령을 포함한 작은 프로그램 또는 명령어의 집합을 나타낸다. Script는 txt 파일로 작성되며, 특정 작업을 자동화하거나 반복적인 작업을 간소화하기 위해 사용한다. Script를 잘 작성하면 사람이 반복 작업을 할 필요가 없고 일관적인 개발 환경 구축에 도움이 된다. 그리고 잘 모듈화 된 스크립트는 재활용이 가능하다. - Type of Scripts Script는 다음과 같은 종류가 있다. Bash Script Linux, Unix 환경에서 사용. 터미널 명령을 스크립트로 작성하여 사용할 수 있다. Python Script 범용 Scri..
-
Github vscode에서 사용하기Tools/Git 2023. 12. 31. 19:05
이번에는 vscode 내부에 설치한 Extention을 가지고 vscode 상에서 Github를 사용해보려고 한다. https://mokchanic.tistory.com/63 vscode 설치 & C++ extentions IDE(Integrated Development Environment)는 통합 개발 환경으로 코드 작성, 디버깅, 테스팅 및 프로젝트 관리 기능을 통합하는 종합적인 환경을 제공한다. 이번에는 vscode를 설치하고 편리한 extention이 어떤 mokchanic.tistory.com GitHub Pull Requests and Issues를 설치해주면 된다. 아래의 프로젝트를 기반으로 실습을 해보았다. https://github.com/Mokchanic/Example_CMake_Pr..
-
Basic_CMakeTools/CMake 2023. 12. 31. 18:23
이번에는 간단한 예제를 가지고 CMake를 구성하여 C++ 빌드를 해보려고한다. 만약 이 페이지를 처음 본다면, 아래의 기본적인 Compiler 설치와 Extentions중 Clangd를 적용하고 오는 것을 추천한다. Compiler: https://mokchanic.tistory.com/61 GCC_Clang Compiler installation (Ubuntu & Windows) Compiler installation on Ubuntu - GCC 터미널을 열어서 다음의 커맨드를 실행한다. $ sudo apt update && sudo apt upgrade -y $ sudo apt install -y build-essential # 필요한 종속성 설치 $ sudo apt install -y gcc 다음..