Month: 2020-01

本系列文章打算用一個簡單的案例,展示如何用 Visual Studio 2019 專案範本快速做出一個可以新增修改刪除 SQL 資料的 ASP.NET Core Razor Page 網站,就像傻瓜相機一樣容易上手。(OS: 該不會現在的小朋友已不知傻瓜相機是什麼,結果看不懂比喻) 假想的需求情境像...

使用 PowerShell 處理認證身分時,常會被要求以 System.Security.SecureString 型別傳遞密碼參數。Windows 作業系統針對 SecureString 有額外的安全防護,包含內容加密儲存、降低記憶體搬移或轉存次數、可透過 Dispose() 主動釋放記憶體......

大家新年好,鼠年大吉。 今年過年比較怠惰,拖到初三才開始寫 Code。起了個迷你 Side-Project 計劃寫個網頁版「一二級保養檢核表」自用,最重要的目的是想熟悉 Razor Page。資料庫部分準備用 EF Core + SQLite,照著先前寫的 EF Core 筆記要產生資料表 Scri...

近幾年來,網站全面改用 HTTPS 加密傳輸已是業界共識,違者會被 Google 調降搜尋結果排名,被 Chrome 在額頭刺上【不安全】。同樣的,檔案傳輸協定 FTP 如不升級成加密版 SFTP,也一樣會被資安單位盯上要求改善。過去寫過 C# FTP 上傳、下載範例,如今也該與時俱進,研究一下 C...

慶祝我的臉書第二頻道 - 黑暗後花園 在 2020 年開春讚數破千,說好的抽獎活動來了! 這回的獎品是黑暗工作室六萬多人團隊精心研發的程序員專屬螢幕小配件,伴你 Coding 到深夜。 當你面對踏破鐵鞋也抓不出 Bug、改了又改的規格,或是才剛上手就被潮流淘汰的 JavaScript Framewo...

某套老系統在新裝的測試環境噴出 SQL String or binary data would be truncated. (字串或二進位資料會被截斷) 錯誤。 詭異之處在於:引發錯誤的輸入內容很簡短,想不出有超出 VARCHAR 長度的可能,加上該系統運作了十多年,第一次在這個環節遇到字串過長被截...

又到了 PowerShell 練習時間。今天的題目是 - 如何在 PowerShell 引用 C# DLL? 借用上一篇介紹的 DotNetZip 當例子,我打算用 PowerShell 動態建立加密 ZIP 檔。 準備 PowerShell 腳本 Test.ps1 如下,並將 DotNetZip....

工作上有愈來愈多需要加密壓縮的場合,過去我慣用的做法是從 C# 呼叫外部程式,借助 7z.exe 完成任務。不方便之處是我必須先將要打包加密的內容依目錄結構寫成暫存檔,再交給 7-Zip 處理,且做完必須刪檔抹去足跡。這裡隱藏一個危機,若程式在寫暫存檔到刪檔前出錯,便可能殘留明文內容,有資訊外流風險...

系統維運難免會有直接修改正式台資料庫的需求,這類更新程序需要被嚴謹規範,萬一指令 WHERE 條件下錯,更新對象從一筆變成一萬筆,可不是亂著玩的。 為防範出錯,除了制定申請程序、要求指令複核,通常還要保留更新前後資料狀態,一方面可供人為確認,另一方面作為佐證。不過,要防止更新結果與預期不一致,除了靠...

最近又被 ODP.NET 版本問題搞得很煩。 故事是我有顆公用程式元件最近改版(假設名稱叫 MyLibrary.dll 好了),專案參照的 ODP.NET 已升級到 2.122.1.0。移交給同事使用時,同事的 ASP.NET 為配合其他元件仍在使用 ODP.NET 2.112.2.0,這種狀況下,...