logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

커맨드라인 러스트

커맨드라인 러스트

(cat, grep, ls 등 14가지 유용한 CLI 도구를 클론 코딩하며 배우는 러스트 활용)

켄 유엔스-클라크 (지은이), 조성만 (옮긴이)
제이펍
30,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
27,000원 -10% 0원
1,500원
25,500원 >
27,000원 -10% 0원
카드할인 10%
2,700원
24,300원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

커맨드라인 러스트
eBook 미리보기

책 정보

· 제목 : 커맨드라인 러스트 (cat, grep, ls 등 14가지 유용한 CLI 도구를 클론 코딩하며 배우는 러스트 활용)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 프로그래밍 언어 기타
· ISBN : 9791193926192
· 쪽수 : 436쪽
· 출판일 : 2024-08-05

책 소개

ls나 cat 같은 CLI 도구는 유닉스 환경에서 수시로 쓰이는 명령이다. 이런 익숙한 도구는 핵심 기능을 직접 구현하는 것이 상대적으로 그리 어렵지는 않으므로, 새 언어를 익히기 위해 클론 코딩하기에 아주 좋은 소재다. 이 점에 착안해서 cat, grep, ls, echo, head, wc, uniq, find, cut, comm, tail, cal 등 우리에게 친숙한 14가지 CLI 도구를 러스트로 만들며 러스트를 진득하게 익히는 게 이 책의 주요 내용이다.

목차

옮긴이 머리말 ix
베타리더 후기 xii
시작하며 xiv
감사의 글 xxii
표지에 대하여 xxiv

CHAPTER 1 위험한 진실: true와 false 1
1.1 시작하기: ‘Hello, world!’ 2
1.2 러스트 프로젝트 디렉터리 구성하기 3
1.3 카고로 프로젝트 만들고 실행하기 4
1.4 통합 테스트 작성하고 실행하기 8
__1.4.1 프로젝트 의존성 추가하기 12 / 1.4.2 프로그램 종룟값 이해하기 13
__1.4.3 프로그램 출력 테스트하기 17 / 1.4.4 프로그램을 이어주는 종룟값 18
요약 19

CHAPTER 2 메아리 테스트: echo 21
2.1 echo의 작동 방식 22
2.2 시작하기 25
__2.2.1 명령줄 인수에 접근하기 26 / 2.2.2 clap을 의존성으로 추가하기 29
__2.2.3 clap으로 명령줄 인수 파싱하기 31 / 2.2.4 프로그램 출력 생성하기 35
2.3 통합 테스트 작성하기 40
__2.3.1 테스트 출력 파일 생성하기 41 / 2.3.2 프로그램 출력 비교하기 43
__2.3.3 Result 타입 사용하기 44
2.4 clap 파생 사용하기 48
요약 51

CHAPTER 3 캣워크 위에서: cat 52
3.1 cat의 작동 방식 53
3.2 시작하기 58
__3.2.1 테스트로 시작하기 58 / 3.2.2 매개변수 정의하기 60
__3.2.3 파일 인수 반복 처리하기 65 / 3.2.4 파일 또는 STDIN 열기 67
__3.2.5 테스트 스위트 사용하기 71
3.3 설루션 75
__3.3.1 파일의 내용을 줄 단위로 읽기 75 / 3.3.2 줄 번호 인쇄하기 76
3.4 한 걸음 더 나아가기 79
요약 80

CHAPTER 4 두통: head 81
4.1 head의 작동 방식 82
4.2 시작하기 85
__4.2.1 인수 정의하기 90 / 4.2.2 입력 파일 처리하기 92
__4.2.3 바이트 읽기 vs. 문자 읽기 94
4.3 설루션 95
__4.3.1 파일의 내용을 한 줄씩 읽기 96 / 4.3.2 파일을 읽는 동안 줄 끝을 유지하기 96
__4.3.3 파일에서 바이트 읽기 98 / 4.3.4 파일 헤더 인쇄하기 101
4.4 한 걸음 더 나아가기 102
요약 103

CHAPTER 5 어머니께 전할 말: wc 104
5.1 wc의 작동 방식 105
5.2 시작하기 110
__5.2.1 파일 반복 처리하기 116
__5.2.2 파일 요소의 수를 세는 함수 작성하고 테스트하기 118
5.3 설루션 121
__5.3.1 파일이나 STDIN의 요소 수 세기 122 / 5.3.2 출력 형식화하기 124
5.4 한 걸음 더 나아가기 130
요약 131

CHAPTER 6 유일무이의 소굴: uniq 133
6.1 uniq의 작동 방식 134
6.2 시작하기 139
__6.2.1 인수 정의하기 140 / 6.2.2 프로그램 테스트하기 143
__6.2.3 입력 파일 처리하기 148
6.3 설루션 150
6.4 한 걸음 더 나아가기 155
요약 156

CHAPTER 7 주운 사람이 임자: find 157
7.1 find의 작동 방식 158
7.2 시작하기 164
__7.2.1 인수 정의하기 165 / 7.2.2 인수의 유효성 검사하기 171
__7.2.3 전부 찾아내기 173
7.3 설루션 175
7.4 조건부 테스트: 유닉스 vs. 윈도우 182
7.5 한 걸음 더 나아가기 184
요약 186

CHAPTER 8 면도와 이발: cut 188
8.1 cut의 작동 방식 189
8.2 시작하기 194
__8.2.1 인수 정의하기 195 / 8.2.2 구분 기호의 유효성 검사하기 201
__8.2.3 위치 목록 파싱하기 요구 사항 203 / 8.2.4 위치 목록 파싱하기 설루션 208
8.2.5 문자 또는 바이트 추출하기 212 / 8.2.6 구분 기호로 분리된 텍스트 파싱하기 214
8.3 설루션 217
__8.3.1 문자열에서 문자 선택하기 217 / 8.3.2 문자열에서 바이트 선택하기 219
__8.3.3 csv::StringRecord에서 필드 선택하기 221 / 8.3.4 끝판왕 223
8.4 한 걸음 더 나아가기 225
요약 226

CHAPTER 9 잭 더 그레퍼: grep 227
9.1 grep의 작동 방식 228
9.2 시작하기 232
__9.2.1 인수 정의하기 233 / 9.2.2 검색할 파일 찾기 240
__9.2.3 입력에서 매칭되는 줄 찾기 243
9.3 설루션 248
9.4 한 걸음 더 나아가기 252
요약 253

CHAPTER 10 보스턴 커먼: comm 254
10.1 comm의 작동 방식 254
10.2 시작하기 258
__10.2.1 인수 정의하기 259 / 10.2.2 입력 파일 검증하고 열기 264
__10.2.3 파일 처리하기 266
10.3 설루션 268
10.4 한 걸음 더 나아가기 276
요약 277

CHAPTER 11 테일러 스위프트: tail 278
11.1 tail의 작동 방식 279
11.2 시작하기 284
__11.2.1 인수 정의하기 284 / 11.2.2 명령줄 인수를 파싱하고 유효성 검사하기 287
__11.2.3 양수와 음수 수치 인수 파싱하기 290
__11.2.4 정규 표현식을 이용해서 정수와 옵션으로 붙는 기호 매칭하기 294
__11.2.5 파일 처리하기 298 / 11.2.6 파일의 전체 줄과 바이트 수 세기 298
__11.2.7 인쇄할 시작 줄 찾기 300 / 11.2.8 인쇄할 시작 바이트 찾기 302
__11.2.9 대용량 입력 파일을 가지고 프로그램 테스트하기 303
11.3 설루션 304
__11.3.1 파일의 전체 줄과 바이트 수 세기 304 / 11.3.2 시작 색인 찾기 305
__11.3.3 줄 인쇄하기 306 / 11.3.4 바이트 인쇄하기 308
__11.3.5 설루션 벤치마크하기 310
11.4 한 걸음 더 나아가기 313
요약 313

CHAPTER 12 행운아: fortune 314
12.1 fortune의 작동 방식 315
12.2 시작하기 319
__12.2.1 인수 정의하기 320 / 12.2.2 입력 소스 찾기 326 / 12.2.3 운세 파일 읽기 330
__12.2.4 무작위로 운세 고르기 332 / 12.2.5 패턴과 매칭되는 레코드 인쇄하기 334
12.3 설루션 335
12.4 한 걸음 더 나아가기 341
요약 341

CHAPTER 13 라스칼리: cal 343
13.1 cal의 작동 방식 344
13.2 시작하기 347
__13.2.1 인수 정의하고 검증하기 347 / 13.2.2 프로그램 작성하기 358
13.3 설루션 361
13.4 한 걸음 더 나아가기 366
요약 367

CHAPTER 14 엘에스 섬: ls 368
14.1 ls의 작동 방식 369
14.2 시작하기 372
__14.2.1 인수 정의하기 373 / 14.2.2 파일 찾기 377 / 14.2.3 긴 목록 형식화하기 382
__14.2.4 8진수로 된 권한 표시하기 384 / 14.2.5 긴 형식 테스트하기 388
14.3 설루션 390
14.4 테스트 작성 시 참고 사항 397
14.5 한 걸음 더 나아가기 400
요약 401

에필로그 402
찾아보기 404

저자소개

켄 유엔스-클라크 (지은이)    정보 더보기
소프트웨어 개발자이자 교육자 및 작가. 노스 텍사스 대학교에서 학부에 들어가 재즈(드럼)를 연구하다 여러 번 전공을 바꿔 결국 영문학 학사를 땄다. 1990년대 중반부터 직장에서 코딩을 배워 산업계, 학계, 비영리단체에서 일했다. 2019년 애리조나 대학교에서 바이오시스템 공학 석사 학위를 받았다. 저서로 《21개의 작고 재미난 파이썬 프로젝트》(제이펍, 2021) 등이 있다.
펼치기
조성만 (옮긴이)    정보 더보기
넓고 얕은 IT 잡지식을 추구하는 평범한 개발자다. 소프트웨어 스트리밍, 애플리케이션 가상화, 크로스플랫폼 툴킷, 웹브라우저 기술에 관심이 많다. 다음 마이피플, 네이버 웨일, 네이버랩스 어웨이, 클로바 페이스사인 개발에 참여했다. 지금은 엔씨소프트에서 소프트웨어 엔지니어로 일하고 있다. 《프로그래밍 러스트(개정판)》(제이펍, 2023), 《레일스와 함께하는 애자일 웹 개발(개정판)》(인사이트, 2012), 《프로페셔널 안드로이드 2 애플리케이션 개발》(제이펍, 2010) 등을 우리말로 옮겼다.
펼치기

책속에서



한 언어에 능숙해지려면 그 언어로 많은 프로그램을 작성해봐야 한다. (…) 러스트는 이제 막 등장한 새로운 언어이며 아마 여러분은 이 책이 어떤 내용을 담고 있는지 알아보려고 집어 들었을 것이다. 이 책은 러스트를 다루는 참고서가 아니다. 그런 책은 꽤 훌륭한 게 많이 나와 있다. 그보다는 여러분에게 익숙한 작은 프로그램을 많이 작성해보도록 이끌어주는 책을 썼다. 러스트는 학습곡선이 상당히 가파르기로 유명하지만, 필자는 이런 식의 접근이 언어의 생산성을 빠르게 높이는 데 도움이 되리라고 믿는다.


가장 먼저 해야 할 일은 인쇄할 명령줄 인수를 가져오는 것이다. 러스트에서는 std::env::args(httpss://oreil.ly/4lJGE)를 사용해서 해결할 수 있다. 1장에서는 외부 프로세스를 처리하기 위해서 std::process 크레이트를 사용했다. 여기서는 프로그램이 인수를 찾을 수 있는 환경(environment)과 상호작용하기 위해서 std::env를 사용한다. 문서에서 이 함수를 찾아보면 Args 타입으로 된 무언가를 반환한다는 걸 알 수 있다.


이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책