2022年第一天6:30起床(昨天清晨1:30才睡)。
網頁
2021/12/31
2021/12/28
2021/12/27
2021/12/25
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
Mac 在終端機命令複製檔案內容 terminal command copy file content to clipboard
Mac在終端機(terminal)的命令列複製檔案的內容到剪貼簿(clipboard)的方式如下。
2021/12/22
2021/12/21
2021/12/20
2021/12/19
Golang 從本機取得AWS S3 bucket objects清單
在locahost的Go應用程式中以AWS提供的SDK aws-sdk-go-v2
來取得S3 bucket objects清單。
2021/12/18
2021/12/17
2021/12/16
2021/12/15
2021/12/14
2021/12/13
2021/12/12
2021/12/10
2021/12/9
2021/12/8
Golang chi router 取得url路徑參數 get path parameters
Golang chi router取得REST API的url路徑參數(path parameters)的方式如下。
2021/12/6
Jira JQL搜尋分派給自己的issues
Jira要搜尋自己做過的工作及任務可在[Search for issues]的[Advanced Search]欄位輸入下面JQL(Jira Query Language)。
2021/12/5
2021/12/4
2021/12/3
2021/12/2
2021/12/1
2021/11/30
2021/11/29
2021/11/28
2021/11/27
2021/11/26
2021/11/25
2021/11/24
2021/11/22
2021/11/21
2021/11/20
2021/11/19
2021/11/18
2021/11/16
2021/11/14
2021/11/13
2021/11/12
2021/11/10
Golang Gin Engine.HandleContext() 用途
Gin Engine.HandleContext(c *Context)
的作用為路由重新導向(Router redirect)。
2021/11/8
2021/11/7
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 Files
的writeString()
可寫出字串到檔案;readString()
可從檔案讀取字串。。
2021/11/5
2021/11/3
2021/11/2
2021/11/1
2021/10/31
2021/10/30
2021/10/29
2021/10/28
PostgreSQL 識別名稱最大長度 identifier name max length
PostgreSQL識別名稱(identifier name),也就是資料庫、資料表、欄位、索引等的名稱,的最大長度限制為63 bytes。
AWS 允許IAM使用者存取帳單資訊 grant IAM user access billing
AWS預設只有root user才能存取帳單資訊(Billing),IAM user無法存取。開啟IAM user也能存取帳單資訊的方式如下。
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
Golang 連線到AWS RDS Aurora MySQL cluster 帳號密碼認證 connect to aws rds mysql aurora cluster auth by username and password
Go連線到AWS RDS Aurora MySQL cluster,使用資料庫帳號密碼驗證(非IAM驗證)。
Golang 連線到AWS RDS MySQL資料庫 帳號密碼認證 connect to aws rds mysql instance auth by username and password
Go連線到AWS RDS MySQL資料庫實例,使用資料庫帳號密碼驗證(非IAM驗證)。
2021/10/23
2021/10/21
AWS RDS 無法從本機連線 unable to connect from localhost client
AWS RDS建立資料庫後,無法從本機(localhost)客戶端連線到資料庫的解決方式如下。
2021/10/20
2021/10/19
2021/10/18
2021/10/17
2021/10/16
2021/10/15
AWS IAM AdministratorAccess 管理權限政策 admin policy
AWS建議應使用IAM user來管理AWS服務/資源,避免以root user進行日常的AWS管理操作來提升帳戶的安全性,通常在註冊新的AWS帳戶後第一件事就是建立一個有管理權限的IAM user,其權限幾乎同root user。
2021/10/14
2021/10/13
2021/10/11
2021/10/10
2021/10/9
2021/10/7
2021/10/6
2021/10/3
2021/10/2
Golang 從http.Request取得URL參數 get url query string
Go 從http網頁伺服器接收的請求http.Request
取得url參數(query string)的方式如下。
2021/10/1
2021/9/30
2021/9/29
2021/9/28
2021/9/27
2021/9/25
2021/9/24
2021/9/23
2021/9/21
2021/9/20
2021/9/19
2021/9/17
2021/9/16
2021/9/14
2021/9/12
2021/9/11
2021/9/9
2021/9/8
Golang JSON Injection 安全漏洞 json.Unmarshal to map[string]interface{}
最近碰到Go原始碼在靜態程式碼掃描時警告有JSON Injection漏洞(vulnerabilities),本篇紀錄解決方式。
2021/9/7
2021/9/6
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{})
的差別如下。
2021/9/3
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
錯誤。
2021/9/1
2021/8/31
2021/8/30
Spring Boot REST API使用ResponseEntity返回自訂的HTTP status及Content-Type
Spring Boot在Controller或ControllerAdvice可使用ResponseEntity<T>
自訂回應(Reesponse)返回的HTTP狀態碼及Content-Type如下。
2021/8/29
Apigee 新增API proxy的API key
Apigee的API proxy可以設定VerifyAPIKey
policy來要求客戶端請求必須帶入API key才能存取Apigee API而產生API key(又稱Consumer key)的方式如下。
2021/8/28
2021/8/27
2021/8/26
2021/8/25
Git 空提交 empty commit
空提交(empty commit)是指沒有任何異動檔案在stage但仍要提交一個commit,會空提交的原因可能包括為了觸發pre-commit檢查、CI pipeline作業或隔離修改檔案名稱的提交。
2021/8/24
Visual Studio Code vscode-go 開啟測試程式覆蓋率高光效果 enable test coverage highlight
在Visul Studio Code(VSCode)的Go擴充套件開啟Go測試程式覆蓋高光效果。
2021/8/23
2021/8/22
Go short Variable Names convention 簡短的變數命名慣例
開始學習Go三個月下來最讓我感到疑惑之一的是Go的變數命名。除了MixedCase命名(camelCase)可以理解外,過於簡短的命名對身為Java工程師和讀過Clean Code的我不太能理解。
2021/8/21
GitHub 如何對開源專案發Pull Request how to create pull request for open source project
對GitHub上開源專案發Pull Request(PR)的步驟如下。
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
2021/8/18
Golang pre-commit搭配golangci-lint hook做linting檢查
在Go專案利用pre-commit搭配golangci-lint做git commit前的linting檢查。
2021/8/17
pre-commit 修改repo存放位置
pre-commit執行時會先把.pre-commit-config.yaml
設定檔中的repo下載到本機的~/.cache/pre-commit
供hooks執行使用。可使用下面方式修改存放位置。
2021/8/16
2021/8/15
Git 什麼是Git Hooks?
Git Hooks是Git在進行某些操作如commit、merge、push的前後會觸發執行script的機制,並可藉此做些自動化作業如程式碼linting、coding style檢查、comment格式檢查、執行測試等。
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
2021/8/11
Windows 命令列設定路徑到PATH環境變數 cmd set new path to PATH environment variable
Windows系統在命令列(cmd)設定指定路徑到PATH環境變數的方式如下。
2021/8/10
2021/8/9
2021/8/8
2021/8/7
2021/8/6
2021/8/5
2021/8/4
2021/8/1
2021/7/31
2021/7/28
2021/7/27
2021/7/26
React 錯誤邊界捕捉Component錯誤 Error Boundaries catch components error
React使用錯誤邊界(Error Boundaries)捕捉Components錯誤範例。
2021/7/25
2021/7/24
2021/7/23
2021/7/22
React Controlled Component與Uncontrolled Component差別
React form表單中Controlled Component與Uncontrolled Component差別。
React 在父組件及子組件間傳遞資料 pass data between parent and children components
React Parent Component(父組件)與Child Component(子組件)間傳遞資料的方式如下。
2021/7/21
2021/7/20
React Component,Component instance,React element差別。
React中Component,Component instance,React element的差別如下。
React 使用Create React App建立React應用程式
Create React App是React官方支援的建立React應用程式/專案工具,下面以此工具建立一個簡單的Hello World React應用程式。
2021/7/19
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
2021/7/16
2021/7/15
Golang 從私有的GitLab取得依賴module Unable to get modules from private gitlab repository
今天第一次執行go run
運行專案時因為go.mod
中的一些依賴module無法下載倒置無法運行。
2021/7/14
Linux Shell Bash 長命令折行 break long command to next line
在Linux shell如bash輸入長命令時會超過右邊視窗不易觀看,可使用反斜線(backslash)\
將長命令折成多行方便觀看。
2021/7/13
2021/7/12
2021/7/11
2021/7/10
2021/7/9
2021/7/8
2021/7/7
2021/7/6
2021/7/5
2021/7/4
2021/7/3
面試 我的優點和缺點是什麼?
面試常會被問到 「你自認有哪些優點及缺點?」這問題。即使我有許多面試經驗但總是沒有花時間去準備,總是被問到才開始想破頭。最近意識到自己很明確的一項優點,藉此紀錄整理一下。
Golang Interface 簡介
Go語言的Interface(介面)是由一組方法簽章(method signatures)組成的型態,其變數可儲存任意實現其方法組(method sets)的型態的值,目的為定義型態的行為。
2021/7/2
2021/6/30
2021/6/29
Spring Data JPA NamedParameterJdbcTemplate Oracle 11g page query 分頁查詢範例
Spring Data JPA使用NamedParameterJdbcTemplate
對Oracle 11g使用native sql做動態條件及分頁查詢範例。
2021/6/28
Spring Boot Test MockMvc 取得回應JSON結果 get response json
Spring Boot Test 印出Controller REST API回應的json內容。
2021/6/27
jQuery UI Autocomplete從Spring Boot Controller取得資料範例
jQuery UI的Autocomplete(欄位自動完成)透過ajax從Spring Boot Controller取得資料範例。
2021/6/26
Golang 函式為變數及引數傳遞 Function values and pass as arguments
Go語言的function(函式)可作為變數及另一個函式的引數(arguments)傳遞。
2021/6/25
2021/6/24
Spring Data JPA 自訂序號產生器 custom sequence generator for Oracle
Spring Data JPA使用自定序號產生器產生Oracle資料表的自訂流水號。
2021/6/23
2021/6/22
2021/6/21
Spring Boot AOP MethodInterceptor 方法攔截器 簡單範例
Spring AOP的MethodInterceptor
可以用來對目標方法進行呼叫前及回傳後的攔截並切入邏輯。
2021/6/20
2021/6/19
2021/6/18
2021/6/17
2021/6/16
2021/6/15
Oracle SQL Developer 欄位自動增量設定 column set auto increment
Oracle SQL Developer設定欄位自動增量(auto increment)的方式如下。
2021/6/14
Golang struct 結構 簡單範例
Go語言的struct(結構)為包含多個屬性的資料型態,用來組織多個具有意義的資料。類似物件導向語言(e.g. Java, C++, C$)的類別(class)。
2021/6/13
2021/6/11
2021/6/9
2021/6/8
Spring Boot 關閉啟動時的Spring logo標題 disable console spring logo banner
Spring Boot專案在啟動時都會在console印出Spring ANSI圖形,關閉方法如下。
2021/6/7
Redis Windows 7安裝圖形管理介面 AnotherRedisDesktopManager
在Windows 7 64Bit安裝Redis 圖形使用介面(GUI) AnotherRedisDesktopManager。
2021/6/6
2021/6/4
2021/6/3
2021/6/2
2021/6/1
2021/5/31
2021/5/30
Bootstrap 5 Layout Containers簡介
Bootstrap Containers為響應式頁面佈局(layout)容器,使用Bootstrap的grid排版時必須在container中使用。
2021/5/29
Thymeleaf th:styleappend 附加 CSS style
Thymeleaf模板頁面使用th:styleappend
在HTML標籤既有的style
屬性值額外附加其他CSS style。
2021/5/28
2021/5/26
Thymeleaf 行內表示式 Expression inlining
Thymeleaf 在模板頁面除了th:text
標籤屬性搭配${...}
帶入變數外,還可使用行內表示式[[...]]
或[(...)]
帶入變數。
2021/5/25
2021/5/24
Spring Boot Thymeleaf 使用th:with設定變數 set local variables
th:with
設定所屬標籤的的變數。
2021/5/23
Thymeleaf 頁面片段 th:insert、th:replace、th:include 差別
Thymeleaf 插入頁面片段屬性th:insert
、th:replace
、th:include
差別如下。
Spring Boot Thymeleaf 選擇物件表示式(星號語法)*{...} expressions on selections (asterisk syntax)
Spring Boot Thymeleaf 星號語法*{...}
用法如下。
2021/5/22
Spring Boot Thymeleaf 使用th:[attrname]設定標籤指定屬性 setting element specific attribute
Thymeleaf使用th:[attrname]
設定html標籤的指定屬性。
2021/5/21
Spring Boot Thymeleaf 取代頁面片段 replace page fragment
Spring Boot Thymeleaf 模板使用th:replace
可用指定的頁面中的標籤取代。當多個頁面中有重複出現的部分時(例如logo、header、選單、導覽列,footer區塊)便能利用插入片段的方式來提高維護性,當共同部分需要修改時只要修改被插入的片段即可。