2022年第一天6:30起床(昨天清晨1:30才睡)。
2021/12/31
2021/12/28
2021/12/27
2021/12/26
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/11
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/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
2021/10/23
2021/10/21
2021/10/20
2021/10/19
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/12
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
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/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/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
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/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/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/12
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區塊)便能利用插入片段的方式來提高維護性,當共同部分需要修改時只要修改被插入的片段即可。