如何在Rust程式語言中使用C/C++的函式庫? 2018 年 11 月 3 日 Magic Len C & C++、 研究分享、 Rust 作為新穎、先進的程式語言,Rust的函式庫還沒有C/C++語言的函式庫來得多且完整。在很多時候,我們還是無可避免地必須要去使用現有C/C++程式語言所實作的函式庫來完成我們需要的功能。雖然一般來說,我們還是會比較喜歡用純Rust程式碼來開發程式,確保程式的安全性以及可移植性,但畢竟要把過去每個C/C++程式語言所實作的函式庫,都使用Rust程式語言來改寫,是非常不切實際的事。在開發成本的考量之下,... 繼續閱讀
Rust程式語言可以單檔執行!如何把外部檔案和Rust程式編譯在一起? 2018 年 10 月 26 日 Magic Len 研究分享、 Rust 在開發應用程式的時候,常會需要在程式加入圖片、聲音等等的素材。以開發Web應用程式來說,還會需要用到很多HTML模板、CSS、JavaScript、語言檔、資料庫設定檔等等的素材檔案。這些素材檔案常因為放不進程式執行檔中,而只好另外放在檔案系統的某個目錄下,由程式在執行階段的時候再去讀取。像這樣程式和素材分開的存放的作法雖然很常見,但其實會引發許多問題。例如,在設定程式執行環境的時候,工序會變得複... 繼續閱讀
如何在Rust程式語言中使用全域靜態變數? 2018 年 10 月 23 日 Magic Len 研究分享、 Rust 在使用C或C++程式語言的時候,我們有時會將變數宣告在函數之外,使其可以在任何時間於整個程式的任何scope下使用。使用Java程式語言的時候,也有時會替類別加上「static」的類別(靜態)欄位變數,甚至還可以在「static」區塊中,在類別初始化的時候順便對類別欄位進行初始化的動作。我們把這類宣告在函數、方法之外,且獨立於物件實體的變數稱為「全域靜態變數」(C/C++的全域變數有分能給其它原始... 繼續閱讀
如何有效率地寫程式判斷質數和尋找質數? 2018 年 10 月 14 日 Magic Len 研究分享、 Go、 Java、 數學邏輯、 Rust、 JavaScript 一個質數(Prime)是一個大於1,且無法找到除了自己本身和1之外的自然數能整除它的自然數。舉例來說,2、3、5、7、11、13和17均為質數。質數是數學上的難題,即便數學已經過幾千年的發展,卻也還是無法找出一個能完美產生出質數的函數。在學習寫程式的過程中,儘管在現實社會中幾乎用不到,我們還是會常常遇到判斷質數或是尋找質數的問題。那麼,究竟要如何利用程式來處理判斷質數和尋找質數呢? 繼續閱讀
Rust 學習之路─第二十四章:建立多執行緒的Web伺服器 2018 年 7 月 4 日 Magic Len 研究分享、 Rust 在這個章節中,我們要用最基礎的方式透過TCP的監聽與連接,解析與傳送符合HTTP格式的訊息,來完成我們的Web伺服器。至於會選擇用這樣的方式來製作Web伺服器的原因是,要練習把我們在先前的章節中學到的東西加以應用。畢竟現在crates.io上已經有很多現成的Web框架(Web Framework)可以使用,正常來講我們是不需要從底層刻出Web伺服器的。 繼續閱讀
Rust 學習之路─第二十三章:進階的型別用法 2018 年 7 月 3 日 Magic Len 研究分享、 Rust 在上一章節的最後我們介紹到利用元組結構體來建立新的型別的方式,在這個章節我們會繼續介紹更多型別的應用。 繼續閱讀
Rust 學習之路─第二十二章:進階的特性用法 2018 年 7 月 2 日 Magic Len 研究分享、 Rust 這個章節會詳細介紹特性的關聯型別(Associated Type)、運算子多載(Operator Overloading)的實作方式、呼叫名稱相同但屬於不同特性的方法或關聯函數、替外部的型別實作新的特性。 繼續閱讀
Rust 學習之路─第二十一章:進階的生命周期用法 2018 年 7 月 1 日 Magic Len 研究分享、 Rust 關於Rust的生命周期,我們在先前的章節中已經先學習了一部份了。在這個章節,我們將會學習如何使用生命周期的子型別,了解如何替泛型型別參數指定生命周期,以及特性物件的生命周期規則。 繼續閱讀
Rust 學習之路─第二十章:不安全的Rust 2018 年 6 月 30 日 Magic Len 研究分享、 Rust 在最一開始的幾個章節,我們就已經了解到Rust程式語言在編譯階段時,就會進行許多檢查,使得程式在通過編譯後,進入執行階段時,能以有效又安全的方式運行。然而,在某些情況下,通常是處理跟作業系統和硬體有關的底層行為時,使用正常能夠確保安全性的Rust程式碼並無法實現出我們要的功能,此時就會需要使用到可能會讓程式變得不安全的開發方式。 繼續閱讀
Rust 學習之路─第十九章:巨集 2018 年 6 月 29 日 Magic Len 研究分享、 Rust 在上一個章節中,我們學習了許多跟文字格式化有關的巨集。在這個章節,我們將會更深入地了解巨集到底是什麼東西,以及實作巨集的方式。 繼續閱讀