解決Facebook無法抓到網頁圖片或縮圖的問題,如何正確設定Open Graph協定來顯示圖片? 2018 年 10 月 11 日 Magic Len 網站應用 分享網址到Facebook上時,Facebook會去讀取該網址所連到的網頁,並產生出標題、描述、縮圖等預覽訊息。然而,許多人在張貼網址到Facebook上時,常會遇到網頁圖片或是縮圖出不來的情形,然後就認為是Facebook出BUG了,才沒有成功抓到圖片。有些不在意的人覺得網頁圖片出不來就算了,但有些人則會嘗試使用Facebook提供的偵錯工具來不斷地嘗試重新取得網頁圖片,直到圖片正常出現為止。事... 繼續閱讀
射出去的箭是不動的?飛矢不動悖論 2018 年 10 月 10 日 Magic Len 數學邏輯 萬物的存在是靜止、不變且永恆的,變化與運動都只是幻覺,只是眼睛業障重罷了。試想一下,一支飛行的箭,它在飛行過程中的任何瞬間都有一個暫時的位置對吧?如果這個瞬間不動,下個瞬間不動,那麼這支箭是不是根本不會動? 繼續閱讀
如何取得Rust程式語言的列舉中變體的序數(ordinal),或是用序數來取得變體? 2018 年 10 月 8 日 Magic Len Rust 在開發程式的時候,我們很常需要產生出有獨立名稱,且為連續或是有規律的數值,用來當作介面的參數數值。舉例來說,有一個函數擁有10種工作模式,可以透過該函數的第一個參數來傳入數值0~9來決定要使用哪一種模式,為了方便輸入,且為了確保輸入的數值是在0~9,我們通常會使用一種特殊結構作為這個參數的型別,來代入數值0~9。如果程式語言支援列舉(enum),這個功能通常會直接使用列舉來實現。但是Rust程式語... 繼續閱讀
你的SSL真的安全嗎?SSL Server Test免費替你的SSL打分數 2018 年 10 月 7 日 Magic Len 網路相關、 網站應用 在西元2015年之後,我們所熟悉的HTTP網站已經被大多數人認為是不安全的網站了,許多瀏覽器甚至會直接針對沒有使用HTTPS協定的網站打上「不安全」的標籤,就連搜尋引擎也會降低HTTP網站的排名。因此讓網站支援SSL,並使用HTTPS協定進行傳輸,已經是再基本不過的事了。然而,網站用了HTTPS協定後,就一定是安全的嗎? 繼續閱讀
運動是不可能的?二分法悖論 2018 年 10 月 6 日 Magic Len 數學邏輯 一個物體要從一端移動到另一端,首先它必須要先到達路程的二分之一,而它為了要先到達路程的二分之一,它也必須先到達路程的四分之一。依此類推,物體要移動到某一個位置,它總是必須要先完成該路程的一半的路程,所以會有無限的路程要走。於是我們可以得到一個結論──物體要運動是不可能的事! 繼續閱讀
如何使用Rust程式語言進行Base64 URL的編碼(Encode)與解碼(Decode)? 2018 年 10 月 4 日 Magic Len Rust Base64是一種能將任意Binary資料用64種字元組合成字串的方法,而這個Binary資料和字串資料彼此之間是可以互相轉換的,十分方便。在實際應用上,Base64除了能將Binary資料可視化之外,也常用來表示資料加密過後的內容。然而,標準版本的Base64對於URL或是檔案路徑來說可能不是那麼的友善,因為編碼後的Base64資料可能有「+」或是「/」這兩種字元。為了解決這個問題,Base64... 繼續閱讀
如何使用Rust程式語言做資料大小的換算? 2018 年 10 月 2 日 Magic Len Rust 在進行程式設計的時候,有時會需要進行檔案大小或是資料大小的輸入與輸出,甚至會需要對其做一些運算。做這件事有什麼困難的嗎?我們應該都知道,8個位元是1個位元組(Byte),1000個位元組是1KB,而1000KB是1MB。在設計程式的時候,如果要將一個以位元組為單位的值,選擇適當的單位來輸出(例如1200位元組要輸出成1.20MB、5555555位元組要輸出成5.56MB)的話,就必須要多撰寫幾行程... 繼續閱讀
動得慢的物體永遠不會被動得快的物體追上?阿基里斯與烏龜的悖論 2018 年 9 月 30 日 Magic Len 數學邏輯 Achilles(中譯為阿基里斯、阿喀琉斯或阿基琉斯)是一個古希臘神話的英雄人物。不曉得各位有沒有聽過一個人體的組織──阿基里斯腱?這個「阿基里斯腱」就是「腳筋」,腳筋同時也是「阿基里斯」這位驍勇善戰、全身刀槍不入的英雄唯一的弱點,因此我們才稱腳筋為阿基里斯腱。既然我們認為阿基里斯是一個強壯的英雄,那麼究竟為什麼會有他無法追上烏龜的說法呢? 繼續閱讀
不同函式庫算出來的CRC數值不同?如何使用Rust程式語言計算正確的CRC? 2018 年 9 月 28 日 Magic Len Rust 循環冗餘校驗(CRC, Cyclic Redundancy Check)是一種簡單快速的雜湊函數,可以藉由比對資料傳輸或是儲存前後的循環冗餘校驗碼,檢測其是否有錯誤發生。能夠橫跨各領域應用的Rust程式語言,會有很大的機會需要使用CRC進行一些計算。可惜的是,Rust程式語言的標準函式庫並沒有提供CRC的演算法。那麼如果要使用Rust程式語言來計算CRC,該怎麼做比較好呢? 繼續閱讀
Rust程式語言如何解析含有點或點點的檔案路徑? 2018 年 9 月 26 日 Magic Len Rust 無論是Unix-like作業系統(如Linux、macOS)或是Windows作業系統的檔案路徑,皆有支援點(.)與點點(..)的功能。點(.)被用來表示「目前路徑的節點」或是「目前的工作目錄」,例如「/path/./to」或是「./path/to」;點點(..)則被用來表示「目前路徑的節點的上一層節點」或是「目前的工作目錄的上一層目錄」,例如「/path/../to」或是「../path/to」... 繼續閱讀