Rust程式語言如何在「trim」一個字串的同時去改變該字串? 2020 年 9 月 22 日 Magic Len Rust Rust程式語言的String物件有提供「trim」方法,可以用來去除字串頭尾的空白字元,不過這個方法會回傳字串切片(&str),而不會去更動到原來的String物件。不過在少數情況下,我們還是希望原來的String物件可以真正被「trim」。 繼續閱讀
用「async / .await」撰寫 Rust 並發程式 2020 年 9 月 17 日 Magic Len 研究分享、 Rust 用「async / await」語法來撰寫並發與並行程式是現代程式語言流行的方式,比起傳統開啟新的執行緒來完成並發處理工作的目的,「async / await」可以在同一個執行緒下達到同樣的目的,非常適用於當並發處理的工作並不重的時候,能夠省下建立執行緒所產生的開支(overhead)。 繼續閱讀
如何用Rust程式語言取得Linux的系統資訊? 2020 年 9 月 8 日 Magic Len 研究分享、 Rust 取得執行環境的作業系統資訊是開發軟體時經常會需要被實作的功能,Rust作為一個系統級的程式語言,對於這部份自然會有許多解決方案。不過也由於Rust程式語言跨作業系統,因此許多取得系統資訊的套件也會以跨平台支援為主,這就導致取得到的資訊可能過於低階、不夠充份或是不統一,使得開發者還需要自行撰寫程式將零散的資訊處理為一般人習慣閱讀的格式。又或者取得系統資訊的方式是依靠系統中提供的指令工具,使得程式還得... 繼續閱讀
Rust程式語言如何將定數於編譯階段時串接成字串? 2020 年 9 月 3 日 Magic Len Rust Rust程式語言強大的編譯器可以讓它在編譯階段時就去做完許多其它程式語言在執行階段才能進行的工作,像是Rust的標準函式庫,就有提供一個「concat」巨集,可以將任意數量定數(literal)直接串接成生命周期為「'static」的字串切片(&'static str) 繼續閱讀
如何用Rust程式語言產生HTML文件的大綱(Outline)? 2020 年 8 月 28 日 Magic Len Rust 一個定義良好的HTML標題結構除了能讓訪客更輕鬆地瀏覽網頁之外,也能夠幫助搜尋引擎更精確地理解HTML文件的內容,提高網站的搜尋排名。要如何使用Rust程式來產生HTML文件的標題大綱(Outline)呢? 繼續閱讀
用動態規劃解決問題:零壹背包問題(0/1 Knapsack Problem) 2020 年 8 月 4 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 一個背著背包的小偷闖空門偷東西,他必須趁屋主回來之前把有價值的物品塞進包包內帶走。考慮到小偷自身的行動力,背包能裝的物品總重量有限,小偷要如何選擇物品才能獲得最高的總價值? 繼續閱讀
用動態規劃解決問題:找零錢問題(Coin Change Problem) 2020 年 7 月 28 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 許多人認為身上如果帶太多的零錢會讓行動變得不方便,因此會希望商店店員在找零錢的時候能夠以最少的硬幣數來找,而不是全部都用1元塞給我們。 繼續閱讀
用動態規劃解決問題:基本觀念(有重疊子問題的問題) 2020 年 7 月 21 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 動態規劃(Dynamic Programming,簡稱DP)是一種解決問題的技巧,主要被用來優化那些「記不住自己過去曾解出來的答案所以只好重複再解」的演算法,讓它們可以「記憶」已經找出來的答案,從而不斷利用,以大大降低時間複雜度(從指數級降到線性)。 繼續閱讀
認識數字系統,進行任意進制的超長整數運算(加、減、乘、除) 2020 年 7 月 14 日 Magic Len 研究分享、 Go、 Java、 數學邏輯、 Rust、 JavaScript 電腦程式在進行整數數值計算的時候,會受到變數型別的記憶體空間使用大小而有數值表示範圍的限制,所以當遇到過長的數值時,就無法正常地運算出結果。 繼續閱讀
如何用程式進行質因數分解和尋找最大公因數與最小公倍數? 2020 年 7 月 9 日 Magic Len 研究分享、 Go、 Java、 數學邏輯、 Rust、 演算法、 JavaScript 若正整數a除以正整數b可以整除,則稱b為a的因數(Factor),a為b的倍數(Multiple),1是所有正整數最小的因數,任意正整數最大的因數就是該正整數本身。若a同時是x和y的因數,則稱a是x和y的公因數(Common Divisor),如果a是x和y的公因數中最大的一個,則稱a是x和y的最大公因數(Greatest Common Divisor,簡稱GCD)。若a同時是x和y的倍數,則稱a... 繼續閱讀