網頁

2021/12/31

2022年第一天第一件事

2022年第一天6:30起床(昨天清晨1:30才睡)。

今日風情 20211231

2021年12月31日星期五。

2021/12/28

今日風情 20211228

2021年12月28日中餐吃SUKIYA的「溫玉咖哩 中碗(109)」。

Golang string與byte[]轉換

Go string[]byte slice的轉換方式如下。

2021/12/27

すき家 SUKIYA 溫玉咖哩 20211228

2021年12月28日中餐吃SUKIYA的「溫玉咖哩 中碗(109)」。

2021/12/26

2021年底回顧

2021年即將進入尾聲,回顧今年展望明年。

Golang http handle POST JSON to struct

Go net/http handler接收POST請求的JSON並轉為struct範例。

2021/12/25

AWS Kinesis Data Streams架構簡介

Amazon Kinesis Data Streams的架構簡介如下。

Java 本機讀取Kinesis Data Streams的資料

本範例在locahost的Java應用程式以AWS的SDK aws-sdk-java-v2從Kinesis Data Streams取得資料。

Java 本機發送資料到Kinesis Data Streams

本範例在locahost的Java應用程式以AWS的SDK aws-sdk-java-v2發送資料到Kinesis Data Streams。

2021/12/24

AWS 建立IAM管理使用者及credentials

建立管理AWS管理員並設定AWS CLI存取用的credentials。

Golang 本機發送資料到Kinesis Data Streams

在locahost的Go應用程式以AWS的SDK aws-sdk-go-v2發送資料到Kinesis Data Streams。

Mac 在終端機命令複製檔案內容 terminal command copy file content to clipboard

Mac在終端機(terminal)的命令列複製檔案的內容到剪貼簿(clipboard)的方式如下。

PostgreSQL 建立資料庫管理使用者 create database admin user

PostgreSQL建立管理資料庫管理權限的使用者的方式如下。

2021/12/22

Terraform 設定Secrets Manager secret範例

Terraform在AWS Secrets Manager建立secret的範例如下。

すき家 SUKIYA 炙燒豚丼 20211222

2021年12月22日晚上吃SUKIYA的「炙燒豚丼 中碗(139)」。

すき家 SUKIYA 泡菜牛丼 20211222

2021年12月22日中午吃SUKIYA的「泡菜牛丼 中碗(119)」。

AWS Secrets Manager 建立secret

在AWS console的Secrets Manager建立一個secret。

2021/12/21

今日風情 20211221

2021年12月21日星期二。

2021/12/20

今日風情 20211220

2021年12月20日星期一。

Java 從本機取得AWS S3 bucket objects清單

在locahost的Java應用程式中以AWS提供的aws-sdk-java-v2來取得S3 bucket objects清單。

2021/12/19

すき家 SUKIYA 牛肉元氣朝食 20211220

2021年12月20日早餐吃SUKIYA的「牛肉元氣朝食(89)」。

Nene Chicken炸雞 桃園民族店 20211219

今天請老婆外帶附近應該開沒多久的Nene Chicken炸雞店的炸雞回家吃看看。

Golang 從本機取得AWS S3 bucket objects清單

在locahost的Go應用程式中以AWS提供的SDK aws-sdk-go-v2來取得S3 bucket objects清單。

2021/12/18

Golang int整數轉字串 convert int to string

Go轉換int整數為字串string的方式如下。

Golang int64整數轉字串 convert int64 to string

Go轉換int64整數為字串string的方式如下。

晚餐自己煮 煎餃 20211218

今天晚餐用保姆給的冷凍水餃來做煎餃。

桃園市 桃園區 老袁牛肉麵 20211218

2021年12月18日下午去投公投票(核四、萊豬、綁大選、藻礁)出來去「老袁牛肉麵」吃碗麵。

桃園市 桃園區 阿里郎韓式餐廳 20211217

2021年12月17日晚上接老婆下班經過桃鶯路橋旁的「阿里郎韓式餐廳」進去吃看看。

2021/12/16

AWS 設定EC2讀取S3 bucket IAM role權限

設定EC2讀取S3 bucket IAM role權限的方式如下。

今日風情 20211216

2021年12月16日星期四。

すき家 SUKIYA 燒烤雞肉丼 20211216

2021年12月16日中餐吃SUKIYA的「燒烤雞肉丼 中碗(139)」。

AWS 建立S3 bucket並上傳檔案

在AWS console建立一個S3 bucket並上傳檔案。

2021/12/15

徵人 Sr. Fullstack Engineer

最近公司在找Fullstack Engineer (Golang + React)需求條件如下。

すき家 SUKIYA 牛肉小碟朝食 20211216

2021年12月16日早餐吃SUKIYA的「牛肉小碟朝食(79)」。

Golang 查詢PostgreSQL uuid型態欄位

Go查詢PostgreSQL的uuid型態欄位可用stringUUID來接收。

すき家 SUKIYA 熱熔起司牛丼 20211215

2021年12月15日中餐吃SUKIYA的「熱熔起司牛丼 中碗(119)」。

2021/12/14

PostgreSQL 欄位自動產生UUID column auto-generated UUID

PostgreSQL資料表欄位自動產生UUID的方式如下。

今日風情 20211214

2021年12月14日星期二。

Golang 產生UUID generate UUID

Go語言產生UUID(Universal Unique IDentifier)的方式如下。

すき家 SUKIYA 三種起司牛丼 20211214

2021年12月14日晚餐吃SUKIYA的「三種起司牛丼 中碗(99)」。

2021/12/12

PostgreSQL 設定外鍵 foreign key

PostgreSQL設定外鍵(foreign key)的方式如下。

PostgreSQL 刪除資料表 remove table

PostgreSQL刪除資料表的方式如下。

PostgreSQL 顯示所有的資料表 show all tables

PostgreSQL顯示資料庫全部資料表的方式如下。

2021/12/11

自製雞蛋糕

保姆最近提供了雞蛋糕的材料及食譜讓我們可以自己做雞蛋糕給女兒吃,今天有空就來試驗一下。

日誌 20211211 女兒一歲一月大

女兒一歲又一個月大了。

今日風情 20211211

2021年12月11日星期六。

桃園市 桃園區 玉山公園 20211211

今天中午和老婆、女兒與爸媽在桃園火車站後站的「東南小館」餐廳用餐,下午去陽民高中旁的「玉山公園」散步。

桃園市 桃園區 東南小館-川客料理 20211211

今天中午和老婆、女兒與爸媽在桃園火車站後站的「東南小館」餐廳用餐,飯後再去陽民高中旁的「玉山公園」散步。

2021/12/10

すき家 SUKIYA 蔥溫玉牛丼 20211210

2021年12月10日晚餐吃SUKIYA的「蔥溫玉牛丼 超值碗(129)」。

2021/12/9

すき家 SUKIYA 溫玉鹽蔥炙燒豚丼 20211209

2021年12月9日午餐吃SUKIYA的「溫玉鹽蔥炙燒豚丼 中碗(179)」。

2021/12/8

今日風情 20211208

2021年12月8日星期三。

Golang chi router REST API 測試範例

Golang chi router REST API的測試範例。

Golang chi router 取得url路徑參數 get path parameters

Golang chi router取得REST API的url路徑參數(path parameters)的方式如下。

Golang chi router hello world範例

Golang chi HTTP router建立hello world範例。

2021/12/6

Jira JQL搜尋分派給自己的issues

Jira要搜尋自己做過的工作及任務可在[Search for issues]的[Advanced Search]欄位輸入下面JQL(Jira Query Language)

2021/12/5

Marshalling Unmarshalling意思

在程式中與外部交換資料時通常會看到Marshalling(編集)及Unmarshalling(解集)這兩個字,其意思為「資料格式轉換」。

AWS EC2 Linux 2執行Go hello world專案

在AWS EC2執行個體Linux 2執行Go Hello World程式範例。

2021/12/4

今日風情 20211204

2021年12月4日星期六。

桃園市 桃園區 藏壽司桃園遠百店 20211204

2021年12月4日星期六下午去「藏壽司 桃園遠百店」吃壽司。

桃園市 桃園區 桃園鐵道願景館 20211204

2021年12月4日星期六下午帶老婆女兒去「桃園鐵道願景館」逛逛。

2021/12/3

英文 Don't boil the ocean 意思

Don't boil the ocean中文的意思為「別做無法辦到的事」。

2021/12/2

AWS EC2 Linux 2安裝Go

在AWS EC2執行個體Linux 2 AMI安裝Go。

2021/12/1

PostgreSQL 顯示所有的資料庫 show all databases

PostgreSQL顯示全部資料庫的方式如下。

今日風情 20211201

2021年12月1日星期三。

AWS EC2 Linux 2使用yum安裝Go

在AWS EC2執行個體Linux 2 AMI使用yum安裝Go。

今日風情 20211130

2021年11月29日星期二。

2021/11/29

今日風情 20211129

2021年11月29日星期一。

2021 臥室木門門片更換紀錄

2021年11月臥房木門更換紀錄。

Golang 使用sqlc 轉譯SQL為go程式碼

sqlc函式庫是可用來將SQL語言轉譯為Go程式碼的命令列工具。

2021/11/28

今日風情 20211128

2021年11月28日星期日。

2021/11/27

AWS 建立Lambda function簡單範例

在AWS Lambda建立一個簡單的hello-lambda-func

AWS主控台 Favorites bar

AWS主控台上方導覽列的多了Favorite標籤新功能。

Terraform 使用data source設定EC2 AMI ID

Terraform 使用data source設定EC2 instance的AMI ID。

今日風情 20211127

2021年11月27日星期六。

2021/11/26

桃園市 桃園區 小倆口私房菜

今天中午和老婆女兒和爸媽在陽民公園旁的「小倆口私房菜」餐廳用餐。

麥當勞 炸蝦天婦羅安格斯黑牛堡

今天午餐吃麥當勞最近的期間限定「炸蝦天婦羅安格斯黑牛堡」。

今日風情 20211126

2021年11月26日星期五。

2021/11/25

PostgreSQL Upsert用法

PostgreSQL使用Upsert新增或修改(upsert)的方式如下。

今日風情 20211125

2021年11月25日星期四。

2021/11/24

PostgreSQL 更新資料 update data

PostgreSQL更新/修改資料的方式如下。

今日風情 20211124

2021年11月24日星期三。

PostgreSQL 新增資料 insert data

PostgreSQL新增/插入資料的方式如下。

PostgreSQL 建立資料表 create table

PostgreSQL建立資料表範例。

今日風情 20211123

2021年11月23日星期二。

今日風情 20211122

2021年11月22日星期一。

2021/11/21

台灣銀行綜合理財房貸 申請流程及文件

2021年11月打電話去之前辦理房貸的台灣銀行分行詢問,辦理綜合理財房貸所需文件如下。

桃園市 桃園區 利百代彩筆文創館-義百代餐館 20211121

今天下午帶老婆女兒去桃園市桃鶯路旁的「利百代彩筆文創館-義百代餐館」吃飯順便逛逛。

2021/11/20

老公寓翻修裝潢計畫 保留舊物

未來(估計8-10年,小孩國小4年級)要重新裝潢要保留的舊物。

2021/11/19

如何臨櫃辦理戶口名簿含詳細記事

一般的戶口名簿的記事欄都是省略的,如需要有含詳細記事的戶口名簿,戶長可帶著自己的身分證及舊戶口名簿到縣市的戶政事務所換成有詳細記事的戶口名簿。

如何辦理在職證明

辦理在職證明的方法很簡單,跟公司的人資申請即可。

2021/11/18

投資理財 什麼是資產(Assets)與負債(Liabilities)

資產(Assets)與負債(Liabilities)是會計學上常見的名詞,也是投資理財要懂的最基本觀念。

今日風情 20211118

2021年11月18日星期四

2021/11/16

今日風情 20211116

2021年11月16日星期二。

2021/11/14

Mac Homebrew安裝PostgreSQL

Mac使用Homebrew安裝PostgreSQL。

2021/11/13

AWS 查詢Amazon Linux 2的AMI ID

找出AWS AMI - Amazon Linux 2 AMI(HVN), SSD Volume Type的AMI ID的方式如下。

Terraform 建立EC2範例

Terraform 建立EC2 instance(執行個體)範例如下。

Golang Gin Context.Abort() 用途

Gin gin.Context.Abort()可終止後續的handler繼續執行。

2021/11/12

今日風情 20211112

2021年11月12日星期五。

2021/11/10

今日風情 20211110

2021年11月10日星期三。

2021/11/8

Elasticsearch index是什麼

Elasticsearch的index是一堆文件(documents)的集合。

2021年 保姆年終計算

要年底了,計算2021年底要給保姆的年終獎金。

2021/11/7

今日風情 20211107

2021年11月7日星期日。

財力證明 個人所得資料 查詢申請

跟銀行辦理信用卡、信用貸款、房屋貸款等通常需要財力證明,除了「扣繳憑單」,「個人所得清單」可作為財力證明文件。

Java 11 HttpClient發送請求範例

Java 11 使用HttpClient發送請求範例如下。

2021/11/6

Java 11 直接執行java原始檔

Java 11 引入了JEP 330: Launch Single-File Source-Code Programs功能,可以直接以java命令執行原始碼.java程式。

Java 11 Files writeString() readString()寫出及讀取文字檔

Java 11 FileswriteString()可寫出字串到檔案;readString()可從檔案讀取字串。。

Java 11 String repeat()作用

Java 11 Stringrepeat(int n)方法會返回重複n次的新字串。

今日風情 20211106

2021年11月6日星期六。

2021/11/5

Java 11 String strip()作用

Java 11 Stringstrip()方法可將一個字串的頭尾空白移除。

Java 11 String lines()作用

Java 11 Stringlines()方法可將一個字串依換行符分成數個並返回Stream<String>

2021/11/3

Terraform 輸入變數簡單範例 input variables example

Terraform使用輸入變數(input variables)作為module參數簡單範例。

2021/11/2

今日風情 20211102

2021年11月2日星期二。

2021/11/1

今日風情 20211101

2021年11月1日星期一。

AWS EC2 Mac使用SSH連線到EC2 instance

AWS Mac使用SSH連線到EC2 instance。

AWS EC2 建立instance範例

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

Windows 10 啟動時設定使用者PATH環境變數

Windows 10啟動時設定PATH環境變數。

日誌 20211031 女兒十二月大

女兒出生十二個月滿一歲了。

2021/10/30

Terraform local_file hello world

使用Terrform local provider的local_file resource在檔案系統建立一個文字檔。

2021/10/29

AWS 什麼是EC2?

AWS EC2全名為Amazon Elastic Compute Cloud,是一個雲端的運算服務。

AWS 2021 Certifications 認證種類

AWS Certificates 認證種類如下。

2021/10/28

PostgreSQL 識別名稱最大長度 identifier name max length

PostgreSQL識別名稱(identifier name),也就是資料庫、資料表、欄位、索引等的名稱,的最大長度限制為63 bytes。

AWS 什麼是AZ (Availability Zones)?

AWS的AZ是可用區域(Availability Zones),其意義如下。

AWS 允許IAM使用者存取帳單資訊 grant IAM user access billing

AWS預設只有root user才能存取帳單資訊(Billing),IAM user無法存取。開啟IAM user也能存取帳單資訊的方式如下。

今日風情 20211028

2021年10月28日星期四。

2021/10/27

今日風情 20211027

2021年10月27日星期三。

2021/10/26

AWS EC2 Amazon Linux 2 預設使用者名稱 default user account name

AWS EC2 Amazon Linux 2/Linux AMI instance的預設使用者名稱為ec2-user

2021/10/25

今日風情 20211025

2021年10月25日星期一。

Golang 連線到AWS RDS MySQL資料庫 帳號密碼認證 connect to aws rds mysql instance auth by username and password

Go連線到AWS RDS MySQL資料庫實例,使用資料庫帳號密碼驗證(非IAM驗證)。

記帳 資料庫schema名稱定義

記帳資料庫schema名稱定義。

2021/10/23

記帳 使用者登入表單設計

記帳使用者登入表單設計。

記帳 使用者註冊表單設計

記帳使用者註冊表單設計。

今日風情 20211023

2021年10月23日星期六。

記帳 消費紀錄查詢條件欄位設計

記帳的消費紀錄查詢條件輸入欄位設計。

記帳 消費紀錄查詢結果設計

記帳的消費紀錄查詢結果。

記帳 新增每筆消費表單設計

記帳時每筆消費想要輸入的資訊。

2021/10/21

AWS RDS 無法從本機連線 unable to connect from localhost client

AWS RDS建立資料庫後,無法從本機(localhost)客戶端連線到資料庫的解決方式如下。

AWS RDS 建立Aurora MySQL cluster

AWS RDS建立Aurora MySQL cluster。

2021/10/20

護照過期換發辦理流程

護照過期換發辦理流程如下。

AWS Aurora Replicas 是什麼?

Aurora Replicas是指Aurora資料庫實例的備份資料庫(複本)。

2021/10/19

今日風情 20211019

2021年10月19日星期二

AWS Provisioning 意思

在學習AWS過程常會看到"Provisioning"這個詞,其意思為「AWS資源佈建」。

2021/10/18

AWS RDS 建立MySQL instance

AWS RDS建立MySQL instance。

2021/10/17

AWS IAM identities 簡介

AWS IAM identities(身份)簡介。

投資 如何選股?

每當你產生一個強烈的消費衝動時,分析這股衝動,若判斷是一個大眾的消費衝動,而非個人的特殊偏好,

2021/10/16

AWS resource-based policies 簡介

AWS resource-based policies(以資源為基礎的政策)簡介。

2021/10/15

AWS IAM AdministratorAccess 管理權限政策 admin policy

AWS建議應使用IAM user來管理AWS服務/資源,避免以root user進行日常的AWS管理操作來提升帳戶的安全性,通常在註冊新的AWS帳戶後第一件事就是建立一個有管理權限的IAM user,其權限幾乎同root user。

2021/10/14

AWS IAM 建立管理員使用者 create admin user

AWS建立有管理權限的IAM使用者(IAM admin user)的方式如下。

Golang interface{} 轉型 string

Go interface{}任意型態轉為string的方式如下。

今日風情 20211013

2021年10月13日星期三

2021年10月飲食計畫表

2021年10月的飲食規劃表。

2021/10/12

Golang 實作一個簡單的有順序map simple ordered map implementation

Golang的map不保證順序,所以利用struct實作一個簡單有順序的map。

2021年10月一週規劃表

依照「2021年10月作息整理」整理出的的可利用時間來規劃。

2021年10月作息整理

2021年10月的工作日及假日的作息。

今日風情 20211012

2021年10月12日星期二。

2021/10/11

AWS CLI 存取密鑰簡單配置 configure access keys simple

AWS CLI設定存取密鑰(Access Keys)的方式如下。

AWS macOS安裝AWS CLI version 2

在macOS安裝AWS CLI命令列工具第2版。有第2版代表有舊的第1版,如曾安裝第1版官方建議移除後再安裝第2版。

2021年10、11、12月計畫

2021年10、11、12月計畫。

2021/10/10

今日風情 20211010

2021年10月10日星期日,國慶日。

2021/10/9

50歲失業可以做什麼

設想自己50歲失業能做什麼工作。

2021/10/7

Git revert commits 回復先前的提交

Git可使用git revert指令回復之前的提交。

2021/10/6

今日風情 20211006

2021年10月6日星期三。

2021/10/3

今日風情 20211004

2021年10月4日星期一。

2021/10/2

Golang context 簡介

Go 標準函式庫的context package簡介。

Golang 建立網頁伺服器 Web Server

Go 建立一個簡單的網頁伺服器的方式如下。

2021/10/1

今日風情 20211001

2021年10月1日星期五。

Golang select 逾時處理

Go 利用select設定逾時的方式如下。

Golang select 用法

Go select的用法如下。

2021/9/30

今日風情 20210930

2021年9月30日星期四。

AWS ARN是什麼?

AWS ARN(Amazon Resource Name)是AWS資源的唯一識別名稱。

2021/9/29

今日風情 20210929

2021年9月29日星期三。

AWS IAM Principal 是什麼

AWS IAM的Principal是指可以向AWS資源/服務發起操作請求的使用者或應用程式。

2021/9/28

AWS IAM 是什麼?

AWS的IAM(Identity and Access Management),是用來管理使用者及存取AWS資源權限的一項服務(Service)。

2021/9/27

今日風情 20210927

2021年9月27日星期一。

2021/9/25

今日風情 20210925

2021年9月25日星期六。

2021/9/24

2021/9/23

Golang Channel 接收敘述 Receive statements

Go語言的Receive statements是指從channel接收/取出值的敘述。

Golang Channel 發送敘述 Send statements

Go語言的Send statements是指把值送入channel的敘述。

2021/9/21

今日風情 20210921

2021年9月21日星期二。

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

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

2021/9/20

今日風情 20210920

2021年9月20日星期一。

2021/9/19

今日風情 20210919

2021年9月19日星期日。

2021/9/17

今日風情 20210917

2021年9月17日星期五。

2021/9/16

Golang <- 左箭頭符號 left arrow operator

Go程式中的<-左箭頭符號用途。

今日風情 20210916

2021年9月16日星期四

2021/9/14

今日風情 20210914

2021年9月14日星期二。

2021/9/12

Golang uber go zap Config logger簡單範例

Go uber zap 使用Config配置logger簡單範例。

2021/9/11

Golang uber go zap presets logger

Go uber zap preset logger效果比較。

Golang uber go zap log簡單範例

Go uber go zap log函式庫簡單範例。

2021/9/9

今日風情 20210909

2021年9月9日星期四。

2021/9/8

Golang JSON Injection 安全漏洞 json.Unmarshal to map[string]interface{}

最近碰到Go原始碼在靜態程式碼掃描時警告有JSON Injection漏洞(vulnerabilities),本篇紀錄解決方式。

今日風情 20210908

2021年9月8日星期三。

2021/9/7

Golang 使用func type讓客戶端自行定義介面方法的實作

Go語言使用func type由客戶端實作介面方法。

Golang 函式型別的轉換 function type conversion

Go語言的func type(函示型別)的轉換方式如下。

2021/9/6

今日風情 20210906

2021年9月6日星期一。

Golang go build 作用

Go語言的go build的用途如下。

2021/9/5

Golang fmt.Errorf() 與 github.com/pkg/errors.Errorf() 區別

Go語言fmt.Errorf()github.com/pkg/errors.Errorf()區別如下。

Golang errors.New() 與 fmt.Errorf() 差別

Go語言的errors.New(text string)fmt.Errorf(format string, a ...interface{})的差別如下。

今日風情 20210905

2021年9月5日星期日

2021/9/3

今日風情 20210903

2021年9月3日星期五。

GitLab CI/CD pipelines Stages and Jobs

下圖說明GitLab CI/CD piplines中的Stages和Jobs是什麼。

Terraform Error refreshing state: state snapshot was created by Terraform v0.x.x, which is newer then current v0.y.y

執行Terraform terraform init命令時出現Error refreshing state: state snapshot was created by Terraform v0.x.x, which is newer then current v0.y.y錯誤。

2021/9/2

GitLab CI/CD 錯誤 This jobs depends on other jobs with expired/erased artifacts: job_name

在GitLab Merge Request前進行的GitLab CICD pipeline過程中發生This jobs depends on other jobs with expired/erased artifacts: job_name錯誤。

今日風情 20210902

2021年9月2日星期四

2021/9/1

今日風情 20210901

2021年9月1日星期三。

Golang 清除go.mod及go.sum未使用的的外部package

Golang 清除go.modgo.sum未使用的外部package的方式如下。

Spring Boot REST API使用ResponseEntity返回自訂的HTTP status及Content-Type

Spring Boot在Controller或ControllerAdvice可使用ResponseEntity<T>自訂回應(Reesponse)返回的HTTP狀態碼及Content-Type如下。

Java Regex 檢查字串是否以特定字串開頭

Java 使用regex(正則表示式)檢查字串中是否以特定字串開頭的方式如下。

Java Regex 檢查字串中是否包含數字

Java 使用regex(正則表示式)檢查字串中是否包含數字的方式如下。

2021/8/29

Apigee 新增API proxy的API key

Apigee的API proxy可以設定VerifyAPIKey policy來要求客戶端請求必須帶入API key才能存取Apigee API而產生API key(又稱Consumer key)的方式如下。

Inbound and Outbound request

Inbound request and Outbound request

今日風情 20210829

2021年8月29日星期日

2021/8/28

Golang VSCode 除錯 debugging

Go在Visual Studio Code(VSCode)除錯的方式如下。。

Golang GOROOT 是什麼

Go語言的環境變數(Environment Vairables)的GOROOT為Go安裝目錄路徑。

2021/8/27

Golang enum 列舉範例

Go語言沒有如Java或C#的enum型別,但可透過定義常數(constant)來模擬。

Golang iota 用途

Go語言的iota用法如下。

2021/8/26

Windows install another version Go from archive zip

Windows用Archive zip檔安裝另一個版本的Go。

2021/8/25

Git 空提交 empty commit

空提交(empty commit)是指沒有任何異動檔案在stage但仍要提交一個commit,會空提交的原因可能包括為了觸發pre-commit檢查、CI pipeline作業或隔離修改檔案名稱的提交。

Visual Studio Code 搜尋檔案中的介面/類別/函示/方法/型別

Visual Studio Code(VSCode)快速跳到任意檔案中的介面/類別/函式/方法/型別的方式如下。

Visual Studio Code 列出程式檔中函示/方法/型別清單

在Visul Studio Code(VSCode)顯示目前編輯程式檔中的函示、方法、型別列表的方式如下。

Git Pull Request與Merge Request差別

Pull Request(PR)和Merge Request(MR)的差別如下。

2021/8/24

今日風情 20210824

2021年8月24日星期二

2021/8/23

今日風情 20210823

2021年8月23日星期一。

2021/8/22

Go short Variable Names convention 簡短的變數命名慣例

開始學習Go三個月下來最讓我感到疑惑之一的是Go的變數命名。除了MixedCase命名(camelCase)可以理解外,過於簡短的命名對身為Java工程師和讀過Clean Code的我不太能理解。

2021/8/21

使用 Cookiecutter 建立專案模版

本篇介紹使用Cookiecutter來建立專案/項目模板。

今日風情 20210821

2021年8月21日星期六。

Golang foreach filter 範例

Go並沒有類似JavaScript及Java lambda內建用來遍歷集合或陣列的forEach及依條件篩選陣列元素的filter,需要的時候只能自己用for迴圈實作。

2021/8/20

Golang for迴圈continue Label範例

使用for迴圈搭配continue Label遍歷slice deps篩選出員工年紀(Employee.Age)都不超過30的Department

2021/8/19

Windows Git Bash 預設HOME目錄在哪?

Windows Git Bash預設HOME目錄位置如下。

2021/8/17

Go golangci-lint安裝及使用

Go語言利用golangci-lint做程式碼語法檢查。

pre-commit 修改repo存放位置

pre-commit執行時會先把.pre-commit-config.yaml設定檔中的repo下載到本機的~/.cache/pre-commit供hooks執行使用。可使用下面方式修改存放位置。

2021/8/16

使用pre-commit做commit前檢查

利用pre-commit做Git commit提交前的檢查。

Mac Finder如何前往usr/local/bin目錄

Mac Finder前往usr/local/bin目錄的方式如下。

2021/8/15

Python Mac使用Homebrew安裝Python 3

在Mac使用Homebrew安裝Python 3的方式如下。

今日風情 20210815

2021年8月15日星期日。

Git 什麼是Git Hooks?

Git Hooks是Git在進行某些操作如commit、merge、push的前後會觸發執行script的機制,並可藉此做些自動化作業如程式碼linting、coding style檢查、comment格式檢查、執行測試等。

2021/8/14

今日風情 20210814

2021年8月14日星期六

GitHub macOS使用GCM Core存取GitHub repository

在macOS使用Git Credential Manager Core(GCM Core)管理存取GitHub repository的憑證及進行Git操作驗證。

2021/8/13

軟體開發 測試類型、測試階段、測試環境對照表

軟體開發測試類型、測試階段、測試環境、測試人員的對照表。

2021/8/12

今日風情 20210812

2021年8月12日星期四

2021/8/11

Windows 命令列設定路徑到PATH環境變數 cmd set new path to PATH environment variable

Windows系統在命令列(cmd)設定指定路徑到PATH環境變數的方式如下。

2021/8/10

GitLab description 換行 new line

GitLab description的文字段落在要換行的位置使用反斜線(backslash)\即可換新行。

Terraform 是什麼?

HashiCorp公司的Terraform是開源的IaC(Infrastructure as Code)「基礎建設即程式碼」管理工具。

今日風情 20210810

2021年8月10日星期二

2021/8/9

Golang Gin 轉Request body JSON為map

Gin把傳入的請求payload JSON轉為map。

Golang Gin 轉Request body JSON為struct

Gin把傳入的請求payload JSON轉為struct。

2021/8/8

GoLand 常用快速鍵

JetBrains GoLand常用快速鍵。

Mac Linux export PATH=<newpath>:$PATH 與 PATH=$PATH:<newpath>差異

今天在查設定PATH環境變數發現有兩種寫法:

今日風情 20210808

2021年8月8日星期日。

2021/8/7

Golang Gin REST API 測試簡單範例

Gin的REST API測試程式簡單範例。

2021/8/6

今日風情 20210806

2021年8月6日星期五

2021/8/5

Golang Gin Router HandlerFunc 拆分練習

Go Gin 把Router處理請求的HandlerFunc拆分為另外的檔案。

2021/8/4

Git rebase 時發生衝突取消rebase

使用git rebase時發生衝突取消rebase。

2021/8/1

今日風情 20210801

2021年8月1日星期日。

2021/7/31

Golang Gin Router middleware簡介

Go Gin的Middleware(中間件)簡介。

Golang Gin Grouping routes 範例

Go Gin設計應用程式的REST API可使用RouterGroup.Group()做路徑分組。

2021/7/28

Danger Pull Request慣例自動檢查工具 簡介

Danger是運行在持續整合(CI)環境中用來自動化Pull Request(PR)時code review的一些檢查慣例的套件。

React fetch data from Spring Boot REST API

React從Spring Boot REST API獲取資料範例。

2021/7/27

React 自訂Hook 簡單範例

React Hook除了內建的Hook API如useStateuseEffect等外也可自訂Hook。

React Component屬性資料型態檢查 props type check

React Component的屬性props輸入值可以用PropTypes做型別檢查。

React Render Props簡介

React Render Props簡介。

React 傳參數至事件處理器 pass data to component event handler

React將資料參數傳入至事件處理器(Event Handler)的方式如下。

2021/7/26

React onclick 事件處理範例

React在Component加上onclick事件處理器(Event Handler)的方式如下。

React Context傳遞參數

React使用Context在Components間傳遞參數。

今日風情 20210726

2021年7月26日星期一。

React 錯誤邊界捕捉Component錯誤 Error Boundaries catch components error

React使用錯誤邊界(Error Boundaries)捕捉Components錯誤範例。

2021/7/25

React Loadable Component Splitting 簡單範例

React使用Loadable Component Splitting簡單範例。

React HOC Higher-Order Components簡單範例

React的High-Order Component簡稱HOC的簡單範例如下。

2021/7/24

今日風情 20210724

2021年7月24日星期六

NPM install --save, --save-dev 差別

NPM下載package指令npm install後的flag參數--save--save-dev差別如下。

2021/7/23

2021/7/22

React Router 安裝及使用

React Router的安裝及基本使用方式如下。

React Controlled Component與Uncontrolled Component差別

React form表單中Controlled Component與Uncontrolled Component差別。

Git 取消未push的commit

Git取消未push的commit的作法如下。

React 在父組件及子組件間傳遞資料 pass data between parent and children components

React Parent Component(父組件)與Child Component(子組件)間傳遞資料的方式如下。

2021/7/21

React 組件狀態 Component State

React Component的state代表Component的狀態,內容改變時Component會重新渲染(re-render)。

今日風情 20210721

2021年7月21日星期三。

K6 負載測試工具簡介 load testing tool intro

K6是款Go語言撰寫的開源負載測試工具(load testing tool)。本篇簡單介紹安裝及使用方式。

2021/7/20

React JSX 迴圈產生Components loop rendering components

React 使用迴圈產生Components在畫面顯示。

React 使用React需要Babel嗎?

React是否一定需要Babel嗎?

React Component,Component instance,React element差別。

React中Component,Component instance,React element的差別如下。

React 建立組件 create component

React建立組件(Component)的方式如下。

React 使用Create React App建立React應用程式

Create React App是React官方支援的建立React應用程式/專案工具,下面以此工具建立一個簡單的Hello World React應用程式。

2021/7/19

React JSX語法 簡單範例

使用JSX撰寫React的簡單範例。

JavaScript Babel是什麼

前端JavaScript領域的Babel套件是個JavaScript編譯器。

React 我的第一支React - Hello World

我的第一支React程式,hello world。

2021/7/18

Jira JQL 搜尋全部觀看的issues find all watching issues

Jira要找到目前全部觀看的issues可在[Search for issues]的[Advanced Search]欄位輸入下面JQL(JIRA Query Language)(Jira查詢語言)。

2021/7/17

Golang 對package function做mock

當程式中呼叫另外一個package的函式,則測試時對這個package函式mock的方式如下。

今日風情 20210717

2021年7月17日星期六

2021/7/16

今日風情 20210716

2021年7月16日星期五

2021/7/15

今日風情 20210715

2021年7月15日星期四

Golang 從私有的GitLab取得依賴module Unable to get modules from private gitlab repository

今天第一次執行go run運行專案時因為go.mod中的一些依賴module無法下載倒置無法運行。

2021/7/14

Git 我的常用縮寫命令

我常用的git命令縮寫設定如下。

GitLab Windows 10 使用SSH取得專案 clone with SSH

在Windows 10以SSH的方式從GitLab clone project的方式如下。

Linux Shell Bash 長命令折行 break long command to next line

在Linux shell如bash輸入長命令時會超過右邊視窗不易觀看,可使用反斜線(backslash)\將長命令折成多行方便觀看。

Golang 執行專案目錄中全部的測試 run all test in project directories

Go測試專案中全部目錄(含子目錄)的測試程式。

Golang Testify mock 回傳自訂型態 return custom type

Go測試套件Testify mock回傳自訂型別的方式如下。

今日風情 20210714

2021年7月14日星期三

cURL 發送POST請求及JSON資料

cURL命令發送POST請求及JSON資料的方式如下。

Windows 10 重置GitLab帳號密碼

Windows 10重置GitLab的密碼的方式如下。

2021/7/13

Golang 檔案命名慣例 file naming convention

Go語言的原始碼檔命名慣例如下。

Golang 常數命名慣例 const naming convention

Go語言使用const關鍵字定義的常數命名慣例如下。

VMWare Mac怎麼顯示上方功能選單 how to show vmware menu bar

Mac在登入VMWare遠端桌面後若無法顯示上方VMware的功能選單,可使用下面技巧。

VMWare Mac筆電怎麼按 Ctrl + Alt + Del

從MacBook筆電透過VMWare遠端Windows系統的Ctrl + Alt + Del的按法如下。

2021/7/12

今日風情 20210712

2021年7月12日星期二

今日風情 20210712

2021年7月12日星期一。

2021/7/11

Golang Testify 測試套件安裝

Go雖然自帶testing package可撰寫測試程式但功能陽春,沒有常見的assert或mock功能,而Testify套件則彌補這塊不足讓撰寫測試更方便。本篇介紹安裝Testify及基本用法。

今日風情 20210711

2021年7月11日星期日。

2021/7/10

今日風情 20210710

2021年7月10日星期六。

2021/7/9

Golang 空介面 empty interface{}

Go程式的interface(介面/接口)除了定義型態的行為,本身也是一種型態。而空介面則代表任意型態。

Golang 使用其他package的函式或型別 use function or type from another package

Go程式使用專案其他package定義的函式或型別的方式如下。

Golang 單元測試簡單範例 unit testing simple example

Go語言本身帶有輕量的測試框架testing package可用來撰寫單元測試,以下為簡單範例。

2021/7/8

Golang struct嵌入欄位 embedded field

Go語言的struct中無命名而只有型態的屬性稱為embedded field。

Golang Gin 靜態資源路徑 static files

Gin提供靜態資源檔案的設定方式如下。

Golang Gin Model binding json to type

Gin可使用Model binding將request body的json資料轉為指定的型態。

Golang Gin 上傳多個檔案 upload multiple files

Gin應用程式上傳多個檔案的方式如下。

Golang Gin 上傳單一檔案 upload single file

Gin應用程式上傳單一檔案的方式如下。

2021/7/7

Golang Gin url request query string as map

Gin應用程式REST API取得url請求參數(query string)時,參數可以map的形式傳遞。

Golang Gin 接收POST form表單參數 receive post form params

Gin應用程式取得POST form表單欄位參數的方式如下。

Golang Gin 取得url請求參數 get url request query string

Gin應用程式REST API取得url請求參數(query string)的方式如下。

Golang Gin 取得url路徑參數 get path parameters

Gin應用程式REST API取得url路徑參數(path parameters)的方式如下。

Golang Gin 更改應用程式埠號 change port number

Gin應用程式預設的port為8080,修改的方式如下。

Golang Gin 寫出日誌log範例

Gin寫出日誌訊息到log檔的方式如下。

Golang Gin Web Framework hello world範例

Gin是Go語言的Web框架(網路應用程式框架)。本篇為最簡單的hello world範例。

2021/7/6

今日風情 20210706

2021年7月6日星期二。

Golang time.Sleep() 暫停目前的goroutine

Go語言內建的timepackage的Sleep(d Duration)函式可暫停呼叫的goroutine

2021/7/5

Golang 讀取文字檔案 read text file

Go語言讀取文字檔案的方法如下。

Golang 使用VSCode寫hello world程式

使用Visual Studio Code(簡稱VSCode)撰寫Go語言的hello world程式。

今日風情 20210705

2021年7月5日星期一。

2021/7/4

今日風情 20210704

2021年7月4日星期日。

2021/7/3

面試 我的優點和缺點是什麼?

面試常會被問到 「你自認有哪些優點及缺點?」這問題。即使我有許多面試經驗但總是沒有花時間去準備,總是被問到才開始想破頭。最近意識到自己很明確的一項優點,藉此紀錄整理一下。

Golang Stringer轉字串 to string

Go語言型態轉字串的作法如下。

Golang Interface 簡介

Go語言的Interface(介面)是由一組方法簽章(method signatures)組成的型態,其變數可儲存任意實現其方法組(method sets)的型態的值,目的為定義型態的行為。

2021/7/2

今日風情 20210702

2021年7月2日星期五。

2021/6/30

工作紀錄 Mar, 2021 - Jun, 2021

從2020年9月開始的駐點工作,從2021年3月到2021年6月間的工作紀錄。

今日風情 20210629

2021年6月29日星期二。

2021/6/28

Spring Boot Thymeleaf Layout Dialect簡單範例

Spring Boot Thymeleaf使用Layout Dialect裝飾模板。

Spring Boot Test MockMvc 取得回應JSON結果 get response json

Spring Boot Test 印出Controller REST API回應的json內容。

今日風情 20210628

2021年6月28日星期一。

2021/6/27

今日風情 20210627

2021年6月25日星期日。

jQuery UI Autocomplete從Spring Boot Controller取得資料範例

jQuery UI的Autocomplete(欄位自動完成)透過ajax從Spring Boot Controller取得資料範例。

Golang value receiver與pointer receiver差別

Go語言的receiver又分為value receiver與pointer receiver兩種,兩者區別如下。

2021/6/26

Golang 字串串接整數 string concatenate int

Go語言的 string(字串)連接int(整數)的方式如下。

Golang 什麼是Receiver

Go語言的Receiver是綁定function到特定type成為其method的一個參數。

Golang Map轉Slice

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

Golang 函式為變數及引數傳遞 Function values and pass as arguments

Go語言的function(函式)可作為變數及另一個函式的引數(arguments)傳遞。

2021/6/25

Golang 從整數Slice中篩選出正整數

Go語言從裝有數個整數的slice中篩選出正整數。

今日風情 20210625

2021年6月24日星期五。

2021/6/24

Spring Data JPA 自訂序號產生器 custom sequence generator for Oracle

Spring Data JPA使用自定序號產生器產生Oracle資料表的自訂流水號。

2021/6/23

今日風情 20210624

2021年6月24日星期四。

今日風情 20210623

2021年6月23日星期三。

Spring Data JPA 使用 @EntityListener 攔截entity存取操作

Spring Data JPA使用@EntityListener攔截entity存取資料庫操作範例。

2021/6/22

今日風情 20210622

2021年6月22日星期二。

2021/6/21

Spring Boot AOP MethodInterceptor 方法攔截器 簡單範例

Spring AOP的MethodInterceptor可以用來對目標方法進行呼叫前及回傳後的攔截並切入邏輯。

今日風情 20210621

2021年6月21日星期一。

2021/6/20

Spring Data JPA Specification 動態條件查詢 dynamic query

Spring Data JPA的Specification動態查詢使用方式如下。

Golang Map 簡單範例

Go語言的Map(映射)是一組無順序單一型態元素的集合,以另一型態的鍵(key)作為值(value)的索引。

2021/6/19

Golang Slice 簡單範例

Go語言的Slice(切片)是用來描述array(陣列)區段的參照,本身不儲存值,長度可變。

Golang Array 陣列簡單範例

Go語言的Array(陣列)是固定長度的單一型態的多元素序列。

2021/6/18

今日風情 20210619

2021年6月19日星期六。

2021/6/17

今日風情 20210617

2021年6月17日星期四。

Spring Data JPA Criteria 查詢簡單範例

Spring Data JPA使用JPA Criteria API查詢的簡單範例如下。

Spring Data JPA 取得EntityManager實例

Spring Data JPA取得EntityManger實例的作法如下。

2021/6/16

今日風情 20210616

2021年6月16日星期三。

2021/6/15

Oracle SQL Developer 欄位自動增量設定 column set auto increment

Oracle SQL Developer設定欄位自動增量(auto increment)的方式如下。

今日風情 20210615

2021年6月15日星期二。

2021/6/14

民進黨之台灣價值語錄

民進黨很機八,尤其是傲慢說謊的陳時中,答非所問,迴避問題。躲在背後的蘇貞昌、蔡英文也有責任。

Golang struct 結構 簡單範例

Go語言的struct(結構)為包含多個屬性的資料型態,用來組織多個具有意義的資料。類似物件導向語言(e.g. Java, C++, C$)的類別(class)。

Golang 延遲敘述 defer statements

Go語言的defer關鍵字的延遲敘述特性如下。

2021/6/13

Golang switch case 用法

Go語言switch case用法如下。

今日風情 20210613

2021年6月13日星期日。

Golang for迴圈基本語法

Go語言for迴圈的基本寫法如下。

Golang 宣告函式 function declarations

Go語言宣告函式(function)的方式如下。

2021/6/12

Golang 錯誤的產生、回傳、處理基本 error create, return and error handling basic

Go語言的錯誤型態為內建的error interface。邏輯錯誤時可使用內建的errors package建立error

Golang Exported names 匯出名稱

Go語言使用exported name(匯出名稱)讓外部存取,也就是能被其他package程式呼叫。

Golang Pointers 指標簡單範例

Go語言的pointer(指標)簡單範例。

馬桶漏水水箱止水皮更換教學

最近家裡馬桶水箱漏水,原來是止水箱的水皮的軸斷了一根導致無法密合止水需要更換。更換時間約5-10分鐘。

2021/6/11

今日風情 20210611

2021年6月11日星期五。

Spring Boot Web MVC REST API 下載檔案 download file

Spring Boot Web在提供REST API下載的連結方式如下。

Thymeleaf 取得專案路徑 get context path

Thymeleaf取得context path(專案路徑)的方法如下。

2021/6/9

今日風情 20210610

2021年6月10日星期四。

2021/6/8

今日風情 20210609

2021年6月9日星期三。

桃園 86年次 莊季燁 COVID-19居家檢疫落跑

桃園 86年次 莊季燁(ZHUANG,JI-YE) 區家檢疫落跑

Spring Boot 關閉啟動時的Spring logo標題 disable console spring logo banner

Spring Boot專案在啟動時都會在console印出Spring ANSI圖形,關閉方法如下。

2021/6/7

Redis Windows 設定密碼

Redis在Windows設定密碼的方式如下。

今日風情 20210607

2021年6月7日星期一。

Windows 7 64bit 安裝Redis

在Windows 7 64Bit安裝Redis記錄。

2021/6/6

Golang 建立Go module

建立Go module的方式如下。

今日風情 20210606

2021年6月6日星期日。

2021/6/4

2021/6/3

今日風情 20210604

2021年6月4日星期五。

2021/6/2

Unit Test 程式碼測試覆蓋率 code test coverage

單元測試(Unit Testing)的程式碼測式覆蓋率(test coverage)的意思如下。

今日風情 20210603

2021年6月3日星期四。

今日風情 20210602

2021年6月2日星期三。

2021/6/1

Bootstrap 5 Layout Breakpoints 簡介

Bootstrap的Breakpoints是決定響應式網頁的排版在不同大小的viewport或裝置該如何呈現的寬度位置。

工作踩坑紀錄 20210601

晚上飯才剛煮好就被通知上線的程式有錯,趕緊遠端回去查log找問題。

2021/5/31

ELK 是什麼? What is ELK?

ELK是什麼?用途在哪?

Unicode box-drawing alphabet

使用Unicode方塊繪製符繪製的英文字母。

今日風情 20210531

2021年5月31日星期一。

CSS Visual viewport 和 Layout viewport 區別

網頁Viewport又分為visual viewport與layout viewport,兩者差別如下。

2021/5/30

今日風情 20210530

2021年5月30日星期日。

Bootstrap 5 Layout Containers簡介

Bootstrap Containers為響應式頁面佈局(layout)容器,使用Bootstrap的grid排版時必須在container中使用。

2021/5/29

CSS 什麼是Media Queries?

CSS的Media Queries的用途如下。

Thymeleaf th:styleappend 附加 CSS style

Thymeleaf模板頁面使用th:styleappend在HTML標籤既有的style屬性值額外附加其他CSS style。

Thymeleaf th:classappend 附加 CSS class

Thymeleaf模板頁面使用th:classappend在HTML標籤既有的class屬性值額外附加其他class。

2021/5/28

今日風情 20210529

2021年5月29日星期六。

Spring Boot Thymeleaf TODOLIST 範例

使用Spring Boot Thymeleaf搭建TODOLIST應用程式範例。

2021/5/27

Spring Boot 使用WebJars引入前端套件 use WebJars to import front-end web libraries

在Java Web專案的頁面若要引用前端套件如Bootstrap或JQuery,除了手動下載或使用npm或yarn套件管理工具下載,還可以用本篇介紹的WebJars函式庫。

2021/5/26

Thymeleaf 行內表示式 Expression inlining

Thymeleaf 在模板頁面除了th:text標籤屬性搭配${...}帶入變數外,還可使用行內表示式[[...]][(...)]帶入變數。

今日風情 20210526

2021年5月26日星期三。

Spring Boot Thymeleaf 傳入頁面片段參數 fragment parameters

Spring Boot Thymeleaf 使用th:fragment定義頁面片段時可傳入參數。

2021/5/25

Spring Boot Thymeleaf 條件判斷屬性 th:if及th:unless

Spring Boot Thymeleaf 使用th:ifth:unless條件判斷。

今日風情 20210525

2021年5月25日星期二。

2021/5/24

今日風情 20210524

2021年5月24日星期一。

Spring Boot Thymeleaf 使用th:with設定變數 set local variables

p>Spring Boot Thymeleaf 使用th:with設定所屬標籤的的變數。

2021/5/23

Thymeleaf 使用Markup Selectors取得頁面片段

Thymeleaf 使用Markup Selectors取得頁面片段。

Thymeleaf 頁面片段 th:insert、th:replace、th:include 差別

Thymeleaf 插入頁面片段屬性th:insertth:replaceth:include差別如下。

程式 什麼是實字 what is literal

程式中的實字(literal)為原始碼中表示固定值的符號。

2021/5/21

今日風情 20210522

2021年5月22日星期六。

Spring Boot Thymeleaf 取代頁面片段 replace page fragment

Spring Boot Thymeleaf 模板使用th:replace可用指定的頁面中的標籤取代。當多個頁面中有重複出現的部分時(例如logo、header、選單、導覽列,footer區塊)便能利用插入片段的方式來提高維護性,當共同部分需要修改時只要修改被插入的片段即可。

2021/5/20

今日風情 20210521

2021年5月21日星期五。

Spring Boot Thymeleaf i18n多國語言範例

Spring Boot搭配Thymeleaf模板多國語言(i18n)範例。。

Spring Boot Thymeleaf 簡單範例

Spring Boot搭配Thymeleaf模板簡單範例。

今日風情 20210520

2021年5月20日星期四。

2021/5/19

今日風情 20210519

2021年5月19日星期三。

2021/5/17

資料庫設計 面試問題 停車場系統

最近面試被問到如何設計一個停車場系統的資料庫設計問題。

2021/5/16

今日風情 20210517

2021年5月17日星期一。