Социальные сети Рунета
Суббота, 21 мая 2022

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

[Перевод] Визуализация при помощи генеративных алгоритмов: дифференциальная сетка (2D и 3D) и трещины ВВЕДЕНИЕ Это развитие идей из публикации Визуализация при помощи генеративных алгоритмов: гифа, деревья, повторяющиеся и дифференциальные линии (на Python), однако вам необязательно читать ее — все проекты, описанные здесь самодостаточны. Все что вам необходимо знать: п...

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

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

MIUI 12 получит революционную систему защиты приватности пользователей Система искусственного интеллекта с открытым исходным кодом и система дифференциальной защиты для повышения приватности и защиты данных

[Перевод - recovery mode ] Приватность в сети Биткоин: Лучшие практики Приватность, особенно в контексте финансов, сложно переоценить. Очередной перевод статьи на данную тему.“Приватность необходима открытому обществу цифрового века. Приватность и секретность не одно и то же. Частное дело – это то, о чем, по мнению человека, всему миру знать не...

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

LabVIEW NXG — простые типы данных и приведение типов Это третья статья из цикла о LabVIEW NXG, в которой мы рассмотрим простые типы данных и несложные преобразования между ними. Система типов LabVIEW весьма похожа на "классические" языки программирования. В данной статье мы рассмотрим базовые типы — численные, булев...

Создание связей параметров 3D моделей в nanoCAD Plus 20 на примере подшипникового стакана и крышки В данной статье рассмотрен процесс задания зависимостей геометрических параметров двух 3D-тел, а также рассмотрены инструменты, которые позволяют работать с объектами в пространстве модели, в частности для подготовки моделей к дальнейшей сборке. Статья является логическим пр...

4. Check Point SandBlast Agent Management Platform. Политика Data Protection. Deployment и Global Policy Settings Добро пожаловать на четвёртую статью цикла о решении Check Point SandBlast Agent Management Platform. В предыдущих статьях (первая, вторая, третья) мы детально описали интерфейс и возможности веб-консоли управления, а также рассмотрели политику Threat Prevention и протести...

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

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

[Из песочницы] Почем Appium для народа В этой статье мы рассмотрим инструмент Appium. Данная статья является вводным материалом для введения в автоматизированное тестирование мобильных приложений. Она покажет с какими трудностями возможно придется столкнуться при использовании данного инструмента. Рассмотрим неб...

Искусственный интеллект в области юриспруденции. Статья 3 Введение Мы продолжаем цикл статей на тему юридического искусственного интеллекта, аспектов его разработки и перспектив практического применения на отечественном рынке. В предыдущих публикациях мы неоднократно говорили, что, по нашему мнению, разработка Legal AI может быть о...

3.Elastic stack: анализ security логов. Дашборды В прошлых статьях мы немного ознакомились со стеком elk и настройкой конфигурационного файла Logstash для парсера логов, в данной статье перейдем к самому важному с точки зрения аналитики, то что вы хотите увидеть от системы и ради чего все создавалось — это графики и табл...

Fortinet Security Fabric на практике. Часть 4. Взаимная интеграция Доброго дня! В наших прошлых статьях мы рассказали про концепцию Fortinet Security Fabric, а также описали продукты FortiSwitch и FortiAP. Теперь пришло время рассмотреть процесс взаимной интеграции продуктов “фабрики безопасности” на практике, а также познакомиться с возмож...

Системы класса Incident Response Platform: применение и основные функции Друзья, в предыдущей публикации мы проанализировали международные документы по управлению рисками информационной безопасности, а в более ранних статьях рассмотрели основы информационной безопасности, обсудили законодательство в области защиты персональных данных и критическо...

Анализ и визуализация данных в финансах — анализ ETF с использованием Python С проникновением аналитики во многие сферы нашей жизни она не могла обойти стороной финансы. В этой статье рассмотрим ее применение для анализа ETF с целью их анализа, в том числе и с применением визуализиции.1. О данныхДля анализа будем использовать данные ETF c базово...

Первые шаги в aiohttp, часть 3: публикуем приложение в Интернете Сегодня разберем заключительную часть цикла «Первые шаги в aiohttp». В первой статье мы создали и настроили проект, а во второй подключили базу данных. В этой части статьи мы рассмотрим размещение нашего веб-сервиса в Интернете, используя платформу Heroku.Асинхронное програм...

Подключение Yandex Database к serverless телеграм боту на Yandex Functions Данная статья является продолжением вот этой статьи. В ней мы рассмотрели создание и настройку yandex cloud functions телеграм бота. А сегодня мы рассмотрим подключение телеграм бота к базе данных и сохранение какой-либо информации о пользователе, с которым общается бот.В ка...

Navigation Component-дзюцу, vol. 3 — Corner-кейсы В этой части трилогии про Navigation Component разберем как организовать навигацию в многомодульных приложениях, как работается с диплинками, а также рассмотрим кейсы со встраиваемыми фрагментами и диалогами. Это третья и заключительная статья в цикле про различные кейсы н...

2. Group-IB. Комплексная защита сети. TDS Sensor Добрый день, коллеги! Продолжаем цикл статей, посвященный решениям информационной безопасности от компании Group-IB. В предыдущей статье мы кратко осветили комплексное решение для защиты от сложных киберугроз от компании Group-IB. Данная публикация будет посвящена модулю T...

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 3 Эта статья продолжает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим примеры развертывания Zip-функций, зависимости GitHub, а также подробнее опишем синхронизацию объектов между клиентом и сервером OpenWhisk. Читать дальше →

[Перевод] Дружим ORDER BY с индексами Привет, Хабр! Я потихоньку перевожу статьи Маркуса Винанда из блога use the index luke. Первой статьей в цикле был манифест Маркуса о важности использования безофсетной пагинации на ключах. Мы рассмотрели всего один пример, как этот подход работает на практике. В этой и сле...

[Перевод] Развеиваем мифы об управлении памятью в JVM В серии статей я хочу опровергнуть заблуждения, связанные с управлением памятью, и глубже рассмотреть её устройство в некоторых современных языках программирования — Java, Kotlin, Scala, Groovy и Clojure. Надеюсь, эта статья поможет вам разобраться, что происходит под капот...

17 расширений Chrome и Firefox для вашей приватности и безопасности Здесь мы перечислим некоторые расширения, ориентированные на безопасность и приватность работы. Большинство из них работают в Chrome, это сейчас самый популярный браузер с долей около 40% в России, но многие из расширений выпускаются также под Firefox. В целом набор полез...

5. Check Point SandBlast Agent Management Platform. Logs, Reports & Forensics. Threat Hunting Добро пожаловать на пятую статью цикла о решении Check Point SandBlast Agent Management Platform. С предыдущими статьями можно ознакомиться, перейдя по соответствующей ссылке: первая, вторая, третья, четвёртая. Сегодня мы рассмотрим возможности мониторинга в Management Pla...

[Перевод] Как масштабируется бизнес Docker для обслуживания миллионов разработчиков, часть 2: Исходящие данные Это вторая статья из серии статей, в ней будут рассмотрены ограничения при скачивании образов контейнеров. Читать дальше →

Оптимизация 3D-моделей для игровой сцены Эта статья завершает цикл публикаций от краснодарской студии Plarium о разных аспектах работы с 3D-моделями в Unity. Предшествующие статьи: «Особенности работы с Mesh в Unity», «Unity: процедурное редактирование Mesh», «Импорт 3D-моделей в Unity и подводные камни», «Пиксельн...

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

Хранение данных в кластере Kubernetes Настроить хранение данных приложений, запущенных в кластере Kubernetes, можно несколькими способами. Одни из них уже устарели, другие появились совсем недавно. В этой статье рассмотрим концепцию трёх вариантов подключения СХД, в том числе самый последний — подключение через ...

6. Check Point SandBlast Agent Management Platform. FAQ. Бесплатное тестирование Добро пожаловать на шестую статью, завершающую цикл материалов о решении Check Point SandBlast Agent Management Platform. В рамках цикла мы рассмотрели основные аспекты разворачивания и администрирования SandBlast Agent с помощью Management Platform. В данной статье мы пос...

I. Введение в T-FLEX CAD и основные принципы моделирования Друзья!Перед вами первая часть нашей небольшой серии публикаций "Планирование и оптимизация порядка построения 3D модели", в которой будут рассмотрены базовые принципы работы в CAD системах и способы оптимизации процесса 3D моделирования. Данная информация будет особенно пол...

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

[Перевод] Базовые концепции Unity для программистов Привет, Хабр! При проработке темы Unity мы нашли интересный блог, возможно, заслуживающий вашего более пристального внимания. Предлагаем вам перевод статьи о базовых концепциях Unity, также опубликованный на портале Medium Читать дальше →

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

4. NGFW для малого бизнеса. VPN Продолжаем наш цикл статей о NGFW для малого бизнеса, напомню что мы рассматриваем новый модельный ряд 1500 серии. В 1 части цикла я упомянул об одной из самых полезных опций при покупке устройства SMB — поставка шлюзов с встроенными лицензиями Mobile Access (от 100 до 200...

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 47-58 Это вторая статья с переводом отдельных глав книги Эндрю Ына «Страсть к машинному обучению». Перевод предыдущих глав вы можете почитать по ссылке. В этой статье речь пойдёт о сквозном (end-to-end) глубоком обучении, а так же автор книги поделится некоторыми способами анал...

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

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

MLflow в облаке. Простой и быстрый способ вывести ML-модели в продакшен Robot factory by lucart MLflow — один из самых стабильных и легких инструментов, позволяющий специалистам по Data Science управлять жизненным циклом моделей машинного обучения. Это удобный инструмент с простым интерфейсом для просмотра экспериментов и мощными средствами уп...

Чего ждать от Java в 2020 году? 2020 уже в разгаре, давайте же обсудим, какие изменения в мире Java нас ожидают в этом году. В этой статье перечислю основные тренды Java и JDK. И буду рад дополнениям от читателей в комментариях. Сразу оговорюсь, что статья носит скорее ознакомительный характер. Детали по ...

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 36-46 Три года прошло с момента публикации первых глав книги Эндрю Ына (Andrew Ng) «Machine Learning Yearning». Если вы подписаны на хаб «Машинное обучение», то нет никакой нужды представлять вам её автора и скорее всего саму книгу вы уже давно прочитали на языке первоисточника. П...

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

[Перевод] Seccomp в Kubernetes: 7 вещей, о которых надо знать с самого начала Прим. перев.: Представляем вниманию перевод статьи старшего инженера по безопасности приложений британской компании ASOS.com. С ней он начинает цикл публикаций, посвящённых повышению безопасности в Kubernetes благодаря использованию seccomp. Если введение понравится читателя...

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

NGFW для малого бизнеса. Новая линейка CheckPoint 1500 Security Gateway После публикации статьи прошло уже более двух лет, модели 1400 серии на сегодняшний день убраны из продажи. Пришло время для изменений и новшеств, эту задачу CheckPoint постарался реализовать в 1500 серии. В статье мы рассмотрим модели для защиты небольших офисов или филиа...

Первые шаги с Fiddler Classic Привет! После знакомства с Charles Proxy большинство из читателей захотело узнать больше про инструменты мониторинга и анализа HTTP/HTTPS трафика. Расскажем про популярный у многих тестировщиков Fiddler. Описать все возможности Fiddler в одной статье вряд ли получится, поэто...

[Перевод] Как превратить фотографию в 3D-объект с помощью Nvidia Kaolin и PyTorch: рендеринг DIB-R В научной работе NVIDIA 2019 года улучшенный дифференциальный рендерер — DIB-R представлен как инструмент решения одной из самых популярных сегодня задач Deep Learning: генерации 3D-объектов из одного двухмерного изображения. Статья на ArXiv содержала исходный код, но в ней ...

Swift 5.2. Обзор всех изменений В конце марта вышел релиз Swift 5.2 для Xcode 11.4 beta. В нём улучшена диагностика ошибок, анализ зависимостей, расширен функционал SwiftPM. Обзор некоторых изменений уже был опубликован на Хабре, в этой же статье рассмотрена эволюция самого языка с возможными примерами исп...

oVirt за 2 часа. Часть 2. Установка менеджера и хостов Эта статья — следующая в цикле по oVirt, начало здесь. Статьи Введение Установка менеджера (ovirt-engine) и гипервизоров (hosts) — Мы здесь Дополнительные настройки Итак, рассмотрим вопросы первичной установки компонентов ovirt-engine и ovirt-host. Читать дальше →

1.Elastic stack: анализ security логов. Введение В связи окончанием продаж в России системы логирования и аналитики Splunk, возник вопрос, чем это решение можно заменить? Потратив время на ознакомление с разными решениями, я остановился на решении для настоящего мужика — «ELK stack». Эта система требует времени на ее нас...

Изучаем ELK. Часть I — Установка Elasticsearch Эта статья является первой в серии статей по стеку Elasticsearch, Logstash, Kibana (ELK). Цикл статей ориентирован на тех, кто только начинает знакомится со стеком ELK, и содержит минимально необходимый набор знаний, чтобы успешно запустить свой первый кластер ELK. В этой ...

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

[Перевод] Реализация SOLID и слоистой архитектуры в Node.js с TypeScript и InversifyJS Привет, Хабр! Предлагаю вашему вниманию перевод статьи Implementing SOLID and the onion architecture in Node.js with TypeScript and InversifyJS автора Remo H. Jansen В этой статье мы рассмотрим архитектуру, известную как слоистая (onion). Слоистая архитектура — подход к пост...

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

[Перевод] Нейрофизиология осознанности: как медитация влияет на наш мозг Фотография Джесси Оррико с Ансплэша Это перевод статьи Брайана Пенни, в прошлом героинового наркомана, который справился с зависимостью и стал нейробиологом, практикующим осознанность. Статья бережно перенесена из блога бегущего редактора. Кстати, следить за анонсами новы...

Методы организации DI и жизненного цикла приложения в GO Есть несколько вещей, которыми можно заниматься вечно: смотреть на огонь, фиксить баги в легаси-коде и, конечно, говорить о DI — и всё равно нет-нет, да и будешь сталкиваться со странными зависимостями в очередном приложении. В контексте языка GO, впрочем, ситуация чуть слож...

Дополняя SQL. Часть 2. Оптимизация работы со строками и открытия файлов Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Это вторая статья в цикле о жизни разработчиков IDE для баз данных. Ее структура будет похожа на первую. Как и в первой я расскажу о проблемах с которыми мы сталкивались...

PVS-Studio, Blender: цикл заметок о пользе регулярного использования статического анализа В статьях мы регулярно повторяем важную мысль: статический анализатор должен использоваться регулярно. В этом случае многие ошибки выявляются на самом раннем этапе, а их исправление максимально дёшево. Однако теория – это одно, но намного лучше подкреплять слова практически...

SDR трансивер SoftRock Ensemble RXTX Данная статья является продолжением серии публикаций про SDR (Software Defined Radio). В двух предыдущих статьях мы разобрались, как работает схема Tayloe, как с помощью схемы Tayloe осуществить синхронный приём АМ сигналов, и как устроен связной SDR-приёмник. В этой публи...

3. Анализ зловредов с помощью форензики Check Point. SandBlast Mobile Добро пожаловать в третью статью нашего цикла по форезнике от Check Point. На этот раз мы рассмотрим SandBlast Mobile. Мобильные устройства уже давно стали частью нашей жизни. В смартфонах наша работа, наш досуг, развлечения, личные данные. Про это знают и злоумышленники. ...

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

Мобильные мошенничества, вредоносный спам, IoT-угрозы и ботнеты — главные угрозы 2020 года Специалисты Avast так же ожидают повышенное внимание к приватности данных в сфере искусственного интеллекта.

StealthWatch: интеграция с Cisco ISE. Часть 4 В более ранних статьях было рассмотрено несколько обширных тем касательно решения по мониторингу Cisco StealthWatch. Напомню, что StealthWatch — решение по мониторингу трафика в сети на предмет инцидентов безопасности и легитимности сетевого взаимодействия. В основе работы...

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

Копнём поглубже: сравниваем популярные алгоритмы оптимизации с менее известными Привет, Хабр! Меня зовут Мария Белялова, и я занимаюсь data science в мобильном фоторедакторе Prequel. Эта статья открывает наш цикл материалов со сравнением алгоритмов оптимизации для обучения нейросетей. Помимо классических методов, которые давно зарекомендовали себя, м...

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

Security Week 27: приватность буфера обмена в iOS Выпуск бета-версии iOS 14 для мобильных устройств iPhone вскрыл проблему с приватностью буфера обмена в некоторых приложениях. Свежая версия ОС предупреждает пользователя, когда приложение читает информацию из буфера. Оказалось, что этим занимается довольно много аппов. Нагл...

oVirt за 2 часа. Часть 4. Базовые операции Сегодня мы рассмотрим ряд базовых операций, которые регулярно потребуется выполнять администратору среды виртуализации. Статья — продолжение серии по oVirt: часть 1, часть 2 и часть 3: Содержание Создание ВМ и шаблона; Миграция ВМ (live migration); Миграция хранилища (stor...

Парсинг сайта кинотеатра на Golang Всем привет, в этой статье мы рассмотрим небольшой пример кода, написанный для сбора данных с сайта на популярном сегодня языке программирования Go. Эта статья будет особенно интересна тем, кто много слышал о Go, но пока еще не попробовал его самостоятельно. Для одного из...

[Из песочницы] Корутины в C++20 Введение Данная статья является переводом главы из книги Райнера Гримма Concurrency with Modern C++, которая является более доработанной и обширной версией статьи на его сайте. Так как весь перевод не умещается в рамках данной статьи, в зависимости от реакции на публикацию, ...

Я есть root. Получаем стабильный shell Давайте представим, что мы получили бэк-коннект в результате эксплуатации RCE-уязвимости в условном PHP-приложении. Но едва ли это соединение можно назвать полноценным. Сегодня разберемся в том, как прокачать полученный доступ и сделать его более стабильным. Это третья част...

Хабрарейтинг 2019: статистика и рейтинг авторов за 2019 год Привет Хабр. В первой части была рассмотрена некоторая статистика и опубликован рейтинг статей этого сайта. Во второй части будут рассмотрены другие статистические закономерности этого года, которые мне показались интересными, а также будет опубликован рейтинг авторов за эт...

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

Автоматизация 7. Napalm в действии В предыдущей статье из цикла (№6) мы познакомились с мощной библиотекой NAPALM, рассмотрели базовые команды и встроенные методы. Сегодня мы изучим готовые скрипты, то есть закрепим пройденную теорию на практических примерах.

Освободи свой Android Некоторое время назад на Хабре вышла статья замечательной девушки fur_habr о проблемах безопасности, приватности и конфиденциальности мобильных коммуникаций и о путях решения этих проблем на платформе Android. В момент выхода этой статьи я как-то не обратил на неё внимани...

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

5. UserGate Getting Started. Политики безопасности Приветствую читателей в пятой публикации цикла статей, посвященных продукции компании UserGate. В данной статье будет рассматриваться раздел “Политики безопасности”. В частности мы рассмотрим “Инспектирование SSL”, “Фильтрацию контента”, “Веб-безопасность”. Читать далее

[Из песочницы] Изучаем мультикаст операторы RxJS Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding RxJS Multicast Operators» автора Netanel Basal. Широковещательные или мультикаст операторы нередко кажутся самой сложной темой при изучении RxJS. В этой статье я попробую все доступно объяснить. Мы рас...

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

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

7 бесплатных курсов для специалистов по работе с данными (DS и DE) Finale! Именно этим итальянским словом можно назвать эту статью. Ведь она последняя уже во второй серии подборок бесплатных курсов от Microsoft. И сегодня у нас курсы для специалистов по анализу данных и инженеров данных. Присоединяйтесь! Кстати! Все курсы бесплатные (вы ...

[Перевод] Неблокирующие паттерны: атомарные операции и частичные барьеры памяти В первой статье цикла мы познакомились с простыми неблокирующими алгоритмами, а также рассмотрели отношение “happens before”, позволяющее их формализовать. Следующим шагом мы рассмотрим понятие «гонки данных» (data race), а также примитивы, которые позволяют избежать гонок д...

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

[Перевод] Спецификация D-Bus. Часть 1 Данная статья открывает серию публикаций с переводом спецификации D-Bus (Версия 0.36 от 2020-04-21). Поскольку у D-Bus нет логотипа, то в качестве обложки была использована картинка автобуса с D-образным корпусом. Для краткого введения в тему D-Bus рекомендую прочитать пер...

[Перевод] Как реализовать кластеризацию в Power BI с помощью PyCaret И снова здравствуйте. Сегодня мы продолжаем серию переводов в преддверии старта базового курса «Математика для Data Science». В одной из последних статей мы говорили о том, как создать детектор аномалий в Power BI, интегрировав в него PyCaret, и помочь аналитикам и специа...

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

Явка провалена: выводим AgentTesla на чистую воду. Часть 3 Этой статьей мы завершаем цикл публикаций, посвященных анализу вредоносного программного обеспечения. В первой части мы провели детальный анализ зараженного файла, который получила по почте одна европейская компания, и обнаружили там шпионскую программу AgentTesla. Во втор...

3. Check Point SandBlast Agent Management Platform. Политика Threat Prevention Добро пожаловать на третью статью цикла о новой облачной консоли управления защитой персональных компьютеров — Check Point SandBlast Agent Management Platform. Напомню, что в первой статье мы познакомились с порталом Infinity Portal и создали облачный сервис управления аге...

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

Собственные метрики JFR и их анализ Недавно я описывал как осуществлять запуск и управление Java Flight Recorder (JFR). Теперь решил затронуть тему записи в JFR метрик, специфичных для приложения, а так же способов их анализа в Java Mission Control (JMC). Это позволяет расширить понимание происходящего с прило...

[Перевод] Приёмы неблокирующего программирования: полные барьеры памяти В первых двух статьях цикла мы рассмотрели четыре способа упорядочить доступ к памяти: load-acquire и store-release операции в первой части, барьеры чтения и записи в память — во второй. Теперь пришла очередь познакомиться с полными барьерами памяти, их влиянием на...

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

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

Как мы создаём почтовую систему нового поколения Mailion. Принципы проектирования масштабируемых хранилищ данных МойОфис продолжает цикл публикаций (1, 2) о разработке корпоративной почтовой системы нового поколения Mailion, которая реализуется при грантовой поддержке РФРИТ. В состав Mailion входит объектное хранилище DOS; в предыдущей статье мы рассмотрели его общую архитектуру и ключ...

ЕЦБ: Libra может привлечь до €3 трлн и стать угрозой финансовой стабильности Европейский центральный банк в новом документе рассмотрел три возможных сценария применения стейблкоина Libra и обозначил необходимость устранения серьезных пробелов в регулировании прежде, чем такие проекты будут одобрены. Первый сценарий подразумевает становление Libra в к...

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

Геопространственное моделирование с применением методов машинного обучения Всем привет! Меня зовут Константин Измайлов, я руководитель направления Data Science в Delivery Club. Мы работаем над многочисленными интересными и сложными задачами: от формирования классических аналитических отчетов до построения рекомендательных моделей в ленте приложен...

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

Object Detection. Распознавай и властвуй. Часть 2 В прошлом посте я начал разбираться в двухступенчатых Object Detection моделях и рассказал о самой базовой и, соответственно, первою из них – R-CNN. Сегодня мы рассмотрим другие модели этого семейства: Fast R-CNN и Faster R-CNN. Поехали! Читать дальше →

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 2. Шлюзы, Политики Введение Здравствуйте дорогие Хабровчане. Я продолжаю свой цикл статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь этой статье — необходимо прочесть Первую часть. Для начала вкратце повторю постановку задачи: Имеется бол...

[Перевод] Руководство по Git. Часть №1: все, что нужно знать про каталог .git Начало использования Git напоминает посещение новой страны, языка которой вы не знаете. Пока ясно, где вы и куда идти, все хорошо, но стоит заблудиться — и начинаются большие проблемы. В интернете размещена масса руководств по командам Git, но в этой статье работа Git рас...

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

[Из песочницы] Кодогенерация в Go на примере создания клиента к БД В данной статье хотелось бы рассмотреть вопросы кодогенерации в Golang. Заметил, что часто в комментариях к статьям по Go упоминают кодогенерацию и рефлексию, что вызывает бурные споры. При этом на хабре статей по кодогенерации мало, хотя она применяется довольно много где в...

Создание 3D-модели сборки Продолжаем цикл материалов, посвященных возможностям программного решения nanoCAD Механика с модулем «3D и зависимости». В предыдущей статье мы говорили о создании 3D-модели детали на основе чертежа в формате PDF. Рассмотрим теперь создание 3D-модели сборки с использованием...

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

Защита данных пользователя: как добавить поддержку правил CCPA и GDPR в мобильное приложение Значительная часть жизни уже давно перетекла в гаджеты, онлайн-сервисы, соцсети и мессенджеры, которые ежедневно собирают тонны персональных данных. А ими часто обмениваются компании, например, в сфере рекламы или финансового бизнеса. Поэтому приватность и безопасность ...

oVirt за 2 часа. Часть 3. Дополнительные настройки В этой статье мы рассмотрим ряд необязательных, но полезных настроек: использование дополнительных имен для менеджера; подключение аутентификации через Active Directory; Mutlipathing; управление питанием; замена SSL сертификата; архивация; менеджмент-интерфейс хостов (cockp...

Бессерверные вычисления на основе OpenWhisk, часть 4 Эта статья заканчивает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим процесс развертывания OpenWhisk поверх Kubernetes с исправленными командами для работоспособности с актуальными версиями приложений. Также будет описан процесс запуска функ...

Наложение 3D-зависимостей и поиск коллизий между моделями В этой части статьи мы познакомимся с инструментами, которые позволяют задавать и редактировать параметрические зависимости взаимного расположения 3D-тел. А также мы рассмотрим инструменты, которые позволяют найти перекрытия (коллизии) сопрягаемых 3D-тел. Читать далее

[Перевод] Почему инженеры презирают Agile Мы продолжаем цикл публикаций о недостатках Аgile методологии. Сегодня перевод статьи о том, почему инженеры презирают Agile (много новых удивительных наблюдений!) Читать далее

Мой MikroTik – моя цифровая крепость (часть 3) Статья является продолжением первой и второй частей, посвящённых организации практической безопасности сетей, построенных на оборудовании MikroTik. Ранее были рассмотрены общие рекомендации, безопасность уровней L1, L2 и L3. Настало время показать варианты реализации централ...

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

Создание сборочной модели «Редуктор» В этой статье мы рассмотрим создание сборочной модели «Редуктор» в nanoCAD 21.0 с использованием функционала 3D-зависимостей и добавления компонентов внешними ссылками. Читать далее

SQL HowTo: пишем while-цикл прямо в запросе, или «Элементарная трехходовка» Периодически возникает задача поиска связанных данных по набору ключей, пока не наберем нужное суммарное количество записей. Наиболее «жизненный» пример — вывести 20 самых старых задач, числящихся на списке сотрудников (например, в рамках одного подразделения). Для различны...

Gotta go fast. Поиск в почтовом клиенте IMAP Приветствую вас в заключительной статье о возможностях IMAP. В предыдущих статьях Быстрая синхронизация писем по IMAP и Оптимизация запросов содержимого письма по IMAP мы рассмотрели базовые операции над папками и письмами, научились слушать новые письма, оптимизировать си...

[Перевод] Простое объяснение делегирования событий Приветствую. Представляю вашему вниманию перевод статьи «A Simple Explanation of Event Delegation in JavaScript», опубликованной 14 июля 2020 года автором Dmitri Pavlutin В данной статье Дмитрий Павлутин объясняет, на чём основан один из базовых паттернов работы с DOM-событ...

[Перевод] Руководство по пограничным вычислениям для архитектора. Самое важное Для современного энтерпрайз-архитектора критически важно разбираться в пограничных вычислениях (edge computing). В этой статье будут рассмотрены основы пограничных вычислений и приведены примеры использования этой технологии на практике. Пограничные вычисления – определен...

[Перевод] Опенсорсные инструменты и пакеты для работы с HTTP API Мы продолжаем серию статей о создании HTTP API с помощью .NET 5. В предыдущей статье мы рассмотрели создание обнаруживаемых HTTP API с помощью ASP.NET Core 5 Web API. В этой статье мы рассмотрим пакеты и инструменты для работы с HTTP API с открытым исходным кодом. Ну что ж, ...

[Перевод] Python и разработка простого веб-приложения, использующего технологии машинного обучения Тот, кто занимается машинным обучением (Machine Learning, ML), обычно, реализуя различные проекты, выполняет следующие действия: сбор данных, их очистка, разведочный анализ данных, разработка модели, публикация модели в локальной сети или в интернете. Вот хорошее видео, в ко...

[Перевод] Руководство Google по стилю в C++. Часть 1 Часть 1. Вступление … Часть 8. Именование Часть 9. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на...

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

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

Операционная Система «Сивелькирия»: вводное описание Привет, Хабр. Эта статья открывает цикл публикаций об операционной системе «Сивелькирия», на данный момент находящейся на раннем этапе проектирования и разработки. В статьях цикла будут подробно описаны системные проблемы популярных операционных систем и предложены пути их ...

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

Системы контроля управления доступом в IoT — умеем, знаем, практикуем И снова привет, мир!В прошлой статье про IoT-елочку в голосовании многие отметили, что интересна тема управления устройствами в зависимости от количества человек в помещении. Это довольно масштабная задача, и мы предлагаем разделить ее решение на несколько этапов. Сегодня по...

Как проанализировать рынок фотостудий с помощью Python (1/3). Парсинг данных В интернете огромное количество открытых данных. При правильном сборе и анализе информации можно решить важные бизнес-задачи. Например, стоит ли открыть свой бизнес? С таким вопросом ко мне обратились клиенты, желающие получить аналитику рынка услуг фотостудий. Для них было...

[Перевод] Структурные шаблоны проектирования в ES6+ на примере Игры престолов Доброго времени суток, друзья! Структурные шаблоны проектирования используются для построения больших систем отношений между объектами с целью сохранения гибкости и эффективности. Давайте рассмотрим некоторые из них с отсылками на Игру престолов. В разработке программног...

Redis Best Practices, часть 2 Вторая часть цикла переводов «Redis Best Practices» от Redis Labs, и в ней рассмотрены паттерны взаимодействия и паттерны хранения данных. Читать дальше →

Nix: Что это и с чем это употреблять? Привет, Хабр! Мы в Typeable хотели опубликовать небольшой цикл статей о том, как Nix нам помогает (и немного мешает) в разработке. Но, проведя немножко времени в поисках похожего материала здесь, с удивлением обнаружили, что на Хабре нет толкового введения в Nix, на которое...

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

Искусственный интеллект в области юриспруденции. Статья 2 Введение Анализ актуальной в настоящее время темы искусственного интеллекта и его применения в области юриспруденции мы начали с обзора инструментов синтаксического и семантического анализа текстов, которые применяются при разработке LegalTech-решений. В комментариях к преды...

[Перевод] Как достичь Уровня 5 по модели CMM в области QA и тестирования Перевод статьи подготовлен специально для студентов курса Python QA Engineer. В этой статье мы поговорим о том, что такое уровни СММ и как их достичь в QA-процессах, а также рассмотрим доступные и понятные примеры. Для любого процесса, будь то процесс контроля качества,...

Массивы в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь. Эта статья посвящена...

Конвертируем ODT в XML Не прошло и полугода со дня публикации моей предыдущей статьи про формирование чистого XML из офисного документа. В этот раз расскажу про формат Open Document Format (ODF) и как можно получить «причесанный» XML из текстовых документов с расширением .odt. В следующей статье п...

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

ML и DS оттенки кредитного риск-менеджмента Всем привет. Мы команда Advanced Analytics GlowByte и запускаем цикл статей о моделировании в задачах управления кредитным риском. Цель цикла — кратко рассказать о сфере, расширить словарь профессиональных терминов и дать ссылки на полезные статьи и книги. В вводной стать...

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

Основы Java Bytecode Внимание, статья содержит довольно много картинок и получилась довольно тяжелой и объемнойКак и многие базовые вещи на habr уже были статьи о bytecode, основные же отличия данной статьи - в попытке визуализировать, что происходит внутри, и краткий справочник инструкций (може...

Анализ нормативных документов по защите информации в российской кредитно-финансовой сфере В предыдущих публикациях мы рассмотрели основы информационной безопасности, обсудили законодательство в области защиты персональных данных и критической информационной инфраструктуры, а также затронули тему защиты информации в финансовых учреждениях с применением стандарта Г...

Прогнозирование временных рядов с помощью AutoML Хабр, привет! В лаборатории моделирования природных систем Национального центра когнитивных разработок Университета ИТМО мы активно исследуем вопросы применения автоматического машинного обучения для различных задач. В этой статье мы хотим рассказать о применении AutoML для...

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

Внедрение Multicast VPN на Cisco IOS (часть 4 — BGP сигнализация) В предыдущих выпусках: Profile 0 Profile 1 Profile 3 В этой части статьи мы рассмотрим с Вами вариант замены сигнализации в рамках наложенной сети с протокола PIM на BGP. Читать дальше →

Разработка круговых интерфейсов. Часть 2. Перенос библиотеки с JavaScript на QML Оглавление Введение Библиотека круговых интерфейсов v2.0 Круговая CAPTCHA Перенос библиотеки с JavaScript на QML Демонстрационное мобильное приложение Заключение Введение Предыдущая статья была вводной к вопросу разработки круговых интерфейсов. В ней рассмотрены определение,...

[Перевод] Реализация epoll, часть 2 Публикуя перевод первой статьи из цикла материалов о реализации epoll, мы провели опрос, посвящённый целесообразности перевода продолжения цикла. Более 90% участников опроса высказались за перевод остальных статей. Поэтому сегодня мы публикуем перевод второго материала из эт...

Решения для защиты корпоративной и технологической сети: обзор продуктов Positive Technologies Коллеги, добрый день! Данная статья является отправной точкой в цикле статей по продуктам Positive Technologies. Первая часть будет посвящена MaxPatrol 8, а сегодня в рамках данной статьи мы поговорим о разнообразии продуктов и решений Positive Technologies и их совместно...

[Перевод] Дизеринг 2: ряд золотого сечения, синий шум и highpass-and-remap В предыдущей части я рассмотрел определение дизеринга и объяснил, как он изменяет характеристики погрешностей простой 1D-дискретизации и функций. В этой части я рассмотрю синий шум, но сначала давайте взглянем на ряд чисел, который я использовал в предыдущей части, и котор...

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

[Перевод] Сортировка в Scala — пример на кошках Привет, Хабр! Выношу на ваш суд русскоязычный перевод моей статьи на Medium: Sorting in Scala — a cat shop example. Статья рассчитана на читателей, знающих синтаксис языка Scala и осведомлённых о базовых инструментах стандартной библиотеки. Читать дальше →

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

[Перевод] Распределенные блокировки с применением Redis Привет, Хабр! Сегодня мы предлагаем вашему вниманию перевод сложной статьи о реализации распределенных блокировок средствами Redis и предлагаем поговорить о перспективности Redis как темы. Анализ рассматриваемого алгоритма Redlock от Мартина Клеппмана, автора книги "Вы...

ZeroTier, WireGuard и «LAN» от RuVDS. Сравнение возможностей и области применения В предыдущих статьях, от RSagittarius, посвящённых ZeroTier было подробно рассмотрено практическое применение данного инструмента и его настройка. Настало время сравнить его с таким, набирающим популярность, решением как WireGuard, что бы понять — в каких случаях лучше выб...

Настройка ПИД-регуляторов: так ли страшен черт, как его малюют? Часть 5. Closed-Loop PID Autotuner Заключающая статья серии, посвященной автоматизированным способам настройки ПИД-регуляторов в среде Simulink, в которой мы рассмотрим применение блока автоматической настройки Closed-Loop PID Autotuner. Читать дальше →

Хранение данных. Или что такое NAS, SAN и прочие умные сокращения простыми словами TL;DR: Вводная статья с описанием разных вариантов хранения данных. Будут рассмотрены принципы, описаны преимущества и недостатки, а также предпочтительные варианты использования. Читать дальше →

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

[Перевод] Chaos Engineering: искусство умышленного разрушения. Часть 3 Прим. перев.: Это продолжение цикла статей от технологического евангелиста из AWS (Adrian Hornsby) про довольно новую ИТ-дисциплину — chaos engineering, — в рамках которой инженеры проводят эксперименты, призванные смягчить последствия сбоев в системах. Первый материал этого...

Внедрение Multicast VPN на Cisco IOS (часть 2 — mLDP) В прошлой статье мы познакомились с Вами с исторически первым способом организации построения multicast VPN с помощью технологий PIM и mGRE (Часть 1, Profile 0). На сегодняшний день существуют альтернативы запуску P-PIM в опорной сети. В частности, для организации многоадрес...

Настройка WPA2 Enterprise c RADIUS В статье пойдёт речь о вопросах расширенной аутентификации в беспроводной сети через WPA2 Enterprise. Для данной системы используется RADIUS сервер, поэтому рассмотрим краткий пример упрощённой установки и настройки. Читать дальше →

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

Математика верстальщику не нужна 2: Матрицы, базовые трансформации, построение 3D и фильтры для картинок В прошлый раз мы говорили о графиках и траекториях для покадровых анимаций, а сегодня речь пойдет про матрицы. Мы разберемся с тем, как строятся базовые трансформации в CSS, SVG и WebGL, построим отображение 3D-мира на экране своими руками, попутно проводя параллель с таки...

[Перевод] Визуализация генеративных алгоритмов: гифа, деревья, повторяющиеся и дифференциальные линии (на Python) ВВЕДЕНИЕ Паттерны всегда меня очаровывали. Даже не важно какие. Я экспериментировал со многими: сети, листья и их переплетения, ветви, молнии, флокирование, очертания фигур, реки, скальный осадок, пейзажи, слизистая плесень, лишайники, взаимодействие и расплавление, клеточ...

[Перевод] 5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT, FROM и WHERE. Чем больше S...

VMware ESXi на Raspberry Pi Ранее мы рассказывали, что VMware ESXi стала доступна для Raspberry Pi. В данной статье мы рассмотрим установку гипервизора и запуск гостевой ОС на Raspberry PI 4 Model B. Читать дальше →

Приватность действительно превыше всего! Биткоин-сообщество отмечает первый CoinJoin Day 5 апреля, в предполагаемый день рождения Сатоши Накамото, биткоин-сообщество впервые отмечает CoinJoin Day – день микширования транзакций, технологии, направленной на повышение приватности пользователей. Вопреки часто повторяемому в мейнстрим-медиа тезису, биткоин не предлаг...

Как я моделировал рукоятку для ножа. Всем привет!Веду образовательный канал по Fusion 360 на youtube: https://www.youtube.com/c/EvgenRostaПрошу поддержать проект лайком и подпиской на канал. Алгоритмы YouTube нуждаются в вашей активности.Иногда, ко мне обращаются с просьбой, что-то смоделировать. Иногда, из это...

О кэшах в микроконтроллерах ARM Привет! В предыдущей статье мы для ускорения графики на микроконтроллере применяли процессорный кэш. При этом мы использовали режим «write-through». Тогда мы писали о некоторых преимуществах и недостатках связанных с «write-through» режимом, но это был лишь беглый обзор. В...

Строим ролевую модель управления доступом. Часть вторая, «строительная» Пост, который вы сейчас читаете, – продолжение статьи о том, как правильно выстроить в крупной компании ролевую модель управления доступом пользователей к различным системам. Напомним: построение ролевой модели – это скорее процесс, чем результат, и первую часть нашей дилоги...

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

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

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

[Перевод] Советы и хитрости IntelliJ IDEA: 2. Анализ зависимостей Как анализировать зависимости в IDEA с помощью Dependency Structure Matrix и других инструментов. Этот перевод продолжает серию об IntelliJ IDEA: Лучшие плагины IntelliJ IDEA Сравнение файлов и папок Анализ зависимостей Читать дальше →

Построение архитектуры социальной среды Вступление Вы все — система, которая так много знает. Вы решаете, что хорошо, а что плохо. Точно так же, вы решаете, что смешно, а что нет. Джокер (Joker) После публикации моей статьи «Социальный Организм — как форма эффективного взаимодействия команды», у меня состоялся ц...

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

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

Используем Gradle и Github Actions для публикации Java проекта в Sonatype Maven Central Repository В данной статье я хочу подробно рассмотреть процесс публикации с нуля Java артефакта через Github Actions в Sonatype Maven Central Repository используя сборщик Gradle. Данную статью решил написать ввиду отсутствия нормального туториала в одном месте. Всю информацию приходил...

ГОСТ Р 57580. От тенденций к действенной автоматизации После введения в действие ГОСТ Р 57580.1-2017 «Безопасность финансовых (банковских) операций. Защита информации финансовых организаций. Базовый состав организационных и технических мер» и ГОСТ Р 57580.2-2018 «Безопасность финансовых (банковских) операций. Защита информации ф...

[Перевод] Советы и источники информации для создания бессерверных приложений Хотя бессерверные технологии в последние годы быстро набирают популярность, с ними всё ещё связано много заблуждений и опасений. Зависимость от вендора, инструментарий, управление расходами, холодный старт, мониторинг и жизненный цикл разработки — все эти темы активно обсуж...

Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Часть 2: libm Продолжаю цикл статей по работе с плавающей точкой. В первой статье я дал небольшое математическое введение и показал самый простой и очевидный способ вычисления синуса с примерами программ с разными «подводными камнями». Сегодня статья будет немного другая по стилю. Здесь н...

Privacy Day: онлайн-конференция про персональные данные в условиях пандемии Темой второй ежегодной конференции Privacy Day 2020 станет влияние пандемии коронавируса на приватность и защиту частной жизни граждан в России и мире. Мероприятие пройдет онлайн 21 мая в 11:00 (по московскому времени). Организаторы конференции РосКомСвобода и Лаборатори...

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

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

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

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

Обзор инструментов для chaos engineering в Kubernetes. Часть 2: Litmus Chaos, Chaos Toolkit, KubeInvaders и другие Это вторая и заключительная часть знакомства с доступными сегодня Open Source-утилитами для организации хаос-инжиниринга в Kubernetes-кластерах. В первой статье было вкратце рассказано о появлении самой дисциплины — chaos engineering, — а также рассмотрены kube-monkey, cha...

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

[Перевод] Микросервисы со Spring Boot. Часть 4. Использование Ribbon для балансировки нагрузки Это часть 4 серии о микросервисных архитектурах, в которой мы сосредоточимся на использовании Ribbon для балансировки нагрузки. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов Часть 2. Создание микросерви...

SLS vs STARSHIP: Почему существуют обе программы? Everyday Astronaut 1 МАЯ 2020, TIM DODD, EVERYDAY ASTROUNAVT ВЕБ-ВЕРСИЯ: FLORIAN KORDINA И JOEY SCHWARTZ Пару слов от меня зачем и почему. Мне нравится американский космический журналист — Тим Додд. За его энтузиазм и дотошность при рассмотрении темы. Можно критически относиться к его оценкам...

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

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

О пушках Гаусса и не только В этой статье мы постараемся рассмотреть ускорители (пушки) Гаусса, а также предложить ряд действий, для улучшения их работы. В процессе мы не будем сильно акцентироваться на схемотехнике, так как этот вопрос достаточно подробно разобран в других работах. Вместо этого мы ос...

Разложение монолита: Декомпозиция БД (часть 1) Эта статья является конспектом книги «От монолита к микросервисам». Материал статьи посвящен декомпозиции БД во время процесса разложения монолита на микросервисы.В предыдущей статье рассмотрели способы извлечения функциональности из монолита в микрослужбы. Однако, что делат...

Эволюция системы обновления Android В этой статье мы рассмотрим все возможные варианты обновления прошивки на устройствах под управлением Fuchsia Android. Особое внимание уделим самому популярному способу — обновлению по воздуху или OTA (over-the-air) — и расскажем об этапах его развития.Итак, как можно обнови...

[Перевод] Единый математический язык для физики и инженерного искусства в 21 веке Конец 18-го и 19-й век были временем колоссального прогресса в математике. Величайшие умы тысячелетия вводили все новые математические системы и языки, такие как алгебры Клиффорда и Грассмана. Хотя эти алгебры вызвали значительный интерес, в то время они воспринимались как п...

Замена дисков меньшего объёма на диски большего объёма в Linux Всем привет. В преддверии старта новой группы курса «Администратор Linux» публикуем полезный материал, написанный нашим студентом, а также наставником на курсах, специалистом технической поддержки корпоративных продуктов REG.RU — Романом Травиным. В данной статье будет расс...

5.  Континент 4 Getting Started. Обнаружение и предотвращение вторжений (IDS/IPS) Приветствую читателей в пятой статье цикла Континент Getting Started. Сегодня речь пойдет о таком механизме как обнаружение и предотвращение вторжений (IDS/IPS). Важно! Все следующие статьи будут опубликованы на нашем учебном портале и в Telegram канале.В Континент 4.1 есть ...

Python GUI. Библиотека KivyMD. Шаблон MVC, parallax эффект и анимация контента слайдов Приветствую вас, дорогие любители и знатоки Python! Прошло пол года с момента моей последней публикации на Хабре. Был погружен в пучину обстоятельств и сторонние проекты. Начиная с сегодняшней, статьи будут выходить с периодичностью раз в месяц. В этой статье мы рассмотрим к...

[Перевод] Заметки о Unix: система управления заданиями и использование SIGCHLD в (BSD) Unix Недавно мы опубликовали перевод статьи о конвейерах в Unix, у автора которой есть ещё немало подобных материалов. В той публикации мы устроили опрос о целесообразности перевода других статей того же автора. Большинство принявших участие в опросе эту идею поддержало. Поэтому ...

Как мы интегрировали amoCRM с Виртуальной АТС от МегаФона Сегодня amoCRM — одна из наиболее популярных систем организации эффективной работы с клиентами и партнерами. Она подходит в том числе компаниям с длинным циклом сделки, что особенно характерно для продаж в сегменте B2B, ведь именно там нужен внимательный контроль воронки п...

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

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

Как LoRaWAN помогает строить современный интернет вещей LoRaWAN — технология, которая быстро набирает популярность в сфере решений интернета вещей. При этом для многих клиентов остается малоизученной и экзотической, из-за чего вокруг нее существует множество мифов и заблуждений. В 2018 году в России были приняты поправки в зако...

Что такое BlackBerry OS 10? Перед самой статьей хотелось бы отметить то, что ранее Я выкладывал данную публикацию на другом ресурсе. Однако мне захотелось перенести ее на Хабр с небольшими изменениями и правками. Приятного всем чтения...Наверняка многие из вас никогда не слышали о такой компании как Bl...

Удаление узлов из красно-чёрного дерева Использовано изображение портала cartoonbank.ru В прошлой статье мы рассмотрели правила формирования красно-чёрного дерева поиска и рассмотрели случаи балансировки при добавлении элементов. Теперь поговорим об удалении элементов. Возьмём, для примера, вот такое красно-чёр...

[Из песочницы] DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля Часть 1: Web / Android Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинал...

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

[Перевод] Порождающие шаблоны проектирования в ES6+ на примере Игры престолов Шаблоны проектирования — способы решения наиболее часто встречающихся при разработке программного обеспечения проблем. В этой статье мы рассмотрим порождающие шаблоны с отсылками на Игру престолов. О структурных паттернах читайте здесь. Порождающие паттерны предназначены...

[Перевод] Цели уровня обслуживания — опыт Google (перевод главы книги Google SRE) SRE (Site Reliability Engineering) — подход к обеспечению доступности веб-проектов. Считается фреймворком для DevOps и говорит как добиться успеха в применение DevOps-практик. В этой статье перевод Главы 4 Service Level Objectives книги Site Reliability Engineering от Goog...

Частные города в России. Тренд ближайших десятилетий. Часть 1 Всем привет! Несколько лет назад я впервые опубликовал на хабре цикл статей о возможности строительства частного города в России. Статьи собрали в общей сложности 110 тыс. просмотров и 1160 комментариев. Как и принято в рунете, скепсиса было много. Но уже тогда с вашей пом...

Хранение данных в Docker Важная характеристика Docker-контейнеров — эфемерность. В любой момент контейнер может рестартовать: завершиться и вновь запуститься из образа. При этом все накопленные в нём данные будут потеряны. Но как в таком случае запускать в Docker приложения, которые должны сохранят...

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

[Перевод] Go Your Own Way. Часть вторая. Куча Серия статей о GC Don’t Fear the Reaper Life in the Fast Lane Go Your Own Way. Часть первая. Стек Go Your Own Way. Часть вторая. Куча Мы продолжаем цикл статей о сборщике мусора в языке D. Этот вторая ча...

[Перевод] Canary Deployment в Kubernetes #1: Gitlab CI Мы будем использовать Gitlab CI и ручной GitOps для внедрения и использования Canary-деплоя в Kubernetes Статьи из этого цикла: (эта статья) Canary Deployment при помощи ArgoCI Canary Deployment при помощи Istio Canary Deployment при помощи Jenkins-X Istio Flagger Выполн...

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

Нейросеть — обучение без учителя. Метод Policy Gradient Доброго времени суток, Хабр Настоящей статьей открываю цикл статей о том, как обучать нейронные сети без учителя. (Reinforcement Learning for Neuron Networks) В цикле планирую сделать три статьи по теории и реализации в коде трех алгоритмов обучения нейронных сетей без учи...

Приватность by design, или как создать приложение, чтобы не вылететь с маркетов Все слышали новость о том, что Фэйсбук «выбросил» десятки тысяч приложений из-за проблем с приватностью. Это ставит перед разработчиками много вопросов, на которые надо срочно искать ответы: ● Как создать «безопасное» приложение? ● Что такое вообще эта ваша приватность? ● И ...

[Перевод] Современные архитектуры фронт-энда В статье "Contemporary Front-end Architectures" рассмотрены архитектуры фронт-энда с точки зрения потоков данных в исторической ретроспективе. Материал состоит из трех частей Теория и история Реализация Перспективы Читать дальше →

[Из песочницы] Создание Discord-бота на Python. Часть 1 Версии, которые стоят у автора Версия Python: 3.8.2 Версия discord.py: 1.3.3 Приветствую, хабровчане и другие пользователи интернета. Сегодня я начну цикл статей, посвящённых созданию Discord-бота с помощь...

L2TP & «IPsec with pre shared key» vs MITM В статье рассмотрены основные vpn протоколы, которые на текущий момент применимы в бизнес процессах, а также углубленно освещен вопрос использования L2TP в связке с IPsec в режиме pre shared key. На практике разобраны подходы к организации виртуальных сетей на оборудовании ...

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

[Перевод] Микросервисы со Spring Boot. Часть 5. Использование сервера имен Eureka В этой заключительной части нашей серии архитектур микросервисов мы научимся включать сервер имен Eureka и позволять микросервисам взаимодействовать с ним. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов ...

[Перевод] Современные решения старых CSS-задач (1 часть): Удержание футера внизу страницы Приветствую. Представляю вашему вниманию перевод статьи «Keep the Footer at the Bottom: Flexbox vs. Grid», опубликованной 8 апреля 2020 года автором Stephanie Eckles Это первая статья из серии, посвящённой ознакомлению с современными способами решения CSS-проблем, с которы...

Линукс для начинающих и его практическое применение Краткое описание Linux и его основных возможностей. В статье рассмотрены ключевые достоинства и недостатки данного семейства ОС.

Как системы анализа трафика обнаруживают тактики хакеров по MITRE ATT&CK на примере PT Network Attack Discovery В предыдущей статье мы рассмотрели техники двух тактик MITRE ATT&CK — первоначальный доступ (initial access) и выполнение (execution), а также как с помощью нашего NTA-решения можно распознавать подозрительную активность в сетевом трафике. Теперь мы расскажем, как наши...

Преступления на почве расизма в США: статистический анализ После моей недавней статьи (части 1, 2, 3) о криминале и полицейской стрельбе в США и их связи с расовой принадлежностью я решил продолжить эту тему и в таком же ключе проанализировать другие открытые данные — благо, таких еще достаточно благодаря программе криминальной отче...

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

Что сегодня есть у Huawei для построения цифровых беспроводных офисов В этом посте мы обрисуем современные тенденции в построении беспроводных кампусов, рассмотрим сценарии и реальные кейсы цифровой трансформации корпсетей, а также покажем, как двум специалистам обслуживать сеть на 25 тыс. абонентов, включающую в себя 20 тыс. сетевых устройств...

Пишем telegram бота на языке R (часть 4): Построение последовательного, логического диалога с ботом Если вы уже ознакомились с предыдущими тремя статьями из данной серии, то вы уже умеете писать полноценных telegram ботов с клавиатурой. В этой статье мы с вами научимся писать бота, который будет поддерживать последовательный диалог. Т.е. бот будет задавать вам вопросы, и ...

Разработка «простого генератора напряжения» в соответствии с ГОСТ Р МЭК 61508 (IEC 61508) В данной статье будут рассмотрены необходимые шаги для создания устройства, отвечающего общим требованиям функциональной безопасности (ФБ). А также будет предложена архитектура простейшего «безопасного» (safety) генератора напряжения. Так как управляя напряжением, можно уп...

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

Частные города в России. Дизайн-город. Часть 2 Нашумевшая прошлая статья вызвала бурю обсуждений! Она даже попала в профессиональные сообщества российских проектировщиков в фейсбуке. Но самое важное — идея, которая появилась 4 года назад, начала собирать вокруг себя заинтересованных предпринимателей. В этой статье я впер...

Создание шутера с LeoECS. Часть 1 Друзья, это первая статья по фреймворку LeoECS из предстоящей серии, которая позволит вам быстрее понять, как работать с LeoECS в Unity и решить некоторые виды проблем, возникающих на практике. Все советы, изложенные в них, не представляют собою какой-то свод правил, способы...

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

Решение задач по планиметрии Планиметрия изучется в начальном курсе геометрии и зачастую сводится к решению практических задач без изучения теоретической базы. В данной статье приводятся альтернативные (подсказкам) решения некоторых задач приложения Euclidea (геометрические построения с помощью циркул...

[Перевод] Мониторинг распределённых систем — опыт Google (перевод главы книги Google SRE) SRE (Site Reliability Engineering) — подход к обеспечению доступности веб-проектов. Считается фреймворком для DevOps и говорит как добиться успеха в применение DevOps-практик. В этой статье перевод Главы 6 Monitoring Distributed Systems книги Site Reliability Engineering о...

[Из песочницы] О работе ПК на примере Windows 10 и клавиатуры ч. 1 Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Window...

[Перевод] Именование в CSS Grid Когда вы впервые изучаете, как использовать Grid-разметку, можно начать с размещения элементов на сетке по номерам линий. В этом случае необходимо следить за тем, где на сетке проходят определённые линии, и помнить о том, что последовательность их номеров меняется на противо...

[Перевод] Как превратить скрипт на Python в «настоящую» программу при помощи Docker Никого не интересует, умеете ли вы разворачивать связанный список — всем нужно, чтобы можно было легко запускать ваши программы на их машине. Это становится возможным благодаря Docker. Для кого предназначена эта статья? Вам когда-нибудь передавали код или программу, дерево...

[Перевод] Питонистический подход к циклам for: range() и enumerate() Автор заметки, перевод которой мы сегодня публикуем, хочет рассказать о некоторых особенностях использования циклов for в Python. Цикл for — это один из краеугольных камней программирования. С этими циклами будущие программисты знакомятся в самом начале учёбы и, после пер...

JavaScript: немного об интернационализации и локализации веб-приложений Привет, друзья! В данной статье я хочу рассказать вам об Internationalization API — интерфейсе, предоставляемом браузером, позволяющем выполнять интернационализацию и локализацию веб-приложений. Статья состоит из 2 частей: теоретической и практической. В теоретической част...

Функциональное программирование на TypeScript: задачи (tasks) как альтернатива промисам Предыдущие статьи цикла: Полиморфизм родов высших порядков Паттерн «класс типов» Option и Either как замены nullable-типам и исключениям В предыдущей статье мы рассмотрели типы Option и Either, которые предоставляют функциональную замену nullable-типам и выбрасыванию искл...

Как перестать бояться и полюбить 1-wire Мне очень нравится протокол 1-wire своей простотой и удобством для применения в системах «умный дом». Недавно я писал программную эмуляцию одной микросхемы и погрузился во внутренности этого протокола. Чтобы накопленные знания могли принести пользу не только мне, я решил нап...

Quartet 9: Allegro | TypeScript Когда создавалась библиотека для валидации данных quartet были поставленны следующие цели-ориентиры: TypeScript Краткость и простота Производительность В этой статье я хотел бы рассмотреть ориентированность quartet на TypeScript. Читать дальше →

Maltego Часть 5. Твое лицо тебя сдало Здравствуйте, дорогие друзья. Сегодня поговорим о более тяжелой артиллерии в рамках OSINT, а именно, о применении технологии распознавания лиц от Social Links для Maltego. Если не читали предыдущие статьи цикла о Maltego, то сейчас — самое время: Часть 1 — Что такое Malt...

nanoCAD Геоника. Модуль «Генплан»: отрисовка и создание проездов в поверхности  Эта статья открывает цикл публикаций по отрисовке и созданию проездов с помощью программного продукта nanoCAD Геоника.Важность отрисовки проездов объясняется необходимостью корректного отображения проездов на 3D-модели рельефа, при построении профилей инженерных сетей,...

SDR трансивер Peaberry V2 Данная статья завершает серию публикаций про бюджетные одноплатные радиостанции SDR (Software Defined Radio). Речь пойдёт о трансивере Peaberry SDR V2, разработанном американским радиолюбителем David Turnbull (AE9RB). Набор для сборки трансивера Peaberry SDR V2 продавался ...

[Перевод] Машинное обучение с Dask Перевод статьи подготовлен для будущих учащихся на продвинутом курсе Machine Learning. Обработка даже пары гигабайт данных на ноутбуке может стать сложной задачей, только если он не оснащен большим количеством оперативной памяти и не обладает хорошей вычислительной мощнос...

Дифференциальные и инкрементальные бэкапы MySQL Для MySQL существует широко известный инструмент по созданию резервных копий баз данных — mysqldump, который создаёт дамп посредством записи серии SQL-инструкций для восстановления таблиц и данных целевой базы данных. Он неплохо подходит для резервного копирования небольши...

[Перевод] Quarkus — новый взгляд на Cloud Native Java Привет, Хабр! В наступившем новом году мы планируем всерьез развивать темы контейнеров, Cloud-Native Java и Kubernetes. Логичным продолжением этих тем на русском языке будет рассказ о фреймворке Quarkus, уже рассмотренном в хорошей статье на Хабре. Сегодняшняя статья посвящ...

3. UserGate Getting Started. Политики сети Приветствую в третьей статье цикла статей UserGate Getting Started, где рассказывается о NGFW решении от компании UserGate. В прошлой статье был описан процесс установки межсетевого экрана и была произведена его первоначальная настройка. Сейчас же мы более подробно расс...

Архитектура контейнеров, часть 2. Пользовательское пространство Материал переведен. Ссылка на оригиналВ первой статье из серии "Архитектура контейнеров" (перевод, оригинал на англ.) мы рассмотрели разницу между пользовательским пространством и пространством ядра. Сегодня мы продолжим изучение этой темы и посмотрим подробнее на пользовате...

Агрегаты в БД — многомерные суперагрегаты В прошлой статье мини-цикла о работе с агрегатами я рассказывал, как организовать эффективное многопоточное преобразование потока первичных данных в данные агрегированные. Там мы рассматривали задачу "свертки" продаж в агрегаты вида товар/дата/кол-во.Сегодня м...

Анализ и построение ROC-кривых: связь с РЛС Многие слышали о ROC-кривой, которая часто используется в ML. Расшифровывая данную аббревиатуру мы получаем, что ROC (англ. receiver operating characteristic). При переводе с английского это означает РХП (рабочая характеристика приемника). Данное понятие позаимствовано из те...

[Перевод] Знакомимся с Web Animations API Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Charlie Gerard «Exploring the Web Animations API». Знакомимся с Web Animations API Веб API постоянно эволюционируют. Некоторые из них, такие как Console или Canvas, хорошо поддерживаются всеми брау...

Сравнительный анализ некоторых Java-декомпиляторов В этой статье будут рассмотрены четыре декомпилятора — Fernflower, CFR, Procyon и jadx — и произведено их сравнение по нескольким параметрам. Дисклеймер: сравнение неформальное и не претендует на научность. Скорее, это просто обзор всех актуальных (на осень 2019) декомпилят...

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

[recovery mode] Базовые возможности LXD — системы контейнеров в Linux LXD — это системный менеджер контейнеров следующего поколения, так гласит источник. Он предлагает пользовательский интерфейс, похожий на виртуальные машины, но использующий вместо этого контейнеры Linux. Ядро LXD — это привилегированный демон (сервис запущенный с правами ro...

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

[Перевод] Паттерн PageObject в Kotlin для UI-тестирования Android Это перевод статьи ведущего Android & iOS разработчика Yahoo (Verizon Media) Брама Йе. Он рассказывает о внедрении паттерна PageObject в свои инструментальные тесты, который делает их более гибкими и легко модифицируемым в зависимости от изменений пользовательского инт...

Делимся опытом, как показывают себя SSD в рамках RAID и какой уровень массива выгоднее В прошлом материале мы уже рассмотрели вопрос о том “Применим ли RAID на SSD” на примере накопителей Kingston, но сделали это только в рамках нулевого уровня. В текущей статье мы разберем варианты использования профессиональных и домашних NVMe-решений в самых популярных типа...

[Перевод] Логирование в Kubernetes: EFK против PLG Мониторинг стал весьма важным компонентом растущих облачных решений с ростом сложности распределенных систем. Он необходим для понимания их поведения. Нужны масштабируемые инструменты, которые смогут собрать данные со всех сервисов — и предоставить специалистам единый интер...

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

Локализация приложений: как мы подружили перевод и разработку Привет, Хабр! Я ведущий разработчик системы локализации в Badoo. Мы работаем с несколькими большими проектами: Badoo, Bumble, Lumen и Chappy. Сейчас в системе локализации у нас находятся 150 000 фраз и текстов, переведённых на 52 языка. При этом каждое из наших приложений и...

[Из песочницы] Создание отказоустойчивой ИТ инфраструктуры. Часть 1 — подготовка к развёртыванию кластера oVirt 4.3 Вниманию читателей предлагается ознакомиться с принципами построения отказоустойчивой инфраструктуры небольшого предприятия в рамках одного ЦОДа, которые будут детально рассмотрены в небольшом цикле статей. Читать дальше →

С «эмулируй» сборку приложения ARM на x86 процессоре на примере Qt Мощность современных процессоров растёт, как в стационарных компьютерах, так и в различных embedded устройствах, на борту которых процессоры на базе ARM с операционной системой linux. Сегодня в рамках данной статьи мы запустим эмулятор процессора ARM на x86 компьютере и в нё...

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

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

Топ-5 смартфонов Huawei 2019 года, которые есть на AliExpress В этой статье мы рассмотрим пять лучших смартфонов китайской компании Huawei в разных категориях, которые были анонсированы в уходящем году. Увы, бОльшая часть из них была представлена во второй половине года, т.е. после введения американских санкций, поэтому они поставляютс...

OCR-конвейер для обработки документов Сегодня я расскажу о том, как создавалась система для переноса текста из бумажных документов в электронную форму. Мы рассмотрим два основных этапа: выделение областей с текстом на сканах документов и распознавание символов в них. Кроме того, я поделюсь сложностями, с которым...

Генерация клока на примитиве LUT В прошлой статье я попытался с генерировать тактирующий сигнал в ПЛИС на разных примитивах. Из всех рассмотренных вариантов генерации сигнала, самым адекватным получился  клок с генерированный на  блоках LUT.  Цель. В этот раз я хочу с генерировать клок не на ...

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

Можно ли генерировать случайные числа, если мы не доверяем друг другу? Часть 2 Привет, Хабр!В первой части статьи мы обсудили, зачем может быть необходимо генерировать случайные числа участникам, которые не доверяют друг другу, какие требования выдвигаются к таким генераторам случайных чисел, и рассмотрели два подхода к их реализации.В этой части стать...

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

5 стадий неизбежности принятия ISO/IEC 27001 сертификации. Отрицание В случае принятия любого стратегически важного решения для компании сотрудники проходят базовый защитный механизм, хорошо известный под названием 5 стадий реагирования на изменения (автор Э. Кюблер–Росс). Выдающийся психолог когда-то описала эмоциональные реакции, выделив 5 ...

Hack The Box. Прохождение Tabby. RCE в Tomcat, и повышаем привилегии через LXD Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье получим RCE в Tomcat, ломаем zip архив и повышаем привилегии с помощью LXD. Организационная информация Чтобы вы могли у...

[Перевод] Искусство написания циклов на Python Цикл for — самый базовый инструмент потока управления большинства языков программирования. Например, простой цикл for на C выглядит так: int i; for (i=0;i<N;i++) { //do something } Не существует более изящного способа написания цикла for на C. В сложных случаях обычн...

Введение в SSD. Часть 4. Физическая Прошлые части цикла «Введение в SSD» поведали читателю про историю появления SSD-накопителей, интерфейсы взаимодействия с ними и популярные форм-факторы. Четвёртая часть расскажет о хранении данных внутри накопителей. Читать дальше →

Введение в язык запросов Cypher Язык запросов Cypher изначально разработан специально для графовой СУБД Neo4j. Целью Cypher является предоставить человеко-читаемый язык запросов к графовым базам данных похожий на SQL. На сегодня Cypher поддерживается несколькими графовыми СУБД. Для стандартизации Cypher бы...

[Перевод] Разработка REST API — что такое Code First подход? В этой статье мы продолжим знакомство с разработкой REST API и рассмотрим подход Code-First. Разработка хорошего REST API важна для того, чтобы иметь хорошие микросервисы. Подход Code-First фокусируется на генерации контракта из кода. Это наилучший из возможных подходов? Чи...

2. Континент 4 Getting Started. Установка, инициализация Приветствую читателей во второй статье цикла Континент Getting Started. Сегодня мы установим и настроим Континент 4.1 на виртуальную машину и познакомимся с интерфейсом управления. В прошлой статье мы предварительно показали настройку VMware Workstation, теперь перейдем к с...

(S)SDLC, или Как сделать разработку безопаснее. Часть 3 Этой статьей мы завершим небольшой цикл о построении процесса безопасной разработки на основе SAST — статического анализа кода на безопасность. В первой части мы разобрали основные вопросы, возникающие при внедрении SAST в процесс разработки. Во второй части остановились на ...

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

Природа музыкальных ощущений. Родство звуков Этими статьями по теории музыки я ставлю задачу объяснить природу музыкальных ощущений человека. Как и в любом фундаментальном исследовании я начну с самого низкого уровня - физики звука и последовательно приду к известным музыкальным понятиям. В последней статье будет рассм...

Память в Swift от 0 до 1 В этой статье мы рассмотрим принципы работы памяти в Swift и разберемся, как Swift располагает байты в памяти, как управляет памятью и что из себя представляет жизненный цикл объектов. Читать далее

Проблема «умной» очистки образов контейнеров и её решение в werf В статье рассмотрена проблематика очистки образов, которые накапливаются в реестрах контейнеров (Docker Registry и его аналогах) в реалиях современных CI/CD-пайплайнов для cloud native-приложений, доставляемых в Kubernetes. Приведены основные критерии актуальности образов ...

Самодельный антисептик из того, что есть в аптеке. Делаем спирт из водки без самогонного аппарата дедовским способом В этой статье я расскажу про приготовление антисептика для рук с использованием увлажняющего геля на основе алоэ, а также антисептика по рецепту ВОЗ из компонентов, которые можно купить в обычной аптеке (да, и спирт тоже, хотя в РФ он там и не продается). Во второй части ст...

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

Как сделать базовый тест-класс для Selenium тестов и выполнить инициализацию через JUnit RuleChain Этой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ процесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло. Как эффективно организовать иерархию кл...

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

ML и DS оттенки кредитного риск-менеджмента | EAD или деньги в дефолте Привет, Хабр! Новая статья цикла о моделировании в задачах управления кредитным риском (предыдущие статьи смотрите здесь и здесь)  посвящена EAD — компоненте, отражающей размер задолженности заемщика перед банком в момент дефолта. Как спрогнозировать сумму кредитного тре...

Знакомство с pg_probackup. Третья часть Завершающая часть из цикла "Знакомство с pg_probackup" (первая | вторая части). В предыдущей статье мы решили сразу две задачи: в первой создали архив wal-файлов, перешли к PAGE-архивам, настроили политику удержания wal-файлов; во второй — реплику из бэкапа и на...

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

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

Будни OEMщика (Часть 1) Понятие «OEMщик» очень широкое, оно может подразумевать любого сотрудника, работающего в одной из многих сфер производства. В данной статье под OEM подразумеваются продукты компании Microsoft, поставляемые вместе с производимым оборудованием. Т.е., под OEMщиком подразумевает...

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

[Перевод] Реализуем простые кооперативные потоки на C Привет, Хабр! Спасибо вам за внимание, проявленное к нашей предыдущей переводной публикации о REST. Сегодня мы предлагаем взглянуть на тему проектирования систем несколько с другой стороны и публикуем перевод статьи Стивена Бреннана, корифея Linux, который рассказывает о со...

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

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

[Перевод] Что такое Жизнь во Вселенной: четыре базовых принципа вместо трёх характерных функций Данная статья мотивирована необходимостью построить более общую картину, что такое жизнь (и какой она может быть) по отношению к остальным явлениям во Вселенной.(Является переводом довольно любопытной научной статьи от 16 апреля 2020 года). Читать далее

Мой MikroTik – моя цифровая крепость (часть 1) В статье рассмотрены различные подходы к организации практической безопасности сетей, построенных на оборудовании MikroTik, в том числе при помощи дополнительного открытого программного обеспечения, расширяющим имеющиеся штатные возможности, что в комплексе позволяет качеств...

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

В forklog.media начнут писать про проблемы приватности в интернете и кибербезопасность Англоязычная редакция ForkLog начнет освещать проблемы приватности и кибербезопасности на фоне введения правительствами ограничений на свободные передвижения и мер по отслеживанию граждан с применением цифровых технологий. We will start covering the matters of #privacy and #...

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

[Из песочницы] Сертификация по программе IBM Data Science Professional Certificate Статья является кратким обзором о сертификации по программе IBM Data Science Professional Certificate. Будучи новичком в Python, мне пришлось столкнуться с реализацией задач: Загрузка и парсинг HTML таблиц Очистка загруженных данных Поиск географических координат по адрес...

[Из песочницы] Перенаправление функций в native-библиотеках на Android В данной статье я немного расскажу о том, как c помощью фреймворка AndHook можно перенаправлять вызовы функций в native-библиотеках. Можно перехватывать вызовы как публичных (экспортируемых функций), так и непубличные, напрямую по их адресу. Подробнее о перенаправлении можно...

Асинхронность в С++20. Доклад в Яндексе Привет, это Григорий Демченко из WhatsApp. Мой доклад посвящён использованию сопрограмм в C++20. Я не стал говорить про низкоуровневые примитивы и то, как компилятор поддерживает сопрограммы и преобразовывает соответствующий код. Вместо этого акцент сделан на практическом пр...

Docker и все, все, все TL;DR: обзорная статья-руководство по сравнению сред для запуска приложений в контейнерах. Будут рассмотрены возможности Docker и других схожих систем. Читать дальше →

На чём айтишнику кататься этим летом? Ваш покорный слуга — на «покатушках» по грязям, в лесу Эта история будет интересна тем, кто никогда не слышал про рассмотренный вид транспорта. Данная статья не претендует на абсолютную точность и корректность всех деталей, «все персонажи вымышлены, а совпадения случайны». ...

Чек-лист устранения SQL-инъекций По всему миру происходят атаки с использованием SQL-инъекций, которые продолжают представлять угрозу информационной безопасности. Успешная атака с использованием таких уязвимостей может привести к компрометации персональных данных и несанкционированному доступу к серверу. А ...

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

Потоковый захват изменений из PostgreSQL/MySQL с помощью Apache Flink Привет! Сегодня мы поговорим и попробуем на практике реализацию паттерна Change Data Capture (далее – CDC) в Apache Flink. Статья разделена на несколько частей: в первой мы рассмотрим теоретические основы Change Data Capture, варианты реализации и сферы применения. Во в...

[Перевод] В каких случаях не нужно использовать списки в Python Перевод статьи подготовлен в преддверии старта базового курса «Разработчик Python». В Python, наверное, самым популярным контейнером данных будет список (list). Он настолько гибкий, что его можно использовать в проектах почти повсеместно и хранить в нем данные различного т...

[Перевод] Восемь интересных возможностей PostgreSQL, о которых вы, возможно, не знали Привет, Хабр! Приглашаем на бесплатный Demo-урок «Параллельный кластер CockroachDB», который пройдёт в рамках курса «PostgreSQL». Также публикуем перевод статьи Тома Брауна — Principal Systems Engineer at EnterpriseDB. В этой статье рассмотрим несколько полезных со...

Hibernate и Spring Boot: кто отвечает за имена таблиц? Когда мы добавляем зависимость в проект, мы подписываем контракт. Зачастую, многие условия в нем «написаны мелким шрифтом». В этой статье мы рассмотрим кое-что, что легко  пропустить при подписании трехстороннего контракта между вами, Hibernate и Spring Boot. Речь пойде...

Nuxt.js app от UI-кита до деплоя. Часть 3: Мультиязычность Привет! Это третья часть цикла статей о создании современного блога на Nuxt.js. Сегодня реализуем мультиязычность в приложении, которое мы написали в первой и второй частях. Читать дальше →

Разбор серии рекламных видео для игры Spin Voyage Мы выпустили серию роликов для рекламной кампании игры Spin Voyage. В ходе работы над серией мы пробовали разные сюжеты и использовали разнообразные методы: от анимации плоской графики до монтажа живых съёмок. Зачем нужен этот сюжетный коктейль? Как аудитория приняла разно...

Модерация текста: уроки этикета от Data Scientist’a Привет, Хабр! С этой статьи мы начинаем публикацию серии статей про Data Science задачи, которые мы решаем в Центре Развития Финансовых Технологий Россельхозбанка. В прошлом году Россельхозбанк объявил о создании и развитии экосистемы для предприятий агропромышленного ...

[Перевод] Эмуляция компьютера: интерпретатор CHIP-8 и формирование изображений Недавно мы опубликовали перевод первого материала из серии статей, посвящённой эмуляции компьютера. Автор этих статей подробно рассказывает о написании интерпретатора CHIP-8 на C++. В той публикации мы устроили опрос о целесообразности перевода продолжения цикла. Почти 94% т...

[Перевод] Введение в REST API — RESTful веб-сервисы Эта статья представляет собой введение в RESTful веб-сервисы и краткий обзор REST и HTTP. Она начинает серию постов о разработке REST API: Введение в REST API — RESTful веб-сервисы Различия REST и SOAP Разработка REST API — что такое Contract First (контракт в первую очер...

Apache Bigtop и выбор Hadoop-дистрибутива сегодня Наверное, ни для кого не секрет, что прошлый год для Apache Hadoop стал годом больших перемен. В прошлом году произошло слияние Cloudera и Hortonworks (по сути, поглощение второго), а Mapr, в виду серьезных финансовых проблем, был продан Hewlett Packard. И если несколькими...

Как мы переходили с CocoaPods на Carthage Недавно мы перешли с CocoaPods на другой менеджер зависимостей — Carthage. Оказалось, что у этой простой на первый взгляд задачи много подводных камней. Чтобы сменить менеджер зависимостей и не страдать нужны две вещи:- заранее понимать, какая конечная цель у этой задач...

[Из песочницы] Пандемия COVID-19 глазами математика, или почему классическая модель SEIRD не работает Аннотация, или о досуге молодых ученых Последние несколько недель мы с коллегами заканчиваем рабочий день тем, что соревнуемся в точности прогноза развития эпидемии COVID-19 в России, используя различные методы нелинейной регрессии. И если прогноз на завтрашний день неизбежн...

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

1. Group-IB. Комплексная защита сети. Архитектура TDS Добрый день, коллеги! Сегодня начинаем новый цикл статей, посвященный решениям информационной безопасности от компании Group-IB. Компания работает на рынке информационной безопасности уже более 17 лет, и за это время обросла весьма существенными компетенциями, выполняя про...

Беги, муравей. Беги В данной статье рассматривается процесс создания имитационной модели поведения муравьиной колонии (можно почитать в википедии ) в среде имитационного моделирования «AnyLogic». Данная статься носит практический характер. В ней будет рассмотрен вопрос применения муравьиного ал...

[Перевод] Отпечаток браузера: что это, как работает, нарушает ли закон и как защититься. Часть 1 От Selectel: эта статья первая в цикле переводов очень детальной статьи об отпечатках браузера и том, как работает технология. Здесь собрано все, что вы хотели знать, но боялись спросить по этой теме. Что такое отпечатки браузера? Это метод, используемый сайтами и сервиса...

werf vs Docker. Чем лучше собирать образы Продолжаем серию публикаций «werf vs...», которая вдохновлена часто задаваемыми вопросами. В первой статье мы объяснили, чем werf отличается от Helm. Теперь черед сравнения с еще более базовой утилитой — Docker.Нас нередко спрашивают: зачем собирать образы с werf, если уже е...

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

C++20. Coroutines В этой статье мы подробно разберем понятие сопрограмм (coroutines), их классификацию, детально рассмотрим реализацию, допущения и компромиссы предлагаемые новым стандартом C++20. Читать дальше →

Краткий обзор и настройка Kata Containers В этой статье будет рассмотрен принцип работы Kata Containers, а также будет практическая часть с их подключением к Docker. Читать дальше →

FreeBSD. Условная маршрутизация средствами PF Файрвол PF в ОС FreeBSD FreeBSD. Фильтрация трафика PF FreeBSD. трансляции, тэги и якоря в PF FreeBSD. Условная маршрутизация средствами PF <- Вы здесь Введение В предыдущих статьях мы разобрали базовые элементы конфигурации PF. Создали конфигурации, способные защитить...

Анатомия юнит-теста Эта статья является конспектом книги «Принципы юнит-тестирования». Материал статьи посвящен структуре юнит-теста.В этой статье рассмотрим структуру типичного юнит-теста, которая обычно описывается паттерном AAA (arrange, act, assert — подготовка, действие и проверка). З...

[Из песочницы] Разбираемся с управлением памятью в современных языках программирования Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan. В данной серии статей мне бы хотелось развеять завесу мистики над управлением памятью в программном обеспечении (далее...

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

Параметризованное 3D-моделирование подшипникового стакана в nanoCAD Plus 20 Компания MaxSoft категорически приветствует всех читателей! В этой статье речь пойдет о САПР-платформе nanoCAD, а если конкретнее — о её 3D модуле. Так уж сложилось, что из релиза в релиз, все вертикальные решения на базе платформы nanoCAD, ровно как и сама платформа, обяза...

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

Создание отказоустойчивой ИТ инфраструктуры. Часть 3. Организация маршрутизации на роутерах VyOS Основная цель статьи – показать процесс установки и настройки виртуальных маршрутизаторов VyOS на кластере oVirt, для организации связи на уровне L3 между внутренними и внешними сетями. Также в статье будут рассмотрены вопросы, связанные с особенностями настройки выхода в Ин...

[Из песочницы] Защита проекта VBA в MS Excel Всем привет! Я обычный пользователь MS Excel. Не являющийся профессиональным программистом, но накопивший достаточно опыта, для установки и обхода защиты проектов VBA. Дисклеймер: В данной статье рассмотрены виды защиты проектов VBA, от несанкционированного доступа. Их сил...

Материальный дизайн. Создание анимаций в Kivy Приветствую всех любителей и знатоков языка программирования Python! В этой статье я покажу, как работать с анимациями в кроссплатформенном фреймворке Kivy в связке с библиотекой компонентов Google Material Design — KivyMD. Мы рассмотрим структуру Kivy проекта, использован...

[Перевод] Визуализация работы сервис-воркеров (Service Workers) Доброго времени суток, друзья! Вероятно, многие из вас слышали о таком новшестве в экосистеме JavaScript, как сервис-воркеры, которые являются ключевым элементом современной веб-разработки. Сервис-воркеры становятся все более востребованными, в первую очередь, благодаря п...

Исследование вредоносного трафика Статья расскажет о способах разбора и детектирования вредоносного сетевого взаимодействия в сети. Информация предоставляется для ознакомления. Здесь будут рассмотрены основные инструменты для анализа сетевого трафика и рассмотрены источники примеров для практики. Читать дале...

[Перевод] Анализ данных Twitter для ленивых в Elastic Stack (сравнение Xbox и PlayStation) Данные Twitter можно получить множеством способов — но кому хочется заморачиваться и писать код? Особенно такой, который будет работать без перебоев и перерывов. В Elastic Stack вы можете с легкостью собирать данные из Twitter и анализировать их. Logstash может в ...

Инвентаризация ИТ-активов штатными средствами Windows с минимальными правами доступа Коллеги, в предыдущей статье мы обсудили принципы эффективной работы с событиями аудита ОС Windows. Однако, для построения целостной системы управления ИБ важно не только своевременно реагировать на киберинциденты - необходимо прежде всего понимать, что именно мы защищаем. Д...

Запуск сложных C++ приложений на микроконтроллерах Сегодня никого не удивить возможностью разрабатывать на C++ под микроконтроллеры. Проект mbed полностью ориентирован на этот язык. Ряд других RTOS предоставляют возможности разработки на С++. Это удобно, ведь программисту доступны средства объектно-ориентированного програм...

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

И пришел лесник Знаете, что самое неприятное в научных спорах? Вот ты беседуешь, о какой-то космологической концепции, а оппонент берёт и приводит довод: «А вот в фантастическом романе…» Знаете, что самое неприятное в научных спорах? Вот ты беседуешь, о какой-то космологической концепции, а...

HackTheBox. Прохождение Unbalanced. Rsync, EncFS, Squid, XPath инъекция и RCE в Pi-hole Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье разбираемся с резервной копией в rsync, подбираем пароль для EncFS, работаем со squid прокси-сервером, эксплуатируем XPath инъекцию и эксплуатируем RCE в Pi-hole. ...

История создания домашнего облака. Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17 Два года назад я опубликовал цикл статей на тему создания веб-сервера на базе Debian 8 и запуске на нём сервиса Nextcloud 11. Через несколько месяцев появилось дополнение, содержащее «диффиренциальную» информацию по установке Nextcloud 13 на Debian 9. В конце 2018 года я про...

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

Шаблоны GRASP: Polymorphism, Pure Fabrication, Indirection, Protected Variations Привет, Хабр! Меня зовут Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Специально к старту нового набора на курс «Архитектура и шаблоны проектирования» я продолж...

Коммутатор Eltex MES 23XX. Шаблон базовой конфигурации Добрый день, коллеги! В этой статье я попытался создать шаблон базовой настройки коммутаторов Eltex MES 23XX для использования в корпоративных сетях, имеющих вспомогательные сервисы администрирования и мониторинга. Разумеется, невозможно описать весь функционал коммутатора и...

App Tracking Transparency: что изменилось с новой политикой приватности от Apple Apple в прошлом году заставила понервничать весь мобильный рекламный рынок, анонсировав для App Store новую политику приватности данных. Теперь создатели приложений обязаны спрашивать разрешение пользователей на рекламный трекинг (да-да, тот самый нашумевший IDFA). Правила, ...

Google Earth Engine (GEE) как общедоступный каталог больших геоданных В прошлой статье Google Earth Engine (GEE) как общедоступный суперкомпьютер речь шла про работу в облачном редакторе GEE, где для доступа достаточно лишь наличия Google почты. Если потребности ограничиваются разовыми задачами и гигабайтами извлекаемых данных, то этого вполне...

Будни OEMщика (Часть 2) Для тех, кто не читал первую часть статьи, скажу, что в данной статье под OEMщиком подразумевается специалист, который занимается подготовкой Windows к тиражированию на множество устройств. Из первой части Вы узнали, как быстро создать и развернуть образ системы. Помните, чт...

[Перевод] Элегантное асинхронное программирование с помощью «промисов» Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Graceful asynchronous programming with Promises» с MDN. «Обещания» (промисы, promises) — сравнительно новая особенность JavaScript, которая позволяет откладывать выполнение действия до завершения вы...

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

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

Запускаем тесты на GitLab Runner с werf — на примере SonarQube Если в качестве инфраструктуры, где разворачивается приложение, выступает Kubernetes, можно сказать, что существует два способа запуска тестов (и других утилит для анализа кода) в CI/CD: непосредственно в кластере K8s — с помощью отдельных Job или Helm hooks; «снаружи»...

Обзор системы жидкостного охлаждения ASUS ROG Strix LC II 280 ARGB Прошло немногим более года с момента нашего первого знакомства с СЖО ASUS ROG Strix LC 240 RGB, как линейка данных кулеров полностью обновилась до второй итерации. Теперь нам предстоит рассмотреть систему под названием...

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

[Перевод] Шарманка на Ардуино Эта публикация является переводом моей инструкции размещенной на сайте instructables.com. Проект занял первое место в DIY Arduino contest 2020 от Instructables Привет! Это статья о том, как я делал шарманку на Arduino. Читать дальше →

[Перевод] Внутреннее устройство Kubernetes-кластера простым языком Прим. перев.: как многим хорошо известно, Kubernetes — это всего лишь пять бинарников. Об их назначении и рассказывает в этой статье Vedashree Patil, консультант из Deloitte Digital. Когда ей потребовалось изучить Kubernetes, она столкнулась с большим количеством новой инфор...

[Перевод] Как Java 8 поддерживается в Android Привет, Хабр! Предлагаю вашему вниманию перевод замечательной статьи из цикла статей небезызвестного Джейка Вортона о том, как происходит поддержка Андроидом Java 8. Оригинал статьи лежит тут Читать дальше →

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

[Из песочницы] Введение в ASGI: становление асинхронной веб-экосистемы Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca. "Черепахи рядом с водоемом", Ricard Baraham на unsplash.com Python не замыкается только на Data Science, в...

Полный набор gRPC, RESTful JSON API и Swagger из одного .proto файла. От введения до нюансов и тонкостей grpc-gateway В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему. Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остано...

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

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

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

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

Работа с событиями аудита Windows – сбор, анализ, реагирование Уважаемые друзья, в предыдущих публикациях мы говорили об основах информационной безопасности, законодательстве по защите персональных данных и критической информационной инфраструктуры, безопасности в кредитно-финансовой сфере, а также провели анализ основных стандартов по ...

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

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

Power Automate VS Logic Apps. Особенности Logic Apps Добрый день всем! В прошлой статье, посвященной изучению Power Automate и Logic Apps мы рассмотрели некоторые возможности использования Power Automate. В данной статье я бы хотел остановиться на некоторых сценариях использования Logic Apps и ряде отличий от Power Automate. К...

Развитие механизмов безопасности Android (от версии к версии) Привет, Хабр!Я занимаюсь безопасностью мобильных приложений и с удовольствием слежу за развитием платформ Android и iOS, которые с каждым новым релизом становятся все привлекательнее для пользователей, «обрастают» новой интересной функциональностью и вместе с тем повышается ...

HackTheBox. Прохождение Intanse. Flask, атака HLE, SQL инъекция, SNMP to RCE, Ret2Libc Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье получаем секрет Flask с помощью SQL инъекции, проводим криптоатаку удлинения сообщения, получаем RCE с помощью SNMP, и эксплуатируем уязвимость переполнения буфера в при...

Android in-app purchases, часть 3: получение активных покупок и смена подписки Cегодня мы рассмотрим две важные темы по реализации in-app покупок с Google Billing Library. Начнем с получения активных покупок пользователя, то есть действующих подписок и ранее купленных non-consumable продуктов. Это наша третья статья из цикла статей про внедрение покупо...

Vue для самых маленьких a.k.a небольшой блог по всем канонам Всем привет! В данной статье рассмотрим разработку фронта простенького блога на Vue с использованием всех прелестей Vue включая Vuex и Router. А также поговорим про структуру приложения и работу с контейнером и роутером. Читать дальше →

NAS Backup и никакой магии. Deep dive от Veeam Уже несколько месяцев прошло с момента релиза Veeam Backup & Replication 10. Даже была обзорная статья про грядущий релиз. А вот пост-релизной статьи посвящённой более детальному и техническому разбору самой ожидаемой функции новой версии — NAS Backup, так и не было. Поэ...

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

F#, увеличение контраста изображения путем выравнивания гистограмм Операция выравнивания гистограмм (увеличение контраста) часто используется для увеличения качества изображения. В рамках этой статьи будет рассмотрено понятие гистограммы, теория алгоритма для ее выравнивания, практические примеры работы этого алгоритма. Для облегчения обраб...

Ленивая реализация обхода дерева дочерних элементов класса QObject Введение В статье описана ленивая реализация обхода дерева на языке C++ с использованием сопрограмм и диапазонов на примере улучшения интерфейса работы с дочерними элементами класса QObject из фреймворка Qt. Подробно рассмотрено создание пользовательского представления для р...

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

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

[Перевод] Упрощаем фоновые рисунки c помощью конических градиентов Один из известных способов создания повторяющихся фоновых узоров — это применение линейных градиентов. Но если использовать с этой же целью conic-gradient(), требуется значительно меньшее количество CSS-кода. Данное преимущество конических градиентов проиллюстри...

[Перевод] Размышления о Java 8 и Java 11 в ожидании Java 17 Этот материал посвящён некоторым особенностям Java 8 и Java 11. Его можно рассматривать как отправную точку для подготовки к освоению очередного LTS-релиза платформы — Java 17. В мире Java есть одна приятная особенность, которая связана с жизненным циклом версий платформы...

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

Разбор статей конференции RecSys 2020 Привет, Хабр! Несмотря на все невзгоды года текущего, интересные мероприятия и статьи с них никуда не деваются. Поэтому ML команда Одноклассников подготовила разборы работ коллег из Google, Microsoft, Tencent и др. представленных на прошедшей этой осенью конференции по реком...

AES — американский стандарт шифрования. Часть V. Атака Прочие статьи цикла AES — американский стандарт шифрования. Часть I АES — американский стандарт шифрования. Часть II AES — американский стандарт шифрования. Часть III AES — американский стандарт шифрования. Часть IV AES — а...

Строю правильный дом «под ключ» с микроклиматом без/с автоматизацией по цене квартиры — 1. Введение Приветствую.Задача - построить правильный дом "с нуля" и "под ключ" по цене квартиры.В этой первой статье из цикла будет дана вся вводная информация о доме, который буду строить для своего постоянного проживания. Старт март-апрель 2021 года.Мск и ближнее МО.В моем распоряжен...

Привлекательные аттракторы, тропические циклоны, смертельные эпидемии: мир динамических систем Можно ли сделать решение дифференциальных уравнений увлекательным, а результаты яркими и красочными? Вот к чему могут привести многолетние усилия в этом направлении Читать далее

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

Генетический алгоритм vs алгоритм роя частиц К задачам поиска лучшего варианта решения (объекта, параметров или других данных) сводятся многие из проблем математики, экономики, статистики и т.д. Эти проблемы возникают, когда приходится строить математическую модель ситуации. При обработке полученной математической моде...

Как я разработал мобильную игру на Android с использованием React.js и выложил её в Google Play Store В данной статье рассмотрим все этапы разработки: от зарождения идеи до имплементации отдельных частей приложения, в том числе выборочно будут предоставлены некоторые кастомные куски кода.Данная статья может быть полезна тем, кто только задумывается или начинает разрабатывать...

Orchestrator и VIP как HA-решение для кластера MySQL В Ситимобил мы используем базу данных MySQL в качестве основного хранилища постоянных данных. У нас есть несколько кластеров баз данных под различные сервисы и цели. Постоянная доступность мастера является критическим показателем работоспособности всей системы и ее отдельны...

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

Gradle Plugin: Что, зачем и как? Доброго времени, читатель! В предыдущей статье мы рассмотрели, как эффективно использовать стандартные инструменты Gradle в проектах для решения повседневных задач и немного коснулись подкапотного пространства.Под катом статьи проведём тур по Gradle-плагинам, разберёмся, для...

Свой личный SMS-шлюз. Часть 1 – цели, задачи, сборка и тестирование Представляю вам цикл статей по созданию собственного шлюза для отправки SMS-сообщений. В первой части мы определим цели и некоторые аспекты использования своего шлюза, настроим программное обеспечение для отправки SMS с использованием USB-модемов, а также рассмотрим нескол...

Волейбол глазами компьютера В прошлой статье я рассказал о своих подходах по распознаванию волейбольного мяча в игре. Задача сама по себе интересная и развивать ее можно в нескольких направлениях. Вариант 1 — продолжать исследования (в комментах к прошлой статье мелькали страшные слова SORT, YOLO итд...

Hack The Box. Прохождение SneakyMailer. Фишинговая рассылка, LPE через PyPI и GTFOBins pip3 Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье мы получим список адресов электронной почты, выполним рассылку фишинговых писем, разместим PHP шелл через FTP, выполним произвольный код благодаря PyPI и повысим привиле...

Как бекапить облака? Варианты от Veeam Информация, загруженная в облако, уже никуда и никогда оттуда не пропадет! Именно так можно сформулировать одну из популярнейших IT легенд, восхваляющую незыблемость облаков и суляющую наступление всеобщего счастья от миграции с банальных on-premise серверов. Однако на дел...

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

Получение данных с датчика углекислого газа Даджет в системы умного дома Датчик углекислого газа Даджет KIT MT8057S давно зарекомендовал себя как достаточно надежный и недорогой прибор. Один недостаток, на мой взгляд — официально данные с него можно получать только фирменной программой под windows, и никак иначе. Тем не менее, получить данные в ...

[Из песочницы] Как использовать несколько языков программирования и не сойти с ума Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use multiple programming languages without losing your mind» автора Bart Copeland. Сопливое нытьё про FSF и Red HatКароч, тема такая: я им написал, а они не ответили. Ну ладно бы Массивсофт, который вообще ник...

ModBus Slave RTU/ASCII без смс и регистрации. Версия 3 Ранее на Хабре была опубликована статья «ModBus Slave RTU/ASCII без смс и регистрации», посвященная реализации ModBus Slave RTU/ASCII устройств. В комментариях к статье было высказано множество замечаний, в том числе и несколько весьма дельных. В данной публикации приведен...

Мой MikroTik – моя цифровая крепость (часть 4) Статья является продолжением первой, второй и третьей частей, посвящённых организации практической безопасности сетей, построенных на оборудовании MikroTik. Ранее были рассмотрены общие рекомендации, безопасность уровней L1, L2 и L3, реализация централизованного логирования...

2. NGFW для малого бизнеса. Распаковка и настройка Продолжаем цикл статей по работе с новым модельным рядом SMB CheckPoint, напомним что в первой части мы описали характеристики и возможности новых моделей, способы управления и администрирования. Сегодня рассмотрим сценарий развертывания старшей модели серии: CheckPoint 15...

Уязвимости IoT-систем на примере LoRaWAN В данной статье мы рассмотрим уязвимости IoT систем и 3 сценария атаки на устройства данного типа. Но для начала стоит разобраться в терминах: что такое IoT? Что плохого может произойти из-за атаки на IoT устройства? Почему кибербезопасность сейчас так важна?Интернет ве...

3.  Континент 4 Getting Started. Контроль доступа Приветствую читателей в третьей статье цикла Континент Getting Started, где рассказывается о UTM решении от компании Код Безопасности. В прошлой статье был описан процесс установки узла безопасности и произведена его первоначальная настройка. В этой статье мы более подробно ...

Создание отказоустойчивой ИТ инфраструктуры. Часть 2. Установка и настройка кластера oVirt 4.3 Эта статья является продолжением предыдущей – «Создание отказоустойчивой ИТ инфраструктуры. Часть 1 — подготовка к развёртыванию кластера oVirt 4.3». В ней будет рассмотрен процесс базовой установки и настройки кластера oVirt 4.3, для хостинга высокодоступных виртуальных маш...

Мониторинг бизнес-процессов Camunda Привет, Хабр. Меня зовут Антон и я техлид в компании ДомКлик. Создаю и поддерживаю микросервисы позволяющие обмениваться данными инфраструктуре ДомКлик с внутренними сервисами Сбербанка. Это продолжение цикла статей о нашем опыте использования движка для работы с диаграмм...

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

Freebsd. Фильтрация трафика PF Введение Файрвол PF в ОС FreeBSD Фильтрация трафика PF <- Вы здесь В прошлой статье мы разобрали, что такое вообще PF, его основные возможности и создали простенький конфиг, использующий правила фильтрации и макросы. Сегодня разберемся с метками и научимся более продвин...

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

Превращаем DSLogic U2Basic в DSLogic Plus Привет, Хабр! В данной статье расскажу как модифицировать DSLogic U2Basic до DSLogic Plus. Данная статья является обновлением статьи — Превращаем DSLogic Basic в DSLogic Plus Кому интересно — прошу под кат. Читать дальше →

1. UserGate Getting Started. Введение Эта первая статья из планируемого цикла статей о продукции отечественной компании UserGate (ООО «Юзергейт»), которая разрабатывает технологии, обеспечивающие безопасность доступа в интернет и управление пользователями и улучшению качества интернет-доступа. Основной офис Us...

[Перевод] Каково это было изучать Data Science в 2019 году Эта статья — перевод статьи Томаса Нильда How It Feels to Learn Data Science in 2019 Видение (случайного) леса через деревья (решений) Thomas Nield Follow Feb 4 Время чтения: 16 минут Читать дальше →

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

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

zx – bash скрипты на javascript Bash широко используется в программировании и является превосходным инструментом, но и у него есть свои недостатки. Поэтому Google разработал пакет zx, который позволяет использовать bash внутри javascript / typescript и имеет около 17к звёзд на github. В данной статье буд...

Построение компонентов с выпадающими блоками с помощью Angular и Material CDK Каждое приложение использует компоненты с выпадающими блоками. Такие панели используются в выпадающем списке, Autocomplete, Tooltip и т.д. В Material CDK есть инструмент Overlay для создания такого функционала.В этой статье мы рассмотрим какую проблему решает Overlay CDK, к...

[Перевод - recovery mode ] Zettelkasten: как один немецкий учёный стал невероятно продуктивным Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хо...

Файрвол PF в ОС FreeBSD Введение В Рунете есть множество статей о настройке FreeBSD и PF, но все они разрозненны и несистематичны. А за любыми более-менее интересными вещами, такими, как маршрутизация средствами файрвола (Policy Based Routing), приходится читать оригинальную документацию, например,...

[Из песочницы] WebSockets и Spring WebFlux Вступление Все мы знаем вебсокеты, любим или не очень и можем написать их со Spring MVC. А что на счет реактивного приложения? В этой статье будет рассмотрено как создать вебсокеты с помощью Spring WebFlux. Контент: Как сконфигурировать вебсокет. Как прочитать сообщение? К...

Производительность приложений, работающих с Video и Audio В этой статье будут рассмотрены 3 практических вопроса, с которыми я столкнулся при разработке приложения. Как работать с Video и Audio с максимальной точностью. Как оптимально обрабатывать данные с такой скоростью. Как оптимально обрабатывать данные, приходящие по websoc...

Настройка GeoIP ACL в HAProxy в два шага Hello Planets by Augustinas Raginskis Иногда возникает задача управления трафиком в зависимости от географического положения клиента. Возможные области применения — блокировка некоторых локаций либо перенаправление трафика на итоговый сервер в зависимости от локации клиент...

DLR RMC — часть 1. Путь из космоса на Землю Ссылка на первоисточник: http://www.robotexnik.info/publ/robotics/dlr-rmc-part1/1-1-0-13. Здесь больше порядка с оформлением, особенно, для видеороликов. Заходите! Содержание Введение Ничего необычного: один из лучших центров робототехники в мире Оберпфаффенхофен Просто ко...

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

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

Создание 3D-модели детали на основе чертежа в формате PDF Здравствуйте, дорогие читатели! В этой статье, открывающей цикл материалов, посвященных возможностям программного решения nanoCAD Механика с модулем «3D и зависимости», мы рассмотрим создание 3D-модели детали на основе чертежа в формате PDF. Читать дальше →

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

[Перевод] Принцип работы планировщика задач в Linux Планирование – это процесс распределения ресурсов системы для выполнения задач. В статье мы рассмотрим его вариант, в котором ресурсом является одно или несколько ядер процессора, а задачи представлены потоками или процессами, которые нужно выполнить. Читать дальше →

Анализ сборки с соединениями в SOLIDWORKS Simulation Дополнительный модуль SOLIDWORKS Simulation позволяет проводить инженерные расчеты в деталях и сборках. В этой статье мы рассмотрим некоторые соединения для сборок и покажем, чем они отличаются и как выбор соединения влияет на результаты перемещения. Читать далее

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

Ровняем шарды "Размышления без практики приводят к заблуждению, практика без размышления приводит к затруднению." Мы ведём войну с индивидуальностью у шардов в кластере MongoDB. Это продолжение статьи Шардинг от которого невозможно отказаться, а это значит, что наступила пора к...

СКУД: проблемы, решения и управление рисками безопасности Источник Вопреки расхожему мнению, cистема контроля и управления доступом сама по себе редко решает проблемы безопасности. В реальности СКУД дает возможность для решения таких проблем. Когда вы подходите к выбору СКУД с точки зрения готового комплекта безопасности, которы...

[Перевод] Быстрый градиентный бустинг с CatBoost Привет, хабровчане! Подготовили перевод статьи для будущих учеников базового курса Machine Learning. В градиентном бустинге прогнозы делаются на основе ансамбля слабых обучающих алгоритмов. В отличие от случайного леса, который создает дерево решений для каждой выборки, в ...

Заметки KPHP: тестирование и бенчмарки Заметки KPHP: тестирование и бенчмарки Перед вами первая статья из серии «Как использовать KPHP в open source?». В этих статьях мы будем разбирать разные аспекты работы с KPHP, расширяя информацию, которую вы можете найти в официальной документации. В сегодняшнем выпуске обс...

Дополняя SQL. Часть 4. Работа с исключениями, влияние данных на процесс разработки. Использование ML.NET Что будет в этой статье? Это заключительная статья в цикле о жизни разработчиков IDE для баз данных. В этой части я расскажу, о том, как внедрение продуктовой аналитики повлияло на некоторые аспекты разработки. Для понимания этой статьи не обязательно читать все три предыду...

Атаки на компьютерное зрение Данная статья — попытка собрать известные теоретические и практические атаки на алгоритмы компьютерного зрения и реализовать атаку на практике. Материал будет полезен специалистам, которые занимаются построением систем распознавания и классификации объектов.Компьютерное зрен...

HackTheBox. Прохождение Travel. Memcache+SSRF=RCE, LPE через LDAP Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье разбираемся как с помощью PHP memcache и SSRF получить RCE, копаемся в базе данных и смотрим, чем опасен LDAP администратор. Подключение к лаборатории осуществляется ч...

RE: Страх и ненависть в IT Писать ответы на статьи легко и приятно. Не надо часами корпеть над структурой статьи, достаточно следовать чужому плану и лишь внятно изложить мысли на бумаге. Тем не менее, рискну предположить, что критический взгляд «с другой стороны» на проблемы, поднятые в статье "Страх...

Zynq. Передача данных между процессорным модулем и программируемой логикой Как и обещал в предыдущей статье (Что такое Zynq? Краткий обзор), поговорим о передаче данных между процессорным модулем и программируемой логикой. В предыдущей статье упоминалось четыре способа передачи данных, в статье будут рассмотрены два способа, которые нашли большее п...

На заре вычислительной техники, часть 1 Предисловие В моей предыдущей статье на тему истории вычислительной техники речь шла о цифровых устройствах. К ним мы еще вернемся, а сегодня разговор пойдет про принципиально иной способ считать вычислять, а именно про аналоговые вычислительные машины (АВМ), т.е. вычислител...

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

[Из песочницы] Адаптивное разбиение кривых Безье 2-го и 3-го порядка Уже год как я сменил работу на новую. В этой статье я хочу поделиться опытом, накопленным на прошлом месте. Здесь рассмотрены методы аппроксимации кривых Безье, а также обработка исключительных случаев, при которых простые алгоритмы показывают себя не очень хорошо. Все, ком...

[Перевод] Что такое Spring Framework? От внедрения зависимостей до Web MVC Вы можете использовать это руководство для различных целей: Чтобы понять, что такое Spring Framework Как работают ее основные фичи: такие как внедрение зависимостей или Web MVC Это также исчерпывающий FAQ (Перечень часто задаваемых вопросов) Примечание: Статья ~ 9000 слов...

Верните как было: 26% пользователей Telegram недовольны обновлением мессенджера Буквально несколько дней назад, популярный, но запрещенный в России мессенджер Telegram получил новые обновления, которые некоторым пользователям оказались абсолютно не нужны. Как бы не боролись определенные структуры с детищем Павла Дурова, мессенджер Telegram продолжает ж...

[Перевод] GPT-2 в картинках (визуализация языковых моделей Трансформера) В 2019 году мы стали свидетелями блистательного использования машинного обучения. Модель GPT-2 от OpenAI продемонстрировала впечатляющую способность писать связные и эмоциональные тексты, превосходящие наши представления о том, что могут генерировать современные языковые мо...

Как мы работаем с логами (сбор, хранение, анализ при помощи Graylog) Всем привет! В этой статье мы хотим поделиться нашим опытом использования полезной платформы Graylog, которая ежедневно помогает собирать, надежно хранить и анализировать логи с десятков серверов, окутанных заботой нашей поддержки :)Это первая часть статьи, в которой мы расс...

Анализ целостности сигналов в PADS Professional (3/6) Наступила новая неделя, а это означает что настало время для публикации очередного урока из серии анализа целостности сигналов средствами HyperLynx, которые входят в базовую лицензию PADS Professional. На предыдущем уроке вы узнали как редактировать линии передачи и настра...

HackTheBox. Прохождение PlayerTwo. Twirp, 2FA bypass, Off-By-One атака Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. В данной статье работаем с API twirp, обходим двух факторную аутентификацию, модернизируем прошивку и эксплуатируем уязвимость в кучу через атаку null byte poisoning (P.S. про Heap еще м...

Kotlin FP: моноиды и сортировки В данной статье мы рассмотрим понятие моноид и узнаем, как он может помочь нам при сортировке данных. Интересующихся функциональным программированием на Kotlin также приглашаю заглянуть на мой youtube-канал, где я разбираю разные интересные моменты из Kotlin FP. Читать да...

Как мы в Сбере формировали сообщество практики по автоматизации DevOps CI/CD Привет, Хабр! Сегодня мы расскажем о том, как подходили к созданию сообщества практики по автоматизации DevOps CI/CD в Сбере. Рассмотрим предпосылки, методологии и лучший мировой опыт, который использовали, а также ключевые проблемы и ошибки. В этой статье опытом делится Раш...

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

HackTheBox. Прохождение Magic. Password spraying. Mysqldump и LPE через sysinfo Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье кидаем шелл в картинке, ищем учетные данные с помощью mysqldump и повышаем привилегии через sysinfo. Подключение к лаборатории осуществляется через VPN. Рекомендуется н...

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

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

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

ESP32 в окружении VSCode В нескольких следующих статьях я хотел бы детально рассмотреть настройку окружения VSCode для работы с фреймворком ESP-IDF. Не совсем популярная комбинация ПО обладает как преимуществами, так и недостатками, которые при детальном рассмотрении мы попытаемся исправить, обойти ...

[Перевод] Современные архитектуры фронт-энда (часть 2) Вторая часть статьи "Contemporary Front-end Architectures", в которой рассмотрены архитектуры фронт-энда с точки зрения распределения потоков данных. Начало здесь Читать дальше →

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

Мягкое удаление в Hibernate: неочевидные факты Мягкое удаление (soft deletion) — это популярная в энтерпрайз разработке стратегия удаления, когда вместо физического стирания та или иная запись помечается как удаленная, а потом фильтруется во всех запросах на чтение. Приме...

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

Как увеличить дальность связи с беспилотным летательным аппаратом (БЛА) Задача увеличения дальности связи с беспилотным летательным аппаратом (БЛА) не теряет актуальности. В данной статье рассматриваются методы улучшения этого параметра. Статья написана для разработчиков и эксплуатантов БЛА и является продолжением цикла статей про связь с БЛА (н...

Простой зомби-шутер на Unity Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написа...

Почти как Бьюик Итак, дорогие теле-читатели, приветствую вас. Эта статья посвящена первой модели автомобиля представительского класса СССР – ЗиС-101. Давайте вспомним те замечательные годы. Первые пятилетки, подъем промышленности, репрессии. И посреди всего этого обычные советские рабочие з...

Энергия старого мира Введение Эта статья является продолжением публикации «Взгляд в прошлое. Технология 18 века». В ней мы построили реально работающий паровой двигатель, который должен стать главной частью будущего Читать дальше →

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

Как я участвовал в IOCCC-'19 (и проиграл). Часть 2: «Симулятор NOR» Это вторая часть цикла статей о том, как я участвовал в IOCCC'19 Как я участвовал в IOCCC-'19 (и проиграл). Часть 1: «Крестики-нолики» Как я участвовал в IOCCC-'19 (и проиграл). Часть 2: «Симулятор NOR» Я надеюсь, что данная статья поможет вам при разборе чужого кода и...

Менеджер-передаст В конце статьи есть краткое содержание, если лень читать весь текст. Есть на свете интересная профессия, денежная, несложная и очень распространенная профессия – передавать информацию. Люди, ею занимающиеся, принципиально делятся на две категории: секретари и менеджеры. С ...

[Перевод] Свойства Min и Max width/height в CSS Перевод «Min and Max Width/Height in CSS» Ахмада Шадида Порой у разработчиков возникает необходимость ограничить ширину элемента относительно родителя, и в то же время, оставить её динамичной. Задав таким образом начальный размер с возможностью расширения при наличии доступ...

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

Hack The Box. Прохождение Cache. RCE в OpenEMR, memcached и docker Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье эксплуатируем уязвимости в CMS OpenEMR, работаем с memcached и docker. Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего комп...

HackTheBox. Прохождение Traceback. Бэкдор, LUA, SSH Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье эксплуатируем чей-то бэкдор, получаем шелл через Luvit и возимся с SSH для LPE. Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабо...

[Из песочницы] Цикл уроков по SDL 2.0: урок 5 — нарезка листа спрайтов От переводчика: Это продолжение серии переводов туториалов от Twinklebear, в оригинале доступных тут. Перевод отчасти вольный и может содержать незначительные поправки или дополнения от переводчика. Перевод первых двух уроков — за авторством InvalidPointer, а третьего и чет...

Евросоюз хочет ограничить использование ИИ и систем распознавания лиц в угоду приватности Чиновники Евросоюза планируют ограничить использование распознавания лиц полицией и полностью запретить определённые типы систем искусственного интеллекта (ИИ). Это станет одним из самых значительных попыток наложить ограничения на применение ИИ. Под запрет попадёт целый сп...

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

Внедрение зависимостей – проще, чем кажется? Привет, Хабр! У нас готовится к выходу второе издание легендарной книги Марка Симана, «Внедрение зависимостей в .NET» Поэтому сегодня мы решили кратко освежить тему внедрения зависимостей для специалистов по .NET и C# и предлагаем перевод статьи Грэма Даунса, где эта пар...

FreeBSD. Трансляции, тэги и якоря в PF Файрвол PF в ОС FreeBSD FreeBSD. Фильтрация трафика PF FreeBSD. Трансляции, тэги и якоря в PF <- Вы здесь Введение В прошлых статьях мы разобрали, что такое PF вообще, общие принципы построения правил. Узнали о таблицах и способах фильтрации трафика PF. И создали конфиг...

Ленивая подгрузка переводов с Angular Если вы когда-нибудь участвовали в разработке крупного angular-проекта с поддержкой локализации, то эта статья для вас. Если же нет, то возможно, вам будет интересно, как мы решили проблему скачивания больших файлов с переводами при старте приложения: в нашем случае ~2300 с...

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

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

Анализ целостности сигналов в PADS Professional (1/6) Доброго времени суток, уважаемый читатель! Хочу с тобой поделиться серией из коротких уроков о возможностях анализа целостности сигналов (ЦС) средствами HyperLynx, которые входят в базовую лицензию PADS Professional. Эти уроки рассчитаны на новичков, которые только начин...

Эволюция Docker. Часть 2.1 Данная статья является второй, в цикле по истории развития и изучению исходного кода Docker. В ней мы разберем, что представлял собой первый публичный релиз от 23 марта 2013 года. Изначально я планировал уложить весь материал, посвященный этой версии, в одной статье, но...

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

[Перевод] Проблемы с DNS в Kubernetes. Публичный постмортем Прим. перев.: это перевод публичного постмортема из инженерного блога компании Preply. В нем описывается проблема с conntrack в Kubernetes-кластере, которая привела к частичному простою некоторых сервисов продакшна. Данная статья может быть полезной тем, кто хочет узнать не...

Apache Kafka: основы технологии У Kafka есть множество способов применения, и у каждого способа есть свои особенности. В этой статье разберём, чем Kafka отличается от популярных систем обмена сообщениями; рассмотрим, как Kafka хранит данные и обеспечивает гарантию сохранности; поймём, как записываются и ч...

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

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

Распаковка исполняемых файлов Статья расскажет о подходах к анализу запакованных исполняемых файлов с помощью простых средств для обратной разработки. Будут рассмотрены некоторые пакеры, которые применяются для упаковки исполняемых файлов. Все примеры будут проведены в ОС Windows, однако изучаемые подход...

[Перевод] Примеры GraphQL на Java для начинающих [со Spring Boot] В этой статье мы рассмотрим пример GraphQL на Java и создадим простой сервер GraphQL со Spring Boot. Таким цыпочкам тоже нравятся примеры GraphQL на Java со Spring Boot! GraphQL — это язык запросов для API, который позволяет клиентам запрашивать ограниченное множество данны...

[Перевод] C++ vtables. Часть 2 (Virtual Inheritance + Compiler-Generated Code) Перевод статьи подготовлен специально для студентов курса «Разработчик С++». Интересно развиваться в данном направлении? Смотрите запись мастер-класса «Практика использования Google Test Framework»! Часть 3 — Виртуальное наследование В первой и второй части этой статьи мы г...

«Мистер X» или стоит ли небольшой команде рассмотреть XWiki как возможную замену Confluence? В феврале 2021 Atlassian прекращает продажу лицензий на серверные версии Confluence. В этой статье я поделюсь своим виденьем Xwiki в качестве аналога Confluence, закрывающего потребности по документированию для небольшой команды разработчиков. Читать далее

[Перевод] Пять вопросов о Ceph с пояснениями Что нужно знать о Ceph, хранилища с открытым исходным кодом, чтобы решить, подходит ли оно вашей компании. В статье будет сравнение с альтернативными объектными хранилищами, а также рассмотрена оптимизация Ceph. Читать дальше →

Как мы контроллер управления элементами наружной рекламы делали (часть 2) В предыдущей части статьи мы рассмотрели этап начала проектирования системы. Сейчас я хочу рассказать какое устройство получилось в итоге. Читать дальше →

Конструктивные сборки в nanoCAD Конструкторский BIM В версии 2.0 программы nanoCAD Конструкторский BIM появился новый функционал – инструмент конструктивных сборок, который позволяет оптимизировать и упростить работу конструктора, особенно в случае больших моделей. Не откладывая знакомство с новинкой в долгий ящик, давайте ...

[Перевод] Самая хитрая защита флоппи-дисков Введение Недавно я затеял одиссею по изучению защит гибких дисков В своих предыдущих постах я уже рассказывал (напрямую или косвенно) о примерах интересных схем защиты гибких дисков: Слабые биты. [ссылка: Weak bits floppy disc protection: an alternate origins story on 8-...

[Из песочницы] Сервисно-ориентированный state management c lamp-luwak Благодаря тому, что React предоставляет удивительные возможности по работе с отображением, можно сосредоточиться только на организации логики приложения и семантике кода, описывающего работу с данными. Т.е. выбирая state management библиотеку, происходит выбор стилистики буд...

Создаем калькулятор на Swift 5 В преддверии старта базового курса «iOS-разработчик» публикуем статью, которую написал наш внештатный автор. Всем привет! Прошло уже больше года с того момента, как появился релиз Swift 5, который принес разработчикам много нового. В этой статье я хочу поговорить о мобиль...