Социальные сети Рунета
Понедельник, 21 июня 2021

[Перевод] Подмена DLL (DLL hijacking) Всем привет. Прямо сейчас в OTUS открыт набор на апрельский запуск обновленного курса «Реверс-инжиниринг». В преддверии старта курса мы традиционно подготовили перевод интересного материала. В операционной системе Windows приложения и службы при запуске ищут DLL, необходим...

[Перевод] Побег из привилегированных Docker-контейнеров Перевод статьи подготовлен в преддверии старта курса «Пентест. Практика тестирования на проникновение». Привилегированные контейнеры Docker – это такие контейнеры, которые запускаются с флагом --privileged. В отличие от обычных контейнеров, эти контейнеры имеют root-доступ...

[Перевод] Простая интеграция RabbitMQ и Spring Boot Перевод статьи был подготовлен в преддверии старта курса «Разработчик на Spring Framework». Всем привет! Я хотел бы поделиться с вами библиотекой с открытым исходным кодом, которая облегчает интеграцию RabbitMQ с приложениями на Spring Boot. Кроме того, эта библиотека пре...

[Перевод] Юнит-тесты на Python: Быстрый старт Перевод статьи подготовлен специально для студентов курса «Python QA Engineer». Юнит-тестирование кода является неотъемлемой частью жизненного цикла разработки программного обеспечения. Юнит-тесты также формируют основу для проведения регрессионного тестирования, то есть о...

[Перевод] Знакомимся с методом обратного распространения ошибки Всем привет! Новогодние праздники подошли к концу, а это значит, что мы вновь готовы делиться с вами полезным материалом. Перевод данной статьи подготовлен в преддверии запуска нового потока по курсу «Алгоритмы для разработчиков». Поехали! Метод обратного распространени...

[Перевод] Введение в асинхронное программирование на Python Всем привет. Подготовили перевод интересной статьи в преддверии старта базового курса «Разработчик Python». Введение Асинхронное программирование – это вид параллельного программирования, в котором какая-либо единица работы может выполняться отдельно от основного потока в...

[Перевод] Анализ вредоносного кода Skeleton Key Перевод статьи подготовлен специально для студентов курса «Реверс-инжиниринг». Краткое содержание Исследователи Dell SecureWorks Counter Threat Unit (CTU) обнаружили вредоносное ПО, обходящее проверку подлинности в системах Active Directory (AD), в которых реализована одн...

[Перевод] Обработка сетевых данных на лету Перевод статьи подготовлен в преддверии старта курса «Пентест. Практика тестирования на проникновение». Аннотация Разнообразные виды оценки безопасности, начиная от регулярного тестирования на проникновение и операций Red Team до взлома IoT/ICS-устройств и SCADA, подразум...

[Перевод] Локализация в ASP.NET Core Razor Pages — Культуры Привет, хабр! Прямо сейчас OTUS открывает набор на новый поток курса "C# ASP.NET Core разработчик". В связи с этим традиционно делимся с вами полезным переводом и приглашаем записаться на день открытых дверей, в рамках которого можно будет подробно узнать о курсе, а также за...

[Перевод] Управление несколькими JDK в Mac OS, Linux и Windows WSL2 И снова здравствуйте. В преддверии старта курса «Разработчик Java» подготовили для вас перевод интересной статьи. Если вам, как и мне, приходится одновременно работать с несколькими проектами (как с легаси, так и с современными), а возможно, вы разрабатываете какую-то библ...

[Перевод] Как BigQuery от Google демократизировал анализ данных. Часть 1 Привет, Хабр! Прямо сейчас в OTUS открыт набор на новый поток курса «Data Engineer». В преддверии старта курса мы традиционно подготовили для вас перевод интересного материала. Каждый день более ста миллионов человек посещают Twitter, чтобы узнать, что происходит в мире, ...

[Перевод] Невероятная производительность ввода-вывода с параллельным Apache Parquet на Python В преддверии старта курса «Data Engineer» подготовили перевод небольшого, но интересного материала. В этой статье я расскажу о том, как Parquet сжимает большие наборы данных в маленький файл footprint, и как мы можем достичь пропускной способности, значительно превышающей ...

[Перевод] Навигация между представлениями с помощью @EnvironmentObject в SwiftUI Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик iOS». Здравствуйте и добро пожаловать на наш туториал! В этой серии мы говорим о том, как перемещаться между представлениями в SwiftUI (без использования навигационного представления!). Хоть эта...

[Перевод] В поисках единорогов: классическая воронка стартапов сломалась Перевод статьи подготовлен в преддверии старта курса «Product Manager IT-проектов». Согласно отчету Global Entrepreneur Monitor (GEM) за 2019 год, ежегодно во всем мире запускается более 100 миллионов стартапов. То есть это примерно 3 стартапа в секунду. Предприниматели по...

[Перевод] Проверка образов с помощью Gitlab CI/CD Всем привет, в преддверии старта курса «CI/CD на AWS, Azure и Gitlab» подготовили перевод интересного материала. В этой статье мы поговорим о том, как проверять образы контейнеров на платформе Gitlab CI/CD с помощью Sysdig Secure. Образы контейнеров, которые не соответст...

[Перевод] Представляем PyCaret: открытую low-code библиотеку машинного обучения на Python Всем привет. В преддверии старта курса «Нейронные сети на Python» подготовили для вас перевод еще одного интересного материала. Рады представить вам PyCaret – библиотеку машинного обучения с открытым исходным кодом на Python для обучения и развертывания моделей с учителем...

[Перевод] Полируем UI в Android: StateListAnimator Привет, Хабр! В преддверии старта курса «Android Developer. Professional» мы подготовили для вас перевод еще одного интересного материала. Большую часть времени разработки нашего Android-приложения мы тратим отнюдь не на работу над пользовательским интерфейсом — мы просто...

[Перевод] Оптимизация при помощи линейного поиска на Python Линейный поиск — это алгоритм оптимизации, который может использоваться для целевых функций с одной или несколькими переменными. Он предоставляет возможность использовать алгоритм одномерной оптимизации, например поиск методом деления пополам (бисекции) для многомерной целев...

[Перевод] Тестирование: назад к основам + [Puppeteer][Mocha] Совершенствуйте код с помощью тестового покрытия Перевод статьи подготовлен в преддверии старта курса «Автоматизация тестирования на JavaScript». Меня несколько раз спрашивали о разнице между инженером по обеспечению качества (QA — Quality Assurance) и тестером (QC — Quality Control), и я понял, что даже если люди, разра...

[Перевод] Сжатие ответов в GRPC для ASP.NET CORE 3.0 Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик». В этом эпизоде моей серии статей о gRPC и ASP.NET Core мы рассмотрим подключение функции сжатия ответов (response compression) служб gRPC. ПРИМЕЧАНИЕ: В этой статье я рассказываю о некото...

Group-IB рассказала о случаях взлома аккаунтов в Telegram при помощи перехвата SMS с кодом авторизации Таким способом злоумышленники могут получить доступ и к другим мессенджерам и сервисам без дополнительной защиты.

[Перевод] Простое ускорение Java с помощью Quarkus и JHipster К старту курса о разработке на Java делимся переводом вводной статьи о Quarkus — "родной" для Kubernetes Java-платформе для создания высокопроизводительных веб-, бессерверных (serverless) и нативных приложений (оптимизированных для используемых микропроцессоров). В ней испол...

[Перевод] Обнаружена новая вспышка H2Miner червей, которые эксплуатируют Redis RCE День назад один из серверов моего проекта был атакован подобным червем. В поисках ответа на вопрос «что же это было такое?» я нашел замечательную статью команды Alibaba Cloud Security. Поскольку я не нашел этот статьи на хабре, то решил перевести ее специально для вас <3 ...

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

Еще один [почти] неудаляемый троянец под Android В конце прошлого года с помощью функции обнаружения изменений в системной области у некоторых наших пользователей было зафиксировано изменение системного файла /system/lib/libc.so. Это одна из главных библиотек операционных систем на базе Linux, которая отвечает за системные...

[Перевод] Несколько полезных советов как практиковаться в Python Привет, Хабр! Сегодня я предлагаю Вам перевод статьи Duomly, посвящённой изучению и практике программирования на языке Python. Введение Изучение Python не сильно отличается от изучения других языков программирования. Один путь для становления профессионалом в Python (или в д...

WSL эксперименты. Часть 1 Привет, хабр! В октябре OTUS запускает новый поток курса «Безопасность Linux». В преддверии старта курса делимся с вами статьёй, которую написал один из наших преподавателей — Александр Колесников. В 2016 году компания Microsoft представила IT сообществу новую технологи...

[Перевод] Как QA-команда GitLab использует GitLab Performance Tool Перевод статьи подготовлен в преддверии старта курса «DevOps практики и инструменты». Мы запустили ряд инициатив по улучшению производительности GitLab и нам нужен был новый инструмент для бенчмарков. Тестирование производительности — это сложный процесс, отличающийся от...

[Перевод] Мои любимые трюки в JavaScript Приветствую. Представляю вашему вниманию перевод статьи «My Favorite JavaScript Tips and Tricks», опубликованной 28 июля 2020 года автором Tapas Adhikary Большинство языков программирования являются достаточно открытыми, чтобы предоставить разработчикам возможность делать о...

[Перевод] Использование VueJS вместе с Django Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Введение Сейчас я работаю над очень интересным проектом. И в нем все сложно, потому что сам проект очень масштабный, а я занимаюсь им один в свободное время, при этом работая полный рабочий ...

[Перевод] 6 советов по нагрузочному тестированию к Черной пятнице Перевод статьи подготовлен в преддверии старта нового курса от OTUS — «Нагрузочное тестирование». От автора: И хотя черная пятница не скоро, советы из этой статьи определенно будут полезны тем, кто занимается нагрузочным тестированием. Черная пятница приближается очень б...

[Из песочницы] Пять интересных способов использования Array.reduce() (и один скучный путь) Привет, Хабр! Представляю вашему вниманию перевод статьи "Five Interesting Ways to Use Array.reduce() (And One Boring Way)" автора Chris Ferdinandi. Из всех современных методов работы с массивами самым сложным из всех, что мне пришлось использовать, был Array.reduce(). На пе...

[Перевод] Создание зомби-шутера от третьего лица с помощью DOTS Салют, хабровчане. Как мы уже писали январь богат на новые запуски и сегодня мы анонсируем набор на новый курс от OTUS — «Разработчик игр на Unity». В преддверии старта курса делимся с вами переводом интересного материала. Мы пересобираем ядро Unity с помощью нашего стек...

[Перевод] Delta: Платформа синхронизации данных и обогащения В преддверии запуска нового потока по курсу «Data Engineer» подготовили перевод интересного материала. Обзор Мы поговорим о достаточно популярном паттерне, с помощью которого приложения используют несколько хранилищ данных, где каждое хранилище используется под свои цели,...

Безопасная загрузка в i.MX6 Безопасная загрузка в i.MX6 Разрабатывая любой проект для встроенных систем разработчик должен решать два дополнительных вопроса: Как защитить прошивку от подмены в изделии; Как защитить ПО от копирования. В данной статье описано как защитить процессор i.MX6 от подмены за...

[Перевод] Создаем Gatling скрипты с помощью VS Code Перевод статьи подготовлен в преддверии старта курса «Нагрузочное тестирование». Предисловие Недавно, благодаря комментарию одного из студентов, изучающих мой курс Gatling Fundamentals, я узнал о том, что вы можете создавать Gatling скрипты с помощью Visual Studio Code. Я,...

[Из песочницы] Unit тесты для RxSwift кода Привет, Хабр! Представляю вашему вниманию перевод статьи "Testing Your RxSwift Code" автора Shai Mishali с сайта raywenderlich.com. Написание реактивных приложений с помощью RxSwift концептуально отличается от написания приложений "обычным путем". Оно отл...

[Перевод] Распределенное обучение с Apache MXNet и Horovod Перевод статьи подготовлен в преддверии старта курса «Промышленный ML на больших данных» Распределенное обучение на нескольких высокопроизводительных вычислительных экземплярах может сократить время обучения современных глубоких нейронных сетей на большом объеме данных с не...

[Перевод] Автоматизация тестирования. Да или нет? Перевод статьи подготовлен в преддверии старта курса «Python QA Engineer». Прежде чем спрашивать: «Что автоматизировать?», нужно ответить на такой вопрос: «Рационально ли вообще автоматизировать что-либо в рамках текущего проекта?». Если ответ положительный (что означает...

[Перевод] Регрессионная спираль смерти Перевод статьи подготовлен в преддверии старта курса «Автоматизация тестирования на JavaScript» История, которая может показаться вам до боли знакомой: Вы работаете QA в небольшой команде разработчиков; сегодня утро четверга второй недели вашего двухнедельного спринта. У ва...

[Перевод] 7 способов повысить эффективность автоматизации тестирования в Agile разработке Перевод статьи подготовлен в преддверии старта курса «Java QA Engineer». Разработка программного обеспечения — процесс сложный. Еще на заре разработки программного обеспечения как дисциплины архитекторы поняли, что без структуры управления этот процесс превращается в хао...

Как я делал 2D тени в Unity Что первое приходит в голову разработчику инди-игры, когда он сталкивается с необходимостью добавления фичи, представления о реализации которой толком не имеет? Разумеется, он идёт искать следы тех, кто уже прошёл этот путь и удосужился записать свой опыт. Так поступил и я н...

[Из песочницы] Повысьте производительность SPA, разбив ваши библиотеки Angular на несколько частей Привет, Хабр! Представляю Вашему вниманию перевод статьи «Improve SPA performance by splitting your Angular libraries in multiple chunks» автора Kevin Kreuzer. Angular — отличный фреймворк. Мы все его любим <3. Одна из вещей, которая делает Angular успешным и прекрасным в...

[Перевод] Как SQL Server использует bitmap-фильтры Перевод статьи подготовлен в преддверии старта курса «MS SQL Server Developer». Может ли запрос, выполняющийся параллельно, использовать меньше CPU и выполняться быстрее, чем такой же запрос, выполняющийся последовательно? Да! Для демонстрации я буду использовать две та...

[Перевод] Как искусственный интеллект научили решать диффуры Сегодня, в преддверии старта нового потока курса «Математика и Machine Learning для Data Science», делимся с вами полезным переводом статьи из MIT Technology Review о том, как исследователи Колтеха научили ИИ решать дифференциальные уравнения частных производных, зачем это н...

[Перевод] Представляем программируемую AWS Landing Zone в модуле Terraform Всем привет! В декабре OTUS запускает новый курс — Cloud Solution Architecture. В преддверии старта данного курса делимся с вами переводом интересного материала по теме. AWS Landing Zone – это решение, которое помогает клиентам быстро настроить безопасную среду AWS с не...

[Перевод] Man-in-the-Middle: советы по обнаружению и предотвращению Атака «человек посередине» (Man-in-the-Middle) — это форма кибератаки, при которой для перехвата данных используются методы, позволяющие внедриться в существующее подключение или процесс связи. Злоумышленник может быть пассивным слушателем в вашем разговоре, незаметно крад...

[Перевод] Как создать свою собственную библиотеку AutoML в Python с нуля Библиотеки и сервисы AutoML вошли в мир машинного обучения. Для дата-сайентиста это очень полезные инструменты, но иногда они должны быть адаптированы к потребностям бизнес-контекста, в котором работает дата-сайентист. Вот почему вам нужно создать свою собственную библиотеку...

[Перевод] 5 HTML-трюков, о которых никто не говорит Все веб-разработчики широко используют HTML, независимо от того, какой фреймворк или серверный язык используется. Фреймворки и языки программирования могут приходить и уходить, но HTML никуда не денется. Но, несмотря на такое широкое использование, всё ещё есть теги и свойст...

Идеальный инструмент для создания прогрессивных веб-приложений или Все, что вы хотели знать о Workbox. Часть 1 Что такое Workbox? Workbox (далее — WB) — это библиотека (точнее, набор библиотек), основной целью которой является "предоставление лучших практик и избавление от шаблонного кода при работе с сервис-воркерами" (далее — СВ). Если вы впервые слышите о СВ, то перед и...

[Из песочницы] Актуальные библиотеки визуализации данных для react-разработчиков Привет, Хабр! Представляю вашему вниманию перевод статьи «Data Visualization Libraries for React Developers in 2019» автора Veronika Rovnik. Вот уже несколько лет подряд React не сдаёт позиции и входит в тройку самых любимых библиотек профессиональных разработчиков по всему...

[Перевод] Как мы создали вкладку WebAuthn в Chrome DevTools Сегодня, в преддверии старта нового потока курса по JavaScript, делимся с вами полезным переводом статьи о том, как разрабатывалась вкладка WebAuthn в Chrome DevTools, какие решения принимались и почему, с какой проблемой столкнулись разработчики. Приятного чтения!

[Перевод] Cloudflare PHP API Binding Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP». Для тех разработчиков, которые используют PHP 7.0 или выше, Cloudflare предоставляет PHP API биндинг. Он поддерживает последнюю четвертую версию API Cloudflare. Вы можете использовать этот S...

[Перевод] useSWR – моя новая любимая библиотека React Перевод статьи подготовлен в преддверии старта курса «React.js разработчик». Последние несколько месяцев я работаю над приложением на NextJS. С каждой неделей оно становится все больше и больше. В приложении используется axios для вызовов API и unstated-next для управлени...

[Перевод] Что нового в C# 9.0 В преддверии старта нового потока курса «C#-разработчик» представляем вашему вниманию обзор нововведений. Среди них — новый метод доступа к свойству — init, не позволяющий изменять свойства после инициализации, with-выражения для изменения свойств объекта прямо здесь и сейча...

Ищем цепочку событий в потоке данных с помощью FlinkCEP В данной статье речь пойдет об использовании открытой платформы Apache Flink для обнаружения цепочки последовательности событий. Статья подойдет как для начинающих разработчиков в области обработки потоковых данных, так и для тех, кто желает познакомиться с Apache Flink. Н...

[Перевод] Производитель/потребитель на Kafka и Kotlin Перевод статьи подготовлен в преддверии старта курса «Backend-разработка на Kotlin» В этой статье мы поговорим о том, как создать простое приложение на Spring Boot с Kafka и Kotlin. Читать дальше →

[Перевод] Укрепите свои agile-команды, используя стадии развития Такмена И снова здравствуйте. В преддверии старта курса «DevOps практики и инструменты» делимся с вами переводом еще одного интересного материала. Изолированность команд разработки и сопровождения — распространенный источник напряженности и узких мест. Когда команды работают изоли...

Идеальный инструмент для создания прогрессивных веб-приложений или Все, что вы хотели знать о Workbox. Часть 2 Что такое Workbox? Workbox (далее — WB) — это библиотека (точнее, набор библиотек), основной целью которой является "предоставление лучших практик и избавление от шаблонного кода при работе с сервис-воркерами" (далее — СВ). Если вы впервые слышите о СВ, то перед и...

Автоматизация тестирования: Java или Python? Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear. Один из самых попу...

[Перевод] Зачем, когда и как использовать multithreading и multiprocessing в Python Салют, хабровчане. Прямо сейчас в OTUS открыт набор на курс «Machine Learning», в связи с этим мы перевели для вас одну очень интересную «сказочку». Поехали. Давным-давно, в далекой-далекой галактике… Жил в маленькой деревушке посреди пустыни мудрый и могущественный волш...

[Перевод] Идентификация зараженных людей с помощью пересечения GPS-треков В преддверии старта курса «PostgreSQL» подготовили перевод интересной статьи. Во времена пандемии COVID-19 правительства предусматривают жесткие меры по выявлению и отслеживанию инфицированных людей. Эти меры включают использование данных мобильных телефонов для отслеживан...

[Перевод] Развертывание интерактивных визуализаций данных в реальном времени на Flask и Bokeh Сегодня, в преддверии старта нового потока курса «Python для веб-разработки», делимся с вами полезным переводом статьи о небольшой интерактивной визуализации, для исследований данных о фильмах. Автор использует не только Flask и Bokeh, но и задействуя бесплатную облачную п...

[Перевод] Как искусственный интеллект борется с вредителями Сегодня, в преддверии старта набора на новый поток курса «Machine Learning», делимся с вами переводом поста из блога PyTorch, в котором рассказывается о работе ИИ для борьбы с вредителями, который анализирует ситуацию по фотографиям феромоновых ловушек в условиях индийской г...

[Перевод] RPA + Машинное обучение = Интеллектуальная Автоматизация Салют, хабровчане! В марте OTUS запускает новый курс «Разработчик программных роботов (RPA) на базе UiPath и PIX». В преддверии старта курса мы перевели для вас полезный материал о том, что будет, если интегрировать RPA в машинное обучение. Роботизированная автоматизаци...

[Перевод] Как увеличить удержание в игре при помощи коллабораций Все мы знаем, что для достижения успеха мобильному проекту F2P необходимо грамотное оперирование live-ops. Иными словами, вам необходимо обеспечивать своих игроков непрерывным потоком качественного контента. Игровые ивенты привлекают внимание игроков и стимулируют FOMO — ...

[Перевод] Loki — сбор логов, используя подход Prometheus Салют, хабровчане! В преддверии старта нового набора на курс «DevOps практики и инструменты» подготовили для вас перевод интересного материала. Эта статья — краткое введение в Loki. Проект Loki поддерживается Grafana и направлен на централизованный сбор логов (с серверов ил...

[Перевод] Тактика Red Team: продвинутые методы мониторинга процессов в наступательных операциях И снова здравствуйте. В преддверии старта курса «Пентест. Практика тестирования на проникновение» перевели для вас еще один интересный материал. В этой статье мы собираемся разобраться в возможностях широко известных утилит мониторинга процессов и продемонстрировать, как ...

[Перевод] Sktime: унифицированная библиотека Python для машинного обучения и работы с временными рядами Всем привет. В преддверии старта базового и продвинутого курсов «Математика для Data Science», мы подготовили перевод еще одного интересного материала. Решение задач из области data science на Python – это непросто Почему? Существующие инструменты плохо подходят для реше...

[Перевод] Шифрование в MySQL: хранилище ключей В преддверии старта нового набора на курс «Базы данных» подготовили для вас перевод полезной статьи. Прозрачное шифрование данных (Transparent Data Encryption, TDE) появилось в Percona Server for MySQL и MySQL довольно давно. Но задумывались ли вы когда-нибудь о том, как о...

Архитектура плагинов в приложениях Angular Концепция плагинов всегда была популярной и продуктивной в области разработки программного обеспечения. Масштабируемость и возможность коллективной разработки необходимы для приложений уровня предприятия, когда каждая команда разработчиков может представлять своё направление...

Отладка Makefile /часть 1/ Отладка makefile - это что-то из черной магии. К несчастью, не существует такой вещи как makefile отладчик, чтобы изучить ход выполнения конкретного правила или как разворачивается переменная. Большую часть отладки можно выполнить с помощью обычных print’ов и проверкой makef...

[Перевод] Вокенизация — новый прорыв в области здравого смысла ИИ? В преддверии старта нового потока курса «Machine Learning Pro + Deep Learning», делимся с вами статьей о вокенизации — новом методе на основе неконтролируемого обучения, который позволяет масштабировать современные небольшие визуально-языковые наборы данных, подобные MS COC...

[Перевод] Лучшие практики повышения производительности в C# Всем привет. Мы подготовили перевод еще одного полезного материала в преддверии старта курса «Разработчик С#». Приятного прочтения. Поскольку недавно мне довелось составлять список лучших практик в C# для Criteo, я подумал, что было бы неплохо поделиться им публично. Цель ...

[Из песочницы] Эффект доверенного просмотра против атаки «Man In Device» Привет, Хабр. Вы не задумывались о таком обстоятельстве, что век пользовательской криптографии безвозвратно уходит. Нет, я не о том, что шифрование мессенджеров и криптовалюты сегодня в опале. Я о старом добром ДБО, проще говоря о системах банк-клиент. Еще каких-то 10 лет ...

Автоматизация Для Самых Маленьких. Заметки. RESTful API Эта статья — одна из обещанных коротких заметок по ходу цикла статей Автоматизация Для Самых Маленьких. Поскольку основным способом взаимодействия с IPAM-системой будет RESTful API, я решил рассказать о нём отдельно. Воздаю хвалы архитекторам современного мира — у нас ест...

Перехват и обработка событий в файловой системе Linux В предыдущей статье мы рассмотрели сборку и установку пакета на Linux системах, в которой упомянули про Linux Kernel Module (LKM) и обещали раскрыть позднее подробности о пути к нему и его создании. Ну что ж, настало его время. LKM – мы выбираем тебя. Читать далее

В Сеть слили данные более 20 млн пользователей популярных VPN-сервисов Как сообщает «Коммерсантъ», злоумышленники выставили на продажи базу данных 21 млн пользователей бесплатных VPN-сервисов GeckoVPN, SuperVPN и ChatVPN для операционной системы Android. В базе данных оказались адреса электронной почты, пароли и логины пользова...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

В Firefox появится защита от автоматической загрузки вредоносных файлов В октябре этого года разработчики Mozilla добавят в свой браузер Firefox новую функцию безопасности, препятствующую автоматической загрузке и установке вредоносного ПО с веб-сайтов. Начиная с Firefox 82, обозреватель будет блокировать все загрузки файлов, выполняемые из изол...

[Перевод] Алгоритм сжатия Хаффмана В преддверии старта курса «Алгоритмы для разработчиков» подготовили для вас перевод еще одного полезного материала. Кодирование Хаффмана – это алгоритм сжатия данных, который формулирует основную идею сжатия файлов. В этой статье мы будем говорить о кодировании фиксирован...

[Перевод] Распознавание мелодии путем изучения языка тела музыканта Перевод статьи подготовлен в преддверии старта нового набора на курс «Computer vision». Инструмент распознавания музыкальных жестов на основе искусственного интеллекта, разработанный в MIT-IBM Watson AI Lab, использует движения тела, чтобы различать звуки отдельных музык...

[Перевод] Антипаттерн “Репозиторий” в Android Перевод статьи подготовлен в преддверии старта курса «Android Developer. Professional». Официальное руководство по архитектуре приложений Android рекомендует использовать классы репозитории (Repository) для «предоставления чистого API, чтобы остальная часть приложения мог...

[Перевод] Лучшие инструменты с открытым исходным кодом и библиотеки для Deep Learning — ICLR 2020 Experiencebi Сложно найти на Хабре человека, который не слышал бы про нейронные сети. Регулярные новости о свежих достижениях нейронных сетей заставляют удивляться широкую публику, а также привлекают новых энтузиастов и исследователей. Привлеченный поток специалистов способствует не толь...

[Перевод] Как протестировать блокноты Jupyter с помощью pytest и nbmake Файлы блокнотов Jupyter, в смысле количества одного из самых быстрорастущих типов файлов на Github, предоставляют простой интерфейс для итераций при решении визуальных задач, будь то анализ наборов данных или написание документов с большим объёмом кода. Однако популярность б...

Банковский троян Dridex впервые в топе самого активного вредоносного ПО Dridex - это сложная разновидность банковского вредоносного ПО, которая поражает операционную систему Windows. Рост активности произошел после нескольких спам-рассылок, которые содержали вредоносное вложение Excel. Атаки нацелены на кражу персональных данных пользователей, а...

[Перевод] Минимизируем наложение лейблов в интерактивных визуализациях Перевод статьи подготовлен в преддверии старта курса «Промышленный ML на больших данных». Интересно развиваться в данном направлении? Смотрите записи трансляций бесплатных онлайн-мероприятий: «День Открытых Дверей», «Вывод ML моделей в промышленную среду на примере онлайн-ре...

Windows, у нас проблемы! Microsoft предупреждает об уязвимостях Вчера Microsoft предупредила пользователей Windows (коих уже более миллиарда), о том, что хакеры активно используют две критические уязвимости нулевого дня. Это может позволить злоумышленникам получить полный контроль над компьютерами. Согласно рекомендациям по безопасности,...

[Перевод] Управление жестами: От края до края (I) Всем привет. Специально для студентов продвинутого курса по Android-разработке подготовили перевод интересной статьи. Это первая статья их серии «Управление Жестами». Другие статьи вы можете найти по ссылке. В Android Q был добавлен новый режим навигации по системе, п...

Cекс-игрушки вошли в тренды киберугроз 2021 года. Возможен не только перехват управления, но и доступ к фото и видео Специализирующаяся на кибербезопасности компания ESET опубликовала отчет о трендах кибербезопасности 2021 года. И в дополнение к уже вполне понятным и привычным угрозам вроде программ-вымогателей, особое внимание эксперты уделили угрозе утечки данных через цифровые секс...

[Перевод] Как устранить слепые зоны с помощью визуального тестирования Перевод статьи подготовлен в преддверии старта курса «Python QA Engineer». Визуальные ошибки – это ошибки в представлении приложения. Они появляются на протяжении всего времени жизни приложения, и очень часто всплывают, когда приложение отображается на экранах мобильных у...

[Перевод] Предсказание стоимости биткоина по новостям на Python Перевод статьи подготовлен в преддверии старта курса «Machine Learning» от OTUS. Задача В этом руководстве мы используем датасет Bitcoin vs USD. Вышеприведенный датасет содержит ежедневную сводку цен, где колонка CHANGE – это изменение цены в процентах от цены за п...

Книга «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.» Привет, Хаброжители! Мы выпустили третью версию #1 Best Seller in Python Programming Amazon — популярного в мире руководства по языку Python. Вы сможете не только максимально быстро его освоить, но и научитесь писать программы, устранять ошибки и создавать работающие прило...

Гитхабификация Информационной Безопасности Гитхабификация Информационной Безопасности На пути к открытой, независимой от производителя и приветствующей вклад сообщества модели для ускорения обучения в сфере Информационной Безопасности 8 декабря 2019 года Джон Ламберт (John Lambert), JohnLaTwC, Distinguished Engineer,...

[Перевод] Как создать сервер PostgreSQL на Google Cloud Platform SQL Перевод статьи подготовлен в преддверии старта курса «PostgreSQL». Введение В этой статье я познакомлю вас с GCP SQL и покажу как создать в этом сервисе сервер PostgreSQL. Читать дальше →

[Перевод] Инъекция секретов из Vault в поды используя сайдкары Kubernetes Мы рады объявить о новой интеграции Kubernetes, которая позволяет приложениям без встроенной в HashiCorp Vault нативной логики использовать статические и динамические секреты, получаемые из Vault. Она основана на новом инструменте под названием vault-k8s, который использует ...

[Перевод] Terraform, моно-репозитории и compliance as code Всем привет. OTUS открыл набор в новую группу по курсу «Инфраструктурная платформа на основе Kubernetes», в связи с этим мы подготовили перевод интересного материала по теме. Возможно, вы один из тех, кто использует terraform для Infrastructure as a Code, и вам интересно...

Почта Mail.ru начинает в тестовом режиме применять политики MTA-STS Если кратко, то MTA-STS — это способ дополнительно защитить письма от перехвата (т.е. атак злоумышленник-в-середине aka MitM) при передаче между почтовыми серверами, который частично решает унаследованные архитектурные проблемы протоколов электронной почты, он описан в отн...

[Из песочницы] Регистрация и авторизация с помощью Spring Security на примере простого приложения Добрый день! В этой статье будет рассмотрено создание простого веб приложения с использованием Spring Boot и Spring Security. В приложении будет реализована регистрация новых пользователей и авторизация, ограничение доступа к страницам сайта в зависимости от роли пользовате...

[Перевод] Что же такого особенного в IAsyncEnumerable в .NET Core 3.0? Перевод статьи подготовлен в преддверии старта курса «Разработчик C#». Одной из наиболее важных функций .NET Core 3.0 и C# 8.0 стал новый IAsyncEnumerable<T> (он же асинхронный поток). Но что в нем такого особенного? Что же мы можем сделать теперь, что было невозмо...

[Перевод] Аутентификация REST API с помощью Spring Security и MongoDB Всем привет! Уходя на выходные делимся с вами статьей, которая была переведена в преддверии старта курса «Разработчик на Spring Framework». В прошлых статьях мы создавали RESTful веб-сервис, теперь же мы поговорим о безопасности Вступление В предыдущем посте мы рассмотр...

[Перевод] Первые впечатления от Amazon Neptune Салют, хабровчане. В преддверии старта курса «AWS для разработчиков» подготовили перевод интересного материала. Во многих юзкейсах, которые мы, как bakdata, видим на сайтах наших клиентов, релевантная информация сокрыта в связях между сущностями, например, при анализе от...

Multifactor — российская система многофакторной аутентификации Долгое время считалось, что классический метод аутентификации, основанный на комбинации логина и пароля, весьма надёжен. Однако сейчас утверждать такое уже не представляется возможным. Всё дело — в человеческом факторе и наличии у злоумышленников больших возможностей по «уго...

[Перевод] Автоматизация тестирования приложений Salesforce Если вы когда-либо пробовали использовать Selenium для автоматизации тестирования приложения Salesforce, вы, вероятно, знаете, насколько это непросто.Selenium — это потрясающий инструмент для автоматизации тестирования браузерных приложений. Однако приложения Salesforce...

[Перевод] Почему я разочаровался в хуках Перевод статьи подготовлен в преддверии старта курса «React.js Developer». Чем полезны хуки? Прежде чем я расскажу, в чем и почему разочаровался, я хочу официально заявить, что, вообще-то, я фанат хуков. Я часто слышу, что хуки создали для замены классовых компонентов. К ...

[Перевод] Прожектор угроз: Файловый вирус Neshta Салют, хабровчане! В преддверии старта курса «Реверс-инжиниринг 2.0» хотим поделиться с вами еще одним интересным переводом. Краткий обзор Neshta — довольно старый файловый вирус, который до сих пор широко распространен. Изначально он был обнаружен в 2003 году и ранее ассо...

Реализация концепции высокозащищенного удаленного доступа Продолжая серию статьей по теме организации Remote-Access VPN доступа не могу не поделиться интересным опытом развертывания высокозащищенной конфигурации VPN. Задачу нетривиальную подкинул один заказчик (есть выдумщики в Русских селениях), но Challenge Accepted и творчески р...

Microsoft выпустила Xbox May 2021 Update Компания Microsoft выпустила Xbox May 2021 Update. Во-первых, одно из наиболее заметных улучшений - быстрое возобновление, функция, доступная только на Xbox Series X|S. Эта функция позволяет пользователям быстро переключаться между разными играми, не заставляя их загружаться...

Microsoft расширяет возможности Windows 10 PowerToys с помощью нового диспетчера подключаемых модулей Microsoft PowerToys – набор полезных инструментов и утилит для Windows 10, который скоро получит еще одно большое обновление. Согласно дорожной карте, Microsoft работает над новым диспетчером подключаемых модулей для PowerToys Run, который является средством запуска приложен...

[Перевод] Сделайте свое приложение масштабируемым, оптимизировав производительность ORM Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP». Привет! Я Валерио, разработчик из Италии и технический директор платформы Inspector.dev. В этой статье я поделюсь набором стратегий оптимизации ORM, которые я использую, разрабатывая серв...

Москвич потерял более 700 тысяч рублей в биткоинах из-за подмены SIM-карты Житель Москвы обратился в полицию из-за хищения криптовалюты, совершенного через подмену SIM-карты. Об этом сообщает Агентство городских новостей «Москва» со ссылкой на пресс-службу ГУ МВД России по российской столице. По словам пострадавшего, неизвестный заменил S...

Динамический лут в играх: что стоит учитывать Люди всех возрастов любят азарт, будь то Kinder Surprise, блэкджек или компьютерные игры. Представьте, у вас в игре есть две коробки: на одной написано "Вы получите 100 монет", а на второй — “Вы получите 50-1000 монет”. Сразу понятно, вокруг какой из коробок буде...

Установка УТМ 4.x на АТОЛ-HUB20 Установка УТМ 4.x на АТОЛ-HUB20.В январе 2021 года компания АТОЛ прекратила развитие проекта «HUB-УТМ». На сайте появилась прошивка для Атол-Hub20 с возможностью установки УТМ 4.x , но УТМ не стартует. Запускаем УТМ4 путем подмены бинарников и библиотек Java и библиотеки PKC...

Пытавшегося ограбить Дона и Алекса Тапскоттов подростка обвинили в мошенничестве на $50 млн Прокуратура Монреаля предъявила 18-летнему хакеру Сэми Бенсаки четыре уголовных обвинения в мошенничестве на $50 млн в криптовалюте, совершенном при помощи подмены SIM-карт. Об этом сообщают местные СМИ. В обвинительном заключении сказано, что Бенсаки состоял в банде, грабив...

[Перевод] Великий раскол в import: проясняем неопределенность с импортом в Typescript Перевод статьи подготовлен в преддверии старта курса «Разработчик React.js» Я довольно долго работаю с typescript, и у меня было много проблем с тем, чтобы разобраться с его модулями и советующими настройками, и должен сказать, вокруг них и вправду много непонятного. Прос...

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

[Перевод] Конференция DEFCON 27. Инструмент для взлома беспроводных сетей WiFi Kraken Даррен Китчен: Добрый день, мы находимся в кулуарах конференции DefCon у павильона хакерской группы Hack 5, и я хочу представить одного из самых любимых мною хакеров, DarkMatter, с его новой разработкой под названием WiFi Kraken. В последний раз, когда мы встретились, у ...

[Перевод] Безопасная работа с секретами при сборке в Docker Compose Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Когда вы собираете Docker-образ вам могут понадобиться секреты, например, пароль к приватному репозиторию пакетов. Вы не хотите, чтобы этот секрет в конечном итоге оказался в образе, потому ...

[Перевод] О реализации библиотеки для глубокого обучения на Python Технологии глубокого обучения за короткий срок прошли большой путь развития — от простых нейронных сетей до достаточно сложных архитектур. Для поддержки быстрого распространения этих технологий были разработаны различные библиотеки и платформы глубокого обучения. Одна из осн...

[Перевод] Тенденции тестирования, к которым стоит присмотреться в 2020 году Салют, хабровчане. В преддверии старта курса «Mobile QA Engineer 2.0» мы подготовили для вас перевод еще одного материала о тенденциях тестирования в 2020 году. Сфера тестирования программного обеспечения развивается день за днем. Мы наблюдаем развитие тенденций, которые ...

Считывание защищенной прошивки из флеш-памяти STM32F1xx с использованием ChipWhisperer В предыдущей статье мы разбирались с Vcc-glitch-атаками при помощи ChipWhisperer. Нашей дальнейшей целью стало поэтапное изучение процесса считывания защищенной прошивки микроконтроллеров. С помощью подобных атак злоумышленник может получить доступ ко всем паролям устройст...

[Перевод] Устранение узких мест в PostgreSQL при высоких нагрузках Всем привет. Прямо сейчас в OTUS открыт набор на новый поток курса «PostgreSQL». В связи с этим, мы традиционно подготовили для вас перевод полезного материала по теме. Взяв за основу статью Петра Зайцева об узких местах в производительности MySQL (MySQL Performance Bottle...

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

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

Как подменить номер на iPhone. Тоже в тему дня   Иногда возникает необходимость изменить свой номер, чтобы собеседник его не узнал. Причины у всех разные, поэтому не будем их рассматривать. Наша задача – рассказать обо всех способах подмены номера на iPhone. Для начала разберёмся, как работает подмена номера. ...

Пошаговое руководство по настройке Laravel 6 в Google Cloud Run с непрерывной интеграцией Всем привет! В преддверии старта курсов «Framework Laravel» и «Backend-разработчик на PHP», продолжаем делиться интересным материалом по теме. Поехали. За последние несколько лет популярность Laravel резко возросла. Сообщество Laravel даже придерживается мнения, что Larave...

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

[Перевод] Понимаем и ищем уязвимости типа Open Redirect Перевод статьи подготовлен в преддверии старта курса «Безопасность веб-приложений». Одной из наиболее распространенных и тем не менее игнорируемых веб-разработчиками уязвимостей является Open Redirect (также известная как «Непроверенные переадресации и пересылки»). Веб-са...

Мониторинг кластера Kubernetes: общий обзор и знакомство с Prometheus Рассмотрим концепцию мониторинга Kubernetes, познакомимся с инструментом Prometheus, поговорим про алёртинг. Тема мониторинга объёмная, за одну статью её не разобрать. Цель этого текста — дать обзорное представление по инструментарию, концепциям и подходам. Материал статьи —...

[Перевод] Руководство по Node.js для начинающих. Часть 1 Доброго времени суток, друзья! Представляю Вашему вниманию перевод этого руководства по Node.js. Введение в Node.js Node.js — это открытая и кроссплатформенная среда выполнения JavaScript. Это отличное решение почти для любого проекта. Node.js запускает «движок» Java...

[Перевод] Продуктовые стратегии для затрат перехода Перевод статьи подготовлен в преддверии старта курса «Product Manager IT-проектов». В своей предыдущей статье мы говорили о трех категориях затрат перехода: финансовых, процедурных и реляционных. Как можно использовать затраты перехода, чтобы повысить ценность вашего прод...

Чип безопасности Apple T2 опасен? В нём обнаружена уязвимость, присущая всем соответствующим ПК Apple Apple уже достаточно давно добавляет в свои ПК выделенные чипы безопасности. Сейчас актуальным является Apple T2. На него завязано немало аппаратных и программных функций, связанных с безопасностью. И очень занятно узнать, что в этом чипе обнаружили уязвимость, которая...

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

[Перевод] Создание масштабируемой и отказоустойчивой архитектуры с помощью динамических микросервисов И снова здравствуйте. Как вы знаете, в марте OTUS запускает абсолютно новый курс «Архитектура и шаблоны проектирования». В преддверии старта курса перевели для вас большой материал про Создание масштабируемой и отказоустойчивой архитектуры с помощью динамических микросервисо...

[Перевод] REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1 Перевод статьи подготовлен в преддверии старта курса «Symfony Framework». В первой части статьи мы рассмотрим самый простой способ реализации REST API в проекте Symfony без использования FosRestBundle. Во второй части, которую я опубликую следом, мы рассмотрим JWT аутентиф...

[Перевод] Управление жестами: Обработка визуальных перекрытий. Часть 2 В преддверии старта продвинутого курса по Android-разработке продолжаем делиться с вами серией полезных переводов. Вы читаете вторую статью из серии об управлении жестами. Первую часть вы можете найти здесь. В первой части серии мы узнали, как расположить ваше приложение ...

Как подружить PyTorch и C++. Используем TorchScript Около года назад разработчики PyTorch представили сообществу TorchScript — инструмент, который позволяет с помощью пары строк кода и нескольких щелчков мыши сделать из пайплайна на питоне отчуждаемое решение, которое можно встроить в систему на C++. Ниже я делюсь опытом его ...

[Перевод] Файловые разрешения в Linux Всем привет. Мы активно вливаемся в работу и уже в январе готовим много мощных запусков. Среди прочих, объявлен набор на новый поток полюбившегося всем курса «Администратор Linux». В преддверии запуска традиционно делимся переводом полезного материала. Файловые разрешения...

[Перевод] Асинхронные задания в Django с Celery Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Если в вашем приложении есть какой-то длительный процесс, вы можете обрабатывать его не в стандартном потоке запросов/ответов, а в фоновом режиме. К примеру, в вашем приложении пользователь...

[Перевод] Docker передает cnab-to-oci в проект CNAB… и что вообще такое CNAB? Прим. перев.: Эта статья — перевод недавнего анонса из мира контейнеров. В прошлом месяце компания Docker объявила о передаче своей очередной разработки в руки более широкого Open Source-сообщества. Речь шла об инструменте конвертации метаданных CNAB-пакета в формат стандарт...

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 3. Библиотека для анализа данных Pandas Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (3. データ分析ライブラリPandas編)". Это третья статья из серии. Ссылки на предыдущие статьи: первая, вторая В данной статье я объясню, как работать с библиотекой Pandas, чтобы создавать De...

Taiga UI — библиотека компонентов под Angular, которую вам стоит попробовать Привет!Саша Инкин и я регулярно пишем на Хабр статьи по Angular. Почти все они основаны на нашем опыте разработки большой библиотеки компонентов.Эту библиотеку мы развиваем, перерабатываем и дополняем уже несколько лет, а свои идеи проверяем на нескольких десятках проектов Т...

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

Web Vulnerabilities Playground Уже 3 ноября в OTUS пройдет день открытых дверей по курсу "Безопасность веб-приложений", в рамках которого вы сможете подробно узнать о курсе и пообщаться с нашими экспертами. А прямо сейчас хотим поделиться с вами авторской статьёй эксперта OTUS, вирусного аналитика в между...

[Перевод] Тестирование в Puppeteer vs Selenium vs Playwright: сравнение производительности Ранее мы уже писали о том, когда бывает нужна автоматизация тестирования и какие проверки при этом используют. Сегодня предлагаем обсудить использование инструментов на практике и оценить их производительность. С разрешения Giovanni Rago – автора серии полезных материалов о ...

Хакер наводнил сеть TOR тысячами вредоносных серверов для кражи криптовалюты у пользователей Выяснилось, что в течение более чем 16 месяцев злоумышленник добавляет вредоносные серверы в сеть TOR, чтобы перехватывать трафик и выполнять атаки на компьютеры пользователей, посещающих сайты, связанные с криптовалютой. Атаки начались в январе 2020 года. Вредоносные сервер...

[Перевод] Реализуем машинное обучение на iOS-устройстве с использованием Core ML, Swift и Neural Engine Привет, хабр! В преддверии старта продвинутого курса «Разработчик iOS», мы традиционно подготовили для вас перевод полезного материала. Введение Core ML — это библиотека машинного обучения, выпущенная в свет Apple на WWDC 2017. Она позволяет iOS разработчикам добавлять ...

[Перевод] Как я научила свой компьютер играть в Доббль с помощью OpenCV и Deep Learning Привет, дорогие подписчики! Наверное вы уже знаете о том, что мы запустили новый курс «Компьютерное зрение», занятия по которому стартуют уже в ближайшие дни. В преддверии старта занятий подготовили еще один интересный перевод для погружения в мир CV. Мое хобби – играть в ...

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

[Перевод] Дебажим PHP-контейнер с помощью Xdebug и PhpStorm Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP». Инструкция Docker #9: xdebug Я создам очень простую php-страницу и подебажу ее с помощью xdebug и PhpStorm. Исходные файлы можно найти здесь: github.com/ikknd/docker-study в папке recipe...

[Перевод] Неоморфизм с помощью SwiftUI. Часть 1 Салют, хабровчане! В преддверии старта продвинутого курса «Разработчик IOS» мы подготовили еще один интересный перевод. Неоморфный дизайн — это, пожалуй, самый интересный тренд последних месяцев, хотя, по правде говоря, Apple использовала его в качестве своего дизайнерског...

[Перевод] Как мы оптимизировали наш DNS-сервер с помощью инструментов GO В преддверии старта нового потока по курсу «Разработчик Golang» подготовили перевод интересного материала. Наш авторитетный DNS-сервер используют десятки тысяч веб-сайтов. Мы ежедневно отвечаем на миллионы запросов. В наши дни DNS-атаки становятся все более и более распрос...

[Перевод] Подсчет запросов: Базовое тестирование производительности на Django Всем привет. Мы подготовили перевод еще одного полезного материала для студентов курса «Web-разработчик на Python», который стартовал вчера. Очень часто можно услышать о методах тестирования, таких как TDD, и о том, как тестировать бизнес-логику приложения. Однако тестиро...

44 млн пользователей используют один пароль для всех личных аккаунтов Microsoft представила итоги очередного исследования Microsoft Security Intelligence Report. С января по март 2019 года было проверено более 3 млрд учетных данных, полученных из различных источников, включая общедоступные базы данных. Целью исследования стал поиск скомпром...

[Из песочницы] 5 фич JavaScript, без которых я не мог бы писать код (перевод) Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Kent Dodds «5 JavaScript Features I Couldn't Code Without». Это мой первый перевод, так что буду рад любым замечаниям. 5 фич JavaScript, без которых я не мог бы писать код Прежде чем мы начнем, по...

[Перевод] 9 полезных трюков HTML Приветствую, Хабр! Представляю вашему вниманию перевод статьи «9 Extremely Useful HTML Tricks» автора Klaus. У HTML есть много практических секретов, которые могут вам пригодиться. Но я хочу убедиться, что сайт работает в Internet Explorer и других браузерах. Я использую ...

[Перевод] Разворачиваем модель машинного обучения с Docker – Часть 1 Перевод статьи подготовлен в преддверии старта базового и продвинутого курсов по машинному обучению. Расширяем возможности для наших студентов. Теперь в OTUS есть целых два курса по Machine Learning: базовый и продвинутый. Оба курса стартуют в августе, в связи с чем мы приг...

HMI на основе Node-red и Scadavis.io В настоящее время в связи с ростом популярности концепции IoT и развитем сопутствующих технологий многие производители программного обеспечения для промышленной автоматизации используют это в своих продуктах. Доступ к SCADA-системам через web-интерефейс — идея и реализация н...

Переходя на удаленку, компании открывают хакерам доступ к своим серверам RDP - протокол, разработанный Microsoft для удаленного управления ОС Windows - на сегодня самый популярный способ подключения к рабочему окружению. Однако по умолчанию RDP использует порт 3389 и, если ИТ-служба компании не уделяет должного внимания безопасности удаленного до...

Практические методы оптимизации запросов в Apache Spark После вводной статьи про Spark Shell мне хотелось бы рассмотреть некоторые приемы оптимизации запросов в Spark и Hive, и сравнить их с теми, что обычно применяются в классических СУБД типа Oracle или MS SQL. Базовая модель данных Рассмотрим разные техники на базе известной ...

[Перевод] Cylance против Sality Всем привет. В преддверии старта курса «Реверс-инжиниринг 2.0» подготовили еще один интересный перевод. Sality терроризирует пользователей компьютеров с 2003 года, когда персональные цифровые помощники (PDA или КПК) делали заголовки технических изданий, а офисные ПК работа...

Microsoft Edge получает новое мини-контекстное меню Наличие слишком большого количества элементов в контекстном меню может раздражать, если вы хотите выполнить определенное действие в Microsoft Edge. И в ваших контекстных меню есть как минимум одна или две опции, которые вы никогда не используете, особенно когда вы читаете PD...

Анонсировали MIUI 12.5. Что нового?  Дебют MIUI 12.5: еще безопаснее, плавнее и симпатичнее Сегодня в Китае Xiaomi повела презентацию звездой которого стал Xiaomi Mi 11. Но до того, как мир узнал, каким получился титульный флагман компании, компания рассказала о новой версии фирменной оболочки MIUI 1...

Анонсировали MIUI 12.5. Что нового?  Дебют MIUI 12.5: еще безопаснее, плавнее и симпатичнее Сегодня в Китае Xiaomi повела презентацию звездой которого стал Xiaomi Mi 11. Но до того, как мир узнал, каким получился титульный флагман компании, компания рассказала о новой версии фирменной оболочки MIUI 1...

[Перевод] Модели угроз в дифференциальной приватности Это перевод второй статьи из серии публикаций по дифференциальной приватности. На прошлой неделе, в первой статье цикла — «Дифференциальная приватность — анализ данных с сохранением конфиденциальности (введение в серию)» — мы рассмотрели базовые концепции и случаи примене...

[Из песочницы] Сериализация в C++ В данной статье речь пойдет об автоматизации процесса сериализации в C++. В начале будут рассмотрены базовые механизмы, позволяющие упростить чтение/запись данных в потоки ввода-вывода, после чего будет дано описание примитивной системы генерации кода на основе libclang. Ссы...

5.8 млн IOPS: зачем так много? Привет Хабр! Наборы данных для Big Data и машинного обучения экспоненциально растут и надо успевать их обрабатывать. Наш пост о еще одной инновационной технологии в области высокопроизводительных вычислений (HPC, High Performance Computing), показанной на стенде Kingston на ...

О поиске утечек памяти в С++/Qt приложениях Каждый программист, работающий с языком С++, должен уметь находить утечки памяти. Язык С++ - сложный язык, делать ошибки легко, а находить их бывает муторно. Особенно это касается утечек памяти. Ситуация с отловом утечек памяти только усугубляется, если в коде С++ использует...

Метод решения системы диофантовых уравнений Добрый день! Как и обещал в первой своей статье, я хочу ознакомить Вас с одним из методов решения системы диофантовых уравнений. Цель статьи ознакомить остальных читателей с этой методикой и донести её в более или менее понятном виде. Рассмотрим систему из двух диофантовых у...

[Перевод] Go глазами Rust-программиста: первые впечатления В преддверии старта курса «Разработчик Golang» подготовили перевод интересного материала. А каким было ваше первое впечатление от Go? На протяжении последних нескольких недель мне довелось использовать Go в работе. Я впервые использовал Go на более-менее крупном и серьезно...

[Перевод] Объединяем функции логическими операторами в C++ В преддверии старта занятий в новом потоке группы «Разработчик С++» подготовили перевод интересного материала. Большинство алгоритмов STL в C++ используют всего лишь одну функцию для выполнения некоторой работы над коллекцией. Например, чтобы извлечь все четные числа из ко...

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

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

[Перевод] Проверяем на уязвимости любой сайт с помощью Nikto Всем привет! В марте OTUS запускает новый курс «Практикум по Kali Linux». В преддверии старта курса подготовили для вас перевод полезного материала. Также хотим пригласить всех желающих на бесплатный урок по теме: «Denial of Service атаки и защита от них». Перед тем как ат...

[Из песочницы] Автономная навигация мобильного робота Существует огромное количество способов, при помощи которых робот может получать информацию из внешнего мира с целью взаимодействия с ним. Также, в зависимости от задач, поставленных перед ним, различаются и методы обработки этой информации. В данной статье я опишу основные ...

В «миллиардах устройств» выявлена уязвимость BootHole Компания Eclypsium, которая специализируется на корпоративных решениях безопасности, обнаружила новую уязвимость, которая позволяет злоумышленникам получить почти полный контроль над системами, работающими под управлением Windows и Linux. Компания утверждает, что уязвим...

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

[Перевод] Кросс-браузерное тестирование в Selenium В этой статье мы рассмотрим кросс-браузерное тестирование. Это тип тестирования, который проверяет, работает ли приложение так, как ожидается, в нескольких браузерах, операционных системах и устройствах. Мы можем проводить кросс-браузерное тестирование с помощью автоматизаци...

«Хамелеон», которого мы создали и приручили Речь, конечно, пойдет не о харизматичных ящерках, а о нашем собственном инструменте автоматизированного тестирования. Представляем вашему вниманию кейс создания фреймворка «Хамелеон» и рассказ о его функциональности. Его появлению предшествовало 15 лет практики тестирования...

Яндекс отключил расширения с аудиторией в 8 млн пользователей. Объясняем, почему мы пошли на такой шаг Сегодня мы приняли решение отключить расширения SaveFrom.net, Frigate Light, Frigate CDN и некоторые другие, установленные у пользователей Яндекс.Браузера. Совокупная аудитория этих инструментов превышает 8 млн человек. В этом посте мы расскажем о причинах и поделимся с со...

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

[Перевод] JavaScript tree shaking, like a pro Это перевод статьи об оптимизации и уменьшении размера бандла приложения. Она хороша тем, что тут описаны best practices, советы, которых стоит придерживаться, чтобы тришейкинг работал и выкидывал неиспользуемый код из сборки. Она будет полезной многим, потому что сейчас все...

[Перевод] Процедурная гидрология: динамическая симуляция рек и озёр Примечание: полный исходный код проекта выложен на Github [здесь]. В репозитории также содержится подробная информация о том, как читать и использовать код. После реализации симуляции гидравлической эрозии на основе частиц я решил, что возможно будет расширить эту концепцию ...

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

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

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.2 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech». В предыдущей статье я рассказывала про один из способов реализации многопоточности в приложении Kotlin Multiplatform. Сегодня мы рассмотрим альтернативную ситуацию, когда м...

[Перевод] Почему для SQL Server важна статистика Считанные дни остаются до старта нового потока по курсу “MS SQL Server разработчик”. В преддверии старта курса продолжаем делиться с вами полезным материалом. За годы работы с SQL Server я обнаружила, что есть несколько тем, которые часто игнорируются. Их что боятся, думают,...

Linux в режиме реального времени Операционная система реального времени необходима, когда к работе процессора или потоку данных предъявляются жесткие временные требования. Таким образом она часто выполняет роль блока управления в специальных устройствах. Проведение научных экспериментов, приложения визуал...

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

[Перевод] Руководство по Aircrack-ng в Linux для новичков Всем привет. В преддверии старта курса «Практикум по Kali Linux» подготовили для вас перевод интересной статьи. Сегодняшнее руководство познакомит вас с основами для начала работы с пакетом aircrack-ng. Конечно, невозможно предоставить всю необходимую информацию и охватить...

Курс «PostgreSQL: replication, backup and observability». Старт 6 апреля Потеря данных или их недоступность — это всегда больно. А времени на поиск решений, анализ, тестирование идей по улучшению инфраструктуры не хватает, потому что надо поддерживать текущие процессы. Мы собрали информацию и опыт в учебную программу, которая закроет три основн...

[Перевод] Как корпоративные команды разработчиков используют GitLab и Mattermost ChatOps для ускорения разработки И снова здравствуйте! В феврале OTUS запускает новый курс «CI/CD на AWS, Azure и Gitlab». В преддверии старта курса подготовили перевод полезного материала. Полноценный набор DevOps инструментов, мессенджер с открытым исходным кодом и ChatOps – как тут не влюбиться? Нико...

[Перевод] Улучшаем allOf и anyOf в CompletableFuture И снова здравствуйте. В преддверии старта курса «Разработчик Java» подготовили для вас перевод полезного материала. В CompletableFuture есть два метода, дизайн которых меня удивляет: CompletableFuture#allOf CompletableFuture#anyOf В этой статье мы посмотрим, что с ними ...

[Перевод] Знакомимся с NestJS Перевод статьи подготовлен в преддверии старта курса «Разработчик Node.js». У современных разработчиков есть много альтернатив, когда речь заходит о создании веб-сервисов и других серверных приложений. Node стал крайне популярным выбором, однако многие программисты предп...

Собираем приложение Qt в WebAssembly в Windows Как известно, приложения написанные на Qt, который является кросс платформенными запускаются от desktop, мобильных, интернет вещей, до микроконтроллеров. Один из вариантов это сборка приложения Qt в WebAssembly — которое позволит Вам запускать его в браузере у пользовател...

Microsoft выпускает обновления безопасности для критических уязвимостей Windows Microsoft выпустила обновления безопасности для только что обнаруженных эксплойтов библиотеки кодеков и Visual Studio. Сообщается, что эксплойт библиотеки кодеков с тегом CVE-2020-17022 имеет уязвимость, которая позволяет злоумышленникам захватить систему. Уловка заключается...

[Перевод] Машинное обучение столкнулось с нерешенной математической проблемой Салют, хабровчане! В преддверии запуска новых потоков по продвинутому и базовому курсам «Математика для Data Science» хотим поделиться с вами достаточно интересным переводом. В этой статье не будет практики, но материал интересен для общего развития и обсуждения. Группа ис...

Oracle: разница между deterministic и result_cache От переводчика: свой путь на habr я решил начать не с попытки написать какой-то уникальный текст с нуля, а с перевода относительно свежей (от 17.08.2020) статьи классика PL/SQL-разработки Стивена Фойерштайна, в которой он достаточно подробно рассматривает разницу между двумя...

Необязательные параметры в репозиториях Spring Data Все кто использовал Spring Data сталкивались с ситуацией, когда у вас есть репозиторий для работы с сущностью и вы хотите написать универсальный find-метод для поиска по набору параметров, которые пользователь может задать или пропустить на форме поиска. Базовая реализация f...

[Перевод] Статистика в Data Science — исчерпывающий гид для амбициозных практиков ML В преддверии старта нового потока курса «Machine Learning Pro + Deep Learning» представляем вашему вниманию пост, который смело можно класть в закладки, — гид по статистике для амбициозных практиков машинного обучения. От ответа на вопрос, что такое статистика, до весьма под...

У вас автоматизация отклеилась Твои менеджеры — вялые, ленивые и безынициативные? С ними не о чем поговорить? Не генерируют новых идей, направлений и тем? Не хотят ничего менять, думать, перестраиваться? Фантазии — кот наплакал? Ты просто не умеешь их готовить. Нет, не надо бежать в аптеку за магнием B6....

Проверка макросов XLM во время выполнения теперь доступна в Microsoft Excel Excel 4.0 (XLM) — это старый язык макросов, который Microsoft выпустила для Excel еще в 1992 году. Хотя это устаревший язык, и большинство организаций с тех пор перешли на Visual Basic for Applications (VBA), некоторые продолжают использовать XLM из-за его функциональных воз...

[Перевод] OOMkiller в Docker сложнее, чем вы думаете Снова здравствуйте. В преддверии старта курса «Разработчик Java» подготовили перевод еще одного небольшого материала. Недавно у одного из пользователей Plumbr APM возникла странная проблема с аварийной остановкой docker-контейнера с кодом 137. Конфигурация была простейшая ...

Азбука libp2p от Textile (или за что мы её любим) Перевод статьи начального уровня в блоге проекта Textile от 19 ноября 2019 г.Первые шаги к созданию децентрализованного приложения могут быть трудными. Изменить привычный при разработке централизованных приложений образ мышления не легко, поскольку распределённый дизайн ло...

PHP и регулярные выражения: азы для новичков В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор. Внимание! данная статья не имеет отношения к программе курса и будет полезна только ...

[Перевод] Как работает гистограмма Prometheus? Перевод статьи подготовлен в преддверии старта курса «Мониторинг и логирование: Zabbix, Prometheus, ELK». Ранее мы рассматривали счетчик (counter), измеритель (gauge) и сводку (summary). Теперь же давайте поговорим о том, как работает гистограмма (histogram) в Prometheus....

ITIL 4: Текущее состояние дел Практики (ITIL 4 practice guides) Книги (ITIL 4 guides) Экзамены Тренинги 14 ноября опубликованы описания практик (ITIL 4 management practices). Пока пятнадцать из тридцати четырёх. Всего шестнадцать документов, включая «инструкцию по чтению» (Reader’s Manual). Документы д...

Создаем Todo приложение c помощью Django. Часть 1 И снова здравствуйте. В преддверии старта курса «Web-разработчик на Python» наш внештатный автор подготовил интересный материал, которым с радостью делимся с вами. Джанго это мощный фреймворк для создания веб-приложений. Изначально Django был создан для того, чтобы быстро...

[Перевод] Как начать заниматься Bug Bounty Друзья, в этом месяце Otus запускает набор на новый курс — «Безопасность приложений». В преддверии старта курса традиционно подготовили для вас перевод полезного материала. Как начать заниматься Bug Bounty? Этот вопрос весьма распространенный, и я продолжаю получать его в ...

Уязвимости IoT-девайсов открывают доступ к домашней сети Найденные уязвимости могут быть использованы для осуществления атак методом Man-in-the-Middle (MitM, пер. с англ. "атака посредника" или "человек посередине"), когда злоумышленник перехватывает данные, передаваемые между каналами связи, извлекает полезну...

[Из песочницы] Управление интерфейсом приложения при помощи жестов (Keras + CoreML) В настоящее время популярность программ с использованием искусственных нейронных сетей растет, в связи с этим появляется большое количество технологий, позволяющих упростить работу связанную с ними. В настоящей статье будет описан один из возможных путей реализации приложени...

Почему может понадобится полусинхронная репликация? Всем привет. На связи Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. В преддверии старта нового потока курса «Архитектор высоких нагрузок» я решил написать небольшой авторский ...

[Перевод] Kafka как хранилище данных: реальный пример от Twitter Привет, Хабр! Нас давно занимала тема использования Apache Kafka в качестве хранилища данных, рассмотренная с теоретической точки зрения, например, здесь. Тем интереснее предложить вашему вниманию перевод материала из блога Twitter (оригинал — декабрь 2020), в котором описа...

Перевод на английский язык в сфере IT на примере PVS-Studio Наша компания PVS-Studio активно публикует статьи на тему разработки, поиска ошибок в коде, техниках по улучшению его качества. Этот пост отличается по тематике – в этот раз рассмотрим вопрос перевода на английский язык русскоязычного контента на тему разработки. В этой ста...

В Snapchat добавят возможность подмены лица нейросетью Американское издание TechCrunch опубликовало материал о тестировании приложением Snapchat новой функции под названием Cameo. Ее суть будет заключаться в создании пользователями коротких GIF-изображений со своими лицами, который приложение “вставит” в заранее подготовленные а...

[Из песочницы] Организация удаленной работы SMB организации на OpenVPN Постановка задачи Статья описывает организацию удаленного доступа сотрудников на продуктах с открытым исходным кодом и может быть использована как для построения полностью автономной системы, так и окажется полезной для расширения, когда в имеющейся коммерческой системе возн...

[Перевод] Минимально жизнеспособный Kubernetes Перевод статьи подготовлен в преддверии старта курса «DevOps практики и инструменты». Если вы это читаете, вероятно, вы что-то слышали о Kubernetes (а если нет, то как вы здесь оказались?) Но что же на самом деле представляет собой Kubernetes? Это “Оркестрация контейнеро...

Общий финансовый анализ на Python (Часть 3) После всех вычислений, приведенных в этой и этой публикациях, можно углубиться в статистический анализ и рассмотреть метод наименьших квадратов. Для этой цели используется библиотека statsmodels, которая позволяет пользователям исследовать данные, оценивать статистические мо...

[Из песочницы] Классификация Deep Sky объектов и их наблюдение Привет, Хабр! Представляю вашему вниманию адаптированный перевод статьи «Deep Sky Objects and Their Observation» с любезного резрешения автора. Интересная статья, классифицирующая объекты Deep-Sky, описывающая их разную природу образования. Также данная публикация дает край...

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

Темы Windows 10 оказались опасны Для пользователей операционной системы Windows была обнаружена новая опасность. Оказывается для кражи учётных данных можно использовать пользовательские темы.  Уязвимость была обнаружена специалистом по безопасности Джимми Бэйном (Jimmy Bayne). Лазейка кроется в н...

[Перевод] Почему стоит начать использовать FastAPI прямо сейчас Привет, Хабровчане! В преддверии старта занятий в группах базового и продвинутого курсов «Разработчик Python», мы подготовили для вас еще один полезный перевод. Python всегда был популярен для разработки легковесных веб-приложений благодаря потрясающим фреймворкам, таким к...

Переброска данных между идентичными объектами метаданных базы 1С через подмену УИДов в базе SQL При возникновении необходимости миграции с одной конфигурации поставщика на другую, либо при обновлении доработанной конфигурации, если Поставщик позднее добавил тот объект, что был у нас добавлен самостоятельно, может оказаться, что старый и новый объекты имеют разные внутр...

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

Тонкая талия: когда упражнения и обруч – борьба с ветряными мельницами? Как же везет девушкам с фигурой песочные часы, у которых талия от природы тонкая! И как сделать тоньше свою? Вы наверняка знаете, что раньше дамы использовали корсеты, а сейчас удаляют ребра с помощью пластической хирургии. Но есть и более приземленные (доступные обывателя...

Обходим запрет messages API Вконтакте через Python Привет, Хабр. В своей предыдущей статье я рассказал о возможности доступа к методам раздела messages через документацию, для чего достаточно было лишь авторизоваться на сайте ВК. Многие тогда заявили, что это не является угрозой личным данным пользователей, а невозможность в...

[Перевод] Изучаем внутренние компоненты Docker — Объединённая файловая система Создавать, запускать, просматривать, перемещать контейнеры и образы с помощью интерфейса командной строки Docker (Docker CLI) проще простого, но задумывались ли вы когда-нибудь, как на самом деле работают внутренние компоненты, обеспечивающие работу интерфейса Docker? За эти...

Microsoft запустила следующий этап тестирования Xbox Beta на Android В прошлом месяце Крис Новак, руководитель отделения Xbox по исследованиям и дизайну, поделился видением на унифицированную эко-систему Xbox, которая вмещает в себя самые разные платформы и где игроку уделяется главное внимание. Идея в том, что вы всегда должны быть подключен...

[Перевод] Устанавливаем рабочий стол Linux на Android Привет, Хабр! Представляю вашему вниманию перевод статьи из журнала APC. В данной статье рассматривается полная установка операционной среды Linux вместе с графическим окружением рабочего стола на Android-устройствах. Одной из ключевых технологий, которую применяют многи...

Фишинг учетных данных Windows В первом квартале 2020 года число фишинговых атак на пользователей по всему миру выросло вдвое по сравнению с аналогичным периодом 2019 года — с 9% до 18%. Такие данные приводит “Лаборатория Касперского”. В операционных системах семейства Windows у некоторых программ и пр...

[Перевод] Как сделать CI на Github для современного фронтенда Совсем скоро, 6 и 18 ноября, у нас стартуют новые потоки курса по JavaScript и курса «Профессия Веб-разработчик», специально к их старту делимся с вами полезным туториалом, как настроить Github Actions для реальных проектов в области фронтенда со множеством линтеров и тест...

[Перевод] Несколько советов по созданию page object классов здорового человека И снова здравствуйте. В преддверии старта курса «Java QA Engineer» подготовили перевод еще одной полезной статьи. Это начало нового года, и многие люди во всем мире принимают решение уделять больше внимания своему здоровью. Это прекрасно! На самом деле, ваши тесты для фро...

[Перевод] 5 визуализаций, который помогут улучшить Data Story Статья переведена в преддверии запуска курса «Разработчик Python». Сторителлинг – один из важнейших навыков для специалистов, которые занимаются анализом данных. Чтобы доносить идеи и делать это убедительно, нужно простраивать эффективную коммуникацию. В этой статье мы поз...

Сколько стоит взломать почту: небольшой анализ рынка хакеров по найму Адрес электронной почты — ключевой элемент защиты личных данных. На него часто завязаны другие учетные записи пользователя. Завладев чужим e-mail, злоумышленник в состоянии восстановить или сбросить пароли связанных со взломанной учеткой сервисов. Если человек не используе...

Как работают профайлеры в Ruby и Python? Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик Python». Всем привет! В качестве аперитива к профайлеру на Ruby я хотела рассказать о том, как работают уже существующие профайлеры на Ruby и Python. Также это поможет дать ответ на вопрос, к...

Использование Graylog и NLog для сбора логов от приложений на C#. Личный опыт КДПВ Хабр, приветствую! Описанное ниже ни в коем случае не tutorial или best practice. Я решил всего лишь агрегировать и задокументировать свои достижения в поставленном вопросе. Надеюсь, содержимое данной статьи позволит ищущим информацию по логированию почерпнуть что-т...

[Перевод] 7 опасных ошибок, которые легко совершить в С#/.NET Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик». C# — великолепный язык, и .NET Framework также очень хорош. Строгая типизация в C# способствует уменьшению количества ошибок, которые вы способны спровоцировать, по сравнению с другими язык...

Apple вознаградила команду хакеров за обнаружение 55 уязвимостей в её продуктах Группа хакеров, состоящая из пяти человек, потратила три месяца, взламывая платформы и сервисы Apple, чтобы обнаружить слабые места. Энтузиасты обнаружили 55 уязвимостей разной степени серьёзности, в том числе критических. Некоторые из них позволяли злоумышленникам скомпроме...

Найдена новая уязвимость смартфонов Android Появилась новая уязвимость смартфонов Android под названием CVE-2020-0022 или BlueFrag. Это новая уязвимость, которая позволяет запустить вредоносный код через Bluetooth на некоторых устройствах Android. При включенном на устройстве Bluetooth, злоумышленники могут удаленно ...

[Перевод] Как устроен процесс создания docker-контейнера (от docker run до runc) Перевод статьи подготовлен в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes». За последние несколько месяцев я потратил немало личного времени на изучение работы Linux-контейнеров. В частности, что конкретно делает docker run. В этой статье я соб...

[Перевод] Assert-сообщения в тестах И снова здравствуйте. В преддверии старта курса «Разработчик C#» перевели интересный материал про assert-сообщения в тестах и с радостью делимся с вами переводом. В этом посте мы поговорим о том, должны ли вы использовать Assert-сообщения в ваших тестах. Я получил интересн...

Security Week 20: взлом компьютера через Thunderbolt Давно в нашем дайджесте не было задорных исследований про аппаратные уязвимости. Голландский исследователь Бйорн Рютенберг нашел семь дыр в контроллерах Thunderbolt (сайт проекта, научная работа, обзорная статья в Wired). Так или иначе все уязвимости позволяют обходить ключе...

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

Microsoft настоятельно рекомендует всем пользователям обновить Windows 10 Компания Microsoft настоятельно рекомендует пользователям компьютеров на базе Windows 10 установить последнее обновление операционной системы.Связано это с тем, что последний апдейт закрывает четыре очень серьезные бреши в системе безопасности ОС. Злоумышленники, воспользова...

[Перевод] Разработка REST-серверов на Go. Часть 1: стандартная библиотека Это — первый материал из серии статей, посвящённой разработке REST-серверов на Go. В этих статьях я планирую описать реализацию простого REST-сервера с использованием нескольких различных подходов. В результате эти подходы можно будет сравнить друг с другом, можно будет поня...

[Из песочницы] Материальный Python. Что нового в библиотеке KivyMD Приветствую! Не так давно уже писали о Python в Mobile development и разработке мобильных приложений на Python с помощью библиотек Kivy и KivyMD. Эта статья продолжит знакомить вас с кроссплатформенными Python инструментами, а конкретно сегодня мы рассмотрим новинки, котор...

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

[Перевод] Метрики, которые отслеживают великие Product-менеджеры Перевод статьи подготовлен в преддверии старта курса «Product Manager IT-проектов» Важность Product-менеджеров, которые руководствуются данными Если у вас нет опыта в Data Science, управление данными в качестве Product-менеджера может показаться непростой задачей. Однак...

Забота о близких может оказаться эволюционно заложенным смыслом жизни Вероятно, забота о близких и есть главная, эволюционно заложенная цель в жизни Согласно данным нового исследования, опубликованного в журнале Personality and Social Psychology Bulletin, такие цели в жизни как забота о близких могут способствовать обнаружению смысла жизни. Ря...

[Перевод] Как микросервисы Netflix справляются с Pub-Sub данными Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение В микросервисной архитектуре Netflix передача наборов данных от одного к нескольким конечным точкам может быть крайне сложной. Эти наборы данных могут содержать все, что уго...

[Перевод] Матричное умножение. Медленное достижение мифической цели В недавней работе был установлен новый рекорд скорости по умножению двух матриц. Она также знаменует и конец эпохи для метода, который ученые применяли для исследований на протяжении десятилетий. Математики стремятся к достижению мифической цели — второй степени (exponent t...

Elixir как цель развития для python async В книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал ...

[Перевод] В двух словах: Лучшие практики Async/Await в .NET В преддверии старта курса «Разработчик C#» подготовили перевод интересного материала. Async/Await — Введение Языковая конструкция Async/Await существует со времен C# версии 5.0 (2012) и быстро стала одним из столпов современного программирования на .NET — любой уважающий ...

Умные замки KeyWe можно открыть благодаря уязвимости, которую нельзя исправить Эксперты F-Secure предупредили о небезопасности умных дверных замков KeyWe. Злоумышленники могут использовать уязвимости в замках для перехвата ключей и разблокировки дверей.

Что такое «минимальная жизнеспособная практика (MVP)»? В новой книге ITIL ® 4 Create, deliver and support, которая, правда, пока что доступна только по подписке, описан довольно «простой» подход к определению охвата любой практики. Он называется «минимальная жизнеспособная практика» (minimum viable p...

С аккаунта Apple в Твиттере хакеры несколько часов собирали деньги под видом акции Думаю, многие из вас застали времена, когда учётные записи в «ВК» взламывали направо-налево. Сделать это было довольно просто – потенциальным жертвам присылали фишинговую ссылку, рекомендуя перейти по ней под тем или иным предлогом. Как ни странно, большинство всё-таки пере...

Понимание (всех) «модульных» форматов и инструментов JavaScript Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin. При создании приложения часто возникает желание разделить код на части, логические или функциональные блоки (модули). Однако ...

Автоматизация микрофронтендов, или как в Тинькофф тестируют библиотеки компонентов Кажется, уже сложно представить себе веб-приложение, которое не использует микрофронтендную архитектуру для возможности реализовать гибкое и функциональное приложение. И как в любом архитектурном подходе, в микрофронтенде необходимо обеспечивать качественное тестирование раз...

[Перевод] Быстрый поиск файлов От переводчика: предлагаю вашему вниманию перевод очень старой статьи, опубликованной 15 января 1983 года. Несмотря на столь внушительный возраст, статья показалась мне интересной, и возможно, что она будет полезной для кого-то и сегодня. На эту статью, кстати, ссылается раз...

[Перевод] Как избежать простоя в работе Kubernetes-кластера при помощи PodDisruptionBudgets Защита pod’а от выселения при помощи Pod Disruption Budgets в Kubernetes Это четвертая и заключительная часть нашего пути (прим. пер. — ссылка на первую статью) для достижения нулевого времени простоя при обновлении Kubernetes-кластера. В предыдущих двух частях мы фокусиров...

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

Как разрабатываются моды для Unity-игр. Часть 1: внедряемся в код игры У большинства игр нет официальной поддержки модов, но при этом постоянно появляются новости о том, как моддеры добавляют в игры что-то новое. Обычно речь идет про замену моделей, текстур или музыки, но бывают и полноценные новые игровые механики, т.е. моддеры внедряются в ко...

[Перевод] Обеспечиваем безопасность в гибкой разработке и CI/CD DevOps появился из-за культурных, функциональных и технических разногласий между командами разработчиков, желающими часто выпускать свой продукт, и командами эксплуатации, желающими сохранить надежность и стабильность. Культура DevOps затрагивает как сотрудничество, принцип...

[Перевод] Экономим на облачных затратах Kubernetes на AWS Перевод статьи подготовлен в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes». Как сэкономить на облачных затратах при работе с Kubernetes? Единственно правильного решения не существует, но в этой статье описано несколько инструментов, которые пом...

Конец эпохи ITIL v3! Таймер запущен... Что дальше? Запуск публикации ITIL 4 Foundation состоялся в 2019 году, а спустя 2 года, AXELOS объявила график прекращения поддержки ITIL v3. Свершилось! Таймер запущен. Для всех работающих в сфере ИТ наступил конец эпохи. Многие годы ITIL v3 был ориентиром в управлении ИТ-услугами (ITS...

[Перевод] Используем nftables в Red Hat Enterprise Linux 8 Статья подготовлена в преддверии старта курса «Администратор Linux» В Red Hat Enterprise Linux 8 приоритетным низкоуровневым решением является nftables. В этой статье мы поговорим о том, как начать использовать nftables. Наиболее актуальной она будет для системных администр...

Как снова доверять операционной системе. Поиск следов компрометации. Анализ ВПО На протяжении долгого периода времени главной фишкой и гордостью операционной системы Linux был тот факт, что для нее «не было вирусов», которые могли бы нарушить работоспособность системы или украсть пользовательские данные. Сейчас наступил конец 2020 года — давайте попробу...

SQUID App была избрана провайдером новостного сервиса для смартфонов Huawei во всех странах Европы SQUID будет партнером по предоставлению контента в новостных лентах в браузере Huawei и приложения Huawei Assistant. Huawei Assistant открывается при свайпе вправо по экрану смартфона. Пользователям Huawei Browser и Huawei Assistant будет предоставлено рекомендованную ленту ...

SQUID App была избрана провайдером новостного сервиса для смартфонов Huawei во всех странах Европы SQUID будет партнером по предоставлению контента в новостных лентах в браузере Huawei и приложения Huawei Assistant. Huawei Assistant открывается при свайпе вправо по экрану смартфона. Пользователям Huawei Browser и Huawei Assistant будет предоставлено рекомендованную ленту ...

Как e2e автотесты на Selenide помогают QA-команде при частых релизах Всем привет! Я Иван, старший инженер-тестировщик в КРОК. Уже 6 лет занимаюсь тестированием ПО. Из них 3 года внедряю автоматизацию тестирования на различных проектах - люблю всё автоматизировать. На рабочей машине много разных “батников” и bash-скриптов, которые призваны упр...

Зачем вам чужие ошибки? Исправляем уязвимости в сторонних библиотеках Любое ПО содержит уязвимости, причем они появляются на разных этапах его жизненного цикла. Полностью избавиться от уязвимостей в коде достаточно сложно, но можно, как минимум, сократить их количество. Для этого используются средства SAST, DAST и IAST – статический, динамичес...

[Из песочницы] 9 ключевых алгоритмов машинного обучения простым языком Привет, Хабр! Представляю вашему вниманию перевод статьи «9 Key Machine Learning Algorithms Explained in Plain English» автора Nick McCullum. Машинное обучение (МО) уже меняет мир. Google использует МО предлагая и показывая ответы на поисковые запросы пользователей. Netflix...

[recovery mode] Tier 2 в SEO и интернет маркетинге Поскольку как в Гугле, так и в Яндексе пока почти нет информации на русском про tier 2 начнем с определений. В переводе с английского tier – это ярус, уже можно понять, что tier 2 это какой-то второй ярус. Если мы начнем «гуглить» tier 2, то увидим, что термин применяется в ...

[Перевод] Как сделать интерактивную карту с помощью Python и open source библиотек Сегодня делимся с вами пошаговым руководством создания интерактивных карт для веб-приложения или блога. Просто сохраните эту статью в закладках. Хоть и существует, например, библиотека d3.js, которая может создавать пользовательские карты, есть несколько инструментов еще пр...

ruleguard: динамические проверки для Go В этой статье я расскажу о новой библиотеке (и утилите) статического анализа go-ruleguard, которая адаптирует gogrep для использования внутри линтеров. Отличительная особенность: правила статического анализа вы описываете на особом Go-подобном DSL, который на старте rulegua...

Неоморфизм с помощью SwiftUI. Часть 2: Что можно сделать с доступностью? Всем привет! В преддверии старта продвинутого курса «Разработчик IOS» мы публикуем перевод второй части статьи про неоморфизм с помощью SwiftUI (читать первую часть). Темная тема Прежде чем мы начнем разбираться с тем, как мы можем улучшить доступность неоморфизма, давай...

[Перевод] Обратная связь по грантам памяти (memory grant feedback) в SQL Server 2019 Всем привет! В преддверии старта курса «MS SQL Server разработчик», подготовили для вас еще один интересный перевод. Если оптимизатор неправильно вычисляет необходимый объем памяти для выполнения запроса, то это будет либо пустая трата памяти, которую мог бы использовать ...

[Перевод] Разбираемся с launchMode Android Activity: standard, singleTop, singleTask и singleInstance Перевод статьи подготовлен специально для студентов продвинутого курса по Android разработке. Activity — это одна из самых ярких концепций в Android (самой популярной мобильной операционной системе с хорошо продуманной архитектурой управления памятью, которая отлично реал...

[Перевод] Теория игр как механизм для анализа крупномасштабных данных Современные системы искусственного интеллекта подходят к решению таких задач, как распознавание объектов на изображениях и прогнозирование трёхмерной структуры белков, как прилежный студент готовится к экзамену. Тренируясь на многих примерах решения аналогичных задач, они со...

[Перевод] Компилируем Spring Boot-приложение в нативное с помощью GraalVM Перевод статьи подготовлен в преддверии старта курса «Разработчик на Spring Framework». Привет, любители Spring’а! Добро пожаловать в очередной выпуск Spring Tips. Сегодня мы поговорим о недавно реализованной поддержке компиляции Spring Boot-приложений в GraalVM. Мы уже ...

Чем может быть опасна передача файлов с одного смартфона на другой Когда возникает вопрос, как передать файл с одного Android-смартфона на другой, ответов как правило бывает слишком много для простого пользователя. Тем более, что большая часть этих ответов является перечислением приложений, которые имеют возможность передачи материалов меж...

14 самых популярных Node.js-библиотек в 2020 году Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «14 Most Useful NodeJS Libraries in 2020». В данной статье автор делится своими находками среди многочисленных пакетов Nodejs. Express Быстрый, гибкий, минималистичный, легкий в изучении фреймворк...

Автоматизация тестирования веб-приложений под ключ, без регистрации и смс Часто бывает так, что веб-приложение состоит из большого количества динамически перестраивающихся форм с разным текстом и элементами управления. Тестирование такого приложения превращается в кошмар. Нужно прокликать 100500 страниц и проверить весь функционал… И перед следую...

Fortinet Security Fabric на практике. Часть 2. FortiSwitch Приветствуем! В нашей прошлой статье мы описали общую концепцию построения сети на продуктах компании Fortinet - Fortinet Security Fabric. Практически все продукты из этой концепции мы уже описывали. Неосвещенными остались только FortiSwitch и FortiAP. Сегодня мы хотим расск...

[Перевод] Понимаем JIT в PHP 8 Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP» TL;DR Компилятор Just In Time в PHP 8 реализован как часть расширения Opcache и призван компилировать операционный код в инструкции процессора в рантайме. Это означает, что с JIT некоторые о...

Похититель печенек. Зловред Android ставит под угрозу даже хорошо защищённые аккаунты в соцсетях «Лаборатории Касперского» сообщила о двух новых вредоносных программах под Android, которые способны красть файлы cookie, сохранённые в браузере на смартфонах и в приложениях популярных социальных сетей, включая Facebook. Это позволяет злоумышленникам незам...

Network automation. Случай из жизни Привет, Хабр! В данной статье мы бы хотели поговорить про автоматизацию сетевой инфраструктуры. Будет представлена рабочая схема сети, которая функционирует в одной маленькой, но очень гордой компании. Все совпадения с реальным сетевым оборудованием являются случайными. Мы ...

[Перевод] Магические сигнатуры методов в C# Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK. Есть определенный набор сигнатур методов в C#, имеющих поддержку на уровне языка. Методы с такими сигнатурами позволяют использовать специальный синтаксис со всеми его преимуществами. ...

Microsoft подтверждает запуск Power Fx, своего нового языка с низким уровнем кода В прошлом месяце Microsoft представила планы выпуска первой волны для Power Platform и Dynamics 365 на 2021 год, описав множество новых возможностей, которые появятся в ближайшие несколько месяцев. Совсем недавно, на прошлой неделе, начали распространяться слухи о том, что т...

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

Project Loom: виртуальные потоки в Java уже близко Несколько дней назад Ron Pressler разродился статьей State of Loom, которую не полайкал только самый ленивый джавист. Статья действительно хорошая, в ней много интересных метафор, которые я собираюсь бессовестно использовать теперь без ссылки на первоисточник. Со своей сто...

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

[Перевод] Создание PDF-документа на Python с помощью pText Один из самых гибких и привычных способов сгенерировать pdf — написать код на LaTeX и воспользоваться соответствующей программой. Но есть и другие способы, которые могут оказаться проще и понятнее, чем LaTeX. Специально к старту курса Fullstack-разработчик на Python представ...

Как Python используется в разработке мобильных приложений До определенного времени о разработке приложений под Android на языке Python не могло быть и речи. Однако энтузиасты все же смогли приспособить один из лучших языков программирования, который в основном используется для веб-разработки, к индустрии мобильных приложений. И хо...

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

[Перевод] Настраиваем DRBD для репликации хранилища на два CentOS 7 сервера Перевод статьи подготовлен в преддверии старта курса «Администратор Linux. Виртуализация и кластеризация». DRBD (Distributed Replicated Block Device — распределённое реплицируемое блочное устройство) представляет собой распределенное, гибкое и универсально реплицируемое р...

Большинство Win32-приложений будут совместимы с Windows 10X Компания Microsoft начала делиться подробной информацией о своей новой операционной системе Windows 10X, предназначенный для складных и двухэкранных устройств. Новая версия Windows 10 построена на базе проекта Windows Core OS и получила упрощённый и оптимизированный пользов...

[Перевод] Чистый CSS: 4 метода анимирования цвета ссылок Автор статьи, перевод которой мы сегодня публикуем, предлагает, пользуясь чистым CSS, создать механизм изменения цвета текста ссылки при наведении на неё мыши. Но это должна быть не обычная смена цвета. Новый цвет должен заполнять ссылку слева направо, заменяя старый. Для ...

[Из песочницы] Академия плохого кода: переводы строк, пробелы и отступы Привет, Хабр! Представляю вашему вниманию перевод статьи «Dark code-style academy: line breaks, spacing, and indentation» автора zhikin2207 Привет, народ! Позвольте мне продолжить рассказ про нашу академию плохого кода. В этом посте мы раскроем другой путь замедления чте...

[Перевод - recovery mode ] Помогаем пользователям менять пароли с помощью well-known URL Привет! Делимся переводом небольшой, но полезной статьи о том, как упростить процесс обновления данных для аутентификации. Установите редирект со страницы /.well-known/change-password на страницу смены пароля для вашего сайта. Благодаря этому, менеджеры паролей смогут напра...

«Лаборатория Касперского» выпускает два решения на базе собственной безопасной ОС Одно из решений - Kaspersky IoT Secure Gateway - предназначено для защиты IoT-инфраструктуры и безопасного подключения устройств интернета вещей к облаку. Задача второго - KasperskyOS for Thin Client - стать основой для доверенной и управляемой инфраструктуры тонких клиенто...

В 10 приложениях в Google Play найден опасный дроппер "Clast82", как его назвали исследователи, запускает вредоносное ПО, которое позволяет хакеру получить доступ к банковским приложениям жертвы и полностью контролировать смартфон. Исследователи обнаружили Clast82 в 10 "полезных" приложениях, например, с фун...

[Перевод] Десятикратное улучшение производительности React-приложения Сталкивались ли вы с такой ошибкой? Пытались ее решить? Пробовали найти решение в сети и ничего не находили? Обычно, данная проблема решается простой перезагрузкой страницы. Около года назад в Techgoise я получил возможность поработать с большим React-приложением. Мы получи...

[Перевод] 10 лучших игр по программированию, которые улучшат ваши навыки Вы помните далёкие дни из детства, когда вы, проводили целый день, а иногда даже не ели целый день, чтобы поиграть в игры на Nintendo? (Ах, дни Mario и Contra!!!)С того времени игры претерпели гигантские преобразования и сфера стала более обширной. Это уже не просто хобби. С...

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

Как мы используем алгоритмы компьютерного зрения: обработка видео в мобильном браузере с помощью OpenCV.js Для идентификации личности онлайн уже есть все возможности, но пока их применяют крайне редко. Пожалуй, одними из первых мы реализовали оптимальный сценарий для пользователя – зайти на сайт со смартфона, сфотографировать свои водительские права или паспорт и отправить данные...

Автоматизируем ведение большого количества пользователей в AD Автоматизируем ведение большого количества пользователей в AD: Добрый день! В этой статье я бы хотел описать применённое мной практическое решение по автоматизации одной рутинной задачи второй линии технической поддержки одного крупного предприятия. Имеем два территориаль...

Game over: уязвимость в Steam поставила под угрозу сотни тысяч геймеров Индустрия видеоигр растет с каждым годом, достигая новых вех развития и вовлекая все больше людей. По данным портала Game Generation, созданного американской ассоциацией производителей ПО и компьютерных игр (ESA), "треть населения Земли регулярно играет в видеоигры"...

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

Тайны файла подкачки pagefile.sys: полезные артефакты для компьютерного криминалиста В одной крупной финансовой организации произошел неприятный инцидент: злоумышленники проникли в сеть и «пылесосили» всю критически важную информацию — копировали, а затем отправляли данные на свой удаленный ресурс. Криминалистов Group-IB призвали на помощь лишь спустя полг...

[Перевод] Sparkplug — неоптимизирующий компилятор JavaScript в подробностях Создать компилятор JS с высокой производительностью означает сделать больше, чем разработать сильно оптимизированный компилятор, например TurboFan, особенно это касается коротких сессий, к примеру, загрузки сайта или инструментов командной строки, когда большая часть работы ...

Новый инструмент для Повелителей Хаоса: AWS Fault Injection Simulator AWS Fault Injection Simulator (FIS) — инструмент, который позволит реализовывать заранее известные сценарии внутреннего сбоя системы внутри сервисов AWS. Зачем? — чтобы команды смогли отработать сценарии их ликвидации и в целом оценить поведение своего продукта в предложен...

[Перевод] Как разработать ансамбль Light Gradient Boosted Machine (LightGBM) В преддверии старта нового потока курса «Машинное обучение» представляем вашему вниманию материал о Light Gradient Boosted Machine (далее — LightGBM), библиотеке с открытым исходным кодом, которая предоставляет эффективную и действенную реализацию алгоритма градиентного буст...

[Перевод] Практика по Котлину: Создание веб приложений на React и Kotlin/JS От переводчика. Привет! Про Kotlin есть стереотип, будто бы это язык для разработки только под Android. На самом деле, это совсем не так: язык официально поддерживает несколько платформ (JVM, JS, Native), а также умеет работать с библиотеками для этих платформ, написанных на...

RoT- атаки: тактика нового поколения Согласно отчету кибербезопасности Check Point 2020, атаки с использованием вымогателей были очень распространены из-за высокой успешности. При этом типе кибератак киберпреступники требовали от компаний выкуп за украденную информацию. В среднем 8 % компаний становятся жертвам...

ITSM и DevOps: некоторые практические рекомендации по совместному применению Уже много написано об IT service management (ITSM) и DevOps. Большая часть статей посвящена противопоставлению ITSM и DevOps или даже тому, как DevOps «убивает» ITSM. К счастью, некоторые ведущие эксперты по DevOps высоко оценивают необходимость в совместной раб...

[Перевод] Распечатанный четвероногий робот под управлением Arduino Я активно интересуюсь роботами, и недавно сделал двуногого робота под управлением Arduino. После этого я захотел сделать четвероногого робота, имитирующего таких животных, как собаки или кошки. В данной статье я расскажу про проектирование и сборку четвероногого робота. О...

Число попыток использования уязвимостей Microsoft Exchange увеличилось в 10 раз после их обнаружения П данным Check Point Research, согласно статистике на сегодняшний день, чаще всего атаковали США (17% всех попыток), Германию (6%), Великобританию (5%), Нидерланды (5%) и Россию (4%).Больше всего атак было на государственный/военный сектор (23% всех попыток использования уяз...

[Перевод] Готовим console.log() правильно Специально к старту нового потока курса «Frontend-разработчик» делимся с вами полезным переводом. Автор рассказывает, как использует методы логирования в производственной среде собственного проекта и в чём именно они помогают. Кроме того, нас знакомят с платформой AppSignal,...

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

Опробовать новую косметику теперь можно прямо в поиске Google Компания Google запустила новую полезную функцию в своём фирменном поисковике на основе технологий дополненной реальности.  Новшество позволит опробовать новые инструменты макияжа, «примерив», например, помаду или тени, не выходя из дома - прямо в резу...

Наиболее распространённые схемы телефонного и онлайн-мошенничества в 2020 году Среди наиболее популярных у скамеров схем в этом году можно выделить:сообщения на тему различных социальных выплат, в том числе связанных с коронавирусной инфекцией (таких ресурсов было обнаружено порядка 15,6 тысяч);предложения, связанные с досками объявлений, сервисами дос...

В процессорах на архитектуре Arm Armv8-A найдена уязвимость, позволяющая злоумышленнику получить несанкционированный доступ к данным Вчера в базе данных ITL NVD (Information Technology Laboratory National Vulnerability Database) была обновлена появившаяся на днях информация о новой уязвимости, относящейся к той же категории, что и печально известные уязвимости Spectre и Meltdown. Уязвимость к атакам ...

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

Когда путь важнее цели. Сколько нам еще остается до полноценной термоядерной энергетики? Так выглядел строящийся комплекс ITER в феврале 2020 года. ITER может стать первой установкой, которая позволит получить «горящую» или самоподдерживаемую термоядерную плазму. В этом строящемся сооружении будут расположены термоядерный токамак и системы его обеспечения. Фот...

«Откуда ноги растут» или что предшествует программированию? Всем привет! На днях в рамках образовательной платформы OTUS запускается новый курс: «Архитектура и шаблоны проектирования». В связи со стартом мы провели традиционный открытый урок. На нём изучили особенности монолитного приложения, многоуровневой и бессерверной архитектур....

Обнаружена целевая атака, жертвы которой заражались через часто посещаемые ими сайты Кампания получила название Holy Water, в рамках неё злоумышленники используют нестандартные подходы, но их нельзя назвать технически сложными. Главные особенности - быстрое эволюционирование и применение широкого набора инструментов, в частности атакующие использовали хранил...

Пользователи Windows 10 в опасности. Microsoft настоятельно рекомендует всем обновить ОС Компания Microsoft опубликовала важное обновление для операционной системы Windows 10, которые настоятельно рекомендуют установить всем пользователям. Рендмондская компания при помощи этого обновления закрыла четыре очень серьезные бреши в системе безопасности операцион...

[Перевод] Отец искусственного интеллекта Джефф Хинтон: «Глубокое обучение сможет делать всё» В преддверии старта нового потока курса «Machine Learning Pro + Deep Learning», делимся с вами переводом интервью MIT Technology Review с профессором Джеффри Хинтоном, который в 2012 году со своими студентами победил на ImageNet, применив глубокое обучение и добившись таким ...

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

Windows 10 будет спрашивать, для каких целей пользователь собирается использовать компьютер Microsoft «обучила» Windows 10 новому приему – ОС при установке будет спрашивать пользователя о том, для каких целей будет использоваться компьютер. Например, будет ли это просто домашний ПК, ПК геймера или школьника. Или, может быть, бизнес-ПК. Всего ...

Сокеты в ОС Linux В данной статье будет рассмотрено понятие сокета в операционной системе Linux: основные структуры данных, как они работают и можно ли управлять состоянием сокета с помощью приложения. В качестве практики будут рассмотрены инструменты netcat и socat. Читать далее

[Перевод] Понимание деревьев решений в машинном обучении и их реализация с помощью Python Совсем скоро, 20 ноября, у нас стартует новый поток «Математика и Machine Learning для Data Science», и в преддверии этого мы делимся с вами полезным переводом с подробным, иллюстрированным объяснением дерева решений, разъяснением энтропии дерева решений с формулами и просты...

В процессорах на архитектуре Arm Armv8-A найдена уязвимость, позволяющая злоумышленнику получить несанкционированный доступ к данным Вчера в базе данных ITL NVD (Information Technology Laboratory National Vulnerability Database) была обновлена появившаяся на днях информация о новой уязвимости, относящейся к той же категории, что и печально известные уязвимости Spectre и Meltdown. Уязвимость к атакам ...

Книга «Ловушка для багов. Полевое руководство по веб-хакингу» Привет, Хаброжители! «Чтобы чему-то научиться, надо применять знания на практике. Именно так мы освоили ремесло взлома» — Майкл Принс и Йоберт Абма, соучредители HackerOne. «Ловушка для багов» познакомит вас с белым хакингом — поиском уязвимостей в системе безопасности. Нев...

[Перевод] Работа с непредвиденными данными в JavaScript Одна из основных проблем в работе с динамически типизированными языками заключается в том, что невозможно всегда гарантировать правильность потока данных, так как невозможно принудительно задать для параметра или переменной значение, например отличное от null. В таких случ...

[Перевод] Высокопроизводительная сборка мусора для C++ Мы уже писали о сборке мусора для JavaScript, о DOM, и о том, как всё это реализовано и оптимизировано в JS-движке V8. Правда, Chromium — это не только JavaScript. Большая часть браузера и движок рендеринга Blink, куда встроен V8, написаны на C++. JavaScript можно использова...

Edge Canary теперь дает возможность открывать файлы Office в браузере Microsoft работает над новой функцией для браузера Edge, которая позволит пользователям открывать файлы Microsoft Office прямо в браузере, а не загружать их. Эта функция была замечена пользователем под ником «Leopeva64-2» в Edge Canary, но даже если у вас установлена последн...

Найден способ взлома Android-устройств через Bluetooth без сопряжения Компания ERNW, специализирующаяся на информационной безопасности, сообщила об обнаружении нового способа взлома Android-устройств.Специалисты доказали, что Android-смартфоны можно взламывать удалённо через Bluetooth. Дело в том, что устройства, управляемые операционными сист...

Как решать проблемы научных публикаций? В первой части статьи мы рассмотрели проблемы системы научных публикаций, которые затрудняют исследования и распространение данных. Я очень рад, что эта тема оказалась интересной и привлекла множество интересных идей и комментариев. В этот раз обсудим, какие решения уже при...

[Перевод] 5 разных библиотек Python, которые сэкономят ваше время В этой подборке, переводом которой мы решили поделиться к старту курса о машинном и глубоком обучении, по мнению автора, каждая библиотека заслуживает отдельной статьи. Всё начинается с самого начала: предлагается библиотека, которая сокращает шаблонный код импортирования; з...

[Перевод] Шпаргалка по регулярке Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «Regex Cheat Sheet» автора Emma Bostian. Регулярные выражения или «regex» используются для поиска совпадений в строке. Ищем совпадение по шаблону Используем метод .test() const testString = 'My t...

[Перевод] Используем PowerShell для работы с REST API Многие из вас наверняка работают с разнообразными инфраструктурами, используя REST API. А поскольку все более широкие слои населения для автоматизации рутинных задач осваивают PowerShell, то почему бы и не начать применять его для работы с REST API? Сегодня вашему вниманию ...

[Перевод] Оптимизация кода на Python с помощью ctypes Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Внимание: код в этой статье лицензирован под GNU AGPLv3. Я написал это руководство, поскольку не смог найти такого, которое будет объединять в себе все полезное о ctypes. Надеюсь, эта статья ...

На каждом третьем компьютере в России всё ещё стоит Windows 7 Устаревшая версия операционной системы может работать нормально, но, если она уже не поддерживается, её легче атаковать. Когда жизненный цикл системы прекращается, уязвимости остаются незакрытыми, для них не выпускают патчи, что облегчает злоумышленникам доступ к данным.Доля...

Власти Казахстана научились читать зашифрованный трафик своих граждан Как пишет CNews со ссылкой на данные портала ZDnet, 6 декабря 2020 г. пользователи стали получать сообщения с требованием по установке данного сертификата, если они хотят и дальше пользоваться иностранными веб-сервисами.По мнению специалистов ZDnet, после установки сертифика...

Как мы считаем людей с помощью компьютерного зрения Фото из открытых источников Массовые скопления людей создают проблемы в самых разных областях (ритейл, госслужбы, банки, застройщики). Заказчикам необходимо объединять и мониторить информацию о количестве людей во множестве мест: в офисах обслуживания, административных пом...

SkillFactory открывает новый набор на полный курс по Data Science Уже наслышаны про достижения в области машинного обучения, нейросетей и ИИ? Хотелось бы работать в этой сфере, но не знаете, с чего начать? Обратите внимание на сферу Data Science! Большие данные дают неиссякаемое количество возможностей — помогают определять вероятность ра...

Опасная уязвимость в популярной библиотеке Sequelize Привет, Хабр! Данная статья будет интересна тем, кто уже использует библиотеку Sequelize или же только собирается с ней работать. Под катом мы расскажем, чем встроенный функционал operatorAliases может быть вреден и как избежать утечки из собственной базы данных. Читать да...

Яндекс – не Рунет, Рунет – не Яндекс: ФАС попросила немного равноправия Забирает ли Яндекс 20% трафика у аналогичных сервисов за счёт неравенства в поисковой выдаче? Давайте разберёмся. Если вкратце – основная проблема, что Яндекс, пусть и будучи частной компанией, злоупотребляет своим доминирующим положением на рынке интернет-поиска и продви...

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

AspectJ в автоматическом тестировании — несколько практических примеров Мне понравился механизм аспектно-ориентированного программирования (АОП), который используется в Allure Framework для перехвата выполнения тестовых шагов, отмеченных аннотацией @Step. И я попробовал применить его в автотестировании, не подключая к тестам таких монстров, как ...

[Перевод] Linux Unified Key Setup: как защитить флэшки и внешние диски от взлома Посмотрим, как с помощью системы на базе спецификации Linux Unified Key Setup (LUKS) и утилиты Cryptsetup можно зашифровать флэш-накопители, внешние жёсткие диски и прочие переносные устройства, хранящие дорогую вашему сердцу информацию. Чаще всего, пользователи рассуждаю...

[Перевод] 20 инструментов Android-разработчика, о которых вы могли не знать Набор полезных, но не очень известных инструментов и библиотек Android.Работая над статьями о 30 лучших библиотеках и проектах Android 2019 г. и 25 лучших библиотеках и проектах Android 2020 г., я наткнулся на множество замечательных инструментов и проектов, которые могут пр...

[Перевод] DRY CSS: Как использовать каждое объявление только один раз Использование DRY в CSS — это способ максимально избегать повторения в таблицах стилей. Этот подход не панацея, но он достаточно эффективен и является одним из основных методов оптимизации. Поскольку я использовал и изучал его почти 10 лет, в этой статье хочу поделиться сво...

Interprocess communication с использованием GRPC Сегодня хочу рассказать о нашем пути реализации межпроцессного взаимодействия между приложениями на NET Core и NET Framework при помощи протокола GRPC. Ирония заключается в том, что GRPC, продвигаемый Microsoft как замена WCF на своих платформах NET Core и NET5, в нашем случ...

16 советов по разработке для андроид на языке Kotlin. Часть 3 И еще раз здравствуйте! В преддверии старта базового курса по Android-разработке, делимся заключительной частью статьи «16 советов по разработке для андроид на языке Kotlin». Читать первую часть Читать вторую часть LATEINIT Одной из ведущих особенностей Kotlin является е...

Благодаря WhatsApp злоумышленники могут красть файлы с компьютера Специалист по Javascript и безопасности Гал Вейцман (Gal Weizman) из PerimeterX раскрыл технические подробности нескольких серьёзных уязвимостей в популярном мессенджере WhatsApp.  Речь идёт о недочётах в безопасности десктопных клиентов WhatsApp на Windows и macO...

Обработка дат притягивает ошибки или 77 дефектов в Qt 6 Относительно недавно состоялся релиз фреймворка Qt 6, и это стало поводом вновь проверить его с помощью PVS-Studio. В статье будут рассмотрены различные интересные ошибки, например, связанные с обработкой дат. Обнаружение всех этих ошибок хорошо демонстрирует пользу, котору...

Киберполиция задержала 26-летнего киевлянина за распространение вредоносного ПО, ворующего криптовалюту через подмену электронных кошельков (ему грозит до шести лет тюрьмы) Одновременно с оживлением интереса к криптовалютам и подъемом рынка закономерно активизировались и мошенники, в том числе и в Украине. Сегодня Киберполиция рассказала о задержании хакера, разработавшего и распространявшего вредоносное ПО, позволяющего злоумышленникам получат...

[Перевод] Взлом ESP32 путём обхода Secure Boot и Flash Encryption (CVE-2020-13629) Мы провели исследование микроконтроллера Espressif ESP32 на предмет устойчивости к атакам, выполняемым методом внесения сбоев в работу чипов (Fault Injection). Мы постепенно шли к тому, чтобы найти уязвимости, которые позволят нам обойти механизмы защищённой загрузки (Secure...

Почему важно проводить статический анализ открытых библиотек, которые вы добавляете в свой проект Современные приложения строятся из сторонних библиотек как из кирпичиков. Это нормально и единственный вариант завершить проект за разумное время, потратив разумный бюджет. Тем не менее брать все кирпичи без разбора может оказаться не такой уж хорошей идеей. Если есть неско...

Полиморфные аллокаторы C++17 Уже совсем скоро в OTUS стартует новый поток курса «C++ Developer. Professional». В преддверии старта курса наш эксперт Александр Ключев подготовил интересный материал про полиморфные аллокаторы. Передаем слово Александру: В данной статье, хотелось бы показать простые прим...

Управлять правами на уровне объектов Рано или поздно, разработчик на Django встречается с проблемой: как сделать так, чтобы пользователи не могли изменять или удалять, а то и вовсе не видели разных объектов одного и того же типа. Допустим, ваш проект касается хранения информации о проектах. Разные пользователи ...

[Перевод] Работа с библиотеками KTX Когда вы используете Android Java API в Kotlin, к вам достаточно быстро приходит понимание, что вам не хватает некоторых фич Kotlin, которые делают написание кода намного проще и приятнее. Вместо того, чтобы писать свои собственные обертки и функции расширения для этих API, ...

Тестирование StoreKit в Xcode 12 и iOS 14 Привет, Хабр! Меня зовут Сэм, я разработчик в сервисе Qonversion. В этой статье описаны новые возможности для тестирования подписок, представленные Apple во время сессии Introducing StoreKit Testing in Xcode на WWDC 2020. Рынок подписок в мобильных приложениях быстро растет,...

FigmaGen: Автоматизация стилей в iOS-приложении Сейчас многие команды систематизируют дизайн своих приложений. Мы решили пойти дальше и автоматизировать синхронизацию кода с нашей библиотекой компонентов.  Дело в том, что в hh для проектирования UI используется небезызвестный сервис Figma, который, кроме прочих своих плю...

[Из песочницы] Получение котировок акций при помощи Python Привет, Хабр! Представляю вашему вниманию перевод статьи «Historical Stock Price Data in Python» автора Ishan Shah. Статья о том, как получить ежедневные исторические данные по акциям, используя yfinance, и минутные данные, используя alpha vantage. Читать дальше →

[Из песочницы] Метод нечеткой индукции и его применение для моделирования знаний и информационных систем В настоящей статье предложен разработанный автором метод нечеткой индукции как объединение положений нечеткой математики и теории фракталов, введено понятие степени рекурсии нечеткого множества, представлено описание неполной рекурсии множества как его дробной размерности дл...

[Из песочницы] Что такое Flutter и почему вы должны изучать его в 2020 году Привет, Хабр! Представляю вашему вниманию перевод статьи: "What is Flutter and Why You Should Learn It in 2020" автора Gaël Thomas. Что такое Flutter? Flutter — бесплатный и открытый набор средств разработки мобильного пользовательского интерфейса, созданный компанией Google...

[Перевод] Как прошел 2019 год в области математики и Computer Science Перевод статьи подготовлен специально для студентов базового и продвинутого курсов «Математика для Data Science». Математики и информатики за прошедший год добились больших успехов в теории чисел, теории графов, машинном обучении и квантовых вычислениях, даже пересмотрел...

[Перевод] Оптимизация платежей в Dropbox при помощи машинного обучения Представьте ситуацию: вам нужно воспользоваться оплаченным (как вы думаете) сервисом — и вдруг оказывается, что он отключен за неуплату. Такая неприятность портит впечатление от бренда, снижая поток прибыли, а внезапно отключенный клиент может не вернуться к сервису. К старт...

[Перевод] Распределенное обучение XGBoost и параллельное прогнозирование с Apache Spark Привет, Хабр! Уже в конце июля Otus запускает новый курс «Промышленный ML на больших данных». Традиционно, в преддверии старта нового курса, мы подготовили для вас перевод полезного материала. Общие сведения В бустинге (из ансамбля моделей машинного обучения), алгоритмы р...

Тысячи приложений для iPhone сливают данные пользователей из-за неправильных настроек За последние 10 лет популярность облачных сервисов для хранения данных резко выросла. Вы наверняка тоже используете тот же iCloud, Google Диск или Яндекс.Диск, чтобы не занимать место на компьютере или айфоне. Тем более удобно, что многие приложения позволяют хранить данные...

Похититель печенек. Зловред Android ставит под угрозу даже хорошо защищённые аккаунты в соцсетях «Лаборатории Касперского» сообщила о двух новых вредоносных программах под Android, которые способны красть файлы cookie, сохранённые в браузере на смартфонах и в приложениях популярных социальных сетей, включая Facebook. Это позволяет злоумышленникам...

[Перевод] Как мы оптимизировали скрипты в Unity Существует множество отличных статей и туториалов о производительности в Unity. Этой статьёй мы не пытаемся заменить или улучшить их, это всего лишь краткое изложение шагов, сделанных нами после прочтения этих статей, а также шагов, позволивших решить наши проблемы. Настояте...

[Перевод] Масштабирование Redux-приложения с помощью ducks В преддверии старта курса «React.js разработчик» подготовили перевод полезного материала. Как масштабируется front-end вашего приложения? Как сделать так, чтобы ваш код можно было поддерживать полгода спустя? В 2015 году Redux штурмом взял мир front-end разработки и заре...

Как реализовать динамическую диаграмму для Vue на основе SVG Бывает, что на сайте, в корпоративной IT-системе или другом ПО нужно отображать круговые диаграммы с какими-либо данными. Например, это может быть таймер для отсчета времени или индикатор, сколько товаров продано в той или иной категории. Если это статическое изображение, ко...

[Перевод] Эксплуатация большой распределённой системы: чему я научился Читая различные каналы и рассылки, я часто встречаю статьи о конкретных «болях» и проблемах, возникающих при росте компании, когда надежность и масштабируемость выходят на первый план. Эта статья — иная. Здесь нет подробного разбора конкретных архитектурных решений или пош...

[Перевод] 9 метрик, которые могут иметь значение для современных команд по разработке ПО Перевод статьи подготовлен в преддверии старта курса «Team Lead 2.0». Как я отмечал в статье «Why metrics don’t matter in software development unless you pair them with business goals", выбор метрик нужно продумывать очень тщательно, чтобы дать ответы на вопросы, кот...

Apple позволит следить за показателями членов семьи в приложении «Здоровье» Сегодня Apple объявила, что позволит пользователям iOS делиться данными из своего приложения «Здоровье» с членами семьи или другими людьми. Они также смогут предоставить доступ к оповещениям о смене жизненных показателей, включая резкое повышение пульса или изменение передви...

[Перевод] Инструмент AI распознает изображения жестокого обращения с детьми с точностью в 99% Перевод статьи подготовлен в преддверии старта курса «Компьютерное зрение». Разработчики нового инструмента на основе искусственного интеллекта утверждают, что он обнаруживает изображения жестокого обращения с детьми с почти 99 процентной точностью. Инструмент под на...

[Перевод] Три редко используемых возможности Python 3, о которых каждый должен знать Python 3 существует уже какое-то время и довольно много разработчиков, особенно те, кто только начинает свой путь в Python, уже используют эту версию языка. Несмотря на то, что множество новых возможностей широко используются, похоже, что некоторые остались за кадром. В это...

Artificial General Intelligence — поиски Святого Грааля искусственного интеллекта Искусственный интеллект, способный справляться с любыми задачами не хуже человека - чем не мечта. Тема сильного искусственного интеллекта (AGI) скорей всего интересовала почти каждого, однако понять, что в ней происходит на практике оказывается весьма затруднительно. Этой ст...

Курс «Тестирование веб-приложений на проникновение» (WAPT) от победителей The Standoff 2020 Начался новый набор на курс Codeby Security School по тестированию на проникновение веб приложений (WAPT)! Курс отлично подойдет всем, кто желает понять суть хакинга веб приложений и серверов, мер по защите от атак. Ближайший поток курса стартует 1 марта 2021 года, записатьс...

[Перевод] Семь практических советов по массовой загрузке данных в PostgreSQL Вольный перевод статьи «7 Best Practice Tips for PostgreSQL Bulk Data Loading» Иногда возникает необходимость в несколько простых шагов загрузить в БД PostgreSQL большой объём данных. Данная практика обычно называется массовым импортом, когда в качестве источника данных служ...

Названы главные киберугрозы 2020 года Компания Avast представила ежегодный доклад Threat Landscape Report с прогнозами в области кибербезопасности на 2020 год.Какие тенденции можно выделить?Во-первых, злоумышленники будут искать новые методы распространения угроз. Глава направления по исследованию угроз компании...

Почему браузеры создают так много процессов Процессы – это части программ, и в Windows 10 обычно выполняется большое количество процессов. Чтобы изучить свои процессы в Windows 10, вы можете открыть Диспетчер задач и затем просмотреть вкладку процессов. Их много, и многие процессы определенно важны. Некоторые из них, ...

«Техносерв Консалтинг» представляет решение TSC Rocket TSC Rocket SBL повышает скорость реализации и вывода новых продуктов за счет автоматизации процессов подготовки и выпуска нового функционала для системы и минимизирует возникновение возможных ошибок. Доступный и удобный интерфейс позволяет отслеживать состояния стендов разра...

Пентагон ищет защиту от гиперзвукового оружия Заявки на участие в тендере Пентагон принимает по 19 марта нынешнего года. В его рамках планируется разработать систему, которую назвали Hypersonic Defense Regional Glide Phase Weapons System, или RGPWS. Программа предполагает создание перехватчика гиперзвуковых целей и сист...

[Перевод] Vanilla All the Way. Ванильное облачное решение на K8s Публикуем перевод статьи о Vanilla Stack — новой облачной open-source технологии на основе Kubernetes. Недавно я наткнулся на стек технологий Vanilla Stack, включающий в себя множество компонентов с открытым кодом. В этой статье мы кратко рассмотрим процесс их установки и ра...

[Перевод] Управление пакетами с помощью модулей Go: Прагматическое руководство Всем привет. В преддверии старта курса «Разработчик Golang» подготовили для вас еще один интересный перевод. Модули — это способ борьбы с зависимостями в Go. Изначально представленные в качестве эксперимента, модули предполагают вывести на поле в качестве нового стандарта ...

Рособрнадзор будет использовать систему распознавания почерка на ЕГЭ "Пропускаем работы через программу, она определяет почерк. Порядка 35 работ экспертиза подтвердила, что они выполнены разными участниками экзамена. Подавляющее большинство подмен было в следующей последовательности: на сочинение приходил кто-то другой. А на ЕГЭ мы видел...

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

Как поменять время отображения списка загружающихся операционных систем на Windows 10 Вы используете систему с двойной загрузкой? В таком случае можно поменять время отображения списка доступных операционных систем. В этой статье описываются четыре способа выполнить эту задачу. Если Windows 10 находит на компьютере другую операционную систему, при включении к...

Разработка приложения с использованием Python и OpenCV на Android устройстве В это статье я хочу показать пример того, как андроид устройство можно использовать для разработки на таких языках программирования как python с библиотекой opencv в среде VSCode (будет использован code-server). В конце статьи приведено небольшое сравнение производительнос...

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

[Перевод] Реализации кэша в C# .NET Привет, Хабр! В преддверии старта курса «C# ASP.NET Core разработчик», подготовили перевод интересного материала о реализации кэша в C#. Приятного прочтения. Одним из наиболее часто используемых паттернов в разработке программного обеспечения является кэширование. Это прос...

[Перевод] Руководство по отладке бессерверных приложений Все началось в 1953 году, когда компания IBM выпустила свой первый коммерческий компьютер. И вот сегодня мы обсуждаем бессерверную архитектуру. За прошедшие годы вычислительная техника не только совершила настоящую революцию в том, как строится работа современных компаний,&n...

Microsoft анонсировала октябрьский пакет обновлений для OneDrive Компания Microsoft анонсировала декабрьский пакет обновлений для OneDrive. [Создание общей библиотеки в OneDrive в Интернете OneDrive подключает вас ко всем вашим файлам - будь то индивидуальные рабочие файлы или общие командные файлы. Microsoft обновляет существующий опыт с...

Учения по обеспечению устойчивой работы Рунета отложены из-за коронавируса Согласно приказу министерства, учения проводятся четыре раза в год в конце каждого квартала, они направлены на отработку отдельных механизмов реагирования на угрозы устойчивой и безопасной работы Рунета. Цель запланированных ранее на 20 марта учений - отработка возможностей ...

iOS 14 может подсказать, насколько надежны ваши пароли на сайтах В дополнение к переработанному главному экрану с виджетами, библиотеке приложений и таким функциям, как CarKey, в iOS 14 и iPadOS 14 также появились важные усовершенствования в «Связке ключей» iCloud. Теперь в разделе «Пароли», помимо, собственно, самих паролей, есть отдель...

Группировка Lazarus взяла на вооружение RAT-троян Dacls Специалисты Netlab 360 зафиксировали кампанию по распространению ранее неизвестного модульного трояна, получившего название Dacls. Зловред атакует компьютеры под управлением Windows и Linux через RCE-уязвимость в макросе системы Atlassian Confluence, закрытую еще в марте это...

Обнаружена новая кампания кибершпионажа в Азиатско-Тихоокеанском регионе Дальнейший анализ показал, что вредоносную кампанию с использованием усовершенствованных техник провели злоумышленники, связанные с Cycldek - китайскоязычной APT-группировкой, действующей по меньшей мере с 2013 года.Зачастую китайскоязычные APT-группировки делятся методиками...

Безопасная "удалёнка": как сочетать ИБ и home office Процесс массового перехода на удаленный формат работы очевиден. Интернет-трафик смещается в спальные районы Москвы, растет трафик мессенджеров как личных, так и корпоративных. Все это приведет к увеличению количества атак и росту ущерба от них. Уже сегодня наблюдается резкое...

Тестирование в Kotlin при помощи Spock Цель статьи заключается в том, чтобы показать какие возникают трудности при использовании Spock с Kotlin, какие есть пути их разрешения и ответить на вопрос, стоит ли использовать Spock, если вы разрабатываете на Kotlin. Подробности под катом. Читать дальше →

[Перевод] «Ленивая» загрузка с помощью Intersection Observer API Доброго времени суток, друзья! В данной статье мы познакомимся с Intersection Observer API, новым мощным инструментом для «ленивой» загрузки изображений и других элементов на странице, поддерживаемым всеми современными браузерами. Мы можем использовать этот инструмент для...

Киберпреступники используют Telegram-ботов и Google-формы для автоматизации фишинга Telegram-боты также применяются киберпреступниками в готовых платформах для автоматизации фишинга, доступных в даркнете: в них на основе ботов реализована административная часть, с помощью которой контролируется весь процесс фишинговой атаки и ведется учет похищенных денег. ...

[Перевод] 5 приемов по разделению «бандла» и «ленивой» загрузке компонентов в React Разделение Javascript-кода на несколько файлов называется разделением «бандла» или сборки (bundle splitting). Это позволяет загружать только тот код, который который используется приложением в данный момент, другие части загружаются по необходимости (по запросу пользователя...

Разработан инструмент для легкого поиска Android-приложений на смартфонах Huawei Одна из основных проблем современных смартфонов Huawei — отсутствие в них магазина приложений Google, из-за чего устройства лишены доступа к огромной библиотеке разработок от различных компаний. К счастью, прямо сейчас, все владельцы Huawei Mate 30 и прочих новых смартфонов ...

[Перевод] Docker Compose: от разработки до продакшена Перевод транскрипции подкаста подготовлен в преддверии старта курса «Администратор Linux» Docker Compose — это удивительный инструмент для создания рабочего окружения для стека, используемого в вашем приложении. Он позволяет вам определять каждый компонент вашего приложени...

[Перевод] Наш путь к нулевым простоям при непрерывном обновлении с помощью Ambassador Мы в Lifion строим распределенную платформу и портфель продуктов для клиентов по всему миру. С учетом этого важно, чтобы мы могли выпускать обновления нашей платформы непрерывно прямо во время ее работы, прозрачно для наших пользователей, которым важна доступность системы, ...

Накопительное обновление Windows 10 Build 18363.1198 доступно для скачивания Для тех, кто все еще использует Windows 10 версии 1903 и 1909, теперь доступно новое накопительное обновление. Неудивительно, что компания снова опубликовала прямые ссылки для загрузки автономных установщиков Windows 10 KB4586786, так что вы можете легко обновить свое устрой...

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

Благодаря WhatsApp злоумышленники могут красть файлы с компьютера Специалист по Javascript и безопасности Гал Вейцман (Gal Weizman) из PerimeterX раскрыл технические подробности нескольких серьёзных уязвимостей в популярном мессенджере WhatsApp.  Речь идёт о недочётах в безопасности десктопных клиентов WhatsApp на Windows...

Мониторинг БД Oracle с помощью OEM Привет! Меня зовут Александра, я работаю в команде тестирования производительности. В этой статье расскажу базовые сведения об OEM от Oracle. Статья будет полезна для тех, кто только знакомится с платформой, но и не только для них. Основная цель статьи — помочь провести бы...

[Перевод] Краткое руководство по разработке чартов в Helm Unsplash by Frank Eiffert Helm — мощный инструмент для применения, обновления и управления приложениями в Kubernetes. Сообщество Helm создает множество чартов с открытым исходным кодом. Вы можете развернуть Redis, Nginx или Prometheus Operator с помощью одной команды. И они...

Операторы раскритиковали новые правила от Минцифры “КоммерсантЪ” ознакомился с отзывами МТС и "Вымпелкома" на разработанный Минцифры проект постановления правительства о внесении изменений в "Правила централизованного управления сетью связи общего пользования". Документ опубликован для общест...

[Перевод] Ванильный JavaScript и HTML. Никаких фреймворков. Никаких библиотек. Никаких проблем Используете для создания приложений Vue, React, Angular или Svelte? Я использую, и если вы тоже, и уверен, что вам уже давно не приходилось писать приложение, которое выводит информацию без этих прекрасных инструментов. Когда-то многие из нас писали веб-приложения только с...

Изучаем React: 300+ вопросов для подготовки к собеседованию Доброго времени суток, друзья! Представляю вашему вниманию первую версию репозитория с большим количеством вопросов (с ответами, разумеется) по React и связанным с ним технологиям. А много — это сколько? Это 322. Почему первая версия? Потому что будет еще и вторая, прим...

Угадайте, зачем воруют iPhone в Бразилии? Спойлер: не для продажи iPhone – один из тех смартфонов, красть которые ну практически бессмысленно. Мало того, что владелец может его принудительно заблокировать, так ещё и отыскать с помощью приложения «Локатор», независимо от того, заряжен он или нет. Так что его даже на запчасти не продашь. А,...

Создаем прогрессивное веб-приложение на ReactJS и размещаем его в Netlify и PWA Store Доброго времени суток, друзья! Представляю Вашему вниманию перевод серии статей автора K G Prajwal, посвященных созданию Weather PWA на ReactJS, разворачиванию приложения в Netlify и его загрузке в PWA Store. React React — продукт Facebook. Это очень гибкая и эффективная J...

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

[Перевод] Как экономить память и удваивать размеры моделей PyTorch с новым методом Sharded Модели глубокого обучения улучшаются с увеличением количества данных и параметров. Даже с последней моделью GPT-3 от Open AI, которая использует 175 миллиардов параметров, нам ещё предстоит увидеть плато роста количества параметров. Для некоторых областей, таких как NLP, ра...

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

Как описать 100 Gitlab джоб в 100 строк В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml Дано Есть монорепа, в которой: 10 Dockerfiles 30 описанных деплоев 3 окружения: devel, staging...

[Перевод] Детектор космических лучей. Часть 2: сборка и пробное тестирование В первой части серии мы разобрали, что такое первичные и вторичные космические лучи, а также в общих чертах рассмотрели устройство, с помощью которого будем регистрировать последние. В этой же статье мы подробнее рассмотрим принцип работы детектора мюонов, после чего пере...

[Перевод] Почему SQL Server не гарантирует сортировку результатов без ORDER BY И снова здравствуйте. В июне OTUS вновь запускает курс «MS SQL Server разработчик», традиционно в преддверии старта курса мы начинаем делиться с вами материалом по теме. Если в вашем запросе отсутствует ORDER BY, то вы не можете быть уверены в том, что сортировка результато...

[Перевод] Многопоточность. Модель памяти Java (часть 2) Привет, Хабр! Представляю вашему вниманию перевод второй части статьи «Java Memory Model» автора Jakob Jenkov. Первая часть тут. Аппаратная архитектура памяти Современная аппаратная архитектура памяти несколько отличается от внутренней Java-модели памяти. Важно понимать апп...

Общие понятия о системах обнаружения и предотвращения вторжений И снова здравствуйте. В преддверии старта курса «Реверс-инжиниринг» решили поделиться с вами небольшой статьей по информационной безопасности, которая хоть и имеет довольно косвенное отношение к реверс-инжинирингу, но для многих может стать полезным материалом. Глобальны...

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

Большинство APT-группировок атакуют госорганизации По информации Positive Technologies, 87% атакующих госучреждения APT-группировок начинают атаки с фишинга. В целом на госорганизации нацелены 68% всех рассмотренных APT-группировок. "В информационных системах госорганизаций хранятся и обрабатываются критически важные данные,...

[Из песочницы] 10 лучших инструментов для автоматизации тестирования ПО Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Automated Software Testing Tools» автора Pratik Satasiya. Боб Иган, директор по исследованиям Sepharim Research, говорил о мобильной безопасности. Он выступил с заявлением на Enterprise Mobility Trends 2016: «...

[Из песочницы] Бот для сборов. Собираемся на футбол с новыми технологиями Введение Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS. На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!". Да, похожие публикации уже были и ...

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

Немного SQL алхимии О популярной библиотеке SQLAlchemy для работы с разными СУБД из Python было написано довольно много статей. Предлагаю вашему вниманию обзор и сравнение запросов с использованием ORM и SQL подходов. Данное руководство будет интересно прежде всего начинающим разработчикам, пос...

[Перевод] Как образуются астрофизические кротовые норы и как мы можем их наблюдать Червоточины, кротовины или кротовые норы (англ.: Wormholes) — это гипотетические пространственно-временные структуры с нетривиальной топологией, соединяющие либо две области одной вселенной, либо две разные вселенные. Входы в червоточину называются "устьями", а область между...

[Перевод] Clustergram: визуализация кластерного анализа на Python В этой статье, переводом которой мы решили поделиться специально к старту курса о Data Science, автор представляет новый пакет Python для генерации кластерограмм из решений кластеризации. Библиотека была разработана в рамках исследовательского проекта Urban Grammar и совмест...

[Перевод] Невидимые символы, скрывающие веб-шелл в зловредном коде на PHP В ноябре мы писали о том, как злоумышленники используют инъекции JavaScript для загрузки зловредного кода из файлов CSS. Поначалу незаметно, что эти инъекции содержат что-то, кроме безобидных правил CSS. Однако при более тщательном анализе файла .CSS обнаруживается 56 964...

Встраиваем карты от Huawei в Android приложение В предыдущих статьях мы создавали аккаунт разработчика для использования Huawei Mobile Services и подготавливали проект к их использованию. Потом использовали аналитику от Huawei вместо аналога от Google. Также поступили и с определением геолокации. В этой же статье мы буде...

Практическое занятие «Поиск вредоносного ПО в IoT» Продолжаем серию занятий по разбору CTF-задач для тех, кто начинает карьеру в ИТ и ИБ. Ближайший вебинар стартует в четверг 23 апреля в 18:00 и будет посвящен поиску вредоносного ПО в IoT. Будем разбирать протокол общения вредоносного ПО с C&C-серверами на примере ботне...

[Перевод] Использование API Gateway в качестве единой точки входа для веб-приложений и API Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение Преимущества AWS, такие как высокая доступность, масштабируемость и эластичность, уже доказали свою эффективность для SaaS-провайдеров (Software-as-a-Service). При модернизац...

Зафиксирован растущий интерес злоумышленников к Linux-системам За последние восемь лет такие операции проводили более десяти развитых кибергрупп, в том числе Barium, Sofacy, Lamberts, Equation, TwoSail Junk c зловредами LightSpy и WellMess. Вредоносные инструменты, нацеленные на Linux-системы, позволяют злоумышленникам делать атаки боле...

Злоумышленники начали активно разрабатывать нативные зловреды под Apple M1. Первый пошел Один из доводов «маководов» в пользу своей системы — то, что под нее крайне мало зловредного ПО. А то, что есть, нужно запускать едва ли не вручную, с обходом всех систем защиты, поэтому опасности большинство зловредов под Mac не представляют. Но MacOS становится все популя...

Все характеристики и цена Xiaomi Mi 11 Ultra за пару часов ... Сегодня пройдет выставка достижений Xiaomi, на которой она покажет несколько своих новинок. Естественно, что максимум внимания уделят новым флагманам, среди которых особо будет выделяться Xiaomi Mi 11 Ultra. Он станет первым смартфоном компании, который получит защиту от вод...

Все характеристики и цена Xiaomi Mi 11 Ultra за пару часов ... Сегодня пройдет выставка достижений Xiaomi, на которой она покажет несколько своих новинок. Естественно, что максимум внимания уделят новым флагманам, среди которых особо будет выделяться Xiaomi Mi 11 Ultra. Он станет первым смартфоном компании, который получит защиту от вод...

[Перевод] Побег из песочницы с Python В преддверии старта курса «Python Developer. Professional» подготовили перевод пусть и не самой новой, но от этого не менее интересной статьи. Приятного прочтения! Вчера прошел отборочный тур Nuit du Hack CTF 2013. Как обычно, в нескольких заметках я расскажу об интересных...

Microsoft упростит удаление файлов в Windows 10, которые заблокированы «Проводником» По умолчанию Windows 10 не позволяет удалять, перемещать или переименовывать файлы, открытые в других приложениях. Для изменения заблокированных файлов пользователю необходимо идентифицировать и закрыть приложение, которое их использует. Определить такое приложение не всегда...

Group-IB сообщила о случаях перехвата переписки в Telegram Компания Group-IB, специализирующаяся на информационной безопасности, сообщила о случаях получения нелегального доступа к содержимому переписки в Telegram. При этом доступ был получен к перепискам как пользователей iOS, так и Android, а также у клиентов разных операторов сот...

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

[Из песочницы] Создаем аудиовизуальный VR-опыт с применением A-Frame и Tone.js Привет, Хабр! Представляю вашему вниманию перевод статьи «Creating A VR Audio/Visual Experience On the Web With A-Frame and Tone.js» автора Sean Sullivan. A-Frame — это фреймворк для создания виртуальной реальности в вебе. Используя лишь ссылку, любой человек с VR-шлемом ...

Grafana+Zabbix: Визуализация работы производственной линии В этой статья я хочу поделиться опытом использования open source систем Zabbix и Grafana для визуализации работы производственных линий. Информация может быть полезна тем, кто ищет быстрый способ визуального отображения или аналитики собранных данных в проектах промышленной ...

Как злоумышленники используют информацию о компаниях против них В феврале 2021 года "Лаборатория Касперского" обнаружила 1646 BEC-атак по всему миру. Это атаки, при которых злоумышленники переписываются с сотрудниками компании под видом одного из них. Они являются одним из методов корпоративного доксинга. Для проведения BEC-ата...

[Перевод] Знакомимся с Event Sourcing. Часть 1 Перевод статьи подготовлен в преддверии старта курса «Java Developer. Professional». Event sourcing (источники событий, регистрация событий, генерация событий) — это мощный архитектурный шаблон, при котором все изменения, вносимые в состояние приложения, сохраняются в той ...

[Перевод] Flutter.dev: Простое управление состоянием приложения Всем привет. В сентябре OTUS запускает новый курс «Flutter Mobile Developer». В преддверии старта курса мы традиционно подготовили для вас полезный перевод. Теперь, когда вы знаете о декларативном программировании пользовательского интерфейса и разнице между эфемерным сос...

Рассылка вирусов, перехват SMS: как утечка в Facebook отразится на россиянах Около 10 млн пользователей из России стали жертвами утечки в Facebook, о которой стало известно на прошлой неделе. При этом социальная сеть не собирается уведомлять пострадавших о возможной компрометации их личных данных, так что узнать о том, что ваша персональная информац...

Security Week 52: безопасность умных колонок и IP-камер Еще в октябре исследователи из компании SRLabs показали, как можно менять поведение умных колонок Amazon Echo и Google Home для подслушивания разговоров или даже фишинга паролей (новость, исследование). Для последнего даже существует специальный термин — vishing, он же voice...

[Перевод] Алгоритм AdaBoost Перевод статьи подготовлен в преддверии старта продвинутого курса «Математика для Data Scienсe». Введение Алгоритм AdaBoost можно использовать для повышения производительности любого алгоритма машинного обучения. Машинное обучение стало мощным инструментом, позволяющим д...

[Перевод] Найти и не обезвредить: пишем пентесты с Kali Linux Kali и другие подобные инструменты помогают обнаружить уязвимости в вашем ПО. И лучше, если первыми их найдёте вы, а не злоумышленники. Шило в мешке не утаить: по неведению (правда, в некоторых случаях — умышленно) даже крупные корпорации оставляют дыры в своей системе без...

UbuntuDDE: замечательный гибрид Привет, %username%. Вот уже на протяжении 15 лет провожу над собой забавный эксперимент. Заключается он в том, чтобы пробовать разные дистрибутивы Linux и делать однозначный вывод о возможности использования в качестве основной десктопной ОС. Времена, когда Linux был не сли...

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

[Перевод] Серфинг интернета геймпадом (Javascript) Сидя за столом, вы используете мышку и клавиатуру, сидя на диване — скорей всего тачпад ноутбука или тачскрин планшета. Возможно, вы даже используете Leap Motion и управляете компьютером с помощью жестов. Как вы уже поняли, существует множество способов серфить интернет и у...

Виджеты и библиотека приложений в iOS 14 навсегда изменят экран вашего iPhone Главный экран iPhone практически не менялся со времени дебюта iPhone 13 лет назад. Он представлял собой простую сетку иконок и оставался таким же вплоть до выхода iOS 13 (где в iPad впервые появились виджеты). В iOS 8 Apple добавила поддержку виджетов, хотя снова по своему ...

Доступ к сайту по ключу. Защита от непрошеных гостей в I2P Существует много сервисов, задача которых заключается в защите клиентов от DDoS-атаки. Как правило, они раскрывают и анализируют даже зашифрованный трафик, а также проводят некоторые аналитические действия с браузером пользователя, чтобы наверняка распознать злонамеренную на...

[Перевод] DataHub с открытым исходным кодом: платформа поиска и обнаружения метаданных от LinkedIn DataHub с открытым исходным кодом: платформа поиска и обнаружения метаданных от LinkedIn Быстрый поиск нужных данных необходим для любой компании, которая полагается на большое количество данных для принятия решений на основе этих данных. Это не только влияет на продуктивнос...

Злоумышленники злоупотребили сертификатом Mimecast для доступа аккаунтам Microsoft 365 Компания Mimecast, разрабатывающая облачные продукты для управления электронной почтой, предупредила своих клиентов, что в распоряжении неизвестного хакера оказался один из ее цифровых сертификатов. Злоумышленник злоупотребил им, чтобы получить доступ к некоторым учетным зап...

[Из песочницы] PRESENT — ультралегкое блочное шифрование (перевод оригинальной статьи PRESENT: An Ultra-Lightweight Block Cipher) Привет, Хабр! Привожу тут перевод оригинальной статьи «PRESENT: An Ultra-Lightweight Block Cipher» за авторством Robert B. Weide Богданова, Лендера, Паара, Пошмана, Робшава, Сеурина и Виккелсоя. Аннотация После внедрения AES потребность в новых алгоритмах блочного шифрова...

Это фиаско, WhatsApp. Кто угодно может заблокировать вашу учётную запись Обнаружена серьёзная брешь в системе безопасности WhatsApp, которая может быть использована злоумышленниками, чтобы заблокировать вашу учетную запись. Единственная информация, которая нужна злоумышленнику, — это ваш номер телефона. Сначала хакер устанавливает...

[Перевод] CRLF-инъекции и HTTP Response Splitting Привет, Хабровчане! В преддверии старта занятий в ближайшей группе профессионального курса «Безопасность веб-приложений», мы подготовили для вас еще один полезный перевод. Что такое CRLF? Когда браузер отправляет запрос веб-серверу, тот отправляет ответ, который содержит за...

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

[Перевод] Разработка графического профайлера Python FunctionTrace Сегодня мы делимся с вами переводом статьи создателя FunctionTrace — профайлера Python с интуитивно понятным графическим интерфейсом, который может профилировать многопроцессорные и многопоточные приложения и потребляет на порядок меньше ресурсов, чем другие профайлеры Pyt...

В Google Play обнаружили множество новых троянов для Android Компания «Доктор Веб», специализирующаяся на кибербезопасности, опубликовала отчёт по вредоносной активности для мобильных устройств в январе 2021 года.  И хотя общее количество угроз, определённых на Android-устройствах, снизилось, в январе специалист...

Ассоциация участников отрасли ЦОД и АНО НИИУРС заключили соглашение о стратегическом партнерстве Автономная некоммерческая организация «Научно-исследовательский институт устойчивого развития в строительстве» (АНО «НИИУРС») и Ассоциация участников отрасли ЦОД заключили соглашение о стратегическом сотрудничестве. Целью соглашения являются обмен опытом, совместная научно-и...

Kubernetes: мониторинг c помощью Prometheus Привет, Хабр! Меня зовут Радик, Head of DevOps of AGIMA! В этой статье я постарался показать, как можно использовать Prometheus в качестве системы мониторинга для микросервисной архитектуры. Подробно рассмотрел архитектуру Prometheus и взаимодействие его компонентов. О...

[Перевод] Топ-10 уязвимостей мобильных приложений и способы их устранения По данным Statista в мире насчитывается около 3.5 млрд. пользователей смартфонов. Это значит, что жертвами небезопасных мобильных приложений могут стать очень многие. Подготовленный фондом OWASP cписок 10 наиболее актуальных уязвимостей приложений – это отличный ресурс д...

Google выпустила сразу два обновления для Android. Зачем так много? Регулярность, с которой Google выпускает обновления для Android, с лихвой компенсируется перебоями в распространении. Ведь редкий смартфон сегодня получает их вовремя и в нужном количестве. В большинстве случаев апдейты либо добираются до аппаратов с большой задержкой, либо...

Bluetooth на смартфонах Android оказался опасен. Что делать Немецкая компания ERNW, специализирующаяся на безопасности, рассказала об обнаруженной критической уязвимости Bluetooth в операционной системе Android. Уязвимость получила название BlueFrag.  Если на гаджете включён Bluetooth, уязвимость позволяет злоумышленникам ...

Можно ли генерировать случайные числа, если мы не доверяем друг другу? Часть 1 Привет, Хабр!В этой статье мы обсудим генерацию псевдо-случайных чисел участниками, которые не доверяют друг другу. Как мы увидим ниже, реализовать “почти” хороший генератор достаточно просто, а вот очень хороший – сложно.Зачем вообще нужно генерировать случайные числа участ...

[Перевод] Выжимаем из Gears Tactics максимальную производительность с минимальными артефактами при помощи VRS Gears Tactics — динамичная пошаговая стратегия во вселенной одной из самых известных игровых франшиз — Gears of War. Кроме того, это первая игра, поддерживающая одну из основных функций DirectX 12 Ultimate — Variable Rate Shading (VRS). VRS позволяет Gears Tactics добиться ...

[Перевод] Как защитить Python-приложения от внедрения вредоносных скриптов Python-приложения используют множество скриптов. Этим и пользуются злоумышленники, чтобы подложить нам «свинью» — туда, где мы меньше всего ожидаем её увидеть. Одним из достоинств Python считается простота использования: чтобы запустить скрипт, нужно просто сохранить его ...

[Перевод] Тестирование пределов зрения человека квантовыми состояниями света: прошлые, настоящие и будущие эксперименты Статья посвящена обзору достижений и планируемым исследованиям квантовых возможностей зрительной системы человек в продолжении темы затронутой в этой публикации. Исследования носят существенно междисциплинарный характер на стыке квантовой физики и когнитивной науки. Переведе...

Xiaomi создала команду специалистов для решения проблем MIUI Один из топ-менеджеров Xiaomi, возглавляющий подразделение MIUI Experience, объявил, что в преддверии выпуска MIUI 13 компания создала комитет под названием MIUI Pioneer Group. Его цель — решение всевозможных проблем, с которыми сталкиваются пользователи MIUI. Участники кома...

Часы Apple Watch могут стать модульными Бюро по патентам и товарным знакам США недавно опубликовало заявку, поданную Apple, в которой описана система подключаемых модулей для устройства Apple Watch, расширяющая его функциональность. Как сказано в заявке, функциональность Apple Watch сейчас определяется компон...

Злоумышленники крадут деньги через корпоративные VPN-сервисы «Лаборатория Касперского» раскрыла новую серию атак на финансовые и телекоммуникационные компании, базирующиеся в Европе. Главная цель злоумышленников — хищение денег. Кроме того, сетевые мошенники пытаются украсть данные для доступа к интересующей их финансовой информации.

[Перевод] Антипаттерны событийно-ориентированной архитектуры И снова здравствуйте! В преддверии старта курса «Архитектор ПО» подготовили перевод еще одного интересного материала. Последние несколько лет наблюдается рост популярности микросервисной архитектуры. Есть много ресурсов, которые учат правильно ее реализовывать, однако дост...

Книга «Программируем с PyTorch: Создание приложений глубокого обучения» Привет, Хаброжители! Ян Пойнтер поможет разобраться, как настроить PyTorch в облачной среде, как создавать нейронные архитектуры, облегчающие работу с изображениями, звуком и текстом. Книга охватывает важнейшие концепции применения переноса обучения, модели отладки и исполь...

[Перевод] Настройка ядра Linux для GlusterFS Перевод статьи подготовлен в преддверии старта курса «Administrator Linux. Professional». Периодически то тут, то там возникают вопросы о рекомендациях Gluster относительно настройки ядра и есть ли в этом необходимость. Такая необходимость возникает редко. На большинств...

16 советов по разработке для андроид на языке Kotlin. Часть 2 Всем привет. В преддверии старта базового курса по Android-разработке, продолжаем делиться полезным материалом. Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы...

Проводим нагрузочное тестирование скоростных USB-библиотек для STM32F103C8T6 В предыдущей статье я показывал предельную скорость шины USB у микроконтроллера STM32F103 со штатной библиотекой MiddleWare. В комментариях мне показали сразу две самодельных библиотеки, выжимающих из USB FS все соки. Но автор одной из библиотек высказал мысль, что быстро-то...

GitHub: новая Open Source библиотека для OSINT В мире информационной безопасности часто задаются вопросом об исследовании открытых источников на получение личной информации — будь то защищающая сторона (например, для контроля периметра, выявления открытых уязвимостей) или пентестеры (поиск точки входа, аудит периметра и...

[Перевод] Понимание CSS Grid: Создание Grid-контейнера Перевод «Understanding CSS Grid: Creating A Grid Container» Рейчел Эндрю Хотя технология CSS Grid стала поддерживаться некоторыми браузерами еще в 2017 году, у многих разработчиков пока не было возможности использовать её в своих проектах. Технология CSS Grid привносит множ...

[Перевод] AutoVIML: Автоматизированное машинное обучение Перевод статьи подготовлен специально для студентов курса «Промышленный ML на больших данных»Машинное обучение обладает преимуществом обучения алгоритмов, которые автоматически улучшаются, используя полученный опыт. Существует N различных алгоритмов и методов машинного обуче...

[Перевод] Что делать, когда CSS блокирует парсинг страницы? Недавно я проводил аудит одного сайта и наткнулся на паттерн preload/polyfill, который уже видел у нескольких клиентов. В наши дни использование этого паттерна, ранее популярного, не рекомендуется. Однако его полезно рассмотреть для того, чтобы проиллюстрировать важность ост...

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

Групповые политики (GPO) Active Directory: разбираемся почему это важно и как ими управлять в GPOAdmin Групповая политика — важный элемент любой среды Microsoft Active Directory (AD). Её основная цель — дать ИТ-администраторам возможность централизованно управлять пользователями и компьютерами в домене. Групповая политика, в свою очередь, состоит из набора политик, называемых...

Как заблокировать доступ к приложениям рабочего стола на Windows 10 В Windows 10 есть способ ограничить доступ к большинству приложений и мы рассмотрим два из этих способов. В Windows 10 можно отключать доступ к некоторым приложениям. Это может быть кстати во многих сценариях. Например, когда вы хотите запретить пользователям запускать встро...

Асинхронная работа с libusb 1.0 Несколько статей назад мы рассмотрели методику работы с USB-устройством при помощи библиотеки libusb. Данные в устройстве у нас формировались по таймеру, поэтому мы были не просто уверены, что рано или поздно они придут к нам, но даже могли предсказать, через какой срок это ...

ITIL®4 Specialist CDS: внутренняя культура и коммуникации Внутренняя культура организации является одним из наиболее важных компонентов управления услугами, но в большинстве случаев разговоры о ней  ограничиваются словами о «мягких навыках» (soft skills). Поскольку успешность изменений очень сильно зависит от внутренне...

[Перевод] Transformer в картинках В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (T...

Использование TSDuck для мониторинга IP(TS)-потоков На сегодняшний день существуют готовые (проприетарные) решения для мониторинга IP(TS)-потоков, например VB и iQ, они обладают достаточно богатым набором функций и обычно подобные решения имеются у крупных операторов, имеющих дело с ТВ-сервисами. В этой статье описывается реш...