Социальные сети Рунета
Пятница, 4 декабря 2020

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

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

Drag'n'Drop API: пример использования Доброго времени суток, друзья! В данном туториале мы рассмотрим встроенный механизм перетаскивания элементов на странице. Справедливости ради следует отметить, что указанный механизм можно реализовать с помощью событий мыши, как показывает Илья Кантор в своем учебнике, одн...

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

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

[Перевод] Анализ производительности CSS-анимаций Что выбрать для анимирования элементов веб-страниц? JavaScript или CSS? Этот вопрос однажды вынужден будет задать себе каждый веб-разработчик. А может — и не однажды. JavaScript-программисты создали множество библиотек для браузерной анимации. И, похоже, все вокруг оказалис...

[Из песочницы] 3 года программирования вслепую. Часть 1 Всем доброго времени суток! Хочу поделиться своим опытом из разряда «Войти в IT». Тем более, что он происходил в полностью невизуальном режиме. О незрячих людях в нашем обществе знают мало, а о незрячих программистах еще меньше. И эта статья предлагает проследить за тем, как...

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

Фичи JavaScript. Часть 1 Доброго времени суток, друзья! В этой статье я хочу поделиться с Вами некоторыми находками, сделанными мной в процессе изучения JavaScript. Возможно, Вы найдете для себя что-то интересное. Данная часть серии будет посвящена, преимущественно, работе с DOM. Рекомендую прим...

[Перевод] Концепции, лежащие в основе Web Audio API Доброго времени суток, друзья! В этой статье объясняются некоторые концепции из теории музыки, на основе которых работает Web Audio API (WAA). Зная эти концепции, вы сможете принимать взвешенные решения при проектировании аудио в приложении. Статья не сделает вас опытным ...

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

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

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

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

JavaScript: что нас ждет в следующем году Доброго времени суток, друзья! Данная статья посвящена возможностям JavaScript, которые будут представлены в новой версии спецификации (ECMAScript 2021, ES12). Речь пойдет о следующем: String.prototype.replaceAll() Promise.any() WeakRefs Операторы логического присваив...

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

[Перевод] 70 вопросов по JavaScript для подготовки к собеседованию Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Mark A «70 JavaScript Interview Questions». Надеюсь, эта статья будет полезна как начинающим разработчикам, так и бывалым (я хотел сказать, опытным). Первым для изучения, вторым для повторения. Лич...

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

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

[Перевод] Детальный обзор Well-known Symbols Доброго времени суток, друзья! Символ (Symbol) — это примитивный тип данных, представленный в ECMAScript2015 (ES6), позволяющий создавать уникальные идентификаторы: const uniqueKey = Symbol('SymbolName'). Вы можете использовать символы в качестве ключей для свойств объек...

Что такое Deno и заменит ли он Node.js? Доброго времени суток. Представляю вашему вниманию перевод статьи «Deno vs. Node.js — Here are the most Important Differences» автора Louis Petrik. Является ли Deno новым Node.js? Или всего лишь хорошей альтернативой? В этой статье я постараюсь ответить на данные вопросы...

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

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

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

[Перевод] Понимание CSS Grid (2 часть): Grid-линии Приветствую! Представляю вашему вниманию перевод статьи «Understanding CSS Grid: Grid Lines» автора Rachel Andrew В первой статье из серии "Понимание CSS Grid" мы рассмотрели, как создавать родительский grid-контейнер и различные свойства, применяемые к данному эл...

Управление кластером Docker Swarm с помощью Swarmpit Доброго времени суток, %username%. Пора расчехлить блог после 6 лет простоя и попробовать опять что-то полезное принести сообществу. Я крайне удивлен, что на хабре до сих пор нет ни одной статьи про Swarmpit. Я конечно понимаю, что наверняка большинство изучая Docker оста...

[Перевод] Понимание спецификации ECMAScript, часть 1 Доброго времени суток, друзья! В данной статье мы возьмем функцию из спецификации и разберем ее объяснение. Поехали. Предисловие Даже если вы хорошо знаете JavaScript, чтение спецификации может быть затруднительным. Следующий код демонстрирует использование Object.protot...

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

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

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

Решение нескольких задач от Amazon на примере JavaScript Доброго времени суток. Представляю вашему вниманию перевод статьи «Amazon Coding Interview Questions» автора Trung Anh Dang. В этой статье автор приводит несколько (три, если быть точнее) задач от Amazon (как он утверждает) и свои варианты решений. После ознакомления с ...

Web Storage API: примеры использования Доброго времени суток, друзья! В данной статье мы рассмотрим парочку примеров использования Web Storage API или объекта «Storage». Что конкретно мы будем делать? Научимся запоминать время воспроизведения видео. Поработаем с формой входа на страницу. Напишем логику спис...

Аппаратный конвертер HDMI-RGB (18/24-bit) Доброго времени суток, Хабр! И снова моя статья будет посвящена видео конвертеру. На этот раз это будет HDMI-RGB. Статью хочу посвятить не конкретно разработке, а одной проблеме с цветами, которая у меня возникла при подключении 18-bit матрицы к 24-bit драйверу. Читать да...

[Из песочницы] Конфигурация кластера из трех узлов ZooKeeper и брокеров Apache Kafka Доброго времени суток! В этой статье рассмотрим настройку кластера из трех узлов ZooKeeper (служба координации распределенной системы), два из которых — брокеры сообщений Kafka, третий — управляющий. В результате будет реализована следующая схема компонентов: Читать дал...

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

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

Изучаем VoIP-движок Mediastreamer2. Часть 8 Материал статьи взят с моего дзен-канала. Структура RTP-пакета В прошлой статье мы с помощью TShark выполнили захват RTP-пакетов, которыми обменивались наши приемник и передатчик. Ну а в этой мы раскрасим элементы пакета в разные цвета и поговорим об их назначении. Взглянем...

[Перевод] Руководство по Deno: примеры работы со средой выполнения TypeScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «The Deno Handbook: A TypeScript Runtime Tutorial with Code Examples» автора Flavio Copes. В этой статье мы научимся работать с Deno. Мы сравним его с Node.js и создадим с его помощью простой RES...

И снова обход блокировок. RouterOS+BGP+OSPF Доброго времени суток! Нового ничего не придумал; просто совместил несколько статей и настроил удобный обход блокировок. За основу взята статья Настройка BGP для обхода блокировок, версия 3, без VPS. Преимущества моей «модификации» — можно одновременно нескольким пользова...

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

100 теоретических вопросов по JavaScript Доброго времени суток, друзья! Представляю вашему вниманию список из первых 100 вопросов по основам JavaScript из этого репозитория с краткими ответами и ссылками на «Современный учебник по JavaScript» Ильи Кантора (JSR) и MDN. Также в конце имеются ссылки на статьи для п...

[Перевод] Canary Deployment в Kubernetes #2: Argo Rollouts Мы будем использовать k8s-нативный контроллер развертывания Argo Rollouts и GitlabCI для запуска Canary деплоя в Kubernetes https://unsplash.com/photos/V41PulGL1z0 Статьи этого цикла Canary Deployment в Kubernetes #1: Gitlab CI (Эта статья) Canary Deployment using Istio Ca...

JavaScript: 250+ практических вопроса (список + викторина + бонус) Доброго времени суток, друзья! Представляю вашему вниманию список из 250+ практических вопроса по JavaScript с подробными (насколько это возможно и уместно в контексте чеклиста) ответами, возможностью проверить свои знания с помощью викторины, состоящей из 30 случайных в...

[Перевод] Мифы о useEffect Доброго времени суток, друзья! Представляю вашему вниманию перевод небольшой заметки Kent C. Dodds, в которой он делится своими соображениями относительно правильного использования хука «useEffect». Я обучил React тысячи разработчиков. Как до, так и после релиза хуков. О...

Windows Native Applications и сервис Acronis Active Restore Сегодня продолжаем рассказ о том, как мы вместе с ребятами из Университета Иннополис разрабатываем технологию Active Restore, чтобы позволить пользователю как можно раньше начать работу на своей машине после сбоя. Речь пойдет о нативных приложениях Windows, включая особеннос...

[Из песочницы] Raspberry Pi и модем SIM7600E 4G HAT Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети. Пара...

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

Kubernetes на собственной инфраструктуре: «за» и «против» приватных облаков Уважаемые читатели, доброго дня! В данной статье Игорь Котенко, главный архитектор компании «Неофлекс», делится опытом развертывания платформы контейнеризации на инфраструктуре предприятия. Читать дальше →

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

HorizontalList с помощью SwiftUI Вступление SwiftUI — это современный UI framework, который позволяет разработчикам быстро и легко создавать собственные приложения на всех платформах Apple. Используя простой, понятный декларативный стиль, разработчики могут создавать потрясающие пользовательские интерфейсы ...

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

[Перевод] Рецепты по приготовлению оффлайн-приложений Доброго времени суток, друзья! Представляю вашему вниманию перевод замечательной статьи Джейка Арчибальда «Offline Cookbook», посвященной различным вариантам использования сервис-воркера (ServiceWorker API, далее по тексту — просто воркер) и интерфейса кэширования (Cache ...

Нативный — не значит быстрый. Обгоняем map, filter и reduce на больших массивах Несколько дней назад я выкладывал пост LINQ на JavaScript для самых маленьких. Но моя библиотека сильно уступала по производительности нативным методам и Lodash. В общем-то, сейчас мы будем менять ситуацию. Читать дальше →

[Перевод] Политика общего происхождения и CORS: визуальное руководство Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «CS Visualized: CORS» автора Lydia Hallie. Каждому разработчику приходилось сталкиваться с ошибкой Access to fetched has been blocked by CORS policy. Существует несколько способов быстрого решени...

В нативный код из уютного мира Java: путешествие туда и обратно (часть 2) Это вторая часть расшифровки доклада Ивана Углянского (dbg_nsk) с JPoint 2020, посвященного связи Java с нативным кодом. В прошлой части мы поговорили про традиционный способ связи — через Java Native Interface (JNI), рассмотрели специфичные ему проблемы и оценили производи...

[Перевод] Webpack: руководство для начинающих Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Webpack: A gentle introduction» автора Tyler McGinnis. Перед изучением новой технологии задайте себе два вопроса: Зачем нужен этот инструмент? Какие задачи он выполняет? Если вы не можете отв...

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

Как визуализировать и анимировать (геофизические) модели. Воксельные модели и сетчатые поверхности Также смотрите другие статьи серии "Как визуализировать и анимировать (геофизические) модели": Вводная статья со списком используемого программного обеспечения Показываем исходные данные 3D анимация и визуализация 4D данных Информативность визуализации Воксельные ...

[Перевод] Нативный Masonry Layout в CSS Grid Level 3 Недавно был опубликован черновик спецификации CSS Grid 3 уровня, в котором содержится описание способа создания Masonry-раскладки с помощью чистого CSS. В этой статье Rachel Andrew объясняет данную спецификацию с примерами, которые вы можете воспроизвести в браузере Firefox ...

OpenGL примитивы в стиле RAII Добрый день, хабра юзеры. Я давно не писал и возможно кто-то заждался статей от меня — конечно же нет. Так как свободного времени стало чутка поболее, а мой GitHub совершенно пуст, я решил написать свой клон Mein kampf Minecraft. С большой вероятностью, я задокументирую это...

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

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

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

Leaflet. Дружим Image с Canvas Доброго времени суток, дорогие хабрахабровцы! Leaflet — библиотека, позволяющая добавить интерактивные карты на Ваш сайт и легко их кастомизировать. Сегодня рассмотрим то, как можно разместить изображения на Canvas-слое карт, совместно с базовыми маркерами. Читать дальше ...

[Перевод] Tekton Pipeline — Kubernetes-нативные pipelines Tekton Pipeline — это новый проект, который позволяет запускать CI/CD pipelines используя Kubernetes-нативный подход. Первоначально Tekton Pipelines это часть проекта “Knative build”. Если вы хотите узнать больше об этом проекте, я настоятельно рекомендую посетить их сайт, ...

«ОПЭДИ»: мой первый опыт создания IoT устройства Доброго времени суток, хабр. Думаю многие люди задумывались о том, какое, к примеру, потребление электричества или уровень углекислого газа у них дома. Проект умного календаря «ОПЭДИ» создан именно для того, чтобы моментально и понятно передавать телеметрию дома в реальном ...

[Из песочницы] Использование контроллера Arduino для прерываний В данной стать я приведу пример использования arduino контроллера для вызова прерываний программы на C#. Стоит отметить, что в WindowsForms присутствует элемент Timer который включается и выполняет код через определенный промежуток времени. Я решил реализовать подобное...

Студенты пишут Uart драйвер для STM32F411 Доброго здравия всем! Сегодня я хочу вам рассказать, как постепенно студенты учатся разрабатывать ПО для микроконтроллера на примере драйвера UART на STM32F411. Код и архитектуру с небольшими моими изменениями и доработками я попытаюсь привести здесь. Сразу отмечу, что все...

[Перевод] Что JavaScript-разработчику следует знать о Curl Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «What JavaScript Developers Should Know About Curl» автора Valery Karpov. Curl — это популярный инструмент командной строки, часто используемый для отправки HTTP-запросов. Curl поддерживает большое...

[Перевод] Работаем с двухмерной физикой в JavaScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Martin Heinz «Implementing 2D Physics in JavaScript». Давайте немного развлечемся, создавая двухмерные симуляции и визуализации в JS. Создание реалистичной анимации физических процессов может казать...

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

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

[Перевод] С днем рождения, World Wide Web Доброго времени суток, друзья! В марте 1989 года сэр Тим Бернерс-Ли написал «Управление информацией: предложение», где содержалась идея, изменившая мир. Читать дальше →

Кастомные хуки. Part 1 Доброго времени суток, друзья! Представляю вашему вниманию первую десятку пользовательских хуков. Оглавление useMemoCompare useAsync useRequireAuth useRouter useAuth useEventListener useWhyDidYouUpdate useDarkMode useMedia useLocalStorage Читать дальше →

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

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

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

Насколько хорошо вы знаете JavaScript? Доброго времени суток! Как известно, одной из характерных черт JavaScript, наряду c мультипарадигменностью, слабой (динамической) типизацией, автоматическим управлением памятью и прототипным наследованием, является тот факт, что JS — это однопоточный (синхронный) язык. Чт...

[Из песочницы] Knight's life — онлайн Aрена с элементами RPG Всем доброго времени суток! Для тех кто не читал мои предыдущие посты, я разрабатываю мобильную игру. Онлайн арену с элементами РПГ. Основная идея игры состоит в арене и в развитие своих персонажей. Под персонажами имеется ввиду 3 основных класса. Воин. Маг. Разбойник. Нем...

Визуализация промисов и Async/Await Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «JavaScript Visualized: Promises & Async/Await» автора Lydia Hallie. Приходилось ли вам сталкиваться с JavaScript кодом, который… работает не так, как ожидается? Когда функции выполняются в про...

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

[Перевод] Flutter. Разбираемся, как рисовать различные фигуры с помощью CustomClipper Flutter предлагает различные виджеты для работы с определенным набором фигур, например, ClipRect, ClipRRect, ClipOval. Но также есть ClipPath, с помощью которого мы можем создавать любые типы фигур. В данной статье мы сосредоточимся на том, что можно сделать, используя Clip...

[Перевод] Canary деплой с Jenkins-X, Istio и Flagger Доброго времени суток, читатель! Вот мы и подошли к заключительной части цикла статей о Канареечных релизах в Kubernetes и методах их реализации. Желаю приятного чтения и надеюсь, что данный цикл был для вас полезным. Использование решения Jenkins X для выполнения Canary де...

Измерение расстояния до объектов с помощью RealSense D435 Задача обнаружения объектов на изображении сегодня является одной из ведущих в области машинного зрения. Ее суть заключается в том, чтобы не только классифицировать объект на снимке, но и указать его точное местоположение. Результаты обнаружения объекта могут быть дополнены...

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

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

Пишем full stack монолит с помощью Angular Universal + NestJS + PostgreSQL Привет, Хабр! В этой статье мы создадим готовый шаблон-монолит, который можно брать за основу нового fullstack приложения как скелет для навешивания функционала. Эта статья будет полезна, если вы: Начинающий  fullstack-разработчик; Стартапер, который пишет MVP чтобы провери...

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

[Перевод] Мои любимые инструменты разработчика Chrome Доброго времени суток, друзья! Chrome Developer Tools — очень мощный набор инструментов для разработки веб приложений. С помощью этих инструментов мы можем перемещаться по DOM, осуществлять проверку запросов на сервер, настраивать производительность приложений и др. Сред...

[Из песочницы] Обработка изображений ReactJS — NodeJS Доброго времени суток. Разбор полетов провожу на Reactjs (сторона клиента) и Nodejs (сторона сервера). Недавно в моем маленьком проекте встал вопрос, как легко и просто можно обмениваться изображениями по типу клиент — сервер. Сегодня мы научимся отправлять бинарные данн...

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

Подстава с NVMe на Линуксе Доброго времени суток. Хотел обратить внимание сообщества на характерную особенность Linux при работе с несколькими NVMe SSD в одной системе. Особенно актуально будет для тех кто любит делать из NVMe программные RAID массивы. Надеюсь, что информация приведенная ниже поможет...

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

[Из песочницы] RIPE Atlas Всем доброго времени суток! Свою дебютную статью на habr хочу посвятить весьма интересной теме – системе контроля качества сети Интернет RIPE Atlas. Частично поле моих интересов затрагивают вопросы исследования Интернета или киберпространства (термин стремительно набирает по...

Тестирование Flutter-приложений: инструменты, преимущества, проблемы Привет! Меня зовут Мария Лещинская, я QA-специалист в Surf. Наша компания разрабатывает нативные приложения с 2011 года, а с 2018-го мы занимаемся ещё и разработкой под Flutter. В этом материале сравним возможности тестирования нативных и кроссплатформенных приложений. Я по...

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

[Из песочницы] Как визуализировать и анимировать (геофизические) модели Данная публикация это начало цикла статей. Если вам интересно, скажите об этом, а если не интересно, цикл на этом и закончится, тогда просто смотрите ниже список необходимого программного обеспечения и примеры. Это не пошаговое руководство по визуализации трех- и четырехмерн...

Небольшой ликбез по водоподготовке Добрый день! Я занимаюсь уже более 6ти лет системами водоочистки, но уровня водоснабжения поселков и городов. Читая статьи и комментарии и вопросы в личных сообщениях решил составить маленький ликбез по водоочистке, который пригодится в том числе и для домашнего использовани...

Compositional Layout в iOS 13. Основы Добрый день, На практике iOS разработчик часто сталкивается с задачей показа большого количества информации в виде списка или в виде коллекции, как правило, для этого отлично подходят UITableView или UICollectionView. Также часто встречается задача реализации экрана, который...

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

[Перевод] Как происходят атаки при помощи голосового фишинга Что такое вишинг? Vishing (voice phishing, голосовой фишинг) — это вид атаки, при котором жертву пытаются убедить раскрыть ценную личную информацию по телефону. Хотя по описанию это похоже на старый добрый скам, вишинг-атаки имеют элементы хай-тека: например, в них применя...

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

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

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

Простой UDP hole punching на примере IPIP-туннеля Доброе время суток! В этой статье хочу рассказать как я реализовал (еще один) скрипт на Bash для соединения двух компьютеров, находящимися за NAT, с использованием технологии UDP hole punching на примере ОС Ubuntu/Debian. Читать дальше →

Пишем Pixel Art Maker на чистом JavaScript Доброго времени суток, друзья! Предисловие Однажды веб серфинг привел меня к этому. Позже обнаружил статью про то, как это работает. Казалось бы, ничего особенного — Пикачу, нарисованный средствами CSS. Данная техника называется Pixel Art (пиксельное искусство?). Что ...

[Перевод] Опциональная цепочка, объединение с null, и как они меняют наш подход к написанию кода Автор фото — Miguel Á. Padriñán. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Sam Sedighian «Optional Chaining, Null Coalescing and How They Will Change the Way You Write Code». Опциональная цепочка, объединение с null, и как они меняют подхо...

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

Tcl/Tk. Альтернативный файловый проводник для платформ Linux и Android Чем дольше я пишу различные программы на tcl/tk, тем больше восхищаюсь его возможностями и продуманностью. Но была одна вещь, которая не давала мне покою до последнего времени. При разработке GUI часто приходится пользоваться файловым проводником (tk_getSaveFile, tk_getOpen...

Webpack 5 — Asset Modules Доброго времени суток. Этим постом хочу начать серию статей про новые возможности грядущего webpack 5. Почему я хочу рассказывать про webpack? Как минимум потому, что я принимаю активное участие в его разработке и постоянно копаюсь в его внутренностях. В данном посте хочу ра...

PostGis. Как найти ошибку в пространственном запросе? Добрый день! Я — Виктор, разработчик в Gems development. Ежедневно наша команда работает с пространственными данными разной сложности и качества. При выполнении операции пространственного пересечения с помощью Postgis в СУБД Postgresql мы столкнулись со следующей ошибкой: ...

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

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

Применение CQRS & Event Sourcing в создании платформы для проведения онлайн-аукционов Коллеги, добрый день! Меня зовут Миша, я работаю программистом. В настоящей статье я хочу рассказать о том, как наша команда решила применить подход CQRS & Event Sourcing в проекте, представляющем собой площадку для проведения онлайн-аукционов. А также о том, что из эт...

Реализуем визуальный эффект из фильма «Матрица» Доброго времени суток, друзья! На днях пересмотрел «Матрицу». Слушайте, до чего же классный фильм (это касается только первой части). В очередной раз обратил внимание на «падающие» строчки с иероглифами на ихних экранах. Задумался о том, как это можно реализовать… максима...

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

155 вопросов по JavaScript Доброго времени суток, друзья! Продолжаю работать над вопросами по JavaScript в форме викторины, о чем ранее писал здесь. Адаптировал приложение под мобильники, поправил стили, добавил сервис-воркер, мета-теги, линки и манифест, также немного поколдовал с серверной частью...

TS Total Sight. Средство сбора событий, анализа инцидентов и автоматизации реагирования на угрозы Добрый день, в прошлых статьях мы познакомились с работой ELK Stack. А теперь обсудим возможности, которые можно реализовать специалисту по ИБ в использовании данных систем. Какие логи можно и нужно завести в elasticsearch. Рассмотрим, какую статистику можно получить, наст...

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

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

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

StickyMate — frontend анимация из HTML разметки StickyMate это инструмент, который поможет веб-разработчикам создавать анимации без знания JavaScript, позволяя задавать параметры анимации в формате JSON прямо в HTML разметке. StickyMate объединяет функции липкого позиционирования и анимации, основанной на прокрутке, что п...

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

[Из песочницы] Знакомство с FPGA iCE40 UltraPlus Mobile Development Platform от фирмы Lattice Semiconductor Введение Всем доброго времени суток, друзья! Недавно на работе обзавелись новенькой навороченной платой iCE40 UltraPlus Mobile Development Platform от фирмы Lattice Semiconductor. Со слов разработчиков на официальном сайте iCE40 UltraPlus MDP — это плата, на которой располож...

Сравнение российской рэп сцены используя R и техники Text Mining. Эпизод 2 R. Text Mining. Rap. Episode 2 Данная статья является продолжением материала «Сравнение российской рэп сцены используя R и техники Text Mining. Noize Mc and Kasta vs Pharaoh and Morgenshtern» и сейчас я постараюсь детально проанализировать творчество Нойз Мс и Оксимирона. Од...

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

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

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

[Перевод] Пишем современный маршрутизатор на JavaScript Доброго времени суток, друзья! Простые одностраничные приложения, основанные на React, Vue или чистом JavaScript, окружают нас повсюду. Хороший «одностраничник» предполагает соответствующий механизм маршрутизации. Такие библиотеки, как «navigo» или «react-router», принос...

Заметка о перебираемых объектах Доброго времени суток, друзья! Данная заметка не имеет особой практической ценности. С другой стороны, в ней исследуется некоторые «пограничные» возможности JavaScript, которые могут показаться вам интересными. Руководство по стилю JavaScript от Goggle советует отдавать ...

[Перевод] Шпаргалка по сортировке для Data Science Сортировка данных является основной задачей для ученых и инженеров по обработке данных. Пользователи Python могут выбирать наиболее удобную из ряда библиотек со встроенными, оптимизированными опциями сортировки. Некоторые даже работают параллельно с GPU. На удивление, неко...

Низкоуровневое обнаружение (LLD) в Zabbix через SQL-запросы Привет, Хабр! В этой статье поделюсь полезным подходом мониторинга в Zabbix — через обнаружение элементов данных в ответе на SQL-запрос. Этот тип мониторинга обычно используется в бизнес-мониторинге, когда собираются показатели производительности бизнес-процесса: количеств...

Java: вещи, которые могут показаться любопытными и разработчику со стажем Доброе время суток! Статья написана по следам публикации «Вещи, которые вы [возможно] не знали о Java» другого автора, которую я бы отнёс к категории «для начинающих». Читая и комментируя её, я понял, что есть некоторое количество достаточно любопытных вещей, которые я узна...

[Перевод] Как получить размеры экрана, окна и веб-страницы в JavaScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод небольшой заметки «How to Get the Screen, Window, and Web Page Sizes in JavaScript» автора Dmitri Pavlutin. Для определения ориентации окна браузера (ландшафтной или портретной) можно сравнить его ширину...

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

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

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

Новые подходы автоматизации Wildfly Доброго времени суток хаброжители. Достаточное количество времени назад я писал о первых шагах в автоматизации Wildfly, но прогресс не стоит на месте и пришло время взглянуть на новые подходы. Добро пожаловать под кат Читать дальше →

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

Маркетинг на рынке США: как SaaS-стартапу заработать десятки тысяч долларов с помощью AppSumo.com В русскоязычном интернете нет недостатка в статьях по выводу продукта на Product Hunt и другие похожие сервисы, но не так много материалов по использованию ресурса AppSumo. Я решил поделиться своим опытом продвижения продукта на американском рынке с помощью этого сервиса. ...

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

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

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

[Перевод] Руководство по Express.js. Часть 2 Доброго времени суток, друзья! Представляю вашему вниманию перевод второй части Руководства по Express — веб-феймворку для Node.js автора Flavio Copes. Предполагается, что вы знакомы с Node.js. Если нет, то прошу сюда. Без дальнейших предисловий. Читать дальше →

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

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

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

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

[Перевод] console.log не является частью JavaScript Доброго времени суток, друзья! Представляю вашему вниманию перевод заметки Nikhil John «console.log isn’t in the JavaScript language». Пожалуй, console.log является самой используемой командой в JS. Однако она не является частью JS. Не верите? А вы загляните в спецификацию...

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

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

OData babel плагин Статья описывает трансляцию кода TypeScript в OData запросы во время компиляции программы. Плагин babel-plugin-ts2odata выполняет разбор JavaScript AST с помощью библиотеки TsToOdata описание которой в моей предыдущей статье Типизированные запросы OData в TypeScript. Читать...

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

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

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

[Из песочницы] Подключение дисплея 10" ER-TFT101-1 к STM32F429 через FMC Всем доброго времени суток. В этой статье мы разберём подключение TFT дисплея ER-TFT101-1 (10 дюймов, RA8876 драйвер) к плате STM32F429L Discovery по 16-битному параллельному интерфейсу 8080 используя модуль FMC (flexible memory controller). О дисплейной сборке ER-TFT101-1 ...

НИТ PETG "выстрел глянцевости". Отзыв о пластике. Всем доброго времени суток.В этом посте покажу, что за пластик, как выглядит и впечатление.Я уже писал статью по пластику данной компании о PLA и ABS. В статье про абс можно посмотреть как выглядит коробка, а из Пла получились симпатичные фигурки. Ну это если кому то интерес...

Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio Привет, Хабр. Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и посмотрим на практике как передаются данные, для чего создадим простую реализацию м...

Пайка компонентов 0201. Слабонервных просьба удалиться от экранов Доброго времени суток, Хабр! Хочу поделиться опытом пайки плат. Также затрону тему установки совсем маленьких компонентов с типоразмером 0201. Читать дальше →

[Из песочницы] Вскрытие покажет: Решаем лёгкий crackme и пишем генератор ключа Доброго времени суток читающий. Мне хочется рассказать тебе про алгоритм решения одного лёгкого crackme и поделиться кодом генератора. Это был один из первых crackme, который я решил. На просторах сети найден был наш подопотный. Это сrackme. Естественно, что необходимо изуч...

[recovery mode] Все ли вы знаете о React key? Привет, Хабр! Я время от времени провожу собеседования, и когда вопрос касается React key, чаще всего я вижу недоумевающий взгляд, намекающий “Да, там и спрашивать вроде нечего?”. Если Вам кажется React key понятным и простым, тогда давайте проведем мини собеседование (данна...

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

Деревья выражений в C# на примере нахождения производной (Expression Tree Visitor vs Pattern matching) Доброго времени суток. Деревья выражений, особенно в сочетании с паттерном Visitor, всегда являлись довольно запутанной темой. Поэтому чем больше разнообразной информации по этой теме, чем больше примеров, тем легче интересующимся будет найти что-то, что им понятно и полезно...

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

Невангеры: Division impossible Доброго дня! Статья познакомит вас с очередными обновлениями проекта, посвящённого биомеханическим машинкам, с нотками ностальгии по различным произведениям винтажного игропрома. В этот раз в игру пришли артефакты, появилась доставка грузов, киберпространство, новые декорат...

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

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

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

Нативная компиляция в Quarkus – почему это важно Всем привет! С вами второй пост из нашей серии по Quarkus – сегодня поговорим о нативной компиляции. Quarkus – это Java-стек, заточенный под Kubernetes. И хотя здесь, конечно, многое еще предстоит сделать, мы хорошо проработали массу аспектов, включая оптимизацию JVM и це...

[Перевод] Корутины в C++20. Часть 2 Введение Данная статья является продолжением данной статьи. Бесконечный поток данных при помощи co_yield Код ниже реализует бесконечный поток данных. Корутина getNext использует co_yield для создания потока данных который начинается со start и выдает по запросу каждое новое ...

Басня о наследовании в JavaScript (юмор) Доброго времени суток, друзья! Дисклеймер: дальнейшее повествование носит юмористический. Все персонажи являются вымышленными, все совпадения случайны. Наследование (биология) — передача генетической информации (генетических признаков) от одного поколения организмов к дру...

О репозиториях замолвите слово В последнее время на хабре, и не только, можно наблюдать интерес GO сообщества к луковой/чистой архитектуре, энтерпрайз паттернам и прочему DDD. Читая статьи на данную тему и разбирая примеры кода, постоянно замечаю один момент — когда дело доходит до хранения сущностей пре...

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

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

[Перевод] Как обойти капчу-слайдер с помощью JS и Puppeteer Друзья, предлагаю вашему вниманию перевод статьи "How to bypass “slider CAPTCHA” with JS and Puppeteer" автора Filip Vitas. Спам для владельца сайта – огромная проблема. С другой стороны, капчи сводят меня с ума и ухудшают пользовательский опыт. Капчи отстой. Скаж...

Реализация ARP-спуфинга на Python Введение В данной статье я бы хотел продемонстрировать то, как можно реализовать собственную программу ARP-спуфинга на Python. Реализаций уже тысячи, но почти все они с использованием библиотеки Scapy и пары методов. Возможно данную библиотеку использовать эффективнее, не сп...

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

[Перевод] Трассировка теней с технологиями AMD: как реализованы тени в The Riftbreaker The Riftbreaker — изометрическая стратегия, сочетающая в себе элементы выживания, исследования и hack’n’slash. Разработанная на собственном движке Exor Studios — Schmetterling Engine 2.0, The Riftbreaker позволяет использовать новейшие разработки в игровой индустрии, одной и...

[Из песочницы] Моя попытка задержать COVID-19 (автономный дыхательный аппарат) Всем доброго дня. Как и многие я задумался о покупке защиты от COVID-19, прочитал много интересного и полезного. Статья и ресурс натолкнули меня на мысль попробовать сделать автономный дыхательный аппарат из доступных деталей и за небольшие деньги. Читать дальше →

Полное визуальное руководство-шпаргалка по Flexbox и Grid + туториал Доброго времени суток, друзья! Представляю вашему вниманию полное визуальное руководство-шпаргалку по всем свойствам CSS-модулей Flexbox и Grid. Основные источники: A Complete Guide to Flexbox, A Complete Guide to Grid. В конце статьи вас ждет небольшой туториал по созд...

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

Обзор Creality CR 6 SE или "что ты творишь, Creality?" ч.2 Всем доброго времени суток.Увидев достаточно много критики в первой части обзора хочу уточнить несколько моментов:1) Люди, что считают, что можно купить ендер 3 (про) и доработать его до того же состояния что и cr6 se от части правы. Но на это уйдет много и времени и денег2)...

Запускаем трансфлективный TFT дисплей на SSD1283A с помощью STM32 Введение Модель дисплея называется H016IT01. Данный дисплей интересен прежде всего тем, что он является транфлективным(transflective). Это означает, что изображение на нем должно быть видно даже под ярким солнцем. А также это чуть ли не единственная доступная модель с этой о...

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

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

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

[Из песочницы] Понимание итераторов в Python Python — особенный язык в плане итераций и их реализации, в этой статье мы подробно разберём устройство итерируемых объектов и пресловутого цикла for. Особенности, с которыми вы часто можете столкнуться в повседневной деятельности 1. Использование генератора дважды >>&...

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

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

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

Под капотом сортировок в STL Стандарт С++ почти никогда не указывает, как именно должен быть реализован тот или иной std алгоритм. Дается только описание того, что на входе, что на выходе и асимптотические ограничения по времени работы и памяти. В статье я постарался прикинуть, какие математические алг...

Обрабатываем данные на стороне клиента с помощью WebAssembly WebAssembly (сокр. WASM) — технология запуска предварительно скомпилированного бинарного кода в браузере на стороне клиента. Впервые была представлена в 2015 году и на текущий момент поддерживается большинством современных браузеров. Один из распространенный сценариев исп...

[Из песочницы] Запись и передача звука с устройства на устройство при помощи Multipeer Connectivity Добрый день, дорогой читатель! Некоторое время назад я решил попробовать записать и передать записанный звук с устройства на устройство. Как средство передачи записанного звука выбор пал на фреймворк MultipeerConnectivity. В этой статье я расскажу как это сделать. Первым д...

[Из песочницы] Настройка Debian, Nginx и Gunicorn для Django проекта Всем доброго времени суток. Была задача поднять свой Debian сервер на Nginx для проектов Django 3.х. Перерыв кучу информации в интернете, удалось это сделать соединив рекомендации с нескольких разных сайтов. Если вам интересно почитать, как настроить свой первый сервер д...

Хакатоны. Как выжать максимум и выжить Доброго всем времени суток! Меня зовут Александр Михалин — я .NET разработчик в компании “Рексофт”. За моей спиной 7 хакатонов, причем один в качестве члена жюри. Я не спал 8 ночей, выпил 52 чашки кофе, 15 банок редбулла, со мной в команде побывали 24 человека. Сегодня я х...

[Из песочницы] МРЭМ – 200. Электронный микроскоп родом из СССР Неоценимую помощь в размещении статьи оказал ZEvS_Poisk с Habr. К написанию этой статьи меня подтолкнула статья Алексея Брагина «Растровый микроскоп в гараже». С Алексеем я немного знаком по переписке и по совместному пребыванию на сайте microscopist.ru. Читать дальше &rarr...

GoLang и OpenCV (OpenVino && Cuda) Всем доброго времени суток. На хабре (да и вообще в интернете) уже не мало статей о работе с OpenCV на Go. Готовый код — это конечно интересно, а более подробную информацию об установке драйверов приходится собирать по кусочкам — постараюсь объединить все нужные телодвижени...

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

Коммуникации внутри удаленной команды — наш опыт В этой статье мы решили немного раскрыть внутреннюю кухню. В удаленной команде один из главных элементов — коммуникации. Расскажем, как это у нас организовано, — с целевыми параметрами (SLO) и конкретикой. Читать дальше →

[Перевод] Пришло время ленивой загрузки закадровых <iframe> Нативная отложенная загрузка для изображений была добавлена в Chrome 76 через атрибут loading, а затем пришла и в Firefox. Мы рады сообщить, что встроенная отложенная загрузка для iframe теперь стандартизирована и также поддерживается в браузерах на основе Chrome и Chromiu...

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

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

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

SQL HowTo: обрабатываем дерево — упорядочиваем иерархию с рекурсией и без Видимо, это осень так влияет, что за последний месяц на PostgreSQL уже и в «Морской бой» играли, и «Жизнь» Конвея эмулировали… Что уж оставаться в стороне! Давайте и мы потренируем мозг в реализации нетривиальных алгоритмов на SQL. Тем более, сегодняшняя тема родилась из об...

Библиотека ASE для атомных симуляций: создаем наночастицы Библиотека ASE Библиотека ASE — это python-библиотека для проведения атомных манипуляций и вычислений. В данной статье мы будем создавать наночастицы с помощью этой библиотеки. Установка Устанавливается ASE стандартно через pip: pip install ase. Читать дальше →

[Из песочницы] Байесовские сети при помощи Питона — что и зачем? Дисклеймер: данная статья является адаптированным переводом. Оригинал можно прочесть здесь. Байесовские сети при помощи Питона — объяснение с примерами Из-за ограниченности информации (особенно на родном русском) и ресурсов работы, байесовские сети окружены рядом проблем. ...

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

[Перевод] Рендеринг каустики воды в реальном времени В этой статье я представлю свою попытку обобщения вычислений каустики в реальном времени с помощью WebGL и ThreeJS. Тот факт, что это попытка, важен, ведь найти решение, работающее во всех случаях и обеспечивающее 60fps — сложная, если не невозможная задача. Но вы увидите, ч...

[Из песочницы] Что такое Unity Asset Store и как на нем зарабатывать? Доброго времени суток, Habr! Я являюсь паблишером Asset Store уже 4 года и хочу поделиться с вами своим опытом. Расскажу вам что такое Unity Asset Store глазами программиста и что нужно знать для создания ассета. Итак, что же такое этот Unity Asset Store? Это магазин в котор...

[Из песочницы] Direct2D в Rainmeter Доброго времени суток, Хабр. Всегда хотел свободы в Rainmeter'е. Однотипные скины, простые плагины — не то. Сегодня я расскажу как получить полную власть над Rainmeter'ом. Залезем в исходники Rainmeter'а и посмотрим, как же там всё так красиво рисуется… https://github.com...

Разворачиваем сервер для проверки In-app purchase за 60 минут Всем привет! Сегодня расскажу вам как развернуть сервер для проверки In-app Purchase и In-app Subscription для iOS и Android (server-server validation). На хабре есть статья от 2013 года про серверную проверку покупок. В статье говорится о том, что валидация в первую очередь...

Ещё одна статья «Как я сдавал PMP». Online. Лайфхаки Привет! Меня зовут, Дмитрий, и я сдал экзамен PMP в 2020 г., онлайн. В своей статье я хочу поделиться субъективным мнением про методику подготовки к экзамену и тех мелочах, которые я хотел бы знать до начала подготовки. Без воды. Статья не содержит неэтичных способов подго...

[Перевод] Выбор CSS макета — Grid или Flexbox? Удачно оформленный макет удерживает пользователей на сайте, так как делает важные элементы доступными и легко находимыми. Слабые же макеты отпугивают посетителей, которые покидают ресурс, так и не найдя того, за чем пришли. В веб-дизайне макет – это то, как сайт отображает...

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

[Перевод] Создание сайта с помощью C++ Возможно ли это? Да. Знаю, звучит странно и больше похоже на упражнение в бесполезности, но это не так. В этой статье я расскажу, как можно использовать С++ в разработке сайта, и приведу несколько достойных причин этому. Будет не только интересно, но также полезно и очень ...

Быстрый роутинг и NAT в Linux По мере исчерпания адресов IPv4, многие операторы связи столкнулись с необходимостью организовывать доступ своих клиентов в сеть с помощью трансляции адресов. В этой статье я расскажу, как можно получить производительность уровня Carrier Grade NAT на commodity серверах. Чита...

Как собрать гибридное облако с помощью Kubernetes, которое может заменить DBaaS Меня зовут Петр Зайцев, я генеральный директор, основатель Percona и хочу рассказать: как мы от open source-решений пришли к Database as a Service; какие существуют подходы к развертыванию баз данных в облаке; как Kubernetes может заменить DBaaS, устранив зависимость от ве...

I want to break free. Обзор беспроводной DECT гарнитуры Snom A170 Доброго дня, коллеги. Прошлой статьей мы завершили цикл обзоров на настольные телефоны, предлагаем теперь поговорить о гарнитурах, предоставляемых нашей компанией. Начнем с модели DECT-гарнитуры Snom A170. Посмотрите краткое видео о гарнитуре и приступайте к чтению! Читать д...

Android: security-новшества Android 11 и нативная версия трояна Joker Для подписчиковСегодня в выпуске: security-новшества Android 11, анализ нативной версии трояна Joker, советы о хранении секретных данных в приложении, способ усовершенствовать обфускацию кода на Kotlin, а также лучшие инструменты разработчика для Android и очередная подборка...

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

[Из песочницы] Очередная статья про wc Всем добрый день. Недавно на Хабре появилась статья Побеждая C двадцатью строками Haskell: пишем свой wc от @0xd34df00d. Автор, известный своей симпатией к функциональному программированию, реализовал на Хаскеле аналог утилиты wc, и подверг его оптимизации, получив в результ...

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

Как построить надежное приложение на базе Event sourcing? Привет! В этой статье я хочу рассказать, как из модного микросервисного приложения можно сделать рабочую, управляемую систему с помощью трех проверенных годами методик: на примере проекта внутренней performance-based рекламы Joom. Читать дальше →

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

Проверка Clang 11 с помощью PVS-Studio Время от времени нам приходится писать статьи о проверке очередной версии какого-то компилятора. Это неинтересно. Однако, как показывает практика, если этого долго не делать, люди начинают сомневаться, достоин ли анализатор PVS-Studio звания хорошего ловца багов и потенциал...

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

Сервис на языке Dart: каркас серверного приложения Оглавление 1. Введение 2. Backend 2.1. Инфраструктура. 2.2. Доменное имя. SSL 2.3. Каркас серверного приложения (мы находимся здесь) ... 3. Web 3.1. Flutter web-страница ... 4. Mobile ... Подготовка В ...

Интерактивные финансовые данные в 20 строках кода Статьи на финансовые темы появляются на Хабре регулярно. Во многих из них в качестве источника первичных данных используется неофициально открытое API Yahoo finance. В этой статье я покажу три способа добыть данные (включая Yahoo) а также как напилить из них простое вэб-прил...

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

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

Cлайдер с голосовым управлением на JavaScript Доброго времени суток, друзья! Я тут слайдер написал с голосовым управлением, распознаванием текста и его чтением (озвучиванием) средствами браузера. Функционал: Смена слайдов по нажатию кнопок или стрелок на клавиатуре Тоже самое по голосовым командам «вперед» и «назад...

Руководство по Node.js для начинающих. Часть 2 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Движок JavaScript V8 V8 — название движка JavaScript, поддерживаемого Google Chrome. Эта та штука, которая берет ваш JavaScript-код и выполня...

[Из песочницы] Boost.Compute или параллельные вычисления на GPU/CPU Привет, Хабр! По моим меркам я уже достаточно давно пишу код на C++ (почти 3 года), но до этого времени ещё не сталкивался с задачами, связанными с параллельными вычислениями. Я не увидел ни одной статьи о библиотеке Boost.Compute, поэтому эта статья будет именно о ней. Со...

Онлайн-лекция «Реактивные и нативные приложения на Java Spring и Quarkus» 28 июля приглашаем на онлайн-лекцию о разработке приложений на Java Spring, Quarkus, Vert.x и GraalVM с деплоем в MicroK8s. В программе лекции: Сергей Кошкинов и Андрей Смирнов покажут процесс создания приложения на Java-фреймворке Quarkus с деплоем в MicroK8s. А также ср...

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

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

Openwrt сниффер витой пары Всем доброго времени суток, моя не большая история началась с того как мы с другом спорили о стандартах 10BASE-T и 100BASE-T о полных и халф-дуплексах в итоге решил на примере готового устройства показать ему что слушать с пар можно. Прочитав статью взял свой старенький TP-...

Выбираем профессиональный 3D-сканер в 2020 году Доброго времени суток всем! Сегодня мы расскажем вам о том, какой профессиональный 3D-сканер лучше всего приобрести в 2020 году и об особенностях самых популярных моделей. Кроме того, в конце статьи вы сможете найти ключевые параметры, на которые необходимо ориентироваться п...

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

[Из песочницы] Реактивная разработка Telegram бота Доброго времени суток, Habr'овчане. В поисках различной информации по разработке бота для чата Telegram в сети Интернет обнаружил, что все tutorial'ы хоть и достаточно полны различными механиками взаимодействия с библиотекой «telegram-bot-api», никто не пришёл к умозаключен...

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

Знакомьтесь: новое решение Veeam Backup for AWS В начале декабря вышло в свет новое решение Veeam Backup for AWS для резервного копирования и восстановления облачных инфраструктур Amazon Elastic Compute Cloud (Amazon EC2). С его помощью можно создавать резервные копии инстансов ЕС2 и сохранять их в облачном хранилище Am...

Примеры использования наблюдателей в JavaScript Наблюдатель (observer) — это объект, который следит за состоянием определенного элемента и регистрирует происходящие в нем изменения. Элемент, который находится под наблюдением (чуть не написал «за которым организована слежка»), называется целевым. Наблюдатель может следит...

Индустрия 4.0: Big Data, цифровизация и рост экономики Всем привет! Меня зовут Дмитрий Соколов, я — руководитель отдела консалтинга и интеграции Orange Business Services в России и странах СНГ. В этой статье я хотел бы обсудить Индустрию 4.0 — это синоним четвертой промышленной революции. Ее важнейшие элементы — киберфизически...

VVVVVV??? VVVVVV!!! :) Если вы читаете этот текст – значит, вы либо подумали, что с заголовком статьи что-то не то, либо увидели в нём название знакомой компьютерной игры. VVVVVV – это инди-игра в жанре «платформер», завоевавшая сердца многих игроков своей приятной внешней простотой и не менее при...

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

[Из песочницы] Отладка микроконтроллеров ARM Cortex-M по UART В данной статье я расскажу вам как можно использовать регистры отладки и breakpoint'ов в микроконтроллерах, построенных на ядрах ARM Cortex-M Читать дальше →

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

[Из песочницы] Визуализируя нейронный машинный перевод (seq2seq модели с механизмом внимания) Привет, Хабр! Представляю вашему вниманию перевод статьи "Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)" автора Jay Alammar. Sequence-to-sequence модели (seq2seq) – это модели глубокого обучения, достигшие больших успех...

Уменьшение времени отклика при передаче данных по UDP Привет, Хабр! В этой статье я хочу рассказать о решении одной из типичных проблем, с которой Embox справляется лучше GNU/Linux. Речь идет о времени реакции на пакет, переданный по протоколу Ethernet. Как известно, основной характеристикой передачи данных по сети является пр...

История одного патча Apple В этом году мы с a1exdandy выступали на конференциях VolgaCTF и KazHackStan с докладом про Patch Diffing программ написанных на Оbjective-С и то, как с его помощью можно искать и находить 0-day и 1-day уязвимости в продуктах компании Apple. Видео выступления можно посмотрет...

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

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

[Из песочницы] Эволюция Material Design для AvaloniaUI Material.Avalonia — быстрый способ стилизовать под Material Desing приложение, написанное на AvaloniaUI — кросс-платформенном XAML фреймворке для .NET. Примерно с год назад на Харбе уже была статья о нашей библиотеке, однако с этого момента изменилось многое: мы избавились ...

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

Чем заняты сотрудники? Анализируем Jira Software Таск-треккер как исправный источник данных для стратегического управления. Звучит красиво. А в нашей компании это даже работает и приносит пользу. Данная статья является углублением к предыдущей: Автоматизация аналитики Jira средствами Apache NiFi. Теперь хочу подробнее рас...

Генерация типизированных ссылок на элементы управления Avalonia с атрибутом x:Name с помощью C# SourceGenerator В апреле 2020-го года разработчиками платформы .NET 5 был анонсирован новый способ генерации исходного кода на языке программирования C# — с помощью реализации интерфейса ISourceGenerator. Данный способ позволяет разработчикам анализировать пользовательский код и создавать...

Микрофонный усилитель и УНЧ для ЦАП и АЦП микроконтроллера Усилители сигналов для АЦП и ЦАП микроконтроллера В статье изложены подходы по построению схемотехники усилителей для микрофона и динамиков в микроконтроллерной технике. Занимаемое элементами усилителей пространство не превышает Читать дальше →

[Из песочницы] Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly Доброго времени суток, Хабр! Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя. Введение Такая аббревиатура как DevOps уже давно не является чем-то новым для IT с...

Google запустил инструмент для создания коротких промо-видео для YouTube Google представил бета-версию нового инструмента YouTube Video Builder, с помощью которого компании смогут создавать короткие промо-видео для YouTube.Новый инструмент доступен на бесплатной основе. Воспользоваться им могут компании любого размера.YouTube Video Builder анимир...

Типизированные запросы OData в TypeScript Традиционно запросы OData к данным выражаются в виде простых строк без проверки типов при компиляции или без поддержки IntelliSense, кроме того, разработчику приходится изучать синтаксис языка запросов. Данная статья описывает библиотеку TsToOdata, которая превращает запрос...

[Перевод] Front-end додзё: проекты для тренировки навыков разработчика (5 новых + 43 старых) 1. Клон Notion Приложение Notion полюбилось многим, оно позволяет оптимизировать рабочий процесс, работать с документами, планировать задачи, синхронизировать данные между устройствами. www.notion.so Чему вы научитесь, создавая клон Notion: HTML Drag and drop API. Пол...

Когда пандемия пойдёт на спад? Оцениваем на Python с помощью Pandas Всем привет. Видел несколько дашбордов по COVID-19, но не нашёл пока главного — прогноза времени спада эпидемии. Поэтому написал небольшой скрипт на Python. Он забирает данные из таблиц ВОЗ на Github'е, раскладывает по странам, строит линии тренда. И по ним делает прогноз...

Развертывание в Docker и Kubernetes образа StatsD+Grafana В начале моего изучения Docker и Kubernetes мне нехватало простого и понятного примера, с которым можно было бы «поиграться», изучая особенности этой среды. Этой статьей хотелось бы закрыть этот пробел. Здесь я расскажу об интеграции .NET Core приложения с Telegraf и Grafana...

Детекция изменений в сцене и сохранение видеофрагментов в формате h264 на Raspberry Pi без декодирования Добрый день. В этой статье я расскажу, далеко не в первый раз, как на Raspberry Pi 3 и более слабых платформах одновременно детектировать движение и сохранять/транслировать видео в формате H264. Я поделюсь с такими же новичками в мире Raspberry Pi, как и я, о том, что узнал...

[Перевод] В Kubernetes 1.18 сломали «kubectl run». Что на замену? Если вы применяли в работе предыдущие выпуски Kubernetes — тот же 1.16 — вы, возможно, видели странное предупреждение от kubectl run. До недавнего времени этой командой можно было сгенерировать объекты для развертывания или YAML из командной строки. Начиная с Kubernetes 1.1...

Что общего между LVM и матрешкой? Доброго времени суток. Хочу поделиться с сообществом практическим опытом построения системы хранения данных для KVM с использованием md RAID + LVM. В программе будет: Сборка md RAID 1 из NVMe SSD. Сборка md RAID 6 из SATA SSD и обычных дисков. Особенности работы TRIM/DI...

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

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

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

Вопрос про CAN FD Добрый день! Читаю с интересом ваши статьи и хотел бы задать вопрос, как компетентным людям в автомобильной отрасли — периодически сталкиваюсь с шиной CAN и в процессе изучения встречал информацию о перспективах перехода на CAN FD. Википедия говорит о переходе на FD больш...

Изучаем VoIP-движок Mediastreamer2. Часть 3 Материал статьи взят с моего дзен-канала. Улучшаем пример тонального генератора В предыдущей статье мы написали приложение тонального генератора и с его помощью извлекли звук из динамика компьютера. Теперь мы обратим внимание на то, что наша программа, заканчивая работу, не ...

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

[Перевод] Как создаётся изображение формата RAW? Рис. 1: фото на Nikon D610 с объективом AF-S 24-120mm f/4 и параметрами 24mm f/8 ISO100 Каковы базовые шаги создания изображения формата RAW на низком уровне? В данной статье я опишу, что происходит «под капотом» цифровой камеры, где необработанные данные превращаются в пр...

DIY беспроводной электропривод для окна со штатным запиранием на рукоятку Доброго времени суток! C появлением 3д принтеров появились огромные возможности в разработке самодельных устройств. В данной статье я хочу рассказать о своем изобретении - «умном открывателе пластикового окна», а если по-научному, то «беспроводном электроприводе ПВХ окна», ...

Язык запросов для TSDB. Улучшаем PromQL (Александр Валялкин, VictoriaMetrics) Добрый день! Сегодня я вам расскажу немного про PromQL. Это язык запросов для time-series баз данных. Затем расскажу, как мы его усовершенствовали в разрабатываемой нами time-series базе данных VictoriaMetrics. Читать дальше →

[Перевод] Hyper-V для разработчиков под Windows 10 Hyper-V более известен как технология виртуализации серверов; однако, начиная с Windows 8, он также доступен в клиентской операционной системе. В Windows 10 мы значительно улучшили работу, сделав Hyper-V отличным решением для разработчиков и ИТ-специалистов.   Microsoft Hype...

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

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

Тесты в Python: все основные подходы, плюсы и минусы. Доклад Яндекса Перед вами доклад Марии Зеленовой zelma — разработчика в Едадиле. За час Маша рассказала, в чём состоит тестирование программ, какие тесты бывают, зачем их писать. На простых примерах можно узнать про библиотеки для тестирования Python-кода (unittest, pytest, mock), принципы...

FAST VP в СХД Unity: как это работает Сегодня речь пойдет об интересной технологии, реализованной в СХД Unity/Unity XT, – FAST VP. Если вы впервые услышали о Unity, то по ссылке в конце статьи можно ознакомиться с характеристиками системы. В проектной команде Dell EMC я работал над FAST VP более года. Сегодня хо...

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

Как обрабатывать спутниковые снимки с помощью Sen2Cor Sen2Cor — программа для обработки снимков, сделанных со спутника Sentinel-2. В статье рассказывается, как установить, запустить и настроить её. Читать дальше →

[Перевод] Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Понач...

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

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

Создание Discord – бота на .NET Core с деплоем на VPS-сервер Привет, Хабровчане! Сегодня вы ознакомитесь со статьей, в которой будет рассказано, как создать бота, используя C# на .NET Core, и о том, как его завести на удаленном сервере. Статья будет состоять из предыстории, подготовительного этапа, написания логики и переноса бот...

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

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

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

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

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

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

Временные ограничения для внешних интерфейсов ПЛИС Здравствуйте. В данной статье я хочу по возможности максимально просто и понятно рассказать о том, как рассчитываются временны́е ограничения (timing constraints) на синхронные интерфейсы ПЛИС. Просто — не значит коротко, но зато простыми словами, которые вы сможете легк...

Книга “Разработка мобильных приложений на C# для iOS и Android” Уважаемые читатели, рады представить вам книгу “Разработка мобильных приложений на C# для iOS и Android” от уже хорошо известного вам автора и эксперта в Xamarin, Вячеслава Черникова из компании Binwell. Без долгих прелюдий передаю слово автору. Добрый день, уважаемый хабр...

[Перевод] Что такое «this» и с чем его едят Автор фото — Sebastian Herrmann. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Daniel James «What is 'this'? Why is that?». Что такое «this» и с чем его едят Когда я начинал изучать JavaScript, концепция this показалась мне крайне запутанной. ...

[Из песочницы] 6 самых распространённых ошибок разработчиков при написании HTML и CSS Привет, Хабр! Представляю вашему вниманию перевод статьи «The 6 most common mistakes developers when writing HTML and CSS» автора Stas Melnikov. Использование атрибута placeholder вместо элемента label Часто разработчики используют атрибут placeholder вместо элемента label....

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

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

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

Flutter, Dart — локальная база в сотни раз более быстрая чем SQLite или Shared Preferencies Примерно месяц назад общаясь с одним разработчиком приложения на Flutter встала проблема торможения обработки маленьких (в десятках тысяч) массивов данных на телефоне юзера. Многие приложения предполагают обработку данных на телефоне и, далее, их синхронизацию с бэкендом. На...

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

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

[Из песочницы] Анатомия каналов в Go Привет, Хабр! Представляю вашему вниманию перевод статьи "Anatomy of Channels in Go" автора Uday Hiwarale. Что такое каналы? Канал — это объект связи, с помощью которого горутины обмениваются данными. Технически это конвейер (или труба), откуда можно считывать или ...

[Перевод] CSS Houdini: практическое руководство Доброго времени суток, друзья! Что такое Houdini? Houdini (Гудини) — коллекция API браузера, значительно улучшающих процесс веб разработки, включая разработку стандартов CSS. Разработчики смогут расширять CSS, используя JavaScript, влияя на рендеринг CSS и указывая браузе...

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

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

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

[Из песочницы] Формат таблиц в pandas Если вы пока ещё не знаете как транслировать данные напрямую заказчику в подсознание или, на худой конец, текст сообщения в slack, вам пригодится информация о том, как сделать процесс интерпретации таблиц более быстрым и комфортным. Например, в excel для этого используется у...

Капля в море: Запуск Drupal в Kubernetes Я работаю в компании Initlab. Мы специализируемся на разработке и поддержке Drupal проектов. У нас есть продукт для быстрого создания Ecommerce решений, основанный на Drupal. В 2019 году мы начали решать задачу построения масштабируемой и отказоустойчивой инфраструктуры для...

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

Нативный способ покрасить SVG-иконки Когда вам нужна возможность менять цвет иконок через CSS, что вы делаете? Вариантов не так много. Обычно используются либо шрифты иконок, либо исходный код SVG скачивается и вставляется в HTML вручную. Шрифт нужно оптимизировать, иначе пользователь загрузит разом все иконки...

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

Создание своего образа с чистым CentOS 8.1 в облаке Amazon Данное руководство, является "форком" одноименной статьи про CentOS 5.9, и учитывает особенности новой OS. На данный момент в AWS Marketplace нет официального образа Centos8 от centos.org. Читать дальше →

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

MVVM на основе Combine в UIKit и SwiftUI приложениях для UIKit разработчиков Мы знаем, что ObservableObject классы с его @Published свойствами созданы в Combine специально для View Model в SwiftUI. Но в точности ту же самую View Model можно использовать и в UIKit для реализации архитектуры MVVM, хотя  в этом случае нам придется вручную «привязать» ...

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

IntelliJ IDEA: Structural Search & Replace Современные IDE — очень мощные инструменты, способные помогать разработчику в самых разных ситуациях. Но обратной стороной этой мощности является то, что большинство функций находится в тени — об их наличии мало кто подозревает. Простой пример одной...

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

[Перевод] Native vs Flutter vs React Native: тестируем производительность в работе с UI-элементами Давайте возьмём задачи разной сложности и сравним потребление памяти, FPS, загрузку CPU и GPU при работе мобильных приложений, созданных с помощью разных технологий. Читать дальше →

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

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

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

Освободи свой Android — алаверды О чём это? Данная статья написана в качестве продолжения статьи Освободи свой Android. Зачем? Очень просто — та статья очень подробно и хорошо описывает, как перешить смартфон на LineageOS. Но она просто требует продолжения о том, как потом с этим перешитым смартфоном жить. ...

Поговорим о начале заработка? Бизнес модель с 3д принтером Всем доброго времени суток.Достаточно часто я вижу вопросы о "начале бизнеса в 3д печати". Посему хотелось бы поделиться своими мыслями по данной проблеме. В статье не будет готового бизнес плана, но будет почва для размышления над ним (надеюсь). Чтобы не быть голословным ни...

MQTTv5.0: Обзор новых функций. Часть 2 Всем привет! Приведенный ниже материал является продолжением статьи о функционале, добавленном в новой версии MQTTv5.0. Если вы уже успели ее изучить, то для вас не составит труда заметить, что большинство новых функций базируется на понятии свойств, которые можно добавлят...

Исследуем качество кода операционной системы Zephyr Недавно мы рассказывали, что анализатор кода PVS-Studio начал интегрироваться с PlatformIO. Естественно, при этом команда разработчиков PVS-Studio общалась с командой PlatformIO и те предложили ради интереса проверить код операционной системы реального времени Zephyr. Почем...

Задачи по JavaScript от Microsoft Доброго времени суток, друзья! Представляю вашему вниманию три задания по JS, предложенные участникам Microsoft’s Online Assessment 2019. Microsoft’s Online Assessment — предварительный отбор кандидатов в разработчики. Тех, кто прошел предварительный отбор, приглашают на...

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

[Из песочницы] Стилизация Select-Option (почти) без JavaScript Стилизация некоторых стандартных элементов — довольно нетривиальная задача. Разумеется, хороший специалист может стилизовать что угодно, однако всё упирается в сложность этого действия. Для стилизации радиокнопок и чекбоксов потребуется совсем немного времени — идея стилиз...

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

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

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

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

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

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

Программа для для управления 3D принтером при печати с SD     Всем доброго времени суток.     Однажды, мне в голову пришла мысль, что жизнь проходит (мне 60 лет), а я так толком и не узнал, что такое 3D принтер и купил его. Купил в Китае Alunar M508 в разобранном виде. Постепенно, аппарат занял место среди других слесарных инструме...

[Перевод] Стилизация старого доброго элемента button Кнопка — это один из тех элементов, которые чаще всего используются на веб-страницах. Тег <button></button> может быть применён для запуска некоего процесса вроде вывода данных, открытия модального окна, отправки формы и так далее. В материале, перевод которого м...

Работаем с аудио: загрузка файлов, звук, прогресс, визуализация Доброго времени суток, друзья! Хочу поделиться опытом работы с аудио. Под «аудио» я подразумеваю HTMLAudioElement и Web Audio API. Что будем делать? Мы создадим нечто вроде плеера для одного трека (о полноценном проигрывателе — в одной из следующих статей). Условия: ...

Заметки о разработке МРРТ контроллера Приветствую! Ранее я уже рассказывал в статье о своем проекте контроллера заряда для небольшой СЭС с алгоритмом поиска ТММ. Сей проект вялотекущий из-за нехватки времени и порой отcутствия настроения, но все же он развивается. С момент последней статьи я сделал еще 2 ревизии...

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

Укрощение Горыныча 2, или Символьное исполнение в Ghidra С удовольствием и даже гордостью публикуем эту статью. Во-первых, потому что автор — участница нашей программы Summ3r of h4ck, Nalen98. А во-вторых, потому что это исследовательская работа с продолжением, что вдвойне интереснее. Ссылка на первую часть. Добрый день! Прошлого...

[Перевод] Java/Spring: Как полностью сгенерировать CRUD REST API с помощью Speedment В этой статье вы узнаете, как с помощью Speedment создать полный CRUD REST API для базы данных. С каждым годом становится все очевиднее, что Spring Framework является одним из наиболее широко используемых фреймворков для веб-разработки на Java. Читать дальше →

Пишем простой WYSIWYG-редактор с помощью ProseMirror Когда в Sports.ru понадобился свой WYSIWYG-редактор, мы решили сделать его на основе библиотеки ProseMirror. Одной из ключевых особенностей этого инструмента является модульность и широкие возможности кастомизации, поэтому с его помощью можно очень тонко подогнать редактор п...

[Из песочницы] Капча для codeigniter 4 Добрый день! Несмотря на заголовок статьи, в ней будут представлены общие методы и функции, которые я использовал для создания своей капчи, которые можно применить и в других фреймворках с минимальными правками. Некоторые функции и подходы основываются на материалах поста Ра...

Data Scientist: воспоминания о жизни до карантина и надежды на будущее Привет, Хабр! Сидеть в самоизоляции немного грустновато, хотя у нас работа и не прекращалась. Из дома работается неплохо: всегда под рукой печеньки, кот и безлимитный доступ к холодильнику. Но всё же иногда накатывает тоска по старым добрым временам. Вы спросите, о чем во...

Интересные находки с Aliexpress, на которые стоит обратить внимание: USB флеш-накопитель, кулер для ПК и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны товары с сайта Aliexpress, на которые стоит обратить внимание.

Интересные товары с Aliexpress, на которые стоит обратить внимание: беспроводная колонка, зонт и многое другое Всем доброго времени суток, дорогие друзья. В данной подборке собраны полезные и интересные товары с Aliexpress.

Интересные товары с Aliexpress, на которые стоит обратить внимание: головоломка, ирригатор и многое другое Доброго времени суток, дорогие читатели. В данной публикации собраны полезные, а также интересные товары с сайта Aliexpress.

Товары с Aliexpress, на которые стоит обратить внимание: проектор, ТВ-приставка и многое другое Доброго времени суток, дорогие читатели. В данной публикации собраны полезные, а также интересные товары с сайта Aliexpress.

[Перевод] Баги, которые разрушили ваш замок Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

Автоматизация ввода в SecureCRT с помощью скриптов У сетевых инженеров часто возникает задача, выполнить copy/past определенных фрагментов из блокнота в консоль. Копировать приходиться обычно несколько параметров: Username/Password и что-либо еще. Ускорить этот процесс позволяет использование скриптов. НО задачи написание ск...

[Из песочницы] Как писать хорошие комментарии к коду: «зачем», а не «как» Привет, Хабр! Представляю вашему вниманию перевод статьи «Writing good comments: the why, not the how» автора Jack Franklin. Комментирование кода в программистской среде нередко считается пустой тратой времени или неким сигналом о том, что код можно и улучшить. Вот цитата...

Edge-ик в тумане и другие приключения периферийных вычислений Добрый день. Меня зовут Игорь Хапов. Я руководитель разработки в Научно-техническом центре IBM. И сегодня я хотел бы вам помочь окунуться в мир периферийных вычислений, или edge computing, как его ещё называют. Я расскажу о том, что же такое edge computing и как он может пов...

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

[Перевод] Создание шейдерной анимации в Unity Недавно я работал над анимацией респауна и спецэффектом главного героя моей игры “King, Witch and Dragon”. Для этого спецэффекта мне нужна была пара сотен анимированных крыс. Создание двухсот мешей со скиннингом с анимацией ключевыми кадрами всего для одного спецэффекта — ...

[Из песочницы] Элементы управления переключателем состояния: печально известный случай кнопки отключения звука Всем привет, меня зовут Миша Хананашвили, я автор канала UXHorn и работаю исследователем в Сбере. Перевести статью ребят из NN-Group сподвигла потребность дать простую и понятную инструкцию для дизайнеров из продуктовых команд, к которой можно обращаться при необходимости. ...

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

[Перевод] Обнаружение лиц в Node.js с использованием Rust и WebAssembly В последней статье мы рассказывали, как вызывать функции Rust из Node.js. Сегодня мы расскажем, как написать приложение AIaaS (англ. Artificial Intelligence as a Service — «искусственный интеллект как услуга») на базе Node.js.Большинство приложений с искусственным интел...

Как же всё-таки не ошибаться? Всем привет! Меня зовут Виктория Головнева, я работаю джуниор аналитиком. Как и любой джун, я постоянно прохожу какие-то курсы, читаю статьи и книги по рабочей (и околорабочей) тематике, чтобы прокачивать мой уровень знаний в SQL, статистике, методах визуализации данных и мн...

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

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

Google запустил инструмент для создания коротких промо-видео для YouTube Google представил бета-версию нового инструмента YouTube Video Builder, с помощью которого компании смогут создавать короткие промо-видео для YouTube. Новый инструмент доступен на бесплатной основе. Воспользоваться им могут компании любого размера. YouTube Video Builder аним...

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

Живые и искусственные нейроны связали через интернет Группе ученых из университетов Великобритании, Германии, Италии, и Швейцарии удалось разработать систему связи искусственных нейронов с биологическими. Связали их через интернет при помощи мемристора, причем три элемента системы разместили в разных регионах Европы. Основ...

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

Переход c Cocoapods на Swift Package Manager Cocoapods считается наиболее популярным менеджером зависимостей для iOS. Последние годы Apple работает над развитием своего нативного менеджера зависимостей Swift Package Manager (SPM). Изначально его использование было возможно только для server-side Swift или приложений...

SSL-сертификаты от Let's Encrypt с cert-manager в Kubernetes В этой статье я расскажу о том, как автоматизировать заказ и продление сертификатов от Let’s Encrypt (и не только) для Ingress’а в Kubernetes с помощью дополнения cert-manager. Но начну с краткого введения в суть проблемы. Читать дальше →

32 отличия дизайна мобильного приложения под iOS и Android Железный дизайнер из Redmadrobot Design Lab Артур Абраров делится наблюдениями. Адаптировать дизайн под другую платформу — неотъемлемая часть работы дизайнера мобильных приложений. Цель этой работы — органично вписать дизайн в паттерны взаимодействия пользователя. К тому ...

Изучаем VoIP-движок Mediastreamer2. Часть 7 Материал статьи взят с моего дзен-канала. Используем TShark для анализа RTP-пакетов В прошлой статье мы собрали схему дистанционного управления из генератора и детектора тональных сигналов, связь между которыми осуществлялась с помощью RTP-потока. В этой статье мы продолжа...

Использование Always on display как альтернатива светодиодному индикатору в телефонах Samsung Всем доброго времени суток! После того, как разбился мой старый Galaxy s7 пришлось купить новый самсунг. При покупке я не придал значения, что в новом аппарате нет светодиодного индикатора, а его отсутствие показало мне, как я к нему привык. С другой стороны, во всех новых ...

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

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

Интересные находки с Aliexpress, на которые стоит обратить внимание: робот-пылесос, беспроводная зарядка и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны товары с сайта Aliexpress, на которые стоит обратить внимание.

Интересные товары с Aliexpress, на которые стоит обратить внимание: портативный дизельный обогреватель, раскладной нож и многое другое Всем доброго времени суток, дорогие друзья. В данной подборке собраны полезные и интересные товары с Aliexpress.

Интересные товары с Aliexpress, на которые стоит обратить внимание: титановый гироскоп, Wi-Fi адаптер и многое другое Доброго времени суток, дорогие читатели. В данной публикации собраны полезные, а также интересные товары с сайта Aliexpress.

Интересные товары с Aliexpress, на которые стоит обратить внимание: термокружка, стельки с подогревом и многое другое Доброго времени суток, дорогие читатели. В данной публикации собраны полезные, а также интересные товары с сайта Aliexpress.

Товары с Aliexpress, на которые стоит обратить внимание: набор отверток, умный термостат и другое Доброго времени суток, дорогие читатели. В данной публикации собраны полезные, а также интересные товары с сайта Aliexpress.

[Из песочницы] Репетитор по программированию: почему вы должны стать им и как это сделать Доброго времени суток, Хабр. Представляю Вашему вниманию перевод статьи:«Coding Mentor: Why You Should Become One and How to Do It» автора Oleg Sklyarov (Олег Скляров). Привет! Меня зовут Олег Скляров, я работаю руководителем группы разработки мобильных устройств для дете...

На пути к построению графика Добрый день, дорогой читатель! Эта статья возникла благодаря попытке взглянуть на операционный мониторинг со стороны аналитики. Она будет вам полезна, если: что-то из следующего списка хорошо знакомо: Grafana, InfluxDB, Prometheus, Zabbix или другая система мониторинга с п...

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

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

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

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

Google Play In-App Review API: пошаговое руководство по внедрению Летом 2020 года появилась новая классная функциональность в библиотеке Play Core — In-App Review [1]. При помощи этой фичи можно реализовать диалог с отзывом и оценкой пользователя. Это очень удобно и не ломает пользовательский сценарий. Фича полезна для повышения рейтинга и...

8 плюсов Flutter по сравнению с React Native Мобильная разработка все чаще опирается не на нативную разработку, а на использование фреймворков, помогающих создавать приложения сразу для нескольких платформ. Сегодня мне хочется сказать несколько слов о Flutter, который постепенно начинает отвоевывать рынок у React Nativ...

Как прокачать объявления с помощью модификаторов Google Ads [5 примеров] Кастомизация объявлений под конкретных пользователей и их потребности эффективна, но затратна по времени — если всё делать руками. Тем не менее можно автоматизировать создание объявлений — в частности, с помощью модификаторов. К ним относится динамическая вставка ключевиков...

[Перевод] Наблюдаемость SRE: пространства имен и структура метрик Spyglass by Shorai-san Структурированные пространства имен метрик важны для быстрого доступа к информации во время инцидентов. Нужно тщательно планировать имена и измерения метрик для поддержки широкого спектра запросов и расширений. Один из способов, который эффективен пр...

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

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

Предсказываем финансовые кризисы с помощью Python По состоянию на 9 марта 2020 мы имеем резкое снижение рынков США начиная с исторического максимума в 20-числах февраля 2020, которое на данный момент составило около -16%. Новости пестрят заголовками про надвигающуюся рецессию из-за короновируса, Россия вышла из сделки Опек+...

Описание основ криптопреобразования AES Доброго времени суток, Хабр! Примерно 3 месяца назад проходил собеседование frontend разработчиком и самый первый вопрос, который мне задали: “Что такое AES?” Ну как бы аморфное представление я все же имел о симметрично блочном шифровании AES, было дело даже использовал в од...

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

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

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

Пишем свою стратегию для виртуального скролла из Angular CDK Привет! В Angular CDK в седьмой версии появился виртуальный скролл. Он отлично работает, когда размер каждого элемента одинаков, — причем прямо «из коробки». Мы просто задаем размер в пикселях и указываем, к какому элементу нужно прокрутить контейнер, сделать ли это плавно, ...

Интересные находки с Aliexpress, на которые стоит обратить внимание: светодиодные косички, игровое кресло и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны товары с сайта Aliexpress, на которые стоит обратить внимание.

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

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

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

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

Интересные находки с Aliexpress, на которые стоит обратить внимание: селфи-дрон, универсальный кабель для зарядки и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны товары с сайта Aliexpress, на которые стоит обратить внимание.

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

Интересные находки с Aliexpress, на которые стоит обратить внимание: лазерный дальномер, power bank с беспроводной зарядкой и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны товары с сайта Aliexpress, на которые стоит обратить внимание.

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

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

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

Интересные находки с Aliexpress, на которые стоит обратить внимание: мини-камера, GSM-сигнализация и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

Интересные товары с Aliexpress, на которые стоит обратить внимание: станок для заточки сверл, зимние перчатки и многое другое Всем доброго времени суток, дорогие друзья. В данной подборке собраны полезные и интересные товары с Aliexpress.

Интересные товары с Aliexpress, на которые стоит обратить внимание: портативный водонагреватель, набор меламиновых губок и многое другое Всем доброго времени суток, дорогие друзья. В данной подборке собраны полезные и интересные товары с Aliexpress.

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

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

Делаем кроссплатформенное нативное десктоп приложение на Angular Как вы уже наверно знаете, Angular уже есть во многих платформах: Ionic (https://ionicframework.com/) NativeScript (https://www.nativescript.org/) NestJs (https://nestjs.com/) Universal (https://github.com/angular/universal) Platform-terminal, консольное приложение (https:...

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

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

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

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

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

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

[Перевод] Нововведения CSS – Июль 2020 (Gap, Aspect ratio, Masonry, Subgrid) Приветствую. Представляю вашему вниманию перевод статьи «CSS News July 2020», опубликованной 7 июля 2020 года автором Rachel Andrew В последнее время скорость внедрения новых возможностей технологий веб-разработки существенно увеличилась по сравнению с тем, как это было ран...

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

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

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

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

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

Добавляем электронную подпись запросов и документов в интерфейс CRM Герберт Уэллс очень просто объяснил, что такое телеграф: – Представьте себе гигантскую кошку, хвост которой в Лондоне, а голова в Ливерпуле. Если в Ливерпуле наступят кошке на хвост, в Лондоне замяукает. – А что такое беспроволочный телеграф? – Это то же самое, только бе...

Используем Kata Containers в Kubernetes Данная статья продолжает тему с Kata Containers, поднятую в прошлый раз. Сегодня я буду настраивать Kubernetes для работы с Kata Containers. Читать дальше →

[Из песочницы] Desktop pet на C# WPF Desktop pet — пусть и бесполезное, но весьма забавное украшение рабочего стола. В данной статье показана, наверное, самая простая его реализация. Гифка под катом! Читать дальше →

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

Простой графический интерфейс для M5Stack (Arduino) Привет! Сегодня мы познакомимся с такой штукой как M5 UI. Благодаря M5 UI Вы можете с помощью пары строк кода подключать всевозможные поля, кнопки, ползунки и переключатели, создавать условные слоя. Несмотря на то, что процесс подключения элементов UI очень прост, Вы также м...

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

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

LabVIEW NXG 5.0 — Основы и Блок-Диаграмма Это первая статья из небольшого цикла о графическом языке программирования G, который используется в LabVIEW. Язык этот пока не очень популярен — по индексу TIOBE на май 2020 года LabVIEW находится на сороковом месте аккурат между Julia и Haskell. Выпуск LabVIEW Community Ed...

Тестирование загрузчиков STEP формата для VR Мы, компания ООО «ВР Концепт», уже 5 лет ведем разработку программного обеспечения VR Concept для организации коллективной работы с любой 3D моделью, в том числе САПР, в шлемах виртуальной реальности. В данной статье мы хотели бы поделиться опытом интеграции нескольких загр...

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

Интересные находки с Aliexpress, на которые стоит обратить внимание: беспроводные наушники, коврик для мышки с RGB подсветкой и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны товары с сайта Aliexpress, на которые стоит обратить внимание.

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

Интересные находки с Aliexpress, на которые стоит обратить внимание: женские смарт-часы, Wi-Fi ретранслятор и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

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

Интересные находки с Aliexpress, на которые стоит обратить внимание: беспроводная ip- камера, пирометр и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

Интересные находки с Aliexpress, на которые стоит обратить внимание: аккумуляторы Xiaomi, Wi-Fi маршрутизатор и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

Интересные находки с Aliexpress, на которые стоит обратить внимание: мини HD камера, ночник Xiaomi и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

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

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

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

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

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

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

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

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

Интересные находки с Aliexpress, на которые стоит обратить внимание: умный замок, удлинитель ORICO и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

Интересные находки с Aliexpress, на которые стоит обратить внимание: ночник-гриб, беспроводная зарядка и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

Интересные находки с Aliexpress, на которые стоит обратить внимание: мини-проектор, надувной диван и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

Интересные находки с Aliexpress, на которые стоит обратить внимание: смарт-трекер, набор для пайки и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

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

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

Товары с Aliexpress, на которые стоит обратить внимание: металлический лед, фонтан на солнечных батареях и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

Товары с Aliexpress, на которые стоит обратить внимание: формы для льда, складной велосипедный замок и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

Товары с Aliexpress, о которых вы могли не знать: беспроводной геймпад, бесконтактный индикатор и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

Интересные товары с Aliexpress, на которые стоит обратить внимание: мощный зарядный блок, популярная беспроводная колонка и многое другое Всем доброго времени суток, дорогие друзья. В данной подборке собраны полезные и интересные товары с Aliexpress.

Мини-распродаж на Aliexpress и товары, на которые стоит обратить внимание: SSD накопитель, светодиодный фонарик и многое другое Доброго времени суток, дорогие читатели. В данной публикации собраны полезные, а также интересные товары с сайта Aliexpress.

Интересные товары с Aliexpress, на которые стоит обратить внимание: индукционный нагреватель, универсальный угловой кран и многое другое Доброго времени суток, дорогие читатели. В данной публикации собраны полезные, а также интересные товары с сайта Aliexpress.

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

Svelte: знакомимся с Действиями Недавно на Хабре появилась статья от @sanReal, где Александр рассказал о том, каким приёмам и каким возможностям Svelte он научился на собственном опыте. Я был немного удивлён не увидев в его списке упоминания одного из самых мощных инструментов фреймворка — Действий. К тому...

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

Мониторим базу PostgreSQL — кто виноват, и что делать Я уже рассказывал, как мы «ловим» проблемы PostgreSQL с помощью массового мониторинга логов на сотнях серверов одновременно. Но ведь кроме логов, эта СУБД предоставляет нам еще и множество инструментов для анализа ее состояния — грех ими не воспользоваться. Правда, если про...

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

Повторяем когортный анализ, выполненный в Power BI, силами Python Добрый день уважаемые читатели! Поводом для написания данной публикации послужил вебинар, который я посмотрел на Youtube. Он был посвящен когортному анализу продаж. Автор использовал для работы с данными платформу Power BI Desktop. Ссылку на указанное видео приводить не буду...

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

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

[Из песочницы] И снова об «Incorrect time zone information for Russian time zones » [.Net bug, ID: 693286] Добрый день, коллеги, спешу поделиться проблемой, возникшей при интеграции Java и .Net сервисов. Для пущей наглядности приведу пример: .Net сервис читает даные типа Date из базы данных, переводит их в тип long затем передает на сторону Java consumer'a, где уже из long создае...

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

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

[Из песочницы] Все, что вы должны знать о std::any Привет, Хабр! Представляем вашему вниманию перевод статьи «Everything You Need to Know About std::any from C++17» автора Bartlomiej Filipek. С помощью std::optional вы можете хранить один какой-то тип. С помощью std::variant вы можете хранить несколько типов в одном объек...

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

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

Python (+numba) быстрее си — серьёзно?! Часть 1. Теория Давно собирался написать статью о numba и о сравнении её быстродействия с си. Статья про хаскелл «Быстрее, чем C++; медленнее, чем PHP» подтолкнула к действию. В комментариях к этой статье упомянули о библиотеке numba и о том, что она магическим образом может приблизить скор...

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

Неофициальный гайд по Active Admin Статья про Ruby в блоге компании ДомКлик! Как так получилось, что в молодую компанию завезли мертвый язык? Секрет в том, что на Ruby можно быстро написать и протестировать бизнес-идею. И делается это не без помощи Rails и Active Admin — библиотеки, которая позволяет быстро с...

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

Gnuplot 5.0. Spiderplot на 4 оси своими руками При работе над визуализацией данных для статьи возникла необходимость иметь 4 оси с положительными метками на всех. Читать дальше →

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Интересные находки с Aliexpress, на которые стоит обратить внимание: смартфон Xiaomi Redmi Note 8 Pro, беспроводные наушники и многое другое Всем доброго времени суток, дорогие читатели. В данной подборке собраны полезные и популярные товары с сайта Aliexpress, на которые стоит обратить внимание.

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

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

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

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