馬鈴薯到底有多重?馬鈴薯悖論 2018 年 10 月 24 日 Magic Len 數學邏輯 馬鈴薯是一種含水量非常高的塊莖,若有一籮筐的馬鈴薯總重100公斤,而這些馬鈴薯共含有99%的水份,晚上將它們拿到外頭陰乾,到隔天早上馬鈴薯所含的水份變為98%,此時它們的總重量只剩50公斤。咦?好像哪裡怪怪的?水份只減少1%,馬鈴薯的重量怎麼只剩一半了呢? 繼續閱讀
如何在Rust程式語言中使用全域靜態變數? 2018 年 10 月 23 日 Magic Len 研究分享、 Rust 在使用C或C++程式語言的時候,我們有時會將變數宣告在函數之外,使其可以在任何時間於整個程式的任何scope下使用。使用Java程式語言的時候,也有時會替類別加上「static」的類別(靜態)欄位變數,甚至還可以在「static」區塊中,在類別初始化的時候順便對類別欄位進行初始化的動作。我們把這類宣告在函數、方法之外,且獨立於物件實體的變數稱為「全域靜態變數」(C/C++的全域變數有分能給其它原始... 繼續閱讀
如何使用Rust程式語言實作出多國語言程式? 2018 年 10 月 20 日 Magic Len Rust 現在是個國際化的時代,軟體程式如果能夠支援多國語言,想必可以有效地加快傳播速度。讓軟體程式擁有多國語言的能力有很多種方式,像是使用相依於作業系統環境本身所提供的Locale機制的工具,再搭配語言設定檔,例如GNU的gettext工具搭配PO和MO檔。或是使用能跨作業系統的獨立函式庫和語言設定檔,例如fluentd搭配其定義好的特殊語法的語言設定檔。當然也可以很單純地在程式內將所有的文字使用某種ke... 繼續閱讀
如何使用Rust程式語言來壓縮HTML? 2018 年 10 月 19 日 Magic Len Rust 透過網頁瀏覽器看到的網頁絕大部分是使用HTML進行控制編排的,由於HTML的語法結構定義較為寬鬆,網頁瀏覽器都有一定程度的容錯率,因此有可能某個100KB的HTML實際上可以等價於不到50KB的HTML,也就是說,多出來的資料量是完全不必要的,可是卻會增加更多的網路流量和時間成本。 繼續閱讀
怕滑鼠的聲音吵到別人嗎?羅技M331無線無聲滑鼠,安靜不惱人 2018 年 10 月 17 日 Magic Len 硬體介紹、 敗金開箱 在安靜的辦公室、圖書館,甚至是在會議、講座進行中使用電腦的時候,滑鼠發出的清脆響亮的按鍵聲難免會影響到其他人,而被人討厭。羅技推出的這隻M331無線滑鼠,標榜著省電、靜音,完全可以在上述的情境下,毫無顧忌地使用。 繼續閱讀
如何在Linux作業系統上安裝Docker? 2018 年 10 月 17 日 Magic Len Linux、 軟體介紹 Docker是一種輕量級的作業系統虛擬化解決方案,相較於傳統在Host作業系統上安裝Guest作業系統的硬體虛擬化方式,Docker可以直接在同一個Host作業系統核心上,以「容器」來區分應用程式的執行環境,也就是直接在系統層上完成虛擬化。因此Docker執行程式的效率通常會比傳統虛擬化的方式還要來得好,可以節省許多硬體資源。在實務上,Docker常被用來部署資料庫、Web應用程式等伺服器相關的程... 繼續閱讀
一片雪花的周長比地球直徑還要長,面積卻比一枚硬幣還要小!? 2018 年 10 月 16 日 Magic Len 數學邏輯 雪花是空中的水蒸氣凝華而成的,當空氣的溫度降低,水蒸氣變為超過飽和時,就會在以塵埃等物質作為結晶核,開始結晶,然後逐步長大形成雪花。單片雪花的大小通常在0.05至4.6毫米之間,重量則只有0.2~0.5克。如果我們想要計算雪花的周長和面積,該怎麼計算呢? 繼續閱讀
如何有效率地寫程式判斷質數和尋找質數? 2018 年 10 月 14 日 Magic Len 研究分享、 Go、 Java、 數學邏輯、 Rust、 JavaScript 一個質數(Prime)是一個大於1,且無法找到除了自己本身和1之外的自然數能整除它的自然數。舉例來說,2、3、5、7、11、13和17均為質數。質數是數學上的難題,即便數學已經過幾千年的發展,卻也還是無法找出一個能完美產生出質數的函數。在學習寫程式的過程中,儘管在現實社會中幾乎用不到,我們還是會常常遇到判斷質數或是尋找質數的問題。那麼,究竟要如何利用程式來處理判斷質數和尋找質數呢? 繼續閱讀
Clonezilla(再生龍)免費開源的系統備份軟體,支援Linux、MAC和Windows常見的檔案系統 2018 年 10 月 13 日 Magic Len Linux、 Windows、 macOS、 軟體介紹 Clonezilla(中文名稱為再生龍)是一款由台灣國家高速網路與計算中心所開發的可開機系統備份軟體,以Linux作業系統為基礎,支援Linux、Windows、macOS和BSD作業系統常見的ext2、ext3、ext4、btrfs、xfs、zfs、FAT32、exFAT、NTFS和HFS+等檔案系統。提供整顆硬碟或是整個分割區的備份與還原功能,並支援遠端操作和多種壓縮備份檔的格式。 繼續閱讀
如何使用Rust排序包含數字的字串? 2018 年 10 月 12 日 Magic Len Rust 在開發程式時,常會需要將含有數字的字串(例如:圖片1,圖片2,第1章,第2章)進行排序。程式語言通常會內建字串排序功能,但是在排序字串的時候大多會發生一個問題,那就是它們會「排錯」字串內的數字。舉個例子,若要排序螢幕截圖檔案的檔名,分別有shot-2, shot-1和shot-11這三張截圖,則檔名的正確排序的結果應為「shot-1, shot-2, shot-11」,但許多程式語言只會按照字串的... 繼續閱讀