pytest 是一個功能強大且靈活的 Python 測試框架,身為一個開發者學好怎麼寫測試是基本的必要條件,以下是我對 pytest 的使用心得。

pytest 是一個功能強大且靈活的 Python 測試框架,身為一個開發者學好怎麼寫測試是基本的必要條件,以下是我對 pytest 的使用心得。
之前有介紹過 TestContainers 在 .NET 的使用方式 傳送們,同樣的 Python 也可以使用它,就不再贅述太多;我將使用 WSL + Python 環境搭建起開發環境。
SQL Server 的安全性允許 SQL 帳號和 Windows 帳號登入 , 但如果同時都忘記或被竄改的狀況下 , 該如何搶回 SQL Server 的控制權
在之前的一篇文章中,說明了我們如何用 WSDL 檔案產生代理類別,現在目標的 Web Service 有一個需求是要加入一個 Http Header,網路上可能會找到覆寫 GetWebRequest()
的解法,但我們會發現,用 dotnet-svcutil 所產生的代理類別無法覆寫 GetWebRequest(),該怎麼辦?
Windows 上如果設定了時區(無論手動或自動),透過 TimeZoneInfo 取出的時區識別碼,都是根據所設定的地區的時區,並且回應成 Windows 使用的 TimeZone 格式識別碼。
例如設定為 (UTC +08:00) 台北取出來的識別碼的值會為:"Taipei Standard Time" 的字串資料。
但是…
以往我們要呼叫 ASMX Web Service 的服務,大多透過 Visual Studio 的「加入 -> 服務參考
」的程序,自動產生 Reference.cs
程式碼檔案,裡面就有我們要用的服務代理。但現在因為開發環境無法連線 Web Service,所以無法使用這個方式,我們手上有的是一個 *.wsdl
檔案,要改用手動的方式建立服務代理。
從應用程式日誌看到下面這個 Entity Framework Core(以下簡稱 EF Core)發出的例外錯誤:
The instance of entity type 'MyTable' cannot be tracked because another instance with the same key value for {'Key'} is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached.
它的意思是,相同主索引鍵的實體無法被追蹤,因為已經有另一個實體正在被追蹤,我們來看看怎麼回事。
這篇有提到:
在 macOS 上最主要就是要安裝 Xcode,而如果要安裝 Xcode 的管道,基本上有兩種:
- 透過 macOS 上的 App Store 安裝。(登入 Apple 帳號後即能免費下載使用)
- 透過 Apple Developers 網站來下載 .xip 安裝。(需要先有訂閱 Apple 開發者帳號才能下載使用)
本篇就來談談如何透過 .xip 來安裝 Xcode。
由 上篇 得知 .NET Core 應用程式可以接收 SIGINT/SIGTERM訊號,來完成 graceful shutdown;在處理批次流程中,當應用程式接收到 SIGINT/SIGTERM 訊號後,就要進入狀態的保存,避免服務被強制中斷,導致狀態混亂。預設 Container 預設等待 10 sec,也就是這個時間範圍內就要完成狀態保存,如果超過時間就可以考慮送出 Timeout 參數,延長工作關閉流程。Linux 執行應用程式的時候有區分 shell model 以及 exec mode,若使用不當,會導致接收不到 SIGINT/SIGTERM 訊號,無法 graceful shutdown。
在 ASP.NET Core Web API 專案套用了 Swagger 之後,在 Development 環境下預設會有一個 /swagger/index.html
網址來查看 Web API 的規格,但是有些客戶因為公司政策的關係,希望關閉 Swagger 端點,改使用靜態文件,本篇文章有兩個可行的方案提供給大家參考。
如果要順利在 Visual Studio 來連接 macOS 透由 .NET MAUI 開發 iOS 的話,對於要連接的 macOS 上是需要事先安裝好 Xcode 等 Apple 所設計的 iOS 開發工具的。
不然,就算有開啟遠端登入等功能讓 Visual Studio 能夠連線並自動安裝 mono 等軟體元件,那也沒有 iOS 的相關 SDK 供使用。
在 macOS 上最主要就是要安裝 Xcode,而如果要安裝 Xcode 的管道,基本上有兩種:
本篇介紹是使用第一種方式來完成唷~~~
Jetbrains Rider Remote Development 是 Jetbrains 旗下的產品,可以透過 Jetbrains Toolbox 獨立安裝,也可以直接透過 Jetbrains Rider 使用,這個功能主要就是讓 Windows 的用戶可以在 WSL (Ubuntu) 環境下開發、中斷、除錯。
在 Nuget 的相依協助下,已經某種程度上可以是協助擺脫 dll hell 的一大工程(功臣?)
但是如果在一個解決方案當中有多個專案要引用相同的 Nuget 套件時,可能會發生各個不同的專案有各自使用不同 Nuget 套件的版本(套件相同版本不同)。
而每次要更新某個 Nuget 套件時就會要針對不同專案要處理更新,就會顯得相當繁瑣。
在 .NET 6.0 的設計中,開始可以使用中央的套件管理 Central Package Management (CPM) 的處理方式來處理這個問題。
cAdvisor 是一個開源的容器資源使用情況和效能分析工具,主要由 Google 開發。它專門用於收集、聚合、處理和匯出有關執行中容器的資訊。
Node-Exporter 收集主機層級的各種指標,包括:CPU 使用率、記憶體使用情況、磁碟 I/O 統計、網路流量、檔案系統使用率、系統負載
再搭配上 Prometheus 收集指標,用 Grafana 呈現資訊
出自 https://blog.techbridge.cc/2019/08/26/how-to-use-prometheus-grafana-in-flask-app/
跳過 .NET 7 與 .NET 8,因為這兩版沒有新增方法【註1】,因此我們直接來到 .NET9
.NET 6 Linq 的新功能來到最終回合。
新發田城又名為菖蒲城,是個位在新潟縣新發田市大手町中的一座平城
由於是在市內且距離車站不遠,是個適合散步休憩的景點。
不過,新發田城在冬天是不開放的,12月底到隔年3月底請一定要避開,以免白跑一趟
在 Windows 的環境,要使用 Docker 除了 Docker Desktop 之外,也可以使用 WSL + Docker 來完成環境的搭建