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

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

     25.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Видео

Вся мощь в JWT, JWS, JSS JWS, JWA, JWK and JWE и зачем они нужны​

Про тонкости, расширенные возможности, про цепочки подписей x.509, как можно организовать свои цепочки подписей. Ну и в общем, как устроить защищённое общение между своими/сторонними сервисами по стандартам RFC. Ну и конечно, как это все использовать на Python

     25.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Видео

Решение проблемы консистентности распределенных данных в микросервисах для Python-проектов

Сталкивались ли вы с проблемой: как быть с разделяемыми данными для приложения с микросервисной архитектурой? Как держать их в консистентом состоянии? Как сделать так, чтобы API для работы с этими данными не тормозили? Расскажу, какой подход мы выбрали в рамках нашего продукта и почему

     25.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

Реализация целого типа в CPython

Казалось бы, что можно написать про обычный целочисленный тип? Однако тут не всё так просто и целочисленный тип не такой уж и очевидный.

Если вам интересно, почему x * 2 быстрее x << 1.

     24.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи
     24.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

Скачиваем аудио вконтакте через клиентский js или расширение файлов .m3u8

Как всегда, зависая вконтакте, я решил скачать пару новых аудиозаписей на комп. Но меня ждало разочарование: аудиозаписи возвращались в каком-то странном формате: m3u8. Этот формат даже vlc media pleyer не воспроизводил, и я стал думать, что делать…

     24.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Видео

ГБИ или не ГБИ: будущее многоядерного (C)Python

Что вам от ещё одного выступления про ГБИ (это глобальная блокировка интерпретатора, из-за которой код на Питоне не может быть распараллелен по ядрам)?
Конечно мы посвятим часть времени описанию того, что это такое, того на что она влияет и на что не влияет, и того как её можно обойти. Но главное — мы поговорим о возможном будущем. И вероятно даже о будущем после ГБИ. Будущем, к которому ведут нас изыскания, производимые нами в настоящем. Будущем Питона, исполняемого на многих ядрах.

     24.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

Автоматическое назначение задач в Jira с помощью ML

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

В hh.ru есть внутренняя служба, на которую в Jira создаются задачи (внутри компании их называют HHS), если у кого-то что-то не работает или работает неправильно. Дальше эти задачи вручную обрабатывает руководитель группы QA Алексей и назначает на команду, в чью зону ответственности входит неисправность. Лёша знает, что скучные задачи должны выполнять роботы. Поэтому он обратился ко мне за помощью по части ML.

     24.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

Как настроить инфраструктуру веб-аналитики за $100 в месяц

Рано или поздно почти любая компания сталкивается с проблемой развития веб-аналитики. Это не значит, что нужно только поставить код Google Analytics на сайт — нужно найти пользу в полученных данных. В этом посте я расскажу, как это сделать максимально эффективно, затратив незначительные (по меркам профильных сервисов) деньги.

     24.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

QVD-файлы — что внутри, часть 3

В первой статье о структуре QVD-файла я описал общую структуру и достаточно подробно остановился на метаданных, во второй — на хранении колонок (символов). В этой статье я опишу формат хранения информации о строках, подытожу, расскажу о планах и достижениях.

     24.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

Как использовать в Python лямбда-функции

В Python и других языках, таких как Java, C# и даже C++, в их синтаксис добавлены лямбда-функции, в то время как языки, такие как LISP или семейство языков ML, Haskell, OCaml и F#, используют лямбда-выражения.

Python-лямбды – это маленькие анонимные функции, подчиняющиеся более строгому, но более лаконичному синтаксису, чем обычные функции Python.

     24.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

Деплоим на PythonAnywhere из GitHub

Каждый может сделать так:

 

локальный проект → github

С (платным) ssh доступом вы сможете сделать так:

локальный проект → PythonAnywhere

В статье показано как (бесплатно) сделать так:

локальный проект → github → PythonAnywhere

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

     24.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

10 фич для ускорения анализа данных в Python

Советы и рекомендации, особенно в программировании, могут быть очень полезны. Маленький шоткат, аддон или хак может сэкономить кучу времени и серьёзно увеличить производительность. Я собрала свои самые любимые и сделала из них эту статью. Какие-то из советов ниже уже известны многим, а какие-то появились совсем недавно. Так или иначе, я уверена, они точно не будут лишними, когда вы в очередной раз приступите к проекту по анализу данных.

     24.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

Как решить старую задачу с помощью ML на Python и .Net

Бывает, что некоторые задачи преследуют тебя много лет. Для меня такой задачей стала склейка предложений текстов, в которых жестко забит переход на новую строку, а часто еще и перенос слов. На практике, это извлеченный из PDF или с помощью OCR текст. Часто можно было встретить такие тексты на сайтах он-лайн библиотек, в архивах старых документов, которые редактировались еще DOS-редакторами. И такое форматирование очень мешает затем правильной разбивке на предложения (а с переносами — и на токены) для последующей NLP-обработки. Да и банально показать такой документ в поисковой выдаче — будет некрасиво.

     23.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Видео

Moscow Python Podcast. Blameless environments и как не сойти с ума при работе с заказчиком

Должны ли программисты по умолчанию писать качественный код? Как системно формировать для разработки условия, которые не дадут членам команды «проваливаться» в несчастье?

     23.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи
     22.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Создаем прототип для Sentiment Analysis с помощью Python и TextBlob

Что важно для команды разработчиков, которая только начинает строить систему, базирующуюся на машинном обучении? Архитектура, компоненты, возможности тестирования с помощью интеграционных и юнит тестов, сделать прототип и получить первые результаты. И далее к оценке трудоемкости, планированию разработки и реализации. В этой статье речь пойдет как раз о прототипе. Который был создан через некоторое время после разговора с Product Manager: а почему бы нам не «пощупать» Machine Learning? В частности, NLP и Sentiment Analysis?