Какова вероятность угадать пин-код с первой попытки? А выиграть в лотерею? Многие помнят со школы страшные формулы с факториалами (, ), но мало кто помнит, когда и какую применять. В итоге простые задачи про урны с шарами превращаются в ночной кошмар.
Читать далееМеня зовут Андрей Серебрянский, и я люблю Apache Kafka. И гарантии доставки exactly once. И рассказывать обо всём этом на конференциях. Пять лет я строил платформы потоковой обработки данных в финтехе, а теперь вместе с командой работаю над YDB Topics: частью YDB (СУБД Яндекса), которая заменяет Apache Kafka в роли брокера сообщений. СУБД Яндекса уже некоторое время поддерживает Apache Kafka API. Недавно мы расширили этот API, добавив поддержку Kafka-транзакций.
Но наличия транзакций в брокере сообщений недостаточно для получения гарантий exactly once. Чтобы неудачно зависший или перезагрузившийся сервер не привёл к дублированию или потере сообщений, нужно хорошо понимать, как именно работают транзакции в брокерах сообщений вообще и в Apache Kafka в частности.
Эта статья будет полезна начинающим разработчикам и тем, кто хочет освежить знания или разобраться в тонкостях exactly once обработки данных с помощью YDB Topics или других брокеров сообщений.
Читать далееЧтобы продвигать свои новые продукты среди людей, которые не мечтали о собственном компьютере в течение многих лет, создатели второй волны микрокомпьютеров должны были прямо ответить на вопрос, для чего на самом деле нужен микрокомпьютер. В чём заключалась его ценность, если не в том, чтобы служить игрушкой для увлечённых компьютерами энтузиастов? Чтобы ответить на этот вопрос, они сделали несколько изобретательных набросков о том, как каким образом может компьютер помочь в повседневной домашней жизни. Они также использовали символическую силу компьютера. К 1977 году атомная энергетика и ракетостроение начали терять блеск своих славных дней 1950-х и 1960-х годов — компьютер стал символом прогресса, движущей силой ещё не завершившегося следующего этапа современности.
Некоторые из первых пользователей, несомненно, покупали компьютеры, руководствуясь этой перспективой, убеждённые, что наличие компьютера в доме каким-то образом лучше подготовит их детей к будущему. Другие находили удовольствие в программировании компьютера, не имея дела с аппаратным обеспечением.
Но большая часть аудитории, не являвшаяся любителями, на которую рассчитывали продавцы компьютеров, хотела покупать программное обеспечение для своих компьютеров, а не писать его. Производители компьютеров пытались удовлетворить эту потребность, создавая собственные библиотеки программного обеспечения, но они всегда были ограничены как по объёму, так и по качеству. К счастью для них, доступность дешёвых и простых в использовании компьютеров подготовила почву для появления большого числа сторонних производителей программного обеспечения. Их самые популярные продукты делились на две очень разные категории: бизнес-программы для создания цифровых рабочих артефактов и игровое программное обеспечение для развлечения. Чтобы удовлетворить рыночный спрос на каждую из этих категорий, производители компьютеров разработали две новые категории продуктов: высокопроизводительные бизнес-компьютеры и простые недорогие компьютеры, предназначенные в основном для игр.
Читать далееКриптовалютный рынок переживает не лучшие времена: недавняя ликвидация маржинальных позиций на сумму более $19 млрд, массовый отток средств из Bitcoin и Ethereum ETF и общий дефицит ликвидности сигнализируют о серьёзных системных проблемах.
В ночь с 30 ноября на 1 декабря на рынке произошла очередная масштабная коррекция: Bitcoin просел более чем на 6%, а альткоины скорректировались на 10%. Причина этого обвала оказалась далеко не тривиальной.
Читать далееПривет, Хабр!
В этой статье рассмотрим, как масштабировать UI-автотесты с помощью Java.
Если у вас десяток тестов, проблем не возникнет, они бегают шустро и всем довольны. Но представьте абстрактный проект интернет-банка или маркетплейса, функциональность растёт, количество автотестов идёт на сотни (а то и тысячи). Последовательный запуск такой тестовой свиты может занять довольно большое время. Каждый релиз начинает тормозиться ожиданием результатов автотестов.
Масштабирование тестов решает эту проблему: запускаем тесты параллельно, сокращаем время прогона и получаем быстрый фидбэк о качестве.
Читать далееКак обезопасить себя от атак по этому вектору, за которым плохо следят
Безопасность API — «отличный вход» в карьеру пентестера, считает Кори Дж. Болл, эксперт в отрасли.
ИНТЕРВЬЮ. Обеспечение безопасности веб-API требует иного подхода, чем классическое обеспечение безопасности веб-приложений, поскольку стандартные тесты обычно упускают наиболее распространённые уязвимости, возникающие при работе с API.
Именно так считает эксперт по безопасности API Кори Дж. Болл, предупреждающий, что методы, не откалиброванные на работу с веб-API, могут давать пентестеру слишком много ложноотрицательных результатов.
Болл начинал осваивать искусство пентестинга веб-приложений ещё в 2015 году по хакерским книгам, а также ресурсам HackTheBox и VulnHub. Далее он оттачивал навыки работы с компьютерами, пользуясь Cold Fusion, WordPress, Apache Tomcat и другими веб-приложениями, ориентированными на использование на большом предприятии.
Читать далееДоброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень), алгоритмах на языке C!
Идея написать эту статью зародилась из моего поста, после него я написал статью «Математика, биты, магия и немного ненормального программирования на C», которая раскрывала много интересных моментов. Увидев, что многим понравилась, я задумался: почему бы не изучить еще какие-нибудь трюки, заодно практикуясь в программировании на C? В этой статье мы погрузимся глубже и раскроем больше тем, такие как генераторы псевдослучайных чисел, трюки с побитовыми сдвигами и прочие быстрые алгоритмы на C!
Всех, кто заинтересовался — прошу под кат.
Читать далееЗадача компьютерной игры — удержать геймера как можно дольше. Отсюда эти поиски предметов, выполнение ачивок, нелинейные сюжетные кампании с альтернативными концовками, обилие необязательных побочных заданий, открытые миры и прочее. Но замечали ли вы, что порой разработчики добавляют в игры очень редкие и хорошо спрятанные детали? И эти находки нельзя положить в инвентарь, употребить или обменять: это редкие явления, которые раскрывают красоту, глубину, атмосферу и логику игрового мира.
В этой статье собраны редкие и не всегда очевидные находки и явления из игр. Они потребовали от разработчиков не меньше усилий, чем проработка уровней или создание новых механик. Все они предназначены для тех, кто умеет остановиться, заметить нюанс, вдохнуть атмосферу, эти моменты становятся настоящей наградой: открытием уникального мира, который живет по своим правилам, а не просто как часть геймдизайна.
Читать далееМы привыкли думать о налоговой как о бюрократической машине. Но недавнее интервью главы ФНС Даниила Егорова подтверждает: теперь это одна из самых продвинутых IT-компаний в стране. Их стек — это Big Data, скоринг в реальном времени и алгоритмы, которые видят связи между юрлицами быстрее, чем вы успеваете подписать договор.
Егоров прямо заявил: ФНС переходит от модели «контроля» к модели «сплошного учета». Это значит, что данные из ваших CRM, банковских выписок и онлайн-касс становятся частью глобальной налоговой базы данных. Для IT-бизнеса, селлеров и стартапов это меняет всё: от юнит-экономики до архитектуры финансовых потоков.
Читать далееПривет, Habr!
Знаете, как обычно проходят будни исследователя в AI? Сидишь, читаешь статьи, пьёшь восьмую кружку кофе и пытаешься уговорить модель наконец‑то сойтись. А потом кто‑то из коллег кидает в чат ссылку: «Ребята, тут хакатон. „Лидеры цифровой трансформации 2025“. По медицине. Пойдём?»
Ну, а мы что? Мы пошли.
Мы — это три исследователя из группы Foundation Models лаборатории «Сильный ИИ в медицине» Института AIRI. Базируемся в Москве, любим большие модели и сложные задачи. Нам достался, возможно, один из самых интересных треков: «Сервис для выявления компьютерных томографий органов грудной клетки без патологий„.“»
Казалось бы, что сложного? Но тут дьявол в деталях. О них и хотелось бы рассказать подробнее.
Читать далееОсторожно, спойлеры! Не читайте, пока хотите решить задачу самостоятельно.
В этой челлендж-серии статей, начатой с прошлогоднего эвента, попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2025.
Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.
Читать далееПривет, Хабр! ИИ-агенты и производные от них стремительно вошли в повседневную рутину разработки, зажигая глаза менеджеров и добавляя головной боли архитекторам. И если с одиночным агентом в целом никаких проблем не возникает, то когда агентов становится много, возникает настоящая проблема: как ими управлять? В этой статье попробуем разобраться в основных подходах к созданию управляющего слоя в такой системе, разберём на примере, почему не все очевидные подходы будут работать и какие классические архитектурные паттерны актуальны в новой моде. И, конечно же, расскажу, как это работает на практике в Домклик. Будет интересно!
Читать далееСтремительное развитие информационных систем и технологий породило некогда считавшуюся немыслимой ситуацию: завершение использования программного обеспечения стало обыденностью и возможностью для компании повысить свои конкурентные преимущества. Как бы парадоксально это не звучало, но сейчас дела обстоят именно так. Изначально жизненный цикл программного обеспечения предполагал прохождение ряда состояний, включающих пред-проект внедрения, проект имплементации и пост-проект, на которых доказывалась целесообразность продукта, велась разработка, а далее – поддержка и развитие. До недавнего времени все шло именно так, а сопровождение и развитие решения могли выполняться годами.
Упрощение процесса разработки за счет No-code и Low-code платформ, стремительное развитие технологий, кардинальным образом меняющих бизнес-процессы и программное обеспечение, покрывающее их, повсеместная автоматизация и возведение софтверных продуктов в ранг цифровых активов, привели к частым проектам перевнедрения. Если раньше предполагалась, что жизненный цикл программного обеспечения завершается его утилизацией, то сейчас об этом не может быть и речи. Отказ от приложений трансформировался в их замену на новые образцы, жизненный цикл же из линейного превратился в спиралевидный, то есть возвращающийся на начальный этап.
Цель данной статьи состоит в рассмотрении заключительного этапа жизненного цикла программного обеспечения, подходов и методов применимых к нему для обеспечения разумного завершения использования софтверного продукта и его замены на прочие решения, что обеспечит непрерывность бизнес-процессов организации. Достижение цели потребует проработки следующих вопросов:
Читать далее"Claude, создай мне воркфлоу в n8n" — работает или хайп?
Я настроил Claude Desktop для работы с n8n. Две недели тестил. YouTube обещает магию. Реальность оказалась сложнее: он теперь джун, а я слежу, чтобы не накосячил.
Что работает: анализ воркфлоу, поиск узких мест. Что не работает: создание сложных процессов, редактирование без глюков.
В статье — инструкция по настройке + честные выводы.
Читать далееКоманда Go for Devs подготовила перевод статьи о том, как работает первый этап компиляции Go — сканер. Автор подробно показывает, как исходный код превращается в поток токенов, что происходит с каждым символом и откуда берётся автоматическая вставка точек с запятой. Если вы хотите понять Go «изнутри» — начинайте именно отсюда.
Читать далее27 ноября после запуска ракеты-носителя «Союз-2.1а» с экипажем и кораблём «Союз МС-28» со стартовой площадки 31/6 космодрома Байконур произошла авария. Запуск прошёл успешно, и экипаж в составе космонавтов Роскосмоса Сергея Кудь-Сверчкова и Сергея Микаева, а также астронавта НАСА Кристофера Уильямса благополучно прибыл на МКС. Однако беспилотник, пролетавший над стартовым комплексом, зафиксировал, что на стартовое сооружение упала кабина обслуживания 8У216.
Читать далееЧасто мы ищем готовые решения, качаем софт, просим доступы — а инструмент уже лежит под рукой. У меня была рутинная задача: проверять учетки пользователей в AD. Когда менялся пароль, есть ли блокировка, не истек ли срок действия. Каждый раз — открыть ADUC, найти учетку, прокликать вкладки. Минута-две на запрос, десять запросов в день — и вот уже часы уходят в никуда.
В какой-то момент я подумал: но ведь есть PowerShell. И написал скрипт, который помогает за секунду получить состояние учетки, дату смены пароля, блокировки, контакты, подразделение. Можно сразу снять временную блокировку. Вдруг и вам пригодится.
Посмотреть, что за скриптКрай, на котором всё решается
В мире IT редко появляется слово, которое не звучит из каждого утюга, но производит тихую революцию. «Edge computing» - одно из таких. После того, как датчик научился проводить вычисления быстрее, чем кто-то моргнет, сломалось сразу несколько привычных концепций. Датчики теперь не глупые, весь трафик не обязательно гнать на удаленный сервер или в облако, а децентрализация систем вышла на какой-то новый уровень.
Edge-вычисления стремительно ворвались в IT-сферу, но не как очередной модный термин, а как вынужденная эволюция. Мир нарастил такое количество данных и устройств, что централизованная модель - «собираем всё в облако и там разбираемся» - просто перестала справляться. Задержки, медлительность протоколов IoT, приватность. Список проблем рос быстрее, чем дата-центры.
И вот - вычисления переезжают на край сети. Буквально.
Сегодня попробуем разобраться, что такое edge-контроллеры, зачем они нужны и почему без них не будет ни автономных машин, ни умных заводов, ни нормального Интернета вещей.
Читать далееМаксим Курбатов, руководитель продукта BIM Inspector (ПИК Digital)
В современном проектировании BIM-модели становятся всё более сложными, а требования к их качеству — строже. Проверка соответствия модели внутренним стандартам, ГОСТам и регламентам — неотъемлемая часть рабочего процесса. Однако ручная или полуавтоматическая проверка быстро превращается в узкое место: десятки правил, сотни элементов, часы ожидания результата.
В ПИК мы столкнулись с этой проблемой на практике. Когда проверка одной модели стала занимать до часа, стало ясно: подход «нажми и жди» больше не масштабируется. Мы задались целью не просто ускорить проверку, а полностью исключить её из активного участия проектировщика. Так родилось решение, которое мы называем «умные фермы» — распределённая система фоновой автоматической проверки BIM-моделей.
Читать далееИногда мне требуется этакий логгер напряжения и мощности. Например, построить график разряда аккумулятора, следить за этим аккумулятором в режиме реального времени или собрать исторические данные потребления какого-либо прибора. И вот беда: готовые ваттметры уже давно изобретены, но они в лучшем случае считают пиковые значения и прошедшую из них энергию. Готовые дешёвые ваттметры с логгированием данных также существуют, но они собирают данные на флешку (а бегать с флешами и строить потом графики в Excel мне не очень удобно) либо передают эти данные в своё закрытое и не очень удобное приложение. Мне же хочется беспроводного решения с красивыми графиками в браузере, и будет хорошо, если я смогу выбирать свой шунт.
Разработка и сборка далее в статье