В октябре прошлого года на Хабре вышла статья «Как я писал свою звонилку для видеозвонков» — автор под ником CEOCTO за несколько вечеров написал P2P-видеозвонилку на WebRTC, потому что его достали обрывающиеся созвоны в мессенджерах. Я прочитал, улыбнулся, полез смотреть исходники на GitHub — и на этом всё. Как обычно бывает с чужими pet-проектами: оценил, закрыл вкладку, забыл
Читать далееОбъектное хранилище с типами, деревьями и настоящим SQL прямо в вашей PostgreSQL/MS SQL/SQLite. FK на объекты, EF и Dapper рядом. redb против Mongo и Raven.
Чтобы хранить объекты, графы и деревья с типами, индексами и полноценными запросами, вам не нужна ещё одна база данных. Нужна та, что у вас уже есть.
redb превращает PostgreSQL, MS SQL или SQLite в типизированное объектное хранилище, не отнимая ни SQL, ни EF Core, ни Dapper. Это принципиально другой разговор, чем «MongoDB против RavenDB»: там вы выбираете отдельный движок и живёте с ним отдельно; здесь объекты ложатся в базу, которая у вас уже крутится в проде. Ниже чем это выигрывает у документных баз, с кодом, и где у redb честные границы.
Чтобы не спорить с чучелами: MongoDB зрелая серверная документная база с горизонтальным масштабированием и огромной экосистемой, и мультидокументные ACID-транзакции у неё есть с версии 4.0 (2018). RavenDB .NET-native документная база, полностью ACID, с типизированным LINQ и автоиндексами. Обе хорошие продукты. redb просто играет на другом поле и на этом поле у него сильные карты.
И учить, по сути ...
Читать далееПять месяцев назад я начал делать игровой движок Neotolis Engine на C17. Хотел глубже погрузиться в рендер и собрать для себя движок, с которым мне было бы легко и приятно работать. Сейчас в нём уже достаточно фич, чтобы делать игру. Я делаю 3D-инкременталку про проблему вагонетки Not a Trolley Problem.
В статье рассказываю, какие принципы я заложил в движок, как использую Claude и Codex и почему важно делать игры, а не только движок.
Читать далееКак с Windows только не изгалялись: сколько для неё было сделано модификаций, оболочек и скинов за последние лет 20 — подсчитать, наверное, невозможно. Но мода «накатывать красоту» поверх обыкновенных “Окон” началась, на самом деле, даже не в нулевых.
Читать далееПривет, это команда Яндекс Практикума. Приём документов на поступление в 2026 году закончится меньше, чем через неделю, но вы ещё можете успеть поступить в онлайн-магистратуру «Специалист по работе с данными и применению ИИ» НИЯУ МИФИ в партнёрстве с Практикумом. В статье мы расскажем, что входит в программу и как на неё поступить.
Читать далееЕще недавно ИИ в работе с данными использовали как вспомогательный инструмент. Нейросеть помогала написать запрос, найти информацию или подготовить отдельный документ. Теперь ей можно передать целый набор повторяющихся задач и подключить к корпоративным системам, каталогам и инструментам разработки. Часть работы выполняет агент, а специалист определяет правила, проверяет результат и принимает верхнеуровневые решения.
Как меняется работа с корпоративными данными под влиянием ИИ, рассказали эксперты на седьмом MWS Meetup.
Читать далееВсем привет! Меня зовут Илья Данилкин, я тимлид в Авито Авто.
AI-агенты обычно живут рядом с Python, но всё же немало команд выбирают язык Go. Дело в том, что агенты большую часть времени не заняты сложными математическими расчётами, а ждут ответа модели или результата инструмента. А ещё работают в режиме бесконечных параллельных запусков. И если пользователь останавливает задачу, его запрос и следующие вызовы инструментов тоже нужно остановить.
Поэтому при выборе языка важны не только библиотеки для работы с моделями, но и то, как язык справляется с одновременными задачами, отменяет операции и насколько просто доставить готовое приложение пользователю. В Go для этого есть дешёвые горутины, context.Context и сборка в один бинарник.
В статье на примерах и материалах из Go-сообщества разберу пять сценариев, когда эти и другие свойства Go очень и очень нужны.
Читать далееВсем привет, меня зовут Михаил, я работаю Java/Kotlin разработчиком в ОТП Банке.
Все мы знаем про Redis. Часто используем его для in-memory кэша. В основном это ключ и значение. Но что, если можно пойти дальше и, как в том фильме, раскрыть все возможности Redis на 100%?
Сегодня я хочу поговорить о Sorted Set в Redis. Что это за зверь и как его использовать.
Буду показывать на примере таблицы лидеров. Это можно использовать для разных задач, но я выбрал именно эту. Будем замерять время, ресурсы при нагрузках - все, как мы любим.
Присаживайтесь, будет интересно!
Узнать, что это за покемонВсем привет! Я Андрей Халиуллин — руководитель направления IAM & Security Services в MWS Cloud Platform, и мы продолжаем делать облако. В этот раз хочется поговорить о стабильности, отказоустойчивости и прочих SLO. В этой статье расскажу, как мы обеспечиваем свою отказоустойчивость, как мы её тестировали (спойлер: мы отключили целую зону доступности) и что нового для себя узнали. Для наглядности решил объяснить наш подход на примере швейцарского сыра.
Читать далееЗа последние пару месяцев я сгенерировал несколько тысяч ИИ-портретов — себя, друзей, родственников и даже случайных людей из интернета. Мне было интересно разобраться, как выстроить этот процесс так, чтобы нейрофотки получались похожими на человека.
Короче, я потратил около $200 на эксперименты и вроде как нащупал адекватный способ.
Читать далееВы генерируете картинку в нейросети, скачиваете PNG и открываете его.
Никакого логотипа. Никакой надписи «создано ИИ». Никакой полупрозрачной плашки в углу.
Обычное изображение.
Но это ещё не значит, что внутри него ничего нет.
Современные генераторы всё чаще добавляют в AI-изображения информацию о происхождении, которую человек глазами не увидит. Где-то это метаданные. Где-то криптографически подписанные Content Credentials. А где-то настоящий невидимый водяной знак, встроенный непосредственно в изображение.
Например, Google использует SynthID, а OpenAI сейчас добавляет к поддерживаемым изображениям сразу два сигнала происхождения: C2PA и SynthID.
Мне стало интересно, насколько эта маркировка действительно живучая.
Можно ли определить, что изображение создано ИИ? Что именно нейросеть оставляет внутри файла? Исчезает ли маркировка после редактирования? И можно ли удалить невидимый водяной знак с AI-изображения обычным сервисом?
Я попробовал несколько вариантов. Один действительно сработал.
Но когда начал разбираться, понял, что вопрос «как удалить watermark с картинки» устроен гораздо сложнее, чем кажется.
Читать далееМоя история
Я долгое время размышлял о мошенничестве с токенами — проблеме, с которой впервые столкнулся, когда работал разработчиком ПО в ИИ-шлюзе.
Мы постоянно подвергались попыткам злоупотреблений. Сначала это было злоупотребление бесплатными кредитами, когда пользователи массово регистрировали аккаунты. Потом это был чатбот поддержки. Мы начали обсуждать это с друзьями и узнавали истории компаний, ежедневно теряющих из-за этого миллионы долларов.
Злоупотребления принимали множество разных форм, а мошенники не ослабляли напор. В итоге я понял, что проблема гораздо масштабнее. Возник новый вид мошенничества, ставший неотъемлемой частью экономики токенов.
В поисках источников злоупотреблений я наткнулся на китайский форум, где операторы открыто обсуждали транзитные узлы и их методики.
Читать далееПривет, Хабр! Меня зовут Дима, я бизнес‑аналитик в команде внедрения Naumen. Большая часть моей работы — это коммуникация: с клиентами, разработчиками и коллегами внутри команды. Почти вся она происходит онлайн.
В какой‑то момент я заметил, что много рабочего времени уходит не на сами задачи, а на ожидание ответов, уточнения и постоянные переключения между чатами.
Со временем я собрал несколько правил, которые помогают сделать онлайн‑коммуникацию быстрее и не растягивать обычный рабочий вопрос на полдня.
В статье расскажу, когда лучше писать, а когда созваниваться, как составлять сообщения без лишних уточнений и что помогает меньше отвлекаться на чаты.
Читать далее«Мой номер заказа... сейчас, секунду...» — и бодрое «Да, я вас понял, минуточку!» прямо в середину фразы.
Все, кто звонил в поддержку за последние пару лет, это слышали. Выглядит как мелкая недоработка, а на деле это одна из самых неприятных задач в голосовом стеке, и решается она заметно хуже, чем кажется со стороны.
Формулируется она так: понять, что человек в трубке закончил говорить, а не взял паузу. Ниже — про то, почему готовые VAD эту задачу не решают в принципе, что мы перебрали, прежде чем взяться за свое, и где у нас до сих пор не получается.
Дисклеймер: работаю в аутсорсинговом контакт-центре, мы несколько лет делаем свой голосовой стек — телефония, распознавание, ассистенты на LLM. Продукт не называю и ссылок не будет, статья про задачу.
Читать далееПривычные термины становятся все более запутанными. Если раннее (до 2003 года) система ГОСТ еще была фундаментальна и системно выстроена (причем это были не переводы западных стандартов), то потом система государственной стандартизации стала резко деградировать.
Читать далееМы полгода собираем ответы нейросетей в базу и однажды заметили: два ответа ChatGPT на один и тот же вопрос, снятые в один день разными способами, ссылались на совершенно разные сайты. Полез разбираться в сыром потоке, который ChatGPT отдаёт браузеру, и нашёл там служебные карточки источников с пометкой о происхождении. Разобрал почти 1,9 миллиона таких карточек: у ChatGPT есть собственный поисковый робот, который даёт 97% всех источников, и про каждую страницу он хранит один замороженный кусок текста длиной 200 символов. В статье: как устроен этот робот, чем он отличается от покупной поисковой выдачи, что именно он вырезает с сайтов (спойлер: часто это код фильтра или текст рекламного блока), и что с этим делать владельцу сайта.
Читать далееШесть лет занимаюсь складскими системами на платформе 1С: обследования, внедрения, миграции. Склады — от 5 000 до 40 000 м².
Вопрос из заголовка я слышу чаще любого другого, и задают его совершенно справедливо: в 1С:ERP (а также в УТ и КА) адресное хранение действительно есть, работает и закрывает заметную часть складских задач. Продавцы WMS на этот вопрос отвечают предсказуемо. Мне проще: бывают склады, которым я отвечаю «незачем».
Разбираю, что именно умеет адресное хранение в ERP, что к этому добавляет WMS и по каким признакам понять, по какую сторону границы находится конкретный склад.
Читать далееЕсть удивительная вещь. Человек может двадцать лет получать зарплату и каждый месяц тратить почти всё, что заработал. И это почему-то не кажется ему рискованным.
В следующем месяце будет следующая зарплата. Потом ещё одна. А если зарплата станет больше — можно будет больше тратить. Так проходят годы, иногда десятилетия. При этом предложение регулярно откладывать небольшую часть дохода и постепенно превращать её в капитал почему-то воспринимается совсем иначе:
— Что откладывать, если и так мало денег.
— Биржа - это казино, управляемое жуликами!
— Скоро всё изменится, и акции будут стоить ноль!
— Рынок вот-вот рухнет!
Да, рынок упадёт.
Обязательно.
Недвижимость тоже когда-нибудь подешевеет. Золото может годами стоить дешевле, чем хотелось бы его владельцу. Валюта может обесцениться. Банк может обанкротиться, а государство может поднять налоги. И вообще, будущее имеет неприятную привычку не спрашивать нашего мнения.
Именно поэтому я инвестирую. Не потому, что знаю, что будет. А потому, что не знаю.
Читать далееПара new в горячем методе может вообще не попасть в кучу — а после безобидного if внезапно вернуть аллокации обратно. Разбираемся, как C2 принимает такие решения, где ломается скалярная замена и как проверить всё это через JMH и диагностические флаги JVM.
Разобраться в JVMREADME редко ломается в один момент.
Обычно он просто постепенно перестаёт соответствовать проекту: переименовали команду, перенесли файл, удалили .env.example, сменили package manager — а инструкция осталась прежней.
В итоге новый пользователь копирует команду из README и получает ошибку. Разработчик же часто узнаёт об устаревшей документации только после issue, сообщения коллеги или неудачного деплоя.
Мне стало интересно: можно ли автоматически находить хотя бы часть таких расхождений, не выполняя команды из README и не отправляя исходный код в LLM?
Так появился RealityLint — open‑source CLI, который статически сверяет проверяемые утверждения из README с реальным состоянием репозитория.
Читать далее