среда, 30 апреля 2025 г.

github, otus, video, parallel, Samples, C# Profi

github, otus, video, parallel, Samples, C# Profi

https://github.com/Dzitskiy/ParallelSamples

https://otus.ru/lessons/csharp-professional/

https://otus.ru/lessons/csharp-professional/program/

https://vkvideo.ru/video-145052891_456248362?utm_source=email&utm_medium=email&utm_campaign=otus&utm_content=auto&utm_term=after_ol&relogin=True

Otus, MultiThreading, Video, Open Lesson, github

Otus, MultiThreading, Video, Open Lesson


Распараллеливание задач в C#:

ускорение вычислений и работа с 

Concurrent Collections



F:\DownLoads\Study\Otus\Video\Slides\C#\MultiThread - Slides
































































































































































































суббота, 5 апреля 2025 г.

BinarySerialization, Giga

BinarySerialization, Giga

https://giga.chat/link/gcsOiYjKbS

BinaryFormatter и связанная с ним бинарная сериализация были исключены из основного дистрибутива .NET Core начиная с версии .NET 5.

Это было сделано по соображениям безопасности, так как бинарная сериализация считалась уязвимой для атак,

связанных с десериализацией незащищенных данных.

История исключения BinaryFormatter:

  1. До .NET Core 3.1: BinaryFormatter был доступен и использовался для бинарной сериализации.
  2. .NET 5: BinaryFormatter был удален из основной поставки .NET, но остался доступным через отдельный NuGet-пакет:
  3. System.Runtime.Serialization.Formatters.
  4. .NET 6 и новее: BinaryFormatter остается доступным через тот же NuGet-пакет,
  5. однако его использование настоятельно не рекомендуется из-за потенциальных уязвимостей.

Почему исключили BinaryFormatter?

Бинарная сериализация через BinaryFormatter имеет ряд серьезных недостатков с точки зрения безопасности:

  • Уязвимость к атакам на десериализацию: Злоумышленник может передать вредоносные данные,
  • которые приведут к выполнению произвольного кода при десериализации.
  • Неопределенность формата данных: Формат сериализованных данных может меняться от версии к версии,
  • что делает его ненадежным для долгосрочного хранения данных.
  • Производительность: BinaryFormatter медленнее и менее эффективен по сравнению с современными форматами сериализации,
  • такими как JSON или Protobuf.

Альтернативы BinaryFormatter:

Если тебе нужна сериализация данных, существуют более безопасные и эффективные альтернативы:

  1. JSON: Использование форматов, таких как JSON, через библиотеки вроде Newtonsoft.Json или System.Text.Json.
  2. Protobuf: Протокол буферов (Protocol Buffers) — эффективный и компактный формат сериализации.
  3. XML Serialization: Сериализация в XML формат, хотя она также имеет свои недостатки.