Dynamic Credentials 每一次產生出來的憑證,都是變動且有時效性的,這跟固定的 Key/Value,有很大的不一樣,用這樣的機制就可以保護真正的資訊,更有效的隱藏機敏性資料
使用 Vault Dynamic Credentials 訪問 PostgreSQL
- 44
- Security
Dynamic Credentials 每一次產生出來的憑證,都是變動且有時效性的,這跟固定的 Key/Value,有很大的不一樣,用這樣的機制就可以保護真正的資訊,更有效的隱藏機敏性資料
工作專案裡並不會去刻意地去使用設計模式,不過在很多時候為了想要有更好的實作,又或者是覺得當下的程式一定會有更好的解法,就會去找目前情境所適合使用的設計模式來改寫。
有的時後會看到誤用了不適合的設計模式所實作的程式,明明應該是用行為類的設計模式來做,卻用了結構類的設計模式來做,雖然最後的執行結果是有符合預期,但怎麼看就怎麼怪,所以設計模式還是要好好地認識認識,於是這次就來練習練習責任鍊模式。
開發者不應該把機敏性資料,用明碼的方式存放在電腦,HashiCorp Vault 是一套基於身份的私鑰和加密管理系統,Hashicorp Vault 是一個安全管理工具,專門用於管理機敏性資料,例如:密碼、API 密鑰和其他機密訊息,下圖出自 Introduction | Vault | HashiCorp Developer
原本我本來想要自幹一套 Secret Manager / Config Manage,因為有 Vault 我省去了自幹的時間,這裡,我將嘗試學習使用 C# VaultSharp 訪問 Hashicorp Vault
甚麼是 ODBC,維基百科這樣說
"ODBC(Open Database Connectivity,開放資料庫互連)提供了一種標準的 API( 應用程式編程介面)方法來訪問資料庫管理系統(DBMS)。ODBC 的運用形態通常是由應用程式經過一個稱之為 ODBC 管理器的工具,建立一個 DSN,指明需要呼叫的 ODBC 驅動程式,從而訪問對應的資料庫。"
簡單來說,可以透過 ODBC 來簡化連線字串的管理,最近工作上,需要用到它,趕緊趁無風無雨的颱風天,重新學習一下。
.NET Core 原生的組態設定是使用 appsettings.json 來讀取組態設定,要先產生出各個環境的組態設定 appsettings.Development.json、appsettings.Staging.json、appsettings.Production.json,再透過環境變數+Build,取代掉原本的值,要佈署的環境越多檔案就越多,每次的改動設定都要很小心,生怕一個不注意就弄壞了,我想要讓組態管理的行為變簡單一些…
前面分享的兩篇文章,分別介紹了 Microsoft.Bcl.TimeProvider 和 AutoFixture 的 AutoData
另外在寫測試時,可以使用 FakeTimeProvider 去做抽換,就可以設定時區、時間來完成測試情境的執行。
那麼是不是也可以用 AutoData 的特性,讓我們在寫測試的時候可以省下建立 FakeTimeProvider 的步驟呢?當然可以,不過需要先瞭解該怎麼做、可以怎麼做以及應該如何做。
經過好友 張少齊 的推薦得知了這一套 Mock Server,趁著無風無雨的颱風假把玩一下這一套工具,跟著官方文件一路啃到底。
這是一篇借花獻佛、拾人牙慧的文章,之前有寫過這麼一篇文章「單元測試使用 AutoFixture.AutoNSubstitute」
當時是使用了 AutoFixture.AutoNSubsititute 來減少測試類別裡相依類別的 Stub 建立步驟,用了很奇怪的方式來解決我當時的煩惱。
直到我進入到另一個團隊後,才知道可以藉由 AutoFixture.AutoData 做到更為簡單與彈性的解決方式,這篇就來簡單介紹怎麼做。
箕輪城位在東京西北邊,高崎市箕郷町中的一座平山城
目前僅有2016年修復的木造角馬出西虎口門外,並沒有留下其他任何的建築物
而城下町也保留了過去的氛圍,只可惜店家數量略少,整體環境幽靜。避開雨季前往即可
從本篇文章開始,百大名城攻略也加入了影片以及字幕解說,不想看文章想看影片的人,可以從這裡看看攻略箕輪城的影片
日本百大名城No.16,適合散步踏青的箕輪城,一個人的旅行
我想很多人看到標題後都會直接想
「程式裡直接用 DateTime 難道錯了嗎?」
「DateTime 用得好好的,為什麼要改用 Microsoft.Bcl.TimeProvider ?」
「我又不必寫測試,我就是要用 DateTime!」
我也管不著各位想怎麼用、想怎麼寫程式,只是看到很多有關於交易處理的程式都是跟時間判斷有關,而且有著種種原因而沒有寫測試,就讓人覺得那些產品妥當嗎?
而且一遇到 DateTime 的處理,就會卡在不知道如何寫測試。
所以就來寫這一篇簡單介紹 Microsoft.Bcl.TimeProvider
以往為了要測試 Oracle , 要弄 VM 來安裝 Linux , 然後再來使用相關指令安裝 Oracle , 現在利用 Docker 技術可以讓整個程序方便多了。
亞太技術年會 ( DevDays Asia 2024 ) 微軟專家針對 T-SQL 未來將支援 Regular Expressions 的測試與練習
在工作群組的環境下,如何設定檔案共用見證,讓叢集的仲裁可以正常運作
某一天我的同事提醒我說新版的 Rider,SpecFlow for Rider 上不能使用了,於是我暫緩更新了一段時間,現在已經有 Reqnroll 方案。這裡有 Reqnroll 誕生原因,From SpecFlow to Reqnroll: Why and How • Reqnroll,總結內容就是 SpecFlow 已經很長一段時間沒有更新,所以作者決定 Fork SoecFlow 專案,名為 Reqnroll,現在我要來體驗 Reqnroll 跟過往的 SpecFlow 有沒有甚麼不一樣
SQL Server 2016 含以後的版本 , 搭配 Windows Server 2016 以後的作業系統 , 可以在 Windows 環境下沒有 AD 也可以運行了
島原城又名森岳城、高來城,位在長崎縣島原市中。
其位置略為偏僻,但卻是非常特別的一座百大名城,島原城也受到著名的島原之亂事件部份的影響
從島原車站步行5到10分鐘即可到達,除去鐵道乘坐的時間,是個非常容易且高價值的地點
大野城位在福岡縣太宰府市,雖然位在許多遊客前往的太宰府旁,但是由於大野城本身是日本古代山城(也有稱之為朝鮮式山城),所以前往的人並不多。雖然也有設置了森林遊樂園區,但是由於地處不便,所以也很難成為一般遊客前往的景點
一般前往的方式不一定會開車,所以最好先作足準備,因為古代山城走起來真的頗累。前往的時間避開雨季與下雪的冬季即可
在 Windows 環境下如果啟用 Cmd 或者是 PowerShell , 因為中文問題容易造成無法出現游標或者是畫面字體不美觀 , 因此想要在 Windows Server 上安裝 Terminal 的應用程式
岡城位於日本九州的大分縣竹田市,是一座非常標準的日本山城
建築於標高325公尺天神山上的岡城,由於樣子很像是一隻牛臥倒的樣貌,所以又稱之為臥牛城。也是個非常適合在春天前往賞櫻的景點
「資安 ISSUE
」,此語一出,誰與爭鋒?約莫 15 年前,跟前輩在閒聊,說客戶那邊丟了一句「資安 ISSUE」,所以這個元件不准用、那個 SDK 不准裝,結果東西做好了,案子結不了案。時間回到今天,資安那邊丟了一個訊息:
appsettings.Development.json 裡面的 Server=(localdb)\MSSQLLocalDB;Database=dev;Integrated Security=true 這個連線字串有資安疑慮,請修正。
如果資料庫都隸屬於同一台伺服器,資料庫之間要 JOIN 彼此的資料表是相對容易的,在有權限的前提下,只要在資料表的前面加上「[資料庫名稱].[結構描述]
」,就能存取得到其他資料庫的資料表,就像這樣:[DB].[dbo].[Table]
。
但是在 Entity Framework Core 中,似乎沒有那麼容易,通常一個資料庫會建成一個 DbContext,當我們直接把隸屬於不同 DbContext 的 DbSet 拿來做 Join,我們得到以下的錯誤訊息:
Cannot use multiple context instances within a single query execution. Ensure the query uses a single context instance.
位在日本九州東邊的府內城,位在大分縣大分市的市中心中
除了被稱為府內城外,還被稱為大分城、荷揚城以及白雉城
由於是在市中心,所以前往府內城可說是幾乎沒有難度,任何時候都可以前往
OpenAI 陸續推出了 GPT4o 和 GPT4o-mimi 這兩個新的多模態模型,所謂多模態模型指的是這個模型可以同時處理文字和圖片的需求,過去在 Azure 上面會需要使用 GPT-4 Turbo with Vision 這個模型,透過結合 Azure AI Vision 來辨識圖片,現在新的多模態模型就不需要再透過額外的 Azure AI Vision 就可以支援了,後面就來介紹透過新介面的 Azure OpenAI Studio 來部署和實做程式串接。