如何在Rust程式語言中將元素安全地插入至已排序好的集合結構中? 2020 年 11 月 5 日 Magic Len 研究分享、 Rust Rust程式語言雖然有內建BTreeSet結構體,可以保證插入至該結構中的元素是有經過排序的。但BTreeSet是一個Set,無法儲存邏輯上相同的資料,所以在一些情況下我們還是需要用比較單純的Vec結構或是其它的資料結構來儲存已排序的資料。 繼續閱讀
用Rust程式語言實作的「wpautop」函數 2020 年 11 月 3 日 Magic Len Rust Wordpress有提供一個便利的函數─wpautop,它能夠利用換行字元來對HTML內容加上「<p>」或是「<br>」標籤,讓我們在後台直接用HTML語法撰寫文章的時候,不必手動加上「<p>」或是「<br>」標籤,這也讓HTML變得比較容易閱讀,不過這個函數還是有它的問題(用了一堆正規表示式、會產生大量字串、可能在錯誤的位置插入標籤)就是了。在Rust程式語言中,如果也想要用這樣的功能,要怎麼做... 繼續閱讀
Rust程式的編譯優化(opt-level、lto、codegen-units、inline的差異) 2020 年 10 月 30 日 Magic Len 研究分享、 Rust 在建置Cargo程式專案的時候,我們可以輕易地使用「cargo build」或是「cargo build --release」指令,來對開發(development)或是發佈/部署(deployment)的目的做區分。「cargo build」編譯出來的二進制檔案沒有經過最佳化,而且會啟用「#[cfg(debug_assertions)]」屬性,來使用偵錯(debug)相關的程式碼;「cargo ... 繼續閱讀
如何讓Rust的函式庫或是應用程式輸出日誌(log)? 2020 年 10 月 27 日 Magic Len 研究分享、 Rust 撰寫日誌(logging)是除錯(debug)和事件分析時經常會使用的方式。Rust生態圈有log這個crate,針對訊息重要性(等級)提供了不同的巨集讓函式庫或是應用程式輸出日誌(log),不過它並沒有限定日誌最終會被輸出到哪,Rust開發者在引入有用到log這個crate的函式庫後,可以自行決定日誌的輸出方式。 繼續閱讀
使用Ubuntu Server架設Redis伺服器,並於PHP程式中存取Redis資料庫 2020 年 10 月 22 日 Magic Len Linux、 研究分享、 網路相關 Redis是一個開源的NoSQL資料庫,以一個key對應一個value的方式並配合記憶體(RAM)來儲存資料,效能要比關聯式資料庫還要好很多,可以在許多程式語言上使用。Redis的value除了字串(string)型態之外,另外還有幾種比較特殊的結構,包括set、zset、list和hash,並提供了多種方式來操作這些欄位。 繼續閱讀
如何連線到遠端的Linux + Redis伺服器? 2020 年 10 月 20 日 Magic Len Linux、 研究分享、 網路相關 Redis預設並不允許遠端裝置的連線,而為了要能夠讓它允許遠端連線,就必須要進行一些額外的設定。 繼續閱讀
如何用FFmpeg串接影音? 2020 年 10 月 15 日 Magic Len 研究分享、 軟體介紹 FFmpeg全名是Fast Forward MPEG(Moving Picture Experts Group),為開源的影音多媒體處理框架,可以進行影音的解碼、編碼、編碼轉換、混合、抽取、串流和濾鏡,無論影音格式是從哪個地方出來的,從過去到現在的影音格式它幾乎都能夠支援。FFmpeg當然也能夠輕鬆辦到影片和聲音的串接,在特定條件下甚至還不需重新編碼呢! 繼續閱讀
Linux作業系統的遊戲修改大師─GameConqueror 2020 年 10 月 13 日 Magic Len Linux、 軟體介紹 愛玩電腦遊戲的人應該都知道有一款知名的應用軟體叫做「遊戲修改大師(Game Master)」,它可以直接搜尋指定行程(process)的某個有著特定用途的記憶體位址(例如儲存角色所持金錢的記憶體位址),並且直接對該記憶體位址中的資料進行修改與鎖定。簡單來說,遊戲修改大師可以讓玩家的金錢、資源都變成無限的,等級、能力值也可以調整到最高。不過,遊戲修改大師是運行在Windows作業系統上的軟體,並不能... 繼續閱讀
如何在Rocket框架中使用JWT(JSON Web Token) + JWS(JSON Web Signature)? 2020 年 10 月 8 日 Magic Len 研究分享、 Rust 一個網站要辨識訪客主要會使用session、cookie-based session或token這三種方式,JWT(JSON Web Token)顧名思義就是屬於token的辨識方式。使用JWT來辨識訪者,伺服器可以不用去記憶訪客的狀態,因為JWT本身就可以儲存少量的額外資料,這點和cookie-based session相像,但JWT不僅僅能放在Cookie中傳送,也還可以置於HTTP標頭中或是... 繼續閱讀
如何使用Rust程式語言將字串安全地寫入HTML文件中? 2020 年 10 月 6 日 Magic Len Rust 在進行網頁開發的時候,可能會需要將使用者輸入的資料顯示在HTML網頁上,此時的網頁就會暴露在XSS(Cross-Site Scripting)攻擊的危險下。如果網頁不做任何檢查,將使用者輸入的資料嵌入至網頁中的話,輸入資料中的HTML語法就會直接影響到網頁,就會使得網頁爛掉或是藏有惡意的連結和腳本。為了讓使用者輸入的資料不會被當作是一般的HTML語法,需要將特定的保留字元進行跳脫處理,像是「<... 繼續閱讀