Start Debugging

Блог

Страница 8 из 91

2026-10-11 csharpdotnetfile-io

Как читать хвост файла журнала в C#, пока другой процесс продолжает в него писать

Откройте журнал с FileShare.ReadWrite | FileShare.Delete, перейдите в конец, опрашивайте файл на появление новых байтов, декодируйте их собственным UTF-8 Decoder вместо StreamReader и явно обрабатывайте усечение и ротацию. Проверенная реализация tail -F для .NET 10 и .NET 11.

Quartz.NET 4.4: задания сообщают о своём результате, а проверка работоспособности замечает, когда они перестают выполняться

Quartz.NET 4.4.0 позволяет заданию записать в context.Result объект JobRunReport (Succeeded, Failed, Cancelled или Skipped, с кратким описанием и метриками), хранит результат по каждому заданию в истории выполнения и добавляет проверки работоспособности RequireSuccessWithin, которые переходят в состояние Degraded, когда ночное задание перестаёт завершаться успешно.

Как сопоставлять вложенные скобки и сбалансированные теги с помощью балансирующих групп в .NET Regex

Балансирующие группы (?<name>) и (?<-name>) превращают группу захвата в .NET regex в стек, поэтому одним шаблоном можно сопоставлять произвольно вложенные скобки или теги <div>. Полный шаблон, как работает стек, захват внутреннего содержимого через (?<inner-open>) и подводные камни, проверенные на .NET 11 RC1: проверка пустого стека, катастрофический откат, NonBacktracking и смешанные типы скобок.

Что такое скомпилированная модель в EF Core 11 и когда стоит её включать

Скомпилированная модель - это сгенерированный C#-код, который воссоздаёт вашу модель EF Core без запуска OnModelCreating. Замеры на EF Core 11 RC1: загрузка модели сокращается с 714 мс до 215 мс при 500 сущностях, но путь через MSBuild (заменивший EFOptimizeContext) медленнее, устаревшие модели ломаются молча, а фильтры запросов блокируют генерацию.
2026-10-10 flutterdartflavors

Что такое flavor во Flutter и чем он отличается от режима сборки

Режим сборки (debug, profile, release) определяет, как Flutter компилирует ваш Dart-код. Flavor (dev, staging, prod) это нативный вариант сборки, который вы описываете в Gradle и Xcode и который определяет, какое именно приложение вы выпускаете. Это независимые оси: 2 flavor на 3 режима дают 6 сборок. Проверено на Flutter 3.44.8 с AGP 9.0.1, исходный код сверен с версией 3.47.7.

Что такое transparent-раскладка структуры и почему структура-обёртка с одним полем меняет соглашение о вызовах в .NET?

Transparent-структура - это структура, которую ABI обрабатывает точно так же, как её единственное поле. В .NET 11 такой гарантии нет: структура, оборачивающая double, передаётся в RCX в Windows x64, но в XMM0 в Linux и macOS. Здесь разобран дизассемблированный код JIT-компилятора .NET 11 для трёх ABI, ошибки P/Invoke, которые из этого возникают, и способы писать типы-обёртки, безопасные на любой границе.
2026-10-09 migrationflutterios

Миграция iOS-приложения на Flutter с CocoaPods на Swift Package Manager (Flutter 3.44 - 3.47)

Во Flutter 3.44 Swift Package Manager стал вариантом по умолчанию для iOS и macOS, но существующее приложение остаётся на CocoaPods, пока вы его не уберёте. Как проверить, какие плагины готовы к SwiftPM, дать инструменту перенести проект Xcode, безопасно удалить Podfile, разобраться с плагинами только для pods и собственной логикой в Podfile, а при необходимости откатиться.

Что такое shadow-свойство в EF Core 11 и почему оно появилось в моей миграции?

Shadow-свойство - это столбец, который EF Core отслеживает без соответствующего CLR-свойства. Почему EF Core 11 их создаёт (отсутствующие FK-свойства, неверно названные FK, несовпадение типов, раздвоенные связи), как заметить столбец вида BlogId1 в миграции, как исправить каждую причину и как использовать shadow-свойства намеренно.