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

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

     06.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Интерактивные эксперименты с машинным обучением (на TensorFlow)

Я создал новый проект Интерактивные эксперименты с машинным обучением на GitHub. Каждый эксперимент состоит из Jupyter/Colab ноутбука, показывающего как модель тренировалась, и Демо странички, показывающей модель в действии прямо в вашем браузере.

 

Несмотря на то, что машинные модели в репозитории могут быть немного "туповатенькими" (помните, это всего-лишь эксперименты, а не вылизанный код, готовый к "заливке на продакшн" и дальнейшему управлению новыми Tesla)

     06.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Визуальный отладчик для Jupyter

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

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

     06.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Работа с базой данных во Flask: от джуна джуну

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

     06.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Обзор Python 3.9

Недавно в сети стала доступна для установки альфа-версия Python 3.9. Релиз планируется на октябрь 2020 года, но уже сейчас можно взглянуть, а что же он нам новенького готовит.

     06.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

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

Продолжаем отбирать публикации, которые помогают снизить порог входа в сферу ML. Как и прежде, здесь в первую очередь собраны инструменты с открытым исходным кодом, предобученные модели и высокоуровневые API.

     05.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Простая космическая симуляция с помощью Python и Box2D

На данную статью меня вдохновила недавняя публикация Моделируем Вселенную, где автор показал весьма интересное моделирование разных космических явлений. Однако представленный там код непрост для начинающих. Я покажу как сделать физическое моделирование с помощью движка Box2D, написав всего лишь несколько строк кода.

Рискну ошибиться, но это первое описание Box2D для Python на Хабре, восполним этот пробел.

     05.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Django. Добавление счётчиков к моделям в административной панели Django

Заметка о добавлении счетчиков к моделям в административной панели Django

     05.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Интеграция Aviasales API с Amazon Kinesis и простота serverless

А вы любите летать на самолетах? Я обожаю, но на самоизоляции полюбил еще и анализировать данные об авиабилетах одного известного ресурса — Aviasales.

Сегодня мы разберем работу Amazon Kinesis, построим стримминговую систему с реал-тайм аналитикой, поставим NoSQL базу данных Amazon DynamoDB в качестве основного хранилища данных и настроим оповещение через SMS по интересным билетам.

     05.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Python пора потесниться. О перспективах Julia

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

     04.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

PEP 3107 (Аннотации в функциях)

Я решил полностью разобраться в пайтоновских аннотациях и заодно перевести цикл PEP-ов, документирующих эту тему. Мы начнём со стандартов версии 3.X и закончим нововведениями в python 3.8. Сразу говорю, что этот PEP — один из самых базовых и его прочтение пригодится лишь новичкам. Ну что же, поехали:

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

Использование метода Монте-Карло для создания портфеля

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

В этом посте будет рассмотрено то, как оптимизировать портфель при помощи Python и симуляции Монте Карло.

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

Большой тюьториал по обработке спортивных данных на python

Последние пару лет в свободное время занимаюсь триатлоном. Этот вид спорта очень популярен во многих странах мира, в особенности в США, Австралии и Европе. В настоящее время набирает стремительную популярность в России и странах СНГ. Речь идет о вовлечении любителей, не профессионалов. В отличие от просто плавания в бассейне, катания на велосипеде и пробежек по утрам, триатлон подразумевает участие в соревнованиях и системной подготовке к ним, даже не будучи профессионалом. Наверняка среди ваших знакомых уже есть по крайней мере один “железный человек” или тот, кто планирует им стать.

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

Управлять правами на уровне объектов

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

 

Допустим, ваш проект касается хранения информации о проектах. Разные пользователи входят в разные проекты и не должны видеть информацию о другом проекте. Один и тот же пользователь может входить в несколько проектов и иметь разный статус в разных проектах — где-то он может только просматривать информацию, а в других — править данные. В каком-то проекте пользователь зарегистрирован как персонал проекта, а в другом — только как потребитель его услуг. Уровень доступа соответственно, должен быть совершенно разным.

Этими вопросами занимаются несколько пакетов, мы рассмотрим один из них — Django-Access. Все, кому это интересно, приглашаются под кат.

     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 геокодирования или пользовались онлайн инструментами, то думаю вы разделяете мою боль ожидания результата в течение нескольких часов, а то и больше.

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

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

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

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

     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