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

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

     21.07.2020       Выпуск 344 (20.07.2020 - 26.07.2020)       Статьи

Между дизайн-системой и Server Driven UI

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

 

  • хотим добавить много новых блоков, поэтому система должна полностью управлять структурой выдачи на клиентах;
  • хотим иметь возможность таргетировать выдачу;
  • хотим иметь возможность проводить A/B-тесты выдачи.

     20.07.2020       Выпуск 344 (20.07.2020 - 26.07.2020)       Статьи

Голосовой бот + телефония на полном OpenSource. Часть 1 — создание и обучение текстового бота RU

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

 

 

  1. Распознавание голоса ASR.
  2. Выяснение смысла сказанного и поиск необходимых сущностей в тексте(к примеру адрес, сумма, ФИО итд )
  3. Генерация ответа, преобразование текста в речь TTS. Мы пройдем от пути создания простого текстового бота до интеграции с системой телефонии freeswitch с распознаванием голоса и озвучиванием подготовленных ответов. Данная статья описывает используемые инструменты и путь по их интеграции вместе для создания голосового робота.

     20.07.2020       Выпуск 344 (20.07.2020 - 26.07.2020)       Статьи

OpenSSL и Network Security Services (NSS) — две стороны одной медали

О какой медали идет речь в заголовке? Речь идет об инфраструктуре открытых ключей (Public Key Infrastructure — PKI/ИОК) на базе стандартов криптографии с открытым ключом (Public Key Cryptography Standards — PKCS).

     19.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Spothiefy: как переехать из Яндекс.Музыки быстро, бесплатно

Итак, в июле жизнь в стране наконец стала меняться к лучшему, ведь произошло то, чего многие жители с нетерпением ждали: Spotify запущен в России и ряде других стран.

Но потоковая музыка появилась не вчера и наверняка есть такие, кто подсел на иглу Яндекса и пользуется подпиской на Яндекс.Музыку, которая впоследствии стала Яндекс.Плюсом.

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

Eсли хочется попробовать, но вам тоже лень, то я расскажу как перенести пожитки быстро, бесплатно. Нужно всего лишь немного питонов с батарейками.

     18.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Реализация ARP-спуфинга на Python

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

     18.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Погода-бот: DialogFlow + OpenWeather + Python

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

     17.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Код аудита: поиск дублей, face detection и аномальные изображения

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

     17.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи
     17.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Трюки с переменными среды

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

     16.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Общий обзор архитектуры сервиса для оценки внешности на основе нейронных сетей

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

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

 

     16.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Практики хорошего code review, или что такое code review за 15 минут

икита на протяжении почти 40 минут пытался вскипятить мозги слушателей секции Backend, рассуждая о code review. Сегодня хотим привести расшифровку этого «взрывного» доклада, чтобы если уж мозги бурлили, то у всех сразу :)

     16.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

PgGraph — утилита для архивации и поиска зависимостей таблиц в PostgreSQL

Сегодня я хочу представить читателям Хабра утилиту, написанную на Python, для работы с зависимостями таблиц в СУБД PostgreSQL.

API утилиты простое и состоит из трех методов:

 

  • archive_table — рекурсивная архивация/удаление строк с указанными Primary Keys
  • get_table_references — поиск зависимостей для таблицы (покажет таблицы, на которые ссылается указанная и ссылающиеся на нее)
  • get_rows_references — поиск строк в других таблицах, которые ссылаются на указанные строки в нужной таблице

     15.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Как мы автоматизировали весь жизненный цикл серверов

Меня зовут Алексей Назаров. Я занимаюсь автоматизацией в отделе администрирования инфраструктурных систем в Национальной системе платежных карт (АО НСПК) и хотел рассказать немного о наших внутренних продуктах, которые помогают нам развиваться.

 

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

     15.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Как в компании развивался Python. Доклад Яндекса

13 лет назад начался эксперимент по использованию Python в больших сервисах Яндекса. Эксперимент получился удачным (кто бы сомневался!) и Python начал свое победное поползновение по сервисам компании. Яндекс.Афиша, Яндекс.Погода — через некоторое время сервисов стало очень много. Вместе с ними начали появляться «лучшие практики» и «устоявшиеся подходы» к решению задач.

     14.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Слияние списков на python

Пусть у нас есть два списка (для простоты из целых чисел), каждый из которых отсортирован. Хотим объединить их в один список, который тоже должен быть отсортирован. Эта задача наверняка всем знакома, используется, например, при сортировке слиянием.

     14.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Беспилотное такси возит по городу желтых резиновых уточек! Модуль проверки задач для платформы Gym-Duckietown

К 2040 году в большинстве крупных городов мира автомобили будут ездить без водителей, считают аналитики. Но чтобы расслабиться на дороге через 20 лет, сейчас нужно хорошо поработать над алгоритмами автономного вождения. Для этого в MIT разработали платформу Duckietown, которая позволяет делать это с минимальными затратами. В Duckietown недорогие мобильные роботы перевозят желтых резиновых уточек по уменьшенной модели города. На базе этой платформы проводят соревнования AI Driving Olympics и запускают курсы в университетах по применению технологий искусственного интеллекта в управлении беспилотным транспортом.

     14.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Продвинутый уровень визуализации данных для Data Science на Python

Когнитивное искажение о невозвратных затратах (sunk cost fallacy) является одним из многих вредных когнитивных предубеждений, жертвой которых становятся люди. Это относится к нашей тенденции продолжать посвящать время и ресурсы проигранному делу, потому что мы уже потратили — утонули — так много времени в погоне. Заблуждение о заниженной стоимости применимо к тому, чтобы оставаться на плохой работе дольше, чем мы должны, рабски работать над проектом, даже когда ясно, что он не будет работать, и да, продолжать использовать утомительную, устаревшую библиотеку построения графиков — matplotlib — когда существуют более эффективные, интерактивные и более привлекательные альтернативы.

     13.07.2020       Выпуск 343 (13.07.2020 - 19.07.2020)       Статьи

Цепи Маркова и Пайтон — разбираемся в теории и собираем генератор текстов

Хорошие новости перед статьей: высоких математических скиллов для прочтения и (надеюсь!) понимания не требуется.

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

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

Разработка zond-а для замера скорости интернета

Тружусь я в компании, предоставляющей услуги кабельного телевидения и доступа в интернет. И, как это бывает в подобных компаниях, периодически слышу жалобы о несоответствии тарифного плана заявленному в договоре. То пользователь жалуется на низкую скорость «по кабелю», то на высокие пинги определенных сервисов, иногда на полное отсутствие интернета в определенное время суток. Зачастую, такие жалобы попадают в пулл заявок, по которым происходит выезд «на место» одного из сотрудников с рабочим ноутбуком, на котором и производятся все замеры. И, зачастую, выясняется, что со скоростью все в порядке. А низкая скорость на самом деле на мобильном телефоне, через wi-fi, на балконе. Ну или нечто подобное.