Программистам в своей повседневной практике часто приходится работать с файлами. Обычно, в .NET мы просто используем готовые обертки с дефолтными параметрами и даже не задумываемся о том, что в действительно параметров при работе с файлами достаточно много, а один из конструкторов класса `FileStream` открывает доступ ко многим из них. По моему опыту на всякого рода курсах теме работы с файлами в принципе не уделяют никакого внимания. К счастью, на хабре вышла новая статья, в которой описываются разные неочевидные нюансы при работе с файлами, которую я рекомендовал бы хотя бы просмотреть разработчикам, а особенно тем, кто окончил курсы программистов. Например, в статье рассказано о том, что зачастую после записи файла на диск в реальности данные могут физически быть записаны с небольшой задержкой. По этому поводу Oren Eini (создатель RavenDB) даже небольшую зарисовку сделал (в двух словах, если нужна надежность, в большинстве кейсов он рекомендует ограничиваться вызовом метода Flush). Кстати, у него там еще много постов на эту тему. Из любопытного, от себя добавлю, что метод `FlushAsync` не имеет перегрузки с параметром `flushDisk`, а его дефолтная реализация из `OSFileStreamStrategy` просто возвращает `Task.CompletedTask`. So, be careful.
Программистам в своей повседневной практике часто приходится работать с…
Источник
https://t.me/ai_driven/7Канал AI-Driven Development. Родион Мостовой · опубликовано 30 мар. 2024 г.
Из этого канала
- #8Для желающих еще глубже разобраться в теме работы с файлами, могу посоветовать…
Для желающих еще глубже разобраться в теме работы с файлами, могу посоветовать вот этот доклад с дотнекста от Adam Sitnik одного из разработчиков дотнета.
- #10Прямо к моему дню рождения Stephen Toub и Scott Hanselman сделали отличный…
Прямо к моему дню рождения Stephen Toub и Scott Hanselman сделали отличный подарок - выкатили видео на YouTube, в котором за час с хвостиком им удалось на…
- #11Самое интересное из AI в контексте разработки на текущий момент. Главная…
Самое интересное из AI в контексте разработки на текущий момент. Главная новость, которую действительно можно выделить из общего фона - это, конечно же,…
- #6На всякий случай оставлю тут ссылку на запись своего доклада с прошлого…
На всякий случай оставлю тут ссылку на запись своего доклада с прошлого CodeFest по использованию ChatGPT в разработке, в нем мы итеративно пишем систему…
- #5"Всем привет! Обновил свой репозиторий ""AI для разработчиков"" с кейсами и…
"Всем привет! Обновил свой репозиторий ""AI для разработчиков"" с кейсами и промптами для разработчиков.