Аналитики «Лаборатории Касперского» обнаружили новую кампанию группировки Armored Likho (она же Eagle Werewolf). На этот раз атакующие нацелились на российские госструктуры, ИТ-компании, образовательные организации и частных пользователей. В арсенале группировки появился новый набор малвари Still Toolkit, который позволяет похищать данные из Telegram и вести скрытую прослушку через микрофон зараженного устройства.
Привет, хабарчане! Это четвертая статья про разработку RUSEON-core, Zero-Copy сервера потокового видео для AI-платформ и Edge-видеоинфраструктуры. В предыдущих статьях (первая, вторая, третья), были разобраны моменты с оптимизацией раздачи потоков при больших одновременных нагрузках, а также узкие места ОС в контексте потоковой записи на диск и реализация оптимизации HLS-мультиплексирования on-demand. Сегодня поговорим о кейсе с WebRTC и WHEP.FATAL: crypto/rand: blocked on getrandom() syscall и…
Раз вы открыли эту статью, вы наверняка со мной согласны: иногда TypeScript компилируется мучительно долго.С тем же самым столкнулся @_chenglou — крутой разработчик, на которого я равняюсь (он работал над React, Messenger, ReasonML и ReScript, а сейчас — над Midjourney и Pretext).А ещё он пользуется Sury — самой быстрой библиотекой валидации схем, которую я поддерживаю, — и завёл вот этот issue: “Large TS types cause type inference slowdown”.Ну… неприятно. Но я знал, что есть ArkType и что в си…
ВведениеВсем привет! Меня зовут Илья, я frontend‑разработчик.Но сегодня хочу поговорить не о JavaScript, а о терминале.Несмотря на то, что я уже много лет работаю разработчиком, активно пользоваться терминалом я начал всего около года назад. До этого терминал для меня был просто местом, где запускается сборка проекта, немного Git и иногда еще пара команд. Думаю, у многих так же.Обычно мысли о терминале вызывают ступор. Кажется, что это что‑то непонятное, черно‑зеленое и предназначенное только д…
ВведениеВ первой части мы заставили кнопку на веб-странице запустить локальный exe-файл. Обычная страница не может запускать программы на компьютере напрямую. Поэтому между ними появилось расширение Chrome, а локальная программа была зарегистрирована как Native Messaging Host.Native Messaging представляет собой механизм обмена сообщениями между расширением и локальной программой. Chrome запускает эту программу как отдельный процесс и связывает её с расширением через стандартные потоки ввода и в…
, и она потрясающая! Напоминаю, f4 — эксперимент по переписыванию Far Manager на go, чтобы сразу и кроссплатформенно и асинхронно и красиво.С красоты и начнём! На днях во фреймворк консольных интерфейсов vtui, который пишется под f4, добавлена поддержка Auto layout. Можно делать диалоги как у Apple! А чтобы это смотрелось красиво, предусмотрены две стратегии хинтинга: байткод, по аналогии с тем, как это сделано для рендеринга шрифтов у TrueType, и эвристики, как у FreeType. Для этого потребовал…
Привет, Хабр.Я frontend-разработчик и большую часть времени работаю с Vue и TypeScript. В последнее время мне стало интересно глубже разобраться с backend-разработкой, но делать для этого отдельный учебный CRUD-проект не хотелось. Я уже сделал свою первую игру и написал о ней в этой статье. Новая игра задумывалась уже сложнее по механикам и без серверной работы в ней было не обойтись. Таким образом серверную часть я решил добавить в свою новую игру — 3D-игру три в ряд с персонажами, способностя…
Введение16 июня 2026 года исследователи Checkmarx изучили кампанию ChainVeil, использовавшую npm-пакеты для распространения многоступенчатых JavaScript-загрузчиков. И как раз недавно одному из моих знакомых (не)посчастливилось получить один из ранее неизвестных экземпляров.Репозиторий с AI-агентом ему посоветовал... AI-агент. Да, отправной точкой заражения стала рекомендация от AI-помощника, а после клонирования репозитория и локального запуска антивирус прервал выполнение и классифицировал обн…
Стейт-менеджеров в JavaScript уже столько, что идея написать ещё один выглядит немного сомнительно. Есть Redux Toolkit, Zustand, MobX, Jotai, XState и десятки менее известных библиотек. Почти для любого способа хранить состояние уже существует готовое решение. Но все же в качестве эксперимента, решил реализовать свою идею.Изначально я не собирался делать ещё один store с методами getState, setState и subscribe.Меня интересовала другая проблема. Во многих приложениях изменение состояния является…