728x90
반응형

 

 

Rust 언어를 배워야하는 이유는 여러가지가 있다. 먼저, Rust 언의 장점을 알아보자.

 

  • 안전한 메모리 관리로 보안취약성 줄임 (C/C++ 에 비해서)
  • C/C++에 버금가능 강력한 성능
  • 편리한 패키지 관리자 제공 (Cargo, crates.io)
  • 여러 개발도구 지원 (IntelliJ, VS Code, Vim, Helix 등)

 

< 개발자들이 가장 좋아하는 언어 >

2015년부터 스택 오버플로우 설문조사에서 매년 가장 좋아하는 언어 중에 하나로 선정되고 있다.

https://survey.stackoverflow.co/2023/#section-admired-and-desired-programming-scripting-and-markup-languages

 

< 운영체제 개발 언어 >

Windows, Linux, Android

 

< 대기업들이 주목하고 있는 언어 >

아마존, 구글, 마이크로소프트, 페이스북, 모질라, 리눅스 재단, 디스코드, 드롭박스, npm 등 IT 관련하여 유명한 기업이나 재단이 자사 서비스에 Rust를 적극적으로 활용하고 있다.

 

 

미국 국가안보국(NSA)에서도 C/C++ 대신 Rust, Go, C#으로 전환을 권고

 

최근 (2024년)에 정말 많은 책들이 국내에 출판되었다.

 

국내 커뮤니티도 Facebook, Discord 에 있고, 이용자가 많이 늘었다.

 

Go 언어에 비해서는 아직 지원되는 패키지(크레이트)가 적기는 하지만, 왠만한 프로젝트는 무리없이 진행할 수 있을 것 같다.

 

개인적으로는 Web API 서버, WASM 등에 활용할 것이다.

 

 

728x90
반응형

'프로그래밍 > Rust' 카테고리의 다른 글

Rust 시작해보기 (hello world 만들어보기)  (0) 2024.11.12
Rust 시작해보기 (rustup 설치)  (0) 2024.11.08
728x90
반응형

 

 

 

이제, 첫번째 프로그램 hello world 를 만들어보자. 적당한 폴더에 main.rs 파일을 만들어보자.

fn main() {
    println!("안녕, 세상아 ~!");
}


그리고, 터미널에서 rustc main.rs 라고 입력해서 컴파일해본다. 그리고 디렉토리를 확인해보면, main.exe 라는 실행파일이 생긴 것을 확인할 수 있다.

main.exe 를 실행해보면 아래처럼 잘 나올것이다. 성공 ~!!!

그런데, 파일도 많아지고, 여러가지 라이브러리도 사용하려면 이렇게 해서는 할 일이 많아진다. 그래서 Rust에서는 cargo 라고 하는 빌드툴을 제공한다. 일단, cargo 의 버전부터 확인해보자.

cargo 를 이용해서 프로젝트를 생성할 수 있다. cargo new 프로젝트명 으로 하면되고, 일단 cargo new hello 로 입력해보자.


hello 라는 폴더가 생겼고, 그 안에 들어가 보면, Cargo.tomlsrc 폴더가 보인다. Cargo.toml 파일을 열어보면 아래와 같다. 여러가지 정보가 있고, 특히 [dependencies] 항목에는 내가 필요로 하는 라이브러리들을 나열해서 관리할 수 있다. Rust에서는 이런 라이브러리를 Crate 라고 표현한다. https://crates.io/ 에서 다양한 크레이트들을 찾아볼 수 있다. 

그리고, src/main.rs 를 열어보자. 이 파일은 아까 작성했던 main.rs 와 다를 것이 없다.

이 상태에서 터미널에 cargo run 이라고 입력하면 소스를 빌드한 후에 바로 실행까지 해준다.

그리고, target 이라는 폴더 생기고, 그 아래에 debug 폴더가 있으며, 실행파일인 hello.exe 도 확인해볼 수 있다.

cargo build 라고 입력하면, 빌드만 하고, 역시 같은 위치에 같은 파일을 생성한다. 기본적으로 디버그 정보가 포함된 실행파일이라 사이즈가 좀 크다.

만약 릴리즈 모드로 빌드하려면, cargo build --release 라고 입력해주면 된다.

그러면, target 폴더 아래에 release 라는 새로운 폴더가 생기며, 역시 hello.exe 파일도 볼 수 있을 것이다.

파일 사이즈를 비교해보면 확실하게 줄어든 것을 알 수 있다.

여기까지 Rust 를 설치하고, Hello World 까지 출력해보았다. 이제, crate 를 하나 선정해서 적용해보자.

serde_json 라는 크레이트를 사용해보자. serde_json - crates.io: Rust Package Registry 에 접속해서 관련 정보를 확인한다.

약 한달 전에 업데이트된 따끈따근한 크레이트이다. 이제, cargo add serde_json 으로 설치하던지,Cargo.tomldependencies 항목에 serde_json = "1.0.128" 을 추가해본다.

 

다음처럼 main.rs 를 변경한다.

use serde_json::json;

fn main() {
    let hong = json!({
        "name": "홍길동",
        "age": 21,
        "phones": [
            "010-1234-5678", "010-9876-2341"
        ]
    });
    println!("{hong}");
}

그리고, cargo run 을 실행해보자. 

 

이런 방식으로 라이브러리(Crate)를 찾고 적용해볼 수 있다.

 

 

728x90
반응형
728x90
반응형

 

 

 

https://www.rust-lang.org/ 에 방문해보자.  

Rust 를 설치를 하려면, Install 메뉴를 선택한다.

그러면, 위와 같이 나오는데, OS가 Linux 인경우에는 화면의 밑부분에 curl 을 이용해서 설치하면 간단하게 끝난다. 그런데, Windows 의 경우에는 Visual Studio C++ Build tools 를 다운로드/설치를 하고, rustup-init.exe 파일을 다운로드 하여 설치해야 한다.

 

먼저, Visual Studio C++ Build tools 을 클릭해서 설치하자.

다운로드 버튼을 클릭하면, vs_BuildTools.exe 파일을 얻게 될 것이다. 이것을 또 실행해보자.

위와 같은 화면이 나오면, "C++를 사용한 데스크톱 개발" 항목을 선택하고, "설치" 버튼을 클릭한다. 여기에서 시간이 좀 걸린다. 설치가 완료되면, 모든 창을 닫는다.

그리고, 웹브라우저의 처음 Install 화면에서 "RUSTUP-INIT.EXE (64 BIT)" 을 클릭해서 rustup-init.exe 파일을 다운로드하여 실행한다.

위의 화면이 나오면, 엔터를 입력한다.

설치가 완료되면, 위와 같이 나오고, 역시 엔터를 입력해준다. 그리고, 새로운 터미널을 열어서 rustc --version 이라고 입력해보자. 아래와 같이 버전이 잘 표시되면 끝난것이다.

 

그리고, 프로젝트를 여러개 관리하다보면, rust 의 버전을 여러가지를 써야만 하는 경우가 있을 수 있다. rustup 은 여러개의 rust 버전을 관리할 수 있도록 만들어져 있다. 터미널에서 rustup toolchain list 라고 입력해보자.

그러면, stable-x86_64-pc-windows-msvc 라는 것이 default 로 선택되어 있는 것을 볼 수 있을 것이다. 이것은 rust 의 최신버전이 선택되어 있음을 의미한다. 만약 rust 1.77.0 버전을 추가하기를 원하면, rustup toolchain install 1.77.0 을 실행하면 된다.

다시, rustup toolchain list 를 입력해보자.

1.77.0 버전이 추가된 것을 확인할 수 있다. 그렇지만, default 로 선택되어 있지 않다. rustup default 1.77.0 을 입력해주면, 새로 설치한 1.77.0 을 사용할 수 있게 된다.

rustup default stable 을 입력하면, 다시 최신 버전의 rust 를 사용할 수 있다.

 

728x90
반응형

+ Recent posts