AdSense

網頁

2023/12/31

今日風情 20231231

2023年12月31日星期日。

2023/12/30

2023/12/27

2023年底回顧

2023年快結束了,回顧今年展望明年。

2023/12/20

三陽 SYM MAXSYM 400 購買紀錄

紀錄SYM MAXSYM 400的使用和費用等。

今日風情 20231220

2023月12日20日星期三。

2023/12/16

今日風情 20231216

2023月12日16日星期六。

2023/12/10

2023/12/3

今日風情 20231203

2023月12日3日星期日。

2023/12/2

今日風情 20231202

2023月12日2日星期六。

2023/11/27

今日風情 20231127

2023月11日27日星期一。

2023/11/25

今日風情 20231125

2023月11日25日星期六。

2023/11/19

2023/11/16

ER-Model One-to-One關係中外鍵要放在哪?

ER-Model設計中,一對一(One-to-One)關係的外鍵(Foreign Key)要放在哪張表?

2023/11/11

今日風情 20231111

2023月11日11日星期六。

2023/11/9

AWS VPC 建立Site-to-Site VPN(透過Virtual private gateway)

在AWS console建立Site-to-Site VPN(透過Virtual private gateway)。

Mac Chrome 全螢幕部分區域無法點選的問題

最近發現Mac的Chrome在以全螢幕瀏覽時,有某些區塊無法點選的問題。

IPv4 私有網路IP位址 Private network ip address space

無知的我今天才知道原來有私有網路IP位址這件事。

2023/11/7

Mac 使用OpenSSL產生自簽憑證

Mac使用OpenSSL設定HTTPS連線的方式如下。。

2023/11/6

GCP gcloud CLI 更改project

GCP gcloud CLI更改目前使用的project。

GCP gcloud CLI 列出project

GCP gcloud CLI查看目前帳號可用的project清單。

GCP gcloud CLI 查看目前使用的project

GCP gcloud CLI查看目前使用的project的方式如下。

2023/11/5

Golang zerolog 範例

Go的三方log套件zerolog的使用範例。

今日風情 20231105 桃林鐵馬道

2023月11日5日星期日。

2023/10/31

今日風情 20231031

2023月10日31日星期二。

Golang uber Fx + Gin

Go語言依賴套件uber-go/fx搭配web框架Gin。

2023/10/30

Golang uber Fx 依賴注入套件 簡單範例

Go語言的三方依賴注入(Dependency Injection)套件uber-go/fx簡單範例。

Golang template 取得parent pipeline的值

Golang text/template可使用$符號存取父pipeline的物件。

Golang uber Fx 依賴注入套件 http Web範例

Go語言的三方依賴注入(Dependency Injection)套件uber-go/fx範例。

2023/10/29

今日風情 20231029

2023月10日29日星期日。

2023/10/28

2023/10/25

Golang 發送HTTP Request範例

Go使用內建的http發送請求範例。

Jenkins Freestyle project 設定GitLab觸發專案建置

Jenkins設定由GitLa觸發Freestyle專案建置的方式如下。

2023/10/23

Jenkins nvm: command not found

Jenkins在建置前端專案時,在執行Execute shell script中的nvm指令時,出現nvm: command not found錯誤。

Git Linux 全域.gitconfig 目錄路徑位置

Git全域設定檔global .gitconfig在Linux的預設位置在~/.gitconfig,為root帳號目錄。

2023/10/22

Linux 安裝 nvm

Linux安裝nvm的過程如下。

Git clone unable to access SSL certificate problem: unable to get local issuer certificate

使用git clone將專案從私有的GitLab抓取專案時,出現錯誤fatal: unable to access 'https://<gitlab_domain>/<project>.git/': SSL certificate problem: unable to get local issuer certificate

今日風情 20231022

2023月10日22日星期日。

2023/10/20

Golang 整數slice依大小排序

Golang對整數slice依大小排序的方式如下。

2023/10/18

Golang template range html table rows

Golang html/template使用range語法遍歷集合資料物件到HTML的table的row。

2023/10/17

Golang Functional Options Pattern簡介

在Golang的套件中常看一種稱為Functional Option Pattern的寫法,好處為建構物件時可彈性的設定需要的屬性。

Docker Alpine Linux 安裝繁體中文字型

在Docker的Alpine Linux容器中安裝繁體中文字型。

Postman 設定本地變數 set local variables

Postman發送請求所在Pre-request Script設定本地變數(local variables)。

2023/10/15

今日風情 20231015

2023月10日15日星期日。

2023/10/14

今日風情 20231014

2023月10日14日星期六。

2023/10/13

2023/10/11

Golang template range用法

Golang text/template使用range語法遍歷集合資料物件。

Golang template 模板簡單範例

Golang標準函式庫的模板(text/template)可以根據資料來將模板中的內容動態替換成不同的內容。

2023/10/10

使用 wkhtmltopdf 將HTML轉成PDF

wkhtmltopdf是一套可將HTML文件轉為PDF文件的命令工具(已停止更新)。下面是簡單用法。

今日風情 20231010

2023月10日10日星期二。

2023/10/8

今日風情 20231008

2023月10日8日星期日。

2023/10/7

今日風情 20231007

2023月10日7日星期六。

2023/10/5

Nginx 設定HTTPS加密連線

Nginx設定HTTPS連線的方式如下。

Chrome ERR_CONNECTION_REFUSED 307 Internal Redirect Non-Authoritative-Reason HSTS 無法連線HTTP網站

最近同事用Chrome連線公司內的開發網站時,例如http://abc.dev,發生ERR_CONNECTION_REFUSED無法連線的錯誤。

Nginx 設定負載平衡器 load balancer

Nginx設定簡單的負載平衡器(load balancer)的方式如下。

Nginx 修改預設首頁內容

Nginx修改預設首頁內容的方式如下。

2023/10/3

Nginx 建立靜態資源路徑

在Nginx建立存取靜態資源的路徑。

Nginx default_server作用

Nginx serverlisten指令的default_server作用。

Nginx 設定一個簡單的網頁伺服器

Nginx預設已經有一個80 port的網頁伺服器,下面另外設定一個81 port的網頁伺服器。

AWS EC2 Amazon Linux 2023 安裝Nginx

在AWS EC2,Amazon Linux 2023 AMI安裝Nginx。

2023/10/2

今日風情 20231002

2023月10月2日星期一。

2023/9/29

今日風情 20230929

2023年9月29日星期五。

2023/9/28

2023/9/27

Docker Nginx 反向代理(Reverse Proxy)簡單範例

Docker Nginx反向代理的簡單配置如下。

Docker Nginx 預設配置檔內容

Docker Nginx image版本1.25.2預設配置檔內容。

今日風情 20230927

2023年9月27日星期三。

2023/9/26

CentOS 安裝AWS CLI 2

在CentOS安裝AWS CLI 2命令列工具。

AWS EC2 CentOS 7 AMI

AWS EC2的CentOS 7 AMI。

2023/9/25

AWS 在EC2中以Docker執行ECR image應用程式

在AWS EC2執行個體中以Docker執行ECR private repository的應用程式image。

AWS 建立Go ECR image

建立一個簡單的Go網路應用程式,建置並部署為AWS ECR image。

AWS ECR 建立private repository

在AWS console建立ECR private repository。

2023/9/24

今日風情 20230924

2023年9月24日星期日。

2023/9/23

今日風情 20230923

2023年9月23日星期六。

2023/9/22

Golang 建立AWS Lambda function from ECR

Go以AWS提供的SDK aws-sdk-go-v2來從AWS ECR建立Lambda function。

AWS Lambda 建立Go Lambda function from ECR

在AWS console建立Lambda Go function,來源為ECR image。

2023/9/21

AWS 建立Go ECR image for Lambda function

建立可部署到Lambda的Go應用程式的ECR image。

2023/9/19

Golang 建立AWS Lambda function with input parameter

Go以AWS提供的SDK aws-sdk-go-v2來從AWS S3 Bucket建立可傳入參數的Lambda function。

Golang 建立AWS Lambda function from S3

Go以AWS提供的SDK aws-sdk-go-v2來從AWS S3 Bucket建立Lambda function。

Golang 調用AWS Lambda function

Go以AWS提供的SDK aws-sdk-go-v2來調用Lambda function。

Golang 建立AWS Lambda API client

Go以AWS提供的SDK aws-sdk-go-v2來取得操作Lambda資源的API client。

AWS Lambda 建立Go Lambda function

在AWS console建立Lambda Go function。

2023/9/17

2023/9/16

2023/9/15

Postman 設定回應值到環境變數 set response data into environment variables

將Postman發送請求所回傳的回應的payliad值設置到Pistman的環境變數(Environment)。

2023/9/14

今日風情 日月潭 雲品溫泉酒店 秋 202309

最近公司員旅,公司很大方安排了三天兩夜的日月潭旅行,在高檔的雲品溫泉酒店住了兩晚。

2023/9/10

2023/9/6

GCP SSH連線到VM instance

GCP SSH連線到VM instance的方式如下。

GCP Compute Engine VM instance 新增SSH key

GCP VM instance新增SSH key的方式如下。

2023/9/5

Golang 取得AWS產品價格資訊

Go以AWS提供的SDK aws-sdk-go-v2來取得AWS服務的產品價格資訊。

Golang 取得AWS Pricing ServiceCode

Go以AWS提供的SDK aws-sdk-go-v2來取得Pricing ServiceCode。

Golang 建立AWS Pricing API client

Go以AWS提供的SDK aws-sdk-go-v2來取得操作AWS Price List Service資源的API client。

2023/9/4

Golang 錯誤包裹 error Wrap Unwrap

Go 1.13開始支援error的包裹(Wrap)和拆包(Unwrap),簡單用法如下。

汽車美容 打蠟、鍍膜、包膜比較

簡單的汽車美容打蠟、鍍膜、包膜的比較。

Golang 架構分層間的資料傳遞

以Go語言表示架構外層(outer layer)與內層(inner layer)的資料傳遞。

2023/9/2

今日風情 20230902

2023年9月2日星期六。

2023/8/29

DBeaver 修正數值小數位精確度顯示錯誤

解決DBeaver顯示數值欄位的小數位精確度和實際不同的問題。

2023/8/28

Jenkins Host key verification failed

紀錄設定Jenkins部署專案時,碰到Host key verification failed問題的原因和解決方式。

Docker docker logs 只顯示最後n行

Docker的docker logs命令可使用--tail限制顯示的日誌行數。

2023/8/27

今日風情 20230827

2023年8月27日星期日。

2023/8/26

今日風情 20230826

2023年8月26日星期六。

2023/8/25

Fluentd Docker 試玩

本篇依照Fluentd官方教學來操作。

Docker 安裝PostgreSQL資料庫

Docker安裝並運行PostgreSQL資料誤的方式如下。

2023/8/24

Docker 檢視volume資訊

Docker檢視volume的方法如下。

Linux 建立多層目錄

Linux建立多層目錄例如foo/bar/baz的方法如下。

2023/8/21

AWS CLI查詢目前設定的Region

取得AWS CLI目前設定的region的方式如下。

Golang 如何實現覆寫方法

雖然Go語言並不是如Java的物件導向語言,沒有明顯的繼承關係,但仍可以利用介面(interface)和,嵌入欄位(embedded field)來達成類似覆寫(override)的效果。

2023/8/19

今日風情 20230819

2023年8月19日星期六。

2023/8/18

今日風情 20230818

早上還沒七點妹妹就爬起來要玩球。



準備去保母阿姨家了。









下班回到家陪妹妹玩積木。



妹妹現在會依顏色分類組裝積木。



2023/8/17

今日風情 20230817

2023年8月17日星期四。

2023/8/16

今日風情 20230816

2023年8月16日星期三。

2023/8/15

AWS GCP VPC HA VPN連線設定

AWS和GCP的VPC透過HA VPN(High Availability VPN)連線設定。

2023/8/14

今日風情 20230814

2023年8月14日星期一。

2023/8/12

今日風情 20230812

2023年8月12日星期六。

2023/8/10

Golang rune資料型態

Go的runeint32的別名,用來表示Unicodecodepoint(碼點/碼位),即代表字符碼的位置數值。

2023/8/6

今日風情 20230806

2023年8月6日星期日。

2023/8/5

2023/8/3

今日風情 20230803

2023年8月3日星期四。

2023/8/1

Linux CentOS Docker啟動出錯

CentOS安裝好Docker並設定daemon.json後,啟動出現錯誤。

Linux CentOS install docker

參考Docker官方文件安裝即可。

Linux 查看OS版本

在命令列輸入cat /etc/os-release可查看OS版本。

2023/7/31

今日風情 20230731

2023年7月31日星期一。

2023/7/30

今日風情 20230730

2023年7月30日星期日。

2023/7/29

今日風情 20230729

2023年7月29日星期六。

2023/7/24

今日風情 20230724

2023年7月24日星期一。

2023/7/23

2023/7/22

今日風情 20230722

2023年7月22日星期六。

2023/7/20

今日風情 20230720

2023年7月20日星期四

2023/7/17

Golang SAGA Orchestration Pattern 建立訂單練習

最近試著實作Microservices的SAGA Orchestration Pattern,以建立訂單和更新(扣減)庫存數量來練習。

微服務 SAGA Orchestration Pattern 建立訂單練習 循序圖

最近試著實作Microservices的SAGA Orchestration Pattern,以建立訂單和更新(扣減)庫存數量來練習,本篇為循序圖。

Golang goroutine leak by Mutex.Lock sync.runtime_SemacquireMutex block

今天發生系統卡住效能問題,發現原因是前陣子實作的WebSocket連線造成大量的goroutine未被釋放(leak)。

2023/7/15

今日風情 20230715

2023年7月15日星期六。

2023/7/14

Git log format輸出顏色

Git git log使用--format%C佔位符可控制輸出顏色。

Git 取得目前所在commit的hash

Git取得目前所在commit的hash。

Golang 取得AWS Account ID

Go以AWS提供的SDK aws-sdk-go-v2來取得Account ID。

今日風情 20230714

2023年7月14日星期五。

2023/7/13

今日風情 20230713

2023年7月13日星期四。

2023/7/12

今日風情 20230712

2023年7月12日星期三。

2023/7/11

Docker 安裝RabbitMQ

在Docker安裝並運行RabbitMQ的方式如下。

2023/7/10

Mac Apple M1 安裝Docker Desktop 2023

Mac Apple M1安裝Docker Desktop。

RabbitMQ Connection和Channel差別

RabbitMQ的Connection和Channel區別如下。

2023/7/9

今日風情 20230709

2023年7月9日星期日。

2023/7/8

今日風情 20230708

2023年7月8日星期六。

2023/7/7

Golang 狀態機函式庫 looplab/fsm使用

使用Go狀態機(有限狀態機,簡稱FSM(Finite-state machinet))函式庫。

2023/7/6

Golang strings.TrimLeft用法

Go的標準函式庫strings.TrimLeft用法如下。

Golang Swag @Param annotation格式

Go的swagger套件swaggo/swag@Param用法如下。

今日風情 20230706

2023年7月6日星期四。

HTTP 發送email的API要用哪種HTTP method

如果你要做一個發送email的API,那使用的HTTP method使用POST

2023/7/3

今日風情 20230703

2023年7月3日星期一。

2023/6/29

Golang 使用pprof監控系統效能 system profiling

Go內建的net/http/pprof套件可用來監控應用程式的資源利用狀況。

GCP 建立應用程式存取資源的Service account憑證

在GCP console建立給應用程式來存取GCP資源的service account憑證(credential)。

Linux Shell 命令前的反斜線\符號作用 backslash in command

有些Linix shell script的命令會在前面加個反斜線(backslash)\的作用如下。

2023/6/27

今日風情 20230627

2023年6月27日星期二。

2023/6/24

今日風情 20230624 台北二日遊 第二天

2023年6月24日星期六。端午節連假第三天,台北二日遊第二天。

2023/6/23

今日風情 20230623 台北二日遊 第一天

2023年6月23日星期五。端午節連假第二天,台北二日遊第一天

2023/6/22

今日風情 20230622 南門公園

2023年6月22日星期四,端午連假第一天。

2023/6/21

Golang 啟用GCP API服務

Go以Google API Client Libraries來啟用Google Cloud的API服務。

PostgreSQL 欄位唯一限制 unique constraint與unique index差異

PostgreSQL的unique constraint(唯一限制)與unique index(唯一索引)差別如下。

2023/6/20

Golang convert Slice to Map

Go slice轉成map的方式如下。

Golang 字串比較忽略大小寫 case insensitive string comparison

Go比要兩個字串若要忽略大小寫差異,即ABC和abc是相同的,可使用string.EqualFold

Golang 檢查IP是否在CIDR block

Go可使用net.IPNet.Contains檢查IP是否存在CIDR block的範圍。

Golang 檢查字串是否為有效的IP位址 check string is valid IP address

Go可使用net.ParseIP檢查字串是否為有效的IP位址,IPv4和IPv6皆可。

2023/6/19

Git tag 列出標籤清單以名稱排序 list tags order by name

Git列出以名稱排序的標籤(tag)清單的方式如下。

Golang 移除字串前後空白 trim string leading and trailing spaces

Go移除字串前後/頭尾空白字元的方式如下。

2023/6/18

Linux yum install安裝套件時自動回答yes

Linux使用yum安裝套件時,有時過程中會有一些yes/no的選項,若要自動直接回答yes,則加上參數-y

今日風情 20230618 鶯歌博物館水廣場

2023年6月18日星期日。

2023/6/17

SQL 程式中如何有效查詢多筆ID資料?

最近常被提醒的一個低級錯誤就是用for迴圈以ID去查詢多筆資料。

2023/6/16

AWS EC2 instance (Linux AMI) 啟動安裝Nginx

AWS EC2 instance (Amazon Linux 2023 AMI) 啟動時自動安裝好Docker及Nginx並運行。

AWS EC2 instance (Linux AMI)查看啟動時User Data的執行紀錄

查看AWS EC2 instance(Amazon Linux 2023 AMI)啟動時執行的User Data的執行紀錄。

AWS EC2 instance (Linux AMI) 啟動安裝docker

AWS EC2 instance (Amazon Linux 2023 AMI) 啟動時自動安裝好Docker並運行。

2023/6/14

Golang 取得字串的第一個字 get first char of string

Go取得字串的第一個字的方法如下。

AWS 建立Load Balancer (Application Load Balancer)

在AWS console建立Application Load Balancer(負載平衡器)。

AWS 建立Target Group (instance type)

在AWS console建立Load Balancer(負載平衡器)的Target Group(目標群組),類別為instances type。

AWS 建立Security Group

在AWS console建立Security Group(安全群組)。

2023/6/13

Linux ping 發送次數

Linux ping指定封包發送次數的方式如下。

AWS EC2 安裝Docker Nginx

在AWS EC2使用Docker來安裝Nginx。

Docker 安裝Nginx

在Docker container安裝並運行Nginx的方式如下。

AWS EC2 Linux AMI(Amazon Linux 2023) 安裝Docker

在AWS EC2 instance Linux AMI(Amazon Linux 2023) 安裝Docker。

2023/6/12

今日風情 20230612

2023年6月12日星期一。

2023/6/11

英文 transmit, transfer, transport, transit差別

Transmit, transfer, transport, transit四個意思類似的字,其差別如下。

今日風情 20230611

2023年6月11日星期日。

2023/6/10

今日風情 20230610

2023年6月10日星期六。

2023/6/9

轉載 [心得] (代po) 國泰世華工作經驗分享

本文轉載於PTT Soft_Job看板,文章代碼(AID): #1aWklKVb,原文連結

今日風情 20230609

2023年6月9日星期五。

2023/6/6

Mac 產生SSH金鑰 generate ssh key

在macOS產生SSH key(SSH金鑰)的方式如下:

2023/6/4

GCP gcloud CLI 查看IP address

GCP gcloud CLI查看project下的IP address的方式如下。

網路技術 IP前綴是什麼? What is IP prefix

IP Prefix(IP前綴),又稱Network Prefix(網路前綴),是用來表示一組IP的方式。以下皆以IPv4來介紹。

保險 宏泰人壽 穩贏的莊家

您有保險嗎?沒保險?老了、病了、殘疾、被車撞、飛機墜機、家裡失火,小孩還小怎麼辦?

新聞「片面認定免住院? 化療18萬保險不理賠 家屬怨:合法詐騙公司|TVBS新聞」。

保險就是拿錢給保險公司去炒房,然後理賠時要花錢和保險公司打官司拿回自己錢的活動,真是合法搶錢的好生意,兩邊賺。

英文 Syntax與Semantics

Syntax(語法)與Semantics(語意)的意思。節錄於「演算法筆記 - Language」。

今日風情 20230604

2023年6月4日星期日。

2023/6/3

今日風情 20230603

2023年6月3日星期六。

2023/6/1

2023/5/30

今日風情 20230530

2023年5月30日星期二。

2023/5/29

今日風情 20230529

2023年5月29日星期一。

AWS CLI 查詢AMI的名稱

使用AWS CLI查詢AMI ID的名稱。

Golang 跳脫格式化字串百分比符號 % escapse format string percent sign

Go格式化字串時(e.g. fmt.Printffmt.Sprintf)使用特殊符號如%v%s%d來填入變數。若格式化字串中需要%的實字(literal percent sign),則使用%%

2023/5/28

2023/5/27

2023/5/26

今日風情 20230526

2023年5月26日星期五。

2023/5/25

英文 建築的Hall和Lobby差別

英文的lobby和hall中文翻譯都是「大廳」,兩者差別如下。

2023/5/24

Redis Key冒號作用

Redis的key可以包含冒號(colon),作用為創造key的命名空間(namespace)。

Redis Key有區分大小寫 case sensitive

Redis的key是有區分大小寫/大小寫敏感的(case-sensitive)。

2023/5/22

Golang gocron job scheduler 排程簡單範例

Go使用gocron排程(job scheduler)函式庫執行排程作業。

2023/5/21

今日風情 20230521

2023年5月21日星期日。

2023/5/20

今日風情 20230520

2023年5月20日星期六。

2023/5/19

今日風情 20230519

2023年5月19日星期五。

Golang Slice轉Map convert slice to map

Go語言的Slice轉為Map的方式如下。。

GCP SDK API資源操作時找不到資源的錯誤訊息 resource operation not found error message

以GCP的SDK或API操作雲端資源時,找不到資源時回應的錯誤訊息。

2023/5/15

今日風情 20230515

2023年5月15日星期一。

2023/5/14

今日風情 20230514

2023年5月14日星期日。

2023/5/12

今日風情 20230512

2023年5月12日星期五。

Visual Studio Code Go No implementation found 錯誤

在VS Code編輯Go程式時,將游標移到介面方法名稱上按滑鼠右鍵選擇[Go to Implementations]要跳轉到實作方法時,在確實有實作方法卻跳出"No implementation found"訊息。

2023/5/10

AWS CLI 透過S3 bucket access point上傳檔案

使用AWS CLI透過S3 bucket的access pointt上傳檔案。

AWS CLI 透過S3 bucket access point取得物件

使用AWS CLI透過S3 bucket的access point取得object(物件,即檔案)。

AWS S3 bucket access point Object URL InvalidRequest - Please use Signature Version 4

在瀏覽器點選AWS S3 bucket access point的object的[Object URL]出現錯誤InvalidRequest,錯誤訊息The authorization mechanism you have provided is not supported. Please use Signature Version 4.

2023/5/9

AWS S3 bucket access point policy Resource 格式

AWS S3 bucket的access point的policy的Resource格式為。

arn:aws:s3:<REGION>:<ACCOUNT>:accesspoint/<ACCESS_POINT_NAME>/object/*

2023/5/8

Golang GORM 查詢資料是否存在

Go使用GORM ORM套件做查詢資料是否存在的方式如下。。

2023/5/7

今日風情 20230507

2023年5月7日星期日。

2023/5/6

AWS IAM policy JSON Version元素作用?

在撰寫AWS IAM policy時,例如S3 bucket policy的JSON,裡面的Version元素(element)的作用為說明目前的policy語言(policy language)的版本,目前固定填2012-10-17即可,只會有一個,同常是policy JSON的第一個元素。

今日風情 20230506

2023年5月6日星期六。

2023/5/4

今日風情 20230504

2023年5月4日星期四。

2023/5/3

今日風情 20230503

2023年5月3日星期三。

2023/5/2

今日風情 20230502

2023年5月2日星期二。

Golang 設定AWS S3 bucket policy

Go以AWS SDK aws-sdk-go-v2來設定S3 bucket policy。

Golang 建立AWS S3 bucket

Go以AWS SDK aws-sdk-go-v2來建立S3 bucket。

2023/4/30

2023/4/29

今日風情 20230429

2023年4月29日星期六。

2023/4/28

今日風情 20230428

2023年4月28日星期五。

2023/4/27

今日風情 20230427

2023年4月27日星期四。

2023/4/25

Git 復原/撤銷合併 undo merge commit

Git撤銷合併提交(merge commit)可使用git reset --hard <before-merge-commit-hash><before-merge-commit-hash>為合併前的commit。

Golang GCP VPC network private service connection新增allocated IP range

Go以Google API Client Libraries來在GCP VPC network的private service connection連線加入新的allocated IP range。

2023/4/22

今日風情 20230422

2023年4月22日星期六。

2023/4/21

GCP gcloud CLI 刪除VPC network private service connection與service producer的連線

GCP gcloud cli刪除VPC network的private service connection與service producer的連線。

2023/4/20

Golang 刪除GCP VPC network private service connection IP allocated range

Go以Google API Client Libraries來刪除GCP VPC network的private service connection的IP range。

Golang 取得GCP VPC network private service connection IP allocated range清單

Go以Google API Client Libraries來查詢GCP VPC network的private service connection的IP range列表。

Golang 建立GCP VPC network private service connection與service producer的連線

Go以Google API Client Libraries來建立GCP VPC network的private service connection連線到service producer。

GCP gcloud CLI 建立VPC network private service connection與service producer的連線

GCP gcloud cli建立VPC network的private service connection與service producer的連線。

Golang 建立GCP VPC network private service connection IP allocated range

Go以Google API Client Libraries來建立GCP VPC network的private service connection的IP range。

GCP gcloud CLI 建立VPC network private service connection IP range

GCP gcloud cli建立VPC network的private service connection的IP address range。

Golang 取得GCP VPC network

Go以Google API Client Libraries取得GCP VPC network

GCP VPC network private service connection簡介

GCP VPC的private service connection用來讓Google或三方服務(稱為service producers)透過內部IP位址與VPC內的資源如VM instance溝通,而不用透過外部IP來存取。

Golang 建立GCP VPC network

Go以Google API Client Libraries建立GCP VPC network

2023/4/19

GCP gcloud CLI 建立VPC network

GCP gcloud cli建立VPC network

GCP 建立VPC network

在GCP console建立VPC network。

Git 比較分支間的檔案差異 compare two branches files difference

Git比較目前分支與另一分支的檔案差異可用git diff --name-status <another-branch><another-branch>是另一個分支名稱。

Chrome HTTPS 你的連線不是私人連線 ERR_CERT_AUTHORITY_INVALID 錯誤

不知何種原因有時用Chrome上公司內部網站會出現「你的連線不是私人連線」錯誤訊息ERR_CERT_AUTHORITY_INVALID

2023/4/17

今日風情 20230417

2023年4月17日星期一。

AWS SDK API idempotency

AWS SDK的API有提供idempotency的特性。

2023/4/16

Golang Swagger enums標記

Go swagger使用enums標記欄位允許得值。

2023/4/15

今日風情 20230415

2023年4月15日星期六。

AWS Route table route destination不可重複

AWS Route table的route不可有重複的destination,新增重複的destination route會出現錯誤。

2023/4/14

今日風情 20230414

2023年4月14日星期五。

2023/4/12

今日風情 20230412

2023年4月12日星期三。

2023/4/10

系統設計 遠端資源狀態一致性問題 - 遠端資源A已建立但B建立失敗

系統設計 遠端資源狀態一致性問題 - 遠端資源已建立但本地紀錄更新失敗

在本地紀錄建立後(狀態為「建構中(building)」)並成功建立遠端資源,但更新本地記錄狀態為「已建立(created)」時更新失敗(e.g. 資料庫連線失敗)。



plantuml

@startuml
participant client
participant app
database    db
participant remote
skinparam sequenceMessageAlign center
skinparam ParticipantPadding 50

client ->> app : create request
activate app
app -->> client : accepted
app -> db : CREATE record\nwith state 'building'
activate db
db -->> app : success
deactivate db
|||
app -> remote : CREATE resource
activate remote
remote -->> app : success
deactivate remote
|||
app -[#red]>x db : UPDATE record state\n to 'created'
note right : transaction failed\n due to network failure
activate db
db -->> app : failed
deactivate db
app ->> client : failed message
deactivate app
note over db : record state remains 'building',\n but resources existed.
@enduml

同「資源已建立但系統失效」的處理。

且在本地服務的資料庫未回復正常以前,健康偵測應將應用程式功能關閉避免使用者持續操作發生重複的錯誤,「系統維護中請稍候再試」。

系統設計 遠端資源狀態一致性問題 - 本地記錄已建立但網路失效

遠端資源是指系統外的資源,例如另一個服務的資料,或是雲端資源等。

系統設計 遠端資源狀態一致性問題 - 資源已建立但系統失效

遠端資源是指系統外的資源,例如另一個服務的資料,或是雲端資源等。

系統設計 遠端資源狀態一致性問題 - 資源已建立但系統收到錯誤

遠端資源是指本地服務外的資源,例如另一個服務的資料,或是雲端資源等。

2023/4/9

UML 免費線上循序圖繪製工具 PlantUML

好用的免費線上循序圖(sequence diagram)繪製工具PlantUML

2023/4/8

今日風情 20230408

2023年4月8日星期六。

2023/4/6

Homebrew PostgreSQL 啟動狀態錯誤 status error 256

終端機執行brew services start postgresql啟動Homebrew安裝的PostgreSQL資料庫時狀態為error 256錯誤。

2023/4/5

今日風情 20230405

2023年4月5日星期三,清明連假第五天。

2023/4/3

今日風情 20230403 巧虎夢想樂園

2023年4月3日星期一,清明連假第三天。

2023/4/2

今日風情 20230402

2023年4月2日星期日,清明連假第二天。

2023 地政士考試科目

2023地政士考試科目。

2023/4/1

今日風情 20230401

2023年4月1日星期六。

2023/3/29

Linux 退出sudo su

在Linux終端機輸入sudo su切換到root身份,若要離開回到原使用者輸入exit即可。

AWS EC2 Amazon Linux AMI 安裝套件工具

在AWS EC2 instance的OS映像檔為Amazon Linux AMI安裝套件工具程式的方式如下。

2023/3/28

AWS VPC Subnet IPv4 CIDR block是否能重疊?

AWS VPC Subnet的IPv4 CIDR block不可重疊。

AWS VPC 設定private subnet EC2 instance由public NAT gateway連線網際網路

在AWS console設定private subnet的EC2 instance可透過public NAT gateway連接網際網路。

2023/3/27

AWS EC2 建立instance 20230328

AWS 啟用一個EC2執行個體(instance)。

AWS VPC 設定private subnet由public NAT gateway連線網際網路

在AWS console設定private subnet透過public NAT gateway連接網際網路。

AWS VPC 設定private subnet

在AWS console設定private subnet

AWS VPC 建立第二個subnet

在AWS console建立第二個VPC subnet。

AWS VPC 建立route table

在AWS console建立route table。

AWS VPC 建立public NAT gateway

在AWS console建立public NAT gateway

AWS VPC NAT gateway是什麼?

AWS VPC的NAT gateway是一個位址轉譯(Network Address Translation)服務,可把來源IP轉換成NAT gateway的IP。

2023/3/26

AWS VPC 建立Elastic IP

在AWS console建立Elastic IP

AWS VPC Elastic IP是什麼?

AWS VPC的Elastic IP可提供靜態的公開IPv4位址(static public IPv4 address)。

AWS VPC 設定public subnet

在AWS console設定public subnet以存取網際網路。

今日風情 20230326

2023年3月26日星期日。

2023/3/25

今日風情 20230325

2023年3月25日星期六。

2023/3/24

AWS VPC 建立internet gateway

在AWS console建立VPCinternet gateway

AWS VPC subnet是什麼?

AWS VPCsubnet(子網路)為VPC內的一個網段,AWS資源如EC2必須建立在subnet中。

AWS VPC 建立subnet

在AWS console建立VPC subnet

2023/3/23

AWS VPC 建立VPC

在AWS console建立VPC

AWS VPC是什麼?

AWS VPC(Virtual Private Clouds)為AWS帳號的專屬區域網路,可看作是雲端的VLAN

AWS VPC internet gateway用途

AWS VPC的internet gateway用來使VPC對外連到網際網路。

AWS VPC public subnet與private subnet 區別

AWS VPC subnet(子網路)可分為public與private兩種,區別在於是否有透過internet gateway對外連到網際網路。

AWS VPC Route table local route 作用

AWS VPC route table(路由表)的local route(本地路由)是用於VPC內資源間的溝通。

2023/3/22

AWS VPC Route table route 0.0.0.0/0 作用

AWS VPC route table(路由表)的route(路由)的destination(目的地)設為0.0.0.0/0的作用如下。

2023/3/16

今日風情 20230316

2023年3月16日星期四。

2023/3/15

今日風情 20230315

2023年3月15日星期三。

2023/3/14

GCP Go SDK 無法成功建立資源且無錯誤

Go以Google API Client Libraries for Go建立資源無法成功建立,但也沒返回任何錯誤(err == nil)。

2023/3/13

2023/3/8

PostgreSQL TRUNCATE 刪除多個資料表的全部資料

PostgreSQL以TRUNCATE刪除多張資料表的全部資料的語法如下。

Visual Studio Code 無法開啟中斷點

Visual Studio Code無法開啟中斷點的原因如下。

今日風情 20230308

2023年3月8日星期三。

2023/3/6

Golang for迴圈中的recover panic無法繼續執行?

Go程式在for迴圈中panic時仍可繼續執行的作法如下。

2023/3/5

苔蘚生態瓶種植紀錄

從苔蘚孢子開始種植的生態瓶紀錄。

苔蘚生態瓶DIY筆記 Moss Terrarium DIY

苔蘚生態瓶製作筆記。

今日風情 20230305

2023年3月5日星期日。

2023/3/4

今日風情 20230304

2023年3月4日星期六。

2023/2/27

保險 小額終老險 南山人壽福愛2小額終身壽險(MPL2)

今天在Youtube上看到一則新聞關於政策性保單「小額終老險」的試算與思考。

今日風情 20230227 虎頭山環保公園

2023年2月27日星期一。

2023/2/25

GCP 建立Compute Engine VM instance

在GCP console建立一個Compute Engine VM執行個體(VM instance)範例。

2023/2/20

AWS EC2 instance SSH連線逾時 Operation timed out default Security Group

本機使用SSH連線到EC2 instance時出現Operation timed out無法連線。

AWS EC2 instance SSH連線 WARNING: UNPROTECTED PRIVATE KEY FILE

解決本機使用SSH連線到EC2 instance時出現WARNING: UNPROTECTED PRIVATE KEY FILE無法連線。

2023年 玉山金(2884) 股利計算

2023年假設除權息日前有10張玉山金(2884)股票的股利計算。

Git 修改最後一次commit訊息

Git修改最後一次commit訊息的方法如下。

2023/2/19

Golang 評估外部HTTP client套件

評估Go是否有好用的第三方HTTP client套件。

今日風情 20230219

2023年2月19日星期日。

2023/2/18

今日風情 20230218

2023年2月18日星期六。

2023/2/17

今日風情 20230217

2023年2月17日星期五。

我如何追蹤及閱讀程式碼

我追蹤程式碼(trace code)的方式。

2023/2/16

PostgreSQL LIKE 與 ILIKE 差別

PostgeSQL的LIKEILIKE皆用於模糊查詢,差別是LIKE比對時區分大小寫(case-sensitive);ILIKE則否(case-insensitive)。

2023/2/14

今日風情 20230214 西洋情人節

2023年2月14日星期二,西洋情人節。

2023/2/11

什麼是子網路? What is subnet?

子網路(subnet or subnetwork)是指網路中的網路。

2023/2/10

Golang 取得GCP Compute VM instance

Go以Google API Client Libraries來取得GCP Compute VM instance。

Mac Zsh 設定環境變數

Mac Zsh設定環境變數的方式如下。

GCP 設定本機應用程式存取憑證 Application Default Credentials

本機的應用程式若要以GCP SDK操作GCP資源,可設定ADC憑證(Application Default Credentials)來達成。

2023/2/9

GCP gcloud CLI 列出所有的VPC networks

GCP gcloud CLIgcloud compute networks list命令可列出所有的VPC networks。

GCP gcloud CLI 列出所有的Computer Engine instance

GCP gcloud CLIgcloud compute instances list命令可列出所有的Computer Engine instance(即VM instance)。

GCP gcloud CLI 初始化

GCP gcloud CLI安裝後要先初始化設定操作GCP的權限。

Mac Homebrew 安裝 GCP gcloud CLI

在Mac以Homebrew安裝GCP gcloud CLI命令工具。

GCP 建立Partner Interconnect VLAN attachments

在GCP console建立Partner InterconnectVLAN attachments

今日風情 20230209

2023年2月9日星期四。

GCP Partner Interconnect VLAN attachment是什麼?

GCP Partner Interconnect(合作夥伴互連)的VLAN attachment是一個地端網路(on-premises network)與GCP VPC的邏輯連接。

GCP Partner Interconnect簡介

GCP Interconnect的Partner Interconnect(合作夥伴互連)可建立地端網路(on-premises network)與GCP的VPC私有網路連線。

2023/2/8

Golang 連結AWS Direct Connect Connection與VPC

Go以AWS提供的SDK aws-sdk-go-v2來建立Direct Connect Connection與VPC的連結。

Golang 刪除AWS Direct Connect Connection

Go以AWS提供的SDK aws-sdk-go-v2來刪除Direct Connect Connection。

Golang 刪除AWS Direct Connect gateway

Go以AWS提供的SDK aws-sdk-go-v2來刪除Direct Connect gateway。

今日風情 20230208

2023年2月8日星期三。

Golang 刪除AWS Direct Connect Virtual Interface

Go以AWS提供的SDK aws-sdk-go-v2來刪除Direct Connect的Private virtual interface。

Golang 取得AWS Direct Connect Virtual Interface

Go以AWS提供的SDK aws-sdk-go-v2來取得Direct Connect的Virtual interface。

Golang 刪除AWS VPC Virtual private gateway

Go以AWS提供的SDK aws-sdk-go-v2來刪除Virtual private gateway。

Golang AWS VPC 分離Virtual private gateway

Go以AWS提供的SDK aws-sdk-go-v2來分離Virtual private gateway與VPC。

Golang 取得AWS VPC Virtual private gateway

Go以AWS提供的SDK aws-sdk-go-v2來取得Virtual private gateway。

2023/2/7

Golang 解除AWS Direct Connect gateway與Virtual private gateway關聯

Go以AWS提供的SDK aws-sdk-go-v2來解除Direct Connect gateway與Virtual private gateway的關聯。

Golang 取得AWS Direct Connect gateway與Virtual private gateway關聯

Go以AWS提供的SDK aws-sdk-go-v2來取得Direct Connect gateway與Virtual private gateway的關聯。

Golang 關聯AWS Direct Connect gateway與Virtual private gateway

Go以AWS提供的SDK aws-sdk-go-v2來關聯Direct Connect gateway與Virtual private gateway。

Golang AWS VPC 附加Virtual private gateway

Go以AWS提供的SDK aws-sdk-go-v2來附加Virtual private gateway至VPC。

AWS Direct Connect 關聯Direct Connect gateway與Virtual private gateway

在AWS console將Direct Connect gatewayVirtual private gateway附加至VPC

AWS VPC 附加Virtual private gateway

在AWS console將Virtual private gateway附加至VPC。

Golang 建立AWS VPC Virtual private gateway

Go以AWS提供的SDK aws-sdk-go-v2來建立Virtual private gateway。

AWS VPC 建立Virtual private gateway

在AWS console建立VPC的virtual private gateway。

Golang 建立AWS VPC API client

Go以AWS提供的SDK aws-sdk-go-v2來取得操作VPC資源的API client。

2023/2/6

Golang 建立AWS Direct Connect Private Virtual Interface

Go以AWS提供的SDK aws-sdk-go-v2來建立Direct Connect的Private virtual interface。

AWS Direct Connect 建立Virtual Interface

在AWS console建立Direct Connect的Virtual Interface。

AWS Direct Connect 建立Direct Connect gateway

在AWS console建立Direct Connect的Direct Connect gateway。

Golang 建立AWS Direct Connect gateway

Go以AWS提供的SDK aws-sdk-go-v2來取得Direct Connect Connection的資料。

Golang 修改AWS Direct Connect Connection

Go以AWS提供的SDK aws-sdk-go-v2來修改Direct Connect Connection的資料。

Golang 取得AWS Direct Connect Connection

Go以AWS提供的SDK aws-sdk-go-v2來取得Direct Connect Connection的資料。

Docker Dockerfile指令 WORKDIR 作用

Docker Dockerfile指令WORKDIR用來指定容器的工作目錄,即後續的指令將會以WORKDIR指定的目錄為執行目錄。

Go Developer Survey - January 2023

VS Code Go extension最近跳出的問券調查

Golang 確認AWS Direct Connect Connection連線

Go以AWS提供的SDK aws-sdk-go-v2來取得Direct Connect Connection的資料。

Golang 建立AWS Direct Connect Connection

Go以AWS提供的SDK aws-sdk-go-v2來建立Direct Connect Connection

Golang 建立AWS Direct Connect API client

Go以AWS提供的SDK aws-sdk-go-v2來取得操作Direct Connect資源的API client。

AWS Direct Connect 建立Connection

在AWS console建立Direct Connect的Connection。

2023/2/5

Hyphen, en-dash, em-dash符號差別

今天發現原來英文小小的一槓符號有這樣的區別。

Docker Dockerfile COPY所在目錄的所有檔案及目錄

Docker Dockerfile的指令COPY所在目錄中的所有檔案及目錄到容器的寫法如下。

Docker Dockerfile指令COPY與ADD差別

Docker的Dockerfile的指令COPYADD都是將build image環境的目錄及檔案複製到容器中的指定目錄,但差別如下。

今日風情 20230205

2023年2月5日星期日。

Docker 推送image至Docker Hub

Docker將本地建置的image推送到Docker Hub。

Go 建立docker image

將Go應用程式製作為docker image並運行在docker container。

2023/2/4

Jenkins 修改顯示語言

Jenkins修改圖型管理介面(GUI)顯示語言。

今日風情 20230204

2023年2月4日星期六。

2023/2/3

AWS Direct Connect and virtual private gateway associations筆記

下圖為Direct Connect與VPC間的Virtual private gateway associations(虛擬私有閘道關聯)的關係圖。

2023/2/2

今日風情 20230202

2023年2月1日星期四。

AWS Direct Connect LOA-CFA

AWS Direct Connect的LOA-CFA(Letter of Authorizatoin and Connecting Facility Assignment)是一份授權文件,其授權網路服務供應商(e.g.中華電信)建立與AWS Direct Connection位置的實體連線。

2023/2/1

AWS Direct Connect簡介

AWS Direct Connect可在私有內部網路與AWS服務間建立專用網路連線。

什麼是虛擬區域網路 What is VLAN (Virtual Local Area Network)

虛擬區域網路(VLAN)是由一或多個實體區域網路(LAN)內的多個電腦或裝置組成的邏輯網路(logical netowrk)。

什麼是區域網路 What is LAN (Local Area Network)

區域網路(LAN)是在一實體區域內透過網路交換器(network switch)在一個Layer 2乙太網廣播域彼此互連的一群電腦或裝置。

今日風情 20230201

2023年2月1日星期三。

AWS CLI 列出EC2執行個體ID

使用AWS CLI列出既有的EC2執行個體的Instance ID。

2023/1/31

Mac Homebrew 安裝 AWS CLI

在Mac以Homebrew安裝AWS CLI命令工具。

2023/1/29

今日風情 20230129

2023年1月29日星期日。

2023/1/28

今日風情 20230128

2023年1月28日星期六。

2023/1/27

今日風情 20230127

2023年1月27日星期五。

2023/1/26

今日風情 20230126

2023年1月26日星期四。

2023 出遊預訂計畫

2023年旅遊住宿規劃。

2023/1/25

今日風情 20230125

2023年1月25日星期三。

2023/1/24

今日風情 20230124 台北101

2023年1月24日星期二,初三。

2023/1/23

今日風情 20230123 初二

2023年1月23日星期一,初二。

2023/1/22

Golang append slice to slice

Go把一個slice append到slice的方式如下。

今日風情 20230122 初一

2023年1月22日星期日,初一。

2023/1/21

今日風情 20230121 除夕

2023年1月21日星期六,除夕。

Golang 抓取PTT Beauty板網頁資料

使用Go colly抓取PTT Beauty版的內容。

2023/1/20

Golang 網頁爬蟲範例

Go網頁爬蟲(web scraper)簡單範例。

Golang 存取Redis

Go存取Redis的方式如下。

2023/1/18

今日風情 20230118

2023年1月18日星期三。

2023/1/17

今日風情 20230117

2023年1月17日星期二。

2023/1/16

今日風情 20230116

2023年1月16日星期一。

2023/1/15

今日風情 20230115

2023年1月15日星期日。

2023 春節假期規劃

2023年春節假期規劃。

2023/1/14

2023/1/13

2023/1/12

今日風情 20230112

2023年1月12日星期四。

2023/1/11

Mac M1 Homebrew 安裝 Another Redis Desktop Manager

在Mac Apple M1的macOS以Homebrew安裝Redis資料庫管理工具Another Redis Desktop Manager

Docker Redis設定密碼

在Docker container運行的Redis設定密碼。

Docker 安裝並運行Redis

在Docker container運行Redis的方式如下。

Mac Homebrew安裝Docker Desktop 2023

Mac用Homebrew安裝Docker Desktop。

2023/1/10

Visual Studio Code Go 找出專案中的構造、方法、函式及全域變數 find symbol in project

VS Code找出Go專案目錄下的構造(struct)、方法、函式及全域變數的方式如下。

今日風情 20230110

2023年1月10日星期二。

2023/1/9

今日風情 20230109

2023年1月9日星期一。

2023/1/8

今日風情 20230108

2023年1月8日星期日。

2023/1/7

GhatGPT 試玩

試玩最近很紅的OpenAPI ChatGPT

今日風情 20230107

2023年1月7日星期六。

2023/1/6

今日風情 20230106

2023年1月6日星期五。

Git 比較與上一次提交的差異 compare differences with last commit

Git與上一次提交比較差異的方式如下。

Golang RabbitMQ 重建連線 reconnection

Go連線RabbitMQ時,若連線中斷時重新連線的簡單實作練習。

2023/1/5

2023/1/2

2023/1/1

今日風情 20230101 桃園宜家IKEA

2023年1月1日星期日,元旦。

AdSense