C# Digest - Expression Parsing Made Easy
#471 – September 11, 2023 | View in browser |
C# Digest
Every now and then, I stumble onto some algorithm or idea that’s so clever and such a perfect solution to a problem that I feel like I got smarter or gained a new superpower just by learning it. Heaps were one, just about the only thing I got out of my truncated CS education. I recently stumbled onto another: Pratt or “top-down operator precedence” parsers.
IronOCR - C# .Net OCR Library - Image to Text in C# - Tesseract for C# .NET (sponsored)
- Improved accuracy and ease-of-use in improved Tesseract
- 127 languages
- .NET 7 support
- Test it yourself: Free trial today.
Optimising .NET code: Hunting for allocations
Explore basic techniques for benchmarking and identifying allocation sources in code.
Multi-tenancy with ASP.NET Core and FinBuckle.Multitenant
Multi-tenancy is a complex topic with a generally understood definition, yet the devil is in the details. From a high level, Multi-tenancy is the idea that a single codebase can support many users in what they perceive as unique-to-them silos. Users have their tenants, which can provide isolation from others. Isolation can be logical or physical, specifically around dependencies such as data storage, authentication and authorization, and third-party services.
Introducing the Identity API endpoints
In this post I look at the new support for ASP.NET Core Identity being added to .NET 8 in the form of API endpoints you can use to perform basic Identity operations like registering users. These endpoints serve as API-friendly alternatives to the "default UI" that has been available with ASP.NET Core Identity for some time. I'll show how to use these APIs to interact with protected APIs in your app.
Scoped services are created for a specific period of time linked to a scope. For example when using ASP.NET Core a scoped service lifetime is coupled to a client request.
This is tutorial text on “function closures” in C#. Some theory is explained, and several C# examples are shown.
SuppressGCTransition is an attribute you can only apply on a method decorated with the DllImport attribute. It greatly reduces the overhead of the p/invoke.
The .NET runtime (both .NET Framework and .NET Core) allows you to generate a lightweight dump containing the allocated type instances count and references including roots. They are usually generated into .gcdump files by tools such as Perfview or dotnet-gcdump and can also be viewed in Visual Studio.
how did you like this issue?
newsletters
Older messages
The "Weak Event" Pattern in C#
Sunday, September 3, 2023
Events have a significant drawback: the publisher holds a strong reference to the subscriber #470 – September 04, 2023 View in browser C# Digest The "Weak Event" Pattern in C# Events in C#
Struct memory layout optimizations
Sunday, August 27, 2023
We could store the exact same information in several ways, leading to space savings of 66% #469 – August 28, 2023 View in browser C# Digest Struct memory layout optimizations, practical considerations
Tales from the .NET Migration Trenches
Sunday, August 20, 2023
Messy aspects of migration that crop up when you've got an old codebase #468 – August 21, 2023 View in browser C# Digest Tales from the .NET Migration Trenches There are quite a few "how-to
.NET 8 Interceptors
Monday, August 14, 2023
Interceptors allow developers to target specific method invocations and intercept them with a new implementation #467 – August 14, 2023 View in browser C# Digest .NET 8 Interceptors As the name implies
How to benchmark different .NET versions
Sunday, August 6, 2023
With the famous BenchmarkDotNet library you can benchmark a lot #466 – August 07, 2023 View in browser C# Digest How to benchmark different .NET versions With the famous BenchmarkDotNet library you can
You Might Also Like
Charted | The Pyramid of S&P 500 Returns (1874-2024) 💰
Tuesday, January 7, 2025
In 2024, the S&P 500 surged 23%, setting a series of record highs. We show these returns in a historical context spanning 150 years. View Online | Subscribe | Download Our App Presented by: Global
LW 164 - How to create new arrivals collection in Shopify using Shopify Flow
Tuesday, January 7, 2025
How to create new arrivals collection in Shopify using Shopify Flow Shopify Development news and
Tic-Tac-D’Oh 💻
Tuesday, January 7, 2025
The latest from the dull side of the internet. Here's a version for your browser. Hunting for the end of the long tail • January 07, 2025 Tic-Tac-D'Oh Dell decides to rebrand its machines along
Spyglass Dispatch: CaptAIn AmerIca...
Tuesday, January 7, 2025
Hulu, Fubo, Venu • NVIDIA's Cosmos • NVIDIA's DIGITS • Meta's Board Addition • Meta's Fact-Checking Subtraction • Dude, You're Getting a Dell Pro Max Premium The Spyglass Dispatch
DeveloPassion's Newsletter #183 - Knowledge Management for All
Tuesday, January 7, 2025
A newsletter discussing Knowledge Management, Knowledge Work, Zen Productivity, Personal Organization, and more! Sébastien Dubois DeveloPassion's Newsletter DeveloPassion's Newsletter #183 -
CES 2025 ICYMI: 8 top reveals so far
Tuesday, January 7, 2025
Bluesky's most-needed feature; A mulching robot mower; Linux man pages -- ZDNET ZDNET Tech Today - US January 7, 2025 ces55gettyimages-2191705850 CES 2025: ZDNET's 8 most impressive products we
Post from Syncfusion Blogs on 01/07/2025
Tuesday, January 7, 2025
New blogs from Syncfusion Introducing the New Blazor Chat UI Component By Silambarasan Ilango Enhance real-time communication with the Blazor Chat UI. Discover its features and use cases for creating
⚙️ The ethics of AI
Tuesday, January 7, 2025
Part 2 of a special edition series
Issue 163
Tuesday, January 7, 2025
🔬 🧪 Can nanotechnology finally deliver on its promise? Creating space's first artificial eclipse factory. PayPal's Honey app: sweet savings or digital sleight of hand? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
New EAGERBEE Variant Targets ISPs and Governments with Advanced Backdoor Capabilities
Tuesday, January 7, 2025
THN Daily Updates Newsletter cover JavaScript: Mastering JavaScript from Basics to Advanced Topics ($54.99 Value) FREE for a Limited Time This book provides a comprehensive introduction to JavaScript