IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте нас в Twitter

     07.07.2020       Выпуск 342 (06.07.2020 - 12.07.2020)       Статьи

Juniper: выращивание можжевельника в домашних условиях

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

     07.07.2020       Выпуск 342 (06.07.2020 - 12.07.2020)       Статьи

Магия WebPush в Mozilla Firefox. Взгляд изнутри

Безусловно одной из самых популярных технологий доставки оповещений на устройства пользователей являются Push уведомления. Технология такова, что для её работы необходим постоянный доступ к интернету, а именно доступ к серверам, на которых регистрируются устройства пользователя для получения уведомлений. В данной статье мы рассмотрим весь спектр механизмов технологии WebPush уведомлений, спрятанных за словами WebSocket, ServiceWorker, vapid, register, broadcast, message encryption и т.д. Основной причиной побудившей меня к реверсу и изучению механизма, являлась необходимость доставки уведомлений мониторинга на рабочие места техподдержки, находящиеся в закрытом сегменте сети без доступа в интернет. И да, это возможно!

     06.07.2020       Выпуск 342 (06.07.2020 - 12.07.2020)       Статьи
     06.07.2020       Выпуск 342 (06.07.2020 - 12.07.2020)       Статьи

Подборка статей о машинном обучении: кейсы, гайды и исследования за июнь 2020

Здесь вас ждёт список вышедших за июнь материалов на английском языке. Все они написаны без лишнего академизма, содержат примеры кода и ссылки на непустые репозитории. Большинство упомянутых технологий находятся в открытом доступе и не требуют сверхмощного железа для тестирования.

     06.07.2020       Выпуск 342 (06.07.2020 - 12.07.2020)       Статьи
     06.07.2020       Выпуск 342 (06.07.2020 - 12.07.2020)       Статьи

pyOpenRPA туториал. Управление оконными GUI приложениями

Специально для Хабр я начинаю серию статей-туториалов по использованию RPA платформы OpenRPA. Буду рад получить от вас комментарии и замечания, если возникнут какие-либо вопросы. Надеюсь, что эта история не оставит вас равнодушными.

     05.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи

Чтобы я хотел знать когда начинал изучать Django? — очень общий взгляд

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

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

     05.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи
     04.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи

О нет! Моя Data Science ржавеет

Предлагаем вашему вниманию перевод интереснейшего исследования от компании Crowdstrike. Материал посвящен использованию языка Rust в области Data Science (применительно к malware analysis) и демонстрирует, в чем Rust на таком поле может посоперничать даже с NumPy и SciPy, не говоря уж о чистом Python.

     03.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи

Web-сервер машинного обучения «ВКФ-решатель»

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

     03.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи

Введение в асинхронное программирование на Python

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

     03.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи

А вы можете решить эти три (обманчиво) простые задачи на Python?

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

     03.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи

MLOps — Cook book, chapter 1

Я CV-разработчик в КРОК. Уже 3 года мы реализуем проекты в области CV. За это время чего мы только не делали, например: мониторили водителей, чтобы во время движения они не пили, не курили, по телефону не разговаривали, смотрели на дорогу, а не сны или в облака; фиксировали любителей ездить по выделенным полосам и занимать несколько мест на парковке; следили за тем, чтобы работники носили каски, перчатки и т.п.; идентифицировали сотрудника, который хочет пройти на объект; подсчитывали всё, что только можно.

     03.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи

Восходящая сортировка кучей

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

     02.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи
     02.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи
     02.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи
     02.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи

Функциональные тесты в Циан

Наша команда занимается разработкой инструментов для продуктовых разработчиков. Это и библиотеки: HTTP-клиент, веб-сервер, библиотеки доступа к базам данных, и средства мониторинга микросервисов и сайта в целом, и интеграция с CI/CD и многое другое.

 

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

     02.07.2020       Выпуск 341 (29.06.2020 - 05.07.2020)       Статьи

Ищем фильмы, книги и подкасты с помощью Python

Apple не особо афиширует, что у iTunes Store и других каталогов есть кривенькое, но простое поисковое API — поэтому я решил о нём написать. Из этой заметки вы узнаете, что API умеет и как его использовать.