phalcon framework的 session 與 persistent 差異
簡單地說就是 persistent 物件不能跨 class 存取,而 session 物件可以。
簡單地說就是 persistent 物件不能跨 class 存取,而 session 物件可以。
phalcon 的架構中,所有的 controller 預設是繼承 ControllerBase (app/controller/ControllerBase.php) 而來,而所有的 request route 都會先經過 beforeExecuteRoute。所以,如果要把 Web UI 登入後所有操作都要檢查 session id, 而且系統同時提供 api 供其他 application 使用,那這樣就可以在 ControllerBase 中實作 beforeExecuteRoute 做檢查。
LINQ是 Microsoft 在 .Net Framework 3.5 起推出的技術,尤其用在 data collection query 相當的方便。雖然執行速度比起自己用迴圈下去寫要來得慢,但是程式碼可以大幅度減少讓維護變得簡單許多。
在大部分情況下安裝預設版本都可以正常無痛完成,但有時候就是會遇到不一樣的情況。
其實是因為這幾天phalcon 4 正式 release,然後自己不小心讓系統全部更新,然後就爆炸了,所以只好來降版本。
預設 gcp instance 是只能用 ssh key based 登入,而如果沒有幫 root 帳號(或者要執行 rsync 的帳號)產生 ssh key,那等於無法使用 rsync 這個命令。
主要透過 sshpass 套件去做類似密碼輸入的動作。
如果是單一一台主機透過 certbot 要用 letsencrypt 這個免費的 ssl 憑證服務的話,其實並不難,以 ubuntu 16.04 搭配 apache 的話會像這樣 而 Amazon AWS 的 Route53 服務有提供很好用的 geo-based dns 功能,簡單來說就是指定來自哪個區域的 reqeust 要由哪個 ip 負責處理。但因此 certbot 預設的 dns challenge 就不能正常運作,導致無法順利申請 letsecrypt 的 ssl 憑證。 實際上只要使用 –dns-route53 參數就可以了。 $ sudo certbot certonly –dns-route53 -d YOUR_DOMAIN_NAME 不過預設 certbot 安裝的時候不會安裝 dns-route53 這個 plugin,所以要自行安裝,而安裝的指令也很簡單,如下。 $ sudo pip install certbot_dns_route53==0.31.0 […]
2019年初發生的,還是來記錄一下。主要是因為gitlab升級之後,舊版的v3 api已經被移除,所以導致jenkins gitlab plugin無法使用。
用 http auth 時,如果要避開某些 url 不做檢查(例如API)。