使用Clap開發CLI工具
在工作中,我們常常會遇到一些需要重複執行的作業,專案時程安排不會特別開發複雜的界面,不需要精緻的使用者界面下往往會需要開發人員手動執行,這類的需求其實很適合寫成CLI來簡化流程。最近就因為類似的需求用Rust寫了一個簡單的小工具來增加工作效率。
如何在EFCore中使用Posrgres的Jsonb(2)
雖然在設計階段應該避免讓
Jsonb
的資料成為查詢條件,但開發的時候仍然難以避免這樣的需求。Postgres針對Jsonb
的查詢提供了不少高效的API,如果想要搭配EFCore
使用就會需要預先定義型別或者搭配JsonDocument
使用。
如何在EFCore中使用Posrgres的Jsonb(1)
Postgres
中有一個特殊的Jsonb
型別,可以用來存放Json
格式的資料,資料庫會對Json
的節點做一定的整理。使用這個型別能夠在關聯式資料庫嚴格的限制下取得一定的彈性,讓我們在享有SQL
的保證時同時享受NoSQL
的彈性。然而針對EFCore
這種對資料庫抽象化的ORM
框架來說,Jsonb
的查詢與寫入屬於Postgres
的特化功能,需要靠額外的方式來達到支援。因為最近專案中又使用到Jsonb
來保存部份資料,重新看一次文件後稍微調整了一下這次的作法。
[DotNet] MartenDB介紹01
最近在看紀錄log的資料,偶然看到MartenDB
這個把postgres魔改成document database的的套件,蠻有趣的就來寫一下介紹。MartenDB希望可以把Postgres對於Jsonb的支援發揮到極致,官方文件有兩個部份,第一個部份是介紹如何透過MartenDB來把postgres當成mongoDB用,第二個部份是如何進一步用這個框架實做Event Sourcing,通常第二部份我應該會斷更哈哈....
[rust] zero2prod 實做紀錄 03 - Health Check
zero2prod是一個webapi專案,書上建議從actix-web這個框架著手。在rust的世界裡有很多的web framework,而actix只是其中一種,身為C#入門的工程師,這點真的很不習慣。.Net的世界裡大家基本上就是follow微軟的腳步,有一個老大哥建議程式要怎麼寫,尤其.Net core發布後大行其道。rust除了actix-web以外也有很多其他框架,不過這邊就不詳談了。