확장메뉴
주요메뉴


소득공제 베스트셀러

커맨드라인 러스트

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

리뷰 총점10.0 리뷰 8건 | 판매지수 1,464
베스트
프로그래밍 언어 59위 | IT 모바일 top100 1주
정가
30,000
판매가
27,000 (10% 할인)
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩)
지역변경
  • 배송비 : 무료 ?
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청
  •  해외배송 가능
  •  최저가 보상
  •  문화비소득공제 신청가능

품목정보

품목정보
발행일 2024년 08월 05일
쪽수, 무게, 크기 436쪽 | 866g | 188*245*21mm
ISBN13 9791193926192

카드 뉴스로 보는 책

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

책 속으로 책속으로 보이기/감추기

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

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

다들 예상했겠지만 이번에 작성해볼 프로그램의 이름은 headr(헤더라고 읽는다)라고 하겠다. 먼저 cargo new headr를 실행한 다음 Cargo.toml에 다음 의존성을 추가한다. (…) 04_headr/tests 디렉터리를 프로젝트 디렉터리에 복사한 다음 cargo test를 실행한다. 현재는 테스트가 전부 실패해야 한다. 동의한다면 여러분의 임무는 이들 테스트를 통과하는 프로그램을 작성하는 것이다. Args 스트럭트로 매개변수를 세 개 받는 다음 코드로 src/main.rs 작성을 시작하길 권한다.
--- pp.85-86

이제 필자가 wcr 프로그램을 작성하기까지 거쳐온 과정을 살펴보자. 이 문제는 다양한 방법으로 해결할 수 있다는 점을 명심하자. 여러분의 코드가 테스트를 통과하고 BSD 버전의 wc와 동일한 결과를 산출하는 한 잘 작동하는 것이니 해냈다는 자부심을 가져도 좋다. (…) count 함수가 미완성인 채로 남아 있으므로 여기서부터 시작하겠다. 3장에서 이야기했다시피 BufRead::lines(https://oreil.ly/KhmCp)는 줄 끝을 제거하는데, 윈도우에서 파일의 새 줄은 2바이트(\r\n)인 반면 유닉스의 새 줄은 1바이트(\n)이므로 여기서는 사용하지 않으려 한다. 4장에서 BufRead::read_line(https://oreil.ly/aJFkc)을 사용하는 코드를 일부 복사해다가 각 줄을 버퍼로 읽어오면 된다.
--- pp.121-122

첫 번째 위치 인수는 입력 파일로 두 번째 위치 인수는 출력 파일로 해석해야 한다. clap은 위치 인수 앞뒤에 있는 옵션을 처리할 수 있다는 걸 기억하자.

$ cargo run -- tests/inputs/one.txt out --count
Args { in_file: "tests/inputs/one.txt", out_file: Some("out"), count: true }

더 읽기 전에 잠시 시간을 내서 인수 파싱 부분을 완성하자. / 필자는 여러분이 앞에 있는 함수를 스스로 채워 넣은 정직하고 도덕적인 사람이라고 믿으므로, 이제 필자의 설루션을 공유하겠다. 먼저 빌더 패턴으로 된 다음 코드에는 use clap::{Arg, ArgAction, Command}가 필요하다.
--- p.142

이번 장에서는 유닉스에서 가장 열일하는 프로그램이라 할 수 있는 리스트 명령 ls(엘에스라고 읽는다)의 러스트 복제본을 만들어본다. 필자는 디렉터리의 내용을 보거나 일부 파일의 크기나 권한을 알아보기 위한 용도로 이를 매일매일 하루에도 여러 번씩 사용한다. 오리지널 프로그램에는 삼십 여개 이상의 옵션이 있지만, 도전 과제 프로그램에서는 디렉터리의 내용을 인쇄하거나 파일 목록을 권한, 크기, 수정 시간과 함께 인쇄하는 등의 몇 가지 기능만 구현해본다.
--- p.368

출판사 리뷰 출판사 리뷰 보이기/감추기

추천평 추천평 보이기/감추기

실세계 시나리오에서 러스트를 작성하는 연습을 하기 좋은 책입니다. 테스팅, 크레이트 사용, 일반적인 문제 해결에 대한 기술을 쌓을 수 있는 길을 잘 제시합니다.
- 캐럴 니컬스 (Integer 32 공동창업자, 《러스트 프로그래밍 공식 가이드》 공동 저자)
많은 러스트 입문자가 일상 업무에 러스트를 적용하는 데 어려움을 겪습니다. 이 책은 이에 대한 훌륭한 해결책입니다. 러스트가 배울 가치가 있다는 것을 보여주는 유용한 유틸리티들을 만드는 법을 알려주는 책입니다.
- 팀 맥나마라 (《한 줄 한 줄 짜면서 익히는 러스트 프로그래밍》 저자)

회원리뷰 (7건) 회원리뷰 이동

한줄평 (1건) 한줄평 이동

총 평점 10.0점 10.0 / 10.0

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  •  쿠폰은 결제 시 적용해 주세요.
1   27,000
뒤로 앞으로 맨위로 공유하기