만들면서 배우는 러스트 프로그래밍
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
로그아웃 : '서울시 종로구 종로1' 주소 기준
이달의 꽃과 함께 책을 받아보세요!
1권 구매 시 결제 단계에서 적용 가능합니다.
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

《만들면서 배우는 러스트 프로그래밍》은 러스트 코드와 파이썬 코드를 비교하면서도 효율적으로 러스트를 배울 수 있는 콘셉트로 만들어졌다. 다양한 소스 코드를 수록해 러스트를 조금 더 쉽게 배울 수 있도록 했으며, 독자가 파이썬을 알고 있다고 가정하므로 중복 설명이나 불필요한 예제를 생략해 러스트의 매력에 더 집중할 수 있게 했다. 또한 러스트를 배움으로써 파이썬의 장점을 재발견하고, 파이썬이 뒤에서 어떻게 작동하는지 이해하는 데에도 큰 도움이 될 것이다.
★ 이 책에서 다루는 내용 ★
◎ 파이썬과 러스트의 비교
◎ 러스트의 문법과 다양한 기능
◎ 러스트를 이용한 신디사이저, 채팅 기능 만들기
◎ 메모리 관리
◎ 이미지 처리 라이브러리 활용
◎ C 언어나 파이썬 등과 연동하는 방법
◎ 웹 어셈블리 제작
이 책의 총서 (33)
작가정보
저자(글) 쿠지라 히코우즈쿠에
취미로 하던 프로그래밍이 어느새 직업이 돼 현재는 소프트웨어 기획 ‘쿠지라한도’에서 ‘즐겁고 도움이 되는 도구’를 테마로 다수의 앱을 만들었다. 대표작은 일본어 프로그래밍 언어 ‘나데시코’, 텍스트 음악 ‘사쿠라’ 등. 2001년에는 온라인 소프트웨어 대상에 입상. 2004년도 IPA 미답 유스에서 슈퍼 크리에이터로 인정. 2010년 OSS 공헌자상 수상. 2021년 ‘나데시코’가 중학교 교과서에 채택됐다. 기계 학습이나 파이썬 등 매년 2권 이상 기술 서적을 집필하고 있다.
AI 스타트업 기업에서 기술적인 보안뿐 아니라 보안 정책까지 폭넓게 담당하고 있다. 그 외 Rust를 이용한 마이크로 서비스를 개발해 AWS ECS로 구축하는 등 클라우드 프로젝트에도 참가하고 있다. 회사 업무 외에도 Rust를 이용해 IoT 보안 솔루션을 개발하거나 서적을 번역하는 등 다양하게 활동하고 있다.
목차
- ▣ 01장: 파이썬에서 러스트로 이동하기 위한 기본 준비
01 왜 Rust가 필요한가
__러스트는 어떤 언어인가
__러스트의 특징
__[Column] 메모리 관리의 어려움
__[Column] 러스트의 뜻은 ‘녹’
__러스트는 어려운가
02 파이썬과 러스트의 차이점
__파이썬은 인터프리터 언어. 러스트는?
__둘 다 모던 언어
__동적 타입 언어와 정적 타입 언어
__파이썬과 러스트의 메모리 관리
03 러스트와 러스트 개발 환경 설치
__OS별 설치 방법
__윈도우에 설치
__macOS / 리눅스에 설치
__설치된 러스트를 최신 버전으로 업데이트하는 방법
__러스트 개발을 위한 개발 환경
__Visual Studio Code 설치
__파이썬 설치
__Hello, World!
04 러스트 시작하기
__화면에 문자 표시하기
__변숫값을 문자열에 포함시켜 표시하기
__사칙 연산 해보기
05 러스트와 파이썬으로 FizzBuzz 문제 풀기
__러스트와 조금 더 친해지기
__파이썬으로 FizzBuzz 문제 풀기
__러스트로 FizzBuzz 문제 풀기
__for 문과 if 문을 이용해 3의 배수와 3이 들어간 숫자를 A로 표시하기
06 러스트와 파이썬으로 구구단 만들기
__구구단 구성
__파이썬으로 구구단 만들기
__러스트로 구구단 만들기
__완성도 높이기
__서력을 조선 연호로 변환
07 변수 정의와 피보나치 수열
__피보나치 수열이란
__러스트에서 변수를 정의하는 방법
__변수가 불변일 때의 장점
__[옮긴이 보충] 임시로 값을 대입하기 위한 변수
__제품 가격 비교해보기
08 변수 타입과 거스름돈 조합 계산
__거스름돈 조합 계산하기
__러스트의 변수 타입
__이용 가능한 정수 범위를 알아내는 방법
__타입 추론을 이용하지 않고 거스름돈 조합 계산해보기
09 함수 정의와 시저 암호
__시저 암호란
__함수 정의와 호출
__시저 암호를 조금 더 우아하게 만들기
10 배열과 100개의 소수 계산
__소수 계산으로 러스트에 더 익숙해지기
__참조란?
__for 문 문법
__[Column] 가변 배열 - 벡터에 대해
__[Column] 변수에 if를 사용해 값 선언하기
▣ 02장: 러스트로 간단한 도구 만들기
01 Cargo 이용 방법 및 큰 수 계산
__러스트의 빌드 시스템 ‘Cargo’는 무엇인가?
__Cargo를 이용해 프로젝트 시작하기
__공개된 크레이트 사용해보기
__[옮긴이 보충] cargo run과 cargo build
__[Column] ‘extern crate ***’ 표기
__[Column] 크레이트의 모듈을 불러오는 ‘use’
02 주사위 굴리기와 미로 자동 생성
__주사위 굴리기를 만들자
__난수를 이용한 미로 자동 생성
03 벡터 타입, 빙고 카드 생성
__빙고 카드를 자동으로 만들어주는 도구 만들기
__파이썬으로 빙고 카드 만들기
__러스트로 빙고 카드 만들기
__크기를 변경할 수 있는 배열, 벡터 타입
__벡터를 이용해 빙고 카드 만들기
04 표준 입력과 비만도 측정
__BMI로 비만도 진단하기
__[옮긴이 보충] Result 타입 처리
__러스트에서 표준 입력 처리하기
__[Column] 숫잣값 리터럴
05 설문 집계
__인기 투표 집계 구조
__HashMap 사용 방법 확인
06 명령줄에서 사용할 수 있는 도구 제작
__명령줄 인수를 더하는 도구
__지정한 텍스트 파일의 내용을 읽어와 표시
__[옮긴이 보충] 존재하지 않는 파일을 지정했을 때의 처리 추가
__텍스트 파일 안에 저장된 숫자 값을 더하는 도구 만들기
07 파일 읽기와 영한 사전 만들기
__명령줄에서 사용할 사전 만들어보기
__FizzBuzz의 실행 결과를 파일로 저장해 비교하기
__[옮긴이 보충] unwrap 메서드
__영한사전 만들기
__파일에 내용 쓰기
__파일을 다룰 때 발생하는 에러 처리
08 파일 재귀 검색 도구 만들기
__재귀란?
__파일 재귀 검색 프로그램 만들기
__러스트의 파일 경로 표현
__[Column] 파일 경로 표현은 OS별로 다르다
__tree 명령을 직접 만들기
▣ 03장: 문법편 - 소유권 시스템과 데이터 타입
01 최초의 난관, 소유권 시스템
__소유권 시스템이란 무엇인가
__[Column] 소유권 시스템은 러스트 독자적인 것인가?
__메모리 관리를 ‘소유권’으로 생각하는 것
__소유권의 3대 기본 원칙
__[Column] 메모리 할당과 해제의 어려움
__소유권 시스템을 적용받지 않는 타입
__[Column] 복제할 때의 소유권
02 빌림과 참조
__‘빌림’이란
__함수 호출로 이동하는 소유권
__참조자를 반환하는 함수
__가변 참조자를 인수로 사용하기
__[Column] println! 매크로 사용 방법 정리
03 러스트의 튜플, 배열, 슬라이스
__튜플이란
__러스트의 배열
__슬라이스 타입이란
04 러스트의 구조체
__구조체란
__구조체를 이용한 BMI 계산
__판정 기준을 만들어 비만도 판정하기
__구조체와 변수의 명명 규칙
05 러스트의 문자열
__러스트의 문자열
__러스트의 문자열은 UTF-8
__&str에 슬라이스 사용
__&str과 String 상호 변환
__라이프타임
06 러스트의 문자열 처리에 익숙해지기
__문자열을 바이너리 에디터 형태로 출력하기
__부분 문자열 얻기
__문자열 검색
__섀도잉 - 스코프 안에서 변수 재선언
__문자열 분할
__EUC-KR로 인코딩된 파일 읽고 쓰기
07 전역 변수와 unsafe
__이상을 추구하며 현실을 직시하는 언어
__의사 난수 생성
__난수 발생기 준비
__‘좋은 난수 생성’ 구조
__러스트에서 전역 변수 이용하기
__unsafe를 이용하지 않고 의사 난수 만들기
__[옮긴이 보충] Xorshift
08 테스트 프레임워크
__Cargo로 간편하게 테스트
__테스트 코드를 만들어 결과 확인
__배열과 벡터 값 테스트
__구조체 테스트
▣ 04장: 문법편 - 메서드, 제네릭, 트레잇
01 구조체와 메서드
__구조체에 메서드 정의하기
__구조체와 메서드를 이용한 BMI 계산
__구조체 갱신
__[Column] 구조체 복사
__[옮긴이 보충] 구조체 복사 속성
02 공통 동작을 정의하는 트레잇
__트레잇이란
__트레잇의 기본 메서드
03 제네릭
__제네릭 복습하기
__제네릭 함수 정의
__구조체에 제네릭 지정
04 반복자
__반복자의 기본 내용 확인
__반복자 트레잇
05 열거형과 패턴 매칭
__‘null 안전’ 언어 러스트
__열거형 정의하기
__패턴 매칭
06 러스트의 모듈, 크레이트, 패키지
__왜 기능별로 분리해야 하는가
__[Column] 연산 오버플로를 무시하는 방법
__모듈을 파일로 분리하는 방법
__[Column] Cargo.toml 파일에 있는 ‘edition’
__[옮긴이 보충] 2 계층 이상의 서브 모듈
__상대 경로로 모듈 지정
__패키지
__[옮긴이 보충] 워크스페이스
07 직접 만든 크레이트 공개하기
__crates.io에 크레이트 등록
__RPN(역 폴란드 표기법)이란
__crates.io에 크레이트 공개하기
▣ 05장: 응용편 - 사진 / 음악 / 네트워크
01 이미지 처리 도구 만들기
__이미지 파일 다루기
__색상 반전 도구 만들기
__[Column] thumbnail 메서드
02 웨이브 합성으로 음악 연주하기
__웨이브 합성과 재생
__sinewave 프로젝트 생성
__음악 만들기
__MML 연주기 만들기
03 80년대 게임 음원 만들기
__다양한 파형의 신디사이저 만들기
__톱니파
__파이썬에서 파형 표시하기
__방형파
__삼각파
__화이트 노이즈
__펄스파
__FM 음원
04 네트워크와 병렬 처리
__스레드란
__스레드로 병렬 계산 처리
05 간이 채팅 프로그램 만들기
__간이 채팅 서비스
__스레드 사용
__채팅 서버
__채팅 클라이언트
06 웹 프로그램 만들기
__러스트로 웹 프로그램을 만드는 의미
__러스트 웹 프레임워크
__Actix Web
__빠르게 개발할 수 있는 웹 프레임워크 ‘Tide’
__[옮긴이 보충] POST 메서드로 전송 1
__이름을 입력받아 인사하기
__[옮긴이 보충] POST 메서드로 전송 2
__러스트와 파이썬 웹 개발 비교
▣ 06장: 응용편 - 메모리 관리 및 다른 언어와의 연계
01 매크로 만들기
__러스트의 매크로
__매크로 정의하기
__HashMap을 간편하게 초기화하는 매크로 만들기
__매크로 재귀 호출
__실제 매크로가 만들어낸 코드 보기 - 매크로 전개
__[Column] 절차적 매크로
02 단방향 리스트로 메모리 관리 이해하기
__단방향 연결 리스트 구현
__단방향 연결 리스트에 메서드 구현
03 메모리 참조 카운터
__Box〈T〉를 이용한 단방향 연결 리스트의 단점
__Rc〈T〉 타입으로 참조 카운팅 방식 메모리 관리 가능
__RefCell〈T〉 타입 사용
__순환 참조를 피하는 Weak 타입
__Rc〈T〉와 Weak〈T〉로 양방향 연결 리스트 만들기
__스레드 안전성을 위한 Arc〈T〉와 Mutex〈T〉
04 파서 생성기로 미니 언어 만들기
__왜 언어를 직접 만드는가
__간단한 덧셈 계산기 만들기
__사칙연산이 가능한 계산기 만들기
__미니 언어 만들기
05 C 언어, 파이썬과의 연계
__FFI
__C 언어의 라이브러리를 러스트에서 호출
__러스트에서 만든 라이브러리를 C 언어에서 호출
__러스트에서 C 언어 데이터 타입 다루기
__동적 라이브러리를 생성해 파이썬에서 사용
06 웹 어셈블리
__웹 어셈블리란 무엇인가
__러스트로 웹 어셈블리 사용하기
__토마토 언어 플레이그라운드 만들기
07 비동기 통신과 스크래핑
__자주 쓰는 도구를 러스트로 만들기
__비동기 처리
__러스트의 비동기 처리
__비동기 처리 기본
__웹 페이지의 이미지를 연속으로 다운로드하기
08 암호화 도구 만들기
__암호화 도구 만들기
__명령줄용 암호화 도구
__웹 어셈블리로 만들어 브라우저에서 실행
▣ 부록 A _ 오류 메시지와 해결 팁
▣ 부록 B _ 러스트 용어집
▣ 부록 C _ 러스트의 기본 구문 요약
기본정보
ISBN | 9791158393908 | ||
---|---|---|---|
발행(출시)일자 | 2023년 01월 03일 | ||
쪽수 | 580쪽 | ||
크기 |
188 * 241
* 31
mm
/ 1219 g
|
||
총권수 | 1권 | ||
시리즈명 |
위키북스 프로그래밍 & 프랙티스 시리즈
|
||
원서(번역서)명/저자명 | 高效率言語RUST書きかた.作りかた 手を動かして考えればよくわかる/クジラ飛行机 |
Klover
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집 (2)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립
-
반품/교환방법
* 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900) -
반품/교환가능 기간
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내 -
반품/교환비용
-
반품/교환 불가 사유
(단지 확인을 위한 포장 훼손은 제외)
2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
3) 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등 -
상품 품절
-
소비자 피해보상 환불 지연에 따른 배상
2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)
책이 잘 읽히네요.
특히 가장 중요한 개념인 소유권 개념을 잘 이해할 수 있어서 좋았습니다.
하나하나 따라 하다 보면 재미 있습니다.