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

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

     02.05.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Пять этапов принятия неизбежного, или Рекомендательная система для кросс-продаж

В реалиях современного мира, когда ведется повсеместная цифровизация и накопление данных обо всем и о каждом, возникает резонный вопрос, а как этими данными воспользоваться? Многие, наверняка, уже слышали о рекомендательных системах в сферах развлечения и продаж. Инвестиционные компании не стоят в стороне от современных тенденций в области Data Science и рекомендательных систем в частности. Так давайте рассмотрим, в чем особенности и какие этапы пришлось пройти одной крупной инвестиционной компании для того, чтобы разработать собственную рекомендательную систему для повышения эффективности кросс-продаж и что в итоге получилось.

     01.05.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Пишем клон neofetch на python

Думаю, что каждому пользователю UNIX-подобных систем знакома утилита neofetch. Эта маленькая программа позволяет вывести информацию о системе и аппаратной части компьютера в удобном формате. Так давайте же напишем свою версию на python!

     01.05.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Геокодирование. Как привязать 250 тысяч адресов к координатам за 10 минут?

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

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

     01.05.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Видео
     30.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Pylint: детальная проверка работы анализатора кода

Когда Люк работал с Flake8 и одновременно присматривался к Pylint, у него сложилось впечатление, что 95% ошибок, выдаваемых Pylint, были ложными. У других разработчиков был иной опыт взаимодействия с этими анализаторами, поэтому Люк решил детально разобраться в ситуации и изучить его работу на 11 тыс. строк своего кода. Кроме того, он оценил пользу от Pylint, рассматривая его как дополнение к Flake8.

     30.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Видео
     29.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Практическое руководство по разработке бэкенд-сервиса на Python

Привет, меня зовут Александр Васин, я бэкенд-разработчик в Едадиле. Идея этого материала началась с того, что я хотел разобрать вступительное задание (Я.Диск) в Школу бэкенд-разработки Яндекса. Я начал описывать все тонкости выбора тех или иных технологий, методику тестирования… Получался совсем не разбор, а очень подробный гайд по тому, как писать бэкенды на Python. От первоначальной идеи остались только требования к сервису, на примере которых удобно разбирать инструменты и технологии. В итоге я очнулся на сотне тысяч символов. Ровно столько потребовалось, чтобы рассмотреть всё в мельчайших подробностях. Итак, программа на следующие 100 килобайт: как строить бэкенд сервиса, начиная от выбора инструментов и заканчивая деплоем.

     29.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Django. Переопределение модели пользователя

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

     29.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Django. Как изменить queryset и возможность редактирования в ModelAdmin в зависимости от пользователя

Небольшая заметка о том, как поправить queryset форме администрирования admin.ModelAdmin или UserAdmin . Собственно разницы никакой, поскольку форма UserAdmin наследована от admin.ModelAdmin . Но тем не менее покажу на примере UserAdmin

     28.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

PEP 257 на русском. (Соглашение о Docstrings)

Бывают моменты, когда тебе хочется максимально погрузиться в язык и понять все его тонкости. В случае Python один из лучших способов это сделать — читать на официальном сайте документацию и PEP-ы. В своё время я этого не делал, поскольку не мог понять многих «технических» моментов, а вариантов русского перевода не было. Сейчас же я решил сам перевести PEP-257, где рассказывается о правильном документировании кода, ведь наверняка это поможет новичкам лучше понять истинный «пайтоновский» подход к написанию кода. Я переводил примеры кода на русский язык, но только для того, чтобы лучше донести смысл. В реальном программировании старайтесь писать документационные строки на английском. Также говорю сразу, что как синоним термина «docstring» я использовал слова: «документация» и «документационные строки». Что же, перейдём к самому переводу.

     28.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Подбор экипировки игровому персу при помощи генетики/эволюции на Python

Как подобрать лучшую экипировку в любимой игре? Конечно, можно банально перебрать все её возможные сочетания (например, для разбойника из World of Warcraft) и найти наилучшее. Без всякой магии и машинного обучения. Но можно ли добиться этого результата не «в лоб», а при помощи генетических алгоритмов, не примеряя каждую комбинацию? Интересно узнать, как размножаются и эволюционируют разбойники? Поехали.

     27.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Чистый код: причины и следствия

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

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

     26.04.2020       Выпуск 331 (20.04.2020 - 26.04.2020)       Статьи

DLL & Python

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

     25.04.2020       Выпуск 331 (20.04.2020 - 26.04.2020)       Видео

Moscow Python Podcast. Что нам несет релиз Python 3.9 (level: junior)

В гостях у Moscow Python Podcast разработчик Х5 Retail Group Алексей Штырняев. Обсудили нововведения в Python 3.9

     24.04.2020       Выпуск 331 (20.04.2020 - 26.04.2020)       Статьи

Добавляем параллельные вычисления в Pandas

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

     24.04.2020       Выпуск 331 (20.04.2020 - 26.04.2020)       Статьи

Как научиться разработке на Python: новый видеокурс Яндекса

Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Яндексе. К каждому видео приложены ссылки на примеры и полезные материалы.

     24.04.2020       Выпуск 331 (20.04.2020 - 26.04.2020)       Статьи

Раскраска текстов в html и React

Добавить разметку в текст руками легко. Можно разметить текст прямо здесь, на Хабре, а потом скопировать на сайт. Можно сделать поиск с заменой в Notepad++ или в Atom.

Если это 1 текст. Если текстов много, хочется иметь инструмент для выделения фрагментов текста html-тегами или формирование исходного кода для React. На Питоне это не сложно (несколько строк кода на цвет).

     23.04.2020       Выпуск 331 (20.04.2020 - 26.04.2020)       Статьи

Конкурс по воскрешению старинных игр на Python

Недавно наткнулся На Хабре на пост о создании игр в начале 90х на ZX-Spectrum. У меня, к сожалению, такого компа не было — был только школьный БК-0010, на котором я рубился в Клад.

Пришла идея дать школьникам, которые начинают изучать Python, попробовать сделать какие-нибудь простые игры 30 летней давности. Задачка эта, конечно, не для начинающих, а дле тех, кто учит Python хотя бы полгода.

     23.04.2020       Выпуск 331 (20.04.2020 - 26.04.2020)       Статьи

Простые задачи компьютерного зрения — поиск объектов нужного цвета


Сегодня я расскажу о том как распознать контур нужного цвета с помощью python/ opencv такая задача часто встречается в робототехнике, и всяких автоматизациях.

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

     22.04.2020       Выпуск 331 (20.04.2020 - 26.04.2020)       Статьи

Подготовка сервера для публикации web-app на Python

Появилось свободное время, и возникло желание сделать небольшую веб-приложение. Идея есть (получать данные с метеодатчика, хранить в БД и потом делать что-то интересное), свободный сервер на centos тоже. Туториалов по настройке вроде бы тоже… Но на момент написания ни одного полностью рабочего не нашлось. Если вы тоже хотите развернуть приложение на сервере CentOS 7.4 используя связку python3.*, uwsgi и nginx, добро пожаловать под кат.