AWS S3 刪除大量檔案

AWS S3 Bucket Lifecycle Permanently Delete

由於早期的專案有段時間是拿 AWS S3 來存放 access log,而且當初的設計是一筆 request 就會有一筆 log,導致 S3 裡面放了超多的細碎檔案,每個月單就儲存的費用就頗驚人,每個檔案又小於 256KB,如果到 Lifecycle 裡面設定 Archive to the Glacier Storage Class,AWS 會提示檔案太小放到 Glacier 可能費用會更高。

AWS S3 Glacier Transitioning Smaller Objects to Glacier May Increase Costs

[Ansible] 將 public key 加入 known hosts

SSH RSA key fingerprint

在使用 Ansible 部署時,常常會需要使用到 git clone 或 scp 等方式,透過 ssh 去另一台主機抓取專案程式碼或檔案,平常如果是手動在一台全新的機器第一次使用 ssh 連線,通常會跳出詢問對話:

$ git clone git@github.com:SarsTW/Learn-Git-in-30-days.git
Cloning into 'Learn-Git-in-30-days'...
The authenticity of host 'github.com (192.30.252.120)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?

Synology NAS RAID 6 保護能力

2 disks failed

前陣子在 Synology NAS 借測機上建立了 RAID 6,測試完之後,將整組硬碟拿掉兩顆後,剩下硬碟全數直接裝入新機器中,透過 http://find.synology.com 找到新 NAS 並重新安裝 DSM 後,整組 RAID 6 會直接出現在 DSM 的磁碟群組內,雖然少了兩顆硬碟,整組 RAID 還能讀寫,Synology 也會評定 RAID 處於「堪用」狀態,當好驗證了 RAID 6 具備兩顆硬碟失效的資料保護,不過還是要儘快更換硬碟並進行 RAID 修復就是了。

防禦性程式設計(defensive programming)與安全程式設計(secure programming)

Defensive

找資料的時候剛好看到這篇:What is the different between if (‘value’ == $var) and if ($var == ‘value’) in PHP?

if ('value' === $var)

if ($var === 'value')

主要在問說上面兩個 PHP 的判斷式裡面,將常數與變數分別放在三個(或兩個)等號的前或後的差別:

申請 Azure Files 並透過 NFS 在 Ubuntu Linux 上掛載儲存體

Azure Files Preview

目前 Azure 的儲存體只能透過指定的 Blobs、Tables 或 Queues 方式存取,但是這些方式在 Linux 上無法以慣用的掛載(mount)方式將儲存體拿來使用,只能在虛擬機器上,透過連接磁碟的方式,建立一個虛擬硬碟,接著再自行分割、格式化,缺點就是這個虛擬硬碟是跟著某一台虛擬機器上,如果要跟虛擬機器共用,需要自己架設 NFS 等方式共用,而且單一虛擬硬碟的最大空間限制在 1TB 以下,稍嫌不足。

三種不同領域的創作抄襲

這兩天手機遊戲界最熱門的消息就是「暴雪對《刀塔傳奇》違反著作權法及商標法提起刑事告訴」這篇官方公告,標題直接點出「著作權法」以及「商標法」,被告的是台灣的代理商「樂檬科技有限公司」,且是提起「刑事告訴」。

而在 3/19 國外的新聞 Courthouse News 才指出《刀塔傳奇》的開發商莉莉絲在美國聯邦法院對《英雄無畏(Heroes Charge)》的開發商 UCool 違反著作權。