Skip to content

Commit

Permalink
fix a lot of errata
Browse files Browse the repository at this point in the history
- using hanspell
  • Loading branch information
rinthel committed May 28, 2023
1 parent 7afe978 commit 1b7c0a4
Show file tree
Hide file tree
Showing 99 changed files with 2,171 additions and 2,170 deletions.
18 changes: 9 additions & 9 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@

- [소유권 이해하기](ch04-00-understanding-ownership.md)
- [소유권이 뭔가요?](ch04-01-what-is-ownership.md)
- [참조자와 Borrow](ch04-02-references-and-borrowing.md)
- [슬라이스(Slice)](ch04-03-slices.md)
- [참조자와 빌림](ch04-02-references-and-borrowing.md)
- [슬라이스](ch04-03-slices.md)

- [연관된 데이터를 구조체로 구조화하기](ch05-00-structs.md)
- [구조체 정의 및 인스턴트화](ch05-01-defining-structs.md)
Expand All @@ -37,7 +37,7 @@

## Basic Rust Literacy

- [커져가는 프로젝트를 패키지, 크레이트, 모듈로 관리하기](ch07-00-managing-growing-projects-with-packages-crates-and-modules.md)
- [커져 가는 프로젝트를 패키지, 크레이트, 모듈로 관리하기](ch07-00-managing-growing-projects-with-packages-crates-and-modules.md)
- [패키지, 크레이트](ch07-01-packages-and-crates.md)
- [모듈을 정의하여 스코프 및 공개 여부 제어하기](ch07-02-defining-modules-to-control-scope-and-privacy.md)
- [경로를 사용해 모듈 트리에서 아이템 가리키기](ch07-03-paths-for-referring-to-an-item-in-the-module-tree.md)
Expand All @@ -47,7 +47,7 @@
- [일반적인 컬렉션](ch08-00-common-collections.md)
- [벡터에 여러 값을 목록으로 저장하기](ch08-01-vectors.md)
- [문자열에 UTF-8 텍스트를 저장하기](ch08-02-strings.md)
- [해쉬맵(hash map)에 서로 연관된 키와 값을 저장하기](ch08-03-hash-maps.md)
- [해쉬맵에 서로 연관된 키와 값을 저장하기](ch08-03-hash-maps.md)

- [에러 처리](ch09-00-error-handling.md)
- [복구 불가능한 에러에는 `panic!`!](ch09-01-unrecoverable-errors-with-panic.md)
Expand All @@ -67,10 +67,10 @@
- [I/O 프로젝트: 커맨드 라인 프로그램 만들기](ch12-00-an-io-project.md)
- [커맨드 라인 인자 받기](ch12-01-accepting-command-line-arguments.md)
- [파일 읽기](ch12-02-reading-a-file.md)
- [모듈성과 에러 처리 향상을 위한 리팩토링](ch12-03-improving-error-handling-and-modularity.md)
- [모듈성과 에러 처리 향상을 위한 리팩터링](ch12-03-improving-error-handling-and-modularity.md)
- [테스트 주도 개발로 라이브러리 기능 개발하기](ch12-04-testing-the-librarys-functionality.md)
- [환경 변수 사용하기](ch12-05-working-with-environment-variables.md)
- [표준 출력 대신 표준 에러로 에러 메세지 작성하기](ch12-06-writing-to-stderr-instead-of-stdout.md)
- [표준 출력 대신 표준 에러로 에러 메시지 작성하기](ch12-06-writing-to-stderr-instead-of-stdout.md)

## Thinking in Rust

Expand All @@ -93,11 +93,11 @@
- [`Drop` 트레잇으로 메모리 정리 코드 실행하기](ch15-03-drop.md)
- [`Rc<T>`, 참조 카운트 스마트 포인터](ch15-04-rc.md)
- [`RefCell<T>`와 내부 가변성 패턴](ch15-05-interior-mutability.md)
- [순환 참조는 메모리 릭을 발생시킬 수 있습니다](ch15-06-reference-cycles.md)
- [순환 참조는 메모리 누수를 발생시킬 수 있습니다](ch15-06-reference-cycles.md)

- [겁없는 동시성](ch16-00-concurrency.md)
- [겁 없는 동시성](ch16-00-concurrency.md)
- [스레드를 이용하여 코드를 동시에 실행하기](ch16-01-threads.md)
- [메세지 패싱을 사용하여 스레드 간 데이터 전송하기](ch16-02-message-passing.md)
- [메시지 패싱을 사용하여 스레드 간 데이터 전송하기](ch16-02-message-passing.md)
- [공유 상태 동시성](ch16-03-shared-state.md)
- [`Sync``Send` 트레잇을 이용한 확장 가능한 동시성](ch16-04-extensible-concurrency-sync-and-send.md)

Expand Down
4 changes: 2 additions & 2 deletions src/appendix-01-keywords.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

다음 목록은 러스트 언어에서 현재 또는 미래에 사용하기 위해 예약된
키워드입니다. 따라서 키워드는 식별자로 사용할 수 없습니다.
([“원시 식별자 (Raw Identifiers)][raw-identifiers]<!-- ignore --> 절에서
([“원시 식별자”][raw-identifiers]<!-- ignore --> 절에서
설명할 원시 식별자는 예외입니다.) 식별자는 함수, 변수, 매개변수,
구조체 필드, 모듈, 크레이트, 상수, 매크로, 정적 값, 속성, 타입,
트레잇, 또는 라이프타임의 이름입니다.
Expand Down Expand Up @@ -50,7 +50,7 @@
* `trait` - 트레잇 정의하기
* `true` - 부울린 참값 리터럴
* `type` - 타입 별칭 또는 연관 타입 정의하기
* `union` - [유니온][union] 정의하기; 유니온 선언에서만
* `union` - [유니온][union] 정의하기; 유니온 선언에서만
키워드로 사용됩니다
* `unsafe` - 안전하지 않은 코드, 함수, 트레잇, 또는 구현을 나타내기
* `use` - 심볼을 스코프 내로 가져오기
Expand Down
16 changes: 8 additions & 8 deletions src/appendix-02-operators.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

표 B-1은 러스트의 연산자, 컨텍스트에서 해당 연산자의 등장 예시,
간단한 설명, 그리고 해당 연산자가 오버로드 가능한지 여부를 담고 있습니다.
만약 연산자가 오버로드 가능하다면, 해당 연산자를 오버로드하기 위해 사용해야
만약 연산자가 오버로드 가능하다면, 해당 연산자를 오버로딩하기 위해 사용해야
하는 트레잇이 나열되어 있습니다.

<span class="caption">표 B-1: 연산자</span>
Expand Down Expand Up @@ -72,7 +72,7 @@

### 비연산자 기호

다음 목록에는 연산자로 동작하지 않는 모든 기호들을 수록했습니다; 즉, 이 기호들은
다음 목록에는 연산자로 동작하지 않는 모든 기호를 수록했습니다; 즉, 이 기호들은
함수 또는 메서드 호출처럼 동작하지 않습니다.

표 B-2는 자체적으로 나타나는 기호들을 보여주며, 다양한 위치에서
Expand All @@ -83,7 +83,7 @@
| 기호 | 설명 |
|--------|-------------|
| `'ident` | 기명 라이프타임 혹은 루프 라벨 |
| `...u8`, `...i32`, `...f64`, `...usize`, etc. | 특정 타입의 수치값 리터럴 |
| `...u8`, `...i32`, `...f64`, `...usize`, etc. | 특정 타입의 수치 값 리터럴 |
| `"..."` | 문자열 리터럴 |
| `r"..."`, `r#"..."#`, `r##"..."##`, etc. | 이스케이프 문자가 처리되지 않는 원시 문자열 리터럴 |
| `b"..."` | 바이트 문자열 리터럴; 문자열 대신 바이트 배열 구성하기 |
Expand All @@ -92,7 +92,7 @@
| `b'...'` | ASCII 바이트 리터럴 |
| <code>&vert;...&vert; expr</code> | 클로저 |
| `!` | 발산 함수를 위한 항상 비어있는 하단 타입 |
| `_` | “무시되는” 패턴 바인딩; 정수형 리터럴을 읽기 편하게 만드는데도 사용됨 |
| `_` | “무시되는” 패턴 바인딩; 정수형 리터럴을 읽기 편하게 만드는 데도 사용됨 |

표 B-3는 모듈 계층을 통해 아이템에 도달하는 경로의 컨텍스트에서 나타나는
기호들을 보여줍니다.
Expand Down Expand Up @@ -135,7 +135,7 @@
| 기호 | 설명 |
|--------|-------------|
| `T: U` | 제네릭 매개변수 `T``U`를 구현하는 타입으로 제한됨 |
| `T: 'a` | 제네릭 타입 `T``'a`보다 긴 라이프타임을 가져야 함 (즉 해당 타입은 일시적으로 `'a` 보다 짧은 라이프타임을 가진 어떤 참조자도 가질 수 없습니다) |
| `T: 'a` | 제네릭 타입 `T``'a`보다 긴 라이프타임을 가져야 함 (즉 해당 타입은 일시적으로 `'a`보다 짧은 라이프타임을 가진 어떤 참조자도 가질 수 없습니다) |
| `T: 'static` | 제네릭 타입 `T``'static` 이외의 빌린 참조자를 포함하지 않음 |
| `'b: 'a` | 제네릭 라이프타임 `'b``'a`보다 긴 라이프타임을 가져야 함 |
| `T: ?Sized` | 제네릭 타입 매개변수에 동적 크기 타입 사용이 가능하도록 허용하기 |
Expand All @@ -161,9 +161,9 @@

| 기호 | 설명 |
|--------|-------------|
| `//` | 한줄 주석 |
| `//!` | 내부 한줄 문서화 주석 |
| `///` | 외부 한줄 문서화 주석 |
| `//` | 한 줄 주석 |
| `//!` | 내부 한 줄 문서화 주석 |
| `///` | 외부 한 줄 문서화 주석 |
| `/*...*/` | 블록 주석 |
| `/*!...*/` | 내부 블록 문서화 주석 |
| `/**...*/` | 외부 블록 문서화 주석 |
Expand Down
22 changes: 11 additions & 11 deletions src/appendix-03-derivable-traits.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
문법으로 명시한 타입에 대해 자체적인 기본 구현이 있는 트레잇을
구현하는 코드를 생성합니다.

이 부록에서는 `derive` 함께 사용할 수 있는 표준 라이브러리의 모든 트레잇에
대한 레퍼런스를 제공합니다. 각 절이 다룰 내용은 다음과 같습니다:
이 부록에서는 `derive` 함께 사용할 수 있는 표준 라이브러리의 모든 트레잇에
대한 참고 자료를 제공합니다. 각 절이 다룰 내용은 다음과 같습니다:

* 이 트레잇을 파생하면 어떤 연산자와 메서드가 활성화 되는지
* 이 트레잇을 파생하면 어떤 연산자와 메서드가 활성화되는지
* `derive`가 제공하는 트레잇의 구현체가 하는 일
* 타입에 대해 트레잇을 구현한다는 것의 의미
* 트레잇을 구현할 수 있는 조건 혹은 허용되지 않는 조건
Expand Down Expand Up @@ -47,12 +47,12 @@

`Debug` 트레잇은 이를테면 `assert_eq!` 매크로를 사용할 때 필요합니다.
이 매크로는 동등 단언이 실패했을 경우 인스턴스의 값을 출력하여 프로그래머가
두 인스턴스가 같지 않은 이유를 확인할 수 있도록 해줍니다.
두 인스턴스가 같지 않은 이유를 확인할 수 있도록 해 줍니다.

### 동등 비교를 위한 `PartialEq``Eq`

`PartialEq` 트레잇은 타입의 인스턴스를 비교하여 동등 여부를 확인하고
`==``!=` 연산자를 사용할 수 있게 해줍니다.
`==``!=` 연산자를 사용할 수 있게 해 줍니다.

`PartialEq`를 파생시키면 `eq` 메서드가 구현됩니다. `PartialEq`가 구조체에
파생되면, 두 인스턴스는 *모든* 필드가 동일할 때만 동일하고, 필드 중 어느
Expand All @@ -70,7 +70,7 @@
예는 부동 소수점 숫자 타입입니다: 부동 소수점 숫자 구현은 not-a-number(`NaN`)
값의 두 인스턴스가 서로 동일하지 않다고 명시합니다.

`Eq`가 필요한 한 가지 예는 `HashMap<K, V>`의 키로서, `HashMap<K, V>`가 두
`Eq`가 필요한 예시로는 `HashMap<K, V>`의 키로서, `HashMap<K, V>`가 두
키가 동일한지 여부를 알 수 있도록 하는 것입니다.

### 순서 비교를 위한 `PartialOrd``Ord`
Expand All @@ -81,7 +81,7 @@
적용할 수 있습니다.

`PartialOrd` 트레잇을 파생시키면 `partial_cmp` 메서드가 구현되는데, 이는
`Option<Ordering>`을 반환하며, 반환값은 주어진 값이 순서를 정의하지 않을
`Option<Ordering>`을 반환하며, 반환 값은 주어진 값이 순서를 정의하지 않을
`None`이 됩니다. 이 트레잇을 구현한 타입의 대부분의 값은 비교할 수
있지만, 순서를 정의하지 않는 값의 예가 있다면 not-a-number (`NaN`) 부동
소수점 값입니다. `NaN` 부동 소수점 숫자와 어떤 부동 소수점 숫자를 사용하여
Expand Down Expand Up @@ -125,13 +125,13 @@
`clone`을 호출합니다. 따라서 슬라이스에 저장된 타입은 `Clone`을 구현해야 합니다.

`Copy` 트레잇은 임의의 코드 없이 스택에 저장된 비트만 복사하여 값을
복제할 수 있게 해줍니다. `Copy`에 대한 더 자세한 내용은 4장의
복제할 수 있게 해 줍니다. `Copy`에 대한 더 자세한 내용은 4장의
[“스택에만 저장되는 데이터: 복사 (copy)”][stack-only-data-copy]<!-- ignore -->절을
참고하세요.

`Copy` 트레잇에는 아무 메서드도 정의되어 있지 않은데, 이는 프로그래머가
메서드를 오버로딩하고 임의의 코드를 실행하지 않는다는 가정을 위반하는 것을
방지하기 위해서 입니다. 따라서 모든 프로그래머는 복사가 매우 빠르게 수행될
방지하기 위해서입니다. 따라서 모든 프로그래머는 복사가 매우 빠르게 수행될
것이라고 가정할 수 있습니다.

어떤 타입에 대해 `Copy`를 파생하려면 그 타입의 모든 부분이 `Copy`를 구현해야
Expand All @@ -149,7 +149,7 @@
### 어떤 값을 고정 크기의 값으로 매핑하기 위한 `Hash`

`Hash` 트레잇은 해시 함수를 사용하여 임의의 크기를 가진 타입의 인스턴스를
고정 크기의 값으로 매핑할 수 있게 해줍니다. `Hash`를 파생하면 `hash` 메서드가
고정 크기의 값으로 매핑할 수 있게 해 줍니다. `Hash`를 파생하면 `hash` 메서드가
구현됩니다. 파생된 `hash` 메서드의 구현체는 타입의 각 부분에 대해 `hash`
호출한 결과를 조합하는데, 이는 `Hash`를 파생하기 위해서는 타입의 모든 필드
혹은 값 또한 `Hash`를 구현해야 한다는 것을 의미합니다.
Expand All @@ -159,7 +159,7 @@

### 기본값을 위한 `Default`

`Default` 트레잇은 타입에 대한 기본값을 생성할 수 있게 해줍니다. `Default`
`Default` 트레잇은 타입에 대한 기본값을 생성할 수 있게 해 줍니다. `Default`
파생하면 `default` 함수가 구현됩니다. 파생된 `default` 함수의 구현체는
타입의 각 부분에 대해 `default`를 호출하는데, 이는 `Default`를 파생하기
위해서는 타입의 모든 필드 혹은 값 또한 `Default`를 구현해야 한다는 것을
Expand Down
6 changes: 3 additions & 3 deletions src/appendix-04-useful-development-tools.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
## 부록 D - 유용한 개발 도구

이 부록에서는 러스트 프로젝트가 제공하는 유용한 개발 도구에 대해
알아보겠습니다. 자동 포맷팅, 경고 수정을 적용하는 빠른 방법, 린터,
알아보겠습니다. 자동 포맷팅, 경고 수정을 적용하는 빠른 방법, 린터 (linter),
IDE와의 통합 등을 살펴보겠습니다.

### `rustfmt`로 자동 포맷팅하기

`rustfmt` 도구는 커뮤니티 코드 스타일에 따라 여러분의 코드를 다시 포맷합니다.
많은 협업 프로젝트는 `rustfmt`를 사용하여 러스트를 작성할 때 사용할 스타일에
대한 논쟁을 방지합니다: 모든 사람들이 이 도구를 사용하여 코드를 포맷합니다.
대한 논쟁을 방지합니다: 모든 사람이 이 도구를 사용하여 코드를 포맷합니다.

`rustfmt` 도구를 설치하려면 다음을 입력하세요:

Expand Down Expand Up @@ -100,7 +100,7 @@ fn main() {
### Clippy로 더 많은 린트 사용하기

Clippy 도구는 코드를 분석하여 일반적인 실수를 잡고 러스트 코드를
개선할 수 있도록 하는 린트 모음입니다.
개선할 수 있도록 하는 린트 (lint) 모음입니다.

Clippy를 설치하려면 다음을 입력하세요:

Expand Down
8 changes: 4 additions & 4 deletions src/appendix-05-editions.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
추가하는 것을 보았습니다. 이 부록에서는 그것이 무엇을 의미하는지에 대해 설명합니다!

러스트 언어와 컴파일러의 릴리즈 주기는 6주이며, 이는 사용자들에게 지속적으로
새로운 기능을 제공함을 의미합니다. 다른 프로그래밍 언어는 더 적은 빈도로
새로운 기능을 제공함을 의미합니다. 다른 프로그래밍 언어는 더 낮은 빈도로
큰 변경을 배포합니다; 러스트는 더 자주 작은 업데이트를 배포합니다. 어느
순간부터는 이러한 작은 변경들이 합쳐집니다. 하지만 릴리즈마다 돌아보면서
“와, 러스트 1.10과 러스트 1.31 사이에 러스트가 많이 바뀌었구나!”라고
Expand All @@ -15,12 +15,12 @@
출시되는 기능을 제공합니다. 새로운 에디션은 일반적인 6주간의 릴리즈
프로세스의 일부로 출시됩니다.

에디션은 여러 사람들에게 여러 목적을 제공합니다:
에디션은 여러 사람에게 여러 목적을 제공합니다:

* 기존 러스트 사용자의 경우, 새 에디션은 점진적인 변경 사항을 이해하기 쉬운
패키지로 통합하여 제공합니다.
* 비사용자의 경우, 새 에디션은 몇 가지 주요 개선 사항이 적용되었음을 알리는
신호이며, 이는 러스트를 다시 한 번 살펴볼 가치가 있게 합니다.
신호이며, 이는 러스트를 다시 한번 살펴볼 가치가 있게 합니다.
* 러스트를 개발하는 사람들에게는 새 에디션이 프로젝트 전체를 위한
결집점을 제공합니다.

Expand All @@ -41,7 +41,7 @@
모든 에디션을 지원하며, 지원되는 모든 에디션의 크레이트를 서로 링크할
수 있습니다. 에디션 변경은 컴파일러가 초기에 코드를 구문 분석하는 방식에만
영향을 줍니다. 따라서 러스트 2015를 사용 중이고 종속성 중 하나가 러스트 2018을
사용하는 경우, 프로젝트는 컴파일되고 해당 종속성를 사용할 수 있습니다.
사용하는 경우, 프로젝트는 컴파일되고 해당 종속성을 사용할 수 있습니다.
프로젝트가 러스트 2018을 사용하고 종속성이 러스트 2015를 사용하는 반대의
상황도 마찬가지입니다.

Expand Down
Loading

0 comments on commit 1b7c0a4

Please sign in to comment.