如何寫程式計算時間和日期的差距? 2023 年 1 月 24 日 Magic Len 研究分享、 Rust、 演算法、 JavaScript 有時候我們會需要寫程式去計算兩個時間點的差距,以求得年齡、經過了多少的時間,或是否還在某個期限之內等等的資訊。日(day)與時、分、秒的差距很好算,因為它們是固定的時間(不考慮閏秒)。但年、月就不一樣了,一個月可能有28至31天,一年可能有365或366天,我們無法直接將兩個時間點(的時間戳記)相減之後去除上一個固定的單位(例如拿相差的秒數去除以2592000秒)來算出隔了多少年、月,硬是要這麼算... 繼續閱讀
如何寫程式判斷閏年並計算一個月有幾天? 2023 年 1 月 3 日 Magic Len Go、 Java、 Rust、 JavaScript 我們在小學階段都會學到平年(common year)和閏年(leap year)的判斷方式,以及這兩種年份是差在前者的二月有28天,後者則是有29天。所以平年整年一共有365天;閏年整年一共有366年。這是身為一個地球人的基本常識,但在小學的時候,老師可能只會告訴我們把西元年份的數字除以4,如果可以整除,那麼這年就是閏年,否則是平年。老師說的也不能說是錯的,只是不太完整,實際上,閏年的正確判斷方式... 繼續閱讀
[LeetCode]費氏數(Fibonacci Number) 2022 年 12 月 31 日 Magic Len 程式解題、 NodeJS、 Rust 費氏數通常使用F(n)函數來形成數列,稱為費氏數列。在這個數列中,每個數字都是前兩個數字的和,最前面的兩個數字為0和1。給定n,計算F(n)。 繼續閱讀
如何讓 JavaScript 程式等待(睡眠)一段時間? 2022 年 12 月 27 日 Magic Len 研究分享、 JavaScript 雖然在撰寫程式的時候,在大部份的情況下我們都想要讓程式執行速度愈快愈好。但有時候在寫測試程式或是爬蟲時,我們會希望讓程式等待一段時間再繼續執行,以模擬I/O延遲或是真人操作延遲的效果。不過JavaScript並沒有直接提供讓執行緒睡眠(sleep)的功能,要怎麼模擬出sleep函數呢? 繼續閱讀
[LeetCode]漢明距離(Hamming Distance) 2022 年 12 月 24 日 Magic Len 程式解題、 NodeJS、 Rust 兩個整數的不同對應位元的數量,即為漢明距離。給定兩個整數,「x」和「y」,回傳它們的漢明距離。 繼續閱讀
解決 apt upgrade 某些套件不能被升級的問題 2022 年 12 月 22 日 Magic Len Linux 有時候我們在Debian或是其衍生的Linux發行版上安裝或是升級套件之後,會看到有一些套件被保留下來,出現「The following packages have been kept back」訊息,此時再使用「apt upgrade」指令也無法升級它們。這是因為「apt upgrade」是最安全的升級套件的指令,如果被升級的套件在升級後需要安裝額外的套件,或是需要移除掉現有的套件時,「apt ... 繼續閱讀
如何在 Linux 上使用 Oracle Instant Client? 2022 年 12 月 20 日 Magic Len Linux、 軟體介紹 想要連上Oracle資料庫,需要先安裝Oracle資料庫的客戶端程式在作業系統環境中。Oracle資料庫的客戶端有分為「Oracle Client」和「Oracle Instant Client」兩種,前者是完整的Oracle資料庫的客戶端程式和工具,很大一包,需要進行安裝的動作;而後者則拆分出了多個函式庫和執行檔,直接從官網上下載下來解壓縮就可以使用。如果我們只是希望Oracle資料庫的應用程式... 繼續閱讀
[LeetCode]單獨存在的數字(Single Number) 2022 年 12 月 17 日 Magic Len 程式解題、 NodeJS、 Rust 給定一個非空的整數陣列,除了其中一個元素之外,其它的元素都重複出現了一次。找出單獨存在的那個元素。 繼續閱讀
JavaScript到底會把哪些字元當作是空白字元? 2022 年 12 月 15 日 Magic Len 研究分享、 JavaScript JavaScript可以使用正規表示式的「\s」來匹配空白字元,但究竟有哪些字元會被當作空白字元呢?在JavaScript中,全形空白「 」也算是空白字元嗎?這篇文章將會給各位解答。 繼續閱讀
在Java和JavaScript中,字串的字數就等於字元數量嗎?錯! 2022 年 12 月 13 日 Magic Len 研究分享、 Java、 JavaScript 在Java和JavaScript中,我們經常會使用字串(String)提供的「length」成員(member)來抓取這個字串的字數。由於Java和JavaScript並不像Rust或是Golang程式語言這樣會直接抓到字串在經過編碼之後的位元組數量,而是會得到字元的數量,所以我們很直覺地就會在Java或JavaScript用這樣的方式來計算字串的字數。 繼續閱讀