Собрали в одном месте самые важные ссылки
читайте авторский блог
Автор: Николай Хабаров, Embedded Expert DataArt, евангелист технологий умного дома. В этой статье я расскажу, как написать обычное user space-приложение на Python для современного ARM-процессора с ОС Linux для генерирования сложных последовательностей импульсов на выводах платы. Суть идеи — использовать DMA-модуль процессора для копирования из предварительно подготовленного буфера в памяти в GPIO с высокой точностью по времени. Когда речь заходит о необходимости сгенерировать сложную последовательность импульсов, например, для шаговых двигателей, обычно используют старые добрые простенькие микроконтроллеры с установленной специальной операционной системой реального времени или вообще без операционной системы. Реализация при этом, в лучшем случае, написана на C++. Сейчас процессоры шагнули далеко вперед и имеют массу преимуществ: производительность, возможность использования операционной системы Linux со всей инфраструктурой и ПО, а также высокоуровневых языков программирования, таких как Python. И все же современные микроконтроллеры для генерирования сложных последовательностей на выводах GPIO, как правило, не используют. Я реализовал генерацию импульсов для управления шаговыми двигателями проекта PyCNC — проекта контроллера машин с ЧПУ, станков, 3D-принтеров, полностью написанного на Python и запускаемого на современном ARM-процессоре на плате Raspberry Pi. Статья может быть полезна желающим реализовать генерацию сложных последовательностей установки уровней на выводах одного или нескольких GPIO на других высокоуровневых языках программирования, используя DMA-модули других процессоров. Читать дальше →
В этой статье я расскажу, как написать обычное user space-приложение на Python для современного ARM-процессора с ОС Linux для генерирования сложных последовательностей импульсов на выводах платы. Суть идеи — использовать DMA-модуль процессора для копирования из предварительно подготовленного буфера в памяти в GPIO с высокой точностью по времени.
Python хороший язык для бэкэнда. Но почему его нельзя применить и на frontend? Или можно? Я покажу как на практике можно писать Python код и на frontend (с Rapydscript) и на бэкэнд (Web.py).
Привет! 16-17 июля в 95 км от Москвы пройдет пятая конференция для python-разработчиков PyCon Russia. Видео прошлогодних докладов можно посмотреть на YouTube-канале. Программа PyCon-2017 получается отличной. На конференции выступят: Paul Hildebrandt (Walt Disney Animation Studios, США), Łukasz Langa (Facebook, США), Nina Zakharenko (Venmo, США), АПрограмма PyCon-2017 получается отличной. На конференции выступят: Paul Hildebrandt (Walt Disney Animation Studios, США), Łukasz Langa (Facebook, США), Nina Zakharenko (Venmo, США), Александр Кошкин (Positive Technologies), Кирилл Борисов (Яндекс), Елизавета Шашкова (JetBrains), Михаил Юматов (ЦИАН), Ольга Сентемова (Тинькофф Банк), Игорь Новиков (Scalr), Олег Чуркин (Rambler&Co) — и это не все. Подробности программы — под катом.
Жизнь тестировщика насыщена экспериментами и рутиной. Чем больше рутины и меньше экспериментов, тем тестировщик сильнее грустит. Как разработчики ПО мы можем сделать тестировщика счастливым — написать софт, который автоматизирует рутину. В докладе расскажу об инструменте QaAPI — реализации API для применения в тестировании. Поделюсь опытом разработки такого инструмента в Welltory.
Как известно, чем раньше найден баг, там дешевле его починить. Лучше всего, когда проблема обнаруживается юнит-тестами или статическим анализатором на самой ранней стадии. Иначе обстоят дела с проблемой, проникшей в общую ветку. В этом случае необходимо дождаться прохождения автоматической регрессии, формально описать баг, а после исправления — проверить, что в свежем билде его действительно больше нет. Всего этого мы могли бы избежать, запустив регрессию на dev-бранче перед коммитом в общую ветку. Но это тоже малоэффективно потому, что регрессия выполняется долго и не все тесты в ней имеют отношение к измененному коду Как с этим бороться? В докладе я расскажу про наш опыт автоматизации поиска тестов, покрывающих изменения в dev-бранче, с помощью информации о покрытии кода.
Как известно, чем раньше найден баг, там дешевле его починить. Лучше всего, когда проблема обнаруживается юнит-тестами или статическим анализатором на самой ранней стадии. Иначе обстоят дела с проблемой, проникшей в общую ветку. В этом случае необходимо дождаться прохождения автоматической регрессии, формально описать баг, а после исправления — проверить, что в свежем билде его действительно больше нет. Всего этого мы могли бы избежать, запустив регрессию на dev-бранче перед коммитом в общую ветку. Но это тоже малоэффективно потому, что регрессия выполняется долго и не все тесты в ней имеют отношение к измененному коду
Как с этим бороться? В докладе я расскажу про наш опыт автоматизации поиска тестов, покрывающих изменения в dev-бранче, с помощью информации о покрытии кода.
Евгений Ильин (МАИ, доцент, инженер)
"Создание GUI на Python".
Слайды: http://www.moscowpython.ru/meetup/45/sozdanie-desktop-prilozhenij-na-python/