.NET дайджест #23: улучшения производительности в .NET Core 2.1, принципы проектирования аггрегатов

В выпуске: .NET Core Hidden Gems, Event sourcing using Kafka, Version control improvements in Rider 2018.1, книга „Introducing GitHub”.

.NET

Allocation-free awaitable async operations with ValueTask<T> and ValueTask

Migrating from aspnetcore docker repos to dotnet

.NET Core Docker Samples

System.IO in .NET Core 2.1 sneak peek

Custom directory enumeration in .NET Core 2.1

Go vs C#, part 1: Goroutines vs Async-Await

Develop ASP.NET Core Applications in a Container

Performance traps of ref locals and ref returns in C#

Performance Improvements in .NET Core 2.1
Помимо прочего, значительные улучшения производительности и уменьшения аллокаций в асинхронных методах и в работе с сетью (думаю, этому очень рад Dmitriy Onykyyenko).

ASP.NET Core 2.1.0-preview2: Improvements to the Kestrel HTTP server
Kestrel перевели с libuv на собственную реализацию сокетов, что сделало его заметно более шустрым, особенно на Линуксе.

Announcing .NET Core 2.1

.NET Core Hidden Gems
David Fowler рассказывает про разные полезности в новом релизе.

ObjectMethodExecutor
Оттуда же метод, позволяющий эффективно вызывать методы объектов, полученных через Reflection посредством построения Expression.

Framework Benchmarks Round 16
Производительность некоторых фреймворков, в том числе ASP.NET Core упирается в сетевой стек. И по остальным параметрам ASP.NET Core показывает невероятно крутые результаты. Ссылка в статье на результаты почему-то сломана, поэтому вот.

Architecture

Event sourcing using Kafka
Есть нюансы, так как Kafka не поддерживает Optimistic Concurrency.

Reactive DDD: Modeling Uncertainty

Comparing AWS Lambda performance of Node.js, Python, Java, C# and Go

Information Space-Time

Time, Clocks, and the Ordering of Events in a Distributed System

Effective Aggregate Design Part I, Part II, Part III
Отличное эссе о принципах проектирования аггрегатов. Хотел бы, чтобы оно попалось мне несколько лет назад. Очень рекомендую почитать.

Vertical Slice Architecture

Running Apache Kafka on Kubernetes

Tools

Introducing the JetBrains redistributable of MSBuild
Кастомный билд для тех, у кого нет лицензии на VS.

Learning best practices and language features using Rider code inspections

Remediating the May 2018 Git Security Vulnerability

Introducing the ReSharper performance series
Серия статей о планах и подходах для улучшения производительности R#.

Version control improvements in Rider 2018.1

UI

Pixelpusher: Real-time peer-to-peer collaboration with React

dom-testing-library

Books

Introducing GitHub, 2nd Edition

Designing Event-Driven Systems

Разное

Developer Survey Results 2018

What is „concurrent” access to mutable state?

The Cost of Living Around the World 2018
Украина на третьем месте среди самых дешевых стран.

People are not „Resources”

Emoji code review

Интересные твиты

„I don’t ask permission to write a test or refactor any more than I ask permission to write an if statement or a for loop” -@RonJeffries quoted at #sgcanMarch 26, 2018

Do you know that you can use decostruction syntax to initialize more than one field/property in expression-body constructor?

And, BTW, the C# compiler is smart enough to eliminate a deconstruction code from the final assembly;)April 8, 2018

know the difference between forward and back slashOctober 20, 2016

„Pipelined plaintext, that’s fast, but the performance would be gone making a database call?”

Non-pipelined, db query -> html escape -> utf-8 encode -> format into html doc and table: 3.12Gb/s on a commodity server!

#aspnetcore is a

Похожие статьи:
У зв’язку з повномасштабним вторгненням росії з 24 лютого в Україні діє воєнний стан, а Указом Президента № 69/2022 оголошено загальну...
Популярна система питань і відповідей для професійних програмістів та ентузіастів StackOverflow заборонила будь-яке використання...
Я работаю программистом уже более 13 лет: занимаюсь высоконагруженными и распределенными системами, рассматриваю...
Оператор мобильной связи «Билайн» представил новую линейку постоплатных тарифов «ВСЁ!» для владельцев...
Запись на первое бесплатное занятие онлайн курса. Начало урока 9 августа июня в 19:30. Здравствуйте, дорогие...
Яндекс.Метрика