如何使用Rust程式語言實作出多國語言網頁? 2018 年 10 月 30 日 Magic Len Rust 在實作多國語言網頁的時候,除了網頁後端程式需要擁有多國語言支援之外,前端程式也要跟著支援才行。怎麼說呢?假設有個支援中文、英文的網頁,我們在程式後端必須要想辦法判斷訪客所使用的語言來決定前端網頁到底要顯示中文還是英文。而在網頁上出現的文字可能會有兩種情形:第一種,文字是直接顯示在網頁上的,後端程式所得到的中文或是英文文字可以透過HTML模板引擎,直接將文字填入HTML中,顯示在網頁上。第二種,文字... 繼續閱讀
Rust程式語言可以單檔執行!如何把外部檔案和Rust程式編譯在一起? 2018 年 10 月 26 日 Magic Len 研究分享、 Rust 在開發應用程式的時候,常會需要在程式加入圖片、聲音等等的素材。以開發Web應用程式來說,還會需要用到很多HTML模板、CSS、JavaScript、語言檔、資料庫設定檔等等的素材檔案。這些素材檔案常因為放不進程式執行檔中,而只好另外放在檔案系統的某個目錄下,由程式在執行階段的時候再去讀取。像這樣程式和素材分開的存放的作法雖然很常見,但其實會引發許多問題。例如,在設定程式執行環境的時候,工序會變得複... 繼續閱讀
馬鈴薯到底有多重?馬鈴薯悖論 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均為質數。質數是數學上的難題,即便數學已經過幾千年的發展,卻也還是無法找出一個能完美產生出質數的函數。在學習寫程式的過程中,儘管在現實社會中幾乎用不到,我們還是會常常遇到判斷質數或是尋找質數的問題。那麼,究竟要如何利用程式來處理判斷質數和尋找質數呢? 繼續閱讀