Социальные сети Рунета
Суббота, 23 октября 2021

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

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

Создание шутера с LeoECS. Часть 2 Друзья, это продолжение серии статей по созданию шутера с использованием фреймворка LeoECS. В этой части мы реализуем несколько новых игровых механик и рассмотрим механизм взаимодействия ECS "мира" с MonoBehaviour-ами. Перед прочтением этой части не забудьте ознакомиться с п...

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

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

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

[Перевод] Создание микросервиса на Quarkus, Kotlin и Gradle Введение В предыдущей статье было приведено краткое описание процесса создания микросервиса на современных JVM фреймворках, а также их сравнение. В этой статье будет более детально рассмотрен недавно вышедший Quarkus на примере создания микросервиса с использованием упомяну...

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

Kleopatra: GnuPG в графической оболочке Программы семейства GPG (GNU Privacy Guard) / PGP (Pretty Good Privacy) позволяют "прозрачно" подписывать и зашифровывать все типы цифровой информации. По своей сути, названные инструменты являются лишь удобной обёрткой, упрощающей практическое использование открытых алгорит...

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

Создание графики для nes/dendy Предыдущие мои статьи рассказывают о том как начать программировать под денди на ассемблере. Мы научились отрисовывать спрайты и background, так же мельком обсудили что такое таблица атрибутов и таблица имен, так же мы разобрались как прочитать контроллер. В тех статьях Я ис...

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

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

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

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

Использование TLS fingerprinting для выявления угроз В статье хотим рассказать про технологию TLS fingerprinting, про которую недостаточно материалов в русскоязычном сегменте. Попробуем это исправить. Статья частично переводит тематические материалы авторов описываемых методов (тут и тут), а также содержит описание практическо...

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

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

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

Как работать с API Google Таблиц (Google Sheets API v4) на языке R с помощью нового пакета googlesheets4 Электронные таблицы по-прежнему остаются довольно популярным инструментом для работы с данными, а среди различных процессоров электронных таблиц наиболее популярными являются Google Таблицы. Во-первых, это бесплатный инструмент, во-вторых, функционал Google Таблиц достаточно...

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

Знакомство с pg_probackup. Первая часть Привет, я Александр Никитин, главный системный администратор компании «БАРС Груп». В этой статье я хочу познакомить вас с инструментом pg_probackup. Pg_probackup — разработка компании Postgres Professional, которая помогает делать резервные копии СУБД PostgreSQL. В отличи...

Microsoft анонсировала Windows Package Manager для Windows 10 В ходе Build 2020 компания Microsoft анонсировала диспетчер пакетов Windows Package Manager для Windows 10, который призван облегчить разработчикам настройку рабочей среды, например, после переустановки операционной системы. Если раньше разработчикам приходилось вручную заг...

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

[Перевод] Создание арт-объектов, игр и много чего ещё с использованием числа Пи и Python Число Пи — пожалуй, самое знаменитое число в мире. Это единственное число, ради которого учредили особый день в году — День числа пи, отмечаемый 14 марта. В этой статье мы рассмотрим различные особенности числа π и попробуем с его помощью создать что-нибудь развлекательное, ...

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

Недельный геймдев: #25 — 4 июля, 2021 На этой неделе: Pixar выпустил бесплатную некоммерческую версию RenderMan 24, из GameMaker Studio 2 убрали бесплатный 30-дневный триал, новое в UI Toolkit в Unity 2021.2, запуск Unity indie hub, инструмент для создания 3d-скетчей прям в браузере.Из интересностей: нескольк...

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

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

FOSS News №59 – дайджест материалов о свободном и открытом ПО за 1-7 марта 2021 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Google представил фреймворк Flutter 2, теперь для создания любых типов программ; проект браузера Brave...

Пишем расширение для Burp Suite с помощью Python Привет, Хабр!Думаю многие знают о таком инструменте, как Burp Suite от PortSwigger. Burp Suite – популярная платформа для проведения аудита безопасности веб-приложений. Помимо того, что Burp и так содержит тонну полезных функций, он еще и дает возможность пользователям созда...

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

[Перевод] Обеспечение безопасности базы данных PostgreSQL Базы данных — это Святой Грааль для хакеров, поэтому их необходимо защищать с особой тщательностью. Это первая из серии статей, в которых мы дадим обзор best practice в обеспечении безопасности баз данных. Мы начнем с одной из самых популярных СУБД с открытым исходным кодом,...

Установка Ispconfig3 на ubuntu 20.04 (nginx+php-fpm+mysql) ISPConfig - бесплатная панель управления хостингом с открытым исходным кодом c возможностью управлять несколькими серверами из одной панели управления. Это один из лучших вариантов для веб-студий, хостинг-компаний, а так же для всех, кто ищет бесплатную панель управления хос...

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

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

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

OpenToonz: снаружи и внутри Прошло уже почти четыре года с тех пор, как PVS-Studio поверял исходный код OpenToonz. Этот проект является очень мощным инструментом для создания двухмерной анимации. За время с последней проверки с его помощью были созданы такие мультипликационные произведения, как Мэри и...

Представляем Windows Package Manager 1.0 Мы начали путь к созданию собственного диспетчера пакетов для Windows 10, когда анонсировали предварительную версию диспетчера пакетов Windows на Microsoft Build 2020. Мы выпустили проект на GitHub как совместный с открытым исходным кодом, и участие сообщества было очень важ...

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

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

Игровые механики на уроке геометрии или векторы на Unity 3D На примере создания 2D игры «Баскетбол», рассмотрим векторы (скорости, сил, локальной и глобальной систем координат). Разберем принципы представления систем координат и представления векторов. А еще, затронем работу с LineRenderer и многокамерность. Читать далее

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

Создание статического анализатора для C# на основе Roslyn API После прочтения этой статьи вы будете обладать знаниями для создания своего собственного статического анализатора для C# кода, благодаря ему вы сможете найти потенциальные ошибки и уязвимости в исходном коде своих и не только проектов. Заинтригованы? Что ж, давайте начнём. Ч...

Создаем веб-приложение на Haskell с использованием Reflex. Часть 1 Введение Всем привет! Меня зовут Никита, и мы в Typeable для разработки фронтенда для части проектов используем FRP-подход, а конкретно его реализацию на Haskell – веб-фреймоворк reflex. На русскоязычных ресурсах отсутствуют какие-либо руководства по данному фреймворку (да и...

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

Сбор метрик Spring Boot приложения c помощью Prometheus и Grafana В данной статье рассмотрен пример работы с метриками. В начале, настройка приложения для поставки метрик. Настройка Prometheus для сбора и хранения метрик. Настройка Grafana для отображения собранных метрик. Читать далее

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

На шаг ближе к Open Banking с WSO2 API Manager Привет! Меня зовут Сергей Кривонос, я Solution Architect платформы WSO2 в Росбанке. Если вкратце, то WSO2 API Manager — это комплексная, интуитивно понятная и масштабируемая платформа, предназначенная для создания и управления API. Она примечательная тем, что является о...

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

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

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

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

[Перевод] Dockle — Диагностика безопасности контейнеров В этой статье мы рассмотрим Dockle — инструмент для проверки безопасности образов контейнеров, который можно использовать для поиска уязвимостей. Кроме того, с его помощью можно выполнять проверку на соответствие Best Practice, чтобы убедиться, что образ действительно создае...

ViennaNET: набор библиотек для backend’а. Часть 2 Сообщество .NET-разработчиков Райффайзенбанка продолжает краткий разбор содержимого ViennaNET. О том, как и зачем мы к этому пришли, можно почитать в первой части. В этой статье пройдемся по еще не рассмотренным библиотекам для работы с распределенными транзакциями, очеред...

Telegram бот на Firebase В основном, про Firebase рассказывают в контексте создания приложений под IOS или Android. Однако, данный инструмент можно использовать и в других областях разработки, например при создании Telegram ботов. В этой статье хочу рассказать и показать насколько Firebase простой и...

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

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

Создание зашифрованного диска с «двойным» дном с помощью Veracrypt VeraCrypt — свободный форк TrueCrypt используемый для сквозного шифрования в Windows, Mac OSX и Linux, и позволяет шифровать системный диск, отдельный внутренний или внешний диск или создавать виртуальные диски с использованием файлов-контейнеров. В этой статье мы рассмот...

[Перевод] 6 способов значительно ускорить pandas с помощью пары строк кода. Часть 2 В предыдущей статье мы с вами рассмотрели несколько несложных способов ускорить Pandas через jit-компиляцию и использование нескольких ядер с помощью таких инструментов как Numba и Pandarallel. В этот раз мы поговорим о более мощных инструментах, с помощью которых можно не т...

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

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

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

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 1/2 В этой статье мы собираемся создать пайплайн непрерывной интеграции (CI) с Tekton, фреймворком с открытым исходным кодом для создания конвейеров CI / CD в Kubernetes. Мы собираемся подготовить локальный кластер Kubernetes через kind и установить на нем Tekton. После этого мы...

Создание пакета NuGet для библиотеки с платформозависимым API Когда речь заходит о создании .NET библиотеки, части API которой являются платформозависимыми, приходится думать, как всё это оформить в NuGet пакет, да так, чтобы установленная из пакета библиотека работала в разных сценариях (.NET Framework, .NET Core, self-contained app и...

Шрифты для графического дисплея? Это же очень просто Скажете, это же все электрические приборы? Бесспорно. Но еще у них есть дисплей. Да, холодильники чаще могут обходиться без дисплея, чем смартфоны, но это неточно. В этом вопросе время на стороне холодильников.Но это лирическое начало, а рассмотрим мы в статье вопрос создан...

Zynq 7000. Собираем Linux и RootFS при помощи Buildroot Продолжаем изучение SoC Zynq 7000 и разбираемся с тем, как организовать подготовку, сборку Linux для отладочной платы QMTech. В прошлой статье я рассмотрел процедуру быстрой сборки (без кастомизации) основных компонентов встраиваемой системы Linux и шаг за шагом прошли путь ...

[Перевод] Почему нам нужно больше Open Source Data Science Почти все мы пользуемся ПО с открытым исходным кодом (Open Source Software или OSS), это часть нашей жизни. Коллективное сотрудничество в создании программного обеспечения изменило мир разработки ПО и мир вообще. Но мы не видим тех же действий в области data science. В DAGs...

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

Эволюция Docker. Часть 1 20 марта 2013 года на конференции PyCon 2013, Соломон Хайкс (CEO компании dotCloud) выступил с пятиминутной презентацией The future of Linux Containers. В ней широкой общественности впервые была представлена внутренняя разработка компании dotCloud под названием Docker, а спу...

Мартовские обновления ML.NET и Model Builder ML.NET - это кроссплатформенная среда машинного обучения с открытым исходным кодом для разработчиков .NET. Она позволяет интегрировать машинное обучение в ваши .NET-приложения без необходимости покидать экосистему .NET или даже иметь опыт работы в машинном обучении или data ...

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

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

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

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

Генерация документации с использованием JSDoc JSDoc - это язык разметки, используемый для аннотирования исходного кода JavaScript с использованием комментариев. Аннотации обрабатывается различными инструментами для создания документации в доступных форматах, таких как HTML и Rich Text Format. Читать далее

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

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

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

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

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

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

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

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

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

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

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

CSS var в rgba или удобное использование цветов в Sass Эта статья посвящена обзору моих наработок в Sass, которые облегчают жизнь при работе с цветами во время верстки. Мы рассмотрим 3 подхода, которые воедино принесут комфорт в работу с цветами. Имя только список цветов в HEX формате. Читать далее

Клиент-серверный IPC на Python multiprocessing Статья отражает личный опыт разработки CLI приложения для Linux.В ней рассмотрен способ выполнения привилегированных системных вызовов процессом суперпользователя по запросам управляющей программы через строго описанный API.Исходный код написан на Python для реального коммер...

[Перевод] Argo CD: готов к труду и обороне в Kubernetes В этой статье мы рассмотрим несколько вопросов касательно Argo CD: что это такое, зачем его используют, как его развернуть (в Kubernetes), как его использовать для реализации непрерывного развертывания (continuous deployment), как настроить SSO с помощью GitHub и разрешений ...

Для Linux появился новый векторный редактор для создания макетов интерфейсов На днях создатели редактора векторной графики Akira, работа над которым ведется вот уже пару лет, опубликовали первые тестовые выпуски. Графический пакет предназначен для создания макетов интерфейсов. Авторы Akira заявили, что их цель — создание инструмента для профессио...

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

Relay атаки Статья расскажет о том, какие Relay атаки существуют на сегодняшний день и как их воспроизводить, какие основные инструменты для проведения данных атак при тестировании на проникновение можно использовать, а также будет рассмотрена Relay атака на Active Directory. Читать дал...

Видеоурок Теплицы: как создать базу знаний организации с помощью Яндекс.Вики Мы решили продолжить знакомство с инструментами из комплекта Яндекс.Коннект, предназначенного для организации командной работы. В предыдущем видео Вова Ломов рассмотрел Яндекс.Формы, а сегодня – Яндекс.Вики. Яндекс.Вики предназначен для создания базы знаний организации. ...

[Перевод] Становится ли веб медленнее со временем? В недавней истории на Hacker News утверждалось, что скорости веб-страниц не повышаются даже с увеличением скоростей Интернета. В своей статье я объясню, почему из исходных данных такого вывода сделать нельзя. Также мы рассмотрим изменения, произошедшие с устройствами и в...

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

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

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

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

Анализатор исходного кода Microsoft Application Inspector Компания Microsoft выпустила «Microsoft Application Inspector», кросс-платформенный опенсорсный (!) инструмент для анализа исходного кода. Читать дальше →

[Перевод] Пишем приложение на Flutter в связке с Redux Привет всем! В этой статье я хотел бы показать вам, как создать Flutter приложение, используя Redux. Если вы не знаете, что такое Flutter, то это — SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений...

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

Использование GitHub в обучении. Примеры. Часть III Продолжу выкладывание примеров использования GitHub'а как инструмента обучения.Рассмотрим версию работы нескольких команд над одним большим проектом с подпроектами. Читать далее

Windows Tokens Предыдущая статья рассказывала о том, как эксплойты используют технику копирования токена для повышения привилегий. В этой статье мы попытаемся рассмотреть еще одну технику модификации токенов, а также постараемся узнать, как задаются привилегии, которые помещаются в Pr...

[Перевод] ELK, SIEM из OpenSource, Open Distro: Case management В сегодняшней статье мы поставим последний кусочек пазла на его место. Мы собираемся представить вам часть нашего SOC, касающуюся управления делами. Мы использовали две технологии с открытым исходным кодом — TheHive и Cortex. TheHive будет использоваться в качестве платформы...

FOSS News №88 – дайджест материалов о свободном и открытом ПО за 6—12 сентября 2021 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Главные темы нового выпуска: Исследование: открытый исходный код может способствовать развитию эконо...

Как монетизируется Open-Source Когда мы слышим слово open-source, на ум приходит сразу что-то связанное с благотворительностью и альтруизмом: талантливые программисты по ночам после работы пишут код, чтобы сделать мир лучше. Однако, жизнь устроена сложнее. Несмотря на то, что open-source действительно дел...

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

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

Автоматизация работы сетевого администратора. Часть 3. Знакомство с Paramiko Всех приветствую, продолжаем рассматривать полезные инструменты для работы сетевого инженера или администратора. Для тех, кто только начал изучение темы с текущей статьи, напомню что мы поговорили о концепции SDN и достаточно подробно рассмотрели инструмент TelnetLib с практ...

Окружим цифрой пользователя Удаленная работа с нами останется надолго и за пределами бушующей сегодня пандемии. 74% компаний из 317, опрошенных Gartner, продолжат использовать дистанционный формат работы. ИТ-инструменты для ее организации будут активно востребованы в будущем. Представляем обзор продукт...

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

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

Запросы в PostgreSQL: 3. Последовательное сканирование В предыдущих статьях я рассказал об этапах выполнения запросов и о статистике.Теперь пришла пора рассмотреть самые важные узлы, из которых может состоять план. Я начну со способов доступа к данным, и в этой статье расскажу о последовательном сканировании.В прошлый раз я пока...

Менеджер паролей с GPG шифрованием: настройка PASS на iOS + Git Наверняка многим из вас знакомы работы Филиппа Циммерманна, а в частности, самая известная из них — PGP (Pretty Good Privacy — Почти Полная Конфиденциальность), опубликованная в далеком 1991 году. Изначально PGP как пакет программного обеспечения предназначался для шифровани...

Памятка и туториал по HTTP-заголовкам, связанным с безопасностью веб-приложений Доброго времени суток, друзья! В этой статье я хочу поделиться с вами результатами небольшого исследования, посвященного HTTP-заголовкам, которые связаны с безопасностью веб-приложений (далее — просто заголовки). Сначала мы с вами кратко разберем основные виды уязвимостей ...

User Experience Core Guide — Новый подход к работе с абстракцией TL; DRЯ потратил пол года и 500 часов своей жизни на создание бесплатного инструмента содержащего 896 углов обзора наиболее популярных проблем в Product Management-е с позиции когнитивных искажений (научно доказанных паттернов мышления человека).63 вопроса и 896 ответов кото...

[Перевод] EventNative – простой инструмент для записи потока событий в ClickHouse Данные стали бесценным активом, позволяющим компаниям лучше понимать своих пользователей, прогнозировать их поведение и определять тренды. EventNative – проект с открытым исходным кодом, разработанный командой из Jitsu, который позволяет упростить сбор данных. EventNative по...

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

Как управлять облачной инфраструктурой с помощью Terraform В этой статье мы рассмотрим из чего состоит Terraform, а также поэтапно запустим собственную инфраструктуру на облаке с VMware — подготовим три VM для разных целей: прокси, файловое хранилище и CMS. Читать далее

FOSS News №75 – дайджест материалов о свободном и открытом ПО за 14—20 июня 2021 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Главные темы нового выпуска: Как Linux повлиял на нашу жизнь — празднование 30-летия открытого исход...

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

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

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

Открытый инструмент для аналитики бизнес-процессов и Process Mining’а В предыдущих хабрапостах мы поделились open source инструментом для сравнительного анализа метагеномных данных и рассказали об открытых проектах, которыми занимается наша лаборатория мультиагентных систем.На этот раз представляем вашему вниманию Process Flow Optimization Too...

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

Бесплатные панели управления серверами в 2021 году Для пользователей Хабра не секрет, что панель управления (ПУ) — это веб-инструмент для администрирования сервера и размещённых на нём сайтов с помощью графического интерфейса. Она упрощает работу с доменами, базами данных, службами и приложениями. В этой статье рассмотрим...

Как планировать работу команды, чтобы не делать бесполезные вещи? Существует много методов планирования эффективной работы команды. Но не все так хороши, как их описывают создатели. Давайте рассмотрим один из инструментов планирования, который действительно эффективен и не раз доказал это на практике многих компаний. Речь пойдет о Impact m...

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

Сниппет, расширение для VSCode и CLI. Часть 1 Доброго времени суток, друзья! В процессе разработки Современного стартового HTML-шаблона я задумался о расширении возможностей его использования. На тот момент варианты его применения ограничивались клонированием репозитория и скачиванием архива. Так появились HTML-снипп...

[Перевод] Ещё 6 вещей, которые я узнал, доведя Snowpack до 20000 GitHub-звёзд Это — второй материал из серии статей, состоящей из двух частей. В первом материале я прошёлся по ранней истории Snowpack, рассказал о том, как мы довели этот опенсорсный проект до состояния, когда у него появились первые пользователи. Здесь же я хочу уделить основное вниман...

JavaScript: как из Fetch сделать Axios? Привет, друзья! В этой статье я хочу поделиться с вами результатами небольшого эксперимента, суть которого заключается в создании обертки над Fetch API для максимального упрощения работы с ним. С чего все началось? Прочитал статью Kent C. Dodds "Replace axios with a s...

[Перевод] Создание оптимизированных образов Docker для приложения Spring Boot Контейнеры стали предпочтительным средством упаковки приложения со всеми зависимостями программного обеспечения и операционной системы, а затем доставки их в различные среды.В этой статье рассматриваются различные способы контейнеризации приложения Spring Boot:- создание обр...

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

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

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

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

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

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

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

Stm32 + USB на шаблонах C++. Продолжение. Делаем HID В прошлый раз показал один из способов распределение ресурсов между конечными точками, а именно регистров EPnR, памяти под дескрипторы буферов и под сами буферы. Предлагаю продолжить начатое и рассмотреть написанную библиотеку на примере создания простого HID-устройства, поз...

[Перевод] Монтирование и управление LVM-томами на Android Linux Deploy. Часть 2 В этом руководстве мы рассмотрим создание и монтирование LVM томов на рутованном устройстве Android. Это вторая часть моего проекта «Резервный сервер на Android», но она будет на 80% состоять из работы с LVM и лишь на 20% с UrBackup/Linux Deploy. Первая часть доступна здесь...

Django Rest Framework для начинающих: создаём API для записи и обновления данных (часть 1) Продолжаем изучать Django Rest Framework с точки зрения новичка. Мы уже разобрали создание REST API для получения данных из БД, включая отдельную статью о работе сериалайзера. В этой статье расскажу, как с помощью сериалайзера проверить поступившие данные для записи в БД. В...

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

Создание в SoapUI асинхронного REST MockService с запуском в Portainer Задача: Разработать мок для проверки асинхронного обмена сообщениями с внешней системой.Как пример, рассмотрим некий кейс проверки валидности промокода внешней системой. По шагам:1) Отправляем запрос в сервис внешней системы;Запрос PUT содержит поля (например, в headers...

Как настроить SSH-Jump Server Для работы с облачной инфраструктурой рекомендуется создавать SSH Jumpstation. Это позволяет повысить безопасность и удобство администрирования серверов. В этой статье мы расскажем, как настроить единую точку входа для подключений по ssh – SSH Jump Server. Для реализации выб...

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

[Из песочницы] Разбор UI/UX на примере прототипа в Figma и основные принципы Кому адресована статья В данной публикации я хочу помочь начинающим и «не очень» бизнес-аналитикам, менеджерам проектов, владельцам продуктов, желающим сделать свой первый сайт и всем-всем, кому надо сделать макет сайта или приложения, а он не знает с какой стороны подступит...

Фоновая работа в Android: обзор возможностей WorkManager В мобильных приложениях широко востребованы различные виды фоновой работы. Зачастую нужно поддерживать работу в офлайне, планировать какие-либо долгие и повторяющиеся задачи на определенное время, выполнять «тяжелые» задачи без привязки к сценариям пользовательского взаимоде...

Markdown в науке Интернет и эпоха Web 2.0 существенно изменили метод подготовки научных публикаций. Сейчас мы читаем статьи с экранов компьютеров, смартфонов и электронных книг, а не только с бумаги. Крайне желательно, чтобы работа над текстом по превращению журнальной статьи в энциклопедиче...

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

Создание и проверка подписей образов контейнеров: Интеграция Notary V1 и Connaisseur в Kubernetes В статье представлен пример использования системы создания и проверки подписей образов Docker Content Trust и интеграции в Kubernetes с использованием сервера Notary и специализированного Admission Controller - Connaisseur.Представлен теоретический обзор на используемые инст...

Реализация Unidirectional Data Flow в супераппе. Часть II В предыдущей статье мы сформулировали нашу главную проблему при масштабировании Unidirectional Data Flow (UDF) — модуляризацию. Сегодня существует много UDF-фреймворков на Swift, но мало кто уточняет, как их масштабировать на большое, многомодульное приложение. Мы решили под...

Знакомство с Node-RED и потоковое программирование в Yandex IoT Core В этой статье я хочу разобрать один из самых популярных опенсорс-инструментов, Node-RED, с точки зрения создания простых прототипов приложений с минимумом программирования. Проверим гипотезу о простоте и удобстве таких средств, а также рассмотрим взаимодействие Node-RED с о...

Шаблоны модернизации приложения с помощью Apache Kafka, Debezium и Kubernetes, часть 1 «Наши компьютеры создаются так же, как и наши города: долго, без планов и на руинах былого». Эллен Ульман (Ellen Ullman) написала это в 1998 году, но сегодня мы именно так и создаем современные приложения: долго, имея лишь краткосрочные планы и поверх унаследованного ПО. В э...

Как UX/UI-дизайнеру не потеряться в тысяче макетов в Figma: новый инструмент контроля версий Знакома история, когда забыл сохранить предыдущую версию рабочего макета — и считай её и вовсе не было? Система контроля версий поможет избежать подобных ситуаций. Я работаю UX/UI-дизайнером в крупном проекте, где создание интерфейсов и разработка идут одновременно. В таких ...

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

Рендеринг шрифтов для WebGL при помощи инструмента msdf-bmfont-xml и технологии MSDF 18/3/2021 Наконец-то была закончена интеграция инструмента msdf-bmfont-xml для библиотеки openglobus. Текстовые метки стали выглядеть гораздо красивее! Мне помог инструмент msdf-bmfont-xml для создания атласов шрифтов и рендеринга текстур для (multichannel signed distance fi...

Финансовый план и ценообразование для ИТ-продукта: Курс «Создание программного продукта и управление его развитием» Привет, Хабр! Мы продолжаем серию постов о продакт-менеджменте от компании Acronis, и сегодня речь пойдет о финансовом плане и ценообразовании. Мы поговорим о том, почему «план по продажам», как часть финансового плана — это “самая большая ложь”, рассмотрим примеры удачного ...

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

Star7: с чего начиналась Java В начале 90-х годов в Sun Microsystems, в 2010 году поглощенной Oracle, проводился ряд реформ, связанных с переопределением приоритетов компании. В результате преобразований появился так называемый Project Green, с которым связано создание языка Java. Java — это косвенный ре...

T-FLEX CAD 17 - Новые возможности по 3D моделированию и по работе с 3D кривыми. Работа с поверхностями Друзья!В этом материале мы расскажем об основных инструментах по работе с 3D кривыми и новых операциях 3D моделирования, включая новую функциональность по работе с поверхностями САПР T-FLEX CAD 17.В предыдущих статьях был дан короткий обзор ключевых возможностей T-FLEX CAD 1...

Как сделать кластерный сервер на ARM процессоре и тестирование VPS на AWS Graviton2 В предыдущей публикации рассматривались преимущества использование ARM серверов для хостинг провайдеров. В этом посте рассмотрим практические варианты создания кластерного сервера на ARM процессоре и протестируем инстанс Amazon EC2 T4g работающий на процессоре ARM AWS Grav...

[Перевод] Single sign-on для SSH своими руками TL;DR В этот статье мы установим single sign-on для SSH от Google. За кулисами мы воспользуемся OpenID Connect (OICD), краткосрочными SSH сертификатами, несколькими хитростями конфигурации SSH, и опенсорсными пакетами step-ca и step от Smallstep. Мы настроим SSH Certificate ...

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

Клин клином: использование вируса PIV5 для создания вакцины против MERS-CoV и, возможно, против SARS-CoV-2 Учитывая сложившиеся обстоятельства, вовсе неудивительно, что научное сообщество сконцентрировало все свои силы на поиск и разработку методик и инструментов для борьбы с распространяющимся вирусом. Сегодня мы рассмотрим исследование, в котором ученые из Американского общес...

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

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

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

[recovery mode] Частицы в Godot 3, сглаживание маленьких частиц, и система отпечатков на шейдерах Статья про использование шейдеров частиц в Godot 3. Также создание динамических отпечатков на объектах.Запустить WebGL2 и скачать другие версии ссылка на itch.io.Исходный код на github. Читать далее

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

[Перевод] Стек технологий Shiro Games Наш игровой движок Heaps.io и набор инструментов и технологий, на котором он основан, являются результатом опыта, накопленного за двадцать лет, посвященных созданию игр: сначала в компании Motion-Twin (создатели Dead Cells), а с 2012 года в Shiro Games (Evoland, Northgard и ...

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

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

Ультимативный гайд по поиску утечек памяти в Python Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде. В этой статье рассмотрим прич...

Что готовит нам Angular? Заметки из changelog, новый синтаксис шаблонов, Ivy В этой статье приведу заметки к релизу Angular 13. Рассмотрим предложения по шаблонам которую будут рассматривать в Angular Team в ближайшем митинге. Читать далее

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

Как быстро и удобно документировать Angular проект с помощью модуля AddOnDoc из TaigaUI Не так давно вышла новая библиотека компонентов Taiga UI. Как говорят сами создатели Александр Инкин и Роман Седов, это конструктор Lego. И действительно: в нём есть много полезных модулей, которые можно использовать в своём проекте. В этой статье мы рассмотрим модуль AddOnD...

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

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

Статический генератор сайтов Hugo. Фронтенд реалии В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» ...

Облачно-ориентированный обмен сообщениями на платформе Red Hat OpenShift с использованием Quarkus и AMQ Online Всем привет! Вот и он – наш заключительный пост из серии про Quarkus! (Кстати, смотрите наш вебинар «Это Quarkus – Kubernetes native Java фреймворк». Покажем, как начать «с нуля» или перенести готовые решения) В предыдущем посте мы рассмотрели соответствующие инструменты,...

[Из песочницы] Стилизация флажков и переключателей с использованием CSS3 При создании CSS стилей для HTML форм, разработчики часто сталкиваются с невозможностью непосредственно менять внешний вид элементов флажков (checkboxes) и переключателей (radio buttons). Рассмотрим как можно обойти это ограничение при помощи инструментария CSS3 и без исполь...

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

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

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

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

Пишем плагин Parcelize для компилятора Kotlin под iOS В этой статье описан мой опыт по написанию плагина для компилятора Kotlin. Моей главной целью было создание плагина под iOS (Kotlin/Native), аналогичного kotlin-parcelize под Android. Дело в том, что в iOS, как и в Android, приложения тоже могут быть убиты системой, а значит...

#Назаметку. Осторожно, атомарные операции в ConcurrentHashMap В Java с незапямятных времён есть замечательный интерфейс Map и его имплементации, в частности, HashMap. А начиная с Java 5 есть ещё и ConcurrentHashMap. Рассмотрим эти две реализации, их эволюцию и то, к чему эта эволюция может привести невнимательных разработчиков. Warn...

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

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

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

Как системы анализа трафика обнаруживают тактики хакеров по MITRE ATT&CK, часть 3 В предыдущих постах (первая и вторая части) мы рассмотрели техники пяти тактик MITRE ATT&CK: первоначальный доступ (initial access); выполнение (execution); закрепление (persistence); повышение привилегий (privilege escalation); предотвращение обнаружения (defense ev...

[Перевод] Тестирование контракта потребителя сервиса — часть 2 В предыдущем блоге я представил концепцию контрактных тестов. Сейчас мы рассмотрим написание контрактных тестов для сервисов, которые взаимодействуют через Http. Они написаны с использованием: Читать далее

Asciidoc для ЕСКД Введение В этой статье хочу рассмотреть возможности Asciidoc в части обеспечения требований соответствия документов требованиям единой системы конструкторской документации (ЕСКД), конкретно ГОСТ Р 2.105—9 (далее ГОСТ ЕСКД). Почему именно Asciidoc, я писал здесь. Сразу уточн...

Автоматическое создание документации для RPA с Task Capture Первым этапом роботизации процесса является документация. Бизнес-аналитик общается с исполнителем процесса и составляет понятное разработчикам описание этого процесса с детально описанными шагами. На создание документации уходит много ресурсов: как сотрудника, так и ана...

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

Политики хранения Veeam B&R, — бэкапы, цепочки и магнитные ленты В предыдущей части мы разобрали, как работает политика хранения для заданий первоначального бэкапа и создания его архивной копии. В этой части мы продолжим начатое и рассмотрим хранение на магнитных лентах. Ретеншен магнитных лент может быть довольно сложен для понимания, п...

Сборка и запуск Angular приложения в Docker контейнере В этой статье мы рассмотрим как собирать и запускать Angular приложение в Docker контейнере. Читать далее

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

Сочиняя ПО: Введение Эта статья - часть серии статей "Составляя ПО" про функциональное программирование и различные техники создания программ на JavaScript ES6+, начиная с азов. Оставайтесь на связи, много нового впереди! Композиция: "Действие, заключающееся в составлении единого целого из часте...

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

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

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

Про многопоточность 2. GCD Привет! Вот и новая часть серии статей про многопоточность дождалась своей очереди (ну вы поняли, да, типа очередь статей последовательная (͡° ͜ʖ ͡°) ). В этот раз мы поднимемся на ступеньку выше, рассмотрим фреймфорк Dispatch, разберем большую часть GCD примитивов, распрост...

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

Искусство отладки FPGA: как сократить срок тестирования за счет грамотной разработки Давайте попробуем оптимизировать самый времязатратный этап разработки устройств на базе ПЛИС — отладку прошивки. В этой статье мы расскажем о принципе 20/80 при планировании времени, рассмотрим инструменты для отладки FPGA, вспомним Гордона Мура и Уинстона Черчилля (да-да), ...

WebStorm 2020.2: возможность использовать Prettier по умолчанию, поддержка Nuxt.js и другие улучшения Всем привет! Мы рады представить второе крупное обновление WebStorm в этом году. В нем вы найдете несколько долгожданных улучшений, включая поддержку Nuxt.js и возможность использовать Prettier для форматирования кода по умолчанию. Скачать 30-дневную пробную версию WebStor...

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

Стики и работа с Event System в Unity 3D Этот материал состоит из двух частей:В первой, рассмотрим создание в Unity удобных стиков, подходящих под любые разрешения экранов и любую диагональ. Познакомимся с использованием Event System в разрезе работы с UI и реализации пользовательской обработки реакции на указатель...

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

[Перевод] Какие инструменты будут установлены на Чрезвычайно большой телескоп? Проектирование и строительство инструментов для Чрезвычайно большого телескопа (ELT) началось в 2015 году. В данном переводе работы (Ramsay et al.) будет представлен краткий обзор плана создания приборов для ELT. Читать далее

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Хакеры украли у Electronic Arts исходный код FIFA 21, движок Frostbite и инструменты разработки По данным ресурса Motherboard, компания Electronic Arts стала жертвой хакеров, которые похитили большой объём конфиденциальных данных. В частности, хакеры смогли украсть исходный код игры FIFA 21, игровой движок Frostbite (использовался для создания спортивных футбольных сер...

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

Использование Windbg для обратной разработки Статья представляет собой мануал по тому как пользоваться Windbg. Будет рассмотрена "классическая" версия отладчика. Настроим внешний вид и изучим команды, которые можно использовать для исследования приложения. Читать далее

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

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

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

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

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

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

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

X.509 своми силами в .Net Core Некоторое время назад я задался вопросом, можно ли наладить фабрику сертификатов, не прибегая к утилите openssl. Как подвести «под кнопку» весь процесс от генерации ключей до проверки подлинности. Забегая вперед, скажу, что пространство System.Security.Cryptography в этом п...

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

Iridium: принимаем и декодируем сигналы группировки спутников у себя дома Привет Хабр. В предыдущей части мы рассмотрели прием сигналов спутников Inmarsat. Сейчас мы рассмотрим не менее интересную систему — спутниковую систему связи Iridium, принять сигналы которой также может у себя дома любой желающий. Покрытие сети Iridium, фото из Википедии...

UML для разработчиков Интернет полон статей про UML, вы найдете сотни примеров для каждого вида диаграмм, и без проблем создадите свои, нотация не сложная. Но так ли уж необходимо тратить на это время? Наш богатый опыт говорит «Да». Если у вас в команде более 2 человек и проект от 3 месяцев, то у...

Ультимативный гайд по созданию CI/CD в GitLab с автодеплоем в Kubernetes на голом железе всего за 514$ в год ( ͡° ͜ʖ ͡°) Шел 2021 год, русские хакеры продолжают переигрывать и уничтожать загнивающий Запад, вмешиваясь в выборы, ломая фейсбуки и пентагоны. Тем временем на Хабре выходят статьи о создании неубиваемых Kubernetes-кластеров, которые, по видимому, всех нас переживут. А кто-нибудь поду...

Golang-дайджест № 4  (1 – 30 апреля 2021) Свежая подборка новостей и материаловИнтересное в этом выпускеВидео с GopherCon Russia 2021, создание BitTorrent-клиента с нуля, набор инструментов для работы с API Apple/Mac, сетевой сканер ARP, TCP, UDP, ICMPПриятного чтения! Читать далее

Конкурс «Инфокультуры»: микрогранты на поддержку проектов с открытым исходным кодом «Информационная культура» проводит конкурс микрогрантов на поддержку проектов на основе открытых данных и с открытым исходным. Заявки принимаются до 24 февраля 2020 года. Гранты суммой до 100 тысяч рублей на один проект выдаются сроком на два месяца. Поддержка может быть пр...

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

Как просканировать весь интернет Весь диапазон IPv4 адресов — это 4-миллиарда IP-адресов. Это кажется огромной цифрой, но весь IPv4 интернет можно полностью просканировать на предмет одного TCP-порта за 40 минут, например найти все веб-серверы в мире или все открытые SSH-порты. При этом достаточно одного ...

Обзор нововведений в C# 10 В данной статье мы рассмотрим новую версию языка C# 10, которая включает в себя небольшой список изменений относительно C# 9. Ниже приведены их описания вместе с поясняющими фрагментами кода. Давайте их рассмотрим. Читать далее

Гибрид компьютера и IP-телефона. Анатомия аппаратной платформы GM-Box. Часть 2 – разработка Продолжаю делиться историей разработки аппаратной платформы GM-Box G1. В предыдущей статье я рассказал о первых шагах на пути создания продукта - прототипировании для проверки продуктовых гипотез. Этот этап позволил сформулировать требования к серийному изделию. Сейчас речь ...

8 No-Code платформ машинного обучения для мобильных разработчиков В этой статье мы рассмотрим некоторые из лучших no-code инструментов машинного обучения, доступных прямо сейчас.

Как мы делали универсальный сервис подписания для инфраструктуры Госуслуг на C и GO. Часть 2 Это вторая часть статьи, посвященной универсальному сервису подписания для инфраструктуры Госуслуг. Первая часть статьи была посвящена GO-части нового сервиса, в которую входит конфигурирование, тестирование, ресты, файловый менеджер и планировщик. Всему тому, что происходит...

Hack The Box. Прохождение Dyplesher. Memcached, Gogs, RCE через создание плагина и LPE через AMQP Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье мы получим хеши пользователей благодаря memcached, разбираемся с GIT репозиториями, пишем плагин с бэкдором на Java, анализируем трафик и повышаем привилегии благодаря R...

Метеостанция на Banana Pi M64 (Linux, C#, Docker, RabbitMQ, AvaloniaUI) Статей о создании метеостанции на базе Arduino не счесть. Можно сказать, если статья про метеостанцию, то это про микроконтроллеры Arduino, ESP32 или STM32. Но только не в этот раз. Будем запускать метеостанцию на Banana Pi BPI-M64 под Linux, без использования Arduino-подо...

Основные тренды в мошенничестве за 2021 год Люди видят то, что хотят видеть. На этом их и ловят мошенники– сериал «Касл»Приветствую. В этой статье я постарался рассмотреть самые резонансные кейсы по мошенничеству в 2021 году и выделить основные направления, к которым они относятся. Читать далее

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

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

[Перевод] Вставка реальных объектов в Unity с помощью Meshroom Из этой статьи вы узнаете, как использовать фотограмметрию для фотосканирования и вставки объектов реального мира в проекты Unity при помощи Meshroom. В контексте 3d-моделей фотограмметрия — это процесс создания 3D-моделей из отсканированных объектов. Вам нужны реалистичн...

Как системы анализа трафика обнаруживают тактики хакеров по MITRE ATT&CK, часть 4 В предыдущих постах (первая, вторая и третья части) мы рассмотрели техники семи тактик MITRE ATT&CK: первоначальный доступ (initial access); выполнение (execution); закрепление (persistence); повышение привилегий (privilege escalation); предотвращение обнаружения (de...

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

Создание резервной копии MySQL при помощи утилиты XtraBackup Percona XtraBackup — это утилита для горячего резервного копирования баз данных MySQL. Во время создания резервной копии данных не происходит блокирования таблиц, ваша система продолжает работать без каких бы то ни было ограничений. Главное преимущество XtraBa...

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

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

Заменяем Google Assistant на нейросеть Порфирьевич и троллим Алису Вы уже видели, что вытворяет нейросеть Порфирьевич? Она дописывает текст к любой вашей фразе. И действительно забавные штуки получаются, потому что обучена она на книгах Достоевского, Толстого, Пушкина, Булгакова, Гоголя и Пелевина. «Озвучить все это дело голосом Левитана ...

[Перевод] Бесконечная автопрокрутка списков с помощью RecyclerView и LazyLists в Compose RecyclerView - это действительно классный и мощный инструмент для отображения списка(ов) содержимого на Android. Существует масса отличных статей и примеров о различных решениях RecyclerView, поэтому здесь мы не будем их рассматривать. Основное внимание будет уделено создани...

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

Защита программного обеспечения от обратной инженерии В данной статье мы представим себя в роли разработчика лицензированного ПО и рассмотрим способы защиты от взлома нашей программы пиратами. Читать далее

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

Как оформить серию коммитов Git, чтобы её приняли в любой проект Добрый день, коллеги! Доказывать, что нужно использовать систему контроля версий, уже давно не нужно. И Git занял тут лидирующую позицию, стремительно вытеснив SVN. Но это инструмент, а инструментом нужно уметь пользоваться, чтобы добиться лучших результатов. Как топором, од...

Создание программного продукта и управление его развитием. От реализации идей — к проверке гипотез Привет, Хабр! Мы продолжаем говорить о продакт-менеджменте из прошедшего курса и этот пост посвящен работе с гипотезами, которые вы хотите реализовать при разработке программного продукта. Многие хорошие идеи “не взлетают”, потому что не соответствуют потребностям рынка, и с...

Proxmox 7.0 beta 1: обзор основных изменений 24 июня стала доступна первая бета-версия популярной системы виртуализации с открытым исходным кодом Proxmox 7.0. Сегодня посмотрим, какие кардинальные изменения будут представлены в будущем релизе. Разумеется, мы ни в коем случае не пытаемся заменить полный changelog, его...

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

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

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

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

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

Работа SIP/H.323-терминала ВКС с ZOOM и Skype в USB-режиме для ПК Эта статья познакомит Вас с полезным и востребованным функционалом терминалов Yealink серии MeetingEye - работа с ZOOM, Skype и прочими программными решениями ВКС в USB-режиме для ПК. Сами терминалы вызывают не меньший интерес, и будут описаны подробно в следующих статьях. А...

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

Опенсорс на уровне компании: первые уроки участия в сторонних проектах В мае 2020 года, когда процент коллег без проектов оказался неожиданно высоким, мы решили привлечь желающих к работе с опенсорс. У DataArt есть опыт создания собственных продуктов с открытым исходным кодом: IoT-платформа DeviceHive, .NET-фреймворк Atlas, игровая платформа Ki...

[Перевод] Полное руководство по созданию Docker-образа для обслуживания системы машинного обучения в продакшене Команда Mail.ru Cloud Solutions перевела полное пошаговое руководство для создания образа Docker (GPU или CPU) вместе с объяснением всех передовых методов, которые следует использовать для обслуживания любого программного обеспечения на основе машинного обучения. Далее текс...

Эксперимент VTrade. Часть 1: Биржи и современные технологии Цикл статей освещает попытку создания реактивной системы силами одного человека с минимальным бюджетом и в кратчайшие сроки. Цели эксперимента: Более глубокое понимание предметной области и улучшение технической экспертизы Выявление сильных и слабых сторон использования фу...

GitFlic. Российский GitHub. Рассмотрение сервиса и его нюансы В этой статье мы рассмотрим новый российский сервис от компании ООО "Ресолют" под названием GitFlic, где попробуем найти хорошие моменты, а также выльем весь шкал критики на разработчиков этого чуда... Читать далее

Как мы делали универсальный сервис подписания для инфраструктуры Госуслуг на C и GO. Часть 1 Это первая часть статьи, в которой будет рассмотрена GO-часть нового сервиса подписания для всем известного (а если не всем, то многим) портала Госуслуг. Сюда входит конфигурирование, тестирование, ресты, файловый менеджер и планировщик. В общем все то, что происходит до тог...

CI/CD монолита Авито: от коммита до моржа Всем привет, меня зовут Александр Данковцев, я lead engineer команды Antimonolith. В этой статье я расскажу, как построен CI/CD монолита Авито. Речь пойдёт про нашу архитектуру стейджинга, pre-receive хуки, то, что из себя представляет сборка и деплой, как устроен прогон авт...

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

in2sql: Работаем с разнообразием ODBC источников Продолжаю серию рассказов о OpenSource разработке In2sql, которая визуализирует объекты SQL для выгрузки данных в Excel (по сути это серия статей — документация к разработке). В предыдущих частях: Excel VBA — создаем свою панель инструментов In2Sql: Плагин для Excel ко...

FOSS News №58 – дайджест материалов о свободном и открытом ПО за 22-28 февраля 2021 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Red Hat Enterprise Linux стал бесплатен для организаций, развивающих открытое ПО; Google профинансирует...

Упаковка любого python пакета в rpm пакет с возможностью offline установки Бывают ситуации, когда нужно упаковать Python пакет c его зависимостями в rpm пакет. В этом посте будут рассмотрены 2 варианта: fpm и rpmvenv. fpm — программа для простой упаковки программ в rpm, deb и другие пакеты. rpmvenv — программа для упаковки virtualenv программ в rpm...

Пишем веб сервис на Python с помощью FastAPI Знаю, знаю, наверное вы сейчас думаете «что опять?!». Да, на хабре уже неоднократно писали о фреймворке FastAPI. Но я предлагаю рассмотреть этот инструмент немного подробнее и написать API своего собственного мини Хабра без кармы и рейтингов, зато с блэкджеком и с тестами,...

Наш опыт использования Jira: cоздание подзадач по шаблонам В предыдущей статье "Несколько примеров успешного изобретения велосипеда" мы поделились рядом решений, полученных путем комбинирования наших плагинов для Atlassian, таких как MyGroovy, JSIncluder и MyCalendar. На этот раз мы рассмотрим еще один плагин из нашей кол...

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

FOSS News №36 – дайджест новостей и других материалов о свободном и открытом ПО за 28 сентября – 4 октября 2020 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Евангелист Open Source Эрик Реймонд о возможном переходе Windows на ядро Linux в недалеком будущем; к...

FOSS News №69 – дайджест материалов о свободном и открытом ПО за 3–9 мая 2021 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Главные темы нового выпуска: 30 лет Линукса. Интервью с Линусом Торвальдсом в 2 частях. Linux Foundat...

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

Каналы на корутинах С++ В предыдущей статье я описал простой путь создания генераторов на корутинах С++. На мой взгляд генераторы неплохо демонстрируют работу с такими объектами как coroutine_handle и promise_type. На этот раз речь пойдет об awaitable объектах — еще одной неотъемлемой части поддерж...

[Перевод] Создание системы мониторинга Kafka с помощью NiFi, Kudu и Tableau При масштабной работе с Apache Kafka вы рано или поздно столкнетесь с проблемой доступного дискового пространства, темпами роста тем или общими вопросами использования диска. Это особенно актуально при работе с внешними источниками - вне вашего прямого контроля и настройки ж...

Linux exploits Операционная система Linux доказала миру всю силу Open Source проектов — благодаря ей у нас сегодня есть возможность заглянуть в исходный код рабочей ОС и на его основе собрать свою собственную систему для решения тех или иных задач. По причине своей открытости Linux до...

Даты, время и часовые пояса: улучшения в .NET 6 Материал переведен. Ссылка на оригиналВ этой статье я расскажу о грядущих улучшениях в .NET 6, затрагивающих даты, время и часовые пояса. Все, о чем здесь говорится, вы можете опробовать сами — эти возможности будут доступны, начиная с версии .NET 6 Preview 4.Мы рассмот...

Angular Universal: проблемы реального приложения Angular Universal — это опенсорсный проект, который расширяет функциональность @angular/platform-server. Он делает возможным Server Side Rendering в Angular. В этой статье мы обсудим проблемы и возможные решения, с которыми мы столкнулись при разработке реального приложения ...

Рекомендательные системы: проблемы и методы решения. Часть 2 Привет! Меня зовут Екатерина Ванская, и я занимаюсь data science в компании Prequel. В этой статье я продолжу обзор рекомендательных алгоритмов, которым мы начали в предыдущем моем материале(вот ссылка на первую часть).Область рекомендаций усложняется по мере расширения сфер...

Что такое MagicString и настолько ли эти строки волшебные? MagicString — это малоизвестная библиотека. Не смотря на это она решает одну из насущных проблем — изменение исходного кода с использованием его структуры (AST — abstract syntax tree). В этой статье мы узнаем, что такое MagicString и такие ли уж эти строки «магические». Это...

Это мог быть очередной JavaScript-фреймворк Прошлым летом, в процессе подготовки статьи для Хабра, я не поленился упаковать свой шаблон для бэкэнд-приложений на Node.js в npm-пакет, сделав из него cli-утилиту для быстрого старта. Никаких надежд на то, что этим пакетом будет пользоваться кто-то, кроме меня, не было изн...

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

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

Код в одну строку или проверка Nethermind с помощью PVS-Studio C# для Linux Данная статья приурочена к старту бета-теста PVS-Studio C# для Linux, а также плагина для Rider. По такому прекрасному поводу с помощью данных инструментов была проведена проверка исходного кода продукта Nethermind и в данной статье мы посмотрим на интересные, а иногда и за...

4.  Континент 4 Getting Started. Веб-защита Приветствую всех в четвертой статье, посвященной Континент 4. В данной статье рассмотрим защиту от вредоносных веб-сайтов. Разберем работу SSL-инспекции, создадим профиль для работы с веб-фильтрами и настроим портал аутентификации. В Континент 4.1 предусмотрен механизм усиле...

Dapp. Vue.js + ethers.js В этой статье я попытаюсь максимально кратко и информативно пройтись по всем пунктам создания создания полноценного Децентрализованного приложения в сети Ethereum используя JavaScript фреймворк - Vue для создания веб-приложения и библиотеку ethers.js для общения со смарт кон...

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

[Перевод] Интерактивная визуализация данных при помощи Plotly: строим красивые графики с Express и Cufflinks Если Вы все еще используете Matplotlib для создания графиков в Python, самое время взглянуть на мир с высоты альтернативной библиотеки интерактивной визуализации. Plotly позволяет создавать красивые, интерактивные, экспортируемые графики с помощью всего нескольких строк к...

Особые инструменты. Утилиты Linux, которые мы используем, не зная о них Для подписчиковВ Linux есть ряд инструментов с интересной судьбой: почти все хоть раз видели результат их работы, но мало кто знает, чем это было сделано. В этой статье мы рассмотрим несколько таких утилит.

[Перевод] Создание блога с помощью Nuxt Content (часть первая) От переводчика: Я собирался сделать собственную статью по Nuxt Content, но наткнулся на готовую статью, которая отлично раскрывает тему. Лучше у меня вряд ли получится, поэтому я решил перевести. Написал автору в твиттер и практически сразу получил согласие. Статья будет с ...

[recovery mode] Настройка Telegram уведомлений в pfSense Начиная с версии 2.5.0 (вышла в 2019 году) в pfSense появилась поддержка Telegram уведомлений о системных событиях. В этой статье мы пошагово рассмотрим настройку и узнаем, какого рода уведомления будут приходить в наш мессенджер. Читать далее

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

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

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

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

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

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

[Из песочницы] Ищем утечки памяти с помощью Eclipse MAT Пожалуй, все java-разработчики, участвующие в коммерческих проектах рано или поздно сталкиваются с проблемой утечки памяти, влекущей за собой медленную работу приложения и почти неизбежно приводящую в итоге к известной OutOfMemoryError. В данной статье будет рассмотрен реаль...

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

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

Как разрабатываются моды для Unity-игр. Часть 2: пишем свой мод В этой части на примере мода для Beat Saber мы рассмотрим общие принципы разработки модов для Unity-игр, узнаем, какие есть трудности, а также познакомимся с Harmony — библиотекой для модификации кода игр, которая используется в RimWorld, Battletech, Cities: Skylines и многи...

[Из песочницы] OBS Studio Lua Скриптинг Всем привет, в этом руководстве рассмотрим создание скриптов для OBS на языке Lua. Скриптинг в OBS доступен начиная с версии 21, на данный момент новейшая 26.0.0-rc3 версия доступна для тестирования.Обновление включает в себя виртуальную веб камеру (пока что только на Window...

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

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

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

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

Разработка приложения для обработки видео: на что обратить внимание и при чем тут зумеры Привет, Хабр!Меня зовут Алексей Жуков. Более 10 лет вместе с командой разработчиков я занимаюсь созданием и дизайном приложений и интернет-платформ. В статье хочу поделиться своим видением трендов на рынке видеоконтента. Разберемся в том, что будет после пандемии и что учест...

Шасси беспилотника на базе Lada Vesta. Полный комплект drive-by-wire Мой опыт превращения Lada Vesta в шасси для беспилотника при помощи проекта с открытым исходным кодом Polysync OSCC. Как научить автомобиль поворачивать, ускоряться и тормозить по команде. Читать далее

Настройка инструментов стандартной библиотеки Golang для production Привет, Хабр, меня зовут Богданов Илья, я работаю ведущим инженером в команде веб-разработки. Сегодня я вам расскажу, как настроить стандартную библиотеку Golang так, чтобы избежать неожиданных ошибок в production.Моя статья ориентирована в основном на начинающих разработчик...

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

xUnit тестирование в TeamCity Microsoft активно развивает свои проекты с открытым кодом, например, ASP.NET Core или MSBuild. Вместе с этим набирает популярность и тестовый фреймворк xUnit, используемый в них для модульного тестирования. В этой статье мы рассмотрим несколько способов запуска xUnit-тестов ...

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

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

Что такое Immutable Infrastructure Меня зовут Никита, я системный инженер в компании SEMrush. И в этой статье я расскажу вам, что такое Immutable Infrastructure, какие у этого подхода есть преимущества и недостатки и как мы его используем в компании. Если вы ни разу не слышали такое словосочетание, то усажив...

Упрощаем работу с Angular с помощью @taiga-ui/cdk: 5 наших лучших практик CDK — базовый пакет библиотеки компонентов Taiga UI. Он не имеет никакой привязки к визуальной составляющей библиотеки, а скорее служит набором полезных инструментов для упрощения создания Angular-приложений.Среди всех этих инструментов я выделил мою пятерку фаворитов. Я исп...

Гидродинамическое моделирование (CFD) на рельефе с помощью MantaFlow и визуализация результатов в ParaView Дисциплина Computational fluid dynamics(CFD) или, на русском языке, Вычислительная гидродинамика изучает поведение различных потоков, в том числе вихревых. Это и моделирование цунами, и лавовых потоков, и выбрасываемых из жерла вулкана камней вместе с лавой и газами и многое...

VxLAN фабрика. Часть 2 Привет, Хабр. Продолжаю цикл статей по технологии VxLAN EVPN, которые были написаны специально к запуску курса "Сетевой инженер" от OTUS. И сегодня рассмотрим интересную часть задач — маршрутизацию. Как бы ни банально это звучало, однако в рамках работы сетевой фаб...

Механизмы авторизации в web-приложениях на Rust Для обеспечения безопасности приложений мы используем такие довольно известные механизмы, как аутентификация и авторизация. В этой статье мы сфокусируемся на понятие авторизации и связанных с ней моделях контроля доступом. А также рассмотрим решения для web-приложений на Ru...

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

Какие возможности для развертывания в гибридной и мультиоблачной среде открывает Anthos? Anthos – это управляемая платформа разработки приложений, которая позволяет использовать сервисы и методики Google Cloud в удобной для вас среде, чтобы вы могли быстрее обновлять приложения и обеспечивать их слаженную работу. С помощью платформы Anthos, основанной на Ku...

Йо-хо-хо, и бутылка рому! Разбираем ошибки игрового движка Storm Engine PVS-Studio – это инструмент статического анализа, позволяющий находить ошибки в исходном коде программ. В качестве знакомства с возможностями анализатора вашему вниманию предлагается результат проверки PVS-Studio исходного кода игрового движка Storm Engine. Читать далее

Blazor Client Side Интернет Магазин: Часть 6 — Создание заказа и работа с компенсирующими действиями Привет, Хабр! Продолжаю делать интернет магазин и изучать Blazor. В этой части расскажу о том как добавил в него возможность создания заказа, просмотра заказов и работу с последовательностью действий одно из которых может завершиться ошибкой. За подробностями добро пожалов...

[Перевод] Антипаттерны деплоя в Kubernetes. Часть 1 В предыдущей статье 10 Docker anti-patterns мы рассказали о популярных ошибках при создании образов контейнеров. Однако создание образов для вашего приложения - это только половина дела. Вам нужен способ развёртывания этих контейнеров в производственной среде. Использование ...

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

WebStorm 2020.1: улучшения в интерфейсе, поддержка Vuex и запуск Prettier при сохранении файлов Всем привет! Мы рады представить вам первое крупное обновление WebStorm в этом году. В новой версии вы найдете много новых возможностей и долгожданных улучшений, включая поддержку Vuex и новую опцию для запуска Prettier при сохранении файлов. Скачать 30-дневную пробную ве...

MaxPatrol SIEM обнаруживает работу популярных хакерских инструментов В MaxPatrol SIEM загружен очередной (пятнадцатый) пакет экспертизы с 55 правилами для выявления признаков работы распространенных инструментов киберпреступников. Правила детектирования нацелены на обнаружение многофункциональных ...

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

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

[Перевод] 12 примеров улучшения кода с помощью @dataclass Мы добавляем алгоритмы кластеризации с помощью пакетов scikit-learn, Keras и других в пакет Photonai. На 12 примерах мы покажем, как @dataclass улучшает код на Python. Для этого мы используем код из пакета Photonai для Machine Learning. Читать далее

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

[Перевод] Как мы выпускаем исправления к ПО в GitLab Мы в GitLab обрабатываем исправления ПО двумя способами — «ручками» и автоматически. Читайте далее о работе release manager по созданию и доставке важных обновлений с помощью автоматического развертывания на gitlab.com, а также исправлений для пользователей, которые работаю...

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

Что такое дерево решений и где его используют? Ребята, привет! Сегодня команда ProductStar подготовила для вас статью, в которой мы рассмотрели общие принципы работы и области применения дерева решений. Читать далее

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

Обновление МойОфис 2021.02. Работайте с данными в сводных таблицах Привет, Хабр! В июне мы обновили МойОфис до версии 2021.02, которое серьезно расширило функциональность всех компонентов платформы. В частности, теперь в "МойОфис Текст" стало доступно создание сводных таблиц с нуля на основе подготовленных источников данных. Читайте в стать...

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

Основы Bash-скриптинга для непрограммистов. Часть 3 Во второй части статьи мы обсудили файлы скриптов, их параметры и права доступа. Также поговорили про операторы условного выполнения, выбора и циклы. В этой, заключительной части мы рассмотрим функции и планировщик заданий cron. Также приведу различные полезные команды и ссы...

Замена Android и Chrome OS пока не готова. Google просит помочь в разработке Fuchsia Компания Google сообщила об изменений подхода к разработке операционной системы Fuchsia, теперь это «долгосрочный проект по созданию универсальной операционной системы с открытым исходным кодом». Операционная система Google Fuchsia рассчитана на работу с сам...

Как мы получили реалистичные лица с новых ракурсов с помощью нейросетей В этой статье вы узнаете про глубокий нейросетевой подход Neural Radience Fields — метод для генерации новых изображений сцены с различных ракурсов. Основная задача — интерполяция новых views между исходными оригинальными изображениями для получения “непрерывной сцены” из ог...

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

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

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

В начале был “workflow” Добрый день! Меня зовут Кирилл, и я DevOps-инженер. За свою карьеру мне не раз приходилось внедрять DevOps-практики как в существующие, так и в новые команды, поэтому хочу поделиться своим опытом и мыслями по поводу стра...

Автоматическая генерация технической документации Продолжая тему использования Asciidoc (и других аналогичных форматов) для организации процессов непрерывного документирования, хочу рассмотреть тему автоматический генерации технической документации. Автоматическая генерация документации — распространенный, но очень расплыв...

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

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

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

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

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

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

[Из песочницы] Предлагаю подумать: как технологии могут помочь бороться с пропагандой в СМИ? Фотограф: Аркадий Шайхет. Вступление Эту статью можно разделить на две логические части. В первой я рассматриваю феномен медиапропаганды: что это такое, почему она опасна и к каким жутким вещам уже приводила в истории. Я подробно рассмотрю механизмы работы современной гос...

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

[Из песочницы] Angular: создание кастомного элемента формы и передача в него состояния формы Разнообразные формы в наших веб-приложениях нередко строятся из одинаковых кирпичиков-элементов. Компонентные фреймворки помогают нам избавиться от повторяемого кода, и сейчас я хочу рассмотреть один из таких подходов. Так, как это принято в Angular. Читать дальше →

Йога глазами дата-сайентиста: как мы строили computer vision в мобильном приложении Привет! Я Денис Соколов, руковожу R&D в Zenia Yoga — первом приложении для йоги на основе ИИ. В этой статье я расскажу, из чего состоит современная система, работающая с компьютерным зрением: как влияет каждый элемент пайплайна на конечный результат, который видит пользо...

[Перевод] Kubernetes — изучаем паттерн Sidecar Kubernetes - это движок оркестрации контейнеров с открытым исходным кодом для автоматического развертывания, масштабирования и управления контейнеризированными приложениями. Под (Pod) – это базовое понятие при проектировании приложений в Kubernetes. Kubernetes оперирует пода...

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

[Перевод] Тестирование или управление качеством? Часть 2. Типы тестирования В предыдущей статье «Часть 1. Что такое тестирование?» я поделилась с читателями мыслями о том, в чем заключается суть тестирования. Во второй части моих рассуждений о тестировании и управлении качеством я подробно рассмотрю различные типы тестирования и проанализирую модели...

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

Скорость сборки в iOS Всем привет! Меня зовут Юра, я – iOS-разработчик в hh.ru. В этой статье мы рассмотрим с одну из важнейших метрик для IOS-разработчика – скорость сборки. Я расскажу о том, как мы собираем эти метрики и что потом с ними делаем, и почему мы вообще решили всё это измерять. Видео...

Kotlin Native. Работаем с новой моделью памяти Всем доброго дня! С вами Анна Жаркова, ведущий мобильный разработчик компании Usetech. Продолжаем рассматривать способы многопоточный работы в Kotlin Native. В предыдущих статьях мы уже рассмотрели существующие способы работы с многопоточностью с корутинами и&...

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

NAT (Network Address Translation) для новичков и не только Приветствую всех читателей статьи!Данная статья будет полезна как новичкам, так и опытным системным администраторам/ сетевым инженерам. Здесь затрагиваются понятия и принцип работы технологии NAT, ее значение в наше время, виды и создание с конфигурированием в программе-симу...

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

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

Свой личный SMS-шлюз. Часть 2 – создаём API и форму отправки Представляю вам вторую часть из серии статей по созданию своего шлюза. В первой части мы настроили Gammu, рассмотрели особо интересные параметры и успешно произвели отправку SMS сообщения. Сейчас нам предстоит задача посложнее – создать некую программную прослойку (API), дл...

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

HackTheBox. Прохождение Laser. Jetdirect, RPC и кража SSH Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье мы работаем с принтером и получаем документ, который даст нам вектор захвата хоста, найдем в памяти ключ шифрования и расшифруем найденный документ. Далее работаем с gR...

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

Виртуальная АТС. Часть 2: Решаем проблемы безопасности с Asterisk и настраиваем звонки В предыдущей статье мы рассмотрели простую установку IP АТС (IP PBX) Asterisk 16 из штатного репозитория на виртуальный сервер с Ubuntu 20.04. В такой конфигурации выставлять службу VoIP на всеобщее обозрение не стоит: необходимо сделать дополнительные настройки, связанные...

[Перевод] Докеризация приложения, построенного на базе React, Express и MongoDB Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как упаковывать в контейнеры Docker веб-приложения, основанные на React, Express и MongoDB. Здесь будут рассмотрены особенности формирования структуры файлов и папок таких проектов, создание файлов D...

ОС для работы со звуком — что она умеет Один из предыдущих материалов мы посвятили инструментам для сборки цифровой звуковой рабочей станции (DAW). Еще мы говорили об open source проектах, в рамках которых можно сделать собственный синтезатор или педалборд.Сегодня продолжим тему и расскажем об открытой ОС Elk Audi...

«Невидимую» камеру ZTE Axon 20 5G рассмотрели под микроскопом В начале этого месяца компания ZTE представила первый серийный смартфон Axon 20 5G с подэкранной фронтальной камерой. При помощи микроскопа энтузиасты сделали макроснимок фронтальной камеры, рассмотрев отличия в структуре той области экрана, где размещается уникальная камера...

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

[Перевод] Как создать инфраструктуру в разных окружениях с помощью Terraform Terraform — это опенсорс-инструмент IaC (инфраструктура как код), который предоставляет согласованный рабочий процесс в CLI для управления сотнями облачных сервисов. Terraform преобразует облачные API в декларативные файлы конфигурации. Обычно мы деплоим инфраструктуру в нес...

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

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

DevOps-серфинг в потоке создания ценности. Митап 9-го сентября Привет, Хабр! Поговорим о Лабиринте разработки и о том, как побить рекорды по скорости создания приложений?Полный цикл разработки приложений иногда напоминает лабиринт, в котором приходится перемещаться между командами разработки, тестирования, информационной безопасности, ч...

Свобода для видео: представлен открытый GPU на базе RISC-V Свободный GPU, для которого не требуется отчислений и отсутствуют условия на использование — голубая мечта многих разработчиков. Сейчас представлен проект, который является началом большой работы по созданию полностью открытых GPU. Речь идет о проекте, который развивает г...

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

FOSS News №35 – дайджест новостей и других материалов о свободном и открытом ПО за 21-27 сентября 2020 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Кто займётся развитием безопасности открытого ПО, как программное обеспечение с открытым исходным код...

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

[Перевод] Миграция API с REST на gRPC в WePay В предыдущих постах серии о service mesh мы говорили о настройке инфраструктуры для модернизации нашей микросервисной архитектуры и архитектуры балансировки нагрузки, а также о том, как мы обеспечиваем высокую доступность для использования всех замечательных возможностей ser...

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

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

[Из песочницы] Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделе...

Что нового добавилось в Terraform v0.13 Добавлений немного, но их стоит знать, ведь это поможет расширить ваши возможности при работе с Terraform.Давайте рассмотрим самые нужные новые фичи при работе с модулями. Читать далее

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

[Из песочницы] Установка и настройка RTKRCV (RTKLIB) на Windows 10 с использованием WSL Здравствуйте, в данной статье разбирается процесс установки и запуска приложения RTKRCV из открытой библиотеки RTKLIB, разрабатываемой командой Томоджи Такасу (Япония). RTKLIB — это программный пакет с открытым исходным кодом для стандартного и точного позиционирования с и...

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

SQL-инъекции' union select null,null,null -- Согласно OWASP Top-10, SQL-инъекции считаются наиболее опасными уязвимостями. Успешная атака с их использованием может не только привести к компрометации данных, таких, как: пароли, данные кредитной карты или личная информация пользователя, но и, при определенных условиях, с...

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

Как выглядит дополненная реальность в 2021 году: подборка бизнес-кейсов Бренды всё чаще используют новые технологии для улучшения бизнес-показателей: от внедрения VR-тренингов до масок для большего вовлечения целевой аудитории. В этой статье рассмотрены кейсы этого года: AR как инструмент продаж, AR для продвижения, в...

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

API, ради которых наконец-то стоит обновиться с Java 8. Часть 3 Какие есть причины переходить на новые версии Java? Кто-то это сделает из-за новых языковых возможностей вроде выражений switch, блоков текста или записей. Кому-то понадобятся новые интересные возможности вроде модулей или низкопаузных сборщиков мусора. Кто-то это сделает пр...

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

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

Private PSK (Pre-Shared Key) – особенности и возможности платформы ExtremeCloud IQ WPA3 уже принят, и с июля 2020 обязателен для устройств которые проходят сертификацию в WiFi-Alliance, WPA2 никто не отменял и не собирается. При этом и WPA2, и WPA3 предусматривают работу в режимах PSK и Enterprise, но мы предлагаем рассмотреть в нашей статье технологию Pri...

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

SQL HowTo: 1000 и один способ агрегации Наш СБИС, как и другие системы управления бизнесом, не обходится без формирования отчетов — каждый руководитель любит сводные цифры, особенно всякие суммы по разделам и красивые "Итого". А чтобы эти итоги собрать, необходимо по исходным данным вычислить значение н...

Scrum Community Online Meetup 13/10 Онлайн-митап Scrum Community Райффайзенбанка пройдет 13 октября, приглашаем вас присоединиться! Вместе поговорим о зрелости организации: как её измерять и что потом с этим делать. Рассмотрим менеджмент 3.0, agile manifesto 2.1 и варианты диагностики и работы с помощью «спира...

[Из песочницы] Java простое веб-приложения. Логин и регистрация Всем доброго времени суток. Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля. Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта ...

[Перевод] Go: справляемся с конфликтами при блокировках с помощью пакета Atomic ️ Эта статья берет за основу Go 1.14.Go предоставляет механизмы синхронизации памяти, такие как канал (channel) или мьютекс (mutex ), которые помогают решать различные проблемы. Касательно разделяемой памяти, мьютекс защищает память от гонки данных. Однако, несмотря на сущес...

[recovery mode] Как сохранить качество работы в условиях карантина В офисе карантин, сотрудники остались дома. Что это значит для бизнеса, и как продолжить работу компании в таких обстоятельствах? Торговой компании в первую очередь необходимо организовать прием звонков от клиентов. Отдел продаж в режиме удаленной работы должен отвечать д...

[Перевод] Мой восьмилетний квест по оцифровке 45 видеокассет. Часть 2 В первой части описан тяжкий квест по оцифровке старых семейных видеозаписей с разбиением их на отдельные сцены. После обработки всех клипов я хотел организовать их просмотр в онлайне такой же удобный, как на YouTube. Поскольку это личные воспоминания семьи, на самом YouTube...

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

Конвертеры маршрутов в Django 2.0+ (path converters) Всем привет! Маршрутизация в Django со второй версии фреймворка получила замечательный инструмент — конвертеры. С добавлением этого инструмента появилась возможность не только гибко настраивать параметры в маршрутах, но и разделять зоны ответственности компонентов. Меня з...

Создаем процессорный модуль под Ghidra на примере байткода v8 В прошлом году наша команда столкнулась с необходимостью анализа байткода V8. Тогда еще не существовало готовых инструментов, позволявших восстановить такой код и обеспечить удобную навигацию по нему. Было принято решение попробовать написать процессорный модуль под фреймвор...

История разработки SDK для приема платежей в мобильном приложении на Flutter Привет, Хабр!На связи разработчики из Mad Brains. Мы специализируемся на разработке сервисов для мобильных устройств. Имеем опыт в реализации интеграционных решений, собственные продукты в сфере мобильной электронной коммерции, а также входим в 20-ку лучших мобильных раз...

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

Почему у первого транзистора СССР была только «мама»? Сейчас невозможно представить наш мир без транзисторов и микросхем, а ведь создание первого транзистора СССР возложили на хрупкие плечи студентки института. Чем же была так гениальна студентка Сусанна Мадоян?В 1948 году американская исследовательская корпорация Bell Tel...

6. NGFW для малого бизнеса. Smart-1 Cloud Приветствую всех, кто продолжает читать цикл о новом поколении NGFW Check Point семейства SMB (1500 cерия). В 5 части мы рассмотрели решение SMP (портал управления для SMB шлюзов). Сегодня же хотелось бы рассказать о портале Smart-1 Cloud, он позиционирует себя как решени...

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

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

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

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

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

Цифровая этика и робоэтика как ключевые темы XXI века Над созданием и изучением принципов «истинного ИИ» трудятся тысячи учёных и программистов. Но что мы будем делать, когда его наконец создадут? Как с ним коммуницировать и использовать?Проблемы этики и робоэтики существовали задолго до того, как человечество научилось проводи...

Приложение, работающее через I2P: проще, чем кажется Invisible Internet Project (I2P, проект невидимого интернета) – лидер среди технологий приватной передачи информации. Полная децентрализация и независимость делают сеть I2P архитектурно сложной, но уникальной в своем роде. Статья посвящена вопросу: может ли программист, несв...

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

[Перевод] Производительность Composer 2.0 с JIT PHP 8 Последние несколько месяцев для PHP разработчиков выдались поистине захватывающими. С релизами Composer 2.0 и PHP 8.0 произошли значительные обновления кодовой базы DXP (Digital Experience Platform) Ibexa и множества других программных проектов, работающих на PHP. В рамках п...

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

Keyboa: клавиатуры на максималках для ботов в Telegram Боты - одна из особенностей Telegram, сделавших мессенджер столь популярным. А его встроенные клавиатуры дают разработчикам большую свободу взаимодействия с пользователями.Keyboa помогает создавать встроенные клавиатуры любой сложности для ботов, разработанных на базе pyTele...

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

[Перевод] Обновление AngouriMath 1.3 Четыре месяца работы вместе с небольшим количеством новых контрибьютеров наконец-то дали свои плоды в виде нового большого релиза, с которым с удовольствием автор хочет Вас познакомитьТеперь в AngouriMath есть инструменты работы с матрицами, улучшенный парсер, много новых фу...

Создание группы доступности AlwaysON на основе кластера Failover Группы доступности AlwaysOn — мощное решение, дающее возможность для администраторов баз данных, реализовать очень высокий уровень доступности (HA, high availability) с помощью кластерных технологий. Документация Microsoft не для всех ясная и понятная, что приводит к ошибкам...

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

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

Нагрузки на корпус 3D-принтера при его работе Если для кого-то статья покажется скучной или малопонятной, то можете прочитать только выводы в конце.В одной из предыдущих статей я сравнивал жесткость различных вариантов корпуса 3D-принтера. Основным замечанием в комментариях тогда был тот момент, что в качестве нагрузки ...

Python, корреляция и регрессия: часть 1 В предыдущих сериях постов для начинающих из ремикса книги Генри Гарнера «Clojure для исследования данных» (Clojure for Data Science) на языке Python мы рассмотрели методы описания выборок с точки зрения сводных статистик и методов статистического вывода из них параметров по...

Javascript фреймворк разработки бизнес приложений Мысль о своем фреймворке зародилась когда я еще активно работал с 1С. Хотелось иметь простую и открытую платформу для создания несложных бизнес приложений (простые системы учета, CRM и прочие).Не раз искал open source решения, но ничего подходящего не находил. Весной 2011-г...

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

[Перевод] Влияние протокола языкового сервера (LSP) на будущее IDE С момента своего появления Visual Studio Code в одиночку так сильно повлиял на экосистему разработчиков, что возврата назад уже не будет. Это общедоступный бесплатный инструмент с открытым исходным кодом и это очень мощный инструмент.Но, благодаря VSCode, Microsoft в 2016 го...

Server-Side Rendering с нуля до профи В данной статье мы разберем влияние SSR на SEO оптимизацию приложения. Пройдем с вами путь по переносу обычного React приложения на SSR. Разберем обработку асинхронных операций в SSR приложениях. Посмотрим, как делать SSR в приложениях с Redux Saga. Настроим Webpack 5 для...

[Перевод] Удобная платформа для подбора библиотек и фреймворков JavaScript — openbase Что за зверь? openbase.io «Находите и сравнивайте пакеты с открытым исходным кодом с отзывами пользователей, категоризацией и беспрецедентной информацией о популярности, надежности, активности пакетов и многом другом» Думаю, сейчас во многих языках программирования есть...

[Перевод] Облачный гейминг с открытым исходным кодом на WebRTC: p2p, мультиплеер, zero latency ПО как услуга, инфраструктура как услуга, платформа как услуга, коммуникационная платформа как услуга, видеоконференции как услуга, а что насчет облачных игр как услуги? Уже было предпринято несколько попыток создания облачных игр (Cloud Gaming), например, Stadia, недавно з...

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

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

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

Шпаргалка для разработчика: создаём безопасное веб-приложение Эта статья — своего рода ‘cheat sheet’ для веб-разработчика. Она даёт представление о «программе-минимум» для создания веб-приложения, защищённого от самых распространённых угроз. Читать далее

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

Утилиты nanoCAD СПДС. Создание массива объекта Для упорядоченного расположения копий объектов на чертеже в nanoCAD с модулем СПДС предложено несколько утилит: • Создание массива (SPARRAY); • Массив по области (SPARDARRAY); • Раскладка плитки (SPPLTARRAY); • Создание пользовательской штриховки (SPHPATTERN). Рассмотрим ос...

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

Опыт создания аналитической консалтинг-компании в Северной Америке (не очень успешный) Всем привет, последние 2-3 года у меня было интересное хобби, интересное для меня - предоставление аналитических услуг компаниям в Канаде и США. В этой статья я хочу поделиться опытом по созданию консалтинг-компании в области аналитики. Могу сразу сказать, что идея провалила...

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

[Из песочницы] Прикручиваем ActiveDirectory авторизацию к Kubernetes c помощью Keycloak Данная статья написана с целью расширить уже существующую, но рассказывает про особенности связки именно с Microsoft ActiveDirectory, а так же дополняет ее. В этой статье я расскажу как установить и настроить: Keycloak — это проект с открытым исходным кодом. Который обес...

Windows Package Manager 1.0 теперь доступен Microsoft начала путь к созданию нативного диспетчера пакетов для Windows 10, когда анонсировали предварительную версию Windows Package Manager на Microsoft Build 2020. Microsoft выпустила проект на GitHub как совместный проект с открытым исходным кодом, и участие сообщества...

[Перевод] Разработка более быстрых приложений на Vue.js JavaScript — это душа современных веб-приложений. Это — главный ингредиент фронтенд-разработки. Существуют различные JavaScript-фреймворки для создания интерфейсов веб-проектов. Vue.js — это один из таких фреймворков, который можно отнести к довольно популярным решениям. Vu...

Обработка русского языка на Java Рассказ пойдет об одной новой, общедоступной Java/Kotlin библиотеке, для работы с русским языком. Она позволяет получить исходные формы + морфологическую информацию для большинства слов русского языка. Статья предназначена для тех, кто создает ботов, обрабатывает сообщения и...

Анализ исходного кода Emby при помощи анализатора PVS-Studio Emby — довольно известный медиасервер, наравне с Plex и Kodi. В этой статье мы попробуем проверить его исходный код при помощи статического анализатора PVS-Studio. На официальном сайте Emby есть маленькая пометочка «Built with ReSharper». Что же, так даже интереснее. Читать...

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

Экономим копеечку на больших объемах в PostgreSQL Продолжая тему записи больших потоков данных, поднятую предыдущей статьей про секционирование, в этой рассмотрим способы, которыми можно уменьшить «физический» размер хранимого в PostgreSQL, и об их влиянии на производительность сервера. Речь пойдет про настройки TOAST и вы...

[Перевод] Адаптивная процедурная генерация при помощи алгоритма WaveFunctionCollapse и априорного распределения вероятностей Что такое процедурная генерация? Процедурная генерация включает в себя множество генеративных алгоритмов, принцип работы которых заключается в создании данных не вручную, а алгоритмически: вместо ручного изготовления того, что мы хотим создать (карты, музыки, рельефа…), пише...

Разработка контроллера резервного питания. Технология отладки и тюнинг В продолжение разработки рассмотрим технологию отладки платы контроллера и его программного обеспечения . Попробуем адаптер SWD, осциллограф, VT100 терминал через UART, движок FreeMaster, экспорт и анализ в MATLAB. Пройдём через ужас тюнинга. Всё на примере открытого демо-пр...

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

Amnesia: The Dark Descent или как забыть поправить копипасту В преддверии выхода игры "Amnesia: Rebirth" издательство "Fractional Games" выложило в открытый доступ исходный код легендарной "Amnesia: The Dark Descent" и её продолжения "Amnesia: A Machine For Pigs". Почему бы и не посмотреть с по...

Топ-5: спортивные приложения для iPhone и iPad Магазин App Store наполнен разнообразными приложениями для любителей спорта. Уже давно стало хорошим тоном разрабатывать программы под конкретные крупные события в мире спорта. Но также существует множество сервисов, которыми можно пользоваться на постоянной основе, а не тол...

Делаем голову шинного USB-анализатора на базе комплекса Redd В прошлой паре статей мы рассмотрели пример «прошивки» для комплекса Redd, делающей его ПЛИСовую часть логическим анализатором общего применения. Дальше у меня было желание сделать следующий шаг и превратить его в шинный USB-анализатор. Дело в том, что фирменные анализаторы ...

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

USB4: все тот же USB? В конце 2020 года ожидается выход устройств с поддержкой интерфейсов нового поколения USB4/Thunderbolt 4. Данные интерфейсы похожи, однако имеют ряд принципиальных отличий. Среди таких отличий можно выделить наиболее значимое: спецификации на USB4 общедоступные и любой жела...

Создание SDK под Android в стиле Single-Activity Single activity подходом при создании конечного приложения под Android никого не удивишь. Но мы пошли дальше и использовали No-Activity при разработке SDK. Сейчас разберемся для чего это понадобилось, возникшие сложности и как их решали. Читать далее

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

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

FOSS News №60 – дайджест материалов о свободном и открытом ПО за 8-14 марта 2021 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. SUSE готовится к многомиллиардному IPO; Linux Foundation, Red Hat и Google представили Sigstore, серви...

Создание самодокументирующегося сервера на Node.JS В этой статье описан рецепт по настройке самодокументирующегося сервера на joi, swagger и typescript. Бонусом приведен Gulp-скрипт, который на основе Joi-объектов будет генерировать нам интерфейсы. Читать далее

[Перевод] 10 принципов масштабируемых фронтенд-проектов С момента своего возникновения веб-приложения прошли долгий путь. Мы знаем, какую важную роль играет в вебе JavaScript и какие безграничные возможности есть у нас при выборе фреймворков и технологий. Каждый фреймворк имеет свои достоинства и недостатки, но почти во всех испо...

Что происходит, когда вводишь url, или как работает интернет Об этом спрашивают на собеседованиях. Структурированное понимание этого может помочь вам, даже если вы давно строите сложные архитектурные процессы или кодите 20-ый год подряд. Я — программист уже много лет, последние пару из которых пишу на Go в Каруне. Работа работой, а вн...

Защита конечных устройств с помощью FortiClient EMS На сегодняшний день довольно быстро набирают популярность решения, направленные на контроль и защиту конечных устройств. Сегодня мы хотим показать вам одно из таких решений - FortiClient Enterprise Management Server: рассмотрим системные требования, процесс установки и базов...

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

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

[Из песочницы] Модульные скетчи В статье описан способ, который упрощает работу над созданием скетчей. Он подойдет всем людям, работа которых — проектировать интерфейсы для пользователей. Читать дальше →

HackTheBox. Прохождение Remote. NFS, RCE в CMS Umbraco и LPE через UsoSvc Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox. В данной статье копаемся в NFS ресурсе, разбираемся с RCE эксплоитом для CMS Umbraco и находим вектор LPE через UsoSvc с помощью PowerUp. Подключение к лаборатории осуществляется чере...

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

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

Лучшие РПГ игры с открытым миром: топ-6 Рассмотрим самые интересные и проработанные ролевые игры с уникальным геймплеем в открытом мире.

Можете написать Deadlock на Camunda BPM? А я могу Некоторое время назад я писал про успешную миграцию с IBM BPM на Camunda, и теперь наша жизнь полна счастья и приятных впечатлений. Camunda не разочаровала, и мы продолжаем дружбу с этим BPM-движком. Но, увы, Camunda может преподносить и неприятные сюрпризы, из-за которых ...

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

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

Создание собственного пакета для Laravel Nova: OptimalImage Работая над новым проектом, для администрирования которого используется Laravel Nova, я его проверил в инструментах для веб-мастеров от Google. Оказалось что некоторые фотографии на ресурсе были не оптимизированными — размер их можно было существенно сократить. Те, что идут ...

HighLoad++, Михаил Макуров (Интерсвязь): опыт создания резервного и кластеризованного Zabbix-сервиса Zabbix — популярная открытая система мониторинга, используется большим количеством компаний. Я расскажу об опыте создания кластера мониторинга. В докладе я коротко упомяну о сделанных ранее правках (патчах), которые существенно расширяют возможности системы и готовят базу д...

Отказоустойчивый кластер PostgreSQL с помощью crm Автор — Игорь Косенков, инженер postgres Professional Привет всем! Сегодня речь пойдет о кластере. Да, снова об отказоустойчивом кластере на базе Corosync/Pacemaker. Только настраивать мы его будем не как обычно — с помощью утилиты pcs, а с помощью мало используемой утилиты...

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

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