Please open Telegram to view this post
VIEW IN TELEGRAM
😁38❤2😢1
Представьте фоновую задачу, которая должна срабатывать каждые 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 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# для работы с путями к файлам существует класс
Другой полезный метод —
Пример:
Использование
🔸 Основы IT для непрограммистов
🔸 Получить консультацию менеджера
🔸 Сайт Академии 🔸 Сайт Proglib
🐸 Библиотека шарписта
#il_люминатор
В 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