擴充Rust程式語言內建的HashMap,讓它擁有階層結構 2018 年 12 月 9 日 Magic Len Rust 在開發程式時,我們常會使用HashMap來儲存key-value結構的資料。但很多時候我們的key-value資料會有不只一層,例如一個男女分班的學校,我們就需要有性別、班級、學號這三層的key-value結構,以確保各層的資料不會有重複的情況發生。或是可以分成國家、一級行政區、二級行政區等多層資料的世界地圖。 繼續閱讀
如何在Linux作業系統上免費申請Let's Encrypt的SSL憑證,並實現自動化申請和套用? 2018 年 12 月 7 日 Magic Len Linux、 作品分享、 網站應用、 軟體介紹 在西元2015年之後,我們所熟悉的HTTP網站已經被大多數人認為是不安全的網站了,許多瀏覽器甚至會直接針對沒有使用HTTPS協定的網站打上「不安全」的標籤,就連搜尋引擎也會降低HTTP網站的排名。因此讓網站支援SSL,並使用HTTPS協定進行傳輸,已經是再基本不過的事了。在過去使用公開的SSL時,通常都需要去向第三方安全認證機構購買所謂的「SSL憑證」,一直到2015年,Let's Encrypt... 繼續閱讀
XCompress─在Linux作業系統上快速壓縮/解壓縮ZIP、GZIP、BZIP2、XZ、7ZIP、TAR、RAR等常見格式 2018 年 12 月 5 日 Magic Len Linux、 作品分享、 軟體介紹 檔案文件的壓縮格式有非常多種,在使用文字介面來操作電腦時,不同的壓縮格式對應著不同的工具,每個工具的指令使用方式皆不太一樣。XCompress是一款使用Rust程式語言開發,專門使用在Linux作業系統上且開源的壓縮和解壓縮工具,整合了ZIP、Z、GZIP、BZIP2、LZ、XZ、LZMA、7ZIP、TAR、RAR和ZSTD,能夠使用相同的指令來處理這些壓縮格式的壓縮和解壓縮。 繼續閱讀
如何讓Writer能在不同執行緒下同步寫入,且能夠拿回擁有權?實作同步版本的RcWriter吧! 2018 年 12 月 3 日 Magic Len 研究分享、 Rust 在之前關於「RcWriter」的文章中,我們將Rc智慧型指標和「Writer」一同連用,讓「Writer」的擁有權在被其他套件搶走之後還可以有辦法繼續使用同樣的「Writer」。但如果是在並發與並行的程式中,「RcWriter」就無用武之地了。 繼續閱讀
Writer的擁有權被拿走後要怎麼拿回來?用Rc智慧型指標來製作RcWriter吧! 2018 年 12 月 1 日 Magic Len 研究分享、 Rust 在開發Rust程式的時候,會使用到各式各樣別人開發的套件。這些套件雖然很方便,可以替我們節省不少開發時間,但是套件提供的API,卻不一定能夠完全滿足我們的需求。「Writer」的擁有權被取走,就是一個常見的例子。 繼續閱讀
快速方便的繁體中文轉簡體中文工具─tw2s 2018 年 11 月 30 日 Magic Len 作品分享、 軟體介紹 在撰寫多國語言的程式的語言檔時,中文雖然主要分為繁體中文和簡體中文,但其實只需要寫好繁體中文的語言檔就好,因為簡體中文的部份可以利用其它程式來將繁體中文的語言檔直接轉換過去! 繼續閱讀
快速方便的簡體中文轉繁體中文工具─s2tw 2018 年 11 月 29 日 Magic Len 作品分享、 軟體介紹 在看國外電影、連續劇、影集、動漫的時候,上網搜尋到的字幕檔大多都是簡體中文,雖然現在簡體中文在臺灣已是無所不在,但畢竟我們從小還是習慣使用繁體中文,如果看到的中文是繁體字而不是簡體字,就會感到親切許多! 繼續閱讀
如何使用Rust程式語言取得WHOIS資料? 2018 年 11 月 28 日 Magic Len Rust WHOIS是網際網路中用來查詢網域名稱和IP的服務,可以讓我們在連結到對方的伺服器前,先行確認對方究竟是誰(沒錯,就是Who is ...?),避免連線到不安全的伺服器。在開發Rust程式的時候,也可以利用WHOIS來做對外連線的檢查。 繼續閱讀
如何在Rust程式語言中處理網址的前綴? 2018 年 11 月 25 日 Magic Len Rust 在開發Web應用程式的時候,為了要讓應用程式可以被設定在不同網域,或是不同的網址目錄下,通常會需要對應用程式進行「網址前綴」的設定。舉例來說,如果要把某個Web應用程式運作在「tool.magiclen.org」這個網域的「url」路徑下,我們可以將「https://tool.magiclen.org/url」這個「網址前綴」設定給該Web應用程式,讓它知道如何去正確處理它所用到的其它資源的路徑。... 繼續閱讀
如何用Rust程式語言驗證使用者輸入的資料? 2018 年 11 月 24 日 Magic Len Rust 開發程式的時候,常會需要讓程式能與使用者或其它程式互動,透過文字介面、圖形介面或是通訊協定標準,從外部取得資料來進行更進一步的處理。尤其是當使用者在使用我們的程式時,由於我們沒有辦法限制他們輸入的資料一定要符合程式設計的格式,程式很可能就會因錯誤的輸入而造成錯誤的輸出,甚至對整個系統的安全性造成威脅。所以通常我們在處理外部進來的資料時,會先檢查它們的格式後再進行處理。 繼續閱讀