餐廳老闆問我吃不吃蝦,覺得懶就說:我不吃超過四隻腳的東西。
為 Blogger 自訂網域加上 HTTPS
拖了很久沒整理資料,由於 Chrome 68 版之後,都會將使用 HTTP 協定的網站標示為不安全,所以大家還是記得更新一下手上 web server 的設定吧。
Blogger 之前使用「自訂網址」功能時,並不支援 HTTPS,現在工程團隊已找到解決方法,按照下面步驟就可以將 Blogger 上的網站加上 HTTPS 憑證。
先進入 Blogger 後台管理頁面,點選左方選項:「設定」=>「基本」。
接下來找到關鍵字「HTTPS」:
將「HTTPS 可用性」改為「是」。儲存後 Blogger 便會幫你的網誌建立 HTTPS 憑證,之後網站連結就可以使用「https://」開頭了。
如果你有注意到的話,其實 Blogger 是使用 Let’s Encrypt 幫你的網站加上 HTTPS 憑證的:
注意事項:
- 建立 HTTPS 憑證大概會需要 15 分鐘左右,這段期間網站透過 HTTPS 可能無法正常開啟
- 將「HTTPS 重新導向」改為「是」以後,所有使用 HTTP 連線的使用者,會自動被轉去使用 HTTPS
- 改用 HTTPS 以後,網頁內容中使用到的圖片連結,也盡可能使用 HTTPS 的 URL (請見備註)
PHP array_keys() 會自動轉換資料型態
給定一個 array:
$list = [
'200' => 'OK',
'404' => 'not found',
'500' => 'internal server error',
];
使用 array_keys() 取得 keys 以後,key 的資料型態若可以被轉為 int 則會被自動轉換:
$keys = array_keys($list);
// array(3) {
// [0]=>
// int(200)
// [1]=>
// int(404)
// [2]=>
// int(500)
// }
由文件中可以看到,透過第三個參數「$strict」可以要求保留原始資料型態,但無法避開第二個參數「$search_value」。所以第三個參數基本上是放好看的 (WTF)
如果要處理的資料是比較敏感的,建議在 key 前面加個 prefix,或是取得 keys 以後再手動轉換資料型態。
WD 紅標 硬碟壞軌
手上一個 24H online 的 WD 紅標 NAS 專用硬碟壞軌,好家在當初有組 RAID 1,下班後馬上抽了一個 offline 的硬碟回替換。
讓我笑不得的是壞掉的硬碟,保固在二天前過期,有陰謀的感覺 XD
查了一下之前的記錄,當初購買同一批的硬碟,另一個硬碟在去年就掛了 (保固期內)。現在感覺比較能穩定運作的廠牌好像只剩下 HGST,但聽說這個牌子準備要收掉納入 WD 牌下,以後真的不知道要挑哪個廠牌的硬碟了。
備註,硬碟型號:
- WD40EFRX
- NASware 3.0
PHP 的 Memcache 與 Memcached 函式庫無法共用資料
剛接觸的應該會被命名搞的一頭誤水,畢竟名字相同、不然就是幾乎相同 XD
負責提供記憶體讀寫快取的服務叫做 Memcached,這個服務和 PHP 八竿子打不著關係,就算你不是寫 PHP 也這樣可以使用他。
再來要說的是 PHP 底下的二個函式庫:Memcache 和 Memcached。這二個函式庫,主要是提供一個方法讓 PHP 連接前面提到的 Memcached 讀寫資料。另外要注意的是 Memcache 和 Memcached 函式庫雖然名字很接近,但卻是二個完全不同的函式庫,無法同時使用,只能二選一。
以下透過 psysh 實際操作,來看一下同時使用會發什麼事情。
使用 Memcache 寫入一筆資料:
>>> $m = new Memcache
=> Memcache {#201}
>>> $m->connect('localhost')
=> true
>>> $m->set('test', ['Hello', 'World'])
=> true
>>> $m->get('test')
=> [
"Hello",
"World",
]
再來使用 Memcahed 函式庫,連到 localhost 的 Memcached server 看看會發生什麼事:
>>> $d = new Memcached
=> Memcached {#198}
>>> $d->addServer('localhost', 11211)
=> true
>>> $d->getAllKeys()
=> [
"test",
]
>>> $d->get('test')
=> 0
可以看出這二個函式庫提供的 methods 看起來很接近,但是底層處理資料的方式不一樣,只能挑其中一個來使用。