현재까지 발견된 이 책의 오탈자 정보와 오류를 안내합니다. 번역과 편집 시에 미처 확인하지 못하고 불편을 끼쳐드려 죄송하다는 말씀을 드립니다. 아래의 오탈자 사항은 추후 재쇄 시에 반영하도록 하겠습니다.
이외의 오탈자 정보를 발견하시면 옮긴이(sungmann.cho@gmail.com)나 출판사(help@jpub.kr)로 연락주시면 고맙겠습니다.
최종수정일자: 2024년 2월 1일 2쇄본 오탈자 |
434쪽 3번째 줄에서(컴쟁이 님 지적: 쉼표 위치 변경)
peek 호출은 기본 이터레이터에서 다음 아이템을 하나 꺼내 보고 있으면, 이를 다음번 next 호출 시
⇒ peek 호출은 기본 이터레이터에서 다음 아이템을 하나 꺼내 보고, 있으면 이를 다음번 next 호출 시
479쪽 밑에서 13번째 줄에서(류치훈 님 지적)
slice와 slice_mut와 똑같지만 슬라이스의 끝에서 시작한다는 점이 다르다.
⇒ split과 split_mut와 똑같지만 슬라이스의 끝에서 시작한다는 점이 다르다.
649쪽 그림 20-2 비동기 함수의 블로킹 구간에서(컴쟁이 님 지적: 캡션 텍스트 2번 변경)
async_std::block_on ⇒ async_std::task::block_on
649쪽 끝줄에서(컴쟁이 님 지적)
다음 main이 이 퓨처를 async_std::block_on에 넘긴다. ⇒ 다음 main이 이 퓨처를 async_std::task::block_on에 넘긴다.
최종수정일자: 2024년 1월 17일 1쇄본 오탈자 |
xii쪽 4번째 줄에서(옮긴이 지적: 일관성을 위해서 '마크 러시노비치' 앞에 있는 em dash 붙여쓰기)
— 마크 러시노비치 ⇒ —마크 러시노비치
xii쪽 6번째 줄에서(옮긴이 지적)
신경써야 할 것도 많기 때문이죠. ⇒ 신경 써야 할 것도 많기 때문이죠.
xiii쪽 밑에서 7번째 줄에서(옮긴이 지적)
장기전을 벌어야 하기 때문이죠. ⇒ 장기전을 벌여야 하기 때문이죠.
xiii쪽 각주 6번에서 링크 교체(옮긴이 지적)
⇒ https://source.chromium.org/search?q=%22%2F%2F%20Non-owning%20pointer%20%22
xx쪽 5번째 줄에서(옮긴이 지적: '제한된 자원을 다루는' 강조하기)
제한된 자원을 다루는 프로그래밍이다. ⇒ 제한된 자원을 다루는 프로그래밍이다.
4쪽 각주 16번에서(옮긴이 지적: 일관성을 위해서 키캡 문자로 수정)
(또는 https://bit.ly/strous) ⇒ (단축 URL https://bit.ly/strous)
6쪽 10번째 줄에서(옮긴이 지적)
알아보겠다. ⇒ 알아본다.
10쪽 '러스트 함수' 단락 3번째 줄에서(옮긴이 지적)
https://en.wikipedia.org/wiki/Euclidean_algorithm ⇒ https://ko.wikipedia.org/wiki/유클리드_호제법
17쪽 밑에서 6번째 줄에서(옮긴이 지적)
프로그램이 정상 종료됐다면 0을, 그렇지 않고 뭔가 틀어졌으면
⇒
프로그램이 정상 종료됐다면 0을, 그렇지 않고 뭔가 틀어졌다면
17쪽 각주 삭제(옮긴이 지적: 이후 각주 번호 수정)
옮긴이 실제로는 C, C++도 main에서 아무것도 반환하지 않도록 할 수 있다.
⇒ 옮긴이 실제로는 C, C++도 main에서 아무것도 반환하지 않도록 할 수 있다.
19쪽 actix-gcd라는 이름의 새 패키지를 만드는 것과 관련해(옮긴이 지적)
19쪽 첫 줄 "먼저, 카고로 actix-gcd라는 이름의 새 패키지를 만든다." 문장 끝에 다음 내용을 옮긴이 각주로 삽입합니다.
이번 절에 수록된 actix-gcd 예제를 최신 버전의 러스트로 빌드하면 오류가 발생한다. 이 문제를 해결하려면 Cargo.toml과 main.rs의 내용을 https://github.com/ProgrammingRust/examples/commit/268dd0036649bedbe3284abbacc7f832a4c30f22와 같이 수정하면 된다.
20쪽 밑에서 3번째 줄에서(옮긴이 지적)
|| 세로 막대 사이에는
⇒
세로 막대 || 사이에는
34쪽 그림 2-4 '복소평면과 이미지 픽셀 간의 관계'에서 가운데 캡션(옮긴이 지적)
주어진 (행, 열)에 대응하는 복소점
⇒ 주어진 (열, 행)에 대응하는 복소점
34쪽 그림 2-4 '복소평면과 이미지 픽셀 간의 관계'에서 아래 캡션(옮긴이 지적)
픽셀 (bounds.1 - 1, bounds.0 - 1)
⇒ 픽셀 (bounds.0 - 1, bounds.1 - 1)
37쪽 10번째 줄에서(옮긴이 지적)
타입인 ()다. 가질 수 있는 값이 ()라고
⇒ 타입인 ()이다. 가질 수 있는 값이 ()이라고
70쪽 밑에서 3번째 줄에서(옮긴이 지적)
가질 수 있는 값이 ()라고
⇒ 가질 수 있는 값이 ()이라고
73쪽 5~6번째 줄에서(옮긴이 지적: '또는' 강조하기)
‘싱글 라이터 또는 멀티플 리더single writer or multiple readers’ 규칙을
⇒ ‘싱글 라이터 또는 멀티플 리더single writer or multiple readers’ 규칙을
136쪽 6번째 줄에서(옮긴이 지적: 'static 따옴표에도 코드서체가 적용되어야 함)
('static 값을 가리킬 수도 있다는 건 예외로 해두자).
⇒
('static 값을 가리킬 수도 있다는 건 예외로 해두자).
157쪽 2번째 줄에서(옮긴이 지적)
if는 항상 ()를 ⇒ if는 항상 ()을
158쪽 4~5번째 줄에서(옮긴이 지적)
첫 번째 변수 line의 타입은 Result<String, io::Error>이고, 두 번째 변수 line의 타입은 String이다.
⇒ 첫 번째 line 변수의 타입은 Result<String, io::Error>이고, 두 번째 line 변수의 타입은 String이다.
160쪽 1~2번째 줄에서 (옮긴이 지적)
와일드카드 패턴 _는 ⇒ 와일드카드 패턴 _은
181쪽 7번째 줄에서(옮긴이 지적: '그' 강조하기)
그 함수의 호출부로 이동해 ⇒ 그 함수의 호출부로 이동해
211쪽 코드 1행 주석에서(옮긴이 지적)
`std::fs::File`를 가져온다. ⇒ `std::fs::File`을 가져온다.
213쪽 밑에서 3번째 줄에서(옮긴이 지적)
절대 경로는 ::로 시작하며, ⇒ 절대 경로는 ::으로 시작하며,
229쪽 2번째 줄에서(옮긴이 지적)
*기울인 꼴*과 **굵은 꼴**을 ⇒ *기울인 꼴*과 **굵은 꼴**을
229쪽 끝줄에서(옮긴이 지적: 'lib.rs'와 'main.rs'에 파일명 서체 적용하기)
다음 코드를 lib.rs나 main.rs 맨 위에 두면 된다.
⇒ 다음 코드를 lib.rs나 main.rs 맨 위에 두면 된다.
234쪽 밑에서 6번째 줄에서(옮긴이 지적: '유의적 버전 관리' 강조하지 않기)
호환성 규칙은 유의적 버전 관리(https://semver.org/)에 뿌리를 두고 있다.
⇒
호환성 규칙은 유의적 버전 관리(https://semver.org/)에 뿌리를 두고 있다.
255쪽 밑에서 2번째 줄에서(옮긴이 지적: '<꺾쇠괄호>' 강조하지 않기)
제네릭 스트럭트 정의에서 <꺾쇠괄호> 안에 쓰는 타입 이름을
⇒ 제네릭 스트럭트 정의에서 <꺾쇠괄호> 안에 쓰는 타입 이름을
259쪽 밑에서 2번째 줄에서(옮긴이 지적)
Polynomials은 크기가 동적으로 늘어날 수 없으므로 ⇒ Polynomials는 크기가 동적으로 늘어날 수 없으므로
263쪽 밑에서 5번째 줄에서(옮긴이 지적: '레퍼런스 카운팅' 강조하지 않기)
Rc가 레퍼런스 카운팅을 뜻한다는 점과 ⇒ Rc가 레퍼런스 카운팅을 뜻한다는 점과
264쪽 2번째 줄에서(옮긴이 지적: 'File'에 이탤릭체 적용하지 않기)
데이터(File)를 조금 쓰고 싶다는 것이다. ⇒ 데이터(File)를 조금 쓰고 싶다는 것이다.
266쪽 밑에서 2번째 줄에서(옮긴이 지적)
Err가 반환된다). ⇒ Err이 반환된다).
282쪽 표 10-1 '패턴'에서 4행 '변수' 설명에서(옮긴이 지적)
_와 비슷하나 ⇒ _과 비슷하나
293쪽 4~5번째 줄에서(옮긴이 지적)
패턴 Point3d { x, y, z }는 Point3d 스트럭트 타입의 모든 값과 매칭되고,
⇒ 패턴 Track { album, track_number, title, .. }은 Track 스트럭트 타입의 모든 값과 매칭되고,
298쪽 첫 코드의 4행 'fn write_all(&mut self, buf: &[u8]) -> Result<()> { ... }' 위에 빈 줄 넣기(옮긴이 지적)
311쪽 밑에서 5번째 줄에서(옮긴이 지적: 뒤에 마침표 넣기)
써서 풀 수 있긴 하지만 약간 복잡하다) ⇒ 써서 풀 수 있긴 하지만 약간 복잡하다).
314쪽 첫 코드의 7행 '...' 위에 빈 줄 넣기(옮긴이 지적)
314쪽 6번째 줄에서(옮긴이 지적: '.next()'에 이탤릭체 적용하지 않기)
(.next())와 ⇒ (.next())와
359쪽 4번째 줄에서(옮긴이 지적: 뒤에 쉼표 넣기)
실행문의 끝에서 ⇒ 실행문의 끝에서,
408쪽 두 번째 코드의 두 번째 주석 아래에서(옮긴이 지적: 아래 줄에 있는 여는 괄호 '{'를 윗줄로 옮기기)
fn add_route(&mut self, url: &str, callback: fn(&Request) -> Response)
{
⇒
fn add_route(&mut self, url: &str, callback: fn(&Request) -> Response) {
482쪽 두 번째 코드문 아래 문장에서(옮긴이 지적)
이러한 정렬 키-값은 정렬 과정에서 캐싱되지 않으므로 ⇒ 이러한 정렬 키값은 정렬 과정에서 캐싱되지 않으므로
511쪽 '텍스트 방향성' 코드에서(정재선 님 지적)
assert_eq!("בוט ברע".chars().next(), Some('ע'));
⇒ assert_eq!("ערב טוב".chars().next(), Some('ע'));
556쪽 밑에서 5~4번째 줄에서(정재선 님 지적)
예를 들어 베트남어에 있는 단어인 Ph□의 결합 정도가 가장 높은 표현은 세 개의 문자로 된 문자
열 "Ph\u{1edf}"인데, 이때 성조 기호 ‘□’와 모음 기호 ‘□’는
⇒ 예를 들어 베트남어에 있는 단어인 Phở의 결합 정도가 가장 높은 표현은 세 개의 문자로 된 문자
열 "Ph\u{1edf}"인데, 이때 성조 기호 ‘ ̉ ’와 모음 기호 ‘ ’ ’는
557쪽 밑에서 8번째 줄에서(옮긴이 지적)
정규화 형식 D(NFDNormalization Form D) ⇒ 정규화 형식 D(NFDNormalization Form D)는
558쪽 두 번째 코드의 4~5행에서(옮긴이 지적: 두 번 동일하게 수정요망)
assert_eq!("Pho ̛̉".nfd().collect::<String>(), ⇒ assert_eq!("Phở".nfd().collect::<String>(),
638쪽 8번째 줄에서(옮긴이 지적)
부분은 23장의 'libgit2를 위한 안전한 인터페이스' 절에 있는 예를 참고하자).
⇒ 부분은 23장의 'libgit2의 안전한 인터페이스' 절에 있는 예를 참고하자).
668쪽 밑에서 9번째 줄의 'tokio 크레이트는' 앞에 글머리 기호 삽입요망(옮긴이 지적)
tokio 크레이트는 ⇒ • tokio 크레이트는
716쪽 끝줄에서(옮긴이 지적)
html#environment-variables-cargo-sets-for-crate)를 참고하자.
⇒ html#environment-variables-cargo-sets-for-crates)를 참고하자.
722쪽 표 21-2 'macro_rules!가 지원하는 프래그먼트 타입'의 '매칭' 열 5~7행에서(옮긴이 지적)
패턴(282쪽 참고)
아이템(158쪽 참고)
블록(157쪽 참고)
⇒
패턴(280쪽 참고)
아이템(157쪽 참고)
블록(155쪽 참고)
735쪽 밑에서 4번째 줄에서(옮긴이 지적)
cargo/reference/build-scripts.html#case-study-code-generation)를 보면
⇒ cargo/reference/build-script-examples.html)를 보면
754쪽 3~4번째 줄에서(옮긴이 지적)
23장의 'libgit2를 위한 안전한 인터페이스' 절에서는
⇒ 23장의 'libgit2의 안전한 인터페이스' 절에서는
758쪽 밑에서 2번째 줄에서(옮긴이 지적: '정렬alignment' 강조하기)
정렬alignment ⇒ 정렬alignment
779쪽 표 23-1의 오른쪽 열 끝줄에서(옮긴이 지적)
*mut c_void, const c_void ⇒ *mut c_void, *const c_void
780쪽 밑에서 3~4번째 줄에서(옮긴이 지적: 'libgit2'는 코드서체, 'git2/errors.h'에는 파일명 서체 적용하기)
예를 들어 libgit2의 git2/errors.h 헤더 파일에는
⇒ 예를 들어 libgit2의 git2/errors.h 헤더 파일에는
785쪽 밑에서 8번째 줄에서(옮긴이 지적)
는 CStr을 만든다. ⇒ 는 CStr를 만든다.
792쪽 밑에서 1~2번째 줄에서(옮긴이 지적: '의 crates.io 페이지' 강조하지 않기)
bindgen의 crates.io 페이지에 ⇒ bindgen의 crates.io 페이지에
805쪽 밑에서 2번째 줄에서(옮긴이 지적)
는 Ok를 받던지 Err를 받던지 둘 중 하나다.
⇒ 는 Ok를 받든지 Err을 받든지 둘 중 하나다.
807쪽 밑에서 4~5번째 줄에서(옮긴이 지적: "‘text를"이라고 2번 나오는데, 따옴표에도 코드서체가 적용되어야 함)
‘text를 가진 &str를 포함하고 있는 것처럼 행동한다. 마찬가지로 Commit::author는 자신이 반환하는 Signature의 수명 ‘text를
⇒
‘text를 가진 &str를 포함하고 있는 것처럼 행동한다. 마찬가지로 Commit::author는 자신이 반환하는 Signature의 수명 ‘text를
812~828쪽 찾아보기에서 모두 수정(옮긴이 지적)
애트리뷰트 ⇒ 어트리뷰트
'오탈자 정보' 카테고리의 다른 글
[전문가를 위한 파이썬 프로그래밍(제4판)]_오탈자 (2) | 2023.03.06 |
---|---|
[단단한 심층강화학습]_오탈자 (0) | 2023.02.10 |
[프로그래머의 뇌] 오탈자 (0) | 2023.01.18 |
[핵심만 골라 배우는 젯팩 컴포즈]_오탈자 (5) | 2023.01.05 |
[NestJS로 배우는 백엔드 프로그래밍]_오탈자 (0) | 2022.12.23 |