Библиотека шарписта | C#, F#, .NET, ASP.NET
22.5K subscribers
2.47K photos
39 videos
85 files
4.69K links
Все самое полезное для C#-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
👨‍💻 Когда нужна стабильность, а не спешка

Представьте фоновую задачу, которая должна срабатывать каждые 5 секунд: проверка очереди, синхронизация данных, отправка метрик. Можно, конечно, использовать Task.Delay, но это хрупко — если одна итерация длится дольше, чем ожидалось, ритм собьётся.

PeriodicTimer решает эту проблему иначе:
var timer = new PeriodicTimer(TimeSpan.FromSeconds(5));


Создаём таймер, который будет срабатывать каждые 5 секунд. Точка отсчёта — момент создания.

while (await timer.WaitForNextTickAsync(ct))
{
await DoWork(ct);
}


WaitForNextTickAsync ждёт следующего тика таймера. Когда он приходит — выполняем работу. Если работа заняла 1 секунду, следующий тик всё равно придёт через 5 секунд от начала цикла, а не через 6.

Это стабильный интервал, а не интервал между завершением одной работы и началом другой.

🔹 Практический интенсив «Архитектуры и шаблоны проектирования»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸Библиотека шарписта

#il_люминатор
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍3
⭐️ Пост-квантовая криптография в .NET 10

релизе .NET 10 Microsoft активно внедряет поддержку алгоритмов PQC, чтобы обеспечить будущее безопасных приложений уже сегодня.

Термин «пост» в PQC не означает, что квантовые компьютеры уже здесь. Это про алгоритмы, которые будут устойчивы к атакам со стороны мощных квантовых вычислительных систем, которые могут создать угрозу традиционным методам шифрования, таким как RSA и ECC.

В .NET 10 представлены четыре ключевых алгоритма PQC с поддержкой стандартов NIST и IETF:

• ML-KEM — алгоритм для захвата ключа, поддерживаемый NIST FIPS 203, класс MLKem в .NET

• ML-DSA — алгоритм цифровой подписи, поддерживаемый NIST FIPS 204, класс MLDsa в .NET

• SLH-DSA — алгоритм цифровой подписи, поддерживаемый NIST FIPS 205, класс SlhDsa в .NET

• Composite ML-DSA — композитный алгоритм цифровой подписи, поддерживаемый IETF Draft, класс CompositeMLDsa в .NET

Переход на PQC заставил переосмыслить архитектуру криптографических классов. Старый базовый класс AsymmetricAlgorithm не соответствовал современным требованиям, например, свойство KeySize стало менее уместным для новых алгоритмов.

🔹 Экспресс-курс «Математика для Data Science»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸Библиотека шарписта

#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
4
🛠 Как создать путь к временному файлу в C#

В C# для работы с путями к файлам существует класс Path, который предлагает методы для объединения частей путей и получения системных директорий. Один из таких методов — GetTempPath(). Он возвращает путь к папке, предназначенной для временных файлов на текущей системе.

Другой полезный метод — Combine(). Он соединяет несколько частей пути, учитывая особенности слэшей в Windows, Linux и macOS. Вместо ручного склеивания строк и риска ошибок, Combine() гарантирует правильный формат.

Пример:
using System;
using System.IO;

class Program
{
static void Main()
{
// Получаем путь к системной временной папке и добавляем имя файла
var path = Path.Combine(Path.GetTempPath(), "report.csv");
Console.WriteLine("Путь к временному файлу: " + path);

// Здесь можно сохранить файл, открыть или выполнить другие операции
}
}


Использование Path.GetTempPath() и Path.Combine() — простой способ получить корректный путь к временному файлу без ошибок и с учётом особенностей операционных систем.

🔸 Основы IT для непрограммистов
🔸 Получить консультацию менеджера
🔸 Сайт Академии 🔸 Сайт Proglib

🐸Библиотека шарписта

#il_люминатор
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🥱3