有一天,我發現我的專案裡面居然有 Newtonsoft.Json
,可能有朋友會覺得,它是一個處理 JSON 很知名的套件,專案裡面有它有什麼好大驚小怪的? 可重點是我從來沒有安裝過它啊!
自從 .NET Core 3.1 開始內建 System.Text.Json 之後,我就再也沒有安裝過其他處理 JSON 的套件,那為什麼我的專案裡面會有 Newtonsoft.Json?我們來搞清楚這是怎麼回事?
有一天,我發現我的專案裡面居然有 Newtonsoft.Json
,可能有朋友會覺得,它是一個處理 JSON 很知名的套件,專案裡面有它有什麼好大驚小怪的? 可重點是我從來沒有安裝過它啊!
自從 .NET Core 3.1 開始內建 System.Text.Json 之後,我就再也沒有安裝過其他處理 JSON 的套件,那為什麼我的專案裡面會有 Newtonsoft.Json?我們來搞清楚這是怎麼回事?
如果我們接手維護一個資料庫,裡面的 Table、View、Stored Procedure、Function、Trigger 相依鏈錯綜複雜,想要定位發生問題的區塊,搞得像盜墓一樣,這天我無意間發現 SSMS(SQL Server Management Studio)有一個「檢視相依性
」的功能,有助我們來釐清資料庫物件的相依鏈。
在設定 GCP Firewall 規則的時候,限制來源 IP 範圍的欄位要我們以 CIDR 標記法
輸入。
什麼是 CIDR 標記法? 如果是真.網管
的朋友應該很熟悉,對於我這個偶爾沾個醬油、跑個龍套的來講,這又是一個陌生的名詞。
在 C# 中常常因為需要配合參數而動態地產生相對應的 SQL 查詢條件字串,StringBuilder 應該是公認能兼顧字串串接效能的解法,不過加號(+)還真是好用啊!相較於使用 StringBuilder,用加號來串接字串簡單又直接,因此我利用隱含轉換(implicit)來搞一個用加號串接字串,但背後其實是 StringBuilder 的解法。
之前有介紹過 SSL 憑證只要放在 Load Balancing 就可以了,不必在每台 Load Balancing 後面的機器都去放置 SSL 憑證,假設我們原有 http://xxx.yyy.com 的網址,在我們打通了 https 之後想要將 http 都強制重新導向到 https,很直覺地我們想到的解決方案就是檢查打進來的 Request URL 如果是 http:// 開頭的就回應重新導向到 https:// 開頭的就行了,但死亡導向之門也就此被打開了。
對於 Web Site 的橫向擴展,有時候我們既定的印象就是多開機器,如果原本的機器就夠 Powerful,而採用的 Load Balancing 又可以對應到後端多個 Port 的話,我們其實可以選擇再新增一個相同服務但不同 Port 的站台。
HTTPS 協定已普及化了,甚至我們的網站如果沒有支援 HTTPS 的話,在搜尋引擎的排名還可能會被調降,本篇文章就在 IIS 8.5 躲藏在 GCP Load Balancing 背後的環境下,一步步去打通 HTTPS。
有時候我們不需要每次 commit 都執行 CI 的建置作業,例如:更換網站的 Logo、更新靜態頁面的 Wording,這次要介紹兩種方式,都是可以用來指定在特定條件之下才 trigger 建置作業的方式,一種是根據特定的 committed message,另一種是根據特定的 changed path。
感謝天橋下的說書人先踩了雷「Pickles 與 Jenkins 的結合」。
Jenkins 的 HTML Publisher Plugin 可以方便我們瀏覽 HTML 格式的 Report,不過自從 Jenkins 1.641 開始遵循 Content Security Policy 後,HTML Report 如果有內含 CSS、JavaScript,它可能就不 work 了。
Jenkins 很努力在工作,如果缺少了主動通知的功能,就根本沒什麼屁用。