<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>CliffTech.dev</title><description>Deep-dive tutorials on .NET, AWS, Google Cloud, and modern web development.</description><link>https://clifftech.dev/</link><item><title>Raw SQL in EF Core 10: FromSql to ExecuteSqlRawAsync, Everything You Need to Know</title><link>https://clifftech.dev/blog/raw-sql-in-ef-core-10-fromsql-to-executesqlrawasync-everything-you-need-to-know/</link><guid isPermaLink="true">https://clifftech.dev/blog/raw-sql-in-ef-core-10-fromsql-to-executesqlrawasync-everything-you-need-to-know/</guid><description>Every raw SQL execution method in EF Core 10, including FromSql, SqlQuery, ExecuteSqlAsync, and their Raw variants, explained with real examples, generated SQL output, safety rules, and when to use each one.</description><pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate><category>dotnet</category><category>entity-framework</category><category>sql</category><category>csharp</category></item><item><title>The Real World Git Guide Every Developer Wishes They Had Earlier</title><link>https://clifftech.dev/blog/mastering-git-the-complete-guide-for-developers/</link><guid isPermaLink="true">https://clifftech.dev/blog/mastering-git-the-complete-guide-for-developers/</guid><description>Git is the backbone of modern software development. Whether you are working alone on a side project or collaborating with a team of 100 engineers, Git gives you the power to track every change, experiment freely, and never lose your work again. This guide covers everything from the basics to real-world team workflows.</description><pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate><category>git</category></item><item><title>Your try/catch Is Lying to You: Fix It with the Result Pattern in .NET</title><link>https://clifftech.dev/blog/mastering-result-pattern-in-dotnet-functional-error-handling/</link><guid isPermaLink="true">https://clifftech.dev/blog/mastering-result-pattern-in-dotnet-functional-error-handling/</guid><description>Most .NET developers handle errors by throwing exceptions everywhere  but exceptions were never meant for business logic failures. The Result Pattern is a better, more expressive, and more testable approach to error handling. This guide covers everything from building the pattern from scratch to applying it in real-world ASP.NET Core APIs with scenarios you will immediately recognise from your own projects.</description><pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate><category>.NET</category></item><item><title>Mastering Async Programming in TypeScript: Promises, Async/Await, and Callbacks </title><link>https://clifftech.dev/blog/mastering-async-programming-in-typescript-promises-asyncawait-and-callbacks/</link><guid isPermaLink="true">https://clifftech.dev/blog/mastering-async-programming-in-typescript-promises-asyncawait-and-callbacks/</guid><description>Async programming is a programming paradigm that allows you to write code that runs asynchronously. In contrast to synchronous programming, which executes code sequentially, async programming allows code to run in the background while the rest of the program continues to execute. This is particularly useful for tasks that may take a long time to complete, such as fetching data from a remote API.</description><pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate><category>typescript</category></item></channel></rss>