Skip to content

Commit

Permalink
polish ch01 and some glossaries
Browse files Browse the repository at this point in the history
- 리눅스 => Linux
- 툴 => 도구
- Rustacean / 러스트인 => 러스타시안
- Summary => 정리
- 파워쉘 => PowerShell
- 폴더 => 디렉토리
- 컨텐츠 => 콘텐츠
  • Loading branch information
rinthel committed May 8, 2023
1 parent a169852 commit 1f627ac
Show file tree
Hide file tree
Showing 16 changed files with 138 additions and 138 deletions.
28 changes: 14 additions & 14 deletions src/ch01-01-installation.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
## 러스트 설치

우선 러스트를 설치해야겠죠. 설치는 `rustup` 이라는
러스트 버전 및 러스트 관련 툴을 관리하는 커맨드라인 도구를 이용할 겁니다.
우선 러스트를 설치해야겠죠. 설치는 `rustup` 이라는 러스트
버전 및 러스트 관련 도구를 관리하는 커맨드 라인 도구를 이용할 겁니다.
인터넷이 연결되어 있어야 하니 미리 인터넷 연결을 확인해주세요.

> Note: `rustup` 이외에 다른 방법으로 설치하길 원하신다면
> [기타 러스트 설치 방법 페이지][otherinstall] 를 참고하시기 바랍니다.
다음은 러스트 컴파일러 최신 stable 버전을 설치하는 내용입니다.
혹여나 이 책을 읽는 시점에, 이 책에서 사용한 버전이 낮아서 걱정되시는
분들을 위해 말씀드리자면, 러스트에는 안전성 보증(stability guarantees)이
분들을 위해 말씀드리자면, 러스트에는 안정성 보증 (stability guarantees)
적용되어있습니다. 간혹 에러나 경고 메시지가 변경되는 일이 있기에 출력은
버전마다 조금씩 다를 수 있으나, 이 책에 등장하는 모든 예제는
향후 버전에서도 책 내용에서 설명하는 대로 동작할 겁니다.

> ### 커맨드라인 표기
> ### 커맨드 라인 표기
>
> 이번 장을 비롯해 터미널에 명령어를 입력할 일이 많습니다.
> 입력할 명령어와 출력을 구분하실 수 있도록, 명령어에는
Expand All @@ -31,7 +31,7 @@ Linux 나 macOS 사용자는 터미널을 열고 다음 명령어를 입력해
$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
```

최신 stable 버전 러스트를 설치하는 데 사용할 `rustup` 툴을 설치하는
최신 stable 버전 러스트를 설치하는 데 사용할 `rustup` 도구를 설치하는
명령어입니다. (설치할때 여러분 비밀번호를 묻는 메세지가 나타날 수 있습니다.)
설치가 완료되면 다음 문장이 나타납니다:

Expand Down Expand Up @@ -99,7 +99,7 @@ Windows CMD에서는 다음과 같이 확인합니다:
> echo %PATH%
```

파워쉘에서는 다음과 같이 확인합니다:
PowerShell에서는 다음과 같이 확인합니다:

```powershell
> echo $env:Path
Expand All @@ -111,20 +111,20 @@ Linux와 macOS에서는 다음과 같이 확인합니다:
$ echo $PATH
```

잘못된 것을 찾을 수 없는데 계속 작동하지 않으면 [한국 러스트 사용자 그룹 디스코드][korean_discord] 에 질문해주세요.
영어가 능숙한 분들은 [커뮤니티 페이지][community]에서 다른 러스티시안 (러스트 사용자들 스스로를 부르는 웃긴 닉네임입니다)
들을 만나볼 수 있을 겁니다.
잘못된 것을 찾을 수 없는데 계속 작동하지 않으면 [한국 러스트 사용자 그룹 디스코드][korean_discord]에 질문해주세요.
영어가 능숙한 분들은 [커뮤니티 페이지][community]에서 다른 러스타시안 (Rustacean, 러스트 사용자들 스스로를
부르는 웃긴 별명입니다) 들을 만나볼 수 있을 겁니다.

### 업데이트 및 삭제

`rustup` 으로 러스트를 설치했다면 최신 버전 업데이트도 간편합니다.
`rustup`으로 러스트를 설치했다면 최신 버전 업데이트도 간편합니다.
셸에 다음 명령어를 입력해주세요:

```console
$ rustup update
```

`rustup` 과 러스트를 삭제하는 방법은 다음과
`rustup`과 러스트를 삭제하는 방법은 다음과
같습니다:

```console
Expand All @@ -133,11 +133,11 @@ $ rustup self uninstall

### 로컬 문서

러스트 설치 시 로컬 문서(Local Documentation)도 같이 설치됩니다. 오프라인
상태로도 이용 가능하며, `rustup doc` 명령어로 여러분 브라우저에서 열어볼 수 있습니다.
러스트 설치 시 로컬 문서 (Local Documentation) 도 같이 설치됩니다. 오프라인
상태로도 이용 가능하며, `rustup doc` 명령어로 여러분의 브라우저에서 열어볼 수 있습니다.

표준 라이브러리에서 제공하는 타입이나 함수 중 이게 무슨 기능을 하는지,
혹은 사용법을 모르면 로컬 API(Application Programming Language) 문서에서
혹은 사용법을 모르면 API (Application Programming Language) 문서에서
모르는 내용을 찾아볼 수도 있겠죠!

[otherinstall]: https://forge.rust-lang.org/infra/other-installation-methods.html
Expand Down
62 changes: 31 additions & 31 deletions src/ch01-02-hello-world.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@
만들어 볼 프로그램은 화면에 `Hello, world!` 문자를 출력하는 간단한 프로그램입니다.

> Note:
> 이 책은 커맨드라인 위주로 설명하고 있습니다.
> 이 책은 커맨드 라인 위주로 설명하고 있습니다.
> 하지만 러스트에는 코드 작성 및 개발 도구 사용환경에 따로 정해진 규정이 없으므로
> 커맨드라인 대신 IDE(통합 개발 환경)를 사용하실 분은 애용하는 IDE를 사용하셔도 좋습니다.
> 커맨드 인 대신 IDE(통합 개발 환경)를 사용하실 분은 애용하는 IDE를 사용하셔도 좋습니다.
> (요즘은 IDE 대부분이 러스트를 어느 정도 지원하니 세부사항은 각 IDE 문서를 참고 바랍니다)
> 러스트 팀은 `rust-analyzer`를 통하여 IDE 지원 수준을 높이는 데 집중하고 있습니다.
> 더 자세한 사항은 [부록 D][devtools]<!-- ignore -->를 참고하세요.
### 프로젝트 디렉토리 생성

작성할 러스트 코드를 저장해둘 디렉토리가 필요하겠죠.
작성할 러스트 코드를 저장해 둘 디렉토리가 필요하겠죠.
러스트 코드 자체는 어디에 저장하건 실행하는 데 문제는 없습니다만,
이 책을 보며 연습하시는 분들은 편의를 위해 홈 디렉토리 내
*projects* 디렉토리를 생성해 각종 프로젝트를 보관하심을 권장해 드립니다.
이 책을 보며 연습하시는 분들은 편의를 위해 홈 디렉토리 내 *projects*
디렉토리를 생성해 각종 프로젝트를 보관하는 것을 권장해 드립니다.

터미널을 열고 다음 명령어를 입력해 *projects* 디렉토리를 생성한 후,
*projects* 내에 “Hello, world!” 프로젝트용 디렉토리를 만들어봅시다.
Expand Down Expand Up @@ -82,7 +82,7 @@ Hello, world!
출력되지 않으면 [“트러블 슈팅”][troubleshooting]<!-- ignore -->
내용을 참고해 도움을 얻을 방법을 찾아보세요.

문제 없이 `Hello, world!`출력되셨다면, 축하드립니다! 여러분은 공식적으로
문제 없이 `Hello, world!`출력됐다면, 축하드립니다! 여러분은 공식적으로
러스트 프로그램을 작성했으니 이제 어엿한 러스트 프로그래머입니다!

### 러스트 프로그램 뜯어보기
Expand All @@ -96,60 +96,60 @@ fn main() {
}
```

코드는 러스트에서 함수를 정의하는 코드입니다.
매개변수를 받지 않고 (함수에 매개변수가 있을땐 `()` 를 작성해야 합니다)
아무것도 반환하지 않는 `main` 이라는 함수를 선언하죠.
러스트에서 함수명이 `main` 인 함수는 특별한 함수로, 항상 가장 먼저 실행되는 함수입니다.
라인은 러스트에서 `main`이라는 이름의 함수를 정의합니다. `main` 함수는
특별한 함수로, 러스트 실행 프로그램에서 항상 가장 먼저 실행되는 함수입니다.
여기서는 매개변수를 받지 않고 아무것도 반환하지 않는 `main` 이라는 함수를 선언합니다.
함수에 매개변수가 있을 때는 `()` 안쪽에 이를 작성해야 합니다.

알아두실 건, 러스트에선 함수 본문을 반드시 중괄호(`{}`) 로 감싸야 한다는
겁니다. 중괄호는 함수 정의와 같은 줄에 작성하고 그 사이에
공백을 한칸 넣으면 보기 좋으니 참고하세요.
함수 본문은 `{}`로 감싸집니다. 러스트에서는 모든 함수에 대해 본문을 감싸는
중괄호(`{}`)가 필수입니다. 겁니다. 중괄호는 함수 정의와 같은 줄에 작성하고
그 사이에 공백을 한칸 넣으면 보기 좋으니 참고하세요.

> Note: 어러분이 러스트 프로젝트의 코드를 표준 스타일로 통일시키고 싶다면,
> 코드를 특정 스타일로 포맷팅해주는 `rustfmt` 라는 이름의 자동 포맷팅 툴을
> 사용할 수 있습니다 (더 자세한 사항은 [부록 D][devtools]에 있습니다).
> 러스트 팀은 이 툴을 `rustc`처럼 기본 러스트 배포에
> 포함시켰으므로, 이미 여러분의 컴퓨터에 설치되어 있습니다! 더 자세한 사항은
> 온라인 문서를 참고하세요.
> Note: 여러분이 러스트 프로젝트의 코드를 표준 스타일로 통일시키고 싶다면,
> 코드를 특정 스타일로 포맷팅해주는 `rustfmt` 라는 이름의 자동 포맷팅 도구를
> 사용할 수 있습니다 (더 자세한 사항은
> [부록 D][devtools]<!-- ignore -->에 있습니다).
> 러스트 팀은 이 도구를 `rustc`처럼 기본 러스트 배포에
> 포함시켰으므로, 이미 여러분의 컴퓨터에 설치되어 있습니다!
`main` 함수 내 코드를 살펴봅시다.

```rust
println!("Hello, world!");
```

화면에 텍스트를 출력하는 코드로, 이 한줄이 Hello, world! 프로그램의 전부입니다.
화면에 텍스트를 출력하는 코드로, 이 한줄이 이 자그마한 프로그램의 전부입니다.
하지만 이 단순한 코드에도 눈여겨 볼 것이 네 가지 들어있습니다.

첫 번째로, 러스트에선 탭 대신 스페이스 4칸을 사용합니다.

두 번째로, `println!` 는 함수가 아니라 러스트의 매크로 호출 코드입니다.
이 코드가 함수 호출 코드가 되려면 `println!` 에서 `!` 를 제외해 `println` 으로 만들어야 합니다.
두 번째로, `println!`러스트의 매크로 호출 코드입니다. 이 코드가
함수 호출 코드였다면 `!` 없이 `println`이라고 되어 있었을 것입니다.
매크로는 19장에서 자세히 다루며, 지금은 `!` 가 붙으면 함수가 아니라
매크로 호출 코드이고, 매크로는 함수와 항상 같은 규칙을 따르진 않는다는
매크로 호출 코드이고, 매크로는 함수와 항상 같은 규칙을 따르지는 않는다는
것만 알아두시면 됩니다.

세 번째는 우리가 `println!` 의 인수로 넘겨준 `"Hello, world!"` 문자열이
세 번째는 `println!`의 인자로 넘겨준 `"Hello, world!"` 문자열이
그대로 화면에 나타난 점입니다.

마지막으로, 줄 끝은 세미콜론(`;`)으로 표시합니다.
해당 표현식 처리를 마쳤으며, 다음 표현식 실행 준비가 끝났다는 표시이죠.
세미콜론으로 한 줄을 마치는 건 거의 모든 러스트 코드에서 볼 수 있습니다.
마지막으로, 이 라인은 세미콜론(`;`)으로 끝납니다. 이 표현식이
끝났으며 다음 표현식이 시작될 준비가 됐다는 표시지요. 러스트
코드의 거의 모든 라인들이 세미콜론으로 끝납니다.

### 컴파일과 실행은 별개의 과정입니다

앞서 새 프로그램을 만들고 실행한 과정을
세세한 단계로 나누어 검토해봅시다.

먼저, 실행하기에 앞서 `rustc` 명령어에
소스 파일명을 넘겨주어 컴파일하는 과정이
러스트 프로그램을 실행하기 전에, 아래와 같이 `rustc`
명령어에 소스 파일명을 넘겨주어 컴파일해야 하는 과정이
있었습니다:

```console
$ rustc main.rs
```

C 나 C++ 을 다뤄보셨다면 `gcc``clang` 사용방법과 비슷하다는 걸 눈치채셨을지도 모르겠네요.
C나 C++ 을 다뤄보셨다면 `gcc``clang` 사용방법과 비슷하다는 걸 눈치채셨을지도 모르겠네요.
러스트는 소스 파일 컴파일에 성공하면 실행 가능한 바이너리를 만들어냅니다.

Linux, macOS, Windows PowerShell 상에서는
Expand Down Expand Up @@ -194,7 +194,7 @@ Ruby, Python, JavaScript 등 명령어 한 줄로 프로그램을 컴파일하

간단한 프로그램에는 `rustc` 를 사용하는 것도 좋습니다.
다만 프로젝트가 커질수록 관리할 옵션이 많아지고, 코드 배포도 점점 번거로워지겠죠.
다음 내용에서 소개할 카고가 바로 이러한 문제를 해결하는,
다음 내용에서 소개할 카고 (Cargo) 가 바로 이러한 문제를 해결하는,
여러분이 앞으로 `rustc` 대신 사용할 도구입니다.

[troubleshooting]: ch01-01-installation.html#troubleshooting
Expand Down
Loading

0 comments on commit 1f627ac

Please sign in to comment.