{"id":643965,"date":"2025-10-06T11:17:49","date_gmt":"2025-10-06T10:17:49","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=dotnet&#038;p=643965"},"modified":"2025-10-06T16:05:03","modified_gmt":"2025-10-06T15:05:03","slug":"dotinsights-october-2025","status":"publish","type":"dotnet","link":"https:\/\/blog.jetbrains.com\/zh-hans\/dotnet\/2025\/10\/06\/dotinsights-october-2025","title":{"rendered":"dotInsights | October 2025"},"content":{"rendered":"\n<p><strong>Did you know?<\/strong>&nbsp;<\/p>\n\n\n\n<p>The <code>yield return<\/code> keyword <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/csharp\/language-reference\/statements\/yield\" target=\"_blank\" rel=\"noopener\">allows you to pause and resume execution of a method<\/a>, enabling lazy evaluation without generating intermediate collections. This makes writing custom iterators simple and efficient.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/DN-social-BlogFeatured-1280x720-2x-2.png\" alt=\"\" class=\"wp-image-644016\"\/><\/figure>\n\n\n\n<p>Welcome to dotInsights by JetBrains! This newsletter is the home for recent .NET and software development related information.<\/p>\n\n\n\n<p class=\"has-text-align-center\">?<strong> Just two more days until&#8230;<\/strong> \u23f0<\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong>?<\/strong> <a href=\"https:\/\/jb.gg\/dotnet-days-2025\" target=\"_blank\" rel=\"noopener\"><strong> JetBrains .NET Days Online 2025<\/strong><\/a><strong> ?<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">? Links<\/h2>\n\n\n\n<p>Here\u2019s the latest from the developer community.<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/www.telerik.com\/blogs\/exploring-busyindicator-net-maui\" target=\"_blank\" rel=\"noopener\">Exploring the BusyIndicator in .NET MAUI<\/a> &#8211; Leomaris Reyes<\/li>\n\n\n\n<li><a href=\"https:\/\/steven-giesel.com\/blogPost\/1af57355-7978-40e6-a0f1-3d0ba2c6e1bc\" target=\"_blank\" rel=\"noopener\">ToDictionaryAsync retrieves the whole object from the database in Entity Framework<\/a> &#8211; Steven Giesel<\/li>\n\n\n\n<li><a href=\"https:\/\/laurentkempe.com\/2025\/09\/24\/decouple-yourself-from-your-llm-commodities-using-dapr-conversation\/\" target=\"_blank\" rel=\"noopener\">Decouple yourself from your LLM commodities using Dapr Conversation<\/a> &#8211; Laurent Kemp\u00e9<\/li>\n\n\n\n<li><a href=\"https:\/\/www.woodruff.dev\/day-34-genetic-algorithms-vs-other-optimization-techniques-a-developers-perspective\" target=\"_blank\" rel=\"noopener\">Genetic Algorithms vs. Other Optimization Techniques: A Developer\u2019s Perspective<\/a> and <a href=\"https:\/\/www.woodruff.dev\/day-33-case-study-using-a-genetic-algorithms-to-optimize-hyperparameters-in-a-neural-network\/\" target=\"_blank\" rel=\"noopener\">Case Study: Using a Genetic Algorithms to Optimize Hyperparameters in a Neural Network<\/a> &#8211; Chris Woodruff<\/li>\n\n\n\n<li><a href=\"https:\/\/duendesoftware.com\/blog\/20250923-why-you-should-be-using-dotnet-10-new-tls-certificate\" target=\"_blank\" rel=\"noopener\">Why You Should Be Using .NET 10&#8217;s New TLS Certificate<\/a> &#8211; Khalid Abuhakmeh<\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=CJOqVxutukk\" target=\"_blank\" rel=\"noopener\">Stop Writing if (!x) \u2014 Here\u2019s Why It\u2019s Bad Software Design<\/a> ? &#8211; CodeOpinion by Derek Comartin<\/li>\n\n\n\n<li><a href=\"https:\/\/andrewlock.net\/using-and-authoring-dotnet-tools\/\" target=\"_blank\" rel=\"noopener\">Using and authoring .NET tools<\/a> &#8211; Andrew Lock<\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=wxUQUISu9sc\" target=\"_blank\" rel=\"noopener\">2code ^ !2code [S2025E12] Multi-targeting Roslyn Components &#8211; Part 2<\/a> ? &#8211; Eva Ditzelm\u00fcller &amp; Stefan P\u00f6lz<\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=g5-9fB8UuvE\" target=\"_blank\" rel=\"noopener\">Why Most .NET Developers Don&#8217;t Need MediatR<\/a> ? &#8211; Gui Ferreira<\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=r6UCJ3mkD_c\" target=\"_blank\" rel=\"noopener\">What&#8217;s New &amp; Next for .NET MAUI and Blazor Hybrid (NDC Oslo 2025)<\/a> ? &#8211; Rachel Kang&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=qqyWn9On_fk\" target=\"_blank\" rel=\"noopener\">Karl-Henrik Nilson on Software Archaeology [EPISODE 872]<\/a> &#8211; Technology and Friends by David Giard<\/li>\n\n\n\n<li><a href=\"https:\/\/developmentwithadot.blogspot.com\/2025\/09\/java-vs-c-part-1.html\" target=\"_blank\" rel=\"noopener\">Java vs C# &#8211; Part 1<\/a> &amp; <a href=\"https:\/\/developmentwithadot.blogspot.com\/2025\/09\/java-vs-c-part-2.html\" target=\"_blank\" rel=\"noopener\">Java vs C# &#8211; Part 2<\/a> &#8211; Ricardo Peres<\/li>\n\n\n\n<li><a href=\"https:\/\/www.roundthecode.com\/dotnet-tutorials\/add-api-key-authentication-minimal-api-endpoint\" target=\"_blank\" rel=\"noopener\">Add API key authentication to an Minimal API endpoint<\/a> &#8211; David Grace<\/li>\n\n\n\n<li><a href=\"https:\/\/auth0.com\/blog\/fine-grained-authorization-in-aspnet-core-with-auth0-fga\/\" target=\"_blank\" rel=\"noopener\">Fine-Grained Authorization in ASP.NET Core with Auth0 FGA<\/a> &#8211; Andrea Chiarelli<\/li>\n\n\n\n<li><a href=\"https:\/\/www.syncfusion.com\/blogs\/post\/excel-chart-to-image\" target=\"_blank\" rel=\"noopener\">How to Export Excel Chart to Image in C#: PNG &amp; JPEG Formats<\/a> &#8211; Mohan Chandran<\/li>\n\n\n\n<li><a href=\"https:\/\/juliocasal.com\/blog\/speed-up-your-stripe-dev-loop-with-net-aspire\" target=\"_blank\" rel=\"noopener\">Speed Up Your Stripe Dev Loop With .NET Aspire<\/a> &#8211; Julio Casal<\/li>\n\n\n\n<li><a href=\"https:\/\/jeremydmiller.com\/2025\/09\/15\/working-and-testing-against-scheduled-messages-with-wolverine\/\" target=\"_blank\" rel=\"noopener\">Working and Testing Against Scheduled Messages with Wolverine<\/a> Jeremy D Miller<\/li>\n\n\n\n<li><a href=\"https:\/\/blog.elmah.io\/demystifying-async-void-in-c-why-its-dangerous-and-when-its-okay\/\" target=\"_blank\" rel=\"noopener\">Demystifying async void in C#: Why It&#8217;s Dangerous and When It&#8217;s Okay<\/a> &#8211; Ali Hamza Ansari<\/li>\n\n\n\n<li><a href=\"https:\/\/www.oreilly.com\/radar\/when-ai-writes-code-who-secures-it\/\" target=\"_blank\" rel=\"noopener\">When AI Writes Code, Who Secures It?<\/a> &#8211; Chlo\u00e9 Messdaghi<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/lofcz\/LlmTornado\" target=\"_blank\" rel=\"noopener\">LLM Tornado \u2013 The .NET library to build AI systems with 100+ LLM APIs<\/a> &#8211; Mat\u011bj \u0160t\u00e1gl<\/li>\n\n\n\n<li><a href=\"https:\/\/minidump.net\/measuring-ui-responsiveness\/\" target=\"_blank\" rel=\"noopener\">Measuring UI responsiveness in Resharper<\/a> &#8211; Kevin Gosse<\/li>\n\n\n\n<li><a href=\"https:\/\/medium.com\/@mahmednisar\/logging-like-a-pro-serilog-opentelemetry-in-net-3c9f219b9296\" target=\"_blank\" rel=\"noopener\">Logging Like a Pro \u2014 Serilog + OpenTelemetry in .NET<\/a> &#8211; Nisar Ahmed<\/li>\n\n\n\n<li><a href=\"https:\/\/www.blueboxes.co.uk\/top-10-azure-mistakes-and-pitfalls-to-avoid\" target=\"_blank\" rel=\"noopener\">Top 10 Azure Mistakes and Pitfalls to Avoid<\/a> &#8211; John Kilmister<\/li>\n\n\n\n<li><a href=\"https:\/\/nodogmablog.bryanhogan.net\/2025\/09\/morse-code-messages-with-c\/\" target=\"_blank\" rel=\"noopener\">Morse Code Messages with C#<\/a> &#8211; Bryan Hogan<\/li>\n\n\n\n<li><a href=\"https:\/\/www.oreilly.com\/radar\/prompt-engineering-is-requirements-engineering\/\" target=\"_blank\" rel=\"noopener\">Prompt Engineering Is Requirements Engineering (We\u2019ve Been Here Before)<\/a> &#8211; Andrew Stellman<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">? From our .NET Guide<\/h2>\n\n\n\n<p>Each month we feature tutorials or tips from our <a href=\"https:\/\/www.jetbrains.com\/guide\/dotnet\" target=\"_blank\" rel=\"noopener\">.NET and other technology Guides<\/a>.<\/p>\n\n\n            <div class=\"newsletter\">\n                                                            <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/www.jetbrains.com\/guide\/assets\/thumbnail-c3edd4b8.png\" alt=\"Explore Junie with Nuno Maduro\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>New AI Editor by JetBrains: Junie (Cursor killer??)<\/h3>\n                                                        <p>Watch as Nuno Maduro explores Junie.<\/p>\n                                                            <a href=\"https:\/\/www.jetbrains.com\/guide\/ai\/links\/new-ai-code-editor-junie\/\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Read More<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <article class=\"newsletter__post\">\n                                                                                    <img decoding=\"async\" class=\"newsletter__post-img\" src=\"https:\/\/www.jetbrains.com\/guide\/assets\/thumbnail-61777d65.png\" alt=\"Inspect retention paths for an instance or a group of objects.\">\n                                                                            <div class=\"newsletter__post-text\">\n                                                            <h3>Object Retention<\/h3>\n                                                        <p>Inspect retention paths for an instance or a group of objects.<\/p>\n<p>by Khalid Abuhakmeh<\/p>\n                                                            <a href=\"https:\/\/www.jetbrains.com\/guide\/dotnet\/tips\/dotmemory-objects-retention\/\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Read More<\/a>\n                                                    <\/div>\n                    <\/article>\n                                    <\/div>\n    \n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u2615 Coffee Break<\/h2>\n\n\n\n<p>Take a break to catch some fun social posts.<\/p>\n\n\n\n<p>This blog post is hilarious. It&#8217;s how we look to non-developers. <a href=\"https:\/\/anniemueller.com\/posts\/how-i-a-non-developer-read-the-tutorial-you-a-developer-wrote-for-me-a-beginner\" target=\"_blank\" rel=\"noopener\">How I, a non-developer, read the tutorial you, a developer, wrote for me, a beginner<\/a> &#8211; Annie Mueller<\/p>\n\n\n\n<p>It&#8217;s no conspiracy&#8230;.it&#8217;s CLIPPY!<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-2 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-9-16 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Siri and Alexa consult AskJeeves and learn the truth about Clippy\" width=\"422\" height=\"750\" src=\"https:\/\/www.youtube.com\/embed\/I1zjPdLBXBk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>We&#8217;ve all been there&#8230;.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-9-16 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"#codingmemes #developermemes #programmerhumor #coding #tech #techhumor #developer #programming\" width=\"422\" height=\"750\" src=\"https:\/\/www.youtube.com\/embed\/zHgVWQ9-sHI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">?\ufe0f JetBrains News<\/h2>\n\n\n\n<p>What\u2019s going on at JetBrains? Check it out here:<\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong>? <\/strong><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2025\/09\/18\/announcing-jetbrains-net-days-online-2025\/\"><strong>Announcing: JetBrains .NET Days Online 2025<\/strong><\/a><strong> ?<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2025\/09\/15\/gamedev-day-2025-is-back-in-october\/\">GameDev Day 2025 Is Back in October!<\/a><\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2025\/09\/18\/resharper-rider-2025-2-2\/\">More Updates and Fixes for ReSharper and Rider 2025.2<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2025\/09\/17\/the-early-access-program-for-rider-2025-3\/\">The Early Access Program for Rider 2025.3 Is Now Open!<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2025\/09\/17\/the-early-access-program-for-resharper-and-net-tools-2025-3\/\">The Early Access Program for ReSharper and .NET Tools 2025.3 Is Here!<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2025\/09\/04\/resharper-and-rider-2025-2-1-is-out\/\">The First Set of Updates and Fixes for ReSharper and Rider 2025.2 Is Out!<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-center\">\u2709\ufe0f Comments? Questions? Send us an&nbsp; <a href=\"mailto:dotnet-advocates@jetbrains.com\">email<\/a>.&nbsp;<\/p>\n\n\n\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/lp\/dotinsights-monthly\/\" target=\"_blank\" rel=\"noopener\">Subscribe to dotInsights<\/a><\/p>\n","protected":false},"author":901,"featured_media":644016,"comment_status":"closed","ping_status":"closed","template":"","categories":[4992],"tags":[8363],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/dotnet\/643965"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/dotnet"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/types\/dotnet"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/users\/901"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=643965"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/dotnet\/643965\/revisions"}],"predecessor-version":[{"id":646908,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/dotnet\/643965\/revisions\/646908"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media\/644016"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=643965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/categories?post=643965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/tags?post=643965"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/cross-post-tag?post=643965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}