mjovanovictech Profile Banner
Milan Jovanović Profile
Milan Jovanović

@mjovanovictech

Followers
46K
Following
34K
Media
3K
Statuses
17K

Practical .NET and Software Architecture Tips | Microsoft MVP 📰 The .NET Weekly: https://t.co/AOaa2Lvno7 ▶️ YouTube: https://t.co/3anEBSnzZs

Join 51K+readers →
Joined June 2022
Don't wanna be here? Send us removal request.
@mjovanovictech
Milan Jovanović
9 months
I've been working on this for more than 6 months. So, I'm excited to share that Pragmatic REST APIs is now live. 🎉 Here's what I packed inside: - 9 in-depth chapters - 80+ lessons - 14+ hours of video lessons We'll go from scratch (quite literally, a blank VS solution) to
25
22
196
@mjovanovictech
Milan Jovanović
2 days
Here are 2 ways to configure optimistic concurrency control with EF Core. 1) Using the [Timestamp] attribute on your entity model 2) Defining a row version property using the Fluent API
4
15
103
@mjovanovictech
Milan Jovanović
21 hours
This skill will make you valuable in any team. Diagnosing and solving performance bottlenecks in your system. I always strived to make my application as fast as possible. So, performance problems are some of my favorite things to work on. In microservices systems, this
0
13
93
@mjovanovictech
Milan Jovanović
17 hours
The fact that this is legit C# code now is 🤯 Collection expressions are so cool.
4
10
128
@mjovanovictech
Milan Jovanović
17 hours
The fact that this is legit C# code now is 🤯 Collection expressions are so cool.
4
10
128
@mjovanovictech
Milan Jovanović
21 hours
This skill will make you valuable in any team. Diagnosing and solving performance bottlenecks in your system. I always strived to make my application as fast as possible. So, performance problems are some of my favorite things to work on. In microservices systems, this
0
13
93
@mjovanovictech
Milan Jovanović
2 days
Here are 2 ways to configure optimistic concurrency control with EF Core. 1) Using the [Timestamp] attribute on your entity model 2) Defining a row version property using the Fluent API
4
15
103
@mjovanovictech
Milan Jovanović
2 days
What's the fastest way to do a SQL bulk insert? I tested out all the popular approaches... SqlBulkCopy is your winner. It's the fastest way to insert a large amount of data into SQL Server. But it does require writing more code than the other approaches. Postgres has the COPY
9
12
139
@mjovanovictech
Milan Jovanović
3 days
Did you check out the new IExceptionHandler feature? You have to handle exceptions somehow. IExceptionHandler implements the "try-" pattern. You can decide which exceptions to handle. To tell the middleware you handled the exception, you return true. So, what makes this so
5
26
163
@mjovanovictech
Milan Jovanović
3 days
Your system is processing duplicate messages. The question is: can it survive them? I broke down the Idempotent Consumer pattern. - Why duplicates happen - Avoiding duplicate side effects - When you don’t need this pattern Check it out here: https://t.co/jsWFfQhknF
1
8
59
@mjovanovictech
Milan Jovanović
3 days
Microsoft․Extensions․AI gives you a unified abstraction layer for using AI in .NET applications. Here's how to get started on your local machine with .NET + Ollama: https://t.co/OSqL0Wi7LU
2
20
121
@mjovanovictech
Milan Jovanović
3 days
Did you check out the new IExceptionHandler feature? You have to handle exceptions somehow. IExceptionHandler implements the "try-" pattern. You can decide which exceptions to handle. To tell the middleware you handled the exception, you return true. So, what makes this so
5
26
163
@mjovanovictech
Milan Jovanović
4 days
Updated for .NET 10: --- https://t.co/KHFU0SV0FP Core 8 Project Rules Use C# 12 language features where appropriate Follow SOLID principles in class and interface design Implement dependency injection for loose coupling Use primary constructors for dependency injection in
Tweet card summary image
dotnet.microsoft.com
Build web apps and services that run on Windows, Linux, and macOS using C#, HTML, CSS, and JavaScript. Get started for free on Windows, Linux, or macOS.
1
4
16
@mjovanovictech
Milan Jovanović
4 days
Quick tip to get more from Cursor. Define a .cursorrules file with the coding style you want to follow. The more specific you are, the better. This prevents hallucination and losing context when Cursor generates code. Thank me later!
6
6
86
@mjovanovictech
Milan Jovanović
4 days
When do you need the Idempotent Consumer pattern? Distributed systems are messy: messages can arrive late, out of order, or show up twice. If you assume every message will be processed exactly once, you risk subtle data bugs. On the producer side, many brokers like Azure
3
15
105
@mjovanovictech
Milan Jovanović
4 days
Stop wasting time coding everything from scratch... There's a better way. Let the AI write everything for you instead. Now you can waste time fixing everything the AI wrote. Thank me later!
11
7
94
@mjovanovictech
Milan Jovanović
5 days
Ever dreamed of letting your AI agent write code and safely test it on your real data? Tiger Data just made that possible. I’m adding vector search to my blog. That means new tables for embeddings, updates to my posts table, and scripts to generate vectors. Instead of writing
3
6
22
@mjovanovictech
Milan Jovanović
5 days
.NET 10 is officially released! 🎉 Here are the top updates 👇 First, .NET 10 is an LTS (long-term support) release. So we get support for the next 3 years. 🔥 Performance improvements Under the hood, .NET 10 delivers major performance boosts. The JIT compiler has been tuned
6
28
207
@mjovanovictech
Milan Jovanović
5 days
93% less memory usage for Minimal APIs in .NET 10 🔥
18
46
474