Pull to refresh
-30
Ошнуров Андрей @andreoshread⁠-⁠only

Программист

Send message

Разделение звука в видеозаписях

Reading time8 min
Views9.3K

Традиционно популярными и активно исследуемыми областями в Deep Learning являются задачи обработки изображений или текстов. Тем не менее, задачи, связанные с обработкой звуков и аудиодорожек, полезны и могут найти практические приложения во многих областях. В данной статье я расскажу о решении задачи Sound Separation, но с одним отличием — в качестве входных данных используются видеозаписи. Обычно для задач разделения звука используют аудио данные с готовой разметкой (разделением на отдельные источники). В подходе, изначально предложенном в статье Sound of Pixels используются видеозаписи, а также не требуется явная разметка для источников звука.

Читать далее

Обновление PHP в окружении BitrixVM с использованием Docker

Reading time12 min
Views13K

Введение

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

Предыстория

Несколько месяцев назад перед нами встала задача обновления PHP до версии 7.4 на одном из наших проектов. Проект был расположен внутри виртуальной машины с развернутой на ней BitrixVM версии 7.2.2. Заглянув в меню Битрикс при обращениях к скрипту /root/menu.sh было обнаружено, что обновление PHP не возможно без обновления Битрикс окружения. При этом само обновление окружения выполняется из бета репозиториев, так как текущая стабильная версия не поддерживала работу с PHP версии 7.4 согласно курсу:

https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=32&LESSON_ID=12862

Прошерстив форумы Битрикс, мы не нашли конкретного ответа, когда будет выполнено обновление BitrixVM до стабильной версии с поддержкой с PHP 7.4. В связи с чем, нами было принято решение обновить версию окружения до актуальной беты на одном из виртуальных серверов разработки, предварительно сделав snapshot.

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

BitrixVM хранит лог выполняемых задач по пути /opt/webdir/temp/, в ходе выполнения обновления окружения в логе возникали различные ошибки, вызывавшие нарушение процесса обновления. Поиск и решение подобных ошибок занимало достаточный период времени. Как пример, возникали ошибки подключения репозитория:

Читать далее

Водородный транспорт — хорошая идея только в теории

Reading time13 min
Views58K

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

Кроме того, если вы — нефтяная компания, и спрос на бензин и дизель начнет уменьшаться, вы только что обнаружили новое топливо, которое можно продавать! Вы спасены!

Все правильно?

Научитесь создавать приложения на F#

Reading time2 min
Views8.8K

Вы можете быть новичком в .NET или опытным разработчиком C#/VB.NET, который хочет расширить свои горизонты. В любом случае, F# -- отличный язык для изучения.

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

Если вы хотите изучить F#, сейчас идеальное время -- у нас есть много свежих видео, курсов и многого другого, чтобы помочь вам начать работу уже сегодня.

Читать далее

Многообразие Linux-дистрибутивов

Level of difficultyEasy
Reading time54 min
Views182K

Цель этой статьи показать и объяснить многообразие дистрибутивов Линукс. Показать основные сходства (они же все почему то называются "Линуксы" или даже правильнее "GNU/Linux") и основные различия (если бы не было различий их бы столько не существовало).

Плюс рассмотрим несколько наиболее задаваемых новичками вопросов:
- Сколько их (Linux-дистрибутивов)? Зачем так много?
- Основанный на другом дистрибутиве" - не пиратство ли это?
- Платный Linux - Как можно продавать то, что по определению распространяется бесплатно?
- Что такое "отечественный Linux"?

Читать далее

Создаём одинаковое приложение 5 раз

Reading time13 min
Views9.7K

На написание этой статьи меня вдохновил YouTube-канал Fireship, записывающий отличные видео о веб-разработке, крайне рекомендую их посмотреть, если вам интересна эта тема.

Вот видео с канала, в котором в 10 фреймворках создают todo-приложение:


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

Почему свинцово-кислотные аккумуляторы так сложно заряжать?

Reading time9 min
Views41K

Особенно глубоко разряженные, как в сегодняшнем опыте на видео. Особенно находившиеся какое-то время в состоянии частичной заряженности (PSoC), вследствие чего, сульфатированные. Учитывая неизбежный саморазряд при хранении и недозаряд под капотом, рано или поздно это судьба почти каждой АКБ.

Особенно изношенные AGM, склонные к сильному нагреву. Особенно, как ни странно, самые надёжные и долговечные АКБ премиум-сегмента, плотные сепараторы которых препятствуют как разрушению пластин, так и перемешиванию электролита. Особенно когда нет пробок для доступа к электролиту, как в большинстве современных аккумуляторов.

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

Об этом и пойдёт речь, на примере глубоко разряженной гибридной (Sb/Ca) Тюмень Стандарт 6СТ-60L.
Бонус: рассмотрим, почему ток и напряжение на клеммах АКБ при заряде не соответствуют установленным

DIY. Проектирование печатных плат гитарных примочек. Как я к этому пришёл?

Reading time3 min
Views8.1K

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

Вам приходилось когда-нибудь слышать про эффект IKEA? Это как раз то, что происходит с вами, будь вы опытным мастером или же новичком. То, что пусть и отчасти сделали мы сами будет цениться гораздо сильнее, нежели чем купленная в магазине «просто вещь». Для меня все это именно так и работает: педали за 2к вдохновляют меня сильнее чем за 20. 

Читать далее

Дизайн, темы, блеклист – что внутри новой версии geekr

Reading time8 min
Views40K


И снова привет — год назад я написал на Хабр о своём клиенте для этой площадки, который я разрабатывал в качестве проекта для оттачивания навыков программирования. Теперь мой Хабр посетило больше 30 тысяч человек, а я за прошедший год полностью обновил дизайн, прикрутил авторизацию, увеличил скорость приложения и оптимизировал клиент для разных viewport'ов.


Попробовать кастомный клиент можно по этой ссылке — geekr.vercel.app, а если интересно, как я такую вещь сделал и что планируется сделать в будущем, то прошу под кат.

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

Как разработчику может помочь собственный YouTube-канал?

Reading time14 min
Views5.1K

Сегодня вышел специальный выпуск моего подкаста Frontend Weekend, где я (его бессменный ведущий Андрей Смирнов) поговорил с Алексеем Картынником, который на своем мега-популярном YouTube-канале представляется как Лекс АйТиБорода.

Ну а здесь частично решили расшифровать подкаст в формате классического интервью, из которого вы сможете узнать, зачем разработчику создавать свой YouTube-канал, сколько он может приносить денег и кем лучше быть: сеньором или миддлом.

Читать далее

Websocket API на nodejs по новому

Reading time5 min
Views21K

О чем эта статья?

1. uWebsockets.js - высокопроизводительная реализация http/websocket сервера для nodejs

2. AsyncAPI - спецификация для асинхронного API, с помощью которой можно создать описание Websocket API

3. Простой пример websocket API с использованием библиотеки wsapix:
- создадим websocket сервер, используя uWebsockets.js
- настроим валидацию получаемых и отправляемых сообщений
- добавим генерацию документации из кода

Читать далее

Ставим и настраиваем OpenVPN-сервер на Linux, секреты использования утилиты Cron…

Reading time2 min
Views8.2K

... а также 8 инструментов безопасности для Kubernetes.

Подборка новых шпаргалок, вебинаров, свежих статей и полезных книг в самом полезном дайджесте на просторах #Хабр! Оставайтесь с нами – станьте частью DevNation!

Читать дальше: Ставим и настраиваем...

Самогонный аппарат — полный автомат. Часть 3. Заключительная

Reading time15 min
Views28K
Прошло +100500 лет с момента первой и второй публикаций. Настала пора поставить точку в этом многолетнем вопросе.

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


КДПВ. Точь-в-точь — мой аппарат
Поехали? Нет! Погнали!

Способ достать локальные переменные функции в Python

Reading time3 min
Views9.1K

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

Хороший пример: класс SSHOperator, метод execute().

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

Читать далее

Esp32-машинка с камерой. Проект для быстрой сборки

Reading time21 min
Views41K


Среди проектов небольших управляемых машинок, оснащенных камерой, особое место занимают те, которые позволяют быстро, с минимумом деталей собрать нечто управляемое по wi-fi. Но, как правило, сложности здесь возникают даже на этапе подборки компонентов, определения их совместимости. В данном проекте мы попробуем в бою esp32-cam и драйвер двигателя — tb6612fng.

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

Проект рассчитан на начинающих, а также немного продолжающих.
Читать дальше →

Визуальное автотестирование сайтов с помощью Codeception

Reading time8 min
Views6.4K

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

Читать далее

Новые API в .NET 6

Reading time4 min
Views14K

.NET 6 в процессе разработки, и я хотел поделиться некоторыми из моих любимых новых API в .NET и ASP.NET Core, которые вам обязательно понравятся. Почему они понравятся? Потому что они разработаны при прямом участии нашего фантастического сообщества разработчиков .NET. Подробнее в статье.

Читать далее

Подчищаем за собой: учимся удалять данные с HDD и SSD

Reading time17 min
Views130K

Благодаря научно-техническому прогрессу контролировать данные с каждым годом становится все сложнее. И дело отнюдь не только в развитии сетевых технологий. Если раньше чтобы быть уверенным в собственной безопасности достаточно было сжечь несколько писем пикантного содержания, то сегодня удаляя компрометирующие вас документы с жесткого диска или SSD вы не можете быть на 100% уверены, что их не удастся восстановить. О том, почему так происходит и какие существуют способы гарантированного уничтожения информации, мы и поговорим в сегодняшнем материале.

Читать далее

Ускорение процесса разработки под Embedded Linux

Reading time11 min
Views13K

Любой программист, решивший заняться разработкой под Embedded Linux, придя буть-то из высокоуровневых языков программирования, либо из программирования микроконтроллеров на С/С++, неизбежно оказывается удивлен крайней недружелюбностью embedded linux. Текстовый блокнот и консольные утилиты вместо столь привычных IDE, и отладка по логам вместо отладки программатором сильно замедляют процесс разработки. В статье описывается, как мне удалось снизить время доставки изменений до целевого железа при кросс-компиляции в 10 раз.

Читать далее

Книга «Программируем на C# 8.0. Разработка приложений»

Reading time12 min
Views7.9K
image Привет, Хаброжители!

C# — универсальный язык, который может практически всё! Иэн Гриффитс рассказывает о его возможностях с точки зрения разработчика, перед которым стоит задача быстро и эффективно создавать приложения любой сложности.

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

Information

Rating
Does not participate
Location
Уфа, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity