Рубрика «C#»
Тернарная нейронка на C#
2026-09-13 в 1:00, admin, рубрики: AI, C#, ml, ternary, train, windows, ИИ и машинное обучение, ии-модель, тернарные веса, тритЧто стоит за простым уведомлением: история разработки шаблонизатора на C#
2026-09-11 в 10:38, admin, рубрики: .net, C#, dynamics crm, email, parser, sms, sql, templates, уведомления, шаблонизаторВсем привет! Хочу рассказать о шаблонизаторе сообщений, который я разработал для нашей CRM, и о том, как он менялся по мере появления новых задач. Началось всё с напоминания о встрече. Имя клиента, дата, адрес. Несколько значений нужно вставить в текст и отправить сообщение. Если вы делали уведомления, задача наверняка знакома. На первый взгляд, обсуждать тут почти нечего.
Отбор акций на .NET: 14,5 млн баров в SQLite, фильтр, который мерил не в тех единицах, и перестановочный тест
2026-09-11 в 9:26, admin, рубрики: .net, C#, sqlite, анализ данных, бэктест, временные ряды, оптимизация, отбор акций, параллельные вычисления, перестановочный тестКаждый вечер мне нужно ответить на один вопрос: на какие бумаги из примерно тринадцати тысяч имеет смысл потратить время сегодня. Не «какие вырастут» — этого никто не знает, — а на каких стоит нарисовать уровень и поставить заявку.
Ленивый LINQ: разбираем yield и ленивые вычисления по кирпичикам
2026-07-21 в 12:09, admin, рубрики: .net, C#, deffered execution, ienumerable, linq, yield, итераторы, компилятор, ленивые вычисления, отложенные вычисленияВведение
Каждый C#-разработчик хотя бы раз писал что-то вроде:
var result = numbers.Where(x => x > 10).Select(x => x * 2).Take(5);
И почти каждый на старте карьеры удивлялся, узнав, что эта строчка ничего не вычисляет. Ни один элемент коллекции ещё не тронут, ни один предикат не вызван — вся цепочка спит. Вычисления начнутся только тогда, когда мы начнём перебирать result в foreach или вызовем .ToList().
Навайбкодил десктоп-клиент для «Яндекс Книг» на WinUI 3
2026-07-11 в 12:54, admin, рубрики: .net 8, C#, claude, codex, open source, windows, WinUI 3, вайбкодинг, искусственный интеллект, Яндекс КнигиПривет!)
Периодически хочется почитать книги с ноутбука, особенно в дороге. Но у «Яндекс Книг» есть только мобильные приложения и сайт, а отдельного клиента для Windows нет. Через браузер читать можно, пока есть нормальный интернет, однако в поезде или за городом этот план иногда заканчивается одновременно с мобильной сетью.
Можно было скачать книгу где-нибудь ещё, поставить обычную EPUB-читалку и не усложнять себе жизнь. Но библиотека и подписка у меня уже находились в одном сервисе. Поэтому я выбрал более логичный для программиста вариант: решил самостоятельно написать неофициальный десктоп-клиент.
Читать полностью »
Код — больше не первая стадия: эксперимент с агентами
2026-06-22 в 10:35, admin, рубрики: .net, ai-агенты, C#На предыдущей работе был простой подход: используем любые ИИ‑инструменты — главное результат. Что приводило к тому, что разработчик не мог внятно объяснить, для чего это написано. Главное, что тесты проходят? А то, что находится в чёрном ящике — дело второстепенное.
На текущей работе к ИИ отношение осторожное. По моим наблюдениям многие используют как чат, а не как агент. Есть определенные модули, которые не должны утечь. Мне стало интересно разобраться насколько можно автоматизировать генерацию кода.
Я вижу четыре основных варианта использования ИИ в разработке:
Создал свой генератор случайных чисел на потоках
2026-05-27 в 18:34, admin, рубрики: C#, безопасность, криптографические алгоритмы, криптография, рандомайзер, рандомизацияНачнем с того, как компьютер сейчас генерирует случайные числа
Современные компьютеры используют так называемые псевдослучайные генераторы чисел (PRNG — Pseudorandom Number Generator). Эти алгоритмы создают последовательность чисел, которые кажутся случайными, хотя на самом деле они вычисляются на основе определенной формулы и начального значения — «семени». При этом «семя» может быть абсолютно любое, начиная от времени на компьютере, заканчивая шумом от молний (например, так работает сайт https://www.random.org).
Однако, у такого способа есть свои недостатки
Idempotency keys: 5 граблей, которые мы поймали на проде
2026-05-27 в 1:32, admin, рубрики: .net, api, C#, idempotency, intent-key, race condition, грабли, идемпотентность, платежи, распределенные системыПятница, 23:47. PagerDuty: “Платёж AmEx, провайдер вернул 5xx три раза подряд, билеты не зарезервированы.” Открываю логи – действительно 3 ответа провайдера с 5xx, ни одной успешной транзакции по нашей базе. Закрываю как временный сбой на стороне провайдера, пишу короткую сводку в дежурный чат и иду досматривать. Через 40 минут второй алерт – уже от ночной поддержки: клиент прислал скрин выписки, 3 списания подряд за одну бронь. У клиента рейс через 6 часов, ему нужна действующая бронь и подтверждение, что он завтра нормально улетит, а не тикет в поддержку.
Async-Await в C# это синтаксический сахар для конечного автомата
2026-05-15 в 7:23, admin, рубрики: async, await, awaiter, C#, c#.net, statemachine, taskbuilder, асинхронность, конечный автоматКонечный автомат и его внутреннее устройство
Примечание переводчика:
State Machine, конечный автомат это преобразованный async метод. Компилятор преобразует метод в тип, реализующий конечный автомат (наследуется от IAsyncStateMachine). Благодаря такому механизму, при достижении первого оператора await поток, начавший метод, может возвращаться без «физического» оператора return метода, тем самым, продолжая выполнение основной программы.
В математике, конечный автомат это некоторая система, которая может находится только в одном состоянии.
(Возможные) состояния конечного автомата:


