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語法,需要將特定的保留字元進行跳脫處理,像是「<... 繼續閱讀
如何使用Rust程式語言產生隨機數值? 2020 年 10 月 1 日 Magic Len 研究分享、 Rust 在開發程式的時候常常會需要產生亂數,然而,電腦並不存在「真正隨機」的亂數,它只能夠透過一些機制,利用額外的參考數值(如時間等)來模擬出看起來是隨機的亂數。 繼續閱讀
Rust程式語言如何處理動態歌詞(LyRiCs)? 2020 年 9 月 29 日 Magic Len Rust LyRiCs(LRC)是一種資料格式,藉由在每行歌詞上加上時間戳記(timestamp),來讓音樂播放器可以在播放音樂的同時,同步將該時間點的歌詞顯示出來。筆者以前用Java實作過MP3標籤格式ID3和APE的函式庫,主要就是為了能夠處理動態歌詞。雖然現在沒什麼在用,但還是整理了以前寫過的程式碼,將動態歌詞的部份重新用Rust程式語言獨立實作出來。 繼續閱讀
Rust程式語言如何執行系統的指令或是外部可執行檔案? 2020 年 9 月 24 日 Magic Len 研究分享、 Rust 在設計程式的時候偶爾會需要依靠系統指令或是其它的程式來取得一些相關的訊息,或是進行一些特殊的處理,如查看系統的網卡介面,或是呼叫FFmpeg來實現影音編碼的格式轉換。雖然這些工作基本上都可以靠Rust原生程式來自行實作,或是引用其它C/C++函式庫,但既然有已存在的指令和執行檔可以用,能省下許多開發時間,何不去用呢? 繼續閱讀
Rust程式語言如何在「trim」一個字串的同時去改變該字串? 2020 年 9 月 22 日 Magic Len Rust Rust程式語言的String物件有提供「trim」方法,可以用來去除字串頭尾的空白字元,不過這個方法會回傳字串切片(&str),而不會去更動到原來的String物件。不過在少數情況下,我們還是希望原來的String物件可以真正被「trim」。 繼續閱讀
用「async / .await」撰寫 Rust 並發程式 2020 年 9 月 17 日 Magic Len 研究分享、 Rust 用「async / await」語法來撰寫並發與並行程式是現代程式語言流行的方式,比起傳統開啟新的執行緒來完成並發處理工作的目的,「async / await」可以在同一個執行緒下達到同樣的目的,非常適用於當並發處理的工作並不重的時候,能夠省下建立執行緒所產生的開支(overhead)。 繼續閱讀
如何用FFmpeg將連續的圖片轉成影片? 2020 年 9 月 15 日 Magic Len 研究分享、 軟體介紹 FFmpeg全名是Fast Forward MPEG(Moving Picture Experts Group),為開源的影音多媒體處理框架,可以進行影音的解碼、編碼、編碼轉換、混合、抽取、串流和濾鏡,無論影音格式是從哪個地方出來的,從過去到現在的影音格式它幾乎都能夠支援。當然,我們也可以用它來將連續的圖片編碼成影片。 繼續閱讀
如何清除Nginx的反向代理快取和FastCGI快取? 2020 年 9 月 10 日 Magic Len 作品分享、 網路相關、 軟體介紹 Nginx是一個免費開源且穩定高效的Web伺服器程式,擁有反向代理以及負載平衡的功能,經常作為最前端的伺服器。當它用作反向代理伺服器或是PHP網頁伺服器時,無論是「proxy_pass」還是「fastcgi_pass」,均有提供快取的功能。然而,免費版本的Nginx並沒有內建刪除快取的機制(早期Nginx免費版本可以使用「proxy_cache_purge」、「astcgi_cache_purge... 繼續閱讀