Социальные сети Рунета
Пятница, 26 апреля 2024

Автозагрузка модулей с использованием динамического импорта Недавно в Node.js была анонсирована поддержка ECMAScript-модулей, а в ES2020 появилась поддержка динамических импортов. В рамках данной статьи я расскажу о реализации очевидного кейса использования динамических импортов — с неизвестными заранее названиями директорий. Читать...

Web-приложения на Flask: как бороться с циклическими импортами Flask – один из самых популярных фреймворков Python, но некоторые ошибки при его использовании могут привести к определенным затруднениям. В этой статье мы расскажем о том, как не допустить возникновения циклических импортов в проекте. Читать дальше →

[Из песочницы] Валидация XML с помощью XSD, JAXB и Spring Framework Обзор Здравствуйте! В этой статье я хочу описать программу валидации XML с помощью Spring Framework. Наиболее очевидная область применения такой валидации — это программирование web-сервисов. Валидация производится через преобразование XML-Java (unmarshalling) по соответству...

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

Быстрый расчет формул из Excel на C# Как часто вы слышите от заказчиков, что они пришлют данные в Excel или просят вас сделать импорт или выгрузку в Excel-совместимом формате? Я уверен, что в большинстве сфер Excel — один из самых популярных, мощных и в то же время простых и удобных инструментов. Но самым пробл...

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

Ультразвуковая система определения координат 2.0 Ультразвуковая система определения координат 2.0 О чем эта статья: Эта статья описывает принципы работы моей системы определения координат, и мой опыт её изготовления. Данная статья не является инструкцией по изготовлению навигационной системы, ибо это не так просто, чтобы о...

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

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

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

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

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

Сколько стоит расписание Основные данные вычислительных экспериментов по реорганизации ярусно-параллельной формы  (ЯПФ) информационных графов алгоритмов (ТГА) приведены в предыдущей публикации. Цель текущей публикации – показать окончательные результаты исследований разработки расписаний выполн...

2. Check Point SandBlast Agent Management Platform. Интерфейс веб-консоли управления и установка агента Продолжаем изучать новую облачную платформу Check Point Management Platform для управления средством защиты пользовательских компьютеров — SandBlast Agent. В предыдущей статье мы описали основные составляющие SandBlast Agent, познакомились с архитектурой Check Point Infini...

Транскомпилируемые языки: проекты конвертации код-в-код Источник: Ward Cunningham Транспиляция — это конвертация кода одного языка в другой. С помощью специального транспилера (транскомпилятора) один язык программирования общего назначения можно перенести на любой другой язык программирования общего назначения. Если необходимо...

[Из песочницы] Автоопределение кодировки текста Введение Я очень люблю программировать, я любитель и первый и последний раз заработал на программировании в далёком 1996 году. Но для автоматизации повседневных задач иногда что-то пишу. Примерно год назад открыл для себя golang. В качестве инструмента создания утилит golan...

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

Инструменты создания бэкапов PostgreSQL. Андрей Сальников (Data Egret) Предлагаю ознакомиться с рашифровкой доклада Андрей Сальников из Data Egret "Инструменты создания бэкапов PostgreSQL" . В конце обновленная сводная таблица по инстрментам Данный доклад посвящен доступным инструментам бэкапирования PostgreSQL. Логические backup, бин...

HackTheBox. Прохождение Patents. XXE через файлы DOCX, LFI to RCE, GIT и ROP-chain Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. В данной статье эксплуатируем XXE в сервисе преобразования DOCX документов в PDF, получаем RCE через LFI, копаемся в истории GIT и восстанавливаем файлы, составляем ROP цепочки с помощью...

2.Elastic stack: анализ security логов. Logstash В прошлой статье мы познакомились со стеком ELK, из каких программных продуктов он состоит. И первая задача с которой сталкивается инженер при работе с ELK стеком это отправление логов для хранения в elasticsearch для последующего анализа. Однако, это просто лишь на словах...

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

[Перевод] Как автоматизировать развертывание баз данных с помощью Liquibase? Liquibase — это инструмент управления изменениями в базе данных. С его помощью вы можете отслеживать изменения в базе данных, сделанные с помощью SQL (или XML) скриптов. Эти скрипты могут быть добавлены в системы контроля версий, такие как git.В данной статье мы рассмотрим, ...

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

Почему lsFusion, а не 1С? Предыдущая статья “Почему не 1С?” вышла больше года назад и вызвала достаточно живой интерес (совсем немного не дотянула до 100к просмотров и 2к комментариев). Впрочем, как и ожидалось, у многих возник резонный вопрос: “Если не он, то кто?” Безусловно, как многие поняли, т...

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

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

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

Опыт работы с карт-принтерами, часть 1 Данная статья будет полезна тем, кто начинает работу с карт-принтерами(Evolis Primacy и Smart-51) и кодировкой NFC карт типа Mifare Classic и Mifare DESFire EV2. В первой части мы опишем общее впечатление от работы с карт-принтерами, а также проблемы с которыми нам пришлось ...

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

[Из песочницы] Простой zero-copy рендеринг аппаратно ускоренного видео в QML Введение Целью данной статьи является продемонстрировать способ как можно подружить сторонние видео буфера и QML. Основная идея — использовать стандартный QML компонент VideoOutput. Он позволяет подсовывать сторонние источники, неплохо документирован и имеет бекэнд поддержив...

Миграция IBM Lotus Notes/Domino в Microsoft Exchange без шума и пыли Может быть пора? Такой вопрос рано или поздно появляются у коллег, которые используют Lotus в качестве почтового клиента или системы документооборота. Запрос на миграцию (по нашему опыту) может возникнуть на совсем разных уровнях организации: от топ-менеджмента до пользоват...

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

Темная Вселенная. Часть 2 И вновь доброго времени суток! Данная статья является продолжением ранее опубликованной статьи о нашей «темной» Вселенной. В данной части мы продолжим рассмотрение различных интересных особенностей в космологии, над объяснением которых бьются множество ученых. В целом я пос...

ReText запустила сервис smart-копирайтинга для преобразования текстов Сервис ReText преобразует исходный текст в 100% уникальный продукт за счет грамматических и стилистических преобразований на основе нейросетевых технологий.

Как мы решали проблему трех монолитов В стратегиях большинства компаний все чаще упоминается цифровизация: одни компании пытаются внедрять современные технологии (например, Big Data, IoT, AI, blockchain), другие — повсеместно автоматизируют свои внутренние процессы. Несмотря на растущие усилия и инвестиции во вн...

Apache Kafka для чайников Данная статья будет полезной тем, кто только начал знакомиться с микросервисной архитектурой и с сервисом Apache Kafka. Материал не претендует на подробный туториал, но поможет быстро начать работу с данной технологией. Я расскажу о том, как установить и настроить Kafka на W...

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

Telegram Open Network: теория и практика от валидатора сети В последние несколько месяцев всё внимание мирового блокчейн-сообщества было приковано к запуску одного из самых масштабных криптовалютных проектов — Telegram Open Network (TON). Что на самом деле представляет из себя блокчейн TON? Является ли сеть TON действительно децен...

[Из песочницы] Использование Camunda для удобной оркестровки на основе REST и Workflow Engine (без Java) Привет, Хабр! Представляю вашему вниманию перевод статьи «Use Camunda as an easy-to-use REST-based orchestration and workflow engine (without touching Java)» автора Bernd Rücker. 07.07.2020 г., перевод статьи Bernd Rücker Я часто обсуждаю микросервисную архитектуру с люд...

Observability система для микросервисов на примере Instana, часть 1 В данном техническом обзоре мы детально познакомимся с продуктом Instana – инструментом для автоматического мониторинга производительности микросервисной инфраструктуры, Kubernetes и пользовательского опыта, который использует наша компания в проектах на протяжении последнег...

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

Автоматическое заполнение файлами документов Word и подписей к ним с помощью Python и библиотеки docx Рассмотрим пример простой программы на Python с помощью библотекы docx для автоматизации рабочего процесса, а именно автоматической вставки файлов (в данном случае изображений) и их подпись в документах Word (docx).Данная статья будет интересна для начинающих изучающих Pytho...

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона: Машинное обучение. Нейронные сети (ча...

Как восстановить файл почти любого формата на Mac или Windows Мы часто работаем с файлами различных форматов — .docx и PDF для текста, .psd и .ai в случае с графическими файлами (Photoshop и Illustrator) и многими другими. Но из-за того, что даже самое продвинутое программное обеспечение зачастую несовершенно, так называемая «ош...

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

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

Импорт профиля принтера для Ultimaker Cura MAC Иногда всплывает вопрос: Производитель дает профиль принтера только под Windows версии слайсера. Что делать бедным МАС-оводам? Особенно тем кто, по каким то причинам не хочет сделать профиль заново.Если есть профиль принтера под Вин-Куру! :) То влить его на Мак очень просто!...

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

Быстрое чтение CSV в C# (fast read CSV) Уже не первый год пользуюсь своим универсальным конвертером CSV файлов в БД SQL Server - ImportExportDataSql, который имеет ряд полезных функций, необходимых любому разработчику БД MSSQL, например: перенос данных с одной БД в другую через SQL скрипт, выгрузка структуры БД...

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

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

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

Google представила технологию беспроводной передачи файлов Nearby Share — аналог AirDrop для Android Компания Google начала внедрение Nearby Share — новой технологии для Android-смартфонов, которая позволяет делиться фотографиями, файлами, ссылками и прочим контентом с другими пользователями Android-смартфонов, находящихся рядом. Принцип работы технологии очень похож на фун...

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

[Перевод] Преобразуем проект на Python в исполняемый файл .EXE С помощью Auto PY to EXE можно с лёгкостью преобразовывать файлы .py в файлы .exe. Благодаря этому ваш проект на Python будет работать как десктопное приложение и вы сможете запускать приложение на других машинах без необходимости установки Python. В этой статье я расскажу...

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

ClickHouse + Graphite: как значительно уменьшить потребляемое место на дисках Приветствую, habr. Если кто-то эксплуатирует систему graphite-web и столкнулся с проблемой производительности хранилища whisper (IO, потребляемое дисковое пространство), то шанс того, что был брошен взгляд на ClickHouse в качестве замены, должен стремиться к единице. Данное...

[Из песочницы] Императивный подход к реактивным данным на примере Jetbrains KTor и R2DBC Статья об использовании реактивного доступа к базам данных из корутин. Spring все упрощает, но это плохо сказывается на понимании реальных процессов работы приложения. Для демонстрации был выбран фреймворк KTor (просто потому, что мне нравится смотреть на то, что делает JetB...

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

Новое обновление Windows 10 может замедлить работу вашего ПК В 2018 году Microsoft изменила движок своего преемника Internet Explorer «Edge», чтобы использовать те же функции, что и Google Chrome. Edge на базе Chromium был выпущен в январе 2020 года для ОС Windows 10, Windows 8.1, Windows 7 и macOS. В прошлом месяце Microsoft также на...

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

Сжатие данных в Apache Ignite. Опыт Сбера При работе с большими объемами данных иногда может остро встать проблема нехватки места на дисках. Одним из способов решения данной проблемы является сжатие, благодаря которому, на том же оборудовании, можно себе позволить увеличить объемы хранения. В данной статье мы расс...

Справочник security-архитектора: обзор подходов к реализации аутентификации и авторизации в микросервисных системах Контейнеризация, CI/CD, оркестрация, микросервисы и agile-процессы – это облако тегов, которое теперь находится в словаре security-инженеров. Микросервисная модель и сопутствующие технологии привели к многообразию подходов в реализации архитектуры безопасности современных ре...

Имитация целенаправленных кибератак, Read Team, Pentest, сканирование уязвимостей. Плюсы и минусы различных методов В данной статье мы попытаемся сделать небольшое сравнение различных способов тестирования безопасности вашей сети и понять, есть ли какие-то преимущества у относительно новых BAS (Breach & Attack Simulations) систем, которые имитируют взлом и кибератаки. Для примера, в...

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

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

5 малоизвестных возможностей JSON.stringify() Доброго времени суток, друзья! В этой небольшой заметке я хочу рассказать вам о некоторых редко используемых возможностях JSON.stringify(). Возможно, они окажутся вам полезными. JSON.stringify() часто используется при отладке для преобразования объекта или обычной стро...

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

Развёртываем Hyperledger Fabric 2.0 на AWS Hyperledger Fabric — это блокчейн-платформа с открытым исходным кодом от Linux Foundation. С её помощью можно создавать блокчейн-приложения и управлять доступом и разрешениями для данных в цепочке блоков. Hyperledger Fabric стоит использовать в том случае, если требуется соз...

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

[Перевод] Как создать свой первый open source проект на Python (17 шагов) Каждый разработчик ПО должен знать как создать библиотеку с нуля. В процессе работы Вы можете многому научиться. Только не забудьте запастись временем и терпением. Может показаться, что создать библиотеку с открытым исходным кодом сложно, но Вам не нужно быть потрепанным ж...

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

[Из песочницы] База данных на ScriptableObject c системой сейва/загрузки Введение В каждой игре есть данные, с которыми работают гейм-дизайнеры. В рпг — это база данных айтемов, в матч-3 — стоимость в кристаллах инструментов из магазина, в экшенах — количество хп, на которое лечит аптечка. Для хранения таких данных существует много способов — кт...

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

Как напечатать пружину? Часть 1 Захотел напечатать небольшую пружинку на 3D-принтере, и для начала решил поискать в Интернете способы печати подобных вещей. Сразу отмечу, что я не будут рассматривать практичность или применимость напечатанных пружин. В данной статье я опишу несколько способов 3D-печати пру...

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

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов. Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего м...

Игры с Wifi на ESP32 На мысль сделать карманный инструмент для анализа WiFi сетей меня подтолкнула статья https://habr.com/ru/post/477440/. Спасибо им за идею. Мне как раз было нечем заняться. Вся работа была выполнена в рамках хобби с целью получения удовольствия и расширения своих знаний в об...

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

Неподдерживаемую Windows 7 до сих пор можно бесплатно обновить до Windows 10 Как мы уже сообщали, 14 января 2020 года компания Microsoft прекратила поддержку операционной системы Windows 7, несмотря на ее высокую популярность.Интересно, что неподдерживаемую Windows 7 до сих пор можно бесплатно обновить до Windows 10, хотя официально указанная возможн...

Рассекречен проект Apple по запуску спутников для обмена данными с iPhone Журналисты узнали, что Apple работает над собственной спутниковой технологией, которая позволит компании напрямую получать данные с iPhone и других устройств. Так купертиновцы хотят избавиться от необходимости полагаться на сторонние сети.

[Из песочницы] Особенности систем электроснабжения с применением ДДИБП Буцев И.В. [email protected] Особенности систем электроснабжения с применением Дизельных Динамических Источников Бесперебойного Питания (ДДИБП) В нижеследующем изложении автор постарается избежать маркетинговых клише и будет опираться исключительно на практический опыт. В к...

V&V не значит вендетта На протяжении последних шести лет я занимаюсь разработкой и приёмочным тестированием самых разных по сложности и размеру приложений для проведения и сопровождения клинических исследований. Big data, огромное количество визуализаций и представлений, хранилища данных, ETL и ...

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

[Из песочницы] pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним ...

Перенос работающего сервера на RAID Жил-был LAMP-сервер на Ubuntu 12.04, который работал на одном диске. Соответственно, возникла задача обеспечить перенос сервера на более отказоустойчивую конфигурацию – RAID1. Товарищи, в ведении которых был данный сервер установили второй диск, а дальнейшее было возложено н...

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

Google Ads объявил об интеграции с Zapier Google Ads объявил об интеграции с онлайн-конструктором автоматизаций Zapier. Решение от Zapier позволит компаниям автоматически импортировать офлайн-конверсии из CRM в Google Ads. Приложение определит и извлечёт такие события, отформатирует данные и загрузит их в рекламную ...

Что внутри шаурмы: микросервисы, распределенные системы и Кафка. Делимся материалами со встречи Backend United #5 Привет! Этот пост-отчёт с митапа Backend United, нашей серии тематических встреч для разрабочиков серверной части. Пятая встреча получила название «Шаурма», и здесь мы говорили о микросервисах: о способах синхронного и асинхронного взаимодействия между ними, организации пото...

[Перевод] Запускаем однофайловые программы в Java 11 без компилирования Пусть исходный файл HelloUniverse.java содержит определение класса и статичный метод main, который выводит в терминал одну строку текста: public class HelloUniverse{ public static void main(String[] args) { System.out.println("Hello InfoQ Universe"); ...

Автоматизация тестирования в микросервисной архитектуре Привет, Хабр. Меня зовут Сергей Вертепов, я senior backend инженер. Это небольшая обзорная статья о том, как мы тестировали монолитное приложение Авито, и что изменилось с переходом на микросервисную архитектуру. Читать дальше →

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

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

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

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

Переносим Angular проект на ESLint, с Prettier, Husky и lint-staged Привет, Хабр! Меня зовут Богдан, я работаю в ПИК Digital Front-End тимлидом. Большую часть проектов мы разрабатываем на Angular и недавно я решил пересмотреть наши стайл гайды, а также добавить новые инструменты для более удобной работы. В качестве линтера я решил использов...

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

LyX: Общие замечания. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Эта статья является продолжением следующих статей одного цикла: статья 1 статья 2 статья 3 статья 4 статья 5 Фух, даже не знаю, как писать этот пост. Я мог бы начать ...

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

Личный сервер shadowsocks за 10 минут без затрат (часть 2) Это - отдельное руководство, описывающее ещё один способ получить личный прокси-сервер shadowsocks бесплатно и служащее продолжением к моей предыдущей статье. В этот раз мы воспользуемся сервисом platform.sh.От читателя требуется только обладание адресом электронной почты и ...

[Из песочницы] Android Remote Debugger — удаленная отладка Android приложений Отладка является важным этапом разработки программного обеспечения. Поиск и исправление ошибок позволяет разрабатывать качественные продукты. В данной статье я хочу поговорить об отладке только Android приложений. Android Studio предоставляет нам различные инструменты профил...

Как мы оркестрируем процессы обработки данных с помощью Apache Airflow Всем привет! Меня зовут Никита Василюк, я инженер по работе с данными в департаменте данных и аналитики компании Lamoda. В нашем департаменте Airflow играет роль оркестратора процессов обработки больших данных, с его помощью мы загружаем в Hadoop данные из внешних систем, об...

Как на любом Android включить автозаполнение паролей из Android 11 Автозаполнение паролей – штука чрезвычайно удобная. Несмотря на то что первоначально этот инструмент появился именно на iOS, Google довольно быстро смекнула, что Android тоже в нём нуждается, и реализовала его у себя. Правда, получилось у поискового гиганта далеко не так кр...

Шифрование данных на виртуальном сервере Немного здоровой паранойи еще никому не вредило. Помимо мессенджеров с оконечным шифрованием, шифрованием файлов на смартфонах «из коробки» и обязательным использованием SSL на сайтах, не лишним будет защитить данные на виртуальных серверах. Тем более, современные технолог...

Защита документов от копирования Существует 1000 и один способ защиты электронных документов от несанкционированного копирования. Но как только документ переходит в аналоговое состояние (согласно ГОСТ Р 52292–2004 «Информационная технология. Электронный обмен информацией. Термины и определения», понятие «ан...

Как перенести фото с Windows компьютера на iPhone и iPad Хотите перенести фотографии, которые хранятся на вашем компьютере с Windows, на iPhone или iPad? Многие из нас делают снимки с помощью профессиональной камеры и сохраняют их на компьютере для последующей обработки, но если вы хотите получить к ним доступ на своем мобильном ...

Виталик Бутерин намекнул на возможность слияния Ethereum Classic и Ethereum 2.0 Интеграция блокчейна Ethereum Classic в экосистему Ethereum 2.0 в качестве отдельного шарда технически реализуема. Об этом заявил сооснователь Ethereum Виталик Бутерин, пишет Trustnodes. «Можно использовать тот же процесс слияния для импорта состояния ETC, который планируетс...

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 2: настройка и запуск приложения для транскрибации видео Это продолжение практикума по развертыванию Kubernetes-кластера на базе облака Mail.ru Cloud Solutions и созданию MVP для реального приложения, выполняющего транскрибацию видеофайлов из YouTube. Я Василий Озеров, основатель агентства Fevlake и действующий DevOps-инженер...

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

[Перевод] Мягкие частицы в WebGL и OpenGL ES Системы частиц это одни из самых простых способов сделать 3D сцену визуально богаче. В одном из наших Android приложений 3D Buddha Live Wallpaper достаточно простая сцена, которой было бы неплохо добавить чуть больше деталей. И когда мы думали как добавить разнообразия изобр...

Сверточная нейронная сеть и ее интеграция в iOS (часть 1) Средства реализации. Различные алгоритмы машинного обучения интегрированы в множество высокоуровневых языков программирования. Наиболее популярным и быстро развивающимся из них является Python. TensorFlow — открытая программная библиотека для машинного обучения, разработа...

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

(S)SDLC, или Как сделать разработку безопаснее. Часть 1 С каждым годом культура разработки растет, появляются новые инструменты для обеспечения качества кода и новые идеи, как эти инструменты использовать. Мы уже писали про устройство статического анализа, про то, на какие аспекты анализаторов нужно обращать внимание, и, наконе...

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

Библиотека ttf2mesh — преобразование TrueType шрифтов в сетку Многим известна проблема трёхмерной графики — отсутствие легковесных кроссплатформенных решений в вопросе вывода текста. Большинство реализаций позволяет использовать выбранный шрифт в виде текстуры. Публикуемая библиотека ttf2mesh реализует другой способ — она преобразует в...

[Перевод] Установка и настройка AlienVault SIEM (OSSIM) Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». OSSIM (Open Source Security Information Management) — это проект с открытым исходным кодом от Alienvault, который обеспечивает функционал SIEM (Security information and event management). Он обе...

[Из песочницы] Конспект по методам классификации данных При изучении Data Science, я решил составить для себя конспект по основным приемам, используемым в анализе данных. В нем отражены названия методов, кратко описана суть и приведен код на Python для быстрого применения. Готовил конспект для себя, но подумал, что кому-то это та...

[Из песочницы] Разбор настройки ELK 7.5 для анализа логов Mikrotik Давно была мысль посмотреть, что можно делать с ELK и подручными источниками логов и статистики. На страницах хабра планирую показать практический пример, как с помощью домашнего мини-сервера можно сделать, например, honeypot с системой анализа логов на основе ELK стека. В э...

Умный дом: Строим графики потребления воды и электричества в Home Assistant Каждый раз получая платежку за электричество и воду я удивляюсь — неужели моя семья стооооолько потребляет? Ну да, в ванной установлен теплый пол и бойлер, но ведь они же не кочегарят постоянно. Воду тоже вроде экономим (хотя поплескаться в ванной тоже любим). Несколько ле...

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

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

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

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

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

Перенос всех баз данных MS SQL Server на другую машину Недавно возникла необходимость переноса всех БД (>50 на одном экземпляре SQL Server) из dev-окружения на другой экземпляр SQL Server, который располагался на другом железе. Хотелось минимизировать ручной труд и сделать всё как можно быстрее. Disclaimer Скрипты написаны д...

[Перевод] Как разобрать URL в JavaScript? Доброго времени суток, друзья! Представляю Вашему вниманию перевод заметки «How to Parse URL in JavaScript: hostname, pathname, query, hash» автора Dmitri Pavlutin. Унифицированный указатель ресурса или, сокращенно, URL — это ссылка на веб-ресурс (веб-страницу, изображ...

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

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

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

Измеряем температуру без АЦП Стояла как-то задача оснастить одну систему кучей термодатчиков. Причём оснастить максимально недорого. Результаты изысканий (которые, по-моему, получились довольно изящными) предлагаю к рассмотрению в этой статье. В данной статье разбираются контактные способы измерения те...

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

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

Что делать, если поймал HardFault? Что делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться. Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он...

Автоматизация аналитики Jira средствами Apache NiFi Приветствую, господа. Я Маша, мне 23, и я уже полгода изучаю и внедряю на практике Apache NiFi. Должна отметить, что спустя месяц после знакомства с этой технологией — я начала употреблять антидепрессанты. Был ли NiFi триггером или последней каплей достоверно неизвестно, к...

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

Разрабатываем первое мобильное приложение на Flutter от Google Flutter — фреймворк от Google В последнее время программированием интересуются всё больше пользователей. Наверняка и вас заинтересовала эта тема. Мы каждый день используем мобильные приложения гигантов рынка, и многих волнует вопрос — «Как же им удается созд...

[Перевод] Учебный проект на Python: интерфейс в 40 строк кода (часть 2) Демонстрация проекта Python с пользовательским интерфейсом никогда не была такой простой. С помощью Streamlit Framework вы можете создавать браузерный пользовательский интерфейс, используя только код Python. В этой статье мы будем создавать пользовательский интерфейс для п...

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

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

[Из песочницы] Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта) Это первая статья по в данной теме, всего их планируется 3: * Создание root application из вашего существующего проекта, добавление в него 3 микро-приложения (vue, react, angular) Общение между микро-приложениями Работа с git (deploy, обновления) Оглавление Общая час...

[Из песочницы] Подключение OLED дисплея ssd1306 к STM32 (SPI+DMA) В данной статье будет описан процесс подключение oled дисплея с контроллером ssd1306 разрешением 128x64 к микроконтроллеру stm32f103C8T6 по интерфейсу SPI. Также мне хотелось добиться максимальной скорости обновления дисплея, поэтому целесообразно использовать DMA, а програм...

[Из песочницы] Получение разрешения на полёт дрона (БВС, БПЛА) в Российской Федерации Данная статья написана мной с целью облегчить прохождение по пути официального оформления своего вылета тем моделистам-любителям, кто сомневается в выполнимости для себя данной процедуры и не знает с чего начать. В первую очередь хочу выразить благодарность автору статьи «...

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

Как загрузить и установить обновление Windows 10 October 2020 Update Обновление Windows 10 October 2020 Update теперь доступно и развертывается оно поэтапно. Ожидается, что развертывание займет несколько недель, но если вы чувствуете нетерпение и хотите установить обновление, то есть три способа загрузить и установить обновление за октябрь 20...

SLAE — Security Linux Assembly Expert Exam Security Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает ра...

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

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

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

Мониторинг СХД IBM Storwize при помощи Zabbix В данной статье мы немного поговорим о мониторинге СХД IBM Storwize и других СХД, поддерживающих протоколы CIM/WBEM. Необходимость такого мониторинга оставлена за скобками, будем считать это аксиомой. В качестве системы мониторинга будем использовать Zabbix. В последних ве...

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

Ender 3d продолжение Hi!Прошло почти четыре месяца после покупки Ender 3. Все порывался написать о работе с ним, да каждый раз останавливал очередной незавершенный проект. И вот вчера как бы завершил еще один проект и сел за сей опус. За все месяцы работы у меня не возникло ни одной технической ...

Прошивка для фотополимерного LCD 3D-принтера своими руками. Часть 3 В предыдущих двух частях я рассказал о том как делал GUI, заводил управление шаговым двигателем и организовывал работу с файлами на USB-флэшке. Первая часть лежит тут. В ней было описан первый этап — создание графического пользовательского интерфейса для дисплея с сенсорно...

Процедура обновления Check Point с R80.20/R80.30 до R80.40 Более двух лет назад мы писали о том, что перед каждым администратором Check Point рано или поздно встает вопрос обновления на новую версию. В данной статье было описано обновление с версии R77.30 до R80.10. К слову, в январе 2020-го стала сертифицированной версией ФСТЭК. а ...

Мониторинг показателей linux сервера в Home Assistant через mqtt Возникла необходимость поставить дома еще один сервер, и я задался целью мониторить его показатели в домашнем умном доме, в качестве которого используется Home Assistant. Быстрое и потом вдумчивое гугление не дало устраивающих меня универсальных решений, поэтому построил сво...

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

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

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

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

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

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

Расшифровка CAN шины на VW Polo sedan Сегодня мы поговорим о методах расшифровки данных CAN шины на примере автомобиля VW Polo Sedan 2019 года выпуска. В интернете такие статьи часто называют Хаками CAN шины, но мне такое название не по душе. В статье описаны методики поиска нужных данных в CAN шине автомобиля...

STM32 и бесконтактный датчик температуры MLX90614. Подключение по I2C Датчик MLX90614 - это датчик с бесконтактным считыванием температуры объекта посредством приема и преобразования инфракрасного излучения. Он умеет работать в трех режимах: термостат, ШИМ выход и SMBus. В режиме термостат датчику не требуется контроллер, он просто держит темп...

Прошивка для фотополимерного LCD 3D-принтера своими руками. Часть 2 Продолжение статьи о написании своей прошивки для фотополимерного LCD 3D-принтера. Первая часть лежит тут. В ней было описан первый этап — создание графического пользовательского интерфейса для дисплея с сенсорной панелью. В этой части продолжу описывать этапы своего проек...

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

CVE-2019-18683: Эксплуатация уязвимости в подсистеме V4L2 ядра Linux В данной статье описана эксплуатация уязвимости CVE-2019-18683 в ядре Linux, которую я обнаружил и исправил в конце 2019 года. Указанный CVE-идентификатор присвоен нескольким аналогичным ошибкам типа «состояние гонки», которые присутствовали в подсистеме V4L2 ядра Linux на п...

Laravel. Локализованный роутинг Привет, Хабр! Хочу рассказать вам о том, как в одном проекте возникла проблема с роутингом и как мы её решали. Сначала наш проект был самым обычным сайтом. Сайт развивался, аудитория расширялась и возникла необходимость поддержки мультиязычности. Проект был на базе фреймвор...

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

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

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

[Из песочницы] Ускорение сборки проекта на CMake+GCC: предварительная компиляция заголовочных файлов Есть несколько причин, почему проект на С++ в среднем собирается дольше сравнимых по величине проектов на других языках, например на Java или C#. Соответственно, есть и несколько способов уменьшить время сборки. Одним из самых известных является использование предварительной...

Пишем шеллкод под Windows на ассемблере В этой статье я хочу показать и подробно объяснить пример создания шеллкода на ассемблере в ОС Windows 7 x86. Не смотря на солидный возраст данной темы, она остаётся актуальной и по сей день: это стартовая точка в написании своих шеллкодов, эксплуатации переполнений буферо...

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

[Перевод] EOF — это не символ Недавно я читал книгу «Компьютерные системы: архитектура и программирование. Взгляд программиста». Там, в главе про систему ввода-вывода Unix, авторы упомянули о том, что в конце файла нет особого символа EOF. Если вы читали о системе ввода-вывода Unix/Linux, или эксперим...

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

TuneMyMusic: как быстро перенести плейлист из одного музыкального сервиса в другой На импорт уйдёт всего пара минут.

Как мы разрабатывали кроссплатформенную BPMS Всем привет! В НОРБИТ мы занимаемся SRM-решениями. Сегодня расскажем про особенный для нашей команды проект — разработку BPMS-платформы NBT. Мы не просто создали бизнес-решение для заказчика, а разработали собственный продукт с нуля, — всё это подразумевает совершенно друго...

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

«Себряковцемент» перешел на новую систему учета на базе «1С» Проект по созданию единой информационной системы управления и учета в АО «Себряковцемент» был начат еще в 2017 году. Из-за масштабности предприятия и сложности задачи он длился около 2 лет. Сейчас поставленные цели достигнуты. В ERP-систему переведены все бизнес-проце...

О Плотности фотополимеров Доброго времени суток. Народ активно обсуждает статьи по ведению расчетов при коммерческой печати. Кто в Экселе ведет, кто то замахнулся писать софт.У меня же возник вопрос как соотносятся те данные которые представляет слайсер,  в данном случае ChiTubox 1.5  с реальным расх...

Райтап In the Shadows Это райтап об одном из заданий, которое мы приготовили для отборочного этапа CTFZone, прошедшего в конце ноября. О процессе подготовки к квалификации можно прочитать здесь. Вы начинаете с двумя файлами: decrypt_flag.py и ntfs_volume.raw. Д...

Парсер данных по произвольной грамматике в 400 строк Есть много существующих инструментов для парсинга файлов по заданной грамматике. Например, ANTLR или Yacc. Они используют конечные автоматы и генерируют большие файлы с исходным кодом для парсинга. Действительно ли это так сложно? Попробуем сделать сами. В этой статье я пока...

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

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

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

Выбор хорошего инструмента для хранения тест документации и сравнительный анализ 3 выбранных инструментов Ведение документации для тестирования в Google-доках и Google-таблицах — не лучший способ работы с тестовой документацией. Такой подход имеет свои недостатки. В этой статье я расскажу, как мы перешли от хранения тестовой документации с Google docs к специализированным SaaS-р...

Ваша первая нейронная сеть на графическом процессоре (GPU). Руководство для начинающих В этой статье я расскажу как за 30 минут настроить среду для машинного обучения, создать нейронную сеть для распознавания изображений a потом запустить ту же сеть на графическом процессоре (GPU). Для начала определим что такое нейронная сеть. В нашем случае это математиче...

Сборка приложения среды arduino средствами CI github Немного имея по работе дело с CI/CD (gitlab ce), не так давно на github наткнулся на actions, и решил попробовать, что же это за зверь такой. Собирать JS или какие то другие решения не очень интересно было, поэтому решил протестировать сборку Arduino скетча для esp8266, ...

Экран Xiaomi Mi 11 Pro получит MEMC и преобразование SDR в HDR Ранее известный инсайдер Digital Chat Station сообщил в социальной сети Weibo, что флагманский смартфон Xiaomi Mi 11 Pro получит экран разрешением QHD+ с частотой обновления до 120 Гц . На рынке уже есть подобные смартфоны, однако для Xiaomi эту будет заметный прогресс ...

Автомобили в Голландии: статистика и информация за 2019 год Привет Хабр. Эта статья является продолжением цикла про Велоинфраструктуру в Голландии. В этот раз речь пойдет про автомобили. Недавно в одном из проектов довелось получить доступ к данным с камеры, распознающей автомобильные номера. Зная номер, можно получить довольно м...

Как мы распознаем средства индивидуальной защиты Наверное, вам всю жизнь было очень интересно, как натренировать нейронную сеть распознавать людей в касках и оранжевых жилетах! Нет? Но мы все равно расскажем. Нас зовут Татьяна Воронова и Эльвира Дяминова. Мы занимаемся анализом данных в компании «Центр 2М», много работаем...

Безопасный downgrade macOS Big Sur (без 1008F) Недавно, я писал о том, как решить проблему с вечной ошибкой 1008F при попытке откатить macOS Big Sur до macOS Catalina через Internet Recovery. Как показал опрос, есть необходимость рассказать о том, как откатить macOS Big Sur без ошибки 1008F. Причин для отката может бы...

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

[Перевод] Хватит импортировать JavaScript-пакеты целиком Часто ли вам доводилось импортировать в проект целый JavaScript-пакет, когда нужно было воспользоваться лишь очень немногими возможностями этого пакета? Вероятно, вы сможете вспомнить много таких случаев. Ярким примером пакета, который импортируют целиком, нуждаясь лишь в н...

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

Современный стартовый HTML-шаблон Доброго времени суток, друзья! Позвольте представить вам мой новый проект — современный стартовый HTML-шаблон. Данный шаблон является результатом анализа более 100 источников по вопросам, касающимся структуры и содержимого веб-страницы, разделения приложения на компонент...

Как сохранить Email-письмо в формате PDF на iPhone, iPad и Mac Если вы хотите скопировать важное письмо из электронной почты себе на компьютер, лучший способ сделать это — перевести его в популярный формат PDF. В этой статье мы расскажем вам, как сделать это на iPhone, iPad и Mac без сторонних приложений. Инструкция составлена с учетом ...

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

EDA под другим углом Поговорим не про еду, а про разведочный анализ данных (exploratory data analysis, EDA) который является обязательной прелюдией перед любым суровым ML. Будем честны, процесс довольно занудный, и чтобы выцепить хоть какие-то значимые инсайты про наши данные — требуется потр...

[Из песочницы] Почему нам везде хочется видеть золотое сечение? Попытка (неудачная) эволюционного анализа при помощи нейросетей на C++ Недавно я задался вопросом: связано ли как-то наше желание везде видеть золотое сечение с какими-то сугубо культурными вещами, или же в этом скрыта какая-то более глубокая закономерность, связанная с устройством нашего мозга? Чтобы разобраться в этом вопросе, я решил сделать...

Как мы мигрировали с Oracle JDK и Java Web Start на AdoptOpenJDK и OpenWebStart Доброго времени суток. В данной статье я расскажу о «модернизации» в компании, в которой я работаю, такого инструмента как Java Web Start, а точнее об его замене альтернативным opensource решением. Читать дальше →

[Из песочницы] Web Scraping. Часть 1 Введение Всем привет. Недавно у меня возникла идея о том, чтобы поделиться с интересующимся кругом лиц о том как пишутся скраперы. Так как большинству аудитории знаком Python все дальнейшие примеры будут написаны на нём. Данная часть рассчитана для того, чтобы познакомить те...

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

Three.js и геометрия При использовании для отображения в браузере библиотеки ThreeJS в качестве первого примера обычно выступает куб или какой-либо другой простейший объект, и он создается при помощи предустановленных специальных классов BoxGeometry или SphereGeometry. Затем обычно рассматривает...

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

Как проверить IPS? Infection Monkey vs Check Point Три года назад мы публиковали статью “Online инструменты для простейшего Pentest-а”. Там мы рассказали про доступные и быстрые способы проверки защиты вашего периметра сети с помощью таких инструментов как Check Point CheckMe, Fortinet Test Your Metal и т.д. Но иногда треб...

[Из песочницы] Утечка памяти в Nuxt на стороне сервера при использовании SSR (Server Side Rendering) Привет, Хабр! Данная статья обязательна к прочтению всем, кто работает с Vue SSR, в частности с Nuxt. Речь пойдет об утечки памяти при использовании axios. Предыстория Пол года назад я попал на проект со стеком VueJS + Nuxt, его особенность была в том, что в проде постоянно...

GS Group: популярность SSD в России растёт, но по суммарному объёму доля HDD составляет 88 % Аналитический центр холдинга GS Group выпустил отчёт о поставках накопителей данных в Россию за последние годы. Объём импорта HDD и SSD в 2019 году составил 9,1 млн штук, в то время время как в 2018 году было ввезено 8,7 млн накопителей. В последние два года этот рынок растё...

Google выпустила бета-версию Android 11. Скачать можно уже сейчас Компания Google, наконец, выпустила бета-версию Android 11 для разработчиков. Developer Preview, как правило, предназначены для тестирования и адаптации приложений разработчиками под новую версию операционной системы. На сайте обновления Google разделила нововведения на 3 р...

Google Authenticator получил долгожданное обновление спустя три года Настройка двухфакторной аутентификации (2FA) — это один из первых шагов, который вы должны предпринять, чтобы защитить свои учетные записи в Интернете. Несмотря на то, что в Google Play Маркете есть несколько приложений, которые вы можете использовать для установки 2FA, Goog...

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

Concurrent Mode в React: адаптируем веб-приложения под устройства и скорость интернета В этой статье я расскажу о конкурентном режиме в React. Разберёмся, что это: какие есть особенности, какие новые инструменты появились и как с их помощью оптимизировать работу веб-приложений, чтобы у пользователей всё летало. Конкурентный режим — новая фишка в React. Его зад...

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

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

Новые шаблоны — IPMI, Mikrotik, MSSQL Статья написана на основе доклада Максима Чудинова, инженера-интегратора Zabbix. В этой статье мы расскажем о некоторых новых шаблонах, добавленных в версию Zabbix 5.0. IPMI Шаблон IPMI работает только с пятой версией системы мониторинга Zabbix, потому что построен на новом...

Контакты без имени в Айфоне – почему и как решить? Проблема импорта списка контактов в iPhone из сторонних сервисов или SIM-карты довольно распространена и чаще всего проявляется в виде отсутствия имен (отображаются лишь цифры номера). При этом пользователи зачастую не находят решения проблемы и каждый раз занимаются восстан...

Инкапсулятор Etherblade.net и импортозамещение сетевых компонентов (часть вторая) В первой статье я хотел показать, что FPGA девелопмент — интереснейшее занятие, а реализация потокового инкапсулятора является достаточно несложным проектом, который вполне мог бы выступить в качестве академического проекта для студентов старших курсов или аспирантуры. Да...

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

Amazon хочет, чтобы покупатели оплачивали товары взмахом руки По сообщениям сетевых источников, компания Amazon намерена создать терминалы бесконтактной оплаты, которые позволят клиентам покупать товары в магазинах одним взмахом руки, без необходимости использования смартфона или банковской карты. Об этом сообщает издание The Wall Stre...

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

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

Компания «Россети Урал» создала цифровую систему управления сервисами на базе Naumen Service Desk Проект реализуется в рамках программы цифровой трансформации предприятия, направленной на планомерное преобразование энергетической электросетевой инфраструктуры за счет сквозной цифровизации процессов, внедрения инновационных технологий.

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

[Перевод] Marshmallow vs. Pydantic: две лучшие библиотеки для сериализации и валидации данных на Python Сериализация и десериализация данных — это преобразование между необработанной структурой данных и экземплярами классов для их хранения и передачи. Например, преобразование объектов Python в JSON-представление. Мы рассмотрим две популярные Python-библиотеки Marshmallow и Pyd...

[Перевод] 8 бесплатных инструментов для создания интерактивных визуализаций данных без необходимости написания кода Когда тот, кто работает в сфере Data Science, собирается показать результаты своей деятельности другим людям, оказывается, что таблиц и отчётов, полных текстов, недостаточно для того чтобы представить всё наглядно и понятно. Именно в таких ситуациях возникает нужда в визуали...

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

Как активировать вкладки проводника в Windows 11 Хотя операционная система Windows 11 обладает обновлённым проводником, многих разочаровало отсутствие в нём поддержки вкладок. Пользователи на протяжении нескольких лет просили Microsoft включить вкладки в состав проводника, но до сих пор этого не произошло. Чтобы исправить ...

SSO на микросервисной архитектуре. Используем Keycloak. Часть №1 В любой крупной компании, и X5 Retail Group не исключение, по мере развития возрастает количество проектов, где требуется авторизация пользователей. С течением времени требуется бесшовный переход пользователей из одного приложения в другой и тогда возникает необходимость исп...

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

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

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

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

Разбираем ресурсы Twisted Metal 4 (PSX) в Ghidra. Часть 1 Всем привет, В данной статье я расскажу о реверс-инжиниринге ресурсов игры Twisted Metal 4 для первой Playstation. В качестве основного инструмента я буду использовать Ghidra. Наверняка вы слышали об игровой серии Twisted Metal. А кому-то, наверное, довелось и поиграть (мне...

4 способа выбрать (выделить) файлы на Mac (macOS) Большинство — если практически не все — взаимодействия с файлами на Mac происходят в специализированном приложении Finder. Конечно, базовые вещи вроде «выбрать и скопировать / вставить» знает каждый пользователь. Но операционка Apple предлагает и множество других удобных спо...

В туннеле под Лас-Вегасом хотят использовать электромобили на базе Tesla Model X В проекте компании Илона Маска Boring Company по прокладке подземного туннеля для подземной транспортной системы в районе конференц-центра Las Vegas Convention Center (LVCC) преодолён важный рубеж. Буровая машина пробила бетонную стену, завершая проходку первого из двух тунн...

[Из песочницы] Кому на Руси жить хорошо? Как мы искали самый “зеленый” город с помощью OpenStreetMap и Overpass API У каждой карты есть легенда: именно она говорит читателю о том, что и каким образом на ней обозначено. Домам соответствуют многоугольники серого цвета, дорогам — отрезки и кривые, территории парков и скверов заливаются светло-зеленым и украшаются пиктограммой дерева. А к нек...

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

Использование journalctl для просмотра и анализа логов: подробный гайд Journalctl — отличный инструмент для анализа логов, обычно один из первых с которым знакомятся начинающие администраторы linux систем. Встроенные возможности ротации, богатые возможности фильтрации и возможность просматривать логи всех systemd unit-сервисов одним инструмен...

Разбираем атаки на Kerberos с помощью Rubeus. Часть 2 Всем привет! Это вторая часть статьи про возможности инструмента проведения атак на протокол Kerberos — Rubeus. Первую можно прочитать тут. В этот раз мы рассмотрим, как с помощью данного инструмента возможно реализовать следующие атаки:
 — Overpass The Hash/Pass The Key...

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

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

Embox на процессоре Эльбрус. Или никогда не забывайте о том, что получили при разведке Данная статья является логическим завершением серии статьей “восхождение на Эльбрус” об ознакомлении Embox с процессорной архитектурой Эльбрус (E2K) . Почему логическим завершением, потому что в результате удалось через telnet запустить приложение, которое выводит на экран ...

[Из песочницы] Mikrotik RouterOS в Docker Всем доброго времени суток! В данной статье я хочу рассказать об одном OpenSource проекте под названием Docker RouterOS, изначально он был создан в качестве полигона для прогонки интеграционных тестов и ничего более, но со временем, по просьбе пользователей, был добавлен ряд...

Что ожидается в Windows 10 версии 21H1 Вот-вот недавно вышло обновление системы Windows 10 версии 20H2, которое почти не отличается от выпущенного в первом полугодии May 2020 Update (версия 2004). Если принцип выпуска обновлений не изменится, версия Windows 10 21H1 появится весной 2021 года. Однако, слухи утвержд...

[Из песочницы] Первые шаги в визуализации данных с использованием Geopandas и OSM У многих хоть раз возникала необходимость быстро нарисовать карту города или страны, нанеся на нее свои данные (точки, маршруты, тепловые карты и т.д.). Как быстро решить такую задачу, откуда взять карту города или страны для отрисовки — в подробной инструкции под катом. Чи...

Логирование запросов к приложению Django Привет, меня зовут Дмитрий Чернышов, я ведущий разработчик компании «БАРС Груп». Последние несколько лет среди прочих задач нам в команде приходится сталкиваться с необходимостью анализа производительности приложений на Django с большим количеством пользователей и постоянн...

[Из песочницы] Распределенный реестр для колесных пар: опыт с Hyperledger Fabric Привет, я работаю в команде проекта РРД КП (распределенный реестр данных для контроля жизненного цикла колесных пар). Здесь я хочу поделиться опытом нашей команды в разработке корпоративного блокчейна для данного проекта в условиях ограничений, накладываемых технологией. По ...

[Из песочницы] Основные недостатки языка Python Язык программирования Python славится своей простотой и лаконичностью. Немногословный и понятный синтаксис, похожий на псевдокод, а также сильная динамическая типизация способствуют быстрому и безболезненному обучению новичков. Интерпретатор языка берёт на себя всю низкоуров...

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

Как выглядит zip-архив и что мы с этим можем сделать. Часть 3 — Практическое применение Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие. Дорогие читатели, я снова приветствую вас на передаче Нетрадиционное программирование на PHP. Для понимания происходящего рекомендую ознакомиться с предыдущими двумя...

ClickHouse – визуально быстрый и наглядный анализ данных в Tabix. Игорь Стрыхарь Предлагаю ознакомиться с расшифровкой доклада 2017 года Игорь Стрыхарь «ClickHouse – визуально быстрый и наглядный анализ данных в Tabix». Веб-интерфейс для ClickHouse в проекте Tabix. Основные возможности: Работает с ClickHouse напрямую из браузера, без необходимости устан...

CrowdSec — современная альтернатива Fail2Ban и коллективный иммунитет для Интернета CrowdSec Инструмент Fail2Ban хорошо известен админам. Программа анализирует логи на сервере и подсчитывает количество попыток доступа с конкретных IP-адресов по указанным протоколам. В случае нарушения правила данный IP-адрес блокируется на заданный отрезок времени. Наприм...

Скачать Windows 10 November 2019 Update (ISO) ISO-образы Windows 10 November 2019 Update уже доступны, что позволяет пользователям быстро обновиться с любой версии Windows.Вы можете загрузить ISO-образ Windows 10 November 2019 Update, если хотите установить ОС с нуля. ISO-образы Windows 10 доступны на веб-сайте загрузки...

[Перевод] Как устроен билд APK файла внутри Процесс создания APK и компиляции кода Рассматриваемые темы Архитектура процессоров и необходимость для виртуальной машины Понимание Java виртуальной машины Компиляция исходного кода Виртуальная машина Андроид Процесс компиляции в .dex файл ART против Dalvik Описание каждой...

Выпущена новая сборка Microsoft Edge Dev 83.0.478.5 Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 83.0.478.5 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Эта сборка является кандидатом на выпуск на канале Beta, и она немного новее,...

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

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

Доля процессоров AMD в бразильском импорте достигла 54% Но самым популярным оказался Intel Core i5-9400F.

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

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

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

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

RBK.money выпустила первый в мире open-source платежный процессинг — творим будущее вместе Привет! Если вы читали наши предыдущие посты (читали же?), то точно помните, что мы в RBK.money очень сильно за опенсорс. Настолько, что выложили в открытый доступ наш антифрод в виде открытых исходников под лицензией Apache 2.0. Как вы понимаете, нам понравилось. Одного а...

Xiaomi, Vivo и Oppo представили новую систему беспроводной передачи файлов Компании Vivo, Oppo и Xiaomi сообщили о создании инновационной системы беспроводной передачи файлов для пользователей по всему миру. Новая технология, ставшая инициативой «Объединения пирингового обмена данными» («Peer-to-Peer Transmission Allianc...

[Перевод] Провал ERP проекта (Liqui Moly, Отто и им подобным посвящается) Привет, Хабр! После того, как несколько моих коллег независимо друг от друга прислали линк к этой статье, мне подумалось, что, возможно, она будет полезна и для тех, кто не говорит по-немецки. Посему предлагаю Вашему вниманию перевод статьи из немецкой версии журнала CIO от...

Nginx-log-collector утилита от Авито для отправки логов nginx в Clickhouse В этой статье будет рассматриваться проект nginx-log-collector, который будет читать логи nginx, отправлять их в кластер Clickhouse. Обычно для логов используют ElasticSearch. Для Clickhouse требуется меньше ресурсов (дисковое пространство, ОЗУ, ЦПУ). Clickhouse быстрее запи...

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

В MIUI 11 появилась новая функция — слежение за качеством сна пользователей Официальный канал оболочки MIUI в Weibo раскрыл новую функцию MIUI 11. Официальным языком она называется «функцией управления работой и отдыхом», а по факту является системой мониторинга сна, дополненной напоминаниями о своевременности отдыха. Пока функция ...

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

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

LCD2004 на RepRapFirmware Всем добрый день!Доделал поддержку RepRap Discount Smart Controller (LCD2004)  прошивкой RepRapFirmware (порт для STM32). На данный момент порт и дисплей работают с данной платой https://3dtoday.ru/blogs/svs0724/plata-s-reprapfirmware-na-stm32Так же как и при работе с RepRap...

[Перевод] Делаем машину для намотки тороидальных катушек на базе Arduino Перевод с сайта Electric DIY Lab Всем привет, представляю вам изготовленную мною машину для намотки тороидальных катушек на базе Arduino. Машина автоматически наматывает проволоку и поворачивает тороид. В качестве интерфейса я использовал энкодер и ЖК-экран 16×2. Пользова...

Повышение привилегий в Windows клиенте EA Origin (CVE-2019-19247 и CVE-2019-19248) Приветствую всех, кто решил прочитать мою новую статью с разбором уязвимостей. В прошлый раз небольшим циклом из трех статей я рассказал об уязвимостях в Steam (1, 2 и 3). В данной статье я расскажу об уязвимостях похожего продукта — Origin, который тоже является лаунчером д...

Как Computer Science Center перевёл обучение в онлайн Когда понадобилось в один день перевести весь CS центр на домашнее обучение, кураторы проделали большую работу по замене живых лекций на равноценные альтернативы, зато всё остальное уже работало. Центр давно использует онлайн-платформы в очном обучении, в том числе свою собс...

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

Как мы построили динамические отчеты на SSRS 2014 Мы уже рассказывали, как помогли одной производственной компании трансформировать процессы корпоративного обучения и развития персонала. Сотрудники заказчика, которые тонули в бумажных документах и Excel-таблицах, получили удобное iPad-приложение и веб-портал. Одна из самых ...

И снова про embedded: ищем баги в проекте Embox Embox – это кросс-платформенная мультизадачная операционная система реального времени для встраиваемых систем. Она рассчитана на работу в условиях невысоких вычислительных ресурсов и позволяет запускать Linux-приложения на микроконтроллерах без использования самого Linux. К...

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

Перевести речь в текст на iOS, используя Speech framework Сегодня мы будем переводить речь в текст. Сначалa убедитесь, что у вас установлена последняя версия iOS и Xcode. Для Speech Framework нужна минимум iOS 10. Я создал проект с поддержкой SwiftUI, для этого нужна iOS 13. Но это не обязательно, можете использовать Storyboard. Е...

Системный подход к переменным в Ansible ansible devops codestyle Hey! Меня зовут Денис Калюжный я работаю инженером в отделе автоматизации процессов разработки. Каждый день новые сборки приложений раскатываются на сотнях серверов кампании. И в этой статье я делюсь опытом использования Ansible для этих целей. Этот ...

Как зарабатывать на фотографиях Данная статья является логическим продолжением этой статьи на Хабре о выдаче регистратором Р01 моих персональных данных. Пришлось дожидаться, пока закончатся суды (частично), чтобы описать, кому было интересно запросить мои персональные данные у доменного регистратора Р01 и...

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

[Перевод] Symfony и Гексагональная архитектура В данной статье мы коротко пройдемся по теории и на практике разберемся как перевести любое Legacy приложение на гексагональную архитектуру. Повествование будет в контексте фреймворка Symfony и PHP 7.4, но синтаксис приведенных примеров настолько прост что вы без труда пойм...

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

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

Используем Terraformer для адаптации действующей инфраструктуры в AWS для деплоев с Terraform Рассказываем про наш опыт импорта и адаптации конфигураций инфраструктуры, ранее развернутой вручную в AWS, в формат Terraform. Зачем? Причин может быть много: и отказоустойчивость, и упрощение горизонтального и вертикального масштабирования, и многие другие. С них и начнем ...

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

Анализ международных документов по управлению рисками информационной безопасности. Часть 2 В предыдущей части мы описали общую концепцию риск-менеджмента и раскрыли методы управления рисками в соответствии с документами NIST SP серии 800. В данной части мы продолжим обзор международных документов по управлению рисками информационной безопасности: у нас на очереди ...

Асинхронное взаимодействие. Брокеры сообщений. Apache Kafka Данная публикация предназначена для тех, кто интересуется устройством распределенных систем, брокерами сообщений и Apache Kafka. Здесь вы не найдете эксклюзивного материала или лайфхаков, задача этой статьи – заложить фундамент и рассказать о внутреннем устройстве упомянутог...

Введение во взаимную аутентификацию сервисов на Java c TLS/SSL Вопросы авторизации и аутентификации и в целом аспектов защиты информации все чаще возникают в процессе разработки приложений, и каждый с разной степенью фанатизма подходит к решению данных вопросов. С учетом того, что последние несколько лет сферой моей деятельности являет...

Camunda external tasks — мощный инструмент для создания приложений с отказоустойчивой и масштабируемой архитектурой В Тинькофф для разработки систем автоматизации бизнес-процессов мы используем фреймворк Camunda + Spring. Сами бизнес-процессы описываем с помощью BPMN (Business Process Management Notation) в виде блок-схем. Наиболее часто используемый элемент на наших схемах — service ta...

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

[Из песочницы] Парсер Блокчейна в 300 строчек на Питоне В далёком 2015 году, когда криптовалютам ещё не уделялось такое внимание широкой общественности как сейчас, мне пришла в голову мысль узнать в подробностях — что такое блокчейн, криптовалюты и Биткоин, в частности. Попытки провести детальный анализ исходного кода проекта ...

Потоковая передача колоночных данных с помощью Apache Arrow Перевод статьи подготовлен специально для студентов курса «Data Engineer». За последние несколько недель мы с Nong Li добавили в Apache Arrow бинарный потоковый формат, дополнив уже существующий формат файлов random access/IPC. У нас есть реализации на Java и C++ и привяз...

Какой язык выбрать для работы с данными R или Python? Оба! Мигрируем с pandas на tidyverse и data.table и обратно По запросу R или Python в интернете вы найдёте миллионы статей и километровых обсуждений по теме какой из них лучше, быстрее и удобнее для работы с данными. Но к сожалению особой пользы все эти статьи и споры не несут. Цель этой статьи — сравнить основные приёмы обработки д...

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

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

У смартфонов китайских производителей появится своя технология прямого обмена файлами Партнёры договорились об использовании единого сервиса для быстрой передачи данных между смартфонами на скорости около 20 Мбайт/с без подключения к интернету.Основой технологии являются стандарты Bluetooth и Wi-Fi. Первый применяется для создания связи между двумя устройства...

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

Проба пера. Литофания. Привет всем.Как то я уже пробовал делать такие литофанические изображения, но тогда и опыта было маловато и принтер другой, и т.д. Сейчас закончил светильник-ночник, тестовый вариант. Вроде получилось не плохо, печатал корпус на Anycubic Predator, а вот сами фото сделал на A...

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

[Перевод] Жизнь байта данных Любой облачный провайдер предлагает услугу хранения данных. Это могут быть холодные и горячие хранилища, Ice-cold, и т.д. В облаке хранить информацию довольно удобно. Но как вообще хранили данные 10, 20, 50 лет назад? Cloud4Y перевёл интересную статью, рассказывающую как р...

[Перевод] Высокопроизводительный TSDB benchmark VictoriaMetrics vs TimescaleDB vs InfluxDB VictoriaMetrics, TimescaleDB и InfluxDB были сравнены в предыдущей статье по набору данных с миллиардом точек данных, принадлежащих 40K уникальным временным рядам. Несколько лет назад была эпоха Zabbix. Каждый bare metal сервер имел не более нескольких показателей – использ...

Xbox Game Bar получит поддержку сторонних виджетов На Inside Xbox Microsoft анонсировала новый магазин виджетов для Xbiox Game Bar для Windows 10 (комбинация WIN + G), а также рассказала о партнёрах, которые первыми присоединятся к платформе. Компания обещает, что в ближайшие месяцы виджетов от сторонних разработчиков стане...

Беспроводной DIY датчик тепрературы и влажности с e-paper дисплеем Всем привет! Сегодня хочу рассказать читателям о своем DIY проекте датчика температуры и влажности с e-ink дисплеем. Это будет некая обзорная статья об этапах создания устройства, будет много картинок. Идея этого проекта родилась около двух лет назад, примерно тогда я увлекс...

Симуляционное моделирование механической системы средствами визуального программирования Scilab\Xcos Вместо предисловия. Эта небольшая по объему работа была экстренно выполнена с учебными и демонстрационными целями около года назад на базе уже разработанной ранее модели струны. Как водится, потом полежав энное время без дела, недавно она попалась мне на глаза. Что такое S...

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

Active Restore: С чего начать разработку в UEFI Всем привет. В рамках проекта от компании Acronis со студентами Университета Иннополис (подробнее о проекте мы уже описали это тут и тут) мы изучали последовательность загрузки операционной системы Windows. Появилась идея исполнять логику даже до загрузки самой ОС. Следовате...

Готовый шаблон для тестирования с использованием Spring Представляю вам — готовый шаблон для тестирования с использованием Spring. Введение Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java. Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам. Для кого эта ...

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

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

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

checkm8 для Lightning-видеоадаптеров Apple Появление эксплойта checkm8 можно назвать одним из важнейших событий прошедшего года для исследователей продукции Apple. Ранее мы уже опубликовали технический анализ этого эксплойта. Сейчас сообщество активно развивает джейлбрейк checkra1n на основе checkm8, поддерживающий ...

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

React и Vue без npm и сборки Когда все начинают знакомство с React или Vue, как с двумя самыми популярными фреймворками для frontend, конечно-же все используем магические команды npm install, npm build. И только после этого папочку 'public' Мы деплоим «куда надо». Но есть и другой (я бы назвал его извр...

[Из песочницы] Быстрое ознакомление с SwiftUI SwiftUI — это новый удобный способ для создания пользовательских интерфейсов на Xcode. Если хотите быстрое ознакомление с SwiftUI, тогда этот блог пост для вас. Для начала давайте создадим проект с поддержкой SwiftUI. Минимально необходимые для этого требования системы — эт...

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

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

[Перевод] [теория] Разница между веб-сокетами (WebSockets) и Socket.IO Доброго времени суток, друзья! Веб-сокеты и Socket.IO, вероятно, являются двумя наиболее распространенными средствами коммуникации в режиме реального времени (далее — живое общение). Но чем они отличаются? При построении приложения для живого общения наступает момент, ко...

[Из песочницы] IoT шлюз Ethernet-RS485 на базе STM32 Привет, Хабр!Данный пост посвящён DIY разработке Ethernet-RS485 шлюза. Цель данного шлюза – обеспечение централизованного управления нодами Mysensors со стороны контроллера умного дома.Недавно меня таки достали провода, дюпоны, навесная пайка и т.п. и было принято давно оття...

Linux Sandbox Цель данной статьи показать какие проекты существуют на сегодняшний день для автоматического анализа исполняемых файлов для ОС Linux. Предоставленная информация может быть использована для развертывания тестового стенда для анализа вредоносного кода. Тема может быть актуальн...

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

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

[Из песочницы] AWS Step Functions overview Теория Что такое Step Functions? Из AWS Docs: Step Functions — это сервис бессерверной оркестровки, который позволяет комбинировать функции AWS Lambda и другие сервисы AWS для создания критически важных для бизнеса приложений. С помощью графической консоли Step Functions вы ...

Пилим веб-опросник как у Meduza: пошаговый гайд для начинающих Меня зовут Егор, я Full-stack разработчик в Leader-ID. В этой статье я хочу поделиться простым рецептом по созданию красивого и удобного веб-опросника наподобие тех, что делает Meduza. Он умеет показывать статистику после ответа на отдельные вопросы, подсчитывать общий балл,...

JavaScript библиотека Webix глазами новичка. Часть 4. Работа с данными. CRUD Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

Zabbix. Что делать, если принтер не делится информацией по SNMP? Доброго времени суток! КДПВ Данная статья – небольшой мануал, написанный в несколько художественной форме. В статье много картинок, заботливо упрятаных в спойлеры. Для кого написана эта статья? Для начинающих сисадминов, еще слабо знакомых с UNIX-системами, Zabbix’ом, но ...

Почему Мистер Робот — лучший сериал про IT-индустрию Доброго времени суток, уважаемые читатели Хабра! 23 декабря 2019 года в свет вышла заключительная серия одного из самых популярных сериалов про IT — Мистер Робот. Посмотрев сериал до конца, я твёрдо решил написать статью о сериале на Хабре. Выход этой статьи приурочен к мое...

[Перевод] SRE: Анализ производительности. Способ настройки с использованием простого вебсервера на Go Анализ производительности и настройка — мощный инструмент проверки соответствия производительности для клиентов. Анализ производительности можно применять для проверки узких мест в программе, применяя научный подход при проверке экспериментов по настройке. Эта статья опреде...

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

Halt and Catch Fire — команда, заслужившая экранизацию Приветствую всех Хабрачан и Хабрачанок! Спасибо всем вам за такую поддержку! Мы вместе прошли долгий и интересный путь по вселенным всех ключевых фильмов и сериалов в мире IT. Мы вместе пытались разобраться в сериале «Мистер Робот», вместе обсуждали лучшие комедии о нас с в...

Хранилище для Веба Доброго времени суток, друзья. Представляю вашему вниманию перевод статьи «Storage for the Web» автора Pete LePage. Существует несколько технологий для хранения данных в браузере. Какая из них лучше? Интернет-соединение может быть плохим или вовсе отсутствовать в опреде...

Ошибки, которые погубят проект любой сложности. Опыт менеджеров Redmadrobot Мы, электрические, запускаем проекты с 2008 года, и за 11 лет сформировали сильную команду робоменеджеров. Прокачивать железных помогают боевые задачи и одна из самых сложных — управлять проектом. Ситуации, при которых появляется необходимость взять на себя обязанности PM ...

[Из песочницы] Zimbra — Генерация HTML подписи на основе данных LDAP Введение В Веб-Админке Zimbra отсутствуют инструменты для генерации подписи к письмам. Перелопатив кучу мануалов — понял, что ни один из Них меня не устраивает. Задача кажется тривиальной, но решения в лоб — найти сразу не удалось. Надеюсь, эта статья поможет кому-то сэконо...

[Перевод] ELK SIEM Open Distro: Интеграция с WAZUH Продвигаемся дальше по нашему проекту. Мы завершили часть SIEM. Пришло время перевести наш проект из простого наблюдателя в активного ответчика. Одним из важных инструментов, которые мы использовали для этого, является Wazuh. В этой статье мы надеемся просветить вас о преиму...

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

Новые возможности postgres_exporter для мониторинга PostgreSQL Добрый день, читатели habr! В первой заметке о posgres_exporter, я рассмотрел достаточно частный случай, при работе с новой, на тот момент фитчей, а именно возможностью мониторинга одним экспортером набора экземпляров и/или баз данных. И описал тот "букет" проблем с которыми...

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

Анализ международных документов по управлению рисками информационной безопасности. Часть 1 Друзья, в предыдущей публикации мы рассмотрели нормативные документы по защите информации в российской кредитно-финансовой сфере, некоторые из которых ссылаются на методологии оценки и управления рисками ИБ. Вообще, если говорить с позиции бизнеса, управление информационной ...

Реализация аудиоконференций в Telegram + Asterisk В предыдущей статье я описывал реализацию выбора пользователем места жительства при регистрации в моем telegram боте, который я создавал вдохновившись идеей «Телефонного эфира». В этой же статье я опишу интеграцию бота с Asterisk . Читать дальше →

Паттерн «сага» как способ обеспечения консистентности данных Всем привет. Уже сейчас в OTUS открывает набор в новую группу курса «Highload Architect». В связи с этим я продолжаю серию своих публикаций, написанных специально для этого курса, а также приглашаю вас на свой бесплатный демо урок по теме: «Индексы в MySQL: best practices и ...

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

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

Tableau в рознице, реально? Время отчётности в Excel стремительно уходит — тренд на удобные инструменты представления и анализа информации виден во всех сферах. Мы давно обсуждали внутри цифровизацию построения отчётности и выбрали систему визуализации и self-service аналитики Tableau. Александр Безугл...

Опыт внедрения Service Mesh на Nomad и Consul В этой статье мы расскажем, как развернули Service Mesh, решили часть проблем микросервисной архитектуры и уменьшили нагрузку на разработчиков и инженеров инфраструктуры. Читать дальше →

[Из песочницы] Ещё раз про аппаратные ключи GPG за копейки В февралe 2020 года на Хабре появилась увлекательная статья про преобразованию программатора ST-Link v2 в аппаратный ключ шифрования. Уже тогда в комментариях появились жалобы на то, что результат не удаётся повторить, но они остались без ответа. За прошедшее время до меня ...

Коротко об одном из стандартов формата токена PKCS#15 Много статей написано про стандарты API между токенами и программным обеспечением. Однако, стандартизация формата самих токенов, как правило, несправедливо обойдена стороной. В данной статье кратко описан один из стандартов формата токена PKCS#15 (Public Key Cryptography sta...

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

CI/CD на AWS, Azure и Gitlab. Новый курс от OTUS Внимание! Данная статья не является инженерной и предназначается читателям, которые интересуются образованием в области CI/CD. Вероятнее всего, если Вы не заинтересованы в обучении, данный материал не будет Вам интересен. Если вы разработчик или администратор, отвечающий ...

Adobe выпустила новое обновление для Lightroom Adobe выпустила новое обновление Lightroom для iOS и iPadOS, которое обеспечивает поддержку прямого импорта с SD-карт и других внешних устройств хранения в популярные приложения. Пользователи смогут создавать и обмениваться альбомами из версии Lightroom для iOS, которую зате...

Помните FindFace, который искал аккаунты в соцсетях по фото? Его купили власти Москвы Система распознавания лиц FindFace считается одной из самых масштабных и совершенных Наверное, все знают таких людей с паранойей, которые абсолютно уверены, что все современные средства связи – это инструменты слежки в руках спецслужб. По их мнению, Touch ID был нужен для то...

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

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

[Перевод] Модели мира. Могут ли агенты учиться в своем воображении? От переводчика: вопросы, поднятые в прошлой моей статье (видимо не слишком удачной) тем не менее вывели меня (огромное спасибо комраду Kilorad за ссылку!) на материал, который я посчитал необходимым перевести и выложить сюда. Да, я, к сожалению, посредственно владею как язык...

Google выпустила приложение, обучающее детей чтению Компания Google выпустила новое приложение Read-Along, которое призвано учить детей читать.Приложение пока что доступно только на платформе Android. В основе Read-Along лежит приложение Google Bolo, дебютировавшее в Индии еще в прошлом году. В данный момент Read-Along поддер...

[Перевод] Что принёс нам Pandas 1.0 9 января состоялся релиз Pandas 1.0.0rc. Предыдущая версия библиотеки — 0.25. Первый мажорный релиз содержит множество замечательных нововведений, в том числе улучшенное автоматическое суммирование датафреймов, больше форматов вывода, новые типы данных и даже новый сайт док...

Преобразование природы в украшения с помощью 3D-сканирования Статья с сайта Shining3d.com переведена для вас Top 3D Shop.Изготовление ювелирных изделий с помощью 3D сканера EinScan Pro 2xНа вопрос о том, в каких сферах применяется 3D-сканирование, большинство людей не задумываясь ответят, что подобная аппаратура чаще всего находит при...

Microsoft обновляет Media Creation Tool до получения сборки Windows 10 Build 19041.450 Ищете быстрый и простой способ обновить свой компьютер до последней версии Windows 10, включая накопительные обновления, которые были выпущены в этом месяце? Теперь вы можете использовать Media Creation Tool для выполнения этой работы или даже создать установочный носитель с...

Телепортация тонн данных в PostgreSQL Сегодня я поделюсь некоторыми полезными архитектурными решениями, которые возникли в процессе развития нашего инструмента массового анализа производительности серверов PostgeSQL, и которые помогают нам сейчас «умещать» полноценный мониторинг и анализ более тысячи хостов в то...

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

ГК «КОРУС Консалтинг» создала решение для быстрого сбора данных из Excel-файлов ГК «КОРУС Консалтинг» разработала коробочное решение «Файл сбора данных» (ФСД), которое позволяет собирать данные из различных Excel-файлов. Система преобразовывает данные пользователей в формат, подходящий для последующей автоматической ...

Read Along от Google научит детей читать Read Along использует функции распознавания речи и преобразования текста в речь, чтобы помочь детям научиться читать.

Powered by ZeroTier. Практическое руководство по строительству виртуальных сетей. Часть 2 В процессе первых пяти шагов, описанных в статье Powered by ZeroTier. Практическое руководство по строительству виртуальных сетей. Часть 1 мы объединили виртуальной сетью три географически удалённых друг от друга узла. Один из которых расположен в физической сети, два других...

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

Security Week 32: уязвимость в GRUB2 29 июля компания Eclypsium опубликовала исследование новой уязвимости в загрузчике Grub2, массово используемом в системах на базе Linux — от ноутбуков и IoT-устройств до серверов. Суть уязвимости довольно простая: ошибки при обработке текстового конфигурационного файла grub....

3D игры в Инстаграм на Javascript, или траектория полета колбасы После первой статьи о программировании игр в масках Инстаграм ко мне обратился заказчик с просьбой создать игру в Инстаграм для его пиццерии. Эту игру планировалось использовать для целей продвижения бизнеса. Я, конечно, понимаю, что, судя по количеству просмотров первой с...

[Из песочницы] IPSec всемогущий Добрый день, друзья. Не секрет, что многим из нас хоть раз, но пришлось столкнуться с необходимостью настройки VPN. Являясь активным читателем Хабра я заметил, что несмотря на обилие статей про IPSec, многим он всё равно представляется чем-то сложным и перегруженным. В данно...

Новая эра веб-разработки или «всё уже есть» Ты никогда не решишь проблему, если будешь думать так же, как те, кто ее создал. Альберт Эйнштейн В далеком 1989 году британский ученый Тим Бернерс-Ли создал системы обмена документами Enquire, которая и стала прототипом глобальной сети интернет. Где были им представлены ря...

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

[Перевод] Использование Clickhouse в качестве замены ELK, Big Query и TimescaleDB Clickhouse — это столбцовая система управления базами данных для онлайн обработки аналитических запросов (OLAP) с открытым исходным кодом, созданная Яндексом. Ее используют Яндекс, CloudFlare, VK.com, Badoo и другие сервисы по всему миру для хранения действительно больших об...

Кастомизация компонентов Ant Design и оптимизация бандла The Archivist by juliedillon Я Иван Копенков, ведущий фронтенд-разработчик в Mail.ru Cloud Solutions, в статье расскажу, какие есть подходы к кастомизации компонентов UI-библиотеки Ant Design, как это сделали мы, а так же покажу, как удалось полностью избавиться от неисполь...

Microsoft объявила о релизе унифицированного приложения Office для iOS и Android Компания Microsoft объявила об официальном релизе унифицированной версии Office для Android и iOS, которая объединяет в себе Word, Excel и PowerPoint. Напомним, что публичное бета-тестирование приложения проводилось с ноября прошлого года. Новый Office объединил все основны...

[Перевод] Букварь по дизайну систем (Часть 1 с дополнениями по микросервисам) Несколько лет назад, для закрытия одного их предметов мне довелось перевести данный букварь. Де-факто этот вариант стал официальным переводом. Но развитию этого перевода мешает, тот факт, что он был написан в Google Drive и закрыт на редактирования. Сегодня я уделил время н...

SSL сертификат для Docker web-app В данной статье я хочу поделиться с вами способом создания SSL сертификата для вашего веб-приложения работающего на Docker, т.к. в рускоязычной части интернета — подобного решения я не нашел. Подробнее под катом. Читать дальше →

Прямой VPN между компьютерами за NAT провайдеров без VPS Продолжение статьи о том, как мне удалось организовать прямой VPN-туннель между двумя компьютерами находящимися за NAT'ами провайдеров. В прошлой статье описывался процесс организации соединения с помощью третьей стороны — посредника (арендованный VPS выполняющий роль, что-т...

Шпаргалка по форматам файлов с данными в python Python понимает все популярные форматы файлов. Кроме того, у каждой библиотеки есть свой, «теплый ламповый», формат. Синтаксис, разумеется, у каждого формата сугубо индивидуален. Я собрал все функции для работы с файлами разных форматов на один лист A4, с приложением в виде ...

Систему хранения данных варшавского музея оптимизировала Infortrend Компания Infortrend® Technology, Inc. (код TWSE: 2495), разработчик передовых корпоративных систем для хранения данных, оптимизировала хранилище данных варшавского Музея истории польских евреев, недавно осуществившего проект масштабной цифровизации культурных объектов. В рам...

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

Диаграмма Сэнкей (Sankey diagram) на Python В этой статье рассмотрим, как пошагово создать диаграмму Сэнкей - от загрузки и генерирования необходимых данных до сохранения полученной диаграммы. Используемые инструменты - python, pandas и plotly. Читать далее

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

Создание браузерных 3d-игр с нуля на чистом html, css и js. Часть 2/2 В данной статье мы продолжим создавать трехмерную браузерную игру лабиринт на чистом html, css и javascript. В предыдущей части мы сделали простой 3-мерный мир, реализовали движение, управление, столкновения игрока со статическими объектами. В этой части мы будем добавлять г...

ExtendScript Работа с файлами Всем привет.В предыдущей статье я рассказал, как написать скрипт для Adobe After Effects. Напомню, что наш скрипт создает окно в интерфейсе программы. В этом окне можно вводить и выполнять код Extendscript - язык сценариев для программ Adobe. Теперь хочу предложит вам некото...

Тесты визуальной регрессии. Перезагрузка В своей предыдущей статье я рассказывал про опыт использования движка Gemini для разработки визуальных тестов, точнее, тестов визуальной регрессии. Такие тесты проверяют, не «съехало» ли что-нибудь в UI после очередных изменений с помощью сравнения текущих скриншотов с ранее...

Объединяем закрытый WhatsApp и открытый SIP – Часть 1 Предыдущая статья «Как избежать блокировки в WhatsApp», хотя и получила много минусов, но тем не менее в течении 2 суток была самой читаемой статьей на Хабре – набрала более 20 тыс просмотров. Поэтому я решил что нужно продолжать с хакингом монстров рассказывать о различны...

[Перевод] Печатная плата с ракеты Сатурн-5 – обратная разработка с пояснениями Перевод статьи из блога Кена Ширрифа В лунных миссиях «Аполлон» ракетой Сатурн-5 управлял передовой бортовой компьютер, разработанный в IBM. Система собиралась из гибридных модулей, похожих на интегральные схемы, но содержавшие отдельные компоненты. Я провёл обратную разраб...

Google хочет запретить установку APK на Android Google хочет блокировать APK-файлы. Почему? Одной из возможностей операционной системы Android, которая, по мнению пользователей, выгодно отличает её от iOS, является возможность установки приложений в виде APK-файлов. Она позволяет скачивать софт не только из Google Play, н...

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

[Перевод] Реверс-инжиниринг популярного античита BattlEye BattlEye — это преимущетвенно немецкий сторонний античит, в основном разрабатываемый 32-летним Бастианом Хейко Сутером. Он предоставляет (или пытается предоставить) издателям игр простую в применении систему античита, использующую механизмы общей защиты, а также обнаружение...

OrbitDB — децентрализованная база данных на IPFS Мы уже рассказывали про InterPlanetary File System, распределённую сеть поверх одноимённого p2p-протокола с доступом к данным по HTTP. Данные в ней не поддаются изменению (не блокчейн, но часть принципов совпадает), хранятся неограниченно долго и у неё даже есть система ре...

CI TeamCity — Автоматизация build процессов Android и UI тестирования В этой статье предлагаю Вашему вниманию инструкцию по установке и настройке TeamCity для автоматизации сборки и тестирования Android проектов под Windows. Также буду уделять внимание особенностям настройки environment’а под Android проект (которые находил в процессе исследо...

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

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

Безопасность REST API от А до ПИ Введение Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответстви...

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

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

[кейс Locomizer] Как за два с половиной года ускорить расчёт тепловой карты в 20 000 раз Данная статья является продолжением серии «Кейс Locomizer», см. также Какие знания можно на самом деле извлечь из анонимизированного датасета с координатами пользователей Открываем One Ring — инструментарий для гибкой конфигурации сложных процессов обработки данных на Spar...

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

[Перевод] Решение проблемы N+1 запроса без увеличения потребления памяти в Laravel Одна из основных проблем разработчиков, когда они создают приложение с ORM — это N+1 запрос в их приложениях. Проблема N+1 запроса — это не эффективный способ обращения к базе данных, когда приложение генерирует запрос на каждый вызов объекта. Эта проблема обычно возникает, ...

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

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

[Перевод] Как я получил сертификат TensorFlow-разработчика (и как его получить вам) В начале мая я решил получить сертификат TensorFlow-разработчика. Для этого я разработал программу обучения для совершенствования своих навыков и выполнил задания сертификационного экзамена пару дней назад (3 июня). Оказалось, что я сдал экзамен успешно. Позвольте мне рас...

Как сервис Estimate помогает автоматизировать процесс оценки и узнать стоимость IT-проекта Как для бизнеса, так и для IT-компании оценка – один из самых важных этапов в начале работы над проектом. Бизнес готов сотрудничать с тем подрядчиком, который назовет стоимость объективно, прозрачно и быстро, в идеале – немедленно. При этом на рынке существует значительный ...

Облачная переустановка системы в Windows 10 Обновление Windows 10 20H1 (версия 2004) будет иметь функцию Загрузки из облака, которая может восстановить ваш ПК или ноутбук из-за различных проблем с ОС. Если вам когда-либо приходилось переустанавливать Windows 10 из-за проблем с производительностью и техническими пробле...

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

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

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

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

Конференция «Качество данных» 5 февраля в Москве 5 февраля 2020 года в конференц-центре «ТехноПрогресс» в Москве пройдёт практическая конференция «Качество данных 2020. Стратегия, инструменты, практика». «Данные предприятия – его ключевой актив, однако от “грязных” данных больше вреда, чем пользы. Обсудим и найдем р...

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

Изучаем ELK. Часть III — Безопасность В первой и второй частях данной серии была описана процедура установки и настройки кластера Elasticsearch, Kibana и Logstash, но никак не освящался вопрос безопасности.На борту стека ELK имеется широкий функционал, который позволяет организовать ролевую модель доступа, шифро...

[Перевод] Альтернатива ML-Agents: интегрируем нейросети в Unity-проект с помощью PyTorch C++ API Кратко объясню, что будет происходить в этой статье: покажу, как использовать PyTorch C++ API для интеграции нейросети в проект на движке Unity; сам проект я подробно описывать не буду, это не имеет значения для данной статьи; использую готовую модель нейросети, преобраз...

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

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

Как выглядит производство корпусов Flipper Zero изнутри Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13]Сейчас мы активно налаживаем процесс массового производства Flipper Zero на фабриках. Компоненты ...

Книга «Как тестируют в Google» — бесплатная электронная версия Привет, Хаброжители! В книге описано тестирование программных продуктов в Google: как устроены процессы, как организованы команды, какие техники используются, кто ответственен за качество. Принципы, на которых построено тестирование в Google, применимы в проектах и компан...

[Перевод] Мой второй год в качестве независимого разработчика Иллюстрация Лорейн Йоу. Суслик-талисман языка Go адаптирован из работ Рене Френч Два года назад автор этой статьи Майкл Линч (Michael Lynch) уволился с должности инженера-программиста в Google, чтобы начать собственный бизнес (см. статью «Почему я ушёл из Google и начал ра...

[Из песочницы] Бакалавриат в США: Нетрадиционный путь в топ-вузики Прочитала я пару статей на хабре после того как прошла по ссылке со стороннего ресурса и мне как-то грустно стало так как я сама учусь в топ-университете в США и знаю нескольких из России. habr.com/ru/post/469275 habr.com/ru/post/230789 Однако, моя история не совсем станд...

Диагностируем проблемы в микросервисной архитектуре на Node.js с помощью OpenTracing и Jaeger Всем привет! В современном мире крайне важна возможность масштабировать приложение по щелчку пальцев, ведь нагрузка на приложение может сильно отличаться в разное время. Наплыв клиентов, которые решили воспользоваться вашим сервисом, может принести как большую прибыль так и...

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

[Перевод] Советы и хитрости IntelliJ IDEA: 1. Сравнение файлов и папок От переводчика: В блоге Войтеха Рузички по программированию имеется 13 постов с тегом IDEA. Один из был переведен и опубликован на Хабре — Лучшие плагины IntelliJ IDEA. Он оказася довольно популярен и я решил попробовать перевести и другие посты об IDEA. Надеюсь будут полезн...

[Перевод - recovery mode ] Конец хайпа: Что ждёт язык Scala дальше Вокруг языка Scala всегда было много хайпа и неоднозначных суждений. Сейчас споры поутихли, но в твитере появились сообщения об уходе некоторых значимых участников из компаний активно развивающих экосистему языка Scala. В связи с чем в очередной раз пошли разговоры о том, ч...

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

[Из песочницы] STM32CubeMonitor стоит попробовать Введение STM32CubeMonitor — утилита для удобного отображения данных с контроллеров семейства STM32. Причем не требуется никакого дополнительного оборудования, только плата с контроллером и программатор (я пробовал и китайский свисток и оригинальный st-link\v2). Слово «Cube» ...

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

Забудьте про RGB и HEX В CSS существует несколько способов представления цветов. Один из них — система HSL. В этой статье я покажу вам, какие возможности она открывает для верстальщика. Читать дальше →

Это приложение сбрасывает пароль iPhone за 5 минут без iTunes Рано или поздно многие сталкиваются с необходимостью сбросить пароль на iPhone. Причем не всегда это случается, если забыл пароль: у нас в редакции, например, был случай, когда один из авторов уронил свой айфон на паркет (бедолага), экран разбился вдребезги и он просто не м...

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

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

Солнечный удар. Разбираем две опасные уязвимости в Apache Solr Для подписчиковНедавно исследователи нашли две крупные уязвимости в опенсорсной платформе полнотекстового поиска Apache Solr. Первый баг связан с некорректной обработкой шаблонов Velocity, второй кроется в модуле импорта баз данных. Эксплуатация любого из них приводит к удал...

Моя первая печать миниатюр Приветствую уважаемого читателя!Настало время похвастать своими первыми шагами в 3d-печати. Собственно для миниатюр, прежде всего, я принтер и взял.Довольно простой мне показалась печатать тушек космодесанта с крылатым черепом на груди, её и выбрал для начала. МодельPhoton w...

«Тудурант» — менеджер задач, который заставляет примитивный мозг работать Буду краток: системы продуктивности типа GTD никогда не работают в долгосрочной перспективе. Я взял все самые сочные части разных методологий, соединил их, упростил — и теперь им пользуется более 5000 пользователей. В этой статье я описал весь процесс развития продукта от ид...

Catchain: алгоритм консенсуса блокчейна TON В предыдущем обзоре наша команда R&D рассказала о структуре Telegram Open Network и особенностях функционирования ключевых узлов (валидаторов) TON Blockchain, а также поделилась опытом Mercuryo, как валидатора сети. Эта статья посвящена одному из ключевых вопросов, отве...

Максим Дубинин: «В OpenStreetMap нужно заниматься тем, что тебе важно, а не пытаться «спасти» проект в целом» Максим Дубинин — основатель проекта GIS-Lab и директор компании NextGIS, которая разрабатывает одноименный продукт. Наверное, его имя известно в России почти любому, кто связан с темой ГИС. Кто использует данные OSM, какого они качества и почему их не ценят — обо всем этом ...

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

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

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

Грабли на пути к keep-alive Увеличение активности обмена данными между микросервисами зачастую является проблемой в архитектуре современных IT решений. Выжать максимум и выжить любой ценой — серьёзный вызов для любой разработки. Поэтому поиск оптимальных решений — это не прекращающийся процесс. В стать...

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

Google Dorking или используем Гугл на максимум Вступление Google Dorks или Google Hacking — техника, используемая СМИ, следственными органами, инженерами по безопасности и любыми пользователями для создания запросов в различных поисковых системах для обнаружения скрытой информации и уязвимостях, которые можно обнаружить...

Перепрошивать смартфоны Android стало намного проще Компания Google представила новый сервис Android Flash Tool. Главным образом сервис предназначен для разработчиков и энтузиастов. Он упростит процесс установки сборок Android на разные мобильные устройства.  Android Flash Tool позволяет быстро прошить новые смартф...

Удалить всё: как стереть данные и вернуть NVMe SSD к заводским настройкам Привет, Хабр! Мы часто говорим о способах восстановления данных на магнитных и твердотельных накопителях, резервном копировании, создании RAID’ов и прочих ухищрениях, которые помогают не остаться без важной информации в самый неподходящий момент нашей цифровой жизни. А что д...

Для энергетиков разработают геоинформационную систему Новая IT-система автоматизирует процесс обработки, хранения и анализа данных об электросетевых объектах. Таким образом, операторы сервиса смогут в режиме онлайн наблюдать за состоянием инфраструктурных объектов в привязке к их месторасположению и оперативно определять, где т...

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

Android: обнаружение Frida, отключение проверки на root и Android 11 Для подписчиковСегодня в выпуске: восемь способов обнаружить внедрение Frida в приложение, три совета, как защитить нативные библиотеки от реверса, отключение проверки на root в подопытном приложении, защита от метарефлексии в Android 11, принцип работы Huawei Quick Apps, а ...

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

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

IP-телефония. Виды VoIP устройств, обзор плюсов-минусов. Что выбрать? По данным исследований DISCOVERY Research Group среднегодовой темп роста IP-телефонии в России составляет 30%. Предположительно рынок IP-телефонии в России к 2021 году вырастет до 14,2 млрд. Как видите, рост довольно серьезный. С развитием услуг IP-телефонии растет и рынок V...

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

[Перевод] wc на D: 712 символов без единого ветвления После прочтения "Побиваем С программой в 80 строк на Хаскеле", которую я нашел на ХакерНьюс, я решил, что D может и лучше. И я написал wc на D. Прим.пер. Я предложил вышеупомянутую статью перевести 0xd34df00d, но он предпочел сделать по мотивам свою «Побеждая C дв...

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

Apple Pencil iOS 14 получит поддержку преобразования рукописного текста Apple работает над добавлением преобразования рукописного текста. Эта функция позволит пользователям использовать Apple Pencil для записи в любом текстовом поле, после чего она автоматически преобразует в печатный текст, благодаря OCR. Преобразователь рукописного текста в ...

Работа с IPv6 в PHP Недавно мы получили статус LIR и /29 блок IPv6. А следом возникла необходимость вести учёт назначенных подсетей. И коль скоро наш биллинг написан на PHP, пришлось немного проникнуться вопросом и осознать, что этот язык — не самый дружелюбный в плане работы с IPv6. Под катом ...

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

Samsung удалила функцию очистки памяти после крупного скандала Samsung удалила из своей системы софт, который отправляет данные в Китай Я попросту не представляю, чтобы крупный производитель уделял так много внимания публикациям на Reddit. Однако это случилось. Ранее один из пользователей данной соцсети опубликовал своё небольшое рассле...

В камере MIUI 12 появились яркие режимы съемки на длинной выдержке Компания Xiaomi продолжает добавлять в оболочку MIUI 12 новые функции, которые не были заявлены на момент весеннего анонса фирменной оболочки для смартфонов Xiaomi и Redmi. В предыдущей бета-версии появилась функция AI Shutter, о которой мы сообщали на прошлой неделе, а...

[Перевод] 3D-печать: краткие советы по переходу от CAD-модели к напечатанному объекту Сообщение от модератора: статья опубликована повторно, т.к. была снята с публикации из-за технической ошибки. Просьба отнестись с пониманием. Спасибо! В основе процесса трехмерной печати – будь это просто увлечение или источник дохода – всегда лежит конструкция изделия. Тем...

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

1000 и 1 пост: с Днём рождения, Хабр ❤ 26 мая — День рождения Хабра. А ещё вышла наша 1000-ая публикация, которой могло бы не быть, если бы Хабр не был тем, который он есть. В этой статье мы расскажем о нашем пути и о наших выводах, которые удалось сделать за 4 года ведения блога. Но это ниже, под катом. А здесь ...

В столице состоялась пресс-конференция «Турецкие цитрусовые – самое время! Вкусные, натуральные турецкие цитрусовые в России» В расположенном в Москве пресс-центре «Комсомолки» было организовано проведение пресс-конференции, которая была посвящена турецким цитрусовым и их популярности на отечественном рынке. Напомним, что импорт этих фруктов стремительно растет в ноябре и декабре в связи с приближе...

Принцип SRP на примере Laravel Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel. Часто, описывая модель разработки MVC (MVP, MVVM или другие M**),...

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

Введение в архитектурный фреймворк для анализа данных Lena Привет, Хабр! Я расскажу об архитектурном фреймворке, который я разрабатываю. Архитектура определяет наиболее общее устройство программы и взаимодействие её компонентов. Lena как фреймворк реализует конкретную архитектуру для анализа данных (подробнее о ней ниже) и предостав...

[Из песочницы] Расчет временных ограничений для ПЛИС простым языком Здравствуйте. Эта статья написана для самых-самых новичков в мире ПЛИС. В ней я попытаюсь максимально просто и понятно рассказать что такое временны́е ограничения (timing constraints), накладываемые на проекты под ПЛИС. Статья создана на основе собственного опыта попыт...

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

Разведка с geo2ip и reverse-whois Разведка сетевых ресурсов компании главным образом заключается в брутфорсе поддоменов с последующим ресолвом найденных сетевых блоков. Далее могут быть найдены новые домены 2 уровня и процедура повторяется снова. Это позволяет найти новые IP-адреса на каждой итерации.Этот ме...

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

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

Самые популярные структуры данных Что такое структура данных? Проще говоря, структура данных — это контейнер, в котором хранятся данные в определенной компоновке (формате, или способе организации их в памяти). Эта «компоновка» позволяет структуре данных быть эффективной в одних операциях и неэффективной в др...

Знакомство с wal-g системой бекапирования PostgreSQL WAL-G — простой и эффективный инструмент для резервного копирования PostgreSQL в облака. По своей основной функциональности он является наследником популярного инструмента WAL-E, но переписанным на Go. Но в WAL-G есть одна важная новая особенность — дельта-копии. Дельта-копи...

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

Как уменьшить потребление wifi модулей в десять и более раз Добрый день, Всем!!! Данная статья в основном касается популярного модуля ESP8266 (ESP8285). Недавно на одном из форумов мне задали вопрос о протоколе ESP-NOW. В итоге решил рассказать о способах сокращения потребления датчиков и исполнительных устройств, работающих по WiFi,...

[Перевод] Аутентификация и чтение секретов в HashiCorp's Vault через GitLab CI Доброго времени суток, читатель! 22 апреля в GitLab выпустили релиз 12.10 и сообщили о том, что теперь CI-процесс может авторизовываться в Hashicorp's Vault через JSON Web Token (JWT), и для авторизации нет необходимости хранить токен для доступа к нужным policy в переменных...

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

Как получить OpenID/OAuth2 токен для тестирования front-end rest сервисов? Есть задача нагрузочно потестировать фронтальные веб рест апи. Ресты защищены OAuth с Authorization Code Grant. Значит появляется необходимость наличия валидного токена для Authorization: Bearer TOKEN. Вопрос — как его взять? И так это сделать красиво и правильно? Вот тут я...

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

[Перевод] Как технический долг убивает ваши проекты Каждый проект требует жертвы. Главное, чтобы не слишком большой. Команда Mail.Ru Cloud Solutions перевела статью Алекса Стейвли про минусы технического долга и его способность уничтожить даже самый успешный проект. Предупреждение автора: в этой статье не так много практики...

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

[Перевод] Проектируем bounded context с помощью Bounded Context Canvas: рецепт воркшопа Среди тем предстоящей конференции TechLead Conf 2020 будет детальное обсуждение Domain-Driven Design и EventStorming. Помимо подготовки 2-слотового доклада Константина Густова о DDD, доклада Сергея Баранова об EventStorming и митапа, во время которого мы будем создавать DDD-...

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

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

Модули в JavaScript Фронтенд-разработчики каждый день используют модули. Это может быть функция из локального файла или сторонняя библиотека из node_modules. Сегодня я кратко расскажу об основных модульных системах в JavaScript и некоторых нюансах их использования. Читать дальше →

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

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

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

Используем Google Tag Manager Server-Side вместо Zapier Появление Google Tag Manager Server Side привнесло большое количество возможностей в мир маркетологов и дата аналитиков. Так как инструмент новый не все понимают чем он может быть полезен конкретно для их компании. Одно из преимуществ GTM на сторонне сервера в том что вы мо...

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

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

Vivo, OPPO и Xiaomi создают новую систему беспроводной передачи файлов Мобильные гиганты vivo, OPPO и Xiaomi объявляют о сотрудничестве с целью создания инновационной системы беспроводной передачи файлов для пользователей по всему миру. Новая технология, ставшая инициативой «Объединения пирингового обмена данными» («Peer-to-Peer Transmission Al...

Развертывание Java приложения в OpenShift Казалось бы что здесь такого? подключаем к проекту fabric8-maven-plugin и вперед: сборка, запуск приложения в OpenShift. Но когда изучал хотелось большего понимания этого процесса, а затем хотелось большего контроля и свободы над процессом сборки и развертывания приложения в...

API, ради которых наконец-то стоит обновиться с Java 8. Часть 2 Продолжаем рассказ про API, которые появились в новых версиях Java. 1. Files.mismatch() Появился в: Java 12 На практике довольно часто возникает необходимость проверить, являются ли два файла в точности одинаковыми или нет. С помощью метода Files.mismatch(), появившегося в ...

TelegramBot. Базовый функционал. Стикеры и смайлы. (Часть 3) Один из вопросов, который часто приходит в личку — как работать со смайлами(эмодзи) и стикерами. Как с ними работать, какими инструментами пользуюсь я и т.д. В данной части будут рассмотрены такие вещи: как создать сообщение со стикером, как обработать полученное сообщен...

[Из песочницы] Быстрая разработка Web приложения на Vaadin и Spring Boot Целью данной статьи является систематизация процесса разработки веб приложения на Vaadin 14 с использованием Spring Boot. Перед прочтением данной статьи, рекомендую прочитать следующий материал: Введение в Spring Boot Spring Data JPA Lombok возвращает величие Java Vaadin F...

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

Google выпустила обновление Google Authenticator впервые за три года Google, что бы там ни говорили пользователи Android, очень ответственно относится к обновлениям. Поэтому редкий сервис компании обходится без апдейтов на протяжении хотя бы одного месяца. Штатные службы операционной системы и вовсе могут получить несколько патчей даже за од...

Тёмная Вселенная. Часть 1 Доброго времени суток, уважаемое хабрасообщество! Как я и обещал после прошлой статьи по теории струн, сегодня мы попробуем приоткрыть завесу тайн и пробежаться по костылям новым веяниям в космологии — попробуем взглянуть на тернистый путь, который прошли ученые, и разобрать...

SVM. Объяснение с нуля, имплементация и подробный разбор Привет всем, кто выбрал путь ML-самурая! Введение: В данной статье рассмотрим метод опорных векторов (англ. SVM, Support Vector Machine) для задачи классификации. Будет представлена основная идея алгоритма, вывод настройки его весов и разобрана простая реализация своими рука...

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

[Перевод] 5 алгоритмов регрессии в машинном обучении, о которых вам следует знать Источник: Vecteezy Да, линейная регрессия не единственная Быстренько назовите пять алгоритмов машинного обучения. Вряд ли вы назовете много алгоритмов регрессии. В конце концов, единственным широко распространенным алгоритмом регрессии является линейная регрессия, главны...

Лучшее приложение для рисования на iPad получило крупное обновление Компания Savage Interactive выпустила крупное обновление для популярного приложения Procreate для iPad. В версии Procreate 5 используется полностью переработанный графический движок и добавлены многочисленные полезные функции.  Приложение Procreate для рисования я...

Использование RabbitMQ вместе с MonsterMQ часть 3 В нашей предыдущей статье мы создали очередь задач. Она предполагает что одна задача в виде сообщения доставляются одному получателю. В этой статье мы сделаем кое-что другое, мы будем отсылать одно сообщения сразу нескольким получателям. Мы создадим систему логгирования кото...

Магия 2-х строк на Lua или как донести исходные заголовки HTTP Authorization header-авторизации до web-сервиcа Статья будет полезна тем: кому необходимо задействовать несколько видов авторизации в одном запросе к серверу; кто хочет открывать сервисы мира Kubernetes/Docker в общий интернет, не задумываясь о способах защиты конкретного сервиса; думает, что всё уже кем-то сделано, ...

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