Quantcast
Channel: 黑暗執行緒
Browsing all 2311 articles
Browse latest View live

體驗 Cloudflare CDN 與 HTTPS 傻瓜設定

上回分享 HTTPS Nginx Docker 之懶人安裝法,許多讀者大推 Cloudflare 的免費 CDN 服務,網站開 HTTP 就好,由 Cloudflare Reverse Proxy 負責啟用 TLS 憑證對瀏覽器走 HTTPS,無腦搞定。 走這條路的先決條件是你有註冊專屬網域名稱(不... Read More

View Article


為 Nginx 提供友善管理介面與自動化 HTTPS - Nginx Proxy Manager

試了上回分享 HTTPS Nginx Docker 懶人安裝法時許多讀者大推的方便選擇 - Nginx Proxy Manager。 Nginx Proxy Manager 用 tabler 樣版 幫 Nginx 做了一個漂亮的網頁管理介面,對初學者來說,網頁操作比編輯 .conf 檔好上手。Ngi... Read More

View Article


自動化 HTTPS 網站伺服器 - Caddy Server

這應該是這波 Reverse Proxy 評估的最後一篇,打鐵趁熱,把本次蒐集到的情資一次檢視完。 一樣是分享 HTTPS Nginx Docker 懶人安裝法時有讀者推薦,不沾手實現 HTTPS 的方便選擇 - Caddy Server。 閒扯淡:Caddy 這個命名真的不優,Google 查「C... Read More

View Article

連圓形綠燈跟箭頭綠燈都搞不清楚,因為當年考駕照沒考?

昨天看到董大偉老師耗資 1800 元進行人體實驗,驗證「綠燈能不能左轉?圓形或箭頭是關鍵」。(延伸閱讀:圓形綠燈到底可不可以左轉?) (看在老師踩雷分享的份上,大家可訂閱或抖內以表支持) 不意外地,討論這個議題一定會冒出兩種聲音: 連這個都不知道,駕照是雞腿換的? 我記得駕照沒有考這個呀! 基於... Read More

View Article

.NET 範例 - 好用的萬用字元彈性規則檔案搜尋程式庫

檔案同步工具需要以黑名單方式排除特定路徑及檔案型別,這回我想要高級一點,學習 .gitignore 或 .csproj 的 Include 屬性,支援 Include="Images\**\*jpgs\*.*" 這種萬用字元彈性路徑樣式。(** 代表零到多層子目錄) 經過研究,這... Read More

View Article


ASP.NET Core 練習 - 用 Middleware 為 Minimal API 加上 API Key 檢查

我很常寫小服務協助手工作業自動化,這類簡單 Web API 許多程式碼不過一百多行,連寫帶測半天就能寫完,沒啥必要切介面拆模組裝 Swagger 走 OpenAPI,網站框架也愈精簡愈好。因此 .NET Framework 時代我酷愛 NancyFX,而 ASP.NET Core 6.0 推出的 M... Read More

View Article

ASP.NET Core 由程式指定 IConiguration 設定值進行測試

假設我在 ASP.NET Core 有個服務 CopyService,建構式接收 IConfiguration 從中讀取設定值,appsettings.json 格式如下: { "Logging": { "LogLevel": { ... Read More

View Article

ASP.NET Core Minimal API 整合測試

這篇聊聊 ASP.NET Core 的整合測試。 假設我寫了一個沒啥營養的展示用 Minimal API,其中宣告 GuidService 類別並用 DI 註冊成 Singleton (延伸閱讀:不可不知的 ASP.NET Core 依賴注入),MapGet("/guid") 時... Read More

View Article


2022 跑步雜記

馬拉松生涯邁入第十一年,這兩年被疫情攪和到一團亂,賽事延了又延,再不然直接取消。而去年三級警戒之後,明明跑量大減,我的左膝卻莫名中了一箭,六分速慢跑個十五公里沒問題,若拼遠貪快膝窩就會腫,宣告我的跑步巔峰已過,全馬 PB 就留在 2019 的 3:54:20 吧! 也因此,今年以來我對跑步的熱情已大... Read More

View Article


LINQ ForEach() 與 async / await

犯了 async/await 低級錯誤,鬼打牆近半小時,PO 文留念。 .NET 4.5/C# 5.0 開始引進 Asynchronous Function 概念及 async/await 保留字,非同步化函式漸漸成為 .NET 的主流寫法,以取代 WebClient/HttpWebRequest ... Read More

View Article

停用 Edge/Chrome 自動填入表單功能

同事報案,某表單有個連絡電話欄位,Edge/Chrome 的自動填表功能會提示上回填的電話號碼,但使用者選擇帶入上次填寫電話,瀏覽器卻帶把另一個代理人欄位一起改成上次填寫的姓名,使用者沒注意到,上傳了錯誤的內容。 我知道瀏覽器有自動填表的功能,最常遇到是在填馬拉松報名資料時侯,但沒細究過,這次看來得... Read More

View Article

HttpClient BaseAddress 的正確用法

HttpClient 有個 BaseAddress 屬性,若設定妥當,GetAsync() 或 PostAsync() 時可只傳相對路徑,用起來蠻方便的。 但最近我踩到一個雷,當 BaseAddress 只有主機名稱不包含路徑(例如:http://www.host.net),HttpClient 對... Read More

View Article

ASP.NET Core 依環境載入不同 appsetting.json 設定

.NET 網站專案建立時會附帶兩個 appsettings 檔:appsettings.json 及 appsettings.Development.json。 ASP.NET Core 執行時會由 appsettings.json 讀取設定,開發測試階段還會載入 appsettings.Devel... Read More

View Article


重新認識 C# [8] - C# 7 的其他小確幸 (筆記完結)

【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 (2022 年初訂下的目標,趁著最後三天,還是把它完成吧~) 區域方法 - 在方法裡可以寫方法。 static void Main() { int x = 10; PrintAndIncrementX(); ... Read More

View Article

我的 2022 技術盤點

轉眼就要邁入 2023 了,年紀愈大感覺時間過得愈快,記得才剛過完年沒多久,怎麼一年又要過完了。(依據科學家研究,可能原因包含多巴胺減少、同時間長度佔總人生的比例變小、因見識增長及養成習慣,生活中新體驗變少... 等等) 身為一名還沒放棄學習新技術的老兵,在最後一天盤點這一年的學習軌跡及重要事件,為... Read More

View Article


Azure 監視器警示串接 Slack API 建立雲端資源警報器

前幾天保哥分享了一則鬼故事 - 因為沒有正確啟動 MFA (多因素認證),Azure 登入帳號被駭客入侵,對方偷建了上百台虛擬機器(VM),幸好觸及消費限制帳號被停用才控制損失。但事件在隔天收到停用通知才爆發,身為常疑神疑鬼的被害妄想體質(例如:沒事會寫工具查查誰在偷連我的 Windows、自製 W... Read More

View Article

Windows Docker Image 相關問題:invalid tar header

換了新工作機,跑 Docker Desktop 是件輕鬆愉快的小事。於是我把部署到 Linux 主機的操作步驟改成:在 Windows Build Docker 容器,匯出 Image 並壓縮成 tar.gz / tgz,scp 上傳後用 docker load 或 import 載入,但有時會失敗... Read More

View Article


在 EF Core Model 定義 GUID 非叢集 Primary Key

我個人偏愛用 GUID 當 Primary Key,但為避免索引破碎引發效能災難,我慣用的解法是另設自動跳號欄位當叢集索引(Clustered Index)。(延伸閱讀:GUID Primary Key 資料庫避雷守則) 因此,一個理想的 CREATE TABLE 範例會像這樣: CREATE TA... Read More

View Article

LINQ 進階練習 - 動態組裝 Expression 產生 WHERE 條件

上回研究過 ExpressionTree,這回再用它玩些有趣應用。 在 EF Core Model 要宣告複合索引,Fluent API 做法是在 OnModelCreating() 宣告 modelBuilder.Entity<Person>().HasIndex(p => ne... Read More

View Article

SQL 索引欄位是否該包含 OR 比對項目?

我們都知道,為 WHERE 條件用到的欄位建立索引可改善查詢效能,假設有 SQL 查詢如下,如果要為它建立索引,請問索引 Key 應包含哪些欄位? SELECT LastName,FirstName,Address,City,State,Zip,Phone FROM Employee WHERE (... Read More

View Article
Browsing all 2311 articles
Browse latest View live