🎉.NET 8 уже совсем близко. Стали известны темы докладов и все подробности, которые ждут участников .NET Conf 2023. А мы разбираемся, что из себя представляет второй релиз-кандидат новой версии платформы:
🔹 Анонс .NET 8 RC2
🔹 Обновления ASP.NET Core .NET 8 RC 2
🔹 Анонс .NET MAUI в .NET 8 RC 2
🔹 EF Core 8 RC 2
☑️ Смотрите также серию видеоуроков Learn Live, которая охватывает основы C# для новичков:
📺 Написание первой программу на C#
📺 Разработка и запуск простого приложения на C#
📺 Добавление логики в консольное приложение
📺 Работа с переменными данными в консольных приложениях C#
#чтопроисходит #матчасть
🔹 Анонс .NET 8 RC2
🔹 Обновления ASP.NET Core .NET 8 RC 2
🔹 Анонс .NET MAUI в .NET 8 RC 2
🔹 EF Core 8 RC 2
☑️ Смотрите также серию видеоуроков Learn Live, которая охватывает основы C# для новичков:
📺 Написание первой программу на C#
📺 Разработка и запуск простого приложения на C#
📺 Добавление логики в консольное приложение
📺 Работа с переменными данными в консольных приложениях C#
#чтопроисходит #матчасть
🔥9👍5🤩4❤1🤔1
#tools #tip by Dave Callan
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54❤9⚡2
Discriminated Unions в C#
Discriminated Unions — давняя потребность в C#. Хотя этот функционал пока недоступен напрямую C#-разработчикам, Maarten Balliauw, Developer Advocate в JetBrains, представляет краткое введение в концепцию и два способа, которые вы можете использовать уже сейчас👇
🔗Читать
Discriminated Unions — давняя потребность в C#. Хотя этот функционал пока недоступен напрямую C#-разработчикам, Maarten Balliauw, Developer Advocate в JetBrains, представляет краткое введение в концепцию и два способа, которые вы можете использовать уже сейчас
🔗Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Maarten Balliauw {blog}
Discriminated Unions in C#
Discriminated unions have been a long-standing request for C#. While F# users have had discriminated unions for years, C# developers will have to wait a bit longer.
👍9
Как вам производительность встроенного инструмента для сериализации и десериализации JSON?
#csharp #benchmarks by Nabi Karampoor
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥55👍5🥱4❤1
From_Junior_to_Genius_an_optimization_story_by_Israel_Lot_ITNEXT.pdf
8.5 MB
✅Получится довольно любопытная история оптимизации. Версия джуна выглядит следующим образом👇
public static uint Checksum(ReadOnlySpan<byte> arr)
{
if (arr.Length == 0) return 0;
uint sum0 = 0, sum1 = 0, sum2 = 0, sum3 = 0;
for(var i = 0; i<arr.Length; i++)
{
switch (i % 4)
{
case 0: sum0 += arr[i]; break;
case 1: sum1 += arr[i]; break;
case 2: sum2 += arr[i]; break;
case 3: sum3 += arr[i]; break;
}
}
var sum = sum3+ (sum2 << 8) + (sum1 << 16) + (sum0 << 24);
return sum;
}
Интересно, как этот простой метод можно существенно улучшить и оптимизировать? Тогда читайте подробнее — вас ждет много кода и бенчмарков.
#csharp #benchmarks
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2🔥1
• .NET Framework применяет конфигурации окружения на этапе сборки, преобразуя файлы, зависящие от окружения, чтобы создать единый файл конфигурации для развернутого приложения. Приложение знает, в каком окружении оно должно работать, независимо от того, где оно развернуто.
• .NET/Core применяет конфигурации окружения во время выполнения, используя конкретную переменную окружения, и может использовать множество источников конфигурации. Приложение спрашивает, в какой среде оно развернуто.
👌Build once, deploy to many
🔧С первого взгляда все кажется простым и понятным, но команда .NET сделала огромную работу, полностью изменив принцип работы конфигурации в .NET/Core и решив множество проблем.
👉 Читайте подробнее о том, что именно изменилось и как это должно работать.
Please open Telegram to view this post
VIEW IN TELEGRAM
Softwaremeadows
.NET Framework Vs Core Environment Configuration | Software Meadows
👍10🤔2
🚀Самый быстрый способ запуска тестов в .NET: гайд по работе с Meziantou.Xunit.ParallelTestFramework от Ника Чапсаса.
📺 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Ловите записи докладов с 91-й встречи SpbDotNet:
🌐 Станислав Сидристый (известный .NET-разработчик, автор онлайн-книги .NET Platform Architecture): «Реактивная сборка огромного проекта»
• При стремительном росте проекта возникает ряд трудностей не только у разработки, но и у DevOps. Станислав решил помочь коллегам и сделал очень быструю сборку всех проектов.
• В итоге удалось ускорить сборку с 400 машиноминут (20 агентов, 20 минут) до диапазона (30 сек, 1 мин 30 сек) в зависимости от количества изменений. Через что пришлось пройти, все неудачные варианты и результат — в докладе.
🌐 Евгений Пешков (ранее разрабатывал JetBrains Rider, занимался инфраструктурой в Контуре): «Убийцы производительности»
• Одна из причин низкой производительности .NET-приложений — некачественные сторонние библиотеки или неправильное их использование. Например, обычное логирование может превратить всю программу в однопоточную, если неправильно сконфигурировано.
• Увы, некоторые подобные проблемы кочуют из библиотеки в библиотеку, и из проекта в проект. В докладе Евгений показывает примеры таких проблем и рассказывает, как их избежать.
#чтопроисходит
• При стремительном росте проекта возникает ряд трудностей не только у разработки, но и у DevOps. Станислав решил помочь коллегам и сделал очень быструю сборку всех проектов.
• В итоге удалось ускорить сборку с 400 машиноминут (20 агентов, 20 минут) до диапазона (30 сек, 1 мин 30 сек) в зависимости от количества изменений. Через что пришлось пройти, все неудачные варианты и результат — в докладе.
• Одна из причин низкой производительности .NET-приложений — некачественные сторонние библиотеки или неправильное их использование. Например, обычное логирование может превратить всю программу в однопоточную, если неправильно сконфигурировано.
• Увы, некоторые подобные проблемы кочуют из библиотеки в библиотеку, и из проекта в проект. В докладе Евгений показывает примеры таких проблем и рассказывает, как их избежать.
#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍8
Каким терминалом/интерпретатором командной строки пользуетесь? Пользователи Windows, поделитесь опытом👇
Anonymous Poll
38%
CMD
35%
PowerShell
28%
Windows Terminal
20%
Всеми — в зависимости от задачи
3%
Другим (напишу в комментариях)
7%
Посмотреть результаты
❤3
📈Каким бы противоречивым ни был индекс TIOBE, который отслеживает показатель популярности языков программирования, но согласно ему C# потихоньку обгоняет Java.
«Разрыв между C# и Java никогда не был таким маленьким», — говорится в последнем выпуске. «В настоящее время разница составляет всего 1,2 процента, и если тенденция сохранится, C# превзойдёт Java примерно через 2 месяца».
📌Почему этим данным можно верить?
💬Снижение популярности Java может быть вызвано решением Oracle ввести модель платного лицензирования после Java 8 и ростом популярности Kotlin. .NET/C# в свою очередь повернулся в сторону открытого исходного кода и сообщества.
«Разрыв между C# и Java никогда не был таким маленьким», — говорится в последнем выпуске. «В настоящее время разница составляет всего 1,2 процента, и если тенденция сохранится, C# превзойдёт Java примерно через 2 месяца».
📌Почему этим данным можно верить?
💬Снижение популярности Java может быть вызвано решением Oracle ввести модель платного лицензирования после Java 8 и ростом популярности Kotlin. .NET/C# в свою очередь повернулся в сторону открытого исходного кода и сообщества.
👍43❤11👏3
✅C# и System.Reflection.Assembly
✅C# и MemoryStream()
✅C#, память и неуправляемый код
✅Конвертация в JScript
✅Специальные лоадеры
👉Читать
#pentest #redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Диск – это лава. Исследуем методы выполнения пейлоада в памяти
Привет, Хабр! Меня зовут Миша, я работаю экспертом в центре инноваций Future Crew в команде тестирования на проникновение. В ходе пентестов очень часто приходится бороться с антивирусами. Увы, это...
👍3
Использование паттерна Outbox для надежного обмена сообщениями микросервисов: на заметку C#-разработчику
#dotnet #csharp #tip by Milan Jovanović
#dotnet #csharp #tip by Milan Jovanović
👍17🤔3😁2
default(T)
. Что, если мы хотим сделать то же самое во время выполнения? Каково значение по умолчанию для любого System.Type
?👉Разбирается Microsoft MVP/разработчик из Ubisoft Gérald Barré
Please open Telegram to view this post
VIEW IN TELEGRAM
Meziantou's blog
Get the default value of a type at runtime - Gérald Barré
In this post, I describe how to get the default value of a type at runtime in .NET.
❤2👍2❤🔥1
☑️Улучшения в System.Text.Json
☑️Поддержка IAsyncEnumerable Stream в System.Net.Http.Json
☑️Создание JsonContent через JsonContent.Create
☑️Анализ JsonNode Instances с помощью JsonNode.ParseAsync
☑️Улучшение JsonSerializerOptions.MakeReadOnly(bool populateMissingResolver)
☑️Режим AndroidStripILAfterAOT на Android
☑️Поддержка Azure Managed Identity для SDK Container Publishing и другие
Please open Telegram to view this post
VIEW IN TELEGRAM
DEV Community
.NET 8 is on the Way! 7 Features that will blow your mind 🤯
Howdy, fellow developers! Here’s another exciting journey that we’re about to embark on, exploring...
❤7👍2
#холивар
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Существует много атрибутов From, включая FromQuery и FromForm, при добавлении параметра к экшену контроллера в ASP.NET Core Web API или MVC-приложении.
Но что делают эти атрибуты? И что более важно, как мы можем заставить их работать? David Grace рассматривает каждый из них и предоставляет примеры на C#.
👉Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Round The Code
FromQuery? FromForm? What do the .NET attributes do?
How the FromQuery, FromBody, FromForm, FromHeader and FromServices attributes work in an ASP.NET Core Web API and MVC app with C# code.
👍10
📌 Подборка за неделю на Code Maze:
🔹ConcurrentQueue в C#: фундаментальные концепции, использование и роль класса в обеспечении потокобезопасности
🔹Использование Keyed Services в .NET: обзор новой фичи, которая появилась в .NET 8
🔹Понимание паттерна Unit of Work в C#: преимущества и недостатки паттерна + пример реализации, который полностью независим от ORM
🔹Как и когда использовать TPC Inheritance Mapping в EF Core: погружение в недавно добавленную стратегию наследования в EF Core 7
🔹Как выполнить поиск подстроки без учета регистра в C#: гайд по использованию методов String.Contains(), String.IndexOf(), регулярных выражений и LINQ в сочетании с String.Equals( )
#dotnet #csharp #codemaze #матчасть
🔹ConcurrentQueue в C#: фундаментальные концепции, использование и роль класса в обеспечении потокобезопасности
🔹Использование Keyed Services в .NET: обзор новой фичи, которая появилась в .NET 8
🔹Понимание паттерна Unit of Work в C#: преимущества и недостатки паттерна + пример реализации, который полностью независим от ORM
🔹Как и когда использовать TPC Inheritance Mapping в EF Core: погружение в недавно добавленную стратегию наследования в EF Core 7
🔹Как выполнить поиск подстроки без учета регистра в C#: гайд по использованию методов String.Contains(), String.IndexOf(), регулярных выражений и LINQ в сочетании с String.Equals( )
#dotnet #csharp #codemaze #матчасть
👍8⚡2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍7