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

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

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

Что я узнал про оптимизацию в Python

Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, тестирования и инструмента CI. Mercurial также в основном написан на Python. Множество своих сторонних проектов я тоже писал на нем.

Во время своей работы я получил немного знаний о производительности Python и о его средствах оптимизации. В этой статье мне хотелось бы поделиться этими знаниями.

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

Мелкая питонячая радость #5: Dynaconf — управление настройками в проекте

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

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

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

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

     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)       Статьи
     22.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

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

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

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

Python потребляет много памяти или как уменьшить размер объектов?

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

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

Освобождаем руки нескольким аналитикам: API Livy для автоматизации типовых банковских задач

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

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

Как реализовать стек в Python

Возможно вы что то слышали о стеках и задавались вопросом, что это такое? У вас есть общее представление об этом, но вам интересно, как реализовать стек в Python? Тогда вы пришли в нужное место!

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

Как превратить свою аватарку в Telegram в часы

Недавно сидел я в одном сообществе программистов в Telegram и заметил один очень любопытный профиль. Любопытным было следующее — на главном фото у него было изображено нынешнее время. Мне стало жутко интересно как он этого добился, и я решил во что бы то ни стало написать такую же программу. 

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

Python не запрещает вызов private/protected методов потому, что любит тебя :-)

Много копий сломано в обсуждениях того, почему питон эдакий бяка — не запрещает вызывать непубличные методы. И конечно, не раз звучали объяснения в духе «мы все тут взрослые люди», но похоже их было недостаточно, мне кажется, я наконец понял, как это объяснить более понятно, надеюсь, что это действительно так. Напомню, что для private методов питон всего-лишь динамически изменяет имя и никак не ограничивает доступ к нему, а для protected не делает и этого, это просто соглашение об именовании методов, для тех кто не очень в курсе, есть дополнительные материалы.

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

Как выбрать лучшее место для открытия филиала и визуализировать результаты на картах

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