Author:


更新 Let’s Encrypt 憑證

Posted by – February 19, 2016

先隨手筆記一下,幾個月前在自己的主機上安裝了 Let's Encrypt 的 SSL 憑證。他們家的憑證每隔一陣子就要 update 一次。

Let’s-Encrypt

紀錄一下更新的步驟:

$ service httpd stop # 停用原本的 http server

$ cd /xxx # 切換到 lets encrypt 所在的路徑

$ ./letsencrypt-auto certonly -t -d your.domain.com -m user@email.com --renew-by-default --agree-tos --agree-dev-preview

紅字部分請自行取代。如果有出現以下訊息,可以輸入 2

How would you like to authenticate with the Let's Encrypt CA?
-------------------------------------------------------------------------------
1: Apache Web Server - Alpha (apache)
2: Automatically use a temporary webserver (standalone)
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

跑完後記得重啟 http server,收工。

Mac OS El Capitan 10.11 開啟第三方 SSD Trim 功能

Posted by – February 19, 2016

因為幫 Mac mini 換裝了 SSD 硬碟,就會需要幫它啟動 TRIM 的設定。至於 TRIM 是什麼,可以參考這篇 OCZ SSD姿勢佳 – 什麼是TRIM指令?

disk-drive-mac-300x289

OS X 從 Yosemite 10.10.4 開始就允許使用者直接啟動 TRIM 的功能而不需要借助第三方軟體來實現,所以不必安裝軟體,在 terminal 輸入以下指令即可。

sudo trimforce enable

接著輸入管理員密碼,按兩次 y 就會開始進行系統設定。

Screen Shot 2016-02-19 at 11.56.33 PM

要注意的是系統設定完成後會自動重開機,在進行此作業前請先將其他應用都先關閉,以免悲劇。

製作 Mac OS El Capitan 10.11 開機安裝碟

Posted by – February 18, 2016

打算幫家裡那台 mac mini 升級 SSD 而需要做些前置工作,像是先做一顆 USB 安裝碟... 搜尋了一下方案,原來非常簡單啊!!

os_x_el_capitan_roundup More

Truncate all tables in Oracle database

Posted by – November 17, 2015

今天開發團隊終於決定要把開發與測試用的 Oracle 資料庫清空重建了。在長達一年多的開發時間裡,這台測試 DB 是非常重要的開發工具。但長久以來承受了各式各樣亂七八糟的資料,也難以保證測試結果是否符合預期,所以大夥決定將它清空。

不過 Oracle 自己的 GUI 管理工具 SQL Developer 真是頗為難用。
Oracle SQL Developer

想一次清空 (truncate) 是沒有全選 -> 右鍵 -> 清空 這麼方便的事。但是近百個 table 又不想一個一個清... 就下指令吧。

begin
  for t in (select table_name from user_tables)
    loop
      execute immediate ' truncate table  '||t.table_name;
    end loop;
end;

這樣完成清除資料表的任務。

How to disable phone number linking in Mobile Safari?

Posted by – November 4, 2015

同事問了這個問題,如何將 iOS webview 裡出現的電話連結移除,因為畫面中出現了不是電話的數字,卻被系統自動加上了電話連結。

有一個非常簡單的方法,在 HTML 檔案的 <head> 區段加一行宣告即可。

<meta name = "format-detection" content = "telephone=no">

這行宣告會停用所有的電話連結。若是反過想要在停用的情況下,加上例外,則可以自行宣告電話連結,語法如下:

<a href="tel:0932123456">0932123456</a>

主要就是用 tel: 關鍵字來達成。

Skype error on Windows 10 shutdown

Posted by – October 30, 2015

把主要的桌機升級到 Win10 後,自然也把一些常用的軟體裝上。其中 Skype 就是一款很不愛,但很常需要用的軟體。不過在安裝 Skype 後,每次 Win10 關機都會出現一個令人不悅的錯誤,訊息是 「The memory could not be read」。

2015-10-28 08.07.13

More

Laravel 5.0: 紀錄 SQL 指令

Posted by – August 22, 2015

在同事轉貼的一些文章裡翻到這篇记录运行时SQL语句,稍微修改一下,在我的 Laravel 5.0 測試站上實作。

文章中的第一步我就傻眼了,因為我的 php artisan list 裡面沒有 make:listener.... More

Javascript: 檢查生日是否成年

Posted by – August 17, 2015

接到一個開發需求,讓使用者填寫生日,然後用 Javascript 判斷是否滿二十歲。但是需要檢查到月和日... 總覺得有點懶。

Coding 發懶的時候,問 Stack Overflow 就對了....

function getAge(DOB) {
    var today = new Date();
    var birthDate = new Date(DOB);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }    
    return age;
}

總之先修改一下,寫了一個草稿試試。結果如下: More

Composer Update Fails due to Github Authorization

Posted by – June 8, 2015

自從用 Laravel Framework 做為主要的開發框架後,Composer update 就變成經常使用的指令了。不過在更新的時候偶爾會碰到要求輸入 Github token 的情況..

composer_updating

這個 token 要去哪生呢?

因為我每次都忘記,所以還是筆記下來。

如果有 Github 帳號的話,登入帳號,到 [Personal Setting] → [Personal access tokens],去產生一組就可以了。

github_personal_access_tokens

完成後將 token 貼在 composer 的畫面即可繼續更新。

Laravel: failed to open stream: Too many open files

Posted by – April 24, 2015

Office Worker with Mountain of Paperwork公司的 Team 開發的產品也越來越龐大了,API 的部份依賴 Laravel 內建整合的 PHPUnit 來進行自動化測試。

這回從 git repo 上拉了新的 code 後,照慣例跑一下 phpunit,然後就掛了...

PHP Warning: failed to open stream: Too many open files

好像沒見過這樣的訊息。Google 一下才知道是踩到了 Mac OS 檔案開啟上限的地雷。

$ ulimit -a # 這個指令可以看系統限制
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 256 # 這行
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 709
virtual memory          (kbytes, -v) unlimited

ulimit -n 1024 臨時改為 1024 就可以正常跑完測試了。一時好奇借了同事的電腦看看,都是 Macbook Air (with Yosemite),其他人的 open files 值是 2560 耶,為什麼我的只有 256 ??? 不解。