Тесты могут требовать временные файлы или директории. Для этого отлично подойдет модуль tempfile.
Так как временные файлы обычно нужно удалять после использования, tempfile предос…
Читать далее →
UTF-8 - это кодировка с переменной длиной. Один символ может быть закодирован с использованием одного, двух, трёх или четырёх байтов. Это означает, что нельзя начать чтение строки …
Читать далее →
AI-инструменты уже умеют быстро писать код, но для C#-разработчика это не отменяет экспертизу, а делает её важнее.
AI-инструменты уже умеют быстро писать код, но для C#-разработчика это не отменяет экспертизу, а делает её важнее. Теперь нужно не просто получить подсказку от ассистента, а понять, где она корректна, где скрывает ошибку и какие последствия принесёт в .NET-приложении.
5 августа в 20:00 МСК на открытом вебинаре OTUS разберём, как использовать AI так, чтобы становиться сильнее как C#-разработчик, а не зависеть от автогенерации. Покажем, где AI действительно ускоряет работу Middle/Senior: рефакторинг, генерация тестов, разбор legacy-кода, объяснение стектрейсов и поиск направлений для улучшения.
Отдельно посмотрим на зоны, где ассистенты часто ошибаются: потокобезопасность, работа с IDisposable, производительность LINQ, тонкости DI и конфигурации. Разберём, как ревьюить AI-код, формулировать запросы под задачи C#-разработчика и выстраивать workflow, где AI усиливает компетенции, а не заменяет понимание CLR, сборки мусора, многопоточности и архитектурных паттернов.
Урок проходит в преддверии старта курса «C#-разработчик. Продвинутый уровень».
👉 Регистрируйтесь: https://vk.cc/d0bAfL
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Иногда вам нужно запустить блок кода с несколькими контекстными менеджерами. Например:
with open('f') as f:
with open('g') as g:
with open('h') as h:
pass
…
Читать далее →
Рассмотрим следующую иерархию классов:
class GrandParent:
pass
class Parent1(GrandParent):
pass
class Parent2(GrandParent):
pass
class Child(Parent1, Parent2):
…
Читать далее →