Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 26 min ago

Стилизация, часть 2: Границы стилизации. Гротеск

Tue, 11/25/2025 - 16:35

Что называют стилем и стилизацией? Какие течения у стилизации существуют и как классифицировать визуальный стиль рендеров? Можно ли уравнять гиперреалистичный шутер Bodycam и бродилку про глиняных человечков The Midnight Walk, пиксельный выживач Rain World и стратегию Heroes of Might and Magic? Отчасти на этот вопрос мы уже ответили в первой части. Кстати, эту самую первую часть с общей историей развития стилизации в играх и биологическими предпосылками восприятия можете почитать здесь.

Сегодня разберемся в бардаке, царящем среди визуальных стилей, а заодно посмотрим на килограммы картинок, большую часть которых я снимала специально для вас. 

Читать далее

Как оставаться на связи при миграции и отправлять письма? Часть 1

Tue, 11/25/2025 - 16:33

Здравствуй Хабр! Это моя вторая статья, и статья как продолжение предыдущей.

Мы пришли к тому, что выбрали отечественное решение Workspad как средство коммуникации. Но, еще не перешли на отечественные решения к примеру как почтовый сервер RuPost и контроллер домена ALD PRO.

Читать далее

От «ГоворЮ» до «ВыступаЮ»: внутренняя кухня подготовки спикеров к митапам и конференциям

Tue, 11/25/2025 - 16:32

Привет! Я Аня, бизнес-тренер ЮMoney. Уже пять лет я помогаю коллегам выходить из Zoom на сцену — в прямом и переносном смысле. И знаете, что интересно? Большинство из тех, кто сейчас выступает с техническими докладами на IT-конференциях и митапах, начинали с простого — рассказывали коллегам о путешествиях, йоге или волейболе.В этом материале опишу системный подход к подготовке спикеров в ЮMoney и поделюсь статистикой.

Читать далее

Неугомонный VasyGrek: F6 изучила атаки злоумышленника в августе-ноябре 2025 года

Tue, 11/25/2025 - 16:21

В июле 2024 года был опубликован блог об исследовании специалистами Threat Intelligence компании F6 активности VasyGrek и его сотрудничестве с продавцом ВПО Mr.Burns. После публикации F6 VasyGrek прекратил сотрудничество с этим поставщиком вредоносных программ.

Аналитики департамента киберразведки F6 продолжили отслеживать атаки злоумышленника, который не прекращал свою активность и осуществлял новые фишинговые рассылки в адрес российских организаций. Целью киберпреступника был доступ к конфиденциальным данным для их дальнейшего использования. Как правило, VasyGrek применял вредоносное ПО, разработанное пользователем хак-форумов PureCoder. Также специалисты F6 заметили, что в некоторых атаках в дополнение к ВПО от PureCoder шел шифровальщик Pay2Key.

В новом блоге аналитики F6 рассказали об инструментах и атаках VasyGrek в августе-ноябре 2025 года с техническими деталями и индикаторами компрометации.

Читать далее

Как мы будем тестировать человекоподобных роботов (когда они станут реальностью)

Tue, 11/25/2025 - 16:09

Калифорнийский стартап 1X, бросив вызов таким гигантам, как Boston Dynamics, начал принимать предзаказы на своего человекоподобного робота NEO.

Это одна из первых серьезных заявок на создание коммерческого андроида для дома. NEO, управляемый голосом и искусственным интеллектом, обещает автоматизировать рутину: убираться, мыть посуду, стирать и даже общаться.

Однако за громким анонсом скрывается менее заметная, но критически важная деталь: на начальном этапе большую часть сложных задач за робота будет выполнять удаленный оператор, наблюдающий за происходящим через камеры NEO.

Генеральный директор 1X Бернт Бёрних прямо заявляет, что для достижения истинной автономии необходимо собрать огромный массив данных из реальных домов. Это означает, что первые владельцы NEO по сути станут участниками масштабного полевого эксперимента. Их жилища превратятся в тестовые полигоны.

Этот подход иллюстрирует фундаментальный вызов, стоящий перед всей индустрией: как можно теоретически построить систему тестирования для машин, которым предстоит работать в самой сложной и непредсказуемой среде — в человеческом доме?

Когда инженеры только начинают переносить роботов из лабораторий в мир людей, их ждет столкновение с абсолютно новой реальностью. Цена ошибки здесь измеряется не в багах в логах, а в разбитых вазах, затопленных соседях, травмах и подорванном доверии.

Первоначальный энтузиазм быстро сменяется осознанием: тестирование робота — это проверка его способности взаимодействовать с хаотическим миром. И самый сложный вопрос — не «как тестировать?», а «что именно и в каком объеме нужно тестировать?».

Читать далее

API, который растёт вместе с вами: за кулисами GitVerse

Tue, 11/25/2025 - 16:03

Проектирование публичного интерфейса, с которым впоследствии будут иметь дело наши пользователи — занятие, требующее от разработчика, с одной стороны, максимально кропотливого подхода и внимания к деталям, а с другой — скорости, так как пользователи ждут результата как можно скорее.

Привет, на связи Виктор Степанов, лид одной из core-команд ИИ-платформы для работы с кодом GitVerse. Сегодня я хочу поделиться коротким рассказом о том, как мы начали проектировать и разрабатывать публичный API для нашей платформы.

Читать далее

Live Updates на Android: где макеты врут, a SDK ставит границы

Tue, 11/25/2025 - 16:03

Весной 2025 года Google представила Live Updates, аналог Live Activity в iOS. Мы быстро запушили продактов — «нам такое надо!» — и потащили фичу в Android-приложение Додо Пиццы.

Но всё оказалось не так просто — мы столкнулись с неполной документацией, расхождениями представлений дизайнеров Google и разработчиков этого SDK, и не только. В общем, запасайтесь попкорном. Сегодня расскажем обо всех нюансах в реализации и тестировании Live Updates.

Читать далее

Что нужно B2B-маркетологу IT-продуктов в 2026 году

Tue, 11/25/2025 - 16:00

Привет! На связи Олег, который ушел из аналитиков SOC в продуктовые маркетологи. Сегодня подниму душещипательную для многих тему и поделюсь своим мнением и опытом. Продолжу рассуждать про техническую эмпатию и задамся вопросом: в каком случае продуктовый B2B-маркетолог должен разбираться в технологиях и что ему важно уметь.

Сейчас для точного позиционирования сложных B2B-решений поверхностного знания продукта и слов из разряда «инновационный» явно недостаточно. Конечно, от специалиста по маркетингу не требуют писать код или проектировать продукт — его задача другая. Но если маркетолог решит глубоко погрузиться в технологию — он получит, то самое преимущество, которое сделает его желанным на рынке труда специалистом.

Прежде всего, разбираясь в технологии, маркетолог лучше видит ее сильные и слабые стороны. Он может критически отнестись к описанию: что из характеристик действительно уникально; что только звучит круто, а на деле есть по умолчанию у всех конкурентов. Так пресейл-инженер, перейдя в продуктовый маркетинг, уже будет знать болевые точки клиентов и типичные вопросы, которые задают технические специалисты. Поэтому может заранее встроить ответы на них в материалы, вместо того чтобы просто говорить размытыми красивыми фразами из брошюры. Маркетолог без технического бэкграунда рискует стать «рекламным графоманом» продукта, потому что не чувствует, что важно, а что вторично.

Читать далее

Мы так привыкли к Disaster Recovery у VMware, что разработали свою

Tue, 11/25/2025 - 15:58

Пожар в ЦОДе, авария на подстанции, разорванный во время ремонта кабель между площадками — таких инцидентов за последние годы хватает. Например, в конце этого сентября пожар в государственном дата-центре Южной Кореи парализовал сотни госсервисов и уничтожил свыше 800 терабайтов данных без резервных копий. 

Единственная реальная защита от таких сценариев — геораспределенные инсталляции с Disaster Recovery (DR). Система автоматически перекидывает нагрузку на резервную, если основная упала. Большинство российских ИТ-инфраструктур виртуализированы, сервисы работают в виртуальных машинах, и заказчикам нужны DR-сценарии именно для виртуализации. Поэтому мы в Orion soft разработали модуль DR для собственной платформы виртуализации zVirt. Он обеспечивает программную репликацию на уровне гипервизора (без агентов внутри гостевых ОС) и аппаратную на уровне СХД. 

Я Александр Гавриленко, директор технического пресейла zVirt. В этой статье расскажу, как мы воспроизвели привычную функциональность VMware и что адаптировали в решении под специфику российского рынка.

Читать далее

Мы ввели правило «Сначала спроси у нейросети» — и вот что из этого вышло

Tue, 11/25/2025 - 15:51

Мы решили попробовать в Kaiten новый подход: прежде чем идти с вопросом к коллеге, спроси сначала у нейросети. И это сработало хорошо — взаимодействие в команде стало эффективнее, а точечное использование ИИ превратилось в системную практику. Про наш опыт с нейросетями — ниже.

Читать далее

Хотел сэкономить 150 тыс на стройке, а развели на 500 тыс. И всё по закону

Tue, 11/25/2025 - 15:26

Делюсь, как мы спасли от гнили дом 1937 года и почему труба во время стройки резко вырастает с 50 тыс до 200 тыс. А ещё — как строители разводят заказчиков в договоре. И всё по закону.

Читать далее

iOS или Android: чей замок крепче?

Tue, 11/25/2025 - 15:25

Сегодня трудно представить жизнь без смартфона. Мы доверяем ему личную переписку, фотографии, платежные данные и доступы к финансовым и медицинским сервисам. Но задумываетесь ли вы, насколько надежно защищены ваши данные?

Ответ во многом зависит от операционной системы — именно она определяет уровень вашей безопасности. Ваши личные «сокровища» защищают две основные системы: iOS от Apple и Android от Google. Их принципы работы различаются, поэтому отличаются и слабые места, и способы защиты.

В этой статье мы не будем советовать, какой смартфон выбрать. Зато подробно сравним защиту iOS и Android по ключевым параметрам: от безопасности и удобства до экосистемы и функциональности.

Читать далее

Специальные функции-члены в C++

Tue, 11/25/2025 - 15:20

Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специфичных. Это девятая статья из серии, список предыдущих статей приведен в разделе 6. Серия ориентирована на программистов, имеющих определенный опыт работы на C++. Данная статья посвящена специальным функциям-членам.

В C++ жизненный цикл экземпляра класса/структуры/объединения (объект, представляемый в коде переменной) начинается с инициализации, то есть задания его начального состояния. Далее, почти всегда, объект копируется, выполняются присваивания или их перемещающие аналоги. Эти операции необходимы для работы функций, контейнеров, алгоритмов. Финальной точкой жизненного цикла объекта является его уничтожение. Именно для поддержки этих операций в C++ и предназначены специальные функции-члены.

Важная особенность специальных функций-членов — это то, что в их реализации принимает участие компилятор. Реализации специальной функции-члена частично (а в ряде случаев и полностью) может быть сгенерирована компилятором. Кроме того, во многих случаях программист не вызывает явно специальные функции-члены в своем коде, эти вызовы генерируются компилятором в определенном контексте.

Итак, попробуем рассказать о специальных функциях-членах максимально подробно.

Читать далее

ActiveRecord: опасная магия

Tue, 11/25/2025 - 15:15

В Ruby‑разработке ActiveRecord давно стал стандартом: он интуитивно понятен, встроен в Rails и позволяет быстро проводить CRUD‑операции. По мере роста проекта его «удобство» нередко начинает оборачиваться скрытыми проблемами.

Читать далее

Делаем простой фитнес-трекер на React Native + Expo

Tue, 11/25/2025 - 15:07

Лето уже давно позади, зима на носу, а значит — самое время начинать подготовку к следующему лету. Для многих это означает одно: попытку выбраться из состояния «тюленя» хотя бы в состояние «тюленя, который слегка похудел».

Чтобы совместить полезное с полезным, заодно соберём небольшое приложение — простой трекер веса и тренировок — и посмотрим, как на практике работает мультиплатформенная разработка на React с Expo. Спойлер: почти то же самое, что и обычная разработка на React — и, похоже, именно она окончательно забивает гвоздь в гроб Dart/Flutter и прочих попыток конкурентов сделать вид, что React — это страшный сон, который можно забыть.

Читать далее

Борьба с дисбалансом классов. Oversampling

Tue, 11/25/2025 - 15:00

Привет, Хабр! На связи KozhinDev и ml-разработчик Приходько Александр. Это третья статья в цикле публикаций по теме борьбы с проблемой дисбаланса классов в машинном обучении. В первой статье мы обсудили актуальность данной проблемы в машинном обучении, а также сравнили методы борьбы с ним, без внесения изменений в сами данные: изменение весов классов и порога принятия решения моделью. Во второй статье мы сравнивали undersampling-методы, которые удаляли представителей частого класса.

В данной части мы протестируем методы балансировки данных методом oversampling из библиотеки imblearn. Суть данного метода заключается в том, что мы пытаемся бороться с дисбалансом классов генерируя данные для редкого класса. Мы рассмотрим разные способы генерации таких данных и протестируем их на синтетических данных.

Читать далее

Интеграционное тестирование: от теории до боевого опыта

Tue, 11/25/2025 - 15:00

Это схема, которая описывает типы объектов в вашей системе и возможные отношения между пользователями и этими объектами (ролями, функциями защиты и привилегиями).

Классическая ситуация:

«Я данные отправил!»

«А я не получил!»

«А они зависли где-то, потому что формат не тот!»

Пример из практики: комплексный проект по рефакторингу системы управления доступами. Интеграция приложения по управлению доступами на основе ролей и привилегий (это наша Новая система) с другими информационными системами (ИС) в контуре предприятия (например, управление учетными записями, авторизация пользователей и прочие).

Читать далее

[Перевод] За рекордными отчётами Nvidia скрывается афера на 2 триллиона долларов, и вот что от нас прячут…

Tue, 11/25/2025 - 14:44

«Много говорят о пузыре ИИ, - отметил CEO Nvidia Дженсен Хуанг во время недавнего отчёта о прибылях за третий квартал. - Мы видим иную картину».

Легко понять, почему Хуанг так считает. В конце концов, этот отчёт был лакмусовой бумажкой для всей индустрии, и они с блеском прошли проверку. Их выручка взлетела на 62%, превзойдя прогнозы Уолл-стрит. Я уверен, что с вершины своей золотой горы Хуангу всё кажется прекрасным. И впрямь, похоже, мир согласился, что страхи о катастрофическом взрыве пузыря ИИ - не более чем паникёрство. Но я заявляю - это полная чушь, потому что это не гора золота, а карточный домик.

То, что все, кажется, упускают из виду, так это то, что спрос на кирки и лопаты вовсе не означает, что тюльпаномания или золотая лихорадка не готовы вот-вот лопнуть. Точно так же спрос на чипы ИИ, которые продаёт Nvidia, не означает, что нет пузыря, который вот-вот разрушительно схлопнется.

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

Пристегните ремни - погружение будет глубоким!

Читать далее

Почему переводы по номеру телефона до сих пор ломаются: инженерный разбор бытовой проблемы, которую мы недооцениваем

Tue, 11/25/2025 - 14:31

Система быстрых платежей (СБП) существует достаточно давно, но бытовые переводы «по номеру телефона» всё ещё регулярно вызывают ошибки, путаницу и лишние действия.
Если открыть комментарии под любой статьёй на эту тему — гарантированно найдёшь реплики вида:

«Но ведь можно просто скопировать контакт? Или показать QR из банка. Зачем вообще что-то ещё?»

Проблема в том, что в инженерных рассуждениях мы часто видим идеальные сценарии, а в реальной жизни всё намного менее стерильно.

В этой статье — разбор, почему бытовые переводы по номеру на практике всё ещё далеки от идеала, с точки зрения UX, безопасности, разрозненности банковских реализаций и человеческого фактора.
И почему альтернативные способы (vCard, контакт, QR из приложений банков) не всегда закрывают эту бытовую рутину.

Здесь нет рекламы и нет призывов пользоваться каким-то конкретным инструментом.

Это исследование проблемы, которая всплывает каждый день у людей вне IT-пузыря.

Читать далее

Форматируем строку по-человечески: C++ и его <format>

Tue, 11/25/2025 - 14:30

Когда-то давным-давно (то есть до C++20) мы форматировали вывод либо по-старинке через printf, либо используя громоздкие стримы ввода-вывода из <iostream>. Оба подхода, мягко говоря, не очень. printf работал шустро и лаконично, но требовал строгого соответствия типов, забудешь правильный %d или %s в формате, и получишь неопределённое поведение вплоть до падения программы. Компиляторы иногда предупреждают о несоответствиях, но полностью проблему не решают (особенно если форматируемая строка не литерал). Кроме того, printf не умеет выводить пользовательские классы, только примитивы.

Сейчас ситуация изменилась. В C++20 завезли библиотеку <format>, современный подход к форматированию строк, сочетающий лаконичность printf с безопасностью iostream. Инструмент называется std::format и объявлен в заголовке <format>. По сути, это адаптация популярной библиотеки fmt.

Читать далее

Who's online

There are currently 1 user and 1 guest online.