Rust 사용하기
ServBay는 macOS에서 Rust 개발을 원하는 개발자들을 위해 편리한 툴체인 지원을 제공합니다. ServBay의 패키지 관리 시스템을 이용하여 Rust 컴파일러(rustc
)와 빌드 및 패키지 관리 도구(cargo
)를 손쉽게 설치하고 관리할 수 있습니다.
개요
Rust 언어 소개
Rust는 성능, 메모리 안전성, 병렬성에 중점을 둔 현대적인 시스템 프로그래밍 언어입니다. Mozilla Research의 그레이던 호어(Graydon Hoare)가 설계하였으며, 2010년에 처음 공개되었고 2015년에 1.0 안정 버전이 출시되었습니다. Rust의 핵심 목표는 C++ 수준의 성능과 제어력을 제공하면서, 소유권(Ownership)과 빌림(Borrowing) 시스템을 통해 컴파일 단계에서 메모리 안전성을 보장하는 것입니다. 이를 통해 널 포인터, 댕글링 포인터, 데이터 경쟁 등 C/C++에서 흔히 볼 수 있는 문제를 가비지 컬렉터 없이 방지할 수 있습니다.
Rust는 그 안전성, 속도, 뛰어난 동시성 지원 덕분에 개발자 커뮤니티에서 빠르게 인기를 얻었으며, Stack Overflow 개발자 설문에서 오랜 기간 동안 '가장 사랑받는 언어'로 선정되었습니다. 시스템 소프트웨어, 웹 백엔드(예: Actix Web, Rocket), WebAssembly, 커맨드라인 도구, 게임 엔진, 임베디드 시스템 등 다양한 분야에서 폭넓게 활용되고 있습니다.
ServBay의 Rust 지원
ServBay는 Rust 툴체인을 독립적인 소프트웨어 패키지로 관리합니다. 즉:
- 간편한 설치: 별도의 설치 파일 다운로드나 복잡한
rustup
설치 설정 없이, ServBay의 그래픽 인터페이스만으로 원클릭 설치가 가능합니다. - 환경 통합: 설치 후
rustc
및cargo
명령어가 ServBay에서 관리하는 터미널 환경에 자동으로 통합됩니다. - 통합 관리: ServBay 내에서 Rust를 비롯해 다양한 개발 언어, 데이터베이스, 툴을 한곳에서 관리할 수 있습니다.
이로 인해 시스템 프로그래밍, WebAssembly 개발, 고성능 웹 서비스 구축, 기타 Rust 기반 소프트웨어 개발을 시작하는 데 최적의 환경을 제공합니다.
Rust 소프트웨어 패키지 접근하기
- ServBay 애플리케이션을 엽니다.
- 좌측 네비게이션 바에서
패키지(Packages)
를 클릭합니다. 패키지
페이지에서 스크롤을 내리거나, 좌측 세부 리스트에서Languages
->Rust
를 선택합니다.- 우측 영역에 사용 가능한 Rust 패키지 목록이 표시됩니다. 현재 ServBay는 Rust 툴체인의 안정화 버전을 제공하고 있습니다.
Rust 설치하기
패키지 목록에서는 Rust 툴체인의 상태를 확인할 수 있습니다.
- 패키지 이름: 예시:
Rust
- 버전: 해당 패키지에 포함된 Rust 툴체인의 버전(예: 1.86.0)
- 상태:
Installed
(설치됨) 또는Not Installed
(미설치)로 표시됩니다. - 제어: 각종 조작 버튼 제공
Rust 툴체인을 설치하려면:
- 상태가
Not Installed
인지 확인합니다. - 오른쪽 끝의 다운로드/설치(Download/Install) 아이콘(보통 아래로 향하는 화살표)을 클릭합니다.
- ServBay가 Rust 다운로드 및 설치를 시작합니다.
- 설치가 완료되면 상태가
Installed
로 바뀌고, 제어 아이콘이 삭제(Uninstall) 아이콘(휴지통)으로 변합니다.
설치된 Rust 관리
- 설치 버전 확인: 리스트에서
Installed
상태와 버전 정보를 통해 현재 설치된 Rust 버전을 확인할 수 있습니다. - Rust 삭제: 더 이상 ServBay에서 관리하는 Rust 환경이 필요 없다면, 해당 패키지의 삭제(Uninstall) 아이콘(휴지통)을 클릭하고 확인만 하면 됩니다.
Rust 사용하기 (Cargo & rustc)
설치가 완료되면 ServBay 환경이 활성화된 터미널에서 cargo
및 rustc
명령을 바로 사용할 수 있습니다.
자주 사용하는 명령어 예시:
Rust 컴파일러 버전 확인:
bashrustc --version
1Cargo 버전 확인:
bashcargo --version
1새로운 Rust 프로젝트 생성(Cargo 사용): Cargo는 Rust의 공식 빌드 및 패키지 관리 도구로, 프로젝트 생성과 관리를 권장합니다.
bash# hello_servbay 라는 새로운 바이너리 프로젝트 생성 cargo new hello_servbay --bin cd hello_servbay
1
2
3기본 프로젝트 구조는 다음과 같이 생성됩니다:
Cargo.toml
: 프로젝트 설정(메타데이터, 의존성 등)src/main.rs
: 소스 코드 진입점 파일
src/main.rs
(기본 내용) 확인:rustfn main() { println!("Hello, world!"); }
1
2
3프로젝트 컴파일 및 실행:
bash# Cargo가 코드를 컴파일하고, target/debug 디렉토리 내에 실행 파일을 생성 및 실행합니다 cargo run
1
2터미널에서 다음과 같은 출력이 보입니다:
Hello, world!
프로젝트만 컴파일(Debug 모드):
bashcargo build
1실행 파일은
./target/debug/hello_servbay
에 생성됩니다.프로젝트 컴파일(Release 최적화 모드):
bashcargo build --release
1최적화된 실행 파일은
./target/release/hello_servbay
에 위치합니다.의존성 추가하기:
Cargo.toml
파일의[dependencies]
항목에 사용하고 싶은 라이브러리(크레이트라 부름)를 추가합니다. 예를 들어 인기 웹 프레임워크actix-web
을 추가하려면:toml[dependencies] actix-web = "4" # 버전 지정
1
2이후
cargo build
또는cargo run
을 실행하면 Cargo가 의존성을 자동으로 다운로드하여 빌드합니다.
웹 서버 통합(Rust Web 애플리케이션 배포)
Rust로 개발한 웹 애플리케이션(예: Actix Web, Rocket, Axum, Tokio 프레임워크 사용)은 보통 독립적인 고성능 실행 파일로 컴파일됩니다.
이 실행 파일을 터미널에서 직접 실행할 수 있으며, 표준 포트(80/443) 접근과 ServBay의 도메인 관리/SSL 기능을 최대한 활용하려면:
- ServBay에서 Rust 웹 앱을 위한 **웹사이트(Website)**를 생성합니다.
- ServBay의 웹 서버(Nginx, Caddy, Apache 등)를 리버스 프록시로 설정해, 사이트 도메인으로 들어오는 요청을 Rust 앱에서 리스닝하는 내부 포트(예:
http://127.0.0.1:8080
)로 전달하도록 합니다.
요약
ServBay는 macOS에서 Rust 개발을 시작하는 데 있어 손쉬운 설치·관리를 위한 Rust 패키지를 제공합니다. 강력한 rustc
컴파일러와 cargo
빌드 도구를 통해, 고성능·신뢰성 높은 Rust 코드를 작성하는 데 집중할 수 있습니다. 또한 ServBay의 리버스 프록시 기능을 활용하면 로컬 Rust 웹 서비스를 더욱 편리하게 배포할 수 있습니다.