C# Digest - Expression Parsing Made Easy

#471 – September 11, 2023 View in browser

C# Digest

Expression Parsing Made Easy

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.

Async scopes

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.

Closures in C# demystified

This is tutorial text on “function closures” in C#. Some theory is explained, and several C# examples are shown.

SuppressGCTransition

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.

.NET .gcdump Internals

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?

Amazing · Great · Okay · Meh · Bad

newsletters

© 2023 Bonobo Press

Would you like to advertise with us? Check out our latest media kit for more information.
If you no longer wish to receive these emails, click to unsubscribe.

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