認識一下 ORID 焦點討論法

你有遇過鬼打牆的對話過程嗎? 明明是在同一場會議中,但是卻一直覺得別人不懂你的想法,或是你一直不懂別人在想什麼,彼此的想法就好像是個平行世界一般沒有交集。 人類思考的過程並不是那麼簡單,只要聽完對方說的話就可以理解對方的想法。 「ORID 焦點討論法」是個可以改善這種狀況的其中一種解決方案。 ...

18 October 2025 · 2 min · nyo

最輕量安裝的 Debian 加 Gnome

原本手上有台筆電是安裝 ubuntu 的,但是最近一些問題不想繼續使用 預設的應用程式,強制改用 snap 安裝 會看到 ubuntu pro 的廣告 OS 版本更新雖然快,但是不穩定 效能有點差 所以我打算回到 Debian,自己掌握自己的筆電,選擇最小安裝,只安裝有需要的軟體,以最小化需要的硬碟空間跟記憶體 ...

20 July 2025 · 1 min · nyo

在 Vim 使用 Copilot Chat

之前的 試用 Copilot + Vim,可以在 Vim 上使用 Copilot 最近發現 plugin 可以在 vim 上使用 Copilot Chat Plugin: https://github.com/DanBradbury/copilot-chat.vim 安裝與設定 Copilot Chat 以下為 vim-plug 的安裝方式 編輯 .vimrc,加入以下設定 1 2 3 call plug#begin() Plug 'DanBradbury/copilot-chat.vim' call plug#end() 執行 :PlugInstall 安裝 plugin 設定 copilot chat ...

20 April 2025 · 1 min · nyo

在 GCP 建立有 Desktop 環境的 VM

記錄一下在 GCP 上開一台有桌面環境的 VM 的過程 開一台 VM 到 GCP 的 compute engine,建立一台 VM,以下是這次測試選用的設定 e2-medium (2 vCPU, 4 GB) Spot 等待 VM 建立完成 從 VM 列表上點 SSH 連線,會開啟一個 SSH 的 web terminal 登入 VM 安裝 Chrome Remote Desktop 在 SSH 視窗,輸入以下指令,安裝 Chrome Remote Desktop 1 2 3 4 5 6 7 curl https://dl.google.com/linux/linux_signing_key.pub \ | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/chrome-remote-desktop.gpg echo "deb [arch=amd64] https://dl.google.com/linux/chrome-remote-desktop/deb stable main" \ | sudo tee /etc/apt/sources.list.d/chrome-remote-desktop.list sudo apt-get update sudo DEBIAN_FRONTEND=noninteractive \ apt-get install --assume-yes chrome-remote-desktop 安裝 X Window 這次測試選擇安裝 Xfce (輕量級的桌面系統) 1 2 sudo DEBIAN_FRONTEND=noninteractive \ apt install --assume-yes xfce4 desktop-base dbus-x11 xscreensaver 設定 Chrome Remote Desktop 預設使用 Xfce 1 sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session' 設定 Chrome Remote Desktop 服務 打開 https://remotedesktop.google.com/headless ,並確定你有登入任一個你要使用的 google 帳號 點開會出現「設定其他電腦」畫面 點擊「開始」,出現「透過下列網址在遠端電腦下載並安裝 Chrome 遠端桌面」畫面 點擊「繼續」,出現「授權 Chrome 遠端桌面設定新電腦。」畫面 點擊「授權」,出現設定指令 複製 Linux 用的指令,貼到 SSH 的視窗執行 1 DISPLAY= /opt/google/chrome-remote-desktop/start-host --code="4/0ATx3LY71DU2nq2CmTa0uorP4VgjKPKqv9oCvMybpDLyaBXAQqGdqVals3lsLjlmfidEpIg" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=$(hostname) 依提示「Enter a PIN of at least six digits」輸入 PIN 碼 檢查 Chrome Remote Desktop 服務是否運作 1 sudo systemctl status chrome-remote-desktop@$USER 有順利運作的話,可以看到 running 的狀態 1 2 3 ● chrome-remote-desktop@user.service - Chrome Remote Desktop instance for user Loaded: loaded (/lib/systemd/system/chrome-remote-desktop@.service; enabled; preset: enabled) Active: active (running) since Fri 2024-06-00 00:00:00 UTC; 1min 10s ago 登入 Desktop 打開 https://remotedesktop.google.com/ 在「遠端存取」的畫面,可以看到 VM 出現了 點擊 VM,輸入 PIN 碼,點擊前進按扭 成功登入 Linux 桌面了 可以開始在桌面環境工作了 Reference https://cloud.google.com/architecture/chrome-desktop-remote-on-compute-engine

29 June 2024 · 1 min · nyo

用 zsh-bench 來測試 zsh 啟動速度

在調效 zsh 環境時 (使用 Prezto 取代 Oh-My-Zsh),找到一個算是簡單上手的效能測試工具 zsh-bench (https://github.com/romkatv/zsh-bench),在設定 prezto 時就是用它來比較各種設定下的 zsh 啟動速度。 執行 zsh-bench git clone 該 repo 1 git clone https://github.com/romkatv/zsh-bench 執行 zsh-bench ...

03 June 2024 · 2 min · nyo

使用 Prezto 取代 Oh-My-Zsh

我的 terminal 環境目前是 oh-my-zsh,使用上常常會在開啟或是輸入指令有明顯的 lag,oh-my-zsh 雖然有大量的 plugin 可以使用,但是實際上我會用到的 plugin 也就少數的特定幾個而已。是時候該讓 omz 退休,換上其他更有效率的 framework。 ...

26 May 2024 · 2 min · nyo

把 CLI 的色彩主題換成 Catppuccin

最近發現了一個有趣的東西,名為「Catppuccin」的色彩主題 (themes)。 https://github.com/catppuccin/catppuccin Catppuccin 的配色看起來十分柔和,提供了一個亮色跟三個暗色共四種配色: Latte Frappé Macchiato Mocha 比較誇張的是這個色彩主題支援的包山包海的應用程式跟網站。 我這次打算換成次暗的 Macchiato,以下記錄我這次安裝的設定。 ...

19 May 2024 · 1 min · nyo

使用 Docker Compose 測試 Redis Sentinel

什麼是 Redis Sentinel redis sentinel 讓 redis 擁有高可用性 (high availability)。 sentinel 會監控 redis 服務,在主節點 (master) 異常時啟動容錯移轉 (failover),將複製節點 (replica) 提升成主節點,並告知跟 sentinel 建立連線的客戶端。 要實測一個最簡單的 redis sentinel 服務,我們需要 3 個 redis + 3 個 sentinel 的架構。使用 docker compose 可以直接在一台電腦上建出這樣的環境。 ...

06 April 2024 · 4 min · nyo

使用 retry-go 制定再試策略

現在寫程式常常都會有大量的 API 溝通,現實世界常會遇到像是網路不穩定等等的情況,這時有再試策略 (retry strategy) 就很重要了。 retry-go 是一個可以讓我們自定再試策略 (retry strategy) 的套件。 ...

23 March 2024 · 3 min · nyo

Mac 產生的 ._ 檔案

我在移動 Mac 檔到其他系統時,都會出現 ._ 開頭的檔案。一開始只是隨手刪除,但是每次都會產生這些垃圾檔案,實在是有點惱人。 為什麼會有 ._ 開頭的檔案? Mac 會存一些附加資訊到檔案裡,當移動檔案到非 Mac 的檔案系統時,就會產生 ._ 檔案來存放附加資訊 ...

10 March 2024 · 1 min · nyo

自架簡單的 Elasticsearch 服務

Elasticsearch 是目前很熱門的分散式搜尋引擎,為了讓自己有個環境方便研究 ,所以整理了一份可以在自己電腦上快速啟動 Elasticsearch 的 docker-compose.yml Elasticsearch 本身提供 RESTful API 做為使用介面,如果想要視覺化的介面,需要再加上 Kibana。 ...

09 February 2024 · 2 min · nyo

讓 Vim 支援 YAML 檔

來更新 vim 設定,在寫 yaml 時可以舒服一點。 目前版本是 Vim 9.0 設定縮排 我習慣的 yaml 縮排是兩個空白,在 vim 就針對 yaml 檔設定: 1 autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab 語法 原本有裝 stephpy/vim-yaml 這個 plugin,這次就刪掉了 ...

20 January 2024 · 1 min · nyo

什麼是 VO2 Max

入手 Garmin 運動錶有一陣子了,有工具輔助追蹤跟記錄運動的狀況也讓我維持了一定程度的運動習慣 Garmin 記錄的數值非常多,一般的跑步時間、心率、步數等,可以一看就懂。但是其他還有很多數值(ex. VOs Max, HRV)就是有看沒有懂了。 ...

06 January 2024 · 1 min · nyo

2023 年度回顧

回顧 blog 成果 沒有辦法達到每月至少發一篇的標準 篇數有踩在平均一個月一篇的最低標準 文章還是以測試工具或是小功能的實作為主,深度的經驗分享的部份還是很少。 自我分析 五六月時,工作上的事吃掉了大部份的時間跟注意力,短暫的中斷了 blog 的更新 寫文章的步調有比較順暢,從想到內容到發佈,快一點可以兩三天就完成 平時常常會突然想到,跟某某同事討論的主題可以整理起來寫一篇文章,不過在沒有記錄下來加上時間一久,就沒辦建構出完整的前後文。這些素材都錯過了。 給自己的期許 盡可能的把工作上的經驗記錄下來,才有機會讓文章更有深度 隨時觀察自己的時間管理跟注意力管理,不要讓再工作給吃光光 也許可以分享一下自己糟糕經驗(要記得不要抱怨XD)

02 January 2024 · 1 min · nyo

使用 gomock 寫測試

gomock 原本是 golang 官方維護的套件,不過因為有一段時間沒有在維護了,在 2023 年 6 月時就改由 uber 團隊接手維護了。 停止維護: https://github.com/golang/mock 目前有在維護: https://github.com/uber-go/mock 安裝工具 安裝 mockgen 工具,gomock 套件 ...

31 December 2023 · 2 min · nyo

試用 Copilot + Vim

Github Copilot 是 Github 推出的 AI 程式開發工具,只要你先設計好程式要怎麼運作,剩下的 Copilot 就會幫你完成了。 要使用 Copilot 首先要在 Github 訂閱 Copilot,再來要在 IDE 裝好套件就可以開始使用了。 ...

05 December 2023 · 1 min · nyo

什麼是估點

在 團隊的估點(Story Point)經歷 | Nyo’s Study Book 這篇分享過一些估點的經驗,今天回頭過來介紹什麼是估點 軟體開發往往會遇到評估開發時程的難題,直覺上多數人都會以「工時」進行估計。但現實是開發過程總是會遇到各式各樣的問題,讓估計跟現實有很大的差距。 ...

04 December 2023 · 2 min · nyo

Windows 上的套件管理工具

平常工作使用 Linux 或是 Mac 都有很完善的套件管理工具可以使用。 自己的 Windows 桌機雖然是休閒用途,但是前前後後也裝了不少的程式,照顧上有點小麻煩。 所以在 Windows 上也要找找適合的工具使用。 ...

11 November 2023 · 2 min · nyo

使用 Cobra 製作有多層指令的應用程式 (Nested Subcommands)

Cobra 是一個很方便 cli 函式庫,有許多的 project 都是用他來寫 cli 應用程式,我自己也是很常使用的。 不同於 kubectl, hugo 這類的專案,自己寫的 cli 應用程式,常常會混著主要的應用場景指令、工具型指令或是更臨時的暫時性工具指令。當指令一多時,不免會覺得檔案過多過亂。 ...

17 September 2023 · 2 min · nyo

使用 Helm 部署 Gitlab Runner 到 Kubernetes

準備工作 在開始部署前,需要準備好以下環境: 建立 Kubernetes cluster 安裝 kubectl,並設定好可以操作 Kubernetes cluster 安裝 Helm 本次測試版本 kubernetes: v1.27.3-gke.100 kubectl: v1.27.3 helm: v3.12.2 設定 values.yml 在使用 helm 部署之前需要先建立 values.yml 設定你的 Runner 環境。Gitlab Runner 預設的 values.yml 就放在 chart repository ...

09 September 2023 · 2 min · nyo