如何在Linux作業系統上以一行指令下載GitHub倉庫(Repository)上最新發佈的檔案? 2019 年 6 月 19 日 Magic Len 研究分享、 網站應用 GitHub是全球最大的程式碼託管平台,許多軟體資源都可以在該網站上取得。有些人如筆者就喜歡除了把程式原始碼上傳到GitHub外,也把已經編譯好的二進制檔案也一併上傳到GitHub替每個倉庫(Repository)所提供的「Release」區,這樣一來不想自行編譯原始碼的使用者就可以直接到「Release」區中找到對應平台已經編譯好的二進制檔案來直接下載使用。 繼續閱讀
MuseScore 免費開源且跨平台的製譜軟體 2019 年 6 月 17 日 Magic Len 軟體介紹、 音樂心得 MuseScore是一款免放、開放原始碼,且支援多種平台和語言(包含繁體中文)的製譜軟體。除了MuseScore自己的樂譜檔案格式(.mscz, .mscx)外,它能夠開啟MIDI音樂檔案(.mid, .midi)或是MusicXML檔案來編輯。它還支援SoundFont,可以使用無限種樂器來演奏樂譜,或將樂譜輸出成高品質的音樂檔案。 繼續閱讀
Image Interlacer 批量交錯化常見的網路圖片格式 2019 年 6 月 15 日 Magic Len 作品分享、 軟體介紹 在撰寫網頁內容的時候,時常會需要在網頁上放置圖片。然而,圖片的資料量比文字內容還要大得多,也會需要比較大量的時間來進行網路傳輸。網頁瀏覽器會在圖片傳輸的過程中,一邊在取得圖片資料的同時,一邊把已取得的圖片資料解碼並顯示出來。在一般的情況下,圖片資料的順序是從左到右從上到下的,也因此網頁瀏覽器在下載並顯示圖片時,會是從上到下來顯示。如果圖片很大,網路頻寬不夠的時候,這張圖片可能會需要好幾秒才能下載好... 繼續閱讀
如何使Rust程式語言的starts_with和ends_with方法忽略大小寫? 2019 年 6 月 13 日 Magic Len Rust 在開發程式的時候我們時常會需要判斷某個字串的開頭或結尾是否符合某個字串,例如判斷網址是否以「http」或是「https」開頭時,或是判斷檔案名稱是否以「.jpg」或是「.png」結尾時。然而在上述提到的例子中,通訊協定或是檔案副檔名都是可忽略大小寫的,Rust程式語言雖然有提供eq_ignore_ascii_case方法,卻沒有提供starts_with_ignore_ascii_case和end... 繼續閱讀
如何使用Rust程式語言進行快速的字串或是任意資料的搜尋? 2019 年 6 月 11 日 Magic Len Rust 在一篇很長的文章或是一大串文字中找出自己想看到的段落是我們時常會需要做的事情,但是要如何有效率地讓電腦尋找文字中的文字是一件需要思考的事情,甚至有許多針對這個議題所提出的研究論文。字串搜尋演算法的好壞,在複雜的文件內容下,對搜尋時間的影響是非常深遠的。字串搜尋除了能夠正確搜尋一段文字內的特定字串外,還可以用來搜尋龐大的任意資料,因為任何的資料都可以藉由數位編碼轉成只有數字的字串,如一段原始的聲音,... 繼續閱讀
如何使用Rust程式語言來處理CIDR? 2019 年 6 月 8 日 Magic Len Rust CIDR(Classless Inter-Domain Routing, 無類別域間路由)是用來區分IP網段十分好用的方法,之所以會被稱為「無類別」,是相對於過去將IPv4分為Class A~E這五類的方式,CIDR則是直接以IP位址的前綴來分類網路,要多長有多長、要多短有多短,十分自由。Rust程式語言的標準函式庫雖然有內建IPv4和IPv6的結構體,但充其量也只能拿來表示IP位址與進行類型的判... 繼續閱讀
隱藏的Google搜尋技巧整理,讓您在使用Google搜尋的時候更加得心應手! 2019 年 6 月 3 日 Magic Len 研究分享、 網站應用 Google搜尋大概是現代人幾乎每天都會使用到的網路服務,任何稀奇古怪的問題只要在Google搜尋列中輸入關鍵字,再按下Enter鍵之後就能找到解答。然而有時候我們在問Google大神問題時,它不會一下子就把我們想要看到的答案找出來,而是可能需要再經過數次搜尋之後,才會搜尋到能讓我們滿意的結果。事實上,Google搜尋除了能用空格把想找的關鍵字隔開之外,還提供了許多額外的搜尋條件,使用者可以自行決... 繼續閱讀
任意精度計算機(bc)網頁版 2019 年 6 月 1 日 Magic Len 作品分享、 網站應用 「bc」是Unix-like作業系統通常會內建用來進行任意精度計算的指令,可以透過撰寫簡單且類似C語言的數學腳本來計算數學。例如輸入「scale=4;9/8」,可以得到「1.1250」的輸出。 繼續閱讀
基數排序(Radix Sort)演算法,可以依據多個鍵值來排序的演算法 2019 年 5 月 30 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 基數排序(Radix Sort)演算法是可以利用多個鍵值來排序資料的演算法。排序還需要多個鍵值?有時候當然會需要啦!像是要排序檔案時,可以先依照檔案名稱排序後,再依照檔案大小來排,如此一來,整體上來看這些檔案,會是以檔案大小來排序,而相同檔案大小的檔案則是會依照檔案名稱來排序。基數排序法可以將整數的各個位數當作是鍵值,來進行線性時間的排序,比起會依照k(要排序的資料可能的值的數量)愈大而愈吃空間的... 繼續閱讀
桶排序(Bucket Sort)演算法,利用運算式將資料分類、排序後,再合併起來的排序演算法 2019 年 5 月 26 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 桶排序(Bucket Sort)演算法是先將大量資料分類成少量資料後,再進行排序的演算法。可以透過簡單的運算式來完成資料的分類,在最好的情況之下,資料可以被完全打散,此時的時間複雜度就會是一個線性時間。 繼續閱讀