만들면서 배우는 러스트 프로그래밍 > 도서

본문 바로가기

도서

만들면서 배우는 러스트 프로그래밍

땅끝
2023-11-12 08:33 263 0

본문

만들면서 배우는 러스트 프로그래밍
9791158393908.jpg


도서명 : 만들면서 배우는 러스트 프로그래밍
저자/출판사 : 쿠지라,히코우즈쿠에,저자,글,양현,번역, 위키북스
쪽수 : 580쪽
출판일 : 2023-01-03
ISBN : 9791158393908
정가 : 32000

▣ 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 _ 러스트의 기본 구문 요약

댓글목록0

등록된 댓글이 없습니다.
게시판 전체검색