Привет, Хабр! Меня зовут Сергей Сорокин, я .NET-разработчик с 12-летним стажем. Занимаюсь бэкендом, архитектурой и высокими нагрузками.
Знаю, о чем вы подумали, прочитав заголовок: "О боже, еще одна ORM? В 2025 году? Зачем, если есть Dapper и EF Core?".
Я тоже так думал. Но когда ты работаешь в Enterprise-системах, где производительность критична, а база данных — это не просто хранилище, а мощный инструмент обработки данных, стандартные решения начинают показывать свои слабые места.
Сегодня я хочу рассказать о Visor — ORM, которую мы создали, чтобы превратить работу с базой данных в вызов типизированного API, убрать оверхед рефлексии и решить извечную боль с передачей списков (TVP) в SQL Server. А заодно показать, как Source Generators позволяют писать код, который работает быстрее, чем то, что вы пишете руками.
Читать далееСейчас репутация Singleton давно не та, что была ранее. В последние годы он признается антипаттерном, который следует избегать в новом коде, но что делать с legacy кодом? Ловить косые взгляды современников? В данной статье мы напишем плагин для поиска этого паттерна в коде на C++, разберем аспекты разработки плагина с помощью Clang API и протестируем плагин на реальных проектах.
Читать далееПредметом исследования являются полумодулярные схемы (далее ПМС), подкласс схем, не зависящих от скорости, определенных Д. Малером в 1961 году. Этот подкласс включает в себя последовательные схемы, обсуждаемые в статьях с очевидным названием, опубликованные здесь же.
Как и в случае последовательных схем ограничимся только автономными схемами, т.е.
такими, которые не имеют внешних входов и выходов, т.к. для ПМС это ограничение
обходится (в соответствии с известной теоремой Малера) размыканием провода,
соединяющего выход любого элемента схемы со входами остальных ее элементов.
Схемы описываются системами логических уравнений, задающих поведение каждого
элемента.
Если в некотором состоянии схемы значение выхода элемента соответствует значению
описывающей его логической функции из системы уравнений, то выход является
устойчивым, в противном случае - возбужденным. Возбужденный выход может стать
устойчивым двумя способами: либо изменив значение выхода через время, определяемое его физической задержкой, либо за счет изменения входного набора его логической функции при котором ее значение придет в соответствие с не изменившимся выходом элемента.
Помните, с каким звуком включалась windows XP, или же главную тему Звездных Войн, а может быть вам что‑то скажут строчки: «Э рон дон дон…» Если у вас потекла скупая слеза ностальгии и вы вспомнили те времена, когда с первых секунд услышали эти культовые мелодии, то присаживайтесь поудобнее, сегодня мы вспомним о прошлом!
Когда я занимался саунд дизайном и композицией в муз.училище, у меня был вопрос: почему определенная композиционная задумка и выбор инструментов вызывают конкретные эмоции. И вот спустя года руки дошли наконец разобраться в этом. А именно: почему саундтрек и звуковой дизайн игр становится культовым, как мы воспринимаем звуки и почему это достояние не только для геймеров?
Несколько раз в жизни мне случайно попадалась в руки гитара, и я начинал учить песни Стинга. Shape of my heart, Fragile — любимые с детства. Их я легко нашел на ютубе, подробные разборы, понятные для чайников — где какую страну зажимать и в каком порядке дергать.
А вот с Desert Rose возникли трудности — я не смог найти по ней внятный урок. Только примитивный набор аккордов типа Am, Dm, C. Но я нашел исполнение одной девушки, которое понравилось, и решил разобрать его. Сначала я просто смотрел на видео и повторял. Но дальше нескольких аккордов не получилось выучить — объем информации слишком большой. Я пытался в тетрадке делать записи, но тоже не осилил. Смотрел несколько приложений для составления табулатур и счел их крайне неудобными. Я пытался отказаться от записей и «вербализации», а двигаться на чувствах и интуиции — и тоже не смог
В итоге я сделал скриншоты всех перестановок руки (их получилось 75). И в редакторе изображений отметил перебор. Получилось такое:
Читать далееКогда стандартные инструменты диагностики бессильны, когда логи молчат, а проблема где‑то в сети, наступает время настоящей артиллерии. tcpdump — это не просто утилита для «прослушки» трафика. Это полноценная среда для глубокого анализа, декомпозиции и понимания того, как данные на самом деле путешествуют по проводам и эфиру.
Читать далееВ современном цифровом предприятии знания перестали быть статичными документами — они живут, развиваются и меняются вместе с системой.
Каждый сервис, процесс, интерфейс или поток данных является носителем смыслов, и все эти смыслы взаимосвязаны.
Чем сложнее организация, тем важнее становится способность сохранять и использовать знания в структурированном виде.
Читать далееЯ ненавижу пет-проекты.
Да, я НЕНАВИЖУ их всей своей душой. Ровно с тех пор, как получил свою первую фул-тайм работу разработчиком. Я ненавижу приходить с работы и вставать перед выбором - работать в рамках привычного мне фронтенда, которым я занимаюсь на моей “с 9 до 5” и от которого к концу рабочей недели уже тошнит.
…или с головой погружаться в новые технологии, медленно и мучительно прогрызаясь через них, прежде, чем у тебя получится сделать нечто чуть лучше условного Hello world. Если ты, конечно, не готов жертвовать сном, другими хобби или временем, проведенным с любимыми людьми.
По крайней мере, я так думал до одного забавного дня пару месяцев назад.
Читать далееВ общем здесь будет немного повествования о том, как я внедрил в свой инструмент функции генерации разного рода контента (карточки для маркетплейсов, обучающего материала, презентаций)
С вами снова Евгений. Если вы читали мои предыдущие посты, то знаете мой бэкграунд: я сотрудник компании из сферы СИЗ (спецодежда и средства защиты), который устал от рутины и решил автоматизировать бизнес с помощью Gemini. Я не умею программировать, не знаю синтаксис Python, но имею желании и потихоньку обучился искусству "вайбкодинга"
Ранее я уже рассказал о своем опыте подбора товара по своей базе и про автоматический парсинг с последующим исследованием данных (подбор товара по базам поставщиков/конкурентов и анализ цен).
Какие насущные рутинные (и не только) вопросы я хотел решить с максимально возможной автоматизацией:
1. Создание обучающего материала для вновь прибывшего сотрудника
2. Анализ текстовых данных (тут вопросы были разные и останавливаться подробно не буду. Возможно, это будет отдельная статья)
3. Генерация презентаций
4. Генерация визуального материала для сайта, каталога и прочего
5. И самое насущное СОЗДАНИЕ КАРТОЧЕК ДЛЯ МАРКЕТПЛЕЙСОВ
Под эти задачи было разработано несколько мини инструментов:
Генерация Текста и Документов (он же анализ)
Создание простого текста (или кода)
Создание презентации (PPTX)
Генерация Изображений (с помощью разных моделей nano banana, nano banana pro, imagen4)
Генерация карточек (nano banana pro)
Далее постараюсь подробнее описать, что и как.
Привет, Хабр! По многочисленным просьбам, сегодня мы изучим и испытаем долгожданную новинку — продвинутое зарядное устройство, пришедшее на смену снятому с производства Кулону 912.
Эти аппараты предназначаются для тех, кто любит самостоятельно настраивать параметры этапов заряда, сохранять и изучать графики напряжений и токов, а также использовать прибор в качестве многофункционального блока питания.
Также устройство снабжено функцией разрядной нагрузки для проведения контрольно-тренировочных циклов.
Читать далееПроиндексируем фото архив для поиска на человеческом языке простыми фразами. Фраза: «новогодний праздник» найдет все фото связанные с новым годом. В этом нам поможет Qwen3-VL и Qdrant.
Читать далееКогда программист пишет код, он редко задумывается о том, что происходит с программой после того, как он её написал. Но понимание этого процесса необходимо для эффективной отладки, оптимизации и написания надёжного кода. А ещё, это просто интересно.
Читать далееДалее машинный перевод gpt5.1 статьи https://cdn.openai.com/business-guides-and-resources/building-an-ai-native-engineering-team.pdf
Читать далееКак защитить свои данные и психику в сети
Отложи на минуту телефон. Взгляни на экран. Там — твои переписки с близкими, банковские уведомления, личные фото, история поисковых запросов. Вся твоя жизнь в цифровом срезе. 30 ноября, в Международный день защиты информации, самое время спросить: а что, если этот срез может увидеть кто-то чужой?
Читать далееПочти в каждом третьем SMB повторяется одна и та же картина: продажи живут не на системе, не на процессе, а на одном единственном менеджере. На человеке, который «лучше всех продаёт», «знает всех клиентов» и «тащит уже сто лет».
Снаружи движение есть: звонки идут, сделки закрываются, выручка не падает. Но внутри — это не отдел продаж. Это хрупкая конструкция, где один человек заменяет собой весь процесс. Достаточно ему устать, заболеть или просто выключиться, и бизнес проваливается в туман.
Читать далееЯ помню тот самый момент в «Матрице: Перезагрузка», когда Агент Смит, уже не связанный правилами системы, смотрит на Нео и говорит:
«Я, я… и я тоже!»
И внезапно их становится сотня. Вся площадь заполнена одинаковыми агентами в одинаковых костюмах, все движутся с одинаковой точностью, и у всех на лице та же самая тревожная улыбка.
Я тогда училась в аспирантуре, и эта сцена меня до смерти напугала. Да, я наслаждалась кунг-фу и спецэффектами, которые до сих пор выглядят потрясающе. Но сама идея машины, кода, способного к самокопированию - к чему-то, что он решает сам, - не давала и до сих пор не даёт мне покоя.
Читать далееВ октябре 2025 года многим пользователям Windows 10 пришлось решать, что делать: переходить на требовательную Windows 11, оформлять платные продления безопасности или искать замену привычной ОС. В этот момент заметно вырос интерес к Zorin OS — версия 18 за пять недель набрала около миллиона загрузок, и примерно 780 тысяч загрузок пришлись на Windows-пользователей. Насколько можно понять, люди действительно начали смотреть в сторону Linux, пусть и не совсем обычного дистрибутива. Давайте разбираться, что там и как.
Читать далееПредставим распространённые ситуации:
— пользователь вашего сайта пытается выложить фото или другое изображение, но натыкается на фрюстрирующее сообщение об ошибке, гласящее, что размер файла непозволительно большой;
— ваше сайт активно использует изображения, присылаемые пользователями, и по мере роста аудитории, вы всё чаще сталкиваетесь с падением производительности серверов, а то и с падением оных.
Данная статья предлагает решение данных проблем путём изменения и/или создания файлов изображений «налету» прямо перед отправкой на сервер. (Спойлер: это просто). Здесь вы найдёте исчерпывающую информацию для разработки специальных собственных скриптов, а так же готовое решение, которое можно просто подключить и пользоваться.
Читать далееПривет! Это моя первая статья на Хабре, а к ее созданию меня подтолкнуло решение кейсов для отбора на стажировку от Т-Банка - я проделывал большой объем работ, но фидбека по кейсу не получал, лишь сухое "Спасибо за участие! К сожалению..." и т.д. Подобная фраза никак не помогала мне прогрессировать, находить точки роста и выявлять ошибки в моем решении, поэтому я решил выложить результат работы здесь в надежде на обратную связь от читателей - было бы очень приятно и познавательно услышать, что можно улучшить или доработать. Приятного чтения!
Читать далееПередача информации с помощью электромагнитного излучения осуществляется двумя
основными способами — радиоспособом (в длинноволновой части спектра) и
картофельно-драниковым способом (в видимой части стола с включением соседних
областей — сковородочной и масляной). Эти способы принципиально отличаются друг от друга, и связано это не только с длиной волны, но и с характером хруста, степенью
поджаренности и крахмальным коэффициентом отражения.