Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 34 min 54 sec ago

Утечки памяти в замыканиях JavaScript

3 hours 3 min ago

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

Замыкание существует пока, есть хоть одна ссылка на функцию создавшую его. Если быть неосторожным, это может привести к утечкам памяти: когда объект уже не используется в программе, но сборщик мусора не может его удалить. Такие ссылки могут быть неочевидными...

Что за неочевидные ссылки?

Playwright + Appium + WebdriverIO: как эта связка усиливает тестирование гибридного Android-приложения

3 hours 7 min ago

Привет, хабровчане! С вами снова Евгений Иванов, QA-lead в компании Fix Price. В этот раз поделюсь с Вами опытом внедрения автоматизации для гибридного мобильного приложения на Android. 

У этого решения есть свои плюсы и минусы, и мы продолжаем работать над его развитием. Но уже сейчас понятно: оно приносит реальную пользу команде во время регрессионных и предрелизных прогонов. Расскажу подробнее, как мы собрали связку Playwright + Appium + WebdriverIO и что из этого вышло.

Читать далее

Какая точность у систем идентификации лиц?

3 hours 8 min ago

Все задают этот вопрос, а он некорректен, Основной принцип биометрии опровергает его. Не будет айтишных терминов, всё постараемся объяснить на пальцах, вернее на лицах.

Академические методики непонятны населению, а практическое испытание упирается колом в человеческий фактор.

И вот почему...

Как мы обновили экран «Вы записаны» и выросли по ключевым метрикам

3 hours 8 min ago

Привет, Хабр. Меня зовут Глеб Бобыльков. Я ведущий дизайнер команды записи и цифровых продуктов в СберЗдоровье — MedTech-компании №1 в России. В этой статье покажу, как мы переделали финальный экран после записи к врачу на очный приём и превратили его из страницы подтверждения в сценарий «что дальше», набор гибких кросс-офферов и универсальный компонент для дизайн-команды.

Этот кейс про баланс: как добавить бизнес‑ценность и не разрушить доверие на одном из самых чувствительных шагов пользовательского пути — сразу после записи к врачу.  

Читать кейс

O(log n) или O(n)? Разбор алгоритмов поиска для собеседований и практики

3 hours 17 min ago

Баг в бинарном поиске Java прожил в стандартной библиотеке почти десять лет — и в 2006 году его разбор опубликовал сам автор кода. Казалось бы, бинарный поиск проходят на первом курсе. Но между «понял идею» и «написал без ошибок» — целая пропасть. В этой статье разберём четыре алгоритма поиска (линейный, бинарный, экспоненциальный и с использованием хеш-таблицам), покажем, когда какой выбирать, и разложим по полочкам пограничные случаи, на которых горят и на собесах, и в проде.

Давайте разбираться

[Перевод] Disney отменила $1 млрд инвестиций. Sora закрыта. Пузырь начал лопаться?

3 hours 35 min ago

Когда Альтман запустил её в конце 2024 года, интернет захлестнула волна 20-секундных видео — технически впечатляющих, но практически бесполезных для чего-либо серьёзного.

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

Теперь, чуть больше года спустя, OpenAI закрыла модель Sora и сопутствующее приложение. Более того — Disney отменила запланированную инвестицию в $1 миллиард для лицензирования интеллектуальной собственности под использование Sora.

Многие указывают на судьбу Sora как на знак того, что ИИ-пузырь начинает сдуваться. Так ли это? Ответ: и да, и нет. Позвольте объяснить.

Читать далее

Как мы тестировали 5 рекламных каналов для байер-сервиса и выяснили, что работает только один

3 hours 38 min ago

Осенью 2025 к нам обратился персональный байер-сервис — помогают заказывать брендовую одежду из Европы и США через Telegram-канал. В канале было почти 6к подписчиков, но рост остановился. Клиент пробовал запускать Яндекс.Директ сам — стоимость подписчика выходила 400 рублей, плюс конверсия в подписку была низкая. Снимал рилсы и шортсы — просмотры набирались, но продаж не давали.

Читать далее

Зная эти паттерны ты решишь 60% задач на собеседовании

3 hours 48 min ago

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

Читать далее

Главная причина, почему ИИ не сможет писать, как человек

3 hours 49 min ago

Всем привет! Меня зовут Андрей, я копирайтер и редактор. Сам активно юзаю LLM последний год и хочу поделиться мыслями о возможности замены моей профессии нейросетью. Про это выходит много контента, но ни в одном материале я пока не встречал тезиса, который мне кажется фундаментальным:

ИИ не может заменить человека, потому что не может собрать информацию из реальности

Здесь нужно начать с понимания, кто же такой копирайтер или журналист, и чем он занимается. Часто эту роль понимают так: человек, который берет информацию из того, что уже опубликовано и создаёт на ее основе нечто «новое» и «уникальное». Под уникальностью обычно понимают процент, который выдает какой-нибудь Text.ru. При этом текст имеющий 99% «уникальное» может быть на 100% плагиатом.

Читать далее

DMA в userspace на Zynq US+: собираем данные AXI-Stream для CPU

3 hours 51 min ago

Привет! Меня зовут Данил, я разрабатываю прикладное ПО для радиочастотных систем YADRO. В этой статье я расскажу об одном из вариантов сбора данных AXI-Stream для обработки на CPU, рассмотрю в этом контексте возможности и требования блока AXI DMA, а напоследок порассуждаю о когерентности кешей и о том, что на самом деле здесь требуется от драйвера ядра.

Читать далее

Разбираем Remote Compose: как Google предлагает строить BDUI

3 hours 58 min ago

Технологии Backend-Driven UI уже давно используются во многих компаниях, включая Альфа-Банк. Существует множество реализаций этого подхода, и недавно Google представил собственное решение — Remote Compose.

Remote Compose выглядит очень перспективной технологией. Фреймворк активно развивается и поддерживается командой Google. Однако на момент написания статьи технология всё ещё находится в alpha-версии, поэтому использовать её на проде пока рано. 

Но я изучил этот фреймворк и хочу поделиться своим опытом, а когда Remote Compose выйдет в бета-версию вы будете знать, как с ним работать

В статье разберём:

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

Читать далее

Telegram Ads без €2 миллионов: как на самом деле устроен вход на платформу и что вы получаете сверху

4 hours 3 min ago

Минимальный бюджет €2 млн.

ХА!

Знаете, а ведь по факту 99% рекламодателей в России никогда не заходили в официальный кабинет и не собираются. Они работают через реселлеров, и это совсем другая история: другой порог входа, другие инструменты, другая экономика.

Я разобрал шесть ключевых реселлеров.
Реальные цифры переплаты, таблицы по функционалу, подводные камни, которые не написаны на сайтах, и ответ на вопрос почему даже с хорошим реселлером Telegram Ads требует больше внимания чем кажется.

Глубже!

Вспоминаем молодость: как делались скриншоты на старых кнопочных Nokia

4 hours 3 min ago

Возможность делать скриншот — это базовый минимум, который есть во всех современных смартфонах. Даже у героев вечных споров, iOS и Android используются похожие комбинации «Громкость + Кнопка питания». Разве что на iOS используется «+», а в Android — «-».

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

Тем не менее, решения были. В этой статье я проведу небольшой экскурс в историю программ для скриншотов с телефона, кратко расскажу про протокол Phonet и, возможно, вызову легкие приступы ностальгии.

У меня был Nokia 6303 classic — стильный телефон с металлической крышкой на платформе Nokia Series 40 (S40). Мой путь с этим телефоном разошелся, но спустя почти полтора десятка лет я решил, что хочу разобраться в технологиях, которые использовал, будучи школьником. 

Я нашел в продаже б/у Nokia 6303 classic и погрузился в тему.

Читать далее

Security Week 2615: атака Rowhammer на видеокарты Nvidia

4 hours 6 min ago

На прошлой неделе были опубликованы сразу три научные работы, так или иначе предлагающие варианты атаки Rowhammer для видеокарт Nvidia. Подобные атаки часто имеют чисто научный интерес, но не в этом случае: во всех работах показаны методы эксплуатации с реально опасными последствиями вплоть до получения прав суперпользователя на целевой системе. Новые атаки были испытаны на видеокартах с видеопамятью стандарта GDDR6, в частности на GeForce RTX3060 и RTX6000. Именно для RTX6000 и подобных моделей новые атаки наиболее актуальны, так как это промышленный видеоускоритель, часто используемый в облачных решениях с общим доступом к вычислительным ресурсам. Именно там перехват контроля над системой‑хостом со стороны клиента представляет наибольшую опасность.

Самая первая атака Rowhammer была впервые продемонстрирована в 2014 году в отношении модулей памяти DDR3. Возможность изменения данных в ячейках памяти при обращении к соседним рядам ячеек была известна и ранее, но именно 12 лет назад эту особенность применили для целевого изменения данных в оперативной памяти так, чтобы, например, создать условия для выполнения произвольного кода или похитить секретные данные. С тех пор были предложены как методы противодействия подобным атакам, так и способы их обхода. Последним достижением академических исследователей стала демонстрация атаки «класса» Rowhammer на новейшие модули памяти стандарта DDR5.

Читать далее

NAC: надежный страж корпоративной сети

4 hours 8 min ago

Современный арсенал средств защиты корпоративных сетей велик и разнообразен: межсетевые экраны нового поколения (NGFW), средства защиты веб-приложений (WAF), системы защиты от DDoS-атак, песочницы (Sandbox) и анализаторы сетевого трафика (NTA). Однако существует целый класс решений, которому, на наш взгляд, уделяется незаслуженно мало внимания, — это системы контроля и управления доступом к сети или NAC (Network Access Control).

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

Читать далее

Почему оценка «на глаз» убивает ИT-производство: опыт Диасофт в нормировании задач

4 hours 29 min ago

Привет, Хабр!

Я Денис Тимощук, руководитель направления «Управление командами и задачами» в Диасофт. В этой статье я расскажу, как нам удалось снизить время на выполнение типовых работ в 2 раза за первый год и превратить нормирование из бюрократической обузы в инструмент масштабирования эффективности.

Читать далее

СЗИ — средства защиты информации, своими словами

4 hours 34 min ago

Когда я только начинал в ИБ, я часами лазил по сайтам в попытках понять: а что вообще нужно знать новичку? Какими базовыми вещами должен владеть специалист по защите информации — будь то внутри контура организации или за его пределами.

Так я наткнулся на статьи про СЗИ — средства защиты информации. По сути, это тот самый инструментарий, с помощью которого специалист и строит защиту.

Думаю, выпущу несколько материалов, где своими словами разберу разные виды СЗИ. Для тех, кто только вникает в профессию, — чтобы было проще ориентироваться в этих штуках.

СПИСОК СЗИ ПРО КОТОРЫЕ Я РАССКАЗЫВАЮ В ЭТОЙ СТАТЬЕ:

1. Межсетевой экран (МЭ) — он же Firewall (англ.) или Brandmauer (нем.).

2. IDS/IPS — Intrusion Detection System / Intrusion Prevention System

3. DLP — Data Leak Prevention

4. SIEM — Security Information and Event Management

5. Sandbox — «песочница»

Межсетевой экран

Думаю, многие уже слышали о межсетевых экранах. Их называют по-разному: Firewall — с английского «огненная стена», или Brandmauer — с немецкого тоже «огненная стена». В общем как ни назови, он делает одно и то же — не дает нежелательному трафику проникнуть в сеть.

                        

Читать далее

Антифрод-системы: патентный анализ

4 hours 36 min ago

Антифрод — это комплекс мер, технологий и процессов, направленных на предотвращение, выявление и минимизацию ущерба от мошеннических действий. Простыми словами — это система, которая борется со злоумышленниками во всех ипостасях. Коллеги на Хабре недавно делали обзор по теме. Также рекомендуем ещё свежую аналитику за 2025 год.

А наша статья посвящена патентам и свидетельствам на антифрод‑системы в России и мире.

Читать далее

Логгер — это не про скорость: что действительно важно в дизайне

4 hours 38 min ago

Когда логирование попадает в реальную систему, довольно быстро становится понятно, что это не про API и не про удобство вызова. Это про постоянный компромисс.

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

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

Естественное желание — привязать лог не к месту вызова, а к самой задаче. Самый прямой путь — передавать контекст через параметры (например, инстанс логгера), но довольно быстро это начинает протекать через весь код и превращается в обязательный шум в сигнатурах. Гораздо более устойчивый подход — привязать контекст к потоку выполнения. В библиотеке logme это делается через thread channel:

Читать далее

Выпущена версия Jmix 2.8

4 hours 39 min ago

Мы рады сообщить о выпуске Jmix 2.8! В этом релизе мы продолжаем улучшать фреймворк и Studio, делая Jmix еще более надежной основой для корпоративной разработки. Jmix 2.8 также является LTS-релизом и будет получать бесплатную поддержку в течение трех лет.

Ниже приведен краткий обзор основных новых возможностей Jmix 2.8. Полный список изменений можно найти в разделе документации Что нового.

Читать далее

Who's online

There are currently 0 users and 1 guest online.