Undefined behavior (UB) — боль, знакомая каждому разработчику со стажем; эдакий «код Шредингера», когда не знаешь, правильно тот работает или нет. К счастью, стандарты языка С++20/23/26 привнесли относительно неопределенного поведения кое-что новое. И довольно важное, если вы — архитектор ПО, а «плюсы» — ключевой стек вашей компании (подробнее о том, как и почему мы в «Лаборатории Касперского» много используем С++, читайте здесь). В этой статье я со своих позиций Senior Software Architect и Se…
Девяностые были хоть и сложным периодом для страны, но игры хорошие всё же появлялись. Зарождалось такое явление, как «русский квест», образовывались новые студии. О том, каким был отечественный геймдев в нулевые — в этом материале. Хорошие игры было сложно делать. Не было денег, не было большого опыта в разработке. Зато был энтузиазм и любовь к своему делу. Благодаря таким качествам и появились первые отечественные тайтлы, ставшие успешными не только в России и на постсоветском пространстве.…
Хабр, привет! Я частенько пишу про работу CSS, его неизвестные возможности и влияние на доступность. Кажется, этих направлений мало для меня. Теперь я хочу показать техники вёрстки, используемые мной постоянно. Цель — поделиться опытом с вами. Я использую не только трюки известных экспертов, есть лично мои придумки. Но, пожалуйста, относитесь к этому контенту, как просто альтернативному мнению. Мои техники не являются единственными правильными решениями. Сегодня я расскажу: как избавиться от …
Всем привет! Меня зовут Ваня Ахлестин, я занимаюсь поддержкой и развитием аналитической платформы кластера Search&Recommendations на базе Spark и Hadoop. Большинство сервисов в хайлоаде, работу которых мы логируем и исследуем, давно переписаны на Go. Из-за этого часто необходимо переиспользовать логику сервиса внутри аналитического или ML-приложения на Spark. Как примеры такого кода можно взять расчёт скоров по сложному запросу или ранжирование айтемов для выдачи. Реимплементировать и подде…
React.js — это сейчас одна из самых популярных библиотек для создания современных веб-приложений. React славится гибкостью и богатством экосистемы. Одним из значительных достоинств этой экосистемы является Next.js — и то, как он успешно развивается. С этим фреймворком стало значительно удобнее разрабатывать приложения на основе React, их возможности расширились. В этой статье мы рассмотрим, как Next.js улучшил React, затронем его особенности, преимущества, и что из них вытекает. Что такое N…
Изначально эта статья задумывалась, как рассказ о различиях и назначении полей dependencies, devDependencies и peerDependencies в package.json. Эту тему выбрали ребята в моем телеграм-канале, кстати подписывайтесь, если еще не. Однако, когда я посмотрел количество контента на эту тему, то понял, что его достаточно даже в русском сегменте. При этом я прочитал одну статью, которая показалась мне очень хорошей, а также там были мысли на тему будущего управления зависимостями.В итоге, я решил кратк…
The Stacks blockchain implementation Stacks Blockchain Reference implementation of the Stacks blockchain in Rust. Stacks is a layer-2 blockchain that uses Bitcoin as a base layer for security and enables decentralized apps and predictable smart contracts using the Clarity language. Stacks implements Proof of Transfer (PoX) mining that anchors to Bitcoin security. Leader election happens at the Bitcoin blockchain and Stacks (STX) miners write new blocks on the separate Stacks blockch…
Специалисты Elastic обнаружили новую методику выполнения команд, получившую название GrimResource, которая использует специально подготовленные файлы MSC (Microsoft Saved Console) и неисправленную XSS-уязвимость в Windows для выполнения кода через Microsoft Management Console.
Специалисты FACCT обнаружили новую хак-группу, которая рассылает вредоносные письма российским организациям от имени разных компаний и министерств.