C#-навигация прямо в браузере? Да, теперь и такое есть! 👀
Для тех, кто работает с C#, приятные новости от SourceCraft. Платформа добавила умную навигацию, которая понимает связи между функциями и позволяет переходить по объявлениям прямо в веб-интерфейсе — как в вашей любимой IDE. 🔥
А ИИ-ассистент теперь дописывает методы на C
не изолированно, а в контексте всего проекта. Для команд с разнесёнными код-ревью или для быстрого онбординга новичков — просто находка. Можно даже коммитить правки из браузера, не теряя типизацию.
Для тех, кто работает с C#, приятные новости от SourceCraft. Платформа добавила умную навигацию, которая понимает связи между функциями и позволяет переходить по объявлениям прямо в веб-интерфейсе — как в вашей любимой IDE. 🔥
А ИИ-ассистент теперь дописывает методы на C
не изолированно, а в контексте всего проекта. Для команд с разнесёнными код-ревью или для быстрого онбординга новичков — просто находка. Можно даже коммитить правки из браузера, не теряя типизацию.
👍1🔥1👏1
Как спроектировать высокопроизводительную очередь задач без блокировок?
Используйте System.Threading.Channels: ограниченный Channel даёт backpressure, продюсеры пишут WriteAsync, консьюмеры читают ReadAllAsync параллельно, отмена через CancellationToken. Минимизируйте аллокации (ValueTask, пулы), избегайте глобальных lock, измеряйте throughput/latency и не перегружайте ThreadPool.
Библиотека собеса по С#
Библиотека собеса по С#
Как запускать периодические задачи без дрейфа и гонок?
Используйте PeriodicTimer (.NET 6+) или цикл с Stopwatch и компенсацией дрейфа; исключайте реэнтрантность через SemaphoreSlim (single-flight); прокидывайте CancellationToken, пропускайте тик, если прошлый ещё идёт, и логируйте задержки.
Библиотека собеса по С#
Библиотека собеса по С#
✨ Halloween Special — последний день магии! 👻
Успевай сегодня купить курсы со скидкой 40%!
А также участвуй в розыгрыше MacBook Pro 14 💻
После полуночи останется только тыква 🎃
🔮 Открой портал и выбери курс
Успевай сегодня купить курсы со скидкой 40%!
А также участвуй в розыгрыше MacBook Pro 14 💻
После полуночи останется только тыква 🎃
🔮 Открой портал и выбери курс
❤1
Как запускать периодические задачи без дрейфа и гонок?
Используйте PeriodicTimer (.NET 6+) или цикл с Stopwatch и компенсацией дрейфа; исключайте реэнтрантность через SemaphoreSlim (single-flight); прокидывайте CancellationToken, пропускайте тик, если прошлый ещё идёт, и логируйте задержки.
Библиотека собеса по С#
Библиотека собеса по С#
Как правильно задавать таймауты и отмену в async-цепочке без конфликтов?
Держите один источник истины для отмены: передавайте общий CancellationToken вниз по стеку, избегайте вложенных таймаутов. Для HTTP вместо HttpClient.Timeout используйте Polly Timeout или CancellationTokenSource.CancelAfter, везде прокидывайте токен и корректно обрабатывайте OperationCanceledException.
Библиотека собеса по С#
Библиотека собеса по С#
Что такое enum и когда его следует использовать?
Enum — это тип значения, который используется для хранения перечислений, представляющих собой список именованных констант. Enum можно использовать для определения статических констант и константных флагов.
Библиотека собеса по С#
Библиотека собеса по С#
Какова разница между IEnumerable и IQueryable при работе с удаленной базой данных?
IEnumerable представляет собой коллекцию данных, находящуюся в памяти, и позволяет перемещаться по этим данным только в одном направлении — вперед. В отличие от него, IQueryable находится в пространстве имен System.Linq и предоставляет возможность удаленного доступа к базе данных. Он позволяет перемещаться по данным как в прямом, так и в обратном порядке. При выполнении запроса происходит его оптимизация, что делает работу с данными более эффективной.
Библиотека собеса по С#
IEnumerable представляет собой коллекцию данных, находящуюся в памяти, и позволяет перемещаться по этим данным только в одном направлении — вперед. В отличие от него, IQueryable находится в пространстве имен System.Linq и предоставляет возможность удаленного доступа к базе данных. Он позволяет перемещаться по данным как в прямом, так и в обратном порядке. При выполнении запроса происходит его оптимизация, что делает работу с данными более эффективной.
IEnumerable phoneIEnum = db.Phones;var phones1 = phoneIEnum.Where(p => p.Id > id).ToList(); //SELECT * FROM PHONES, фильтрация на стороне клиентаIQueryable phoneIQuer = db.Phones;int id = 3;var phones2 = phoneIQuer.Where(p => p.Id > id).ToList(); //SELECT * FROM PHONES WHERE ID > 3Библиотека собеса по С#
Можете ли вы определить разницу между перегрузкой и переопределением?
Перегрузка — когда у вас есть два или более методов в одной области действия с одинаковым именем, но разными параметрами.
Переопределение — позволяет вам изменить поведение метода в подклассе или дочернем классе.
Библиотека собеса по С#
Перегрузка — когда у вас есть два или более методов в одной области действия с одинаковым именем, но разными параметрами.
Переопределение — позволяет вам изменить поведение метода в подклассе или дочернем классе.
Библиотека собеса по С#
Невидимые утечки: как находить и обезвреживать сложнейшие утечки памяти в .NET
Даже опытные разработчики не всегда замечают, как события, таймеры и делегаты создают невидимые утечки, удерживая объекты в памяти. На открытом вебинаре курса OTUS C# Developer. Professional Елена Сычева покажет, как такие ошибки возникают и как их находить.
📌 12 ноября, 20:00
Невидимые утечки в .NET
— диагностика скрытых утечек памяти
— разбор работы GC и дампов памяти
— анализ событий, таймеров и делегатов
— реальные примеры из продакшн-кейсов
Вебинар бесплатный и будет полезен .NET-разработчикам уровня Middle и выше, работающим с долгоживущими приложениями и микросервисами.
👉 Регистрируйтесь: https://clc.to/RV5S7Q
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Даже опытные разработчики не всегда замечают, как события, таймеры и делегаты создают невидимые утечки, удерживая объекты в памяти. На открытом вебинаре курса OTUS C# Developer. Professional Елена Сычева покажет, как такие ошибки возникают и как их находить.
📌 12 ноября, 20:00
Невидимые утечки в .NET
— диагностика скрытых утечек памяти
— разбор работы GC и дампов памяти
— анализ событий, таймеров и делегатов
— реальные примеры из продакшн-кейсов
Вебинар бесплатный и будет полезен .NET-разработчикам уровня Middle и выше, работающим с долгоживущими приложениями и микросервисами.
👉 Регистрируйтесь: https://clc.to/RV5S7Q
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Как писать код, устойчивый к триммингу и AOT (NativeAOT/Blazor WASM)?
Избегайте неявной рефлексии/динамики; для JSON используйте source-generators (JsonSerializerContext), для DI — compile-time контейнеры или дескрипторы без сканирования. Помечайте необходимые члены DynamicallyAccessedMembers/DynamicDependency, держите TrimmerRootDescriptor/link.xml минимальным. Не делайте Assembly.GetTypes() без фильтров; проверяйте PublishTrimmed сборками и тестами.
Библиотека собеса по С#
Библиотека собеса по С#
Как защитить внешний API от перегрузки в .NET 7+ с предсказуемым throttling?
Используйте System.Threading.RateLimiting (Token/Fixed/Sliding/ConcurrencyLimiter) и middleware UseRateLimiter. Для per-user/per-key — политику с partitioner; задайте QueueProcessingOrder и длину очереди, чтобы получить backpressure или немедленные отказы. Оборачивайте вызовы Polly-политиками (timeouts/ретраи с джиттером).
Библиотека собеса по С#
Библиотека собеса по С#
❤1