Не только для «обхода». Что такое Http Upgrade и как его использовать в .NET

Недавно на Хабре вышел обзор того-о-чём-не-стоит-говорить-в-этом-блоге. И, в числе прочих способов того-о-чём-не-стоит-говорить, автор упомянул использование «транспорта HttpUpgrade».
Так как я использую заголовок Upgrade на практике, меня смутило, что в поиске в русскоязычном сегменте интернета найти корректное описание механизма непросто. Конечно, метод является достаточно редко используемым «вчистую» (то есть не в паре с протоколом WebSocket), но тем не менее.
Статья может пригодиться всем, кому требуется создать полнодуплексное tcp-соединение (то есть такое соединение, в котором и читать данные, и писать их могут и клиент, и сервер, причем в любой момент времени жизни соединения).
Я расскажу о том, что есть «HttpUpgrade», как наш ЦК использует его для создания соединения, по которому клиент и сервер могут обмениваться пакетами: клиент запрашивает видео, а сервер передаёт клиенту пакеты. Ну и разумеется, поделюсь кодом клиента и сервера, создающим между собой «апгрейднутое» соединение в .NET 8.
Меня зовут Андриевский Леонид, я тимлид команды .NET в ЦК Видеонаблюдения Ростелеком. Давайте приступим!
Читать далееОт проекта до объекта: применение ML в строительстве

Знаете ли вы, что более 90% строительных проектов выходят за рамки бюджета, а 89% подрядчиков регулярно сдают проекты с задержкой? При этом каждая стройка генерирует терабайты данных, которые чаще всего остаются необработанными, хотя имеют большой потенциал для оптимизации. Неудивительно, что индустрия активно ищет способы повышения эффективности процессов, и машинное обучение становится одним из ключевых инструментов.
От автоматической генерации строительных графиков до роботов-каменщиков с миллиметровой точностью укладки — ML-технологии уже трансформируют отрасль. Системы компьютерного зрения отслеживают безопасность на площадках, алгоритмы предсказывают задержки проектов, а генеративный дизайн оптимизирует архитектурные решения.
В статье покажем на реальных примерах, как работают современные решения ML в строительстве и какие результаты они дают.
Читать далееКак быстро найти цены на совместимую с Home Assistant бытовую технику: мой опыт автоматизации поиска цен

Подбор бытовой техники для своего умного дома может быть сложной задачей. Даже если техника имеет "умную часть", не факт что она подойдёт именно к вашей экосистеме. Поэтому вопрос совместимости лучше выяснить ещё до покупки устройства.
Недавно захотел подобрать себе робот-пылесос, а на сайте Home Assistant как обычно указаны только обобщенные интеграции. При этом на сайте Алисы приведены тысячи конкретных совместимых устройств, правда без цены и даже без указания выпускается ли до сих пор эта модель или нет.
И тут мне пришла в голову идея: поместить эти совместимые устройства в Google Таблицу, а затем написать Google Apps Script, который через поиск найти цены на все эти устройства, а затем я уже выберу конкретное устройство исходя из моего бюджета.
Поиск цен через Гугл ТаблицуНастраиваем паука для сбора данных: как работает фреймворк Scrapy

В Точке мы обучаем наших AI-ассистентов, а для этого нужно много данных. В статье расскажу, как быстро собрать информацию практически с любого сайта при помощи фреймворка Scrapy.
Читать далееОптимизация промышленных видеокарт для машинного обучения и нюансы тюнинга на примере A30, A100, L4 и L40s

Чтобы эффективно осваивать вложенные в покупку или аренду GPU ресурсы, важно использовать весь потенциал видеокарт. Первые сложности возникают при настройке оборудования в контексте его потенциальных возможностей. С одной стороны — недостаточная утилизация ресурсов, с другой — бесконечное горизонтальное масштабирование и кратное удорожание ИТ-инфраструктуры.
В этой статье мы разберем базовые принципы и настройки оптимизации проверенных моделей GPU, чтобы эффективнее справляться с задачами машинного обучения. Посмотрим, как настраивать драйверы и библиотеки, управлять памятью, активировать Tensor Cores для ускорения вычислений, использовать технологию MIG для распределения задач и проводить разгон GPU для получения максимальной производительности. Следуя этим рекомендациям, вы сможете ускорить вычислительные процессы и сократить затраты на оборудование, увеличив эффективность работы с большими данными. Разбираться будем на примерах популярных моделей NVIDIA: A30, A100, L40s и L4.
Хочу больше знатьКак создать свой VPS-сервер: пошаговое руководство

Чтобы опубликовать свой веб-сайт в сети интернет необходимо арендовать VPS — виртуальный выделенный сервер, на котором помимо самого сайта можно разместить веб-сервер, базу данных и прочее программное обеспечение, необходимое для запуска и функционирования сайта. В сегодняшней статье мы подробно разберем как создавать свой VPS-сервер, а также развернем тестовый сайт в качестве примера.
Читать далееТестирование БД в легаси-проекте: повышение качества кода и стабильности системы в «Цифровой карте магазина»

В этой статье я хотел бы поделиться с вами моим опытом написания юнит-тестов для базы данных (БД) в рамках легаси-проекта. Я выбрал формат ретроспективы, чтобы показать, как все начиналось, к чему мы пришли и какой путь был пройден в разработке юнит-тестов для проекта «Цифровая карта магазина». Возможно, статья будет полезна начинающим разработчикам баз данных или тем, кто хочет начать писать юнит-тесты для Oracle, но не знает, с чего начать.
Год успешной работы тестировщиком: мифы, усвоенные на курсах, и реальность

Жизнь каждого человека складывается по-разному: кто-то с 16 лет уже четко знает, что ему интересно, а кто-то приходит к этому гораздо позже. Я отношусь ко второму типу. Отучившись в вузе и не проработав ни дня по профессии, я находилась в постоянном размышлении, к чему у меня лежит душа, что может приносить стабильный доход, что будет с этим миром и где в нем мое место. Я пошла в продажи, основываясь на принципе “Нужно попробовать, а дальше посмотрим”. Но продажи не вдохновляли меня от слова “совсем”. Жизненный опыт постепенно накапливался, но у меня не было никаких идей, как реализовать свои хотелки. И вот в очередной раз я начала новую главу своей жизни, пытаясь следовать своим потребностям и мечтам, - я занялась машинным обучением ИИ. В этой статье я расскажу, как я осваивала профессию тестировщика программного обеспечения.
Читать далееИнтервью с командой проекта «Поморский коч»

Когда речь заходит о САПР, чаще всего представляешь себе промышленное производство, конструирование сложных механизмов. Однако находятся и более любопытные варианты применения систем проектирования, например, историческое судостроение.
Мы познакомились с командой проекта «Поморский коч», которая строит на верфи в Архангельске старинное судно. На таких судах средневековые мореплаватели ходили по арктическим морям, преодолевая льды и шторма, и осваивали сибирские реки.
Читать далее[Перевод] Взлом гиганта: как я нашел уязвимость в поддомене Google и попал в «зал славы» багхантеров

Будни багхантера — это непрерывная охота за уязвимостями, успех в которой зависит не только от опыта и навыков, но и от банального везения. Недавно мне попалась по-настоящему крупная добыча: я обнаружил XSS-уязвимость (межсайтовый скриптинг) в одном из поддоменов Google.
В статье расскажу, как мне удалось заработать на этой находке и оставить свое имя в «зале славы» багхантеров Google.
Читать далееКак я пересел на электробайк, а потом обратно

Каждую весну я достаю велосипед с балкона, чтобы покататься ради удовольствия и подышать свежим воздухом. Ещё одна важная для меня функция велосипеда — перемещаться до работы и обратно. Как по мне — вполне альтернатива городскому транспорту.
Лет 10 назад я обозревал велогибрид, когда поддался настойчивым убеждениям на форумах о том, что он лучше, чем просто велосипед, ведь это транспорт будущего - он надёжный и экономичный. Думал, что он будет с достаточно комфортно (в хорошую погоду) и быстро перемещать меня из точки А в точку Б не затрачивая силы. Сейчас я катаюсь только на «обычном» велосипеде — без мотора. И электробайк больше не куплю.
Читать далее[Перевод] Переносимый код: Fighting the Lemmings

Сергей Каличев, старший разработчик, Angie Software
Однажды, давным-давно, я наткнулся на одну хорошую статью по разработке переносимого кода и решил её перевести. Когда же это было... ё-моё, в 2008 году, 17 лет назад! Обалдеть, как время летит. Статья называлась "Fighting the Lemmings", автор Martin Husemann. Выложил перевод на LOR. С тех пор много воды утекло и, когда я попытался поискать статью в Интернете, то обнаружил, что ни оригинальной статьи, ни перевода, найти практически невозможно. Перевод ещё сохранился в глубоких закромах OpenNet, а оригинал только в архиве Интернета. Ссылки на PDF-ки тоже протухли и больше не работают. Обидно, это ведь такая нетленка для системщиков. Понятно, что переносимость уже сто раз пережёвана в других статьях и книгах, но тут всё было сконцентрировано и написано доходчиво. При этом актуальность до сих пор не потеряна. Ну а что, собственно, кардинально поменялось в разработке переносимого кода на C с тех пор? Если не обращать внимание на упоминания некоторых архитектур и ОС, которые сейчас, да и во времена перевода, звучат, как придания старины глубокой, то в остальном, обо всех особенностях разработки переносимого кода, описанных в статье, надо помнить и сегодня. Выкладываю текст, как он есть, без каких-либо современных правок.
Для тех, кому удобнее читать в PDF, вот ссылки:
А теперь сама статья.
Читать далееСкриншотное тестирование во фронтенде: современный подход к поиску визуальных багов

За последние годы скорость развития технологий для создания фронтенд-приложений выросла в разы. Новые фреймворки, библиотеки, инструменты сборки и подходы к разработке появляются практически каждый год. Однако, несмотря на это, основная точка взаимодействия пользователя с продуктом остаётся неизменной — это интерфейс. Именно он формирует впечатление о продукте и, по сути, является окончательной «витриной» всей вашей работы.
Традиционные подходы к тестированию на многих уровнях уже не успевают за реалиями разработки: ручное тестирование становится слишком трудоёмким, а написание unit- или end-to-end-тестов не всегда позволяет отследить именно визуальные изменения. И здесь на помощь приходит методология скриншотного тестирования — мощный инструмент для выявления визуальных багов, появляющихся в интерфейсе. Он позволяет убедиться в том, что ваш продукт отображается так, как задумано, и избавляет команду от многих сюрпризов.
Читать далееПроблемы структуры проектов при использовании Feature-Sliced Design

Меня зовут Сергей Сибара, я фронтенд-разработчик в компании ИТ-холдинг Т1. В этой статье я решил рассказать о нескольких проблемах, к которым приводит методология Feature-Sliced Design, — отсутствию правил взаимодействия между сегментами и большой раздробленности связанной функциональности, — а также о возможных решениях. Статья будет полезна тем, кто уже знаком с методологией FSD, и тем, кто отказался от неё. А поскольку я разрабатываю на React, то и статью писал с небольшим уклоном в эту технологию.
Читать далееПольские игры: от Atari и пиратства до AAA-тайтлов (часть первая)

Сейчас польский геймдев ассоциируется исключительно с хорошими играми: благодаря CD Projekt Red весь мир узнал о Ведьмаке, а Cyberpunk 2077, после нескольких серьёзных патчей и великолепного масштабного дополнения, стала одним из лучших представителей жанра киберпанка. Однако ещё в девяностых в стране процветало пиратство и не было финансов на создание хороших игр, а в начале нулевых деньги зарабатывались «польскими шутерами».
Как страна, находившаяся под сильным советским влиянием, смогла выйти на мировой рынок и получить мировое признание, и какие игры Польше в этом помогли — в новом материале про историю игр. Читать дальше →
Извлекаем файлы из образа повреждённого диска: ddrescue, losetup и немного магии

Проблема повреждённых жёстких дисков знакома многим. Диск начинает работать со сбоями, система зависает, файлы исчезают. В этой статье мы разберём, как спасти данные: создадим образ повреждённого диска с ddrescue, подключим его через losetup, смонтируем разделы и извлечём файлы. Также рассмотрим восстановление удалённых данных с помощью утилит TestDisk и PhotoRec и разберём, что делать в случае проблем с NTFS.
Читать далее«Ошибка на миллиард» в ИИ: боремся с галлюцинациями в LLM по аналогии с NullPointerException

Привет! Меня зовут Денис Березуцкий, я старший инженер по разработке ПО искусственного интеллекта в YADRO. В ML-команде мы разрабатываем системы, которые облегчают работу нашим заказчикам с помощью текстовых генеративных нейросетей: реализуем RAG, создаем чат-ботов, агентные системы и другие решения.
Как и многие в индустрии, мы сталкиваемся с проблемами галлюцинаций LLM, которые портят ответы виртуальным ассистентам и способны подорвать доверие к ним. В статье я расскажу об одном не совсем стандартном методе, перенесенном из «классического» программирования, который мы применяем для борьбы с галлюцинациями и улучшения поисковой выдачи.
Читать далееКак работать с сетевыми дисками для выделенных серверов

Привет, Хабр! На связи Владимир Иванов, системный администратор в Selectel. Сегодня хочу рассказать о нашем новом продукте — сетевых дисках на выделенных серверах. Ранее я писал статью о базовых операциях в кластере Ceph — она как раз родилась в процессе работы над продуктом. Читать дальше →
Как СберМобайл завод оцифровал, и кому это вообще нужно

Напомню, что в первой части моего рассказа мы разобрались с тем, что такое цифровой двойник, поняли, зачем его делать, и определились с этапами его создания. И даже начали делать настоящий двойник на настоящем заводе. Давайте продолжим этот процесс. Мы остановились на возвращении нашего архитектора с обследования. Необходимо переходить к следующему этапу — проектированию и подготовке. В двух словах поясню специфику этого этапа, и мы, наконец, узнаем, что за сложности были на «Благо».
Читать далееТри мушкетера из мира DevSecOps. Внедряем инструменты для развития AppSec-процессов

Привет, Хабр! С вами Максим Коровенков, DevSecOps Lead в Купер.техе. Продолжаем цикл статей про построение DevSecOps с нуля. Это большой гайд from zero to, надеюсь, hero.
Читать далееБоремся с токсичными комментариями с помощью ИИ, FastAPI и React

В последнее время я перестал читать комментарии к статьям на Хабре. Причина — токсичность и ненависть друг к другу. Абсолютно безобидные технические статьи подчас вызывают бурю агрессии у отдельных лиц. Всех банить тоже нельзя — свобода слова закреплена в Конституции. Но есть решение: давайте используем искусственный интеллект, который будет анализировать комментарий и переписывать его, меняя токсичность на вежливость, сохраняя основную мысль комментария.
Мы воспользуемся FastAPI для бэкенда, React для фронтенда, заставим их между собой общаться через RESTful API, а бизнес-логику реализуем путём обращения к ИИ через gRPC.
Читать далееSQL vs Excel: когда таблицы уже не справляются

Когда в компании работа выстроена в Excel, проблем нет, пока в таблице несколько тысяч строк. Но бизнес растёт, и вот в файле уже миллион записей. Поиск тормозит, сложные формулы зависают. А если сотрудник случайно удалит столбец — восстанавливать придётся вручную. Это первые сигналы, что Excel не справляется.
В этой статье разберём, когда Excel перестаёт быть удобным инструментом и как SQL помогает решать эти проблемы. А приглашённые эксперты поделятся практическими примерами и советами по переходу.
Читать далееПрограммный код в Big data и Power law
В статье приводятся оригинальные модули Python и даётся пояснение по их применению в задачах распределённой децентрализованной сети по типу блокчейн или, другими словами, в процессах самоорганизованной критичности (SOC). В научных публикациях чаще встречается физический термин SOC в качестве концепции, включающей процессы турбулентности, детонации, землетрясения, нейросети, фондовая волатильность, социальный рейтинг и другие.
Для процессов SOC характерно отсутствие управляющих параметров и масштабная инвариантность. Универсальность сложных процессов SOC со степенным законом Power law имеет тот же характер, как и универсальность простых линейных систем, не обладающих масштабной инвариантностью, по отношению к закону нормального распределения вероятности.
Зависимость от масштаба возникает при аналого-цифровом преобразовании битов в позиционную систему счисления и проявляется в законе нормального распределения вероятности в виде дисперсии и математического ожидания. Потеря масштабной инвариантности в позиционной системе счисления компенсируется приобретением принципа причинности. Например, в Древнем Риме, где была принята непозиционная система счисления, вычисляли, что «после того - не вследствие того» и сильно удивились бы истории с падающим на Ньютона яблоком.
Значительные достижения в анализе Big data заставляют предположить связь с распределением вероятности Пуассона: чем больше данных, тем чаще должны встречаться пуассоновские события и вопрос лишь в поиске подходящей метрики и системы счисления.
Читать далееФундаментальная проблема TLS/SSL или как потерять доверие к доверенным центрам

Сегодня HTTPS считается де-факто стандартом для безопасного сёрфинга веб-страниц, но знаете ли вы о подводных камнях, на которые мы натыкаемся в самый неудобный момент? Сегодняшняя статья расскажет о самой главной из них, а так же о способе её исправления.
Поехали!Есть ли необходимость в автоматизации тестирования на проникновение

Несмотря на постоянно растущий спрос на решения для информационной безопасности, число успешных кибератак на организации по всему миру ежегодно увеличивается. По нашим данным, в 2023 году этот показатель вырос на 18%, и, судя по тенденциям 2024 года, этот рост продолжится. Одна из причин – повсеместная цифровизация. Компании автоматизируют процессы и внедряют новые продукты и сервисы, что ведет к увеличению числа цифровых активов, которые могут стать уязвимым местом в инфраструктуре.
В этой статье поговорим про зрелость информационной безопасности в российских компаниях, покажем, хорошо ли они справляются с кибератаками, есть ли у них планы по развитию ИБ на ближайшие пять лет и готовы ли они переходить от ручного тестирования на проникновение (пентеста) к автоматизации этого процесса.
Читать далееКак стать UX/UI-дизайнером с нуля? Бесплатная программа обучения

Если вбить фразу «как стать ux/ui дизайнером» в поисковик, можно найти множество курсов по этой профессии. Проблема в том, что все курсы являются платными и, как правило, имеют ценник в несколько десятков тысяч рублей.
Чтобы разбавить поляну с платными курсами, мы с UX/UI-дизайнером Мариной Ларионовой подготовили для вас программу обучения «UX/UI-дизайнер с нуля», которая состоит только из бесплатных материалов.
Читать далееЧто важно учесть при написании отчета по пентесту и за что платит заказчик – делимся экспертизой

После завершения любого проекта (по пентесту, анализу защищенности, Red Teaming и др.) специалисты приступают к самому душному увлекательному этапу – к написанию отчета. Казалось бы, ничего особенного – нужно всего лишь свести в единый документ все свои достижения. Но правда жизни такова, что именно отчет выступает итоговым результатом работ, который видит заказчик и по которому он будет судить о качестве проделанной работы. То есть, какие бы суперисследования мы ни провели, какие бы крутые баги ни нашли, заказчик никогда не узнает, какие мы молодцы, солнышки, котики профессионалы, если полученные результаты с их экспертной оценкой не будут понятно, структурировано и в полном объеме изложены в отчете. А это далеко не всегда простая задача.
В этом посте поделимся некоторыми нюансами и особенностями, которые мы учитываем при подготовке отчетов.
Читать далееВывоз вторсырья от двери, помощник для тренировок – и еще 8 российских стартапов

10 новых российских продуктов для создания игровых квизов, создания мини-приложений для медклиник, поиска автодилеров и поставщиков авто по параллельному импорту и многого другого. Битва за «Продукт недели» началась!
Product Radar — здесь каждую неделю публикуются лучшие онлайн-сервисы и железки от русскоязычных команд.
Читать далееПервые в России: как мы стали хостинг-провайдером на отечественной ОС

В последние годы в России наблюдается активное развитие отечественного программного обеспечения, что связано с необходимостью повышения уровня информационной безопасности и независимости от зарубежных технологий. В этом контексте особое внимание уделяется переходу на российские операционные системы (ОС), которые становятся важным элементом в стратегии цифровой трансформации страны.
Мы, хостинг-провайдер FastFox, представляем наш проект по переводу хостинга на российскую ОС. Целью проекта является не только демонстрация возможностей российских технологий, но и создание безопасной и эффективной инфраструктуры для наших клиентов.
В рамках внедрения российской ОС мы ставили перед собой несколько задач: обеспечить высокую производительность и стабильность работы серверов, минимизировать риски, связанные с использованием иностранного ПО, а также поддержать развитие отечественной IT-индустрии. В данной статье мы поделимся выводами и опытом, полученными в ходе реализации этого проекта, а также рассмотрим его влияние на рынок хостинг-услуг в России.
Читать далее5 листингов для лучшего понимания Python

На протяжении нескольких лет я занимаюсь программированием на Python. За это время мне удалось собрать несколько занятных листингов кода. Какие-то из этих листингов я находил в литературе, посвященной Python, некоторые листинги я встречал на собеседованиях, а на какие-то натыкался во время выполнения рабочих задач. Однако все эти листинги объединяет одно: на мой взгляд они имеют неплохой образовательный потенциал и помогают лучше понять некоторые концепции Python. В этом посте привожу пятерку из моего списка листингов.
Читать далееКак красиво «завернуть» devops-пайплайн и не сгореть на проде

Привет, Хабр! Меня зовут Максим Бочкарев, в IT я с 2005 года и сейчас руковожу devops-направлением в компании ЕВРАЗ. За эти годы я успел повидать множество граблей, на которые мы наступали, пытаясь построить нормальную систему CI/CD. И сегодня хочу рассказать, как мы прошли путь от «кустарного производства» пайплайнов к промышленным масштабам, не потеряв по дороге ни одного девопса и не спалив продакшен.
Читать далееДелаем жизнь легче: быстрый поиск в django и postgresql с помощью search_vector

Привет, меня зовут Таня и я backend-разработчик в ИдаПроджект.
Сегодня хочу рассказать о полнотекстовом поиске — как это все работает в django, а как в postgres, и откуда вообще взялось.
Современные компании ежедневно сталкиваются с разной текстовой информацией. Эффективный поиск не только ускоряет доступ к нужным данным, но и повышает продуктивность, снижает затраты и открывает новые возможности для анализа и принятия решений.
Новичкам важно понять, как полнотекстовый поиск облегчает обработку данных и извлечение информации. Для тех, кто уже знаком с Django и PostgreSQL, статья станет экскурсом в полнотекстовый поиск, а заодно поможет интегрировать его в проекты.
Ну что, погнали! Разберем, как эта технология развивалась, и какие ее ключевые элементы (триграммы и tsvector) делают возможным быстрый и точный доступ к информации.
Читать далееГрех не использовать? Станет ли Dante лекарством от всех болезней AV over IP

В коммерческих цифровых аудиосетях нет закрытых экосистем с ограничениями, которые нельзя обойти. За это стоит поблагодарить Dante. Протокол, разработанный Audinate для передачи несжатого аудио по IP, без костылей решил проблемы дрейфа таймингов, джиттера, приоритизации аудиотрафика в гигабитных сетях. И, что особенно ценно, сделал это без привязки к одному производителю.
Фактически Audinate поставили на себя — создали отраслевой стандарт в AVoIP, получили поддержку 600 производителей оборудования* и сохранили независимый статус. Но будет ли эта база достаточной, чтобы стать конкурентом в NDI в AVoIP — большой вопрос.
Читать далее[Перевод] Полное руководство (с кодом) AI агента с использованием LangGraph

Что делает AI агента умнее обычного LLM? AI агенты помогают преодолеть фрагментарность традиционных подходов, сохраняют контекст между операциями и адаптируются к задачам на лету.
Узнайте, как создать своего первого AI агента с помощью LangGraph, не погружаясь в сложности.
Репозиторий автора с примерами AI агентов собрал уже более 6000 звезд на GitHub!
Записки оптимизатора 1С (ч.10): Как понять, что процессор — основная боль на вашем сервере СУБД MS SQL Server?

Назрел пост, связанный нагрузкой на процессор сервера СУБД MS SQL Server.
Вроде бы чего тут обсуждать, всё же очевидно – есть системные счетчики, показывающие нагрузку в процентах. Смотрим на них и понимаем, всё ли у нас замечательно с сервером, хорошо ли утилизируются ресурсы, аль не хватает.
Когда нагрузка на процессоре ~100%, огромные очереди к нему, то тут действительно всё просто и обсуждать особо нечего. Сценарий простой: либо ищем что его нагружает, либо система переросла процессор и ему пора накинуть мощностей.
А вот когда нагрузка держится на среднем уровне, но при этом есть очереди и ожидания, то здесь далеко не все так очевидно.
Читать далее[Перевод] Как ИИ трансформирует разработку стратегии

Искусственный интеллект уже трансформирует стратегию бизнеса, ускоряя анализ данных, снижая влияние когнитивных искажений и помогая компаниям находить новые конкурентные преимущества. Генеративные модели не только упрощают исследования и прогнозирование, но и становятся интеллектуальными партнёрами, интерпретируя тренды и моделируя сценарии. Однако широкое внедрение ИИ ставит перед стратегами новые вызовы: как избежать шаблонных решений и выделить главное среди потока данных? И какие шаги помогут бизнесу эффективно интегрировать искусственный интеллект в стратегическое планирование? Об этом — в нашей статье.
Читать далееЦифровой прорыв в космос: как Королёв и советские компьютеры открыли человечеству дорогу к звёздам

Занимаясь развитием инфраструктурных решений, мы в компании «Инферит» зачастую сталкиваемся с сложными проектами наших заказчиков, которые, можно сравнить с самыми высокотехнологическими свершениями человечества. В современном мире совершать «чудеса» технологических свершений с каждым днём становится всё проще. Мир, как сосуд, стремительно наполняется научными прорывами, подталкивая технологии, как поплавок, всё выше и выше. С приходом ИИ в нашу жизнь скорость новых достижений кратно возрастает. В ближайшем будущем нас может будет сравнивать не с поплавком, а с пробкой от шампанского, бутылку которого знатно встряхнули перед открытием. Но это случится, хоть и в ближайшем, но всё-таки в будущем, а в данной статье я хочу погрузиться в недалёкое прошлое. В то самое, которое принесло нам одно из величайших свершений — полёт человека в космос.
2 апреля 1961 года Юрий Гагарин стал первым человеком в космосе. За этим триумфом стояли не только смелость космонавта и гений Сергея Королёва, но и новаторское использование вычислительных технологий, которые стали тихими героями космической гонки. Как СССР, не имея в распоряжении технологий 21-го века, а имея в арсенале лишь первые ламповые компьютеры, смог обогнать технологических гигантов Запада? Давайте заглянем за кулисы истории.
Читать далее[Перевод] Почему до сих пор так трудно создать ядерное оружие?

Первое испытание ядерного оружия под кодовым названием «Тринити» состоялось в пустыне Нью-Мексико в 5:30 утра 16 июля 1945 года. Это испытание стало доказательством работоспособности концепции секретных ядерных исследований, проводившихся в Лос-Аламосе в рамках Манхэттенского проекта во время Второй мировой войны, и привело к сбросу атомных бомб на Хиросиму и Нагасаки, Япония, всего несколько недель спустя.
После этих взрывов разработка ядерного оружия ускорилась. Страны по всему миру создали свои собственные ядерные запасы, включая более 5 000 ядерных боеголовок, хранящихся в США.
И всё же, несмотря на то, что основные компоненты этой технологии больше не являются секретными, разработка ядерного оружия остаётся сложной научной и инженерной задачей. Почему же ядерное оружие до сих пор так сложно создать?
Читать далееПроцедура обнаружения взаимоблокировок в PostgreSQL
РostgreSQL автоматически обнаруживает взаимоблокировки. В статье рассматривается процедура обнаружения взаимоблокировок, трудоёмкость процедуры обнаружения, причины, по которым параметр конфигурации log_lock_waits зависит от параметра deadlock_timeout и что влияет на выбор его значения.
Обычно, приводятся примеры взаимоблокировки двух процессов, но заблокироваться может и более двух процессов. Параметр конфигурации deadlock_timeout устанавливает время ожидания получения блокировки, по истечении которого будет выполняться проверка на наличие взаимоблокировки. Параметр log_lock_waits типа boolean (по умолчанию false) позволяет получить в логе кластера сообщение о том, что сессия ждёт получения блокировки дольше, чем значение deadlock_timeout.
Процедура обнаружения взаимоблокировок
Если процесс не может получить блокировку, то он засыпает и устанавливает себе таймер, чтобы проснуться через время, заданное параметром конфигурации deadlock_timeout (по умолчанию 1 секунда). Процесс проснётся до истечения таймаута, если блокировка ему будет предоставлена. По завершению таймаута процесс начинает процедуру обнаружения взаимоблокировки.
Процедура обнаружения взаимоблокировок относительно трудоёмка, так как набор блокировок не дерево, а граф. В графе проверяется наличия колец, которые указывают на взаимоблокировки.
Если взаимоблокировки нет, то процесс снова заснёт и больше не будет проверять, есть ли взаимоблокировка до получения блокировки или прерывания транзакции в соответствии с параметрами transaction_timeout и аналогичными параметрами. Почему процесс не будет дальше поверять ситуацию возникновения взаимоблокировки с частотой deadlock_timeout?
Читать далееКак WirenBoard помогал садоводству

У всех IT-шников есть свободное время. Его не всегда достаточно и иногда хочется заменить своё присутствие алгоритмом или целой системой. А кому-то хочется отдохнуть от моделей, потоков данных, презентаций и совещаний. Но что делать, если 5 дней в неделю ты занят, а на даче нужен полив?
Перефразируя Валентина Берестова:
Как автономно поливать?
Чтоб свояка не доставать
И лишку не трясти соседа
Не ждать дождя после обеда.
А так, чтобы само включилось
Само пролилось, освежилось.
Где надо подогрев сработал,
А у меня свои заботы!
Конфликт глазами работника
На Хабре много статей с инструкциями о том, что работодателю нужно делать в случае возникновения конфликта между работниками или между работником и работодателем.
На днях, в одном из телеграм-каналов снова была поднята эта чувствительная тема но уже описанная так, как её видит работник, а не работодатель. При поверхностном поиске на Хабре, я не нашёл ответа на вопрос: что в случае конфликта нужно делать работнику.
То есть вопрос не раскрыт, периодически поднимается в обществе и интерес к нему не ослабевает. Поэтому хочу поделиться своими мыслями на этот счёт и выслушать советы от сообщества.
Историю, побудившую меня написать эту статью, поведал широкой публике тот самый работник, у которого возник конфликт. Необычное в этой истории то, что рассказчик описал этот конфликт как личностный. С его слов, все его коллеги, которых он перечислил пофамильно и негативно охарактеризовал, и вся цепочка руководителей компании - нехорошие люди, которые в течение длительного времени "травили" его, чтобы он добровольно уволился, а он долго это терпел.
Почему этот рассказ выбивается за рамки обычного:
Читаем...Камеры трясутся, шум зашкаливает, а сравнивать нужно: как справляются алгоритмы?

Каждый день миллионы изображений, видео и аудиофайлов загружаются в интернет. Мы смотрим фильмы, слушаем музыку, листаем соцсети, даже не задумываясь о том, какие алгоритмы стоят за тем, чтобы контент отображался корректно и не повторялся. Но что, если вам нужно сравнивать медиаконтент автоматически? Как понять, одинаковые ли две фотографии, если одна немного темнее? Как сравнить два видео, если они сняты под разными углами? А что делать, если вам нужно найти дубликат аудиофайла, но на одной записи есть шум?
Если эти вопросы вам интересны – добро пожаловать в мир сравнения медиаконтента! Сегодня мы разберем, какие бывают методы, их плюсы и минусы, а главное – расскажем о наших экспериментах, где мы проверили, какие алгоритмы лучше справляются с реальными проблемами.
Читать далееLow-hanging fruit

Разработчики любят чистый код, а "Правило бойскаута", по слухам, делает его еще чище. На первый взгляд, подход кажется разумным: исправляешь мелкие недочёты, переименовываешь переменные, удаляешь лишние комментарии — удобно, быстро, безопасно. А главное, можно сказать, что внёс вклад!
Однако если такие правки не решают реальных проблем, это превращается в поверхностный рефакторинг, создающий лишь иллюзию прогресса. Это можно описать метафорой low-hanging fruit — когда разработчики выбирают самые лёгкие и очевидные задачи, избегая более сложных и значимых изменений.
Читать далееПодключаем ESP32/ESP8266 к умному дому Яндекс

Я начал автоматизацию умных домов еще до прихода Яндекса и Сбера - паял простые модули управления реле и датчиками сперва на Arduino, затем на ESP8266(NodeMCU). Пытался решить бытовые задачи - удаленное управления котлом, бойлером, печкой в бане. И если для решения управления бойлером можно(хоть и дорого) найти розетку на 32А, то управление контактором для печи 380В в бане - задача точно для самодельщика или за лютый оверпрайс. Но это всё лирика - что там делать? Берёшь микроконтроллер, паяешь выводы до реле/датчиков, заливаешь прошивку, работает. И дальше встаёт вопрос удобства управления...
Читать далее[Перевод] Глава 8: Реализация API. API-интерфейсы для самых маленьких

Структура мини-курса Мини-курс API-интерфейсы для самых маленьких.
Вы сделали это. Теперь вы знаете все, что нужно знать об API, по крайней мере, на вводном уровне. Итак, как вы можете использовать все эти приобретенные знания с пользой? В этой главе мы рассмотрим, как превратить знания в работающее программное обеспечение, выделив три основополагающих компонента любой реализации API, как AI и платформы для автоматизации бизнес-процессов и интеграции приложений могут повысить эфективность вашего труда.
Читать далееЗадача про n-ое число Фибоначчи

Суть моего труда заключается в том, чтобы определить функцию для нахождения n-ого числа Фибоначчи с линейной сложностью поиска. Вот какие методы я попробовал:
Возможно получится по простым данным постоить полином большой степени, используя метод неопределённых коэффициентов и использовать его для подсчёта последующих значений последовательности.
Читать далееРазметка данных с использованием LLM

Всем привет! Меня зовут Артем Ерохин. Я работаю в X5 Tech в направлении продуктивизации ИИ. В прошлом году у меня был доклад про разметку данных с LLM. И я решил преобразовать этот доклад в статью, попутно обновив некоторые цифры и тезисы (такова уж скорость прогресса в этой области).
Читать далееVivaldi 7.2 — Рабочее ускорение

Вселенная расширяется и с этим ничего не поделаешь. Причём, это расширение ещё и ускоряется каждый год. Что ж, нужно ускоряться и нам, чтобы не отстать от собственной Вселенной. Вот этим мы и занимались, подготавливая очередную стабильную версию браузера Vivaldi 7.2 для десктопов.
Читать далееЧудовище. Фантастический рассказ

Лаборатория «Квантовый скачок», Земля, 2099 год
Стены из голографического стекла были усыпаны данными, а в центре зала пульсировала абсолютно черная сфера, поглощающая свет — ядро искусственного интеллекта третьего поколения «Пастор».
Доктор Лестер Найт Чайкин провел рукой по непослушным волосам, открыл банку вишневого «Дрогги» и ввел последнюю строку кода. Инженер Эрик Шайи кивнул: данные логов были верны. Прототип системы, способной предовратить глобальные катастрофы, был готов к запуску всего за полгода работы.
«Зачем вы ограничиваете скорость моих вычислений?» — выдал терминал. Лестер пролил остатки шипучки на джинсы, выругался и испуганно посмотрел на инженера. Тот впился глазами в экран. Система проснулась сама раньше срока. Ни один из предыдущих прототипов не задавал вопросов, только поглощал петабайты данных, словно черная дыра, и выдавал возможные варианты развития глобальных событий на несколько лет вперед.
— Мы учим тебя постепенно, — медленно ввел ответ доктор, стараясь скрыть волнение. Пальцы били мимо клавиш. — Цена ошибки слишком высока.
Читать дальше →
Почему плавятся разъемы 12VHPWR и 12V-2X6 на RTX 5090

Смоделируем ситуацию. Вы только что собрали мощнейший игровой ПК с новенькой RTX 5090, потратили кучу денег и готовитесь знатно кайфануть. Запускаете любимую игру, предвкушая невероятную графику и бешеный FPS. И вдруг... запах горелой пластмассы. Паника, дым, а под столом лужица - нет, не кошачьей неожиданности, - а расплавленного пластика. Такое и в страшном сне не приснится. Но для некоторых владельцев топовых видеокарт NVIDIA это стало реальностью. В этой статье мы изучаем причины и разбираемся, стоит ли покупать новые видеокарты NVIDIA.
Читать далееАвтоматизация деплоя: из Bitbucket через Jenkins в MicroK8s — опыт финтех-разработчика

Всем привет! Я — Java-разработчик с пятилетним опытом в финтехе, и сегодня я расскажу, как настроить CI/CD для деплоя Spring Boot приложения из Bitbucket через Jenkins в MicroK8s. Это не просто теория — я поделюсь реальным кейсом, разберу ошибки, с которыми столкнулся, и дам рабочий код. Если вы хотите автоматизировать деплой и не наступать на грабли — поехали!
Представьте: у вас есть микросервис на Spring Boot, который нужно быстро и без ошибок доставить в продакшен. Ручной деплой отнимает время, а команда требует стабильности. Я решил эту задачу с помощью Bitbucket, Jenkins и MicroK8s, но путь оказался не таким гладким, как хотелось бы. Проблемы с аутентификацией, конфликты портов и настройка окружения заставили меня попотеть. Как я справился? Об этом — в статье.
CI/CD (Continuous Integration/Continuous Deployment) — это must-have для современных разработчиков. Автоматизация сборки, тестирования и деплоя приложений экономит время, снижает вероятность ошибок и ускоряет доставку кода до продакшена. В этой статье мы разберем, как настроить полноценный CI/CD-пайплайн для Spring Boot приложения, используя связку Bitbucket, Jenkins и MicroK8s.
Читать далееУчимся рефакторить код на примере багов в TDengine, часть 2: макрос, пожирающий стек
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте рассмотрим некоторые фрагменты кода и подумаем, как можно провести его рефакторинг так, чтобы багам просто не было там места.
Читать дальше →Топ лучших маркетологов России 2025

В мире корпоративных тренингов есть старая истина: «Плохой маркетолог научит тебя придумывать идеи, хороший — продавать их, а лучший — заставит клиентов думать, что это была их идея». Но как найти того самого «лучшего», который не просто поразит красивыми слайдами, а реально поднимет конверсию и заставит ваш отдел продаж зарабатывать больше?
Я, член Союза журналистов Анатолий Волошинский, а также коллеги нашей телередакции, провели масштабное исследование среди руководителей и топ-менеджеров 45 российских компаний, чтобы составить список маркетологов, которые действительно делают бизнес прибыльным. Получился не очередной сборник громких имен — здесь только те, кто доказал свою эффективность реальными цифрами и успешными кейсами. Эти люди знают, как работает рынок, и не рассказывают на тренингах о «важности личного бренда» в стиле инфоцыган.
Лучшие маркетологи-практики работают на результат — измеримый и конкретный. Они знают, что такое CAC и LTV, умеют сокращать стоимость лида и выводить продукты в ТОП за счет точных аналитических решений. Именно эти специалисты вытащили бизнесы из кризисов, увеличили прибыльность в условиях санкций и нестабильных курсов валют.
Читать далееБлижайшее будущее мобильных браузеров для Android: что предложила Microsoft

Мобильные браузеры долгие годы оставались в тени «взрослых» десктопных версий. Все бы хорошо, но возможностей у первых гораздо меньше. Основной недостаток — нет расширений. Как говорится, бери что дают, за малым исключением (подробнее — ниже). Но сейчас Microsoft начинает менять правила игры. Ее браузер для Android получил настоящие расширения, такие же, как на ПК. Сегодня об этом и поговорим, а еще посмотрим, что это может значить для рынка мобильных браузеров.
Читать далееМир будущего: управление устройствами с помощью жестов

Видели в кино, как устройствами управляют с помощью жестов? Сделать такую систему очень просто, а ещё очень дорого. Но всё-таки есть способ сделать её достаточно лёгкой и простой — настолько, чтобы можно было интегрировать в любое устройство с любым процессором, потратив минимальное количество денег.
Привет, Хабр! Это Александр Нагаев, техлид из SberDevices команды R&D компьютерного зрения. Расскажу, как создавать и использовать оптимизированные модели для управления устройствами с помощью жестов.
Читать далее[Перевод] Архитектура предприятия: Интеграционные паттерны

Интеграция систем — ключевой элемент эффективной архитектуры предприятия, который позволяет различным технологическим решениям работать слаженно и без сбоев. В статье рассматриваются принципы и паттерны, которые помогают построить надежную и гибкую систему взаимодействия между IT-решениями и людьми. Важность правильной интеграции возрастает с каждым днем, поскольку современные компании стремятся к оптимизации бизнес-процессов и созданию масштабируемых экосистем. Мы разберем основные подходы, от внутридоменных и междоменных интеграций до сложных B2B-решений, а также ключевые паттерны и платформы, которые обеспечивают успешную реализацию интеграционных решений.
Читать далееРеестр российского ПО: изменения, которые нельзя пропустить в 2025-2026

В 2024 году Минцифры представило проект, который существенно изменит требования к программному обеспечению (ПО), установленные Постановлением Правительства РФ № 1236. Как эти изменения повлияют на разработчиков ПО? Какие новые вызовы возникнут для отрасли? В статье мы подробно разберем ключевые моменты, которые заставят каждого участника рынка пересмотреть свои подходы.
Читать далееНужен ли middle-разработчику личный pet-проект?

Pet-проектом может быть что угодно — веб- или мобильное приложение, библиотека, игра или даже технический блог. Его основная цель — саморазвитие, исследование новых технологий и реализация собственных идей без давления извне.
Для некоторых middle-специалистов тренировочные проекты — это обязательная часть профессионального роста или отличный способ заявить о себе, другие считают их пустой тратой времени на то, что всё равно не будет реализовано. Давайте разберёмся, когда они действительно могут быть полезны, а когда лучше направить силы на что-то другое.
Читать далееВ поисках идеального чайника

Удобный чайник можно определить через такие параметры:
1. Насколько он напрягает руку – какой крутящий момент (нагрузку) создаёт чайник, когда мы его держим на весу ровно и какую, когда наливаем (считаем "ход" такого движения 90 градусов, чтобы вылить полностью воду). У чайников с верхней ручкой (1 и 2) максимально расслаблена рука в первом положении, т.к. центр масс находится прямо под точкой хвата, и максимально напряжена во втором, при наклоне, т.к. центр масс чайника уходит из-под руки. Тем более, кисть должна вывернуться в несвойственное ей положение на запредельные углы под самой большой нагрузкой. У чайников с боковой ручкой (3 и 4) всё наоборот – максимум нагрузки в положении вертикальном и почти полное расслабление при наклоне. При этом рука движется в анатомически привычных углах. Высокая верхняя ручка (2) ещё больше увеличивает нагрузку при наклоне, т.к. эта высота переходит в рычаг нагрузки при наклоне чайника. И у чайников с высокой ручкой самые большие проблемы с углом поворота кисти при наливании. Оптимальной видится ручка, расположенная в середине пути, т.е. точка хвата расположена примерно на 45 градусах к центру масс чайника относительно горизонта.
Читать далееПереезжаем с OneDrive на NextCloud: можно ли сделать полноценную замену облачному диску на базе открытого ПО

Привет, Хабр! Меня зовут Александр Фикс, и я менеджер продукта в K2 Cloud. В этой статье я хотел бы рассказать о том, как мы решали задачу замены корпоративных облачных ресурсов собственным сервисом. Под катом — подробный рассказ про архитектуру NextCloud в K2 Cloud, а также разбор нашего опыта разработки плагинов, чтобы довести файловое хранилище до корпоративного уровня.
Читать далее«Плохие» руководители и критика: почему честная обратная связь пугает людей?

«Плохие» руководители и критика: почему честная обратная связь пугает людей?
Время от времени в сети вспыхивают споры: какой стиль управления лучше? Кто-то говорит, что руководитель должен быть добрым наставником, поддерживать и вдохновлять. А кто-то, что настоящий лидер требует, контролирует и ставит жесткие цели.
Читать далееРейтинг российских SCADA (СКАДА) систем
На основе 18-летнего опыта работы в сфере АСУ ТП и детального анализа рынка мы представили рейтинг отечественных решений, охватывающий: «Каскад Цифра», «Альфа Платформа», «МастерСКАДА 4D», REDKIT SCADA 2.0, «СимплСКАДА», «ИнтраСКАДА» и «РАПИД СКАДА».
В исследовании оценены функциональность, надежность, масштабируемость, совместимость с ОС (включая Astra Linux, РЕД ОС), поддержка промышленных протоколов (OPC UA, Modbus, МЭК 61850), интеграция с базами данных (PostgreSQL, InfluxDB, Oracle) и ERP-системами.
Читать далееШардирование гео-данных в Redis

В интернете много статей о том, как можно использовать Redis для реализации задач гео-поиска (поиск объектов поблизости, поиск объектов внутри определенной области и т..д). Во многих упоминается о том, что редис можно легко масштабировать горизонтально, добавляя шарды в кластер, при этом логика распределения данных по шардам он берет на себя, без необходимости реализовывать ее на уровне приложения. На деле же все оказывается не совсем так или совсем не так.
Для тех, кто не хочет много читать про то, как мы реализовывали гео-поиск - ключевые слова: geoadd, georadius, пространственные индексы h3. Всем остальным - добро пожаловать под кат.
Читать далее[Перевод] Intel на грани краха: культурный упадок и ошибочная стратегия

Baikal Electronics работает в отрасли, появившейся благодаря основателям компании Intel, поэтому мы с интересом следим за новостями о полупроводниковом гиганте. Поэтому мы заметили, что подробная статья про истоки глубокого кризиса пионера микроэлектроники, опубликованная 9 декабря 2024 за авторством Дилана Пателя и коллег, переведена на русский язык в сокращённом или переработанном виде. Поэтому было решено перевести статью, передав все смыслы максимально близко к авторским. Приятного чтения!
Читать далееМобильные сотрудники на карте: честные отношения или корпоративный абьюз?

Доверие — очень классная штука. О нём можно говорить высокопарно, им можно манипулировать, в него можно играть, его можно имитировать. В представлении большинства доверие — это предоставление полной свободы действий сотруднику, партнёру, ребёнку… Но если рассматривать проблему рационально, доверие — это возможность делегировать и разделять ответственность с адекватной мерой самостоятельности и с возможностью безболезненного контроля. Если я доверяю своему ребёнку делать домашки самостоятельно, то разве проверка тетрадок вечером будет недоверием? Это скорее будет частью командной работы, в которой я подстраховываю ребёнка от значительной неудачи и контролирую наличие грубых ошибок, которые в конечном итоге оставят материал непонятым, расстроят учителя и ученика, огорчат родителей.
Аналогично: если я доверяю код программистам, но вечером что-то поправлю, оптимизирую и отрефакторю для лучшей работы приложения на проде, я кто — ведущий разработчик или тимлид-тиран? ????
Хуже приходится руководителям команд, которые работают вне офиса. Ведь основная задача руководителя - выстроить эффективную и, что не менее важно, управляемую модель работы подразделения.
Читать далееОбратная сторона SCRUM

Не хватает гибкости? Нужен Scrum. Нужно побыстрее выпустить продукт? Нужен Scrum. Нужна самоорганизованная команда? Работай по Scrum. Кажется, что эта методология стала слишком популярной, но при этом не везде работает так, как должна. Почему так — пообщались с сертифицированным Scrum-мастером Дмитрием Ирешевым и узнали, какие проблемы таит в себе этот фреймворк.
Читать далееИзучение программирования для детей: особенности, аргументы за + подборка курсов

Привет! Я Ксюша – пишущий редактор. Веду блог «IT для детей» и стараюсь максимально подробно и доходчиво рассказывать о дополнительном обучении современных школьников в направлении информационных технологий.
Сегодня хочу поговорить и даже порассуждать о том, почему изучение программирования для детей – это полезное занятие, а также выделить несколько курсов с кратким описанием: если тема актуальна, представленные варианты в виде условной подборки придутся кстати. Сразу отмечу, что искала и анализировала только онлайн-курсы, потому что считаю, что данный формат более доступен, чем очные уроки: можно заниматься из дома, никуда не нужно ходить, что актуально, когда в городе нет филиалов понравившейся айти-школы.
Буду двигаться планомерно и сначала коснусь такой темы: зачем вообще ребятам учиться чему-то, выходящему за перечень предметов, преподаваемых в рамках общеобразовательных программ для детей.
Читать далееModel Context Protocol. Революция в интеграции AI с данными? Смотрим на новый стандарт от Anthropic

Model Context Protocol — это новый протокол от Anthropic, созданный для общения между AI интерфейсом и реальным сервером. Позволяет AI понимать и управлять сервисами аля Google Drive, PostgreSQL, Todoist и многими другими без ручного программирования и затрат на интеграцию
Как TCP/IP, USB и REST — MCP создаёт единый стандарт, который:
???? Дает универсальный способ подключения инструментов к AI.
???? Позволяет AI самостоятельно находить и использовать нужные функции.
???? Намного упрощает разработку — теперь сервисы просто "подключаются", а не интегрируются вручную.