Search
Write a publication
Pull to refresh
-13
0

Инженер

Send message

Библиотеки для цифровой обработки сигналов на C++

Reading time3 min
Views12K

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

Подобрали три библиотеки на C++ для звукового синтеза.

Читать далее

8 недооцененных команд Git, которые должен знать каждый программист (помимо привычных pull, push, add, commit)

Reading time2 min
Views22K

Если вы сделали опечатку, когда вводили имя ветки, вам поможет вот такая команда.

Читать далее

Первый отечественный автомобильный AGM аккумулятор — AKOM ULTIMATUM. Большой безжалостный тест

Reading time9 min
Views22K

Привет, Хабр! Умеют ли в нашей стране делать стартерные AGM акумуляторы? Что они собой представляют, какова их специфика, стоят ли они своих денег? Для каждого ли легкового автомобиля подходят? Нуждаются ли во вводе в эксплуатацию, или можно сразу ставить под капот?

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

Blender, 1000 мелочей

Reading time9 min
Views39K

Собрал наиболее востребованные базовые приёмы работы с самым ламповым пакетом трёхмерной графики (в интерфейсе "классической" версии 2.79): немного общих моментов и часто используемые инструменты редактирования.

Продолжение (материалы и рендер)

Далее

Бесплатный персональный OpenVPN-сервер на базе Oracle Cloud

Reading time6 min
Views102K

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

Oracle, придя на рынок облачных сервисов, активно привлекает новых клиентов. И одним из инструментов такого привлечения являются Always Free сервисы - зарегистрировавшийся клиент может пользоваться каким-то достаточно ограниченным набором ресурсов, как это следует из названия, бесплатно и неограниченно во времени. В список этих ресурсов входит два compute инстанса (каждый 2 ядра, 1GB RAM, 45GB HDD), которые можно использовать подо что угодно, но в нашем случае мы можем построить на них полностью бесплатный OpenVPN-сервер, буквально не умея практически ничего, кроме тыкания в кнопку Next. Чем мы и займемся.

Читать далее

Фильтр Калмана: разбор навигационной системы БПЛА + исходный код

Reading time14 min
Views30K

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

Читать далее

Превращаем старый телефон на Android в резервный сервер с помощью UrBackup/Linux Deploy. Часть 1

Reading time15 min
Views34K


Сегодня я покажу вам, как запустить полноценный резервный сервер на рутованном телефоне Android с помощью UrBackup и Linux Deploy. Пластиковый мусор уже заполонил все вокруг, а в добавок к нему очередной глобальной эко-проблемой становятся еще и электронные отходы. Так зачем выбрасывать прекрасный, пусть даже потрескавшийся и поношенный, телефон?
Читать дальше →

Как с помощью Instagram искали самого разыскиваемого преступника Нидерландов

Reading time2 min
Views9.8K

Еще в 2011 году гражданин Ирана Шахин Гейбе был приговорен в Нидерландах к тринадцати годам лишения свободы за ограбление двоих людей и покушение на их убийство. После приговора ему удалось сбежать из-под стражи – он попал в список особо опасных и разыскиваемых преступников. Но найти его голландская полиция не смогла.

Шахин не просто скрылся – в 2015 году он открыл Instagram-аккаунт, где активно постил фотографии и обвинял голландский суд в некомпетентности. Самооправдательные речи сочетались с жизнеутверждающими высказываниями о ценности свободы и ссылками на фильм "Лицо со шрамом". Гео-теги он, предусмотрительно, не ставил.

В 2019 году за дело взялась некоммерческая частная ассоциация Billingcat, которая специализируется на OSINT-расследованиях. Они проанализировали аккаунт Шахина, а именно фото и видео, выложенные им в соцсеть. Для выгрузки видео использовался плагин Chrome «Downloader for Instagram», для построения связей между аккаунтами – «Helper Tools for Instagram».

Читать далее

Прямо как в «Матрице»: нейросеть обучили изменять ракурс любых видео

Reading time2 min
Views14K
В фильмах или роликах с YouTube мы наблюдаем происходящее из одной точки, нам не доступны перемещение по сцене или смещение угла зрения. Но, кажется, ситуация меняется. Так, исследователи из Политехнического университета Вирджинии и Facebook разработали новый алгоритм обработки видео. Благодаря ему можно произвольно изменять угол просмотра уже готового видеопотока. Что примечательно — алгоритм использует кадры, которые получены при съемке на одну камеру, совмещение нескольких видеопотоков с разных камер не требуется.

В основе нового алгоритма — нейросеть NeRF (Neural Radiance Fields for Unconstrained). Эта появившаяся в прошлом году сеть умеет превращать фотографии в объемную анимацию. Однако для достижения эффекта перемещения в видео проект пришлось существенно доработать.

Рисуем светом: длинная выдержка на Android

Reading time5 min
Views11K

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

Интересно? Тогда добро пожаловать под кат.

Читать далее

Немного о том, как работает виртуальный DOM в React

Reading time10 min
Views78K

image


Настоящий или реальный (real) DOM


DOM расшифровывается как Document Object Model (объектная модель документа). Проще говоря, DOM — это представление пользовательского интерфейса (user interface, UI) в приложении. При каждом изменении UI, DOM также обновляется для отображения этих изменений. Частые манипуляции с DOM негативно влияют на производительность.


Что делает манипуляции с DOM медленными?


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


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


Допустим, у нас имеется список из 10 элементов. Мы изменяем первый элемент. Большинство фреймворков перестроят весь список. Это в 10 раз больше работы, чем требуется! Только 1 элемент изменился, остальные 9 остались прежними.


Перестроение списка — это легкая задача для браузера, но современные веб-сайты могут осуществлять огромное количество манипуляций с DOM. Поэтому неэффективное обновление часто становится серьезной проблемой. Для решения данной проблемы команда React популяризовала нечто под названием виртуальный (virtual) DOM (VDOM).

Читать дальше →

Старт в музыкальном программировании — для начинающих достаточно и простого браузера

Reading time3 min
Views6.7K

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

Читать далее

USB на регистрах: isochronous endpoint на примере Audio device

Reading time13 min
Views6.7K
image<картинка с платой и наушниками>
Еще более низкий уровень (avr-vusb): habr.com/ru/post/460815
USB на регистрах: STM32L1 / STM32F1
USB на регистрах: bulk endpoint на примере Mass Storage
USB на регистрах: interrupt endpoint на примере HID

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

Как ни странно, этот тип конечной точки оказался самым мозговыносящим (и это после всего, что я успел повидать с stm'ками!). Тем не менее, сегодня мы сделаем аудиоустройство и заодно чуть-чуть допилим ядро библиотеки USB. Как обычно, исходные коды доступны:
github.com/COKPOWEHEU/usb/tree/main/4.Audio_L1
github.com/COKPOWEHEU/usb/tree/main/4.Audio_F1
Читать дальше →

А ваш фильтр Калмана правильно работает?

Reading time8 min
Views11K

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

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

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

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

Читать далее

Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel

Reading time11 min
Views246K

Разбираемся, как на самом деле считаются суммы и проценты в клиентском приложении.

Собираем все данные по портфелю и по всем операциям через Tinkoff API.

Строим огромную Excel таблицу со всеми данными.

Узнаём, сколько комиссий и налогов с нас уже содрали и что нам останется при выводе.

Пытаемся понять, что нам с этим делать.

Read more

О скрытых сетях и анонимности их разработчиков

Reading time5 min
Views21K

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

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

Читать далее

Начинающему QA: полезные функции снифферов на примере Charles Proxy

Reading time8 min
Views97K

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

В этой статье я расскажу об основных функциях снифферов, которые могут быть полезны QA. Попробую не вдаваться в теорию, а сфокусироваться на практике. Наиболее популярными представителями анализаторов трафика сейчас являются WhireShark, Fiddler и Charles Proxy. Об удобстве интерфейсов и функционале каждого из них можно рассуждать долго, учитывая все плюсы и минусы. Но здесь я отдал предпочтение Charles, поскольку сам им активно пользуюсь. Буду рассказывать на его примере.

Читать далее

Когда маркетологи заигрались и потеряли человека

Reading time7 min
Views59K

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

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

Читать далее

Книга «C++ для профи»

Reading time24 min
Views18K
image Привет, Хаброжители! С++ — популярный язык для создания ПО. В руках увлеченного программиста С++ становится прекрасным инструментом для создания лаконичного, эффективного и читаемого кода, которым можно гордиться.

«C++ для профи» адресован программистам среднего и продвинутого уровней, вы продеретесь сквозь тернии к самому ядру С++. Часть 1 охватывает основы языка С++ — от типов и функций до жизненного цикла объектов и выражений. В части II представлена стандартная библиотека C ++ и библиотеки Boost. Вы узнаете о специальных вспомогательных классах, структурах данных и алгоритмах, а также о том, как управлять файловыми системами и создавать высокопроизводительные программы, которые обмениваются данными по сети.
Читать дальше →

Cordova. Опыт Enterprise-проекта

Reading time6 min
Views8K

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

Немного истории

Четыре года назад для нужд нашей организации было принято решение написать мобильное приложение для двух платформ (iOS и Android). Программист был один, а опыта работы с нативными языками на тот момент не было. Для этих целей мы решили попробовать кроссплатформенную схему разработки от Cordova.

Читать далее

Information

Rating
5,993-rd
Location
Санкт-Петербург и область, Россия
Registered
Activity