<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"><channel><title>MagicLen</title><link>https://magiclen.org/2019/08/feed</link><description>多元化原創文章，內容包羅萬象，有程式語言、網站應用、軟體介紹、硬體介紹、作業系統、旅行遊記、專題採訪、益智問題、文學創作，以及作者們的知識分享和作品分享。</description><language>zh-TW</language><lastBuildDate>Thu, 16 Apr 2026 01:39:20 +0000</lastBuildDate><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>8</sy:updateFrequency><sy:updateBase>1970-01-01T00:00+00:00</sy:updateBase><item><title>如何將Rocket框架用到的Handlebars模板與Rust程式編譯在一起？</title><link>https://magiclen.org/rocket-include-handlebars</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png 1x, https://magiclen.org/wp-content/uploads/2018/04/rust-440x324.png 2x, https://magiclen.org/wp-content/uploads/2018/04/rust-660x486.png 3x" alt="">
Rocket的「rocket_contrib」套件雖然有提供Template結構體，可以套用Handlebars模板來回應HTML資料，但是這些模板檔案必須要和程式執行檔分開來儲存才行，所以如果想要實現單檔執行的Web應用程式，就需要靠其它的方式來使用模板引擎。]]></description><category>Rust</category><category>Rust</category><category>Handlebars</category><category>Rocket</category><category>rocket-include-handlebars</category><guid>https://magiclen.org/rocket-include-handlebars</guid><pubDate>Sat, 31 Aug 2019 04:00:37 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何將Rocket框架回應的靜態檔案與Rust程式編譯在一起？</title><link>https://magiclen.org/rocket-include-static-resources</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png 1x, https://magiclen.org/wp-content/uploads/2018/04/rust-440x324.png 2x, https://magiclen.org/wp-content/uploads/2018/04/rust-660x486.png 3x" alt="">
Rocket的「rocket_contrib」套件雖然有提供StaticFiles結構體，可以直接將它的實體註冊給Rocket，使Rocket能夠提供靜態檔案(如JS、CSS、圖片檔案等)，但是這些檔案必須要和程式執行檔分開來儲存才行，所以如果想要實現單檔執行的Web應用程式，就需要靠其它的方式來實作程式。]]></description><category>Rust</category><category>Rust</category><category>Rocket</category><category>rocket-include-static-resources</category><guid>https://magiclen.org/rocket-include-static-resources</guid><pubDate>Wed, 28 Aug 2019 20:00:27 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何用Rocket框架回傳JSON格式的資料？</title><link>https://magiclen.org/rocket-json-response</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png 1x, https://magiclen.org/wp-content/uploads/2018/04/rust-440x324.png 2x, https://magiclen.org/wp-content/uploads/2018/04/rust-660x486.png 3x" alt="">
Rocket的「rocket_contrib」套件雖然有提供Json結構體可以作為路由處理程序的函式的回傳值型別，來回傳JSON格式的資料，但實際用起來卻不是很方便。]]></description><category>Rust</category><category>Rust</category><category>Rocket</category><category>rocket-json-response</category><category>JSON</category><guid>https://magiclen.org/rocket-json-response</guid><pubDate>Mon, 26 Aug 2019 20:00:45 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何用Rocket框架來回應並下載MongoDB的檔案中心裡的檔案？</title><link>https://magiclen.org/rocket-mongo-file-center-download-response</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png 1x, https://magiclen.org/wp-content/uploads/2018/04/rust-440x324.png 2x, https://magiclen.org/wp-content/uploads/2018/04/rust-660x486.png 3x" alt="">
在先前的文章中，我們介紹了能讓Rocket框架直接回應MongoDB檔案中心裡的檔案的方法。如果想要讓網頁瀏覽器在收到伺服器傳來的檔案資料時，將其下載成檔案的話，可以參考這篇文章。]]></description><category>Rust</category><category>NoSQL</category><category>資料庫</category><category>Rust</category><category>Rocket</category><category>MongoDB</category><category>mongo-file-center</category><category>rocket-mongo-file-center-download-response</category><guid>https://magiclen.org/rocket-mongo-file-center-download-response</guid><pubDate>Sun, 25 Aug 2019 04:00:29 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何用Rocket框架來回應MongoDB的檔案中心裡的檔案？</title><link>https://magiclen.org/rocket-mongo-file-center-raw-response</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png 1x, https://magiclen.org/wp-content/uploads/2018/04/rust-440x324.png 2x, https://magiclen.org/wp-content/uploads/2018/04/rust-660x486.png 3x" alt="">
在先前的文章中，有介紹過用Rust程式語言搭配MongoDB來儲存檔案的方式，那麼要如何將其應用到Rocket框架中，使Rocket框架能夠回應檔案中心儲存的資料呢？]]></description><category>Rust</category><category>NoSQL</category><category>資料庫</category><category>Rust</category><category>Rocket</category><category>MongoDB</category><category>mongo-file-center</category><category>rocket-mongo-file-center-raw-response</category><guid>https://magiclen.org/rocket-mongo-file-center-raw-response</guid><pubDate>Thu, 22 Aug 2019 20:00:37 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何用Webpack來打包JavaScript、SCSS/CSS、HTML網頁和任意檔案？</title><link>https://magiclen.org/webpack</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2019/06/webpack-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2019/06/webpack-220x162.png 1x, https://magiclen.org/wp-content/uploads/2019/06/webpack-440x324.png 2x, https://magiclen.org/wp-content/uploads/2019/06/webpack-660x486.png 3x" alt="">
Webpack是JavaScript的模組建置工具，運行在Node.js上，它可以將零散的JavaScript檔案用各式工具優化並打包起來，加快網頁的載入時間。Webpack也並不限於用在JavaScript上，舉凡網頁有用到的靜態資源(如JS、CSS、圖片檔等)，甚至是HTML網頁，Webpack都有辦法打包。]]></description><category>研究分享</category><category>JavaScript</category><category>CSS</category><category>HTML</category><category>JavaScript</category><category>node.js</category><category>Webpack</category><category>SCSS</category><category>Sass</category><category>Font Awesome</category><category>PostCSS</category><category>Vue.js</category><category>Babel</category><guid>https://magiclen.org/webpack</guid><pubDate>Tue, 20 Aug 2019 12:00:16 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何用Rocket框架回應任意資料並套用HTTP的ETag機制？</title><link>https://magiclen.org/rocket-etagged-raw-response</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png 1x, https://magiclen.org/wp-content/uploads/2018/04/rust-440x324.png 2x, https://magiclen.org/wp-content/uploads/2018/04/rust-660x486.png 3x" alt="">
在先前的文章中有提到用Rocket框架回應任意資料的方式，在另一篇文章中也有介紹用Rocket框架來實現HTTP的ETag快取機制，要怎麼樣把這兩個東西結合在一起使用呢？]]></description><category>Rust</category><category>Rust</category><category>Rocket</category><category>rocket-etagged-raw-response</category><guid>https://magiclen.org/rocket-etagged-raw-response</guid><pubDate>Sun, 18 Aug 2019 20:00:03 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何用Rocket框架實現HTTP的ETag快取機制？</title><link>https://magiclen.org/rocket-etag-if-none-match</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png 1x, https://magiclen.org/wp-content/uploads/2018/04/rust-440x324.png 2x, https://magiclen.org/wp-content/uploads/2018/04/rust-660x486.png 3x" alt="">
ETag是HTTP提供的快取機制，可以讓伺服器利用簡單的字串比對，來驗證客戶端先前快取到的HTTP回應是否依然有效。它的流程主要是這樣：伺服器在回應資料的同時，於HTTP回應標頭中夾帶「ETag」欄位，這個欄位的值就相當於這個資料的ID，而客戶端在將HTTP回應快取下來之後，若需重新發送請求時，就會在HTTP請求中夾帶「If-None-Match」欄位，將原先快取到的ETag值再回傳給伺服器，讓伺...]]></description><category>Rust</category><category>Rust</category><category>Rocket</category><category>rocket-etag-if-none-match</category><guid>https://magiclen.org/rocket-etag-if-none-match</guid><pubDate>Fri, 16 Aug 2019 20:00:05 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何用Rocket框架回應任意資料？</title><link>https://magiclen.org/rocket-raw-response</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png 1x, https://magiclen.org/wp-content/uploads/2018/04/rust-440x324.png 2x, https://magiclen.org/wp-content/uploads/2018/04/rust-660x486.png 3x" alt="">
Rocket框架雖然可以提供靜態檔案，但有時候我們的資料來源並不是檔案，而可能是從資料庫撈出來的資料，或者是由程式動態產生出來的資料。雖然Rocket框架可以直接使用「Vec&lt;u8&gt;」來作為回應的型別，但使用起來並不是很方便，因為在回應二進制資料時，除非是讓特定程式存取的API，不然我們幾乎是一定會需要替回應的資料設定內容類型(Content-Type)的，否則網頁瀏覽器就不會知道伺服器回應的資料...]]></description><category>Rust</category><category>Rust</category><category>Rocket</category><category>rocket-raw-response</category><guid>https://magiclen.org/rocket-raw-response</guid><pubDate>Wed, 14 Aug 2019 20:00:30 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何讓Rocket框架回應給網頁瀏覽器的資料可以直接被下載成檔案？</title><link>https://magiclen.org/rocket-download-response</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2018/04/rust-220x162.png 1x, https://magiclen.org/wp-content/uploads/2018/04/rust-440x324.png 2x, https://magiclen.org/wp-content/uploads/2018/04/rust-660x486.png 3x" alt="">
一般網頁瀏覽器在開啟一些常用文件、圖片、影片等格式時，會直接在網頁瀏覽器上進行瀏覽或是播放，但有時候我們會希望使用者可以在點擊網頁連結之後，無論該連結的資源是什麼類型的檔案，使網頁瀏覽器都會跳出下載的視窗。]]></description><category>Rust</category><category>Rust</category><category>Rocket</category><category>rocket-download-response</category><guid>https://magiclen.org/rocket-download-response</guid><pubDate>Mon, 12 Aug 2019 20:00:48 +0800</pubDate><dc:creator>Magic Len</dc:creator></item></channel></rss>