物品管理系統資料操作邏輯分析 - 目録

探討物品管理系統中資料操作的設計與流程,釐清新增與更新邏輯背後的技術考量 ...

2025-03-24 02:51:38 | 109 reads

Website Rebuild & Patch Notes

After months of planning and development, I'm excited to share the fully rebuilt version of my website. This update marks a major shift in both design and architecture — moving away from the legacy ASP.NET Core 2.1 MVC framework to a modern .NET 8 Blazor Web App, combining both Blazor Server and WebAssembly. In this post, I’ll highlight the ...

2025-03-24 06:32:25 | 72 reads

GitBash放棄本地修改並強制拉取遠端更新

這樣你的本地倉庫就會完全以遠端倉庫為準,並且本地的變更將被捨棄。如果有未提交的修改,請務必先確認是否備份需要的改動 ...

2024-09-17 04:12:16 | 1k reads

[CONTENT] Learn JLPT N2 Grammar

[1] How to use "あげく"? "あげく"の例文 [2] Learn JLPT N2 Grammar: あまり(に)の例文 [3] Learn JLPT N2 Grammar: "以上"の例文 [4] What does "以上" mean? How to use "以上" correctly? [5] What's the difference between 一方で and 一方だ? How to use them? [6] Learn JLPT N2 Gra ...

2021-01-03 04:56:10 | 5k reads

因 DateTime.Now 而當機:EF Core 寫入 timestamptz 的致命陷阱

以下是一篇以部落格形式撰寫的技術分享,用來說明「為什麼用原生 SQL 傳入 DateTime.Now 不會出問題,但透過 Entity Framework Core(EF Core)卻會拋出 Kind=Local 到 timestamptz 的異常」,並給出三種解決方案。 EF Core 與原生 Npgsql 在 DateTime 映射上的差異 ...

2025-05-15 08:25:53 | 2 reads

WinForms 非同步必學:用 async/await 擺脫 UI 卡頓

背景 在按鈕事件中若直接執行同步 I/O(如 ToList())或耗時計算,會鎖死 UI,畫面無法拖曳、重繪,甚至被系統標示為「(無回應)」。 1. await 的核心作用 分段執行 遇到 await 時,方法會將後續程式拆成 callback,先把控制權還給 WinForms 的訊息迴圈。 保證順序 有 await,後續程式碼僅在被 await 的 Task 完成後才執行;若忽略 await,便可能「fire-and-forget」 ...

2025-05-15 07:01:39 | 1 reads

📊 用 ClosedXML 讀取三行合併表頭的 Excel 資料(含欄位名稱查找技巧)

​ 在處理 Excel 檔時,表頭不一定總是單行的。有些報表的表頭可能會長成這樣: | 資産情報 | 担当者 | | | 氏名 | 年齢 | | | 氏名 | 年齢 | 這樣的三行表頭、跨列合併,對程式來說根本就是「惡夢」。 你想做的事可能很簡單: 根據「欄位名稱」去讀取對應的資料列,比如 "担当者 > 氏名 > 年齢"。 但 ClosedXML 並不會自動幫你解析這種結構,我們要自己動手,把「表頭→欄位編號」的對照表建立出來 ​ ...

2025-05-08 11:04:25 | 4 reads

我在用 Npgsql 搭配 EF Core 遇到的超大陷阱:UseSnakeCaseNamingConvention() 根本不存在!

我在使用 Npgsql.EntityFrameworkCore.PostgreSQL 搭配 Entity Framework Core 開發 PostgreSQL 專案時,想讓 KobetuCd 這類 C# 屬性自動對應資料表中的 kobetu_cd 欄位。網路上許多文章提到 .UseSnakeCaseNamingConvention(),說加上就能解決命名不對應的問題。 結果我死命找都找不到 UseSnakeCaseNamingConvention(),查了半天才發現這個方法根本不屬於 Npgsql,而是來自另外一個社群套件 ...

2025-05-07 08:49:21 | 4 reads

🛠️ PostgreSQL Backup/Restore Tool 使用介紹

本工具是一套圖形化介面的 PostgreSQL 備份與還原工具,支援標準 SQL(Plain SQL)與自訂格式(Custom Format)的備份與還原作業,適用於資料庫管理員與開發人員日常維護作業 ...

2025-05-02 06:03:47 | 2 reads

.NET 8 WinForms 使用 PostgreSQL + LINQ 實例教學

​ 如果你正在啟用 .NET 8 WinForms 對 PostgreSQL 執行 LINQ 操作,這篇簡明教學就是為你擾備的。 ᵀ. 安裝 NuGet 套件 打開 NuGet 套件管理器,執行: dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL ᵁ. 建立 DbContext 新增 BKDbContext.cs ​ ...

2025-05-02 01:44:18 | 2 reads

物品管理系統資料操作邏輯分析 - 管理換(受)済

【操作說明:供用官執行「管理換(受)」承認】 🔍 條件篩選 從 kanrigae_tbl 中查找符合以下條件的記錄: shori_sts = 51(處理狀態為「受理中」) seiri_kbn = 151(整理區分為「管理換(受)」) r_kyouyoukan_cd = current_op_cd(所屬供用官為當前使用者) 從符合條件的記錄中選出 一筆 doc_cd 作為本次操作對象。 ⚠️ 注意事項 本次操作屬於 供用官承認處理。 以下為對應資料表的更新與插入操作 ...

2025-05-02 00:38:16 | 1 reads

物品管理系統資料操作邏輯分析 - 管理換(受)

管理換(受)資料更新流程(由管理官執行) 【查詢條件】 從 kanrigae_tbl 中,查找符合以下條件的記錄: shori_sts = 12 seiri_kbn = 151 r_kanrikan_cd = 當前操作員編號(current_op_cd) 自查詢結果中挑選一筆 doc_cd,作為此次「管理換(受)」的處理對象。 【更新內容】 🔹 表:kanrigae_tbl(共 4 項更新) 將 r_kanri_doc_no 更新為使用者輸入值 將 shori_sts 狀態由 12 更新為 51 將 upd_op_cd 設為當前操作員編號(current_op_cd) 將 upd_ymd 設為當前日期 ...

2025-05-02 00:08:37 | 3 reads

解釈違い是什麼意思?──來自日本ACGN文化的關鍵用語解析

在日本網路文化中,尤其是動漫、遊戲或同人圈中,你可能常常會看到這樣一句話: 「○○さんとは解釈違いなのでごめんなさい。」 或者: 「このカプ、好きだけど公式とはちょっと解釈違いかも。」 這裡的「解釈違い(かいしゃくちがい)」究竟是什麼意思?又為什麼這個詞會讓一些討論變得小心翼翼、甚至產生激烈爭論呢 ...

2025-04-29 12:19:26 | 8 reads

PostgreSQL 備份檔是否包含 CREATE SCHEMA?

在使用 pg_dump 進行資料庫備份時,常見疑問之一是: ➤ 備份出來的 SQL 是否包含 CREATE SCHEMA? ✅ 答案很簡單: 只要該 schema 不是預設的 public,pg_dump 就會自動包含 CREATE SCHEMA 語句 ...

2025-04-25 05:41:24 | 1 reads

在 .NET 8 Blazor Web App 中攔截所有內部導航並平滑捲動到頂端

在 .NET 8 的 Blazor Web App(Hybrid 模式)中,當你在文章內容裡大量使用原生 <a href="…"> 連結時,點擊後往往只會做「局部刷新」,導致頁面內容更新但瀏覽器捲軸位置依然停留在原地,使用者體驗大打折扣。本文將示範如何在宿主頁面(App.razor)中,注入一段小小的 JavaScript 補丁,攔截所有內部路由並統一「平滑捲動到頂端」 ...

2025-04-25 04:24:13 | 2 reads

修改上一個 Git Commit 並強制推送的簡單方法

有時候我們在 Git 中提交了一個 commit 之後,才發現小地方有個缺漏,或想將一個修改合併轉成紅線內部的 commit,這時就可以用下列三個 Git 命令來達到效果 ...

2025-04-25 01:39:14 | 2 reads

【日語慣用語解說】「胸を借りる」──謙遜地向高手挑戰

在日語當中,許多看似簡單的慣用語背後,其實都藏著豐富的歷史背景與文化涵義。「胸を借りる」就是其中非常典型的一句 ...

2025-04-22 14:09:33 | 12 reads

【前端技巧】用 CSS 一行實現元素水平居中:margin: 0 auto

在前端開發中,「讓一個元素在水平方向上居中」是一個常見需求。雖然現在有很多新方法(如 Flexbox、Grid),但最經典、兼容性最好的方式就是這一招 ...

2025-04-21 12:02:03 | 2 reads

Blazor Server 中忘記 @implements IAsyncDisposable 帶來的隱性災難

在 Blazor Server 專案中,使用 DbContext 是家常便飯,但你是否知道——即使你明明寫了 DisposeAsync(),它卻從未被呼叫過?本篇文章將揭露一個許多 Blazor 開發者容易忽略的細節:如果不加上 @implements IAsyncDisposable,Blazor 將無法正確釋放資源。這個小疏忽可能導致資料庫連線耗盡、記憶體飆高,甚至讓你的應用卡死。本文將透過實例對比與修正建議,幫助你徹底理解這個問題,並建立正確的資源管理習慣 ...

2025-04-19 23:04:53 | 3 reads

Blazor Server 長時間運行 CPU 飆升到 99%?你可能忽略了這些細節

主題:Blazor Server 長時間運行導致 CPU 飆升的根本原因與解法。 在使用 Blazor Server 架構開發網站時,我發現一個非常詭異的現象 ...

2025-04-18 02:37:49 | 3 reads

...