在正式開始教學前,我們要先把環境安裝好,請在終端機輸入以下指令: $ curl https://sh.rustup.rs -sSf | sh -- -y $...
這篇來談談執行緒 (thread) 與 thread local storage (TLS) ,雖說是這樣,但事實上主要是想來看看 TLS 是怎麼運作的,不過在...
Cell 與 RefCell 能讓變數沒宣告 mut 也能修改,因為有時你還是需要在有多個 borrow 的情況下能修改變數,它們的文件都在 std::cell...
動態連結是讓程式能載入動態函式庫,這些函式庫在 Linux 下一般都是以 .so 的副檔名做結尾,這些檔案能在程式執行起來後才由動態連結器載入程式的記憶體空間供...
Move, Borrow & Ownership 這篇與下一篇要介紹 Rust 中可說是最複雜,卻也是最重要的一個觀念,變數的所有權 (ownershi...
Python 是個廣泛使用的腳本語言,想必或多或少都有聽過這個名字吧,人工智慧、科學計算、統計、應用程式、爬蟲等等的領域無不存在,非常的實用,如果想學個腳本語言...
今日份 Ferris 今天要使用 Docker 把先前的專案容器化啦,畫圖的時候畫出鯨魚 (海豚?) 螃蟹,有夠可愛哈哈哈 部署機器學習應用 🏮 今天要部署的...
今天我們要來談談 Sorting,也就是排序。排序看似不起眼,但其實在電腦的世界扮演了許多關鍵的角色,例如當我們要更有效率地搜尋出某個東西的時候,又例如我們要按...
本文同步刊載於 [為你自己學 Rust] 哈囉,Rust! 據說,在很早很早以前,有某位美國貝爾實驗室的大大在他們內部的技術文件的範例程式碼裡提到了 He...
列舉 (Enum) 列舉是 Rust 中的一個型態,其為多個 variant 所組成: enum Color { Red, Green, Blue,...
今天我們要來看的是 Binary Search Tree (BSTs)。Tree 是由有限節點組成具有層次關係的集合。以下圖為例,最上面的節點稱作根節點 (Ro...
這篇要來介紹一個很強大的系統呼叫 ptrace 它可以用來中斷別的程式,讀取與寫入別的程式的資料,它的用途基本上就是拿來實作除錯器,當然除錯器並不是只要能暫停程...
今天要來介紹 Atomic 與 Channel ,另外還會介紹 crossbeam 這個 crate 。 這篇的範例也都請在自己的電腦上測試。 Atomic...
就在昨天 Rust 2018 第一個正式版出來了,距離上次發文也有點時間了,其它功能大部份都在之前已經先介紹過了,不過這次的 1.31 版還有個重要的功能,那就...
在介紹 Rust 以前要先來談談為什麼用 Rust ,Rust 雖說是一個相對算新的語言,跟以往介紹系統運作所使用的 C 比較來的話,不過 Rust 背後有個強...
這是我第一次參加鐵人賽,因為平常比較沒有分享文章的習慣,就想趁這個機會讓自己多寫一點文章,同時介紹一下這個之前意外讓我入坑,很有趣的一個程式語言 Rust 。...
上一篇介紹了 WebAssembly 既然都要學編譯式語言不如就來學 Rust 吧! Rust 的緣起 首先來一段 Mozilla 官方的說明 Rust 是...
使用Spike執行RISC-V gnu toolchain編譯出來的ELF檔,就可以得到完整執行此EFL檔需要用到哪些指令。利用script統計後可以得到如下結...
AI in rust接下來幾天筆者會開始實作gobblet的 AI. 在進入實作的部分前, 我們可以先來聊聊 rust 或著更擴展的說其他語言相較於 pytho...
Rust 有個重要的功能叫 borrow checker ,它除了檢查在上一篇提到的規則外,還檢查使用者會不會使用到懸空參照 (dangling referen...
昨天已經成功地為我們的 QR Code 製造機設定好 Rust 和 Cargo 的開發環境。而今天,則要開始進入 Rust 的 Web 開發領域,利用 Acti...
今日份 Ferris 昨天以 ML 系統設計來看模型開發的各個面向,今天我們用 MNIST 來示範 Rust 怎麼訓練與輸出模型。所以今天的擬人化 Ferris...
這篇主要是來介紹 Rust 的社群所提供的方便的工具與 crate ,為避免重覆,若之後有打算深入介紹的我就不在這邊做介紹了。 工具 Clippy Clippy...
今天開始我們將會開始使用 Rust 的 Web 框架 -- Rocket,來建立一個簡單的 Web Server。 Rocket 是什麼? 簡單介紹一下 Roc...
現在大多的程式語言都有例外 (exception) ,這讓程式碰到錯誤時可以立即的拋出例外,拋出的例外會中斷目前整個程式的流程,並開始往上找例外處理的程式,可是...
偶爾我們要呼叫外部的程式來幫我們處理一些東西,這個時候就是 std::process 下的東西登場的時候了。 Command Command 可以讓我們呼叫外部...
Async IO 在開始之前要先來介紹一下非同步的 IO 是怎麼回事,如果你有碰過比較底層的系統程式,你可能會知道在 Linux 下用來開啟檔案的 open 有...
Rust 中的列舉是 Rust 一個強大的功能,它跟 C 的列舉最大的不同是,它可以帶有資料 enum Foo { A(i32), B { a:...
這次的程式碼在 https://github.com/DanSnow/rust-intro/tree/master/clib 建立可以給 C 使用的函式庫 Ru...
是說在之前介紹到的 libunwind ,因為它有讀取 frame 資訊的功能,實際上還有個很有用的用途,顯示 backtrace ,另外在 Rust 發生 p...