.NET.
Бенчмаркая foreach и энумераторы: аллокации, которые прятались 10 лет
Уважаемые читатели, в этой статье я хочу рассказать о скрытых аллокациях в обычном foreach и представить свои выводы. Тесты сделаны на .net 8, .net 9 и .net 10 одновременно, чтобы было видно, как одна и та же строчка кода ведет себя на разных рантаймах.Все тесты сделаны с использованием BenchmarkDotNet, полный код представлен на гите, так что каждый может проверить результаты и сделать свои выводы.Будет три истории, и все три про foreach:SortedList из стандартной библиотеки аллоцирует память на каждый foreach, а Dictionary — нет. Из-за одной строчки в сигнатуре метода. И починить это по-нормальному нельзя.
Овцеводческая CRM, Узбекистан и .NET 10: семь инженерных историй с граблями
Мы делаем QoyHunter — учётную систему для овцеводческих хозяйств Узбекистана, с витриной животных, доставкой и блогом на соседних поддоменах. С точки зрения бизнес-логики ничего экзотического: CRM как CRM. Экзотика начинается там, где эта CRM встречается с реальностью рынка.
Метод, которого не существовало: как я собрал локальный RAG для CAD API
Локальный RAG для Smart3D API
Plumix: как я переписываю Flutter на C# — вместе с ИИ
Привет! Меня зовут Егор, я мобильный разработчик. Пару лет назад я уже писал на Хабре о своём переходе с Xamarin Native на Flutter — и с тех пор моя любовь к декларативному UI только окрепла. Но за это время накопилась и заноза: Flutter великолепен на мобилке и ощутимо буксует на десктопе, а Avalonia — ровно наоборот.Так родился Plumix — фреймворк с открытым исходным кодом, который переносит архитектуру Flutter (Widget → Element → RenderObject
Web3-мессенджер размером в 3.5 Мб: инди-разработка с нулевым бюджетом
ПРЕКРАСНОЕ ДАЛЕКО Технологии развиваются с поразительной скоростью. Кажется, только вчера появились отечественные микропроцессоры КР1810ВМ86М с тактовой частотой всего 8 мегагерц, навсегда разделившие наш быт на «до» и «после». А набор из восьми микросхем памяти К565РУ7 (аналог Intel 41256) давал фантастический по тем временам объем ОЗУ в 256 килобайт.
Интеграция ИИ уровня предприятия: встраивание LLM в бизнес-процессы крупных компаний — redb.Route.Llm 3.1.1
redb.route llmСерия: redb ecosystem (часть 2 к LLM-анонсу) В предыдущей статье я анонсировал redb.Route.Llm как 24-й транспорт redb.Route
redb.Route 3.1.0 — LLM как ещё один транспорт: .To(«llm:–claude») и .AsLlmTool()
redb.route llm AIСерия: redb ecosystem (анонс, разбор позже)В 3.1.0 у redb.Route вышло два новых транспорта: redb.Route.Llm (24-й) и redb.Route.Exec (25-й). LLM теперь — обычный endpoint наравне с Kafka, RabbitMQ и HTTP: вызов модели — это шаг .To("llm://claude")
Как мы превращаем звонок риэлтора в карточку лида за 15 секунд: ИИ-автолид изнутри
Риэлтор за рулём. Звонит собственник трёшки на Соколе: «Видел ваше объявление, хочу обсудить продажу». Двадцать минут живого разговора — район, перепланировка, срочность, вилка по цене. Разговор кончается, риэлтор едет на показ, к вечеру у него ещё пять звонков. Утром он помнит, что «был кто-то по трёшке», но не помнит ни имени, ни цены, ни телефона. Лид потерян не потому, что плохо отработали, а потому, что между звонком и CRM стоит человек с памятью и руками, которые в этот момент держат руль.Мы сделали так, чтобы между звонком и карточкой лида не стояло ничего, кроме кода. Это инженерный разбор того, как у нас в
Встраиваемая векторная БД для RAG на .NET 8: когда внешние сервисы избыточны
О чём речьЕсли вы делаете RAG (Retrieval-Augmented Generation) на .NET, то рано или поздно упираетесь в вопрос: куда складывать эмбеддинги и как быстро искать по ним.Существующие варианты делятся на два лагеря.Внешние сервисы (Pinecone, Qdrant, Weaviate) — хороши, но требуют отдельной инфраструктуры. Сеть, авторизация, сериализация, мониторинг. Каждый запрос — это миллисекунды на HTTP. Плюс вы привязываетесь к конкретному облачному провайдеру или контейнеру.Существующие .NET-решения — часто либо заброшены, либо имеют проблемы с производительностью (избыточные аллокации, медленный ANN, отсутствие гибридного поиска).
Распознавание лиц с потока камеры в .NET MAUI
Как использовать элемент SkiaCamera для AI/ML локально и с APIВ этой статьеСегодняшние приложения для мобильных и настольных устройств умеют распознавать на изображениях почти что угодно, - от QR-кодов до количества калорий в еде на на фото. На платформах, которые поддерживает

