如何用Rust程式語言取得Linux的系統資訊? 2020 年 9 月 8 日 Magic Len 研究分享、 Rust 取得執行環境的作業系統資訊是開發軟體時經常會需要被實作的功能,Rust作為一個系統級的程式語言,對於這部份自然會有許多解決方案。不過也由於Rust程式語言跨作業系統,因此許多取得系統資訊的套件也會以跨平台支援為主,這就導致取得到的資訊可能過於低階、不夠充份或是不統一,使得開發者還需要自行撰寫程式將零散的資訊處理為一般人習慣閱讀的格式。又或者取得系統資訊的方式是依靠系統中提供的指令工具,使得程式還得... 繼續閱讀
Rust程式語言如何將定數於編譯階段時串接成字串? 2020 年 9 月 3 日 Magic Len Rust Rust程式語言強大的編譯器可以讓它在編譯階段時就去做完許多其它程式語言在執行階段才能進行的工作,像是Rust的標準函式庫,就有提供一個「concat」巨集,可以將任意數量定數(literal)直接串接成生命周期為「'static」的字串切片(&'static str) 繼續閱讀
使用Ubuntu Server架設FTP伺服器(vsftpd + xinetd + PAM + SSL/TLS) 2020 年 9 月 1 日 Magic Len Linux、 研究分享、 網路相關 FTP(檔案傳輸協定, File Transfer Protocol)顧名思義,是專門用來傳輸檔案的通訊協定,並且這個檔案傳輸的方向是雙向的,換句話說,FTP伺服器可以提供檔案給客戶端,客戶端也可以上傳檔案到FTP伺服器上。vsftpd、pureftpd、proftpd都是在Linux作業系統上很流行的FTP伺服器軟體,其中的vsftpd最輕巧,並以安全和效能為重。 繼續閱讀
如何用Rust程式語言產生HTML文件的大綱(Outline)? 2020 年 8 月 28 日 Magic Len Rust 一個定義良好的HTML標題結構除了能讓訪客更輕鬆地瀏覽網頁之外,也能夠幫助搜尋引擎更精確地理解HTML文件的內容,提高網站的搜尋排名。要如何使用Rust程式來產生HTML文件的標題大綱(Outline)呢? 繼續閱讀
使用Ubuntu Server架設MySQL伺服器,並於PHP程式中存取MySQL資料庫 2020 年 8 月 25 日 Magic Len Linux、 研究分享、 網路相關 MySQL是一個開源的關聯式資料庫管理系統(Relational Database Management System, RDBMS),適合用來架設網站。PHP是一種適合用於網站開發的腳本式程式語言,彈性度高,可以直接被嵌入HTML文件中。 繼續閱讀
使用Ubuntu Server透過Nginx伺服器執行PHP程式 2020 年 8 月 18 日 Magic Len Linux、 研究分享、 網路相關 Nginx是一個免費開源且穩定高效的Web伺服器程式,擁有反向代理以及負載平衡的功能,經常作為最前端的伺服器。PHP是一種適合用於網站開發的腳本式程式語言,彈性度高,可以直接被嵌入HTML文件中。Nginx可以透過FastCGI去執行PHP程式,且內建FastCGI快取功能。 繼續閱讀
使用Ubuntu Server架設Nginx伺服器 2020 年 8 月 11 日 Magic Len Linux、 研究分享、 網路相關 Nginx是一個免費開源且穩定高效的Web伺服器程式,擁有反向代理以及負載平衡的功能,經常作為最前端的伺服器。 繼續閱讀
用動態規劃解決問題:零壹背包問題(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)是一種解決問題的技巧,主要被用來優化那些「記不住自己過去曾解出來的答案所以只好重複再解」的演算法,讓它們可以「記憶」已經找出來的答案,從而不斷利用,以大大降低時間複雜度(從指數級降到線性)。 繼續閱讀