Blog

[簡單開箱與安裝] 升級微星3080-12G顯卡與850W全模組金牌電源

[簡單開箱與安裝] 升級微星3080-12G顯卡與850W全模組金牌電源

上星期滑手機逛 「PTT-HardwareSale」看到的,有位賣家只用了兩個多月時間,就因為他的 ITX 主機體積太小緣故所以想出售他分期購買的「MSI GeForce RTX™ 3080 VENTUS 3X PLUS 12G LHR」顯示卡。乖乖,五月份時他買 NT$29,000,現脫售 NT$16,000,雖然這期間顯卡大跳水,但這張全新仍要賣近2萬1,真不太敢相信,但還是與之 Line 聯繫,果不其然,排隊想買的人一堆,我難得排到第一位,與之聯繫,對方是位碩士研究生,談吐也有禮貌,且真的附有發票與保固證明 (四年保),外觀幾與新的一樣,所以就現金交易垛手買下去了。

不過我現在桌機的電源供應器仍停留在10來年前所購買的「be quiet! Golden 650w」。這顆電供相當滿意,從未出過任何問題,但要應付 3080 這種吃電怪獸 (需要雙8pin),瓦數起碼要 750W 以上,所以我又趁原價屋蝦皮有折價券時購買了顆「海韻 FOCUS GX-850 850W 金牌全模組」電源供應器,折扣後大約 NT$3,600。然後再買了高檔的「林帝 36302 DISPLAYPORT 2M 傳輸線」,以及要作為遊戲碟與外置模擬器遊戲的「美光 MX-500 1T SSD」、「Toshiba Canvio Ready  2T USB 3.2 外接硬碟」,總之這次升級總費用不到 2萬5,基本上是相當滿意的。

其實使用桌機這幾十年,我還真從沒有買過像這樣如此高檔的顯示卡,一般買的顯卡不會超過 1萬,大約能輕中度遊戲即可。這次我算是為了想要暢玩「碧血狂殺2 (Red Dead Redemption 2)」,還有更重要的是想要跑 AI 運算,至少可以跑 KataGo 來幫我分析在野狐圍棋對局的覆盤 (現勉強站穩野狐 7D),那肯定確實對我的棋力提升有莫大的幫助。

閱讀全文 »

2022 開春帶著狗堡自駕環島遊 – Day 3 台東-太麻里-高雄旗山

2022 開春帶著狗堡自駕環島遊 – Day 3 台東-太麻里-高雄旗山

※ 第一天的旅遊日誌:「2022 開春帶著狗堡自駕環島遊 – Day1 宜蘭-花蓮」。

※ 第二天的旅遊日誌:「2022 開春帶著狗堡自駕環島遊 – Day2 花蓮-南橫-台東」。

台東「石尚玩家」這家民宿住宿體驗真的太棒了!隔天還附有豐盛的早餐。然後遇到老闆娘很是健談,她自己還說很享受在台東風光明媚的生活,很難想像在台北吵雜潮濕如何過日子,確實令人欣羨。

後來老闆娘還特地介紹她們夫妻倆開設的石頭木雕收藏室,裡面擺設的木雕奇石,讓人嘆為觀止!可惜我全不懂這,無法品頭論足,但可以感受出收藏者的用心。

閱讀全文 »

入手 Kingroon KP3S 超便宜單懸臂 3D印表機

入手 Kingroon KP3S 超便宜單懸臂 3D印表機

上個月中無聊看片時,看到對岸B站這篇:「不到800元的線軌全金屬印表機,真的能用嗎?」。

其實已經有一年時間沒玩 3D 打印了,但看到淘寶賣的這台 KP3s 單懸臂但 X/Y 軸是線軌的機器,優惠 (原價 RMB 1399 折扣後為 610 ) 後的價格只大約折新台幣 2,700 元,便宜得太過不可思議,所以實在忍不住給它剁下去下單。因為體積不大 (大印面積 18x18x18 cm),所以打算就近放在書房,三不五時打印個小公仔當成手伴送人。

我再加買了三卷耗材、一瓶 LAC 噴霧膠水 (對岸 3D打印達人阿文菌 強力推薦的)、其它一些備用零件等,總價才只要新台幣 $4,737,當為大人的玩具,太太便宜啦。🤣🤣

這次我是透過私人集運商的海運送回,運費不到 1千元。反正也不急著裝,運費便宜實在就好。

閱讀全文 »

Zotero 6 的同步與雲端硬碟設置

Zotero 的文獻庫管理包括了各類文檔的項目 (item)、標籤 (tag)、標記 (annotation) 與 文檔的附件 (pdf, doc, web page, ...)。它們被統一儲存在特定的資料夾內,安裝時預設的儲存位置為系統所屬的帳號目錄內,如 Windows 用戶儲存位置為 C:\Users\login-account-name\Zotero。當然,這個位置可以在開啟 Zotero 後自行變更位置,例如我把它設定於 D:\Zotero 資料夾,

預設該資料夾內有相關設定的檔案、資料夾,還有使用 sqlite 資料庫檔案來儲存上述相關文檔的資訊。如果涉及到多個裝置同步使用共同文檔的議題,當然就勢必需要設定同步儲存的位置。最簡單的方式就是申請 Zotero 帳號,然後購買儲存空間 (因為免費版本僅提供 300 mb,是無法儲存多量的附檔)。如此都不用煩惱如何作有效的同步設定。

當然,能省就省,退而求其次,如果擁有私有雲或雲端儲存服務有提供 WebDAV 協定的存取,那也是只要設定好存取位置就可以達成同步的需求。官方有列出關於提供 WebDAV 服務的 ISP 列表 (對岸最有名的即是堅果雲)。

如果沒有上述兩個條件,那麼同步的設定就有些些麻煩,當然就只能利用雲端硬碟的方案來達成同步的需求。同步設定的一個必要觀念就是:不要把上述所提及 Zotero 的文檔資料夾全給指定在雲端硬碟位置上,否則會出問題!(道理很簡單,sqlite 資料庫檔案係處於 open 狀態,直接儲存肯定出問題)

其實真正要同步的是如 PDF 那些附檔案,而它們會被儲存在位於 \Zotero\storage 資料夾內的某一隨機數字名稱的資料夾。使用隨機數字所儲存的資料夾看來很無序,但這是 Zotero 內建的索引機制,如果不想這樣用它,是可以使用第三方插件 - zotfile 來達成對資料夾更有意義的命名,它會改以鏈結附檔 (Linked Attachment) 的方式來管理文檔與附件之間的關聯。這種方式看起來相當不錯,尤其是多個裝置要存取這些鏈結附檔時都能有一致的路徑,只要這些附檔所在主資料夾內的參考路徑不變。但使用 zotfile 改為鏈結方式有個最大的問題:要刪除文檔時,所關聯的附檔不會一併被刪除,當日久量大的時候就很有可能會造成冗餘或重複的附檔。

關於如何使用 zotfile 的鏈結附檔,可以參考下述文章:

o zotero配置全流程——安装、同步与插件

o 使用Zotero进行从未有过的畅快学术体验

o Zotero + Onedrive 文献管理神器的网盘同步设置

不過幾經嘗試與比較,目前還是決定先採用官方內建的儲存管理方式,來得比較單純,日後如果 zotfile 能解決了鏈結附檔同步更新與刪除等問題,再來改換也是可以的。

其實 Zotero 的同步,主要就是考量兩個議題:

  • 資料檔案夾 (如 D:\Zotero) 內相關的配置檔案、sqlite 資料庫檔案等如何同步?
  • 附檔案所在的資料夾 (如 D:\Zotero\storage) 該如何同步?

第一點很簡單,就是仍使用官方的「Data Sync」,但不使用「File Sync 」,也就是把下圖中的「檔案同步中」兩個選項取消勾選。其實就是附檔案不採用官方的同步,而「Data Sync」所佔用空間極小,預設的 300 mb 是足足有餘。

Zotero 6 的同步
閱讀全文 »

數位文件整理與摘記的好工具 – Zotero 6

數位文件整理與摘記的好工具 – Zotero 6

這是去年在研究 Obsidian 如何實踐 zk 方法論 (Zettelkasten, 卡片盒筆記法) 時,發現到在整理其中所謂「文獻筆記 (Literature Note)」時,也就是把閱讀時的標註摘記,與所參考的文件 (PDF 或網頁等) 集中整理在 Zotero 文獻管理工具,而 Obsidian 主要就可以用來整理所屬自己想法的「永久筆記 (Permanent Note)」。

其實這個工具若是大學院院校撰寫學術論文的學生與教授們應該是很熟悉的 (但我那個就學時代並沒有這種如此神奇的工具),但常有閱讀習慣 (主要針對數位文件) 的「Knowledge Worker」,可以很方便的把 PDF 與 網頁文章等放入 Zotero 內的文獻庫集中管理,而其中 PDF 附檔案可以直接儲存在如 Google、Dropbox、OneDrive 等雲端硬碟,而可以達成多個裝置存取閱讀的便利性。

所以,Zotero 的主要作用是什麼? 引用官方的「quick start guide」說明:

Zotero is, at the most basic level, a reference manager. It is designed to store, manage, and cite bibliographic references, such as books and articles. In Zotero, each of these references constitutes an item. More broadly, Zotero is a powerful tool for collecting and organizing research information and sources.

(Zotero 在最基本的層面上是一個參考文獻管理器。它被設計用來儲存、管理和引用書目參考資料,如書籍和文章。在Zotero中,這些參考文獻中的每一個都構成一個項目。更廣泛地說,Zotero 是一個收集和組織研究訊息和來源的強大工具。)

而今年初 Zotero 更是迎來了重大改版 6.x ,新增了相當多的功能,具體細節可參考官方介紹:「Zotero 6: Your research workflow, transformed」。主要新增功能:

閱讀全文 »

C#.NET Core CRUD 基本資料維護實作範本 – 三層式架構以及可以切換 E.F Core 6 與 ADO.NET 實作

C#.NET Core CRUD  基本資料維護實作範本 – 三層式架構以及可以切換 E.F Core 6 與 ADO.NET 實作

已經整理好 C#.NET Core CRUD (Create,Read,Update,Delete) 基本資料維護的實作範本,並已上傳至 Github 供下載:https://github.com/kenming/petstore-crud-template-csharp

關於該範本如何執行 (包括跑單元測試)、主要引導功能、開發工具與建置、類別圖展示等,已具體詳細寫在 README.md 文件。

建議要執行該應用程式前,先更改下 Sqlite 資料庫檔案路徑,然後先執行測試專案內的所有單元測試方法

關於該範本所涵蓋的一些設計思維與所對應的實作問題,版友們可以提問討論與分享想法。關於程式碼的實作細節與設計思維,我還會另撰寫文章詳細說明。

後續的版本演進我會再加上:

  • 多個表格關聯的 CRUD 實作。
  • 使用 Mock 應用在單元測試,隔離 Service 類別依賴具體 Dao 的資料庫存取。
  • 使用 Vue UI 框架整合本範例。

Brief Description

網路上看到關於基本資料維護的 CRUD 範例幾乎都是資料導向 (data oriented) 的寫法,也就是把 MVC Controller 與 資料存取綁在一起。現實上稍有規模的專案採用這種開發模式會導致系統的複雜度提升,不容易應變。

花了幾天時間撰寫了 C#.NET Core (前年有寫過 Java Spring 的版本) 關於單一資料表的 CRUD 程式碼範本,這是一個完全符合三層式架構的應用程式,同時我這個專案範本可以切換 E.F Core 與 ADO.NET 資料庫的存取實作。

關於 Java/Spring 版本,我則打算再重新改寫,架構當然與 C#.NET Core 是一樣的,只是實作的細節必然會調整下。資料庫的存取方式則打算同時提供 JDBCTemplate 與 MyBatis 的 CRUD 範本。

Features

  • 提供開發三層式 (Presentation -> Application Logic -> Datasource) 架構的 CRUD 實作範本
  • 同時提供 E.F Core (Entity Framework Core) 與 ADO.NET 資料存取方式,並可以切換資料庫存取的實作
  • 實作 E.F Core 與 ADO.NET 的 DAO (Data Access Object) 均各自有撰寫單元測試程式 (Unit Test Code)
  • 專案內嵌 Sqlite,並使用兩種實作方式:
  • File-based 為正常存取用的資料庫,提供給 View 操作
  • Memory-DB 應用在單元測試的 Create, Update, Delete ,避免影響到正常資料庫的存取行為

Development

閱讀全文 »
軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal