[LeetCode]移除已排序陣列中的重複元素(Remove Duplicates from Sorted Array) 2022 年 11 月 12 日 Magic Len 程式解題、 NodeJS、 Rust 給定一個遞增排序的「nums」整數陣列,用原地(in-place)的方式移除重複的元素,使每個元素都是獨特的,也就是只會出現一次。元素的相對位置在處理後應保持相同。 繼續閱讀
[LeetCode]兩兩加總(Two Sum) 2022 年 11 月 5 日 Magic Len 程式解題、 NodeJS、 Rust 給定一個「nums」整數陣列和一個整數「target」,回傳加總會等於「target」的兩個不同的元素的索引值。 繼續閱讀
寫程式算階乘,關於階乘的三兩事 2022 年 10 月 27 日 Magic Len 研究分享、 Go、 Java、 NodeJS、 數學邏輯、 Rust 正整數的階乘(Factorial)是小於或等於該數的所有正整數的乘積,若正整數為N,用N!來表示N的階乘。至於0!是階乘的特例,它被定義為1。階乘的運算具有遞迴(recursion)概念,常作為學習程式邏輯的材料,而這篇文章將會說明階乘相關的程式計算。 繼續閱讀
如何寫程式來做等值的貨幣或是物品的數量換算? 2022 年 7 月 28 日 Magic Len 研究分享、 Java、 NodeJS、 數學邏輯、 Rust 不同國家有不同的貨幣流通,不同的貨幣也會有不同的價值。其實也不只貨幣,任何物品,無論實體的或是虛擬的都一樣,只要價值可以被衡量,就可以被等值換算。講到錢就傷感情,以蘋果和橘子來舉例好了,假設2顆蘋果等值於3粒橘子,那麼8顆蘋果就會等值於12粒橘子。 繼續閱讀
如何判斷兩個浮點數是否相等?是否能整除?相除後餘數是多少? 2022 年 7 月 21 日 Magic Len 研究分享、 Java、 NodeJS、 Rust、 演算法 使用電腦去進行浮點數運算的時候,在某些條件下會出現顯而易見的誤差,而這樣的誤差,就會導致與浮點數有關的計算或是邏輯判斷出現問題。 繼續閱讀
如何用Rust程式語言計算字詞數量? 2022 年 5 月 26 日 Magic Len Rust Rust的字串是使用UTF-8編碼的,如果直接使用「str」或是「String」的「len」方法,會得到UTF-8資料的位元組的數量,而非字元數。因為在UTF-8編碼下,一個字元不一定是一個位元組,例如「4」會被編碼成「[52]」;「ß」會被編碼成「[195, 159]」;「中」會被編碼成「[228, 184, 173]」;「𩸽」(ㄌㄨㄥˇ)會被編碼成「[240, 169, 184, 189]」。... 繼續閱讀
如何使用Rust程式語言一邊讀取UTF-8資料一邊進行驗證? 2022 年 5 月 19 日 Magic Len Rust 在進行軟體開發的時候,我們可能會需要讓程式從外部讀取UTF-8資料再轉成程式語言內建的字串型別。其實UTF-8資料不必在完全讀取完後才去驗證其正確性,一邊讀取一邊驗證才是比較有效率的作法。 繼續閱讀
如何使用Rust程式語言將字串安全地寫入網址中? 2022 年 5 月 17 日 Magic Len Rust 在進行軟體開發的時候,可能會需要將使用者輸入的資料插入至網址(URL)中,但URL能夠使用的字元是有限制的,錯誤格式的URL有機會使得HTTP客戶端在訪問URL資源時出現問題,也可能會導致透過URL來傳遞的參數有誤。為了讓URL可以傳遞任意字元的資料,對於不合法的字元,我們需要將其進行編碼。例如在網址的查詢(Query)部份(「?」之後的部份),如果要在查詢的參數值中使用「&」字元,就不能直接使用... 繼續閱讀
如何在Rust程式專案中安全地使用外部或是專案目錄下的檔案? 2022 年 5 月 12 日 Magic Len Rust 在開發程式的時候難免會需要在程式中引入外部的檔案,為了方便管理我們也常會將這些檔案放置在程式專案目錄下。然而在程式碼撰寫程式路徑於執行階段讀取檔案時,檔案路徑的正確性需要等到執行階段的時候才會知道,就算寫錯了而找不到這個檔案,程式專案也是能成功通過編譯,這就會使得程式在執行階段有出現問題的可能。 繼續閱讀
如何在Rust程式中處理HTTP協定的ETag? 2022 年 5 月 10 日 Magic Len Rust ETag是HTTP提供的快取機制,可以讓伺服器利用簡單的字串比對,來驗證客戶端先前快取到的HTTP回應是否依然有效。它的流程主要是這樣:伺服器在回應資料的同時,於HTTP回應標頭中夾帶「ETag」欄位,這個欄位的值就相當於這個資料的ID,而客戶端在將HTTP回應快取下來之後,若需重新發送請求時,就會在HTTP請求中夾帶「If-None-Match」欄位,將原先快取到的ETag值再回傳給伺服器,讓伺... 繼續閱讀