CSharp

Модификатор in, readonly struct и их производительность

dotNET  /  Производительность dotNET  /  CSharp  /  Performance

В прошлом месяце я писал об улучшениях производительности в .NET Core 2.1, а сегодня расскажу о двух фичах C# 7.2 — модификаторе “in” и readonly-структурах.

Рассказ, как обычно, будет коротким. Но со списком статей для дополнительного изучения :) Пара статей Сергея Теплякова и мотивировала меня написать этот краткий конспект на русском языке.

Новости от Microsoft

dotNET  /  Базы данных  /  Новости CSharp  /  Microsoft

Сегодня несколько новостей из мира Microsoft:

Первые впечатления о gRPC

Микросервисы Microservices  /  Google  /  CSharp  /  Golang

Помните, я обещал поделиться впечатлениями о gRPC, когда доведётся попробовать в деле? Довелось. Сейчас поделюсь. Только уточню, что пока это впечатления с хакатона, там не будет махрового энтерпрайза, повального контроля с аудитом и тому подобного.

В вопросу о хакатоне. Делал небольшую инфраструктуру для того, чтобы сделать немного счастливее наших тестировщиков. И разработчиков, конечно, но в исторической перспективе.

gRPC — первые шаги

Микросервисы Microservices  /  Google  /  CSharp  /  Golang

Недавно вышел релиз gRPC. Сегодня я расскажу о том, что это такое и почему стоит, как минимум, обратить на это внимание. А потом расскажу, как посмотреть его в работе, используя стандартные примеры.

Чтобы не было скучно от слова “стандартные”, мы будем обращаться к серверу на Go из клиента на C#. В принципе, можно реализовать любые комбинации из языков программирования, которые поддерживаются gRPC. Кстати, вот список поддерживаемых платформ и ЯП:

Внимание! TransactionScope по умолчанию включает Serializable.

Базы данных  /  Внезапно dotNET  /  CSharp

Сегодня о TransactionScope, уровне изоляции транзакций Serializable и дырявых абстракциях.

Вообще говоря, я раньше много раз сталкивался с распределёнными транзакциями. В какой-то момент я окончательно сформировал своё мнение по этой теме. Получилось что-то вроде: “хватит, я не буду их использовать вообще, разве что в ход со стороны оппонента пойдут огнестрельное оружие и прочие нечестные аргументы”.

По этой причине моё знакомство с TransactionScope свелось к его использованию в интеграционных тестах (без распределённой составляющей, просто для удобного отката транзакций) и редким спорам с коллегами. Но сегодня, внезапно…