본문 바로가기
프로그래밍/러스트(rust)

러스트(Rust) 언어란? 그리고 러스트 개발을 위한 환경 구성 (feat. vscode, Windows)

by K-인사이터 2024. 5. 3.
반응형

안녕하세요 
K-인사이트입니다. 

 

 

 

C++의 시대가 드디어 저물고 있습니다. 각종 메모리 버그 관련해서 많은 개발자들의 어려움을 자아내는 과거의 언어가 역사의 뒤안길로 사라지고 새로운 그리고 안전한 러스트(Rust) 언어의 시대가 부상하고 있습니다. 이제 개발자들은 각종 버그에서 벗어나 안전하게 메모리를 사용하면서 혹시나 일어날지 모르는 보안사고에 대해서도 안심을 할 수 있을 것입니다. 이 글에서는 윈도우 운영체제에서 러스트(Rust) 개발환경을 구성하고 Visual Studio Code를 이용한 개발환경 구축을 진행해보도록 하겠습니다. 

 

러스트(Rust) 프로그래밍 언어란? 

러스트(Rust)는 모질라 리서치에서 개발한 다중 패러다임, 범용 프로그래밍 언어입니다. 시스템 프로그래밍, 웹 서버 및 브라우저, 게임 개발, 블록체인, IoT 등 다양한 분야에서 사용되도록 고안되었습니다. 

 

다중 패러다임이란 무엇일까요? 

다중 패러다임 언어(multiparadigm programming language)는 프로그래밍 언어가 하나 이상의 프로그래밍 패러다임을 지원하는 언어를 말합니다. 다중 패러다임 언어는 모든 문제를 가장 쉽고 효율적으로 풀 수 있는 하나의 패러다임은 없다는 것을 인정하고, 프로그래머가 자신의 일에 가장 적합한 패러다임을 사용할 수 있게 하는 것을 설계 목표로 합니다. 프로그래머는 유동적으로 자신의 개발 목적에 맞게 패러다임을 사용할 수 있습니다.

 

여기서 패러다임을 좀더 쉽게 서술하면 다음과 같습니다. 

 

함수 사용을 선호하는 함수형 프로그래밍, 그리고 클래스를 기반으로하는 객체지향 프로그래밍 모두를 지원하는 언어를 두 가지 패러다임을 가진 언어라고 부릅니다. 대표적으로 PHP 언어가 있습니다. 여기에 병행 프로그래밍이 더해지면 세가지 패러다임을 가지는 언어라고 부르며 편의상 다중 패러다임 언어라고 부릅니다. 

 

PHP, Javascript 언어를 이용해 개발을 해보았다면 클래스도 선언이 가능하고 순수하게 함수만을 사용해서 개발이 가능하다는 것도 알고 있을 것입니다. 즉, 개발자의 취향에 그리고 목적에 맞는 다양한 프로그래밍 방법론을 사용할 수 있는 언어가 바로 멀티 패러다임 언어라고 할 수 있습니다. 

윈도우 운영체제에서 러스트(Rust) 개발 환경 구축 방법

러스트는 리눅스, 윈도우 등 어떤 운영체제에서도 개발이 가능한 언어입니다. 아래의 러스트 공식 홈페이지를 통해서 설치 프로그램을 다운받아 윈도우 환경에 개발환경을 구축할 수 있습니다. 

https://www.rust-lang.org/tools/install

 

Install Rust

A language empowering everyone to build reliable and efficient software.

www.rust-lang.org

 

 

올바른 설치를 위해서는 Visual Studio C++ Build tools 가 필요합니다. 또한, 윈도우의 리눅스 서브시스템(WSL)에서도 간편하게 설치하여 사용할 수 있습니다. 설치를 위해 EXE 실행 파일을 다운로드 합니다. 64-BIT 를 선택해서 다운로드 합니다. 

 

러스트의 6-week rapid release process

러스트는 6주 간격으로 새로운 릴리즈(배포판)이 출시되는 빠른 릴리즈 프로세스를 가지고 있습니다. 이는 수많은 플랫폼들을 지원하기 위한 러스트 언어만의 릴리즈 플랜입니다. 이로 인해 IoT 및 로봇을 개발하는 개발자들은 빠르게 변화하는 플랫폼의 변화를 러스트(Rust)언어를 통해서 따라잡을 수 있습니다. 

 

rustup 유틸리티

러스트는 rustup 도구를 통해서 설치되고 관리됩니다. 러스트 언어는 6주 간격으로 릴리즈가 출시되는 시간 기반 릴리즈 전략을 통해 새롭게 배포가 됩니다. 즉, 6주 이후에는 새로운 러스트 언어 버전을 업데이트 해야 한다는 의미입니다. 이는 수많은 플랫폼들에 대한 지원을 하기 위한 전략이기도 합니다. rustup 은 이러한 수많은 빌드 버전들을 일관성있게 모든 플랫폼들에 대해 관리합니다. 또한 beta, nightly 라는 채널로 설치하는 등 미리 버전들을 안정화까지 기다리지 않고 설치할 수 있습니다. 

 

윈도우 환경에서 러스트 언어 설치 

설치 프로그램을 다운로드 받았다면 곧바로 실행할 경우 아래와 같은 창이 출력됩니다. 이는 Visual C++ 이 설치되지 않아 출력되는 창으로 1, 2, 3 보기 중에 원하는 설치 옵션을 선택합니다. Visual C++ Pre-requisites 를 설치하기 위해서는 하드디스크 용량에 5.2GB 정도의 여유가 있어야합니다. Visual Studio Installer 는 설치에 다소의 시간이 소요되므로 따뜻한 차 한잔 내리면서 여유롭게 기다려야 합니다. 

 

 

Visual Studio Installer 설치가 완료되었다면 설치 화면의 닫기 버튼을 클릭하여 Rust 가 설치 단계로 진행할 수 있도록 해야합니다. 닫기를 클릭하면 프롬프트 화면은 설치가 완료된 것을 감지하고 러스트 언어를 위한 컴파일러 설치 단계로 진입합니다. 러스트가 설치되는 위치와 역할은 다음을 참고해주세요.

 

  • Rustup 을 위한 메타데이터와 툴체인(toolchains) 가 설치되는 경로:  C:\Users\USER\.rustup
  • 러스트 패키지 및 프로젝트 관리를 위한 Cargo 설치 경로: C:\Users\USER\.cargo
  • rustup, rustc, rustup 등 실행 파일들은 C:\Users\USER\.cargo\bin 경로에 설치되며 해당 경로는 PATH 경로에 포함됩니다. 

프롬프트에서 설치 옵션을 1, 2, 3 세가지를 제공합니다. 기본 설치인 1 번을 선택합니다. 

 

 

1번을 선택하거나 엔터를 누르면 기본 설치모드로 동작합니다. 설치 과정이 완료되면 어떤 버전이 설치되었는지를 상세하게 안내해줍니다. 이 글을 쓰는 시점에 stable 채널 Release 버전은 1.78.0 입니다. 

 

Visual Studio Code 를 이용한 Rust 개발 환경 구축

Visual Studio Code (이하 vscode) 는 Visual Studio 보다 가볍고 빠른 개발도구입니다. 수많은 종류의 개발언어들을 제공하며 IntelliJ 개발 도구 계열의 강력한 대항마입니다. 사용의 편의성과 각종 플러그인을 제공하여 매우 많은 사람들이 이 도구를 선호합니다. 

 

vscode 는 여러 방법으로 설치할 수 있습니다. 이 글에서는 chocolatey 를 이용한 설치방법을 다룹니다. chocolatey 에 대한 상세한 정보는 아래의 글을 꼭 읽어주세요. 맥OS에 Homebrew 가 있다면 Windows OS 에는 choco 가 있습니다. 

 

https://k-in.tistory.com/245

 

윈도우용 패키지 매니저 chocolatey (like homebrew) 설치 방법 및 파이썬 설치 예시 (feat. choco)

안녕하세요 K-인사이트 입니다.  chocolatey 란? 맥북을 사용해본 사용자들이라면 Homebrew 를 통해서 편리하게 필요한 소프트웨어를 설치한 경험이 있을 것입니다. 반면 예전 윈도우 사용자들이라

k-in.tistory.com

 

 

chocolatey 를 잘 설치했다면 패키지 검색을 통해 vscode 를 다운받을 수 있습니다. choco install vscode 를 통해서 vscode 를 손쉽게 설치할 수 있습니다. 

 

생애 최초 러스트 프로젝트 생성하기 

이제 러스트 개발을 위한 준비가 완료되었습니다. 여러분 생애 최초의 러스트 프로젝트를 만들어 보겠습니다. 이 프로젝트를 계기로 여러분은 훌륭한 러스트 언어 개발자로 성장하는 관문을 열고 로봇, OS, IoT 등 수많은 분야에서 활약하는 미래를 열게 될 것입니다. 시작하기 전에 cargo --version, rustc --version, rustup --version 을 확인해보겠습니다. 모두 정상적으로 호출됨을 확인하였습니다. 

 

cargo 를 이용한 프로젝트 생성

cargo 는 패키지를 설치 및 프로젝트를 생성하는 등 러스트 개발을 위한 필수적인 유틸리티입니다. cargo 명령어를 이용해서 rust-for-windows 프로젝트를 생성해보겠습니다. cargo 는 다양한 명령어를 지원합니다. 시스템 프롬프트 창에서 cargo 명령어를 입력하면 여러분이 사용 가능한 명령어들을 나열하고 설명합니다. 


cargo 가 제공하는 옵션들과 그 한글 설명입니다. 지금 당장 필요한 명령은 new 명령어입니다. 하지만 cargo 유틸리티를 이용해서 무엇을 할 수 있는지 파악이 필요합니다. 한번 눈으로 읽어보면서 어떤 명령들이 있는지만 파악합니다. 

  • build, b : 현재 패키지를 컴파일합니다. 
  • check, c : 현재 패키지를 분석하고 오류를 보고합니다. 
  • clean : 디렉터리를 삭제합니다. 
  • doc, d : 패키지와 의존성에 대한 문서를 빌드합니다. 
  • new : 새로운 cargo 패키지를 생성합니다. 
  • init : 이미 생성한 디렉토리 내에 새로운 cargo 패키지를 생성합니다.
  • add : 프로젝트 내에 의존성을 추가합니다. 
  • remove : 프로잭트 내에 의존성을 제거합니다. 
  • run, r : 바이너리를 실행하거나 로컬 패키지의 예세를 실행합니다. 
  • test, t : 테스트를 실행합니다.
  • bench : 성능을 측정하는 벤치마크를 실행합니다.
  • update : cargo 패키지 내의 의존성을 업데이트 합니다. 
  • search : creates 를 위한 레지스트리를 검색합니다. 
  • publish : 패키지를 레지스트리에 업로드합니다. 
  • install : 러스트 바이너리를 설치합니다. 
  • uninstall : 설치된 러스트 바이너리를 제거합니다. 

 

cargo new [프로젝트 이름] 명령을 입력하면 폴더가 생성되고 기본적인 프로젝트 구조가 만들어집니다. code 명령어는 vscode 를 지시하는 명령어 입니다. code .\rust-for-windows\ 명령어를 통해 개발 IDE 를 실행할 수 있습니다. 

 

vscode 가 실행되면 신뢰 여부를 우선 묻습니다. 외부에서 다운로드하거나 처음 프로젝트를 만들 때 이러한 보안 질문이 출력됩니다. 우리가 생성한 프로젝트이므로 Yes 버튼을 클릭합니다. 

 

러스트를 위한 vscode 플러그인 설치, rust-anlayzer 확장도구 

vscode 를 통해 러스트 개발을 잘하려면 지원 도구가 필요합니다. 모질라에서 운영하는 rust-lang.org 는 rust-anlayzer 확장도구를 제공하고 있습니다. 

 

생애 최초 러스트 프로젝트 실행하기 

rust-analyzer 를 설치하면 main 함수에서 Run 과 Debug 를 실행할 수 있도록 출력됩니다. Debug 명령을 선택하면 Debugger 확장도구를 설치하라고 안내가 출력됩니다. 이는 나중에 다루겠습니다. 우선 Run 명령을 마우스로 클릭합니다. 클릭과 동시에 실행되어 Hello, world! 메시지가 정상적으로 출력됨을 확인할 수 있습니다. 

 

혹은 터미널을 통해서 cargo run 명령으로 간단히 실행할 수 있습니다. 

 

맺음말

지금까지 윈도우 환경에서 러스트(Rust) 언어 개발을 위한 환경을 구성하고 Visual Studio Code 를 chocolatey 를 통해서 설치하여 개발 환경을 구성 및 생애 최초로 Hello, world! 러스트 프로그램을 만들어 보았습니다. 이 글이 여러분의 커리어에 도움이 되길 바랍니다. 

 

이상입니다.

K-인사이트 올림. 

반응형