Методы выявления вредоносного кода совершенствуются, как и сам вредоносный код. Если в прежние времена антивирусные системы использовали сигнатурный анализ для выявления вирусов, то сейчас такого подхода уже явно недостаточно. Сейчас для проверки, является ли опасным тот или иной файл необходимо запустить его на выполнение и посмотреть, к каким именно компонентам ОС он обращается, что делает, не пытается ли прописаться в автозагрузку и т. д.
Для этого существуют специальные решения — так называемые песочницы. Здесь все достаточно просто. Для проверки файла создается экземпляр виртуальной машины, например под Windows 7, в которой уже установлены основные офисные приложения, Acrobat Reader, почтовый клиент, браузеры и прочее. Далее, специальные хуки перехватывают различные обращения, выполняемые тестируемым файлом и анализируют их. В результате обращения проверяемого файла к реестру, действия с другими файлами, использование библиотек и многое другое будет выявлено песочницей. Казалось бы sandbox является эффективным средством выявления вредоносного кода, но не все так просто. Дело в том, что поток проверяемых файлов даже в организации средних размеров может быть достаточно большим и мы не можем слишком долго проверять один файл. Как правило, продолжительность проверки длится от двух до пяти минут.
Этим и пользуются разработчики вредоносов. Они могут искусственно замедлить начало выполнения полезной нагрузки, то есть вредоносного кода для того, чтобы анализатор попросту не дождался и завершил анализ раньше с вердиктом, что файл безопасен.
Читать далееМы в Додо давно встраиваем SwiftUI в свою дизайн-систему, а сейчас тестируем обновлённую карточку продукта в приложении Додо Пиццы. В ней есть компонент, написанный на UIKit, — слайдер для выбора размеры пиццы с Segmented Control.
Мы решили его не исправлять, а написать новый компонент на SwiftUI. Но всё оказалось чуть сложнее, ведь при движении слайдера цвета сегментов компонента должны адаптироваться и под фон страницы, и под цвет текста.
Привет! Меня зовут Михаил Андреев. Я — iOS-разработчик в Додо Пицце. Сегодня мы научимся смешивать цвета.
Читать далееПрошли те времена, когда мы утопали в болоте логов, из которых не было понятно, почему сработали оповещения или произошёл сбой системы, и вообще мало что было понятно.
В этой статье мы собрали передовые приёмы логирования, которые превращают запись логов в эффективный, действенный и масштабируемый процесс.
Читать далееПривет, Хабр! В этой статье расскажем о гиперконвергенции и как ее можно реализовать разными путями в облаке. А также просто разберемся, чем она отличается от виртуализации с контейнерами. Для начала дадим определение гиперконвергенции, далее поговорим про OpenStack и VMware и затем перейдем к деталям реализации.
Читать далееПривет, Хабр! Я Дмитрий Новожилов, техлид в онлайн-кинотеатре KION. Сейчас в России 53 млн человек смотрят онлайн-кинотеатры, но принцип их работы остается загадкой не только для зрителей, но (иногда) и для разработчиков. И это действительно проблема. Если вы не говорите с людьми на одном языке, не оперируете одинаковыми терминами, то бывает довольно сложно не просто сформулировать задачу, а даже передать смысл разработки того или иного узла.
Чтобы быстро погружать членов своей команды в нашу профессиональную сферу, я подготовил много разных обзорных материалов о внешнем и внутреннем устройстве видеосервисов. В процессе я понял, что они могут быть полезны широкому кругу читателей. Иногда смотреть кино еще интереснее, если вы понимаете, что происходит по ту сторону экрана.
Итак, это первый текст из запланированного цикла. В нем я крупными мазками расскажу основные этапы, через которые изображение проходит от «стекла до стекла»: от камеры у кинооператора на съемочной площадке до вашего смартфона или телевизора.
Сразу оговорюсь, я не претендую на истину в последней инстанции. Есть много реализаций для любых из ниже описанных систем. Но существуют индустриальные стандарты, от которых я отталкиваюсь. Это как у транспортных средств: в них обязательно должны быть движитель и двигатель. Двигатель у автомобиля — его мотор, а движитель — колеса. Так и у онлайн-кинотеатров есть пять основных элементов, через которые проходит видеоряд. Одни из них интегрированы так, что их сложно рассмотреть раздельно, а вот другие выделяются достаточно четко. Про каждый из них мы поговорим в этом цикле статей. Но начнем с того, откуда вообще в онлайн-кинотеатрах берется контент.
Читать далееДенис Стаценко, руководитель отдела продуктового маркетинга C3D Labs, представляет новую разработку компании — полигональное ядро C3D PolyShaper — и рассказывает об истории ее создания, функционале и областях применения.
C3D PolyShaper — новая разработка компании C3D Labs, полигональное ядро, представляющее собой набор инструментов для редактирования, анализа и устранения дефектов полигональных объектов.
Рассмотрим предпосылки появления этого модуля.
Читать далееZoom оказался впереди в сравнительном тесте ИИ-помощников, который сам же и заказал. Рентабельность инвестиций в Microsoft Copilot для среднего и малого бизнеса оценили в диапазоне 132%-353% в зависимости от сценария. Новости из мира цифровых коммуникаций.
Читать далееОснователь компании Майк Чезарио также полагает, что нет смысла прогнозировать реакцию покупателей с помощью тестов и фокус-групп. Единственный способ узнать отклик на ту или иную рекламную кампанию — выпустить ее. Поэтому компания свободна в экспериментах.
Даже внешний вид Liquid Death уже выделяет его среди конкурентов. Когда покупатель заходит в супермаркет и среди огромного количества бутылок в синеватых тонах видит алюминиевые банки с черепами — это привлечет его взгляд.
Читать далееНе так давно на нашем канале вышло видео, в котором Георгий Власов рассказывал, как с помощью Amplicode можно сгенерировать CRUD Rest Controller сразу со всеми необходимыми методами.
Но создавать что-то с нуля нам приходиться не так часто, как модифицировать, улучшать и дополнять уже имеющийся код.
Команда Amplicode это прекрасно понимает и по этой причине в нашем инструменте есть возможность создавать как отдельные CRUD методы для контроллера, так и возможность делегировать методы в контроллер из уже существующих бинов. Благодаря этим фичам разработка API становится одной из простейших и приятнейших задач.
Давайте посмотрим как эти фичи выглядят на практике!
Читать далееПривет, Хабровчане!
Меня зовут Андрей Беляев, и я занимаюсь расширением возможностей организаций, внедряя ИИ-помощников.
Сегодня я расскажу, как наша R&D-лаборатория, «лампово» называемая «Гараж», исследовала потенциал больших языковых моделей, проверяла бизнес-гипотезы и технические решения и в итоге запустила процесс создания корпоративной экосистемы GenAI, а также технологической платформы в ее основе.
Читать далееПривет, меня зовут Александр Окороков, я основатель и генеральный директор ИТ-компании и автор медиа вАЙТИ. Мы помогаем заказчикам выстроить оптимальную стратегию принятия управленческих решений, чтобы эффективно использовать ресурсы и не терять деньги. Именно эту задачу решает data-driven-подход к принятию решений и управлению продуктом с опорой на данные.
Читать далееПривет, Хабр! AI инструменты широко используются в разработке и других сферах, казалось бы, что ещё можно в них улучшить или добавить? Всё зависит от предметной области, в области Business Intelligence при работе с языком запросов DAX актуальным может быть работа с мерами и создание новых мер. Рутинной задачей при этом является создание схемы данных и заполнение её данными для каждой меры, или можно использовать уже имеющуюся схему, однако при этом при переходе с одной схемы (где выполняются запросы) на другую приходится переименовывать таблицы и столбцы, сопоставлять типы данных и т. д. В связи с этим актуальным может быть инструмент для создания схемы данных для меры «на лету» и выполнения запроса с мерой, т. е. построение запроса и дашборда (концептуально, без форматирования) по мере «на лету».
В dax.do можно строить DAX запрос только для существующих схем, т. е. приходится тратить время на переименование полей и таблиц в DAX запросе при переносе написанного DAX‑запроса из dax.do.
В этой статье рассматривается решение такой проблемы — генерация схемы, связей, запроса и дашборда «на лету» (концептуально, по аналогии с отображением дашборда на основе DAX в dax.do), но только сугубо средствами AI, без реальных DAX движков. Надеюсь, такие инструменты или идеи могут быть полезны аналитикам и разработчикам для повседневной работы, если Вам интересен AI в DAX — добро пожаловать под кат:)
Читать далееРазберем, как настроить в Cursor (VS Code) привычные функции JetBrains PHPStorm. Множество описанных в статье функций носит общий характер и не привязано конкретно к PHP, так что будет актуально и для миграции из других продуктов Jetbrains.
Тем не менее, настроим полноценную поддержку php, xdebug, .env, yaml, symfony, git, перенесем хоткеи и тему оформления, поймем, как подключаться к БД и удаленному серверу. Будет небольшое личное сравнение IDE между собой. Функции Cursor затрагивать почти не будем.
Читать далееПривет, это снова Костя из Cloud.ru! В своих последних статьях я делился рецептами довольно сложных типов. Например, рассказывал, как преобразовывать ключи объектов из snake_case в camelCase. Давайте представим, что вы воспользовались одним из таких рецептов. Как его поддерживать? И что скажет ревьюер, увидев такой код?
Сегодня в меню не блюдо, а ложка — покажу, как можно надежно тестировать типы и не бояться их менять, если это нужно.
Взять ложкуAndroid 15 ворвался в наши жизни с новым усилением безопасности и удобством разработки. Сёрфер Полина, Android-разработчик в Surf, всё посмотрела, попробовала, проанализировала и теперь расскажет, что же там такого интересного.
Читать дальшеОбращение модератора. Уважаемые хабравчане, мы никогда не выпускаем вопросы и прочие односложные публикации. Однако конкретно такой запрос от детей и родителей поступает буквально 2-3 раза в месяц. Давайте накидаем в комментариях советов, ссылок, историй, ресурсов, - всего, что вы можете сказать по теме (очень желательно, без флуда). А мы потом ещё и соберём гайд из ваших рекомендаций, ссылку на который будет отправлять в ответах при отклонении запроса :-)
Давайте советовать в комментариях!
Обращаюсь ко всем участникам. Ребенок (9 класс) хочет углубленно заниматься информатикой, в школе профильный класс — 5 физики и 3 информатики в неделю. Как быть, хочу помочь, переживает, что теряет время на другие предметы, пытается самостоятельно изучать «питон», в школе Паскаль... Найти домашнего репетитора? Как его найти, что изучать?...Посоветуйте, куда пойти учиться дальше? Способности: память( учитель английского сказала ещё в начальной школе), выделяется порой по оценке за итоговые работы в классе, хоть и «В», но гимназия. Не отличник, но перфекционистом стал незаметно для меня. Русский, например, не учил, и не сказать, что учит — по пробнику ОГЭ теоретическая часть 5 получил.
Поможем вместе?Иногда хочется странного, но чаще ничего не хочется, а странного хочется кому-то другому. Вот и в этот раз появилась необходимость прицепить в pod кубера удалённую samba-шару с одного из виндовых серверов. Вызов брошен - вызов принят.
Читать далееПриветствую, Хабр! Хотелось бы этой статьей продолжить обзор нефинансовых применений блокчейн-технологий, начатый мной ранее на примере использования блокчейна для хранения идентификационных данных. Рассмотрим здесь существующие подходы по применению блокчейна в системах Интернета вещей различного назначения.
Казалось бы, между ресурсоемким по своей природе блокчейном и Интернетом вещей, построенном на использовании устройств с ограниченными ресурсами, лежит огромная пропасть. Однако многие из свойств блокчейна оказались настолько востребованными в Интернете вещей, что появилось целое направление блокчейн-технологий – низкоресурсный блокчейн (Lightweight Blockchain, LWB), в рамках которого было предложено множество подходов к созданию блокчейнов с пониженными требованиями к ресурсам и, следовательно, к их адаптации для реализации в системах Интернета вещей и, в частности, в устройствах с низкими вычислительными ресурсами.
Опишем далее, какие же свойства блокчейна оказались полезными для Интернета вещей, по каким направлениям идет создание низкоресурсных блокчейнов и как они впоследствии применяются.
Читать далееМы с ребятами решили сделать облако. Не такое облако, которое «переносите свои файлы в облако», и даже не такое, которое «разверните сайт у нас на CMS, домен — в подарок». А то, что приходит в голову при использовании слова «гиперскейлер».
Я, Андрей Халиуллин, отвечаю за разработку сервиса IAM (Identity and Access Management) новой облачной платформы MWS. Поскольку мы хотим вести по возможности открытый диалог с рынком и комьюнити, в какой-то момент я получил задачу перестать писать IAM и начать писать статью про то, как мы пишем IAM. Мне есть что рассказать про исследование рынка облачных провайдеров, reverse engineering продуктовых и технологических решений, про технические вызовы в части надёжности, масштабируемости и обуздания продуктовой сложности сервисов и даже про попытки осознать «А что такое IAM?».
После нескольких подходов к этой статье мне удалось немного пройтись по поверхности темы управления ресурсами в облаке — и так статья превратилась в идею цикла статей о разработке IAM.
Конкретно в этом тексте я сделаю некоторую подводку о том, зачем нужен IAM, и затем расскажу об уровнях ресурсной модели абстрактного облачного провайдера с комментариями, зачем каждый уровень нужен и что мы про это думаем в MWS. А дальше — следите за нашим хабом.
Читать далее