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

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

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

Книга «Программируем с PyTorch: Создание приложений глубокого обучения»

Ян Пойнтер поможет разобраться, как настроить PyTorch в облачной среде, как создавать нейронные архитектуры, облегчающие работу с изображениями, звуком и текстом. Книга охватывает важнейшие концепции применения переноса обучения, модели отладки и использования библиотеки PyTorch. Вы научитесь: — Внедрять модели глубокого обучения в работу — Использовать PyTorch в масштабных проектах — Применять перенос обучения — Использовать PyTorch torchaudio и сверточные модели для классификации аудиоданных — Применять самые современные методы NLP, используя модель, обученную на «Википедии» — Выполнять отладку моделей PyTorch с TensorBoard и флеймграф — Развертывать приложения PyTorch в контейнерах «PyTorch –– это одна из самых быстрорастущих библиотек глубокого обучения, соперничающая с гигантом Google — TensorFlow — практически на равных.

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

У геологов свой майнкрафт: как построить то, что не знаешь, по тому, что знаешь

Это начало истории о том, как сначала математика вторглась в геологию, как потом пришёл айтишник и всё запрограммировал, создав тем самым новую профессию «цифрового геолога». Это рассказ о том, чем стохастическое моделирование отличается от кригинга. А также это попытка показать, как ты сам можешь написать свой первый геологический софт и, возможно, как-то преобразить отрасль геологического и нефтяного инжиниринга.

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

Динамическое определение класса в Python

Под динамическим определением объекта можно понимать определение во время исполнения. В отличие от статического определения, которое используется в привычном определении класса с помощью ключевого слова class, динамическое определение использует встроенный класс type.

     22.07.2020       Выпуск 344 (20.07.2020 - 26.07.2020)       Видео

Moscow Python Podcast. Микросервисы vs Монолит (level: All)

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

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

Декодируем JPEG-изображение с помощью Python

Cегодня мы будем разбираться с алгоритмом сжатия JPEG. Многие не знают, что JPEG — это не столько формат, сколько алгоритм. Большинство JPEG-изображений, которые вы видите, представлены в формате JFIF (JPEG File Interchange Format), внутри которого применяется алгоритм сжатия JPEG. К концу статьи вы будете гораздо лучше понимать, как этот алгоритм сжимает данные и как написать код распаковки на Python. Мы не будем рассматривать все нюансы формата JPEG (например, прогрессивное сканирование), а поговорим только о базовых возможностях формата, пока будем писать свой декодер.

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

Устройство CPython. Доклад Яндекса

Мы публикуем конспект вступительной лекции видеокурса «Бэкенд-разработка на Python». В ней Егор Овчаренко egorovcharenko, тимлид в Яндекс.Такси, рассказал о внутреннем устройстве интерпретатора CPython.

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

Учим ИИ распределять пироги по магазинам с помощью обучения с подкреплением

Как-то во время чтения книги «Reinforcement Learning: An Introduction» я задумался над дополнением своих теоретических знаний практическими, однако решать очередную задачу балансировки бруска, учить агента играть в шахматы или же изобретать другой велосипед желания не было.

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

Немного изменив данный пример, я и пришел к той идее, о которой далее и пойдет речь.

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

Стоит ли переходить с Python на Nim ради производительности?

Nim — это сочетание синтаксиса Python и производительности C.
Несколько недель назад я бродил по GitHub и наткнулся на любопытный репозиторий: проект был полностью написан на языке Nim. До этого я с ним не сталкивался, и в этот раз решил разобраться, что это за зверь.

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

Опыт использования фреймворка Featuretools

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

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

Об одной из них, featuretools, а также о практическом опыте ее использования мы сегодня и поговорим.

     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)       Статьи

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

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

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