邁入而立之年的2024回顧與2025展望 - 從0到1的投資之路
序言 - 三十而立的感悟時光飛逝,回首2024年,不知不覺已經走過了四年的職場生涯,也迎來了人生的第三個十年。古人說「三十而立」,對我來說,這確實是一個值得停下腳步,好好思考未來方向的時刻。 2024年度成果總結持續寫作的堅持2024年總共完成了93篇文章,平均每個月將近8篇的產出量。寫作對我來說,不僅是記錄生活、分享經驗的方式,更是一種自我成長的過程。每一篇文章都代表了一次思考、一次沉澱,也是未來回顧時最珍貴的印記。 工作與旅遊的平衡今年最難忘的經歷之一,莫過於公司安排的日本東京七天員工旅行。除了體驗日本的文化與美食,這次旅行也讓我對台灣的經濟現況有了新的認識。記得在東京銀座逛街時驚訝地發現,許多商品的價格竟然與台北相差無幾,這讓我不禁思考台灣這幾年物價上漲的速度。 投資理財的初體驗從0到1的股市之路2024年是我投資理財的元年,第一次踏入股市這個大江湖。回顧這一年的投資歷程: 台股方面: 已實現損益:+14,791元 未實現損益:-14,321元 美股方面: 已實現損益:+3,301.01美元 未實現損益:-825.75美元 整體而言,雖然賺的不多,但作為投資新手,能...
Python程式打包成exe檔案的指南 - 使用PyInstaller打包PySide6應用程式
PySide6 寫的 GUI 程式在自己電腦上跑得好好的,打包成 exe 丟給同事,雙擊就閃退,或是視窗開了但圖示、樣式表全空白。問題幾乎都出在同一個地方:onefile 模式下資源檔的路徑跟開發時不一樣。這篇用一個 Hexo 文章編輯器(HexoEditor)的打包流程當例子,把 PyInstaller 打包 PySide6 會踩到的幾個坑攤開講,重點放在最容易卡住人的 sys._MEIPASS 資源解析。 PyInstaller 在做什麼PyInstaller 會掃描你的程式進入點,分析它 import 了哪些模組,把 Python 直譯器、相依函式庫、你的程式碼全部收進一個 bundle。它有兩種輸出模式: onedir(預設):產生一個資料夾,exe 旁邊放著一堆 .dll、.pyd 和一個 _internal 目錄(把相依集中收進 _internal 是 PyInstaller 6.0 起的配置,舊版是直接散在 exe 旁邊)。 onefile(--onefile / -F):全部壓成單一 exe,啟動時自解壓到暫存目錄再執行。 很多人為了「只給一個檔案比較乾淨」選...
寫 HEXO 部落格更有效率!跨平台桌面編輯器推薦
你有遇過這些寫 HEXO 部落格的小困擾嗎? 一邊寫文章一邊要切換視窗預覽效果 想要快速修改文章的標題、分類和標籤要手動改 YAML 分類和標籤越來越多,不知道之前用過哪些 想要備份所有文章,還要自己一個一個找檔案 如果有類似困擾的話,不妨試試看這個專為 HEXO 部落客設計的桌面編輯器 - HEXO Editor Desktop! 🌟 HEXO Editor 有什麼特別的?這是一款開源的跨平台編輯器,專注於改善 HEXO 部落客的寫作體驗。透過圖形化介面,讓你可以更專注在內容創作上。 主要功能 一站式編輯環境 Markdown 編輯器配合即時預覽功能 圖形化設定 Front Matter 分割畫面設計,編輯和預覽同時顯示 分類標籤管理 支援多層級分類 顯示標籤使用統計 輸入時自動提示已用過的標籤 實用功能 支援快速鍵(如 Ctrl+S 儲存) 可搜尋過濾文章 一鍵備份匯出 支援多種作業系統 Windows macOS Linux 💡 實際操作介紹1. 寫作流程開啟程式後,選擇你的 HEXO 部落格資料夾,左側會列出所有文章,點選後右側就是編輯區...
SQL Server資料庫加密實戰:透明資料加密(TDE)完整實作指南
前言資料庫檔案外洩的成本往往不在攻擊當下,而在事後。SQL Server 的透明資料加密(Transparent Data Encryption,TDE)能在資料寫入磁碟時自動加密、讀取時自動解密,對應用程式完全透明,不需改一行程式碼。本文從建立主金鑰到啟用加密逐步實作,並說明實務上需要注意的地方。 TDE運作原理TDE 保護的是磁碟上的靜態資料,也就是 .mdf、.ldf 等資料庫檔案本身。寫入磁碟時加密、從磁碟讀取時解密,整個流程發生在資料庫引擎層,應用程式完全不感知。 金鑰階層如下: 資料庫檔案 資料庫引擎 記憶體 資料庫加密金鑰 憑證 加密 解密 TDE優缺點分析優點 對應用程式透明,不需修改程式碼 保護整個資料庫檔案,包含交易日誌 ...
圖解 C# yield - 5分鐘讓你輕鬆掌握迭代器
C# yield 執行流程(caller ↔ iterator) <!-- Caller 欄 --> <rect x="30" y="60" width="180" height="360" rx="8" fill="none" stroke="#9E9E9E" stroke-width="1.5" stroke-dasharray="4,3"/> <text x="120" y="82" text-anchor="middle" font-size="13" fill="#555">呼叫端(foreach)</text> <!-- Iterator 欄 --> <rect x="350" y=&...
SQL Server CSV 匯出實戰:SQLCMD、BCP、SSIS 怎麼選怎麼調
老闆丟一句「這個報表,越快越好」,你打開資料表一看——好幾千萬筆。這時候用對工具跟用錯工具,差的不是幾分鐘,是幾個小時。 SQL Server 匯出 CSV 最常用的三個工具是 SQLCMD、BCP、SSIS。網路上很多範例其實是把它們的角色搞混的:最典型的就是把 bcp 命令當成 T-SQL 字串丟進 sp_executesql,抄回去一跑就語法錯誤。這篇把每個工具的定位講清楚,範例全部以可實際執行為前提,並附上分批匯出大型資料的正確寫法。 三個工具,三種角色先把定位搞對,後面才不會誤用。 BCP(Bulk Copy Program)是獨立的命令列工具,走大量複製 API,匯出大表速度最快、記憶體佔用低。它不是 T-SQL,是在作業系統的命令提示字元(或透過 xp_cmdshell)執行的 .exe。 SQLCMD 也是命令列工具,主要拿來跑 .sql 指令稿、做自動化排程。它本身不是高效能匯出引擎——真要快速匯出大量資料,多半還是在 SQLCMD 指令稿裡呼叫 BCP。 SSIS(SQL Server Integration Services)是視覺化 ETL 平台,強在「匯...
SQL Server 資料庫管理必學秘技:快速查詢物件修改時間
前言在進行資料庫開發與維護時,經常需要知道資料表、檢視表或預存程序最後的修改時間。這些資訊在追蹤系統變更、問題排除、版本控制時都用得上。本文介紹幾個實用的 SQL 查詢,讓你快速掌握資料庫物件的時間資訊。 查詢資料表與檢視表的修改時間以下是查詢資料表與檢視表修改時間的SQL: 12345678SELECT [name] -- 物件名稱 ,create_date -- 建立時間 ,modify_date -- 修改時間 ,type_desc -- 物件類型FROM sys.all_objects WHERE type_desc = 'USER_TABLE' -- 使用者資料表 OR type_desc = 'VIEW' -- 檢視表ORDER BY modify_date DESC -- 依修改時間排序 查詢說明 sys.all_objects: SQL Server 的目錄檢視,涵蓋使用者物件(sys.objects)...
SQL Server管理員必學:SQLCMD實戰指南
前言大型 SQL Server 環境裡,資料匯入匯出緩慢、維護作業得人工拖到半夜、備份還原偶爾出包、跨伺服器操作一多就容易漏步驟,這些幾乎是每個 DBA 遲早會遇到的問題。 sqlcmd 是 SQL Server 內建的命令列工具,把這些操作腳本化、掛上排程,能省下大量重複的手動工作。這篇整理我實際用過的幾種場景,並且特別把網路教學裡常見的幾個錯誤參數說明糾正過來——尤其是 -m 和 -k,被講錯的機率高得驚人。 SQLCMD 功能與效能概觀 SQLCMD 資料匯入匯出 批次處理優化 執行SQL指令 效能監控 資料庫備份 壓縮優化 自動化排程 錯誤處理 大型資料庫匯入耗時比較(示意,單位:分鐘) 逐筆 INSERT 批次處理 最小記錄載入 先搞清楚:命令列參數 vs T-SQL 腳本很多人把 s...
SQL Server管理員必學:SQLCMD完整應用指南
前言SQLCMD 是隨 SQL Server 一起安裝的命令列工具,日常用途涵蓋執行維護腳本、匯入匯出資料、串接 Windows 排程器自動跑批次作業。比起 SSMS 的 GUI,它的優勢在於可以寫成批次檔、進版控、在沒有桌面環境的伺服器上執行。 SQLCMD 功能概觀 SQLCMD 資料匯入匯出 執行SQL指令 資料庫備份 自動化排程 SQLCMD 基本語法常用旗標一覽: 1234567891011sqlcmd -S <伺服器名稱> -- 指定 SQL Server 執行個體(可含 \InstanceName 或 ,Port) -U <使用者名稱> -- SQL Server 登入帳號 -P <密碼> -- 對應密碼 -E -- 使用 Windows 整合驗證(省略 -U/-P,優先選此) -d <資料庫名稱> ...
SQL Server管理技巧:批量更新資料的神奇小法術
問題情境資料庫裡有個代碼欄位 MaintainClassID,散落在幾十張資料表中。要把值 4851204 全部改成 4851206,逐張查、逐張改——這不只費時,還容易漏掉某張表。 有沒有辦法讓 SQL Server 自己列出所有含這個欄位的資料表,再批量產生 UPDATE 語句?有。 解決方案INFORMATION_SCHEMA.COLUMNS 視圖記錄了目前資料庫所有欄位的中繼資料,查一次就能得到所有包含目標欄位的資料表清單。 步驟一:找出所有包含特定欄位的資料表12345678910111213-- 找到所有有該欄位的資料表SELECT DISTINCT t.TABLE_SCHEMA, -- 資料表的結構描述名稱 t.TABLE_NAME -- 資料表名稱FROM INFORMATION_SCHEMA.COLUMNS c INNER JOIN INFORMATION_SCHEMA.TABLES t ON c.TABLE_NAME = t.TABLE_NAME AND c.TABLE_SCHEMA = t.TA...




