如何用Rocket處理multipart/form-data的資料? 2019 年 7 月 9 日 Magic Len Rust 在開發Web應用程式的時候,我們常會需要透過POST請求來取得客戶端上傳的檔案資料,這時候的HTTP主體通常就會使用「multipart/form-data」格式。然而,Rocket框架並未原生支援「multipart/form-data」的資料,但使用起來限制重重,不太方便。所以這篇文章會介紹一個替代方案來處理「multipart/form-data」的資料。 繼續閱讀
Rocket入門指南 第三章:HTTP回應(Response) 2019 年 7 月 7 日 Magic Len 研究分享、Rust 到目前為止,我們已經知道一個路由處理程序的函數可以選擇不回傳任何值,或是選擇回傳一個字串或一個字串切片。在這篇文章中,將會介紹Rocket框架所提供的多種不同的型別,來讓我們的路由處理程序能夠回應(respond)更多類型的資料。 繼續閱讀
Rocket入門指南 第二章:路由(Routing)與請求(Request)的處理 2019 年 7 月 5 日 Magic Len 研究分享、Rust 一個Web框架最基本的功能除了提供HTTP伺服器之外,還需要進行HTTP請求(request)的路由(routing)。Rocket在這方面套用了Rust程式語言提供的程序式巨集功能,使我們可以很簡單地使用「get」、「put」、「post」、「delete」、「head」、「patch」和「options」等屬性來快速做出屬於該HTTP請求方法的路由處理程序(handler)。另外,我們也可以在... 繼續閱讀
Rocket入門指南 第一章:認識Rocket Web框架(Web Framework) 2019 年 7 月 1 日 Magic Len 研究分享、Rust Rocket是一個使用Rust程式語言的Web框架,在伺服器端運行,任何人都可以用它來輕易地開發出高彈性、高可用性以及擁有型別安全特性的Web應用程式。這個系列文章將會帶您一步步了解Rocket框架的使用方法。 繼續閱讀
Rust的原子(Atomic)型別與記憶體順序(Memory Ordering) 2019 年 6 月 29 日 Magic Len 研究分享、Rust Rust程式語言在1.34之後的版本中開始正式提供完整的原子(Atomic)型別了。所謂的原子是指一系列不可被上下文交換(Context Switch)的機器指令,這些機器指令組成的操作又稱為原子操作(Atomic Operation)。在多CPU核心的環境下,當某個CPU核心開始執行原子操作時,就會先暫停其它CPU核心對記憶體的操作,以保證在原子操作執行的過程中,記憶體內容不會受到其它CPU核心... 繼續閱讀
如何在Linux上將應用程式變成開機可自動執行,且保證在崩潰之後還能自動重啟的服務? 2019 年 6 月 27 日 Magic Len Linux、研究分享、網路相關 由於網路伺服器可能會因各種天災人禍或是因為需要進行系統更新而必須重新開機,因此在部署網路相關的服務時,我們應該要確保網路服務可以在伺服器重新開機之後也跟著自動啟動。再來,網路伺服器可能會遭遇到各種意外狀況,而導致程式執行出錯,造成程式崩潰(crash),一旦提供服務的應用程式崩潰了,就無法再繼續處理後續進來的請求,因此有個能夠保證服務能夠在崩潰或是被關閉之後自動重啟的機制也是很重要的。在Linux... 繼續閱讀
mprober 同時支援命令列介面(CLI)和網頁介面,並提供HTTP API的Linux伺服器探針 2019 年 6 月 25 日 Magic Len Linux、作品分享、網路相關、網站應用、軟體介紹 自從筆者接觸Rust程式語言以來,大大小小的程式都是使用Rust程式語言來進行開發。在Web伺服器管理方面,由於伺服器環境已經不再需要安裝PHP、Node.js、Python等網站相關套件,因此也沒有一個好用的、可在本機或是遠端偵測伺服器狀態的工具能夠使用,索性就自己用Rust程式語言來開發一個追求效能,並針對Linux伺服器來運行的探針──M Prober(MagicLen Prober)。 繼續閱讀
如何使用Rust程式語言進行圖片的資訊查看、高品質縮放、交錯化與格式轉換? 2019 年 6 月 23 日 Magic Len Rust Rust程式語言雖然已經發展了好幾年的時間了,但對於圖片處理還是沒有好用的以純Rust或是純Rust+libc來開發的函式庫,雖然在crates.io上有image這個套件,但它的格式支援度還很有限。因此為了讓Rust程式能夠擁有強大的圖片處理能力,現階段還是必須使其與ImageMagick等歷史悠久的C語言函式庫來進行綁定,才能實現出功能完整且效能優良的圖片處理程式。 繼續閱讀
如何使HTML網頁在斷字時斷在我們想要的位置上? 2019 年 6 月 21 日 Magic Len 研究分享、HTML 在使用HTML編寫網頁的時候,如果是使用英文撰寫,一旦單詞很長,當能夠顯示單詞的寬度不夠時,就會衍生出斷字的問題。要如何讓HTML把字斷在我們想要的位置上呢? 繼續閱讀
如何在Linux作業系統上以一行指令下載GitHub倉庫(Repository)上最新發佈的檔案? 2019 年 6 月 19 日 Magic Len 研究分享、網站應用 GitHub是全球最大的程式碼託管平台,許多軟體資源都可以在該網站上取得。有些人如筆者就喜歡除了把程式原始碼上傳到GitHub外,也把已經編譯好的二進制檔案也一併上傳到GitHub替每個倉庫(Repository)所提供的「Release」區,這樣一來不想自行編譯原始碼的使用者就可以直接到「Release」區中找到對應平台已經編譯好的二進制檔案來直接下載使用。 繼續閱讀