RU

Как пишут базы данных на C#: RavenDb

Эта база данных покоряет своей продуманностью: индексы рождаются автоматически, система обновляется без вашего участия, а защита данных стоит на стр…

RavenDbБаза ДанныхДокументно-ориентированнаямногомодельнаяС#.NETASP.NETOren EiniСоздание Базы ДанныхСУБД
Habr
RU

Месяц, 500M токенов и симулятор завода: как мы с ИИ-агентом построили имитационную модель производства чипов

Когда я прочёл о том, что Андрей Карпати больше не пишет код руками, а перешёл на агентное программирование, я, честно говоря призадумался. Скажи об…

Искусственный интеллектAI-кодингC#.NETимитационное моделированиеSimSharpLLMполупроводниковое производствоJSONRabbitMQ
Habr
RU

Архитектура TMS на .NET: кластер, потоки координат и объектное хранилище

Это разбор архитектуры системы управления транспортом — без сроков, без смет и без сравнения технологий по галочкам. Только устройство: из чего сист…

архитектура.NETинтеграцияEIPKafkaRabbitMQRedisPostgreSQLкластерпартиционирование
Habr
RU

Переезд с ESB на свой стек: что реально экономит бизнес

Разбираем систему управления транспортом — TMS.  Заказы приезжают из SAP, под них подбираются водитель и машина с учётом требований, рейс идёт…

миграцияESBWSO2рефакторингтехдолгинтеграция.NETархитектурастоимость разработкилегаси
Habr
RU

Сколько стоит интеграционный слой на WSO2 MI и EF Core: разбор реальной системы по строкам

Разбираем систему управления транспортом — TMS.  Не игрушечную и не с конференции: заказы приезжают из SAP, под них подбираются водитель и маши…

интеграцияESBWSO2Entity Frameworkлегасистоимость разработкитехдолг.NETархитектурамиграция
Habr
RU

Референсная архитектура платёжной платформы на.NET: схемы, границы транзакций, модули, кластер

В  прошлой статье  я разбирал платёжную платформу с точки зрения сметы: три слоя, где уходят человеко‑годы, что можно не пи…

архитектурафинтехплатёжная системаledgerидемпотентностьтранзакцииEIP.NETredbмикросервисы
Habr
RU

Платёжная платформа на.NET: во что она обходится и что из этого можно не писать

Разговор про финтех‑платформу почти всегда начинается не с той стороны. Обсуждают выбор брокера сообщений, спорят про микросерви…

финтехплатёжная системабиллингстоимость разработкиtime-to-marketинтеграцияOIDCэксплуатация.NETredb
Habr
RU

Конвейеры на Channels: как не получить тихую утечку памяти и вечно висящий воркер

Неограниченный канал спокойно работает до первого замедления потребителя, после чего очередь начинает расти, память — заканчиваться, а&nbs…

System.Threading.ChannelsC#.NETASP.NET Coreасинхронное программированиеканалыконвейеры обработки данныхобратное давлениефоновые задачиутечка памяти.
Habr
RU

Ленивый LINQ: разбираем yield и ленивые вычисления по кирпичикам

Каждый C#‑разработчик писал numbers.Where(x => x > 10).Select(x => x * 2)  — и удивлялся, узнав, что эта строчка ничего не в…

C#LINQyield.NETотложенные вычисленияdeffered executionитераторыIEnumerableленивые вычислениякомпилятор
Habr
RU

Почему не стоит судить себя по результатам собеседований

Работая в IT и общаясь с разными специалистами, я заметил интересную вещь: собеседования часто воспринимаются как объективная проверка знаний, хотя…

Собеседование.NETITIT собеседованиеC++Отказы в ITПлохой IT специалист
Habr
RU

redb.Identity: OAuth 2.1 / OpenID сервер на .NET, где протокол отделён от транспорта, по шине или вообще без сети

Есть три привычных способа сделать OAuth/OIDC в .NET, и каждый чем-то неудобен. Первый —  ASP.NET -привязанные  решения (Duende IdentitySe…

OAuth 2.1OpenID Connectidentity serverаутентификацияSSOOpenIddict.NETC#SCIMMFA
Habr
RU

redb.Route — коннектор RabbitMQ: RPC, конкурирующие консьюмеры и dead-letter. Уходим от MassTransit

Про Kafka в этой серии уже было. Теперь —  RabbitMQ , и с упором на то, как им пользоваться. Коннектор  redb.Route.RabbitMQ  — поверх…

RabbitMQAMQPброкер сообщенийочереди сообщенийMassTransitApache CamelEIPRPC.NETC#
Habr
RU

Метод, которого не существовало: как я собрал локальный RAG для CAD API

Последние годы инжиниринг живёт под одним лозунгом: то же самое, но дешевле и быстрее. Заказчики сокращают бюджеты и сроки, подрядчики ищут, какие п…

Smart3DCAD APIRAGLLMC#.NETгенерация кодавекторный поисклокальная языковая модельпромышленная автоматизация
Habr
RU

Plumix: как я переписываю Flutter на C# — вместе с ИИ

Я скучал по C#, когда писал на Flutter, и по Flutter — когда писал на C#. Поэтому взял и совместил: Plumix — фреймворк с флаттеровской архитектурой…

PlumixFlutterC#.NETAvaloniaдекларативный UIкроссплатформенная разработкаImpellerИИ-агентыopen source
Habr
RU

Source generators в.NET: как они вытеснили рефлексию из стандартной библиотеки

Ещё несколько лет назад рефлексия считалась нормой для.NET‑приложений. Сегодня Microsoft последовательно выносит всё больше работы из runtime в…

source generatorsC#.NETрефлексияпроизводительностьNative AOTLoggerMessageкодогенерацияоптимизация приложенийASP.NET Core
Habr
RU

Все тесты зелёные, платежи зависли: 5 граблей интеграции без песочницы

Осенью 2022-го мы добавляли в наш платёжный агрегатор новый способ оплаты: плательщик уходит по ссылке в приложение своего банка, подтверждает платё…

вебхукиидемпотентностьполингинтеграция платежейплатёжный провайдеротказоустойчивостьтестированиеwebhooks.NETC#
Habr