<?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/2020/feed</link><description>多元化原創文章，內容包羅萬象，有程式語言、網站應用、軟體介紹、硬體介紹、作業系統、旅行遊記、專題採訪、益智問題、文學創作，以及作者們的知識分享和作品分享。</description><language>zh-TW</language><lastBuildDate>Sun, 7 Jun 2026 02:44:26 +0000</lastBuildDate><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>8</sy:updateFrequency><sy:updateBase>1970-01-01T00:00+00:00</sy:updateBase><item><title>如何在Rust程式中判斷字元是不是中文、日文或韓文字元？</title><link>https://magiclen.org/unicode-blocks</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="">
在處理Unicode字串的時候，CJK字元經常需要當作特例來處理。Rust的字串雖然是採用UTF-8編碼，但是它並沒有內建Unicode Block清單，無法查詢字元所屬的Unicode Block，也就不能判斷一個字元是不是中文、日文或韓文字元了。沒辦法，只能自己做啦！]]></description><category>Rust</category><category>Rust</category><category>unicode-blocks</category><guid>https://magiclen.org/unicode-blocks</guid><pubDate>Tue, 17 Nov 2020 20:00:18 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何在Rust程式中判斷兩個檔案的內容是否相同？</title><link>https://magiclen.org/same-content</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的標準函式庫並沒有內建像這樣的比對檔案內容的功能，要另外實作才行。]]></description><category>Rust</category><category>Rust</category><category>same-content</category><guid>https://magiclen.org/same-content</guid><pubDate>Thu, 12 Nov 2020 20:00:10 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何使用程式語言來產生數字分頁導覽列？</title><link>https://magiclen.org/paginator</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="">
在製作網頁或是應用程式的圖形使用者介面時，如果需要顯示比較大量的資料，通常製作「換頁」、「分頁」功能。但是若是做了這樣的功能，就必須要讓使用者能夠有方法進行「跳頁」的動作。要讓使用者能夠在圖形介面上進行跳頁，比較簡單的方式就是弄個下拉式選單把所有頁碼列出來讓使用者選，或者乾脆放上一個文字輸入方塊直接讓使用者自行輸入要查詢的頁碼。當然，比較潮的方式還是弄一個數字分頁導覽列(Pagination Ba...]]></description><category>Rust</category><category>JavaScript</category><category>JavaScript</category><category>Rust</category><category>TypeScript</category><category>paginator</category><guid>https://magiclen.org/paginator</guid><pubDate>Tue, 10 Nov 2020 20:00:17 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何在Rust程式語言中將元素安全地插入至已排序好的集合結構中？</title><link>https://magiclen.org/sorted-insert</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程式語言雖然有內建BTreeSet結構體，可以保證插入至該結構中的元素是有經過排序的。但BTreeSet是一個Set，無法儲存邏輯上相同的資料，所以在一些情況下我們還是需要用比較單純的Vec結構或是其它的資料結構來儲存已排序的資料。]]></description><category>研究分享</category><category>Rust</category><category>Rust</category><category>sorted-insert</category><guid>https://magiclen.org/sorted-insert</guid><pubDate>Thu, 5 Nov 2020 20:00:27 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>用Rust程式語言實作的「wpautop」函數</title><link>https://magiclen.org/html-auto-p</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="">
Wordpress有提供一個便利的函數─wpautop，它能夠利用換行字元來對HTML內容加上「&lt;p&gt;」或是「&lt;br&gt;」標籤，讓我們在後台直接用HTML語法撰寫文章的時候，不必手動加上「&lt;p&gt;」或是「&lt;br&gt;」標籤，這也讓HTML變得比較容易閱讀，不過這個函數還是有它的問題(用了一堆正規表示式、會產生大量字串、可能在錯誤的位置插入標籤)就是了。在Rust程式語言中，如果也想要用這樣的功能，要怎麼做...]]></description><category>Rust</category><category>WordPress</category><category>Rust</category><category>html-auto-p</category><guid>https://magiclen.org/html-auto-p</guid><pubDate>Tue, 3 Nov 2020 20:00:54 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>Rust程式的編譯優化(opt-level、lto、codegen-units、inline的差異)</title><link>https://magiclen.org/rust-compile-optimize</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="">
在建置Cargo程式專案的時候，我們可以輕易地使用「cargo build」或是「cargo build --release」指令，來對開發(development)或是發佈/部署(deployment)的目的做區分。「cargo build」編譯出來的二進制檔案沒有經過最佳化，而且會啟用「#[cfg(debug_assertions)]」屬性，來使用偵錯(debug)相關的程式碼；「cargo ...]]></description><category>研究分享</category><category>Rust</category><category>Rust</category><guid>https://magiclen.org/rust-compile-optimize</guid><pubDate>Fri, 30 Oct 2020 04:00:49 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何讓Rust的函式庫或是應用程式輸出日誌(log)？</title><link>https://magiclen.org/rust-log</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="">
撰寫日誌(logging)是除錯(debug)和事件分析時經常會使用的方式。Rust生態圈有log這個crate，針對訊息重要性(等級)提供了不同的巨集讓函式庫或是應用程式輸出日誌(log)，不過它並沒有限定日誌最終會被輸出到哪，Rust開發者在引入有用到log這個crate的函式庫後，可以自行決定日誌的輸出方式。]]></description><category>研究分享</category><category>Rust</category><category>Rust</category><category>env_logger</category><category>pretty_env_logger</category><category>simplelog</category><guid>https://magiclen.org/rust-log</guid><pubDate>Tue, 27 Oct 2020 20:00:19 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>使用Ubuntu Server架設Redis伺服器，並於PHP程式中存取Redis資料庫</title><link>https://magiclen.org/ubuntu-server-redis-php</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2020/10/shot-16-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2020/10/shot-16-220x162.png 1x, https://magiclen.org/wp-content/uploads/2020/10/shot-16-440x324.png 2x, https://magiclen.org/wp-content/uploads/2020/10/shot-16-660x486.png 3x" alt="">
Redis是一個開源的NoSQL資料庫，以一個key對應一個value的方式並配合記憶體(RAM)來儲存資料，效能要比關聯式資料庫還要好很多，可以在許多程式語言上使用。Redis的value除了字串(string)型態之外，另外還有幾種比較特殊的結構，包括set、zset、list和hash，並提供了多種方式來操作這些欄位。]]></description><category>研究分享</category><category>網路相關</category><category>Linux</category><category>Linux</category><category>NoSQL</category><category>phpRedisAdmin</category><category>Redis</category><category>Ubuntu</category><category>Ubuntu Server</category><category>資料庫</category><category>ss (指令)</category><category>curl</category><guid>https://magiclen.org/ubuntu-server-redis-php</guid><pubDate>Thu, 22 Oct 2020 12:00:24 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何連線到遠端的Linux + Redis伺服器？</title><link>https://magiclen.org/redis-remote</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2020/10/shot-30-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2020/10/shot-30-220x162.png 1x, https://magiclen.org/wp-content/uploads/2020/10/shot-30-440x324.png 2x, https://magiclen.org/wp-content/uploads/2020/10/shot-30-660x486.png 3x" alt="">
Redis預設並不允許遠端裝置的連線，而為了要能夠讓它允許遠端連線，就必須要進行一些額外的設定。]]></description><category>研究分享</category><category>網路相關</category><category>Linux</category><category>Linux</category><category>Redis</category><category>ss (指令)</category><guid>https://magiclen.org/redis-remote</guid><pubDate>Tue, 20 Oct 2020 12:00:24 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>如何用FFmpeg串接影音？</title><link>https://magiclen.org/ffmpeg-concat</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2016/01/shot-06-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2016/01/shot-06-220x162.png 1x, https://magiclen.org/wp-content/uploads/2016/01/shot-06-440x324.png 2x, https://magiclen.org/wp-content/uploads/2016/01/shot-06-660x486.png 3x" alt="">
FFmpeg全名是Fast Forward MPEG(Moving Picture Experts Group)，為開源的影音多媒體處理框架，可以進行影音的解碼、編碼、編碼轉換、混合、抽取、串流和濾鏡，無論影音格式是從哪個地方出來的，從過去到現在的影音格式它幾乎都能夠支援。FFmpeg當然也能夠輕鬆辦到影片和聲音的串接，在特定條件下甚至還不需重新編碼呢！]]></description><category>研究分享</category><category>軟體介紹</category><category>FFmpeg</category><category>影音</category><guid>https://magiclen.org/ffmpeg-concat</guid><pubDate>Thu, 15 Oct 2020 12:00:09 +0800</pubDate><dc:creator>Magic Len</dc:creator></item></channel></rss>