| 000 | 00000cam c2200205 c 4500 | |
| 001 | 000046139751 | |
| 005 | 20260115143617 | |
| 007 | ta | |
| 008 | 230120s2023 ggka 001c kor | |
| 020 | ▼a 9791158393908 ▼g 93000 | |
| 035 | ▼a (KERIS)BIB000016594113 | |
| 040 | ▼a 241026 ▼c 241026 ▼d 211009 | |
| 041 | 1 | ▼a kor ▼h jpn |
| 082 | 0 4 | ▼a 005.133 ▼2 23 |
| 085 | ▼a 005.133 ▼2 DDCK | |
| 090 | ▼a 005.133 ▼b R971 2023 | |
| 100 | 0 | ▼a クジラ飛行机 ▼0 AUTH(211009)159811 |
| 245 | 2 0 | ▼a (만들면서 배우는) 러스트 프로그래밍 : ▼b 다양한 예제로 쉽게 익히고 널리 활용하는 고효율 언어 Rust 실전 가이드 / ▼d 쿠지라 히코우즈쿠에 지음 ; ▼e 양현 옮김 |
| 246 | 1 9 | ▼a 高効率言語Rust書きかた・作りかた : ▼b 手を動かして考えればよくわかる |
| 246 | 3 | ▼a Kōkōritsu gengo Rust kakikata tsukurikata : ▼b te o ugokashite kangaereba yoku wakaru |
| 260 | ▼a 파주 : ▼b 위키북스, ▼c 2023 | |
| 300 | ▼a xviii, 562 p. : ▼b 삽화 ; ▼c 24 cm | |
| 490 | 1 0 | ▼a 프로그래밍 & 프랙티스 시리즈 ; ▼v 031 |
| 500 | ▼a 색인수록 | |
| 500 | ▼a 부록: A. 오류 메시지와 해결 팁, B. 러스트 용어집, C. 러스트의 기본 구문 요약 | |
| 700 | 1 | ▼a 양현, ▼e 역 |
| 830 | 0 | ▼a 프로그래밍 and 프랙티스 시리즈 ; ▼v 031 |
| 900 | 0 0 | ▼a 쿠지라 히코우즈쿠에, ▼e 저 |
| 900 | 0 0 | ▼a Kujira hikōzukue, ▼e 저 |
| 945 | ▼a ITMT |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.133 R971 2023 | 등록번호 121261851 (4회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.133 R971 2023 | 등록번호 121262094 (2회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
러스트 코드와 파이썬 코드를 비교하면서도 효율적으로 러스트를 배울 수 있는 콘셉트로 만들어졌다. 다양한 소스 코드를 수록해 러스트를 조금 더 쉽게 배울 수 있도록 했으며, 독자가 파이썬을 알고 있다고 가정하므로 중복 설명이나 불필요한 예제를 생략해 러스트의 매력에 더 집중할 수 있게 했다. 또한 러스트를 배움으로써 파이썬의 장점을 재발견하고, 파이썬이 뒤에서 어떻게 작동하는지 이해하는 데에도 큰 도움이 될 것이다.
고효율, 현대적 프로그래밍 언어 Rust의 결정적 해설서!
러스트는 효율적이고 신뢰할 수 있으며 생산성이 높은 언어로, 프로그래머가 가장 배우고 싶어 하는 언어로 꼽힌다. 배울 가치가 높은 언어이지만 프로그래밍 초보자에게는 어려울 수 있다. 따라서 파이썬이나 다른 언어로 프로그래밍의 기초를 다진 뒤 배우는 것이 효과적이다.
《만들면서 배우는 러스트 프로그래밍》은 러스트 코드와 파이썬 코드를 비교하면서도 효율적으로 러스트를 배울 수 있는 콘셉트로 만들어졌다. 다양한 소스 코드를 수록해 러스트를 조금 더 쉽게 배울 수 있도록 했으며, 독자가 파이썬을 알고 있다고 가정하므로 중복 설명이나 불필요한 예제를 생략해 러스트의 매력에 더 집중할 수 있게 했다. 또한 러스트를 배움으로써 파이썬의 장점을 재발견하고, 파이썬이 뒤에서 어떻게 작동하는지 이해하는 데에도 큰 도움이 될 것이다.
★ 이 책에서 다루는 내용 ★
◎ 파이썬과 러스트의 비교
◎ 러스트의 문법과 다양한 기능
◎ 러스트를 이용한 신디사이저, 채팅 기능 만들기
◎ 메모리 관리
◎ 이미지 처리 라이브러리 활용
◎ C 언어나 파이썬 등과 연동하는 방법
◎ 웹 어셈블리 제작
정보제공 :
저자소개
쿠지라 히코우즈쿠에(지은이)
‘즐겁고 유익한 툴’을 테마로 다양한 앱과 서비스를 개발하고 있다. 대표작으로 텍스트 음악 에디터 ‘사쿠라’와 일본어 프로그래밍 언어 ‘나데시코’ 등이 있다. 2001년 일본 인터넷협회(IAJ) 온라인 소프트웨어 대상에서 입상했으며, 일본 정보처리추진기구(IPA)에서 2004년 유스·슈퍼 크리에이터로 공인받고 2010년에는 OSS 공헌자상을 수상했다. 2021년에는 대표작 ‘나데시코’가 중학교 교과서에 수록되었다. 파이썬, 러스트, 머신러닝, 알고리즘 등 기술 서적을 30권 이상 집필했다. 웹사이트(https://kujirahand.com)에서 개발한 앱과 서적 목록을 확인할 수 있다. 국내에 번역된 책으로는 《파이썬을 이용한 머신러닝, 딥러닝 실전 개발 입문(개정판)》(2019), 《모던 자바스크립트 개발자를 위한 리액트 프로그래밍》(2017), 《러닝스쿨! 파이썬 교과서》(이상 위키북스, 2017), 《자바스크립트와 Node.js를 이용한 웹 크롤링 테크닉》(제이펍, 2016) 등이 있다.
양현(옮긴이)
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 _ 러스트의 기본 구문 요약



