요즘 러스트가 대세인듯 하다.
나는 딥러닝 엔지니어라 아직 피부로 느끼지는 못하지만 그래도 맛보기 정도론 공부 해보기로 했다.
시간이 날때 마다 조금씩 공부를 해보고 rust 를 지원 하는 inference engine 이 있다면 간단한 detection model 을 embedding 해보는 것 까지 정리를 해 볼계획이다.(올해 안에 할 수 있겠지....)
시작이 반이라고 설치 부터 진행해 보자.
ENV
- ubuntu 20.04 LTS
설치
rust 설치 방법은 크게 두가지로 보인다.
1, 러스트 웹사이트 이용(https://www.rust-lang.org/)
2. rustup 설치 (https://rustup.rs/)
기능이 같다면 나는 효율적인(즉 쉬운) 것을 선택한다. 따라서 2번으로 설치 했다.
2번 링크를 따라 가면 아래와 같이 link 를 카피 할 수 있는 페이지가 나온다.
카피 후 ubuntu terminal 에서 실행 하자.
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
설치 하다 보면 아래와 같이 설치 옵션 선택하라는 문구가 나온다.
지금은 custom installation 이 필요 없으니 1을 선택했다.
설치가 성공적으로 되고 나면 아래와 같은 안내 문구가 나온다.
안내 문구에는 분명 shell을 재시작 하고 나면 PATH 환경 변수가 업데이트되어서 바로 사용 할 수 있는 것 말하지만
내 경우 shell 재시작 후 cargo 를 실행 하면 아래와 같은 에러가 발생했다.
그래서 위에 나와있는 "$HOME/.cargo/env" 파일을 source 하기로 했다.
cd ~/.cargo
source ./env
설치된 정보를 알기 위해 아래 처럼 cargo, rustc, rustdoc 을 실행해 보면 버전을 알 수 있다.
$ cargo --version
cargo 1.77.2 (e52e36006 2024-03-26)
$ rustc --version
rustc 1.77.2 (25ef9e3d8 2024-04-09)
$ rustdoc --version
rustdoc 1.77.2 (25ef9e3d8 2024-04-09)
여기서 cargo, rustc, rustdoc 은 각각 다음과 같은 역할 이다. 보통 cargo 를 가장 많이 쓰기때문에 rustc 와 rustdoc 은 직접 사용할 일이 많지 않을 거라고 내가 본 책이선 말했다.
(괄호의 비유는 내 생각일 뿐 틀렸다면 지적 해주면 좋겠다.)
- cargo: 컴파일 및 패키지 관리자( make 와 유사한 역할을 하는 것으로 보인다.)
- rustc: 컴파일러
- rustdoc: 러스트 문서화 도구, 소스 코드에 특정 형식으로 주석을 달면 html 문서를 만들어 준다.(doxygen 의 역할을 해주는 것 같다.)