Enable php mail function on ubuntu
許多用 php 開發的軟體(比方說 wordpress)通常會用 mail() 來呼叫系統預設的 mail service 寄信,但 ubuntu 預設是沒有安裝,所以得自己來。
許多用 php 開發的軟體(比方說 wordpress)通常會用 mail() 來呼叫系統預設的 mail service 寄信,但 ubuntu 預設是沒有安裝,所以得自己來。
在之前一篇原本已經打算用 AWS Media Converter,畢竟價錢算是合理,但後來想到還有閒置的便宜 cloud instance (在 google cloud, 1vCPU, 1.7G ram, 50G HDD),不如來試試看在上面跑 ffmpeg performance。 在 ubuntu 18.04lts 上安裝 ffmpeg 其實還蠻容易的,apt-get install 就可以解決,而且 dependent libraries一個不漏。 用 aws media converter將 3xMB 的 1080p 檔案(bit rate約 110000kbps)切段之後大約剩下28MB,有稍微被壓縮過,花費大概 20秒時間。 。 如果要差不多的壓縮率,用 ffmpeg 指定 quality level 16 (參數 crf,參考https://superuser.com/questions/525928/ffmpeg-keeping-quality-during-conversion)。最終費時約 50 秒,比AWS是明顯地慢但不至於太誇張。 $ ffmpeg -i 1080.mp4 -map 0 -codec:v […]
雖然最後算算價格跟考慮使用情境應該不會採用這樣的 solution,但還是來記錄一下。
不確定在自行安裝的機器上面會不會這樣,但至少在 GCP (google cloud platform)上頭的 windows server機器會這樣,所以只好改一下設定。
主要是使用 gcsfuse 這個工具,還有就是使用 Google\Cloud\Storage\StorageClient 這個套件
因為安全性問題的關係,所以許多瀏覽器已經開始不支援 TLS 1.0 與 TLS 1.1,詳細資訊在這邊可以看到。
如果要自動化拿到最後 commit 的 branch (大概只有再 staging/testing server 上有這樣的需求),可以用 git command 加上 shell (sed, grep) crontab 來完成。當然,如果是 gitlab 的話還有 gitlab-runner 可以幫忙,但好像用 shell script 比較直覺一點(?)
簡單地說就是 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 相當的方便。雖然執行速度比起自己用迴圈下去寫要來得慢,但是程式碼可以大幅度減少讓維護變得簡單許多。