iT邦幫忙

rust相關文章
共有 35 則文章
30 天深入淺出 Rust 系列 第 33

技術 番外 3 : Rust 2018, const fn & inline asm

就在昨天 Rust 2018 第一個正式版出來了,距離上次發文也有點時間了,其它功能大部份都在之前已經先介紹過了,不過這次的 1.31 版還有個重要的功能,那就...

30 天深入淺出 Rust 系列 第 32

技術 番外 2: 不使用標準函式庫行不行?

Rust 的基本函式庫其實包的東西算很少了,不過還是挺大的,因為 Rust 的標準函式庫並沒有預裝在各個電腦上,所以 Rust 都是直接把必要的部份也直接包含進...

30 天深入淺出 Rust 系列 第 31

技術 番外 1: 設計模式

這是第 31 篇,因為鐵人賽已經完賽了,如果有想到什麼我才會再發一篇文章,這篇要來講的是設計模式,但不是平常 OOP 的那些,是一些在 Rust 中常用或有用的...

鐵人賽 Software Development DAY 30
30 天深入淺出 Rust 系列 第 30

技術 macro 、 proc macro 與尾聲

這是最後一篇了,這篇我會補一些之前沒講到的東西,內容會比較雜一點。 目錄: macro Procedural Macro (進階) 權限修飾 Rust 心得...

鐵人賽 Software Development DAY 29
30 天深入淺出 Rust 系列 第 29

技術 用 Rust + GTK 做個井字棋

前幾天有看到別人鐵人賽在做井字棋,我也來做一個吧,用 Rust ,加上 GTK ,做成原生的視窗程式。 但在開始前 Rust 最近發佈了 1.30 版,這版裡有...

鐵人賽 Software Development DAY 28
30 天深入淺出 Rust 系列 第 28

技術 WebAssembly: 用 Rust 寫出高效能的網頁程式

什麼是 WebAssembly WebAssembly 是個實驗性的 Web 標準,其是由其它程式語言如 C/C++ ,目前 Go 也支援了,當然還有我們的 R...

鐵人賽 Software Development DAY 27
30 天深入淺出 Rust 系列 第 27

技術 非同步 IO : Futures 與 Tokio

Async IO 在開始之前要先來介紹一下非同步的 IO 是怎麼回事,如果你有碰過比較底層的系統程式,你可能會知道在 Linux 下用來開啟檔案的 open 有...

鐵人賽 Software Development DAY 26
30 天深入淺出 Rust 系列 第 26

技術 用 Rust 做個留言板

這次的程式碼一樣在: https://github.com/DanSnow/rust-intro/tree/master/message-board 今天要來把...

鐵人賽 Software Development DAY 25
30 天深入淺出 Rust 系列 第 25

技術 Diesel: Rust 的 ORM

在開始之前,我有個想講的東西,不過你也可以跳過這段直接看底下的正文。 昨天的程式碼中的第 68 行所出現的: &matches .value_of(...

鐵人賽 Software Development DAY 24
30 天深入淺出 Rust 系列 第 24

技術 指令列工具與 HTTP Client

本次的程式碼在 https://github.com/DanSnow/rust-intro/tree/master/hastebin-client 這次來寫個在...

鐵人賽 Software Development DAY 23
30 天深入淺出 Rust 系列 第 23

技術 實作 Python 的原生擴充與條件編譯

Python 是個廣泛使用的腳本語言,想必或多或少都有聽過這個名字吧,人工智慧、科學計算、統計、應用程式、爬蟲等等的領域無不存在,非常的實用,如果想學個腳本語言...

鐵人賽 Software Development DAY 22
30 天深入淺出 Rust 系列 第 22

技術 從 C 呼叫 Rust

這次的程式碼在 https://github.com/DanSnow/rust-intro/tree/master/clib 建立可以給 C 使用的函式庫 Ru...

鐵人賽 Software Development DAY 21
30 天深入淺出 Rust 系列 第 21

技術 用 Rust 呼叫 C 的程式

若是其它的函式庫等等的, crates.io 上可能已經有人提供與那個函式庫的綁定了,可以直接抓來用, Rust 的 crate 的命名慣例中有個若一個 cra...

鐵人賽 Software Development DAY 20
30 天深入淺出 Rust 系列 第 20

技術 Crates 與工具

這篇主要是來介紹 Rust 的社群所提供的方便的工具與 crate ,為避免重覆,若之後有打算深入介紹的我就不在這邊做介紹了。 工具 Clippy Clippy...

鐵人賽 Software Development DAY 19
30 天深入淺出 Rust 系列 第 19

技術 Rust 2018

Rust 2018 是在今年底預計發佈的 1.31 版本,同時也會有些語法上的改變,如果你想在自己的電腦上使用你必須安裝 beta 或 nightly 版本的...

鐵人賽 Software Development DAY 18
30 天深入淺出 Rust 系列 第 18

技術 「不安全」的 Rust

Rust 透過編譯器的檢查來保證記憶體的安全,然而這些檢查並不是完美的,總是有誤判的時候,所以 Rust 也提供了這些被標記為不安全的功能,讓使用者可以直接存取...

鐵人賽 Software Development DAY 17
30 天深入淺出 Rust 系列 第 17

技術 更多的執行緒: Atomic 、 Channel 與 Crossbeam

今天要來介紹 Atomic 與 Channel ,另外還會介紹 crossbeam 這個 crate 。 這篇的範例也都請在自己的電腦上測試。 Atomic...

鐵人賽 自我挑戰組 DAY 0
Rust 30天學習日誌 系列 第 1

技術 (Day01)認識RUST語言

小弟目前主要是使用Labview語言撰寫自動化測試系統,程式語言僅有學過C.Python,但是都不是很深入。希望透過30天的學習日誌,來學習RUST。 RUST...

鐵人賽 Software Development DAY 16
30 天深入淺出 Rust 系列 第 16

技術 程序與執行緒

偶爾我們要呼叫外部的程式來幫我們處理一些東西,這個時候就是 std::process 下的東西登場的時候了。 Command Command 可以讓我們呼叫外部...

鐵人賽 Software Development DAY 15
30 天深入淺出 Rust 系列 第 15

技術 Cell 與 RefCell

Cell 與 RefCell 能讓變數沒宣告 mut 也能修改,因為有時你還是需要在有多個 borrow 的情況下能修改變數,它們的文件都在 std::cell...

鐵人賽 Software Development DAY 14
30 天深入淺出 Rust 系列 第 14

技術 智慧指標 (Smart Pointer) 與集合型態 (Collection)

集合型態 這邊介紹的集合型態只會再介紹 HashMap 與 HashSet ,不過 Rust 實際上並不只這兩種而已,詳細建議看一下 std::collecti...

鐵人賽 Software Development DAY 13
30 天深入淺出 Rust 系列 第 13

技術 函數式程式設計

函數式程式設計的概念是來於數學上的函數,也就是一個輸入對應一個結果,不會受到其它東西的影響,所以程式講究沒有狀態,沒有副作用 (side effect) ,而在...

鐵人賽 Software Development DAY 11
30 天深入淺出 Rust 系列 第 11

技術 錯誤處理

現在大多的程式語言都有例外 (exception) ,這讓程式碰到錯誤時可以立即的拋出例外,拋出的例外會中斷目前整個程式的流程,並開始往上找例外處理的程式,可是...

鐵人賽 Software Development DAY 10
30 天深入淺出 Rust 系列 第 10

技術 Module

在 Rust 中要建立一個模組其實不難,只要像這樣: mod mymod { pub fn print_hello() { println!(&qu...

鐵人賽 Software Development DAY 9
30 天深入淺出 Rust 系列 第 9

技術 列舉、解構、模式比對

列舉 (Enum) 列舉是 Rust 中的一個型態,其為多個 variant 所組成: enum Color { Red, Green, Blue,...

鐵人賽 Software Development DAY 8
30 天深入淺出 Rust 系列 第 8

技術 Trait 與泛型 (Generic)

Trait Trait 本身同時提供兩個功能,一是讓不同的型態去實作同樣的功能,再來就是提供實作來共用程式碼了,這同時也是 Rust 泛型的基礎。 trait...

鐵人賽 Software Development DAY 7
30 天深入淺出 Rust 系列 第 7

技術 Struct 與 OOP

各位有在 C 裡實作過物件導向程式設計 (OOP) 嗎? 這篇要來介紹 Rust 中的 struct 以及 OOP。 Struct 首先來介紹一下結構 (str...

鐵人賽 Software Development DAY 6
30 天深入淺出 Rust 系列 第 6

技術 Lifetime: Borrow 的存活時間

Rust 有個重要的功能叫 borrow checker ,它除了檢查在上一篇提到的規則外,還檢查使用者會不會使用到懸空參照 (dangling referen...

鐵人賽 Software Development DAY 5
30 天深入淺出 Rust 系列 第 5

技術 變數的所有權與借出變數

Move, Borrow & Ownership 這篇與下一篇要介紹 Rust 中可說是最複雜,卻也是最重要的一個觀念,變數的所有權 (ownershi...

鐵人賽 Software Development DAY 4
30 天深入淺出 Rust 系列 第 4

技術 Rust 基礎

我們直接打開 main.rs 來寫我們的程式吧,首先 // 開頭的是程式的註解,它是給人看的,電腦看到會直接忽略,我直接使用註解來說明程式的內容,希望你可以照著...