網頁

2022/12/31

今日風情 20221231

2022年12月31日星期六。

日誌 20221231 2022年底回顧

2022年最後一天,回顧今年展望明年。

2022/12/30

React Material UI fetch data from Go

React套用Material UI從Go REST API獲取資料。

React Material UI hello world

React使用Material UI元件函式庫(component library)。

2022/12/29

Golang GORM 刪除資料 delete data

Go使用GORM ORM套件刪除資料的方式如下。

Golang GORM join查詢

Go使用GORM ORM套件做select join查詢的方式如下。

2022/12/26

Git 無法刪除遠端分支 unable to delete remote branch

Git使用git push origin --delete <branch_name>刪除遠端分支時發生error: unable to delete '<branch_name>': remote ref does not exist而無法成功刪除。

2022/12/25

廢衣架可不可以回收?

廢衣架可不可以回收?答案是「可以」。

今日風情 20221225

2022年12月25日星期日。

2022/12/24

Golang GORM 顯示SQL

Go使用GORM ORM套件查詢時顯示SQL的方式如下。

Golang GORM 查詢count筆數 select count

Go使用GORM ORM套件做select count筆數查詢的方式如下。

今日風情 20221224

2022年12月24日星期六,耶誕夜。

Golang GORM 條件查詢 select where query

Go使用GORM ORM套件做SELECT ... WHERE依條件查詢的方式如下。

2022/12/23

今日風情 20221223

2022年12月23日星期五。

2022/12/22

Golang GORM 修改資料 update data

Go使用GORM ORM套件修改資料的方式如下。

Golang GORM 新增資料 insert data

Go使用GORM ORM套件新增資料至資料庫的方式如下。

2022/12/21

今日風情 20221221

2022年12月21日星期三。

2022/12/20

Golang 正則表示式 regexp not start with 無作用

今天用Go的正則regexp以表示式^(?ab)\w+$想找出不以特定字串(e.g. "ab")為開頭的字串但沒作用。

今日風情 20221220

2022年12月20日星期二。

2022/12/19

Golang 產生nil pointer dereference

Go產生panic: runtime error: invalid memory address or nil pointer dereference的方式如下。

Git 篩選branch名稱

Git 查詢分支時依名稱篩選。

2022/12/18

今日風情 20221218

2022年12月18日星期日。

Golang RWMutex 讀寫互斥鎖簡介

Go goroutine做並行程序時,利用sync.RWMutex讀寫鎖(read write lock)限制goroutine對競爭資源的讀取及寫入。

今日風情 20221217

2022年12月17日星期六。

2022/12/15

Golang Ticker 定時器簡單範例

Go的time.Ticker為定時器,會定時發送當時時間到channel屬性C <- Time

WebSocket JWT Token怎麼帶?

前端與後端WebSocket server連線時,使用JavaScript的WebSocket API來進行連線如何夾帶token?

2022/12/14

Golang push RabbitMQ message to WebSocket client decouple 練習

本篇修改於「Golang 接收RabbitMQ訊息並推送到WebSocket client」,試著把RabbitMQ接收訊息與把訊息由WebSocket發送至WebSocket client的邏輯進行解耦的練習。

今日風情 20221214

2022年12月14日星期三。

2022/12/13

今日風情 20221213

2022年12月13日星期二。

2022/12/12

Golang WebSocket read: websocket: close 1006 (abnormal closure): unexpected EOF

今天在測試Go的WebSocket連線時,剛開始client都可收到訊息,但過一陣子卻發生收不到訊息的狀況,檢查log看到read: websocket: close 1006 (abnormal closure): unexpected EOF的訊息。

Golang WebSocket idle connection timeout

Go以WebSocket連線時,當client閒置一段時間都沒傳送訊息的情況下主動中斷連線的方法如下。

2022/12/11

Golang HTTP Server.Shutdown graceful shutdown

Go 1.8開始提供的http.Server.Shutdown可優雅地關閉server,稱為graceful shutdown。

2022/12/10

React WebSocket Go發收訊息

React與Go WebSocket發收訊息範例。

今日風情 20221210

2022年12月10日星期六。

React 從Go WebSocket接收訊息

React從Go的WebSocket獲取訊息範例。

React fetch data from Go REST API

React從Go REST API獲取資料範例。

2022/12/9

React 更新react版本

React專案更新react版本的方式如下。

今日風情 20221209

2022年12月9日星期五。

RabbitMQ Exclusive Queue

RabbitMQ的exclude queue(排他佇列)只允許宣告的連線進行消費、清除或刪除。

2022/12/8

今日風情 20221208

2022年12月8日星期四。

2022/12/7

Visual Studio Code 顯示編輯器的全部頁籤 show all editor tabs

VS Code編輯器開啟多個檔案會在上方以頁籤(tab)表示,當tab數量超出視窗範圍則預設移動水平捲軸來瀏覽不太方便,版本1.53後可設定workbench.editor.wrapTabs為true直接顯示全部的tab。

Golang 使用Channel取得goroutine的錯誤 to get goroutine error by channel

Go的goroutine函式因為是另個thread所以無法將錯誤以return回傳到main goroutine,因此可利用Channel來將錯誤(或其他結果)回傳到main goroutine。

Golang 接收RabbitMQ訊息並推送到WebSocket client

本篇介紹如何從RabbitMQ接收訊息然後推送到WebSocket client。

Mac Homebrew 安裝RabbitMQ

Mac使用Homebrew安裝RabbitMQ。

今日風情 20221207

2022年12月7日星期三。

2022/12/6

Visual Studio Code Go 跳轉到方法實作的介面

VS Code Go快速跳到方法實作的介面方式如下。

Golang interface{} 轉 map[string]interface{}

Go轉interface{}變數為map[string]interface{}的方式如下。

今日風情 20221206

2022年12月6日星期二

2022/12/5

Mac 更新macOS後執行git出現xcrun: error錯誤

今天更新macOS Ventura版本到13.0.1後執行git命命出現錯誤 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

今日風情 20221205

2022年12月5日星期一

Golang 建立WebSocket與HTTP server

Go建立WebSocket與HTTP server。

2022/12/4

PostgreSQL COLLATE 作用

PostgreSQL COLLATE用來設定欄位的排序規則及字元分類,又稱為「定序」。

Golang 註解換行 comment newline

Go程式的註解在註解中空一行即可換行。

目前的疑惑 20221204

Web仔要怎麼在台灣找到年薪150萬以上的工作?

今日風情 20221204

2022年12月4日星期日。

2022/12/3

今日風情 20221203

2022年12月3日星期六。

2022/12/2

Golang WebSocket hello world

Go WebSocket hello world範例。

Golang GORM jsonb欄位struct轉換

GORM查詢PostgreSQL的jsonb欄位的struct轉換。

2022/12/1

PostgreSQL timestamp with time zone與timestamptz差別

PostgreSQL欄位資料型態的timestamp with time zonetimestamptz是一樣的,表示包含時區資訊的時間戳記。

PostgreSQL character、char、bpchar差別

PostgreSQL欄位資料型態的charactercharbpchar是一樣的,表示長度固定、空白填充(fixed-length, blank padded)的字元儲存型態。