> For the complete documentation index, see [llms.txt](https://dotnetweekly.gitbook.io/weekly/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dotnetweekly.gitbook.io/weekly/2020/2020.04/number-172.md).

# .NET Weekly #172

## Cloud & Web

1. [A Critique of React Hooks](https://dillonshook.com/a-critique-of-react-hooks/)
2. [Introducing the fastest and most user-friendly content encryption](https://blog.amp.dev/2020/04/27/introducing-the-fastest-and-most-user-friendly-content-encryption/)
3. [Preventing mass assignment or over posting with Razor Pages in ASP.NET Core](https://andrewlock.net/preventing-mass-assignment-or-over-posting-with-razor-pages-in-asp-net-core/)
4. [Migrating to ASP.NET Core](https://codeopinion.com/migrating-to-asp-net-core/)
5. [Integrating ASP.NET Core with gRPC](https://www.red-gate.com/simple-talk/dotnet/c-programming/integrating-asp-net-core-with-grpc/)
6. [Stored Procedures, ORMs, and GraphQL](https://ardalis.com/stored-procedures-orms-and-graphql)

## Tooling & Libraries

1. [MsQuic is Open Source](https://techcommunity.microsoft.com/t5/networking-blog/msquic-is-open-source/ba-p/1345441)
2. [Build Secure Apps on DigitalOcean with VPC and a Trustworthy Foundation](https://blog.digitalocean.com/vpc-trust-platform/)
3. [curl 7.70.0 with JSON and MQTT](https://daniel.haxx.se/blog/2020/04/29/curl-7-77-0-with-json-and-mqtt/)
4. [How does a .NET profiler work](https://dev.to/gabbersepp/how-does-a-net-profiler-work-49e5)
5. [The Safety Boat - Kubernetes and Rust](https://msrc-blog.microsoft.com/2020/04/29/the-safety-boat-kubernetes-and-rust/)
6. [Using dotTrace and dotMemory for production analysis on Linux](https://ayende.com/blog/190689-B/using-dottrace-and-dotmemory-for-production-analysis-on-linux)
7. [Major Update to IdentityModel.OidcClient](https://leastprivilege.com/2020/04/24/major-update-to-identitymodel-oidcclient/)
8. [Demystifying Memory Profilers in C# .NET Part 2 – Memory Leaks](https://michaelscodingspot.com/memory-profilers-for-memory-leaks/)

## Architecture & Databases

1. [Paxos vs Raft - Have we reached consensus on distributed consensus](https://arxiv.org/pdf/2004.05074.pdf)
2. [Redis 6.0.0 GA is out](http://antirez.com/news/132)
3. [Using PostgreSQL for JSON Storage](https://info.crunchydata.com/blog/using-postgresql-for-json-storage)
4. [Distributed transactions are Not Micro-services](https://www.talentica.com/blogs/distributed-transactions-are-not-micro-services/)
5. [The Best Medium-Hard Data Analyst SQL Interview Questions](https://quip.com/2gwZArKuWk7W)
6. [To Microservices and Back Again - Why Segment Went Back to a Monolith](https://www.infoq.com/news/2020/04/microservices-back-again/)
7. [My Favorite PostgreSQL Extensions - Part One](https://severalnines.com/database-blog/my-favorite-postgresql-extensions-part-one)
8. [My Favorite PostgreSQL Extensions - Part Two](https://severalnines.com/database-blog/my-favorite-postgresql-extensions-part-two)

## Programming Languages

1. [Introducing C# Source Generators](https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/)
2. [How to Strengthen Requirements for Pre-existing Data](https://enterprisecraftsmanship.com/posts/strengthening-requirements-pre-existing-data/)
3. [Complexity Has to Live Somewhere](https://ferd.ca/complexity-has-to-live-somewhere.html)
4. [Async Wandering Part 7 — Exceptions on unobserved tasks](https://blog.adamfurmanek.pl/2020/05/02/async-wandering-part-7)
5. [Announcing TypeScript 3.9 RC](https://devblogs.microsoft.com/typescript/announcing-typescript-3-9-rc/)
6. [The Dispose Pattern is Broken](https://www.codeproject.com/Articles/5266619/The-Dispose-bool-disposing-Pattern-is-Broken)

## Runtime

1. [How Socket Error Codes Depend on Runtime and Operating System](https://blog.jetbrains.com/dotnet/2020/04/27/socket-error-codes-depend-runtime-operating-system/)
2. [Work flow of diagnosing memory performance issues – Part 2](https://devblogs.microsoft.com/dotnet/work-flow-of-diagnosing-memory-performance-issues-part-2/)
3. [.NET Runtime Form Factors](https://github.com/dotnet/designs/pull/118)

## Other

1. [Helm, the package manager for Kubernetes, now a CNCF graduated project](https://cloudblogs.microsoft.com/opensource/2020/05/01/helm-package-manager-kubernetes-now-cncf-graduated-project/)
2. [Rust WinRT Public Preview](https://blogs.windows.com/windowsdeveloper/2020/04/30/rust-winrt-public-preview/)
3. [Why Zoom Chose Oracle](https://interconnected.blog/why-zoom-chose-oracle/)
4. [Domesticating Kubernetes](https://blog.quickbird.uk/domesticating-kubernetes-d49c178ebc41)
5. [Internet performance during the COVID-19 emergency](https://blog.cloudflare.com/recent-trends-in-internet-traffic/)
6. [Microsoft Build 2020 registration is not only open, it's FREE, it's LIVE, it's VIRTUAL, and it is all FOR YOU](https://www.hanselman.com/blog/MicrosoftBuild2020RegistrationIsNotOnlyOpenItsFREEItsLIVEItsVIRTUALAndItIsAllFORYOU.aspx)
