- Rust實(shí)戰(zhàn)
- (新西蘭)蒂姆·麥克納馬拉
- 1181字
- 2022-12-01 19:12:19
前言
本書(shū)主要是為那些可能已經(jīng)在網(wǎng)上學(xué)過(guò)Rust開(kāi)源資料,但是會(huì)問(wèn)自己“接下來(lái)該學(xué)點(diǎn)什么”的人準(zhǔn)備的。本書(shū)包含數(shù)十個(gè)有趣的示例,如果你有自己的想法且時(shí)間允許,還可以進(jìn)一步擴(kuò)展這些示例。這些示例使得本書(shū)12章的內(nèi)容涵蓋了Rust的一個(gè)頗為有用的子集,以及許多生態(tài)系統(tǒng)會(huì)用到的那些最重要的第三方庫(kù)。
這些代碼示例更注重的是易讀性,而不是注重如何優(yōu)雅、地道地使用Rust。如果你是一個(gè)很有經(jīng)驗(yàn)的Rust程序員,那么可能會(huì)發(fā)現(xiàn)自己并不認(rèn)同這些例子中的一些風(fēng)格設(shè)定。我希望你能夠體諒這是在為初學(xué)者考慮。
這并不是一本內(nèi)容全面的參考書(shū),因此略去了語(yǔ)法和標(biāo)準(zhǔn)庫(kù)的部分內(nèi)容。通常情況下,這些省略掉的內(nèi)容都是高度專業(yè)的,應(yīng)該給予“特殊待遇”。然而,本書(shū)旨在為讀者提供足夠的基礎(chǔ)知識(shí)和信心,以便在必要時(shí)再進(jìn)一步學(xué)習(xí)這些特定的主題。從系統(tǒng)編程書(shū)的角度來(lái)看,本書(shū)也是很獨(dú)特的,因?yàn)閹缀醣緯?shū)的所有示例都能在微軟的Windows系統(tǒng)上運(yùn)行。
本書(shū)適合哪些人閱讀
所有對(duì)Rust感興趣的人,喜歡通過(guò)實(shí)用的示例來(lái)學(xué)習(xí)的人,或者是那些被“Rust是一種系統(tǒng)編程語(yǔ)言”這一事實(shí)嚇倒的人,都應(yīng)該會(huì)喜歡本書(shū)。有編程經(jīng)驗(yàn)的讀者將獲益更多,因?yàn)楸緯?shū)會(huì)假定讀者已經(jīng)了解一些計(jì)算機(jī)編程的基本概念。
本書(shū)的內(nèi)容是如何組織的:路線圖
本書(shū)的正文分為兩部分。第一部分介紹Rust的語(yǔ)法和一些獨(dú)特的特點(diǎn),第二部分會(huì)應(yīng)用到在第一部分中介紹的這些知識(shí)。每一章都會(huì)引入一到兩個(gè)新的Rust概念。第一部分是對(duì)Rust的快速介紹。
● 第1章解釋Rust存在的原因,以及如何開(kāi)始用它來(lái)編程。
● 第2章提供翔實(shí)的Rust語(yǔ)法基礎(chǔ)知識(shí)。本章示例包括芒德布羅集渲染器和一個(gè)grep的克隆。
● 第3章講解如何組合Rust的數(shù)據(jù)類型以及如何使用一些錯(cuò)誤處理的工具。
● 第4章討論Rust中確保要訪問(wèn)的數(shù)據(jù)始終有效的機(jī)制。
第二部分是將Rust應(yīng)用于系統(tǒng)編程領(lǐng)域的一些基礎(chǔ)性介紹。
● 第5章介紹在數(shù)字計(jì)算機(jī)中信息是如何表示的,重點(diǎn)介紹數(shù)字是如何被近似表示的。本章示例包括實(shí)現(xiàn)定點(diǎn)數(shù)格式和一個(gè)CPU模擬器。
● 第6章闡釋引用、指針、虛擬內(nèi)存、棧和堆等術(shù)語(yǔ)。本章示例包括一個(gè)內(nèi)存掃描器和自動(dòng)生成藝術(shù)項(xiàng)目。
● 第7章闡釋如何將數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)到存儲(chǔ)設(shè)備中。本章示例包括一個(gè)hexdump的克隆和一個(gè)可運(yùn)行的數(shù)據(jù)庫(kù)。
● 第8章通過(guò)多次重新實(shí)現(xiàn)HTTP講解計(jì)算機(jī)是如何進(jìn)行通信的,每一次實(shí)現(xiàn)都會(huì)剝離掉一個(gè)抽象層。
● 第9章探索在數(shù)字計(jì)算機(jī)中跟蹤時(shí)間的過(guò)程。本章示例包括一個(gè)可運(yùn)行的NTP客戶端。
● 第10章介紹進(jìn)程、線程和一些相關(guān)的抽象概念。本章示例包括一個(gè)海龜繪圖應(yīng)用程序和一個(gè)并行解析器。
● 第11章介紹操作系統(tǒng)的作用和計(jì)算機(jī)是如何啟動(dòng)的。本章示例包括編譯自己的引導(dǎo)加載程序和操作系統(tǒng)內(nèi)核。
● 第12章闡釋外部世界是如何與CPU和操作系統(tǒng)進(jìn)行通信的。
請(qǐng)按照本書(shū)章節(jié)順序進(jìn)行閱讀。只有掌握了前面章節(jié)中的內(nèi)容,才能更好地學(xué)習(xí)后續(xù)章節(jié)中的知識(shí)。不過(guò),每一章中的項(xiàng)目是相互獨(dú)立的。因此,如果本書(shū)有某些你特別感興趣的主題,也歡迎你跳著來(lái)閱讀。
- ASP.NET Core:Cloud-ready,Enterprise Web Application Development
- Python科學(xué)計(jì)算(第2版)
- Mastering Adobe Captivate 2017(Fourth Edition)
- Magento 2 Theme Design(Second Edition)
- Bootstrap 4:Responsive Web Design
- Visual FoxPro程序設(shè)計(jì)習(xí)題集及實(shí)驗(yàn)指導(dǎo)(第四版)
- Getting Started with Eclipse Juno
- Visual Studio Code 權(quán)威指南
- Python Penetration Testing Essentials
- 趣學(xué)數(shù)據(jù)結(jié)構(gòu)
- Python人工智能項(xiàng)目實(shí)戰(zhàn)
- Access 2016數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā):實(shí)戰(zhàn)從入門(mén)到精通(視頻教學(xué)版)
- 趣味掌控板編程
- 深入理解Android:WebKit卷
- Boost.Asio C++ Network Programming Cookbook