如何用Rust程式語言取得Linux的系統資訊? 2020 年 9 月 8 日 Magic Len Rust、研究分享 取得執行環境的作業系統資訊是開發軟體時經常會需要被實作的功能,Rust作為一個系統級的程式語言,對於這部份自然會有許多解決方案。不過也由於Rust程式語言跨作業系統,因此許多取得系統資訊的套件也會以跨平台支援為主,這就導致取得到的資訊可能過於低階、不夠充份或是不統一,使得開發者還需要自行撰寫程式將零散的資訊處理為一般人習慣閱讀的格式。又或者取得系統資訊的方式是依靠系統中提供的指令工具,使得程式還得... 繼續閱讀 Linux 探針、M Prober、MagicLen Prober、mprober、mprober-lib、Rust、Rust 探針、探針
Rust程式語言如何將定數於編譯階段時串接成字串? 2020 年 9 月 3 日 Magic Len Rust Rust程式語言強大的編譯器可以讓它在編譯階段時就去做完許多其它程式語言在執行階段才能進行的工作,像是Rust的標準函式庫,就有提供一個「concat」巨集,可以將任意數量定數(literal)直接串接成生命周期為「'static」的字串切片(&'static str) 繼續閱讀 concat-with、Rust
如何用Rust程式語言產生HTML文件的大綱(Outline)? 2020 年 8 月 27 日 Magic Len Rust 一個定義良好的HTML標題結構除了能讓訪客更輕鬆地瀏覽網頁之外,也能夠幫助搜尋引擎更精確地理解HTML文件的內容,提高網站的搜尋排名。要如何使用Rust程式來產生HTML文件的標題大綱(Outline)呢? 繼續閱讀 HTML Outline、HTML Outliner、HTML 大綱、HTML 大綱 SEO、HTML 大綱檢查工具、HTML 大綱產生器、Rust、Search Engine Optimization、SEO、搜尋引擎優化
如何使用Rust程式語言處理寬度(位元組數量)浮動的UTF-8字串? 2020 年 7 月 2 日 Magic Len Rust、研究分享 Rust程式語言的字串是使用UTF-8編碼的,這種編碼方式讓每個字元有四種不同的寬度,例如「4」會被編碼成「[52]」;「ß」會被編碼成「[195, 159]」;「中」會被編碼成「[228, 184, 173]」;「𩸽」(ㄌㄨㄥˇ)會被編碼成「[240, 169, 184, 189]」。再加上Rust是標榜安全的程式語言,因此在切割字串的時候會去做索引位置的檢查,避免取到不正確的資料範圍,不過這也... 繼續閱讀 Rust、utf8-width
Rust效能分析:contains方法和binary_search方法哪個快? 2020 年 6 月 4 日 Magic Len Rust、研究分享 Rust程式語言內建的「contains」方法可以用來判斷某元素是否在一個陣列或是切片中,而「binary_search」方法則可以用來尋找某元素在一個已排序的陣列或是切片中出現的索引位置。那麼問題就來了,這兩個方法若都用來判斷某元素在已排序的陣列或是切片中是否存在的話,究竟哪個會比較快呢? 繼續閱讀 Rust、Rust效能分析
Image Resizer 批量縮放圖片並自動銳化的智能工具程式 2020 年 5 月 7 日 Magic Len 作品分享、軟體介紹 Image Resizer是一款能夠一次調整多張圖片的尺寸的指令工具。它在調整圖片尺寸時,並不需要完全地指定圖片的寬(Width)與高(Height)為多少,只需要設定一條最大邊的長度,就能自動延展或是收縮圖片的寬和高,還能自動將圖片銳利化與交錯化(interlacing),也能夠順便調整圖片的PPI(pixel per inch)。 繼續閱讀 Image Resizer、Rust
解決IntellIj開啟Rust程式專案時,出現「No Rust toolchain specified」以及「No Cargo projects found」錯誤的問題 2020 年 2 月 21 日 Magic Len Rust、隨手張貼 IntellIj是個很強大的IDE,但也常常會重複出現一些惱人的問題。像是在開啟Rust程式專案時,有時候IntellIj會無法正確引用到Rust的工具鏈(Toolchain),使得組態(Configuration)功能作廢。 繼續閱讀 IntelliJ、Rust
用Clippy來優化Rust的程式碼 2020 年 1 月 21 日 Magic Len Rust lint最早用於C語言,是一種用來檢查程式碼的工具,現在的主流程式語言幾乎都有lint可以使用,尤其是JavaScript、Python等直譯式程式語言,因為它們的程式碼不會經過編譯,所以特別需要使用lint來檢查原始碼。藉由lint,我們可以寫出疑慮較少、效能更好或是更容易閱讀的程式碼。Rust程式語言雖然是靜態型別的程式語言,而且擁有十分嚴謹的編譯器,官方還是提供了一個lint工具──Clip... 繼續閱讀 Clippy、lint、Rust
用rustfmt讓Rust的程式碼能自動排版 2020 年 1 月 16 日 Magic Len Rust 為了解決不同開發者有各自不同的程式碼風格的問題。像是有些人習慣用一個tab字元進行縮排;有些人則習慣用兩個或四個空格字元來進行縮排。有些人習慣if或for迴圈的大括號要先換行;有些人則習慣和關鍵字寫在同一行。Rust官方提供了rustfmt這個工具來進行官方建議的程式排版方式。 繼續閱讀 Rust、Rust 排版、rustfmt
如何用Rust程式語言搭配zBar函式庫進行條碼掃描? 2019 年 11 月 7 日 Magic Len Rust 在生活中常常可以看到條碼(Barcode)的存在,無論是商品結帳時在收銀台使用的EAN條碼、書籍使用的ISBN條碼,還是在最近因行動裝置的流行也跟著帶動起來的QR Code,這些條碼都可以讓我們的生活更便利,傳遞資訊的速度更快,省下許多使用鍵盤打字的時間。zBar是一個使用C語言開發的函式庫,效率極佳,支援多種一維條碼和二維條碼的掃描,要如何在Rust上使用zBar函式庫進行條碼掃描呢? 繼續閱讀 Rust、zbar-rust、條碼掃描、條碼辨識