用 Docker 玩轉 PostgreSQL
最近學著使用 PostgreSQL 做些小應用,過程主要利用 Docker 幫忙建立 PostgreSQL 的執行環境,可說是相當方便,本篇就記錄幾則使用 Docker 玩轉 PostgreSQL 的筆記。
Posted on Jul 10, 2018 in 用 Docker 架設服務 by Amo Chen ‐ 2 min read
最近學著使用 PostgreSQL 做些小應用,過程主要利用 Docker 幫忙建立 PostgreSQL 的執行環境,可說是相當方便,本篇就記錄幾則使用 Docker 玩轉 PostgreSQL 的筆記。
Posted on Jul 10, 2018 in 用 Docker 架設服務 by Amo Chen ‐ 2 min read
從 iOS 9.2 之後, Apple 推出 Universal Link 作為取代 Deep Link 的 iOS 平台上重導向的技術。如果對 Deep Link / Universal Link 不熟的話,以下這個例子應該可以幫助認識 Deep Link / Universal Link 。
「在 iPhone 的 Safari 裡點擊 Instagram 的連結後,發現 iOS 自動開啟 iPhone 裡的 Instagram APP 」
Deep Link 與 Universal Link 就是用來連結網址與 APP 的技術,不過隨著時間的推移 Deep Link 將會越來越少,因此只要先知道 Universal Link 即可。
Posted on Jun 21, 2018 in 資訊技術探索 by Amo Chen ‐ 2 min read
Golang 內建 CSV 的檔案處理功能,本篇介紹 csv.Writer
及簡單的使用範例。
Posted on Jun 12, 2018 in Go 程式設計 - 初階 by Amo Chen ‐ 1 min read
Golang 內建 CSV 的檔案處理功能,本篇介紹 csv.Reader
及簡單的使用範例。
Posted on Jun 7, 2018 in Go 程式設計 - 初階 by Amo Chen ‐ 1 min read
VS Code 作為 Go 的 IDE 其實相當方便,但由於初學者多半對 GOPATH 或 launch.json 的設定仍處於半生不熟的情況,對於環境設定都會感到棘手,因此本文特別將過程陳列出來,以期大家都能夠開啟一段愉快的 Go 旅程。
Last updated on Mar 2, 2023 in Go 程式設計 - 初階 by Amo Chen ‐ 4 min read
Golang 內建提供 http.FileServer ,可以方便地透過 HTTP 存取檔案系統(file system),例如以下程式碼執行之後,就可以透過瀏覽器打開網址 http://localhost:8080
瀏覽 /usr/share/doc
資料夾內的檔案。
package main
import (
"net/http"
)
func main() {
http.ListenAndServe(":8080", http.FileServer(http.Dir("/usr/share/doc")))
}
Posted on Jun 4, 2018 in Go 程式設計 - 初階 by Amo Chen ‐ 2 min read
談 flock 之前,先來聊聊為什麼會需要 flock 。
如果有多個 Processes 同時對同 1 個檔案進行讀寫操作,很容易就會發生同步問題,這時候最簡單的解決的方法就是用個鎖( Lock
)確保同一時間只有 1 個 Process 可以對 1 個共用的檔案進行操作。
而 flock 就是幫忙建立 Lock 的一個機制,其原理是利用 1 個檔案作為鎖(Lock) , Process 要對某個檔案進行讀寫操作時,得先獲得鎖(Lock) 才能進行讀寫操作,其他沒獲得鎖(Lock)的 Process 則會被阻擋無法執行。
另一種常見的情況是為了確保 Crontab 內定期執行的程式同一時間只會有 1 個 Process 在執行,也會利用 flock 避免因為下一次定期執行時間到而又執行一個新的 Process 。
flock 除了可以用 flock
指令之外, Python 也內建提供 fcntl 模組幫我們建立/獲取 flock 鎖。
Posted on May 8, 2018 in Python 程式設計 - 高階 by Amo Chen ‐ 2 min read
在不進行任何 SSH 設定時,每次利用 SSH 連線到同一台遠端伺服器時就是建立一個全新的連線,所以相同的帳號密碼或者認證金鑰都得再認證一次,而遠端伺服器也必須為了維持這些連線而耗用系統資源。
而 SSH 有個設定稱為 ControlMaster
讓 SSH 連線使用者可以重複使用已建立好的連線,所以建立多個連線到同一台遠端伺服器時都能夠利用已經存在的連線(稱為 master connection),連帶的優點是不需要再認證一次,省下一些建立連線的時間與遠端伺服器的系統資源。
Posted on May 1, 2018 in SSH 設定 by Amo Chen ‐ 1 min read