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

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

     11.12.2019       Выпуск 312 (09.12.2019 - 15.12.2019)       Статьи

Комбинаторика в Python

Стандартная библиотека python, начиная с версии 2.2, предоставляет множество средств для генерирования комбинаторных объектов, но в интернете мне не удалось найти ни одной статьи, которая подробно рассказывала бы о работе с ними. Поэтому я решил исправить это упущение.

 

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

     11.12.2019       Выпуск 312 (09.12.2019 - 15.12.2019)       Статьи

Как Youtube и Instagram: интернационализация и локализация приложения на Python

Язык Python лежит в основе всемирно известных приложений, таких как Youtube, Instagram и Pinterest. Для продвижения на мировом рынке приложению необходима локализация, то есть адаптация к особенностям той или иной страны, и интернационализация – перевод контента. В статье мы поделимся опытом, как ускорить автоматизацию перевода и решить некоторые типичные проблемы в этой области.

     11.12.2019       Выпуск 312 (09.12.2019 - 15.12.2019)       Статьи

Python Memory Management: немного о фрагментации памяти

Некоторые мысли по этой статье.

На днях заинтересовался тем, как работает Python Memory Management в CPython для Python3 для 64-разрядной Ubuntu.

     11.12.2019       Выпуск 312 (09.12.2019 - 15.12.2019)       Статьи

Elixir как цель развития для python async

В книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал из других языков, Гвидо ответил: «Все, что есть хорошего в Python, украдено из других языков».

Это действительно так. Python давно живет в контексте других языков программирования и впитывает концепции из окружения: asyncio позаимствован, благодаря Lisp появились лямбда-выражения, а Tornado скопировали с libevent. Но если у кого и стоит заимствовать идеи, так это у Erlang. Он создан 30 лет назад, и все концепции в Python, которые сейчас реализуются или только намечаются, в Erlang давно работают: многоядерность, сообщения как основа коммуникации, вызовы методов и интроспекция внутри живой системы на продакшн. Эти идеи в том или в ином виде находят своё проявление в системах вроде Seastar.io.

     10.12.2019       Выпуск 312 (09.12.2019 - 15.12.2019)       Статьи

О структуре параллельных вычислений или доводы против оператора «Go»

Каждый язык, поддерживающий параллельные (конкурентные, асинхронные) вычисления, нуждается в способе запуска кода параллельно.

     10.12.2019       Выпуск 312 (09.12.2019 - 15.12.2019)       Статьи

Точки входа в Python

Многие думают, что точки входа это такие инструкции в setup.py, которые позволяют сделать пакет доступным для запуска из командной строки. Это, в целом, верно, но возможности точек входа не ограничиваются этим.

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

     09.12.2019       Выпуск 312 (09.12.2019 - 15.12.2019)       Статьи

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

В Python много отличных доступных «из коробки» модулей. Один из самых полезных — collections. Он содержит «специализированные типы для создания контейнеров», являющихся альтернативами универсальным dict, list, set и tuple. Ниже мы рассмотрим три содержащихся в модуле класса, с которыми большинство питонистов сталкивались, но постоянно забывают применять на практике.

     08.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Статьи

Kivy. Сборка пакетов под Android и никакой магии

Во вчерашней статье Python в Mobile development, в которой речь шла о библиотеке KivyMD (коллекции виджетов в стиле Material Design для использования их в кроссплатформенном фреймворке Kivy), в комментариях меня попросили рассказать о процессе сборки пакета для платформы Android. Для многих этот процесс, к сожалению, был и остается чем-то из ряда магического шаманства и не подъёмным для новичков делом. Что ж, давайте разбираться, так ли на самом деле все сложно и действительно ли я маг и волшебник...

     08.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Статьи

Как сделать бота, который превращает фото в комикс: пошаговая инструкция для чайников

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

     08.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Статьи

Python в Mobile development

Ни для кого не секрет, что область применения Python довольно широка: начиная от web-технологий, игровой индустрии и заканчивая проектами NASA. Python работает практически везде: от карманных компьютеров и смартфонов до серверов сети и практически на всех известных платформах, таких как Windows, Linux/UNIX, macOS, Palm OS, Raspberry PI и так далее. Благодаря фреймворку Kivy в 2011 году Python освоил и мобильные платформы в плане разработки приложений под iOS и Android, а в 2015 с помощью библиотеки KivyMD Python научился использовать Material Design.

     06.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Видео

Знакомство с Gtihub Actions

Доклад про Gtihub Actions и существующие решения рядом

     06.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Статьи

Эксплуатация созвучности имён пакетов на PyPI продолжается: python3-dateutil, jeilyfish

О том, что нужно быть бдительными, в том числе на PyPI.

На днях на PyPI в очередной раз были обнаружены вредоносные пакеты, имена которых мимикрируют под имена популярных пакетов. Так, например, python3-dateutil, пользуясь тем, что во многих дистрибутивах ОС Linux так называется вполне легитимный пакет, поселившись на PyPI, выдавал себя за оригинальный dateutil, известный на PyPI под именем python-dateutil.

     05.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Статьи

Несколько полезных советов как практиковаться в Python

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

Не смотря ни на что, имеется несколько вещей общих для всех, одна из них — Вам нужно практиковаться, очень много практиковаться!

     05.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Статьи

PeopleBlending: создаём Science Art с помощью когнитивных сервисов и небольшого количества креативности

Я верю в то, что не только красота спасёт мир, но ещё и междисциплинарность. Поскольку моя дочь любит искусство, а я люблю программировать — я часто присматриваюсь к пересечению этих областей, которое можно назвать генеративным искусством (generative art), и которое является частью Science Art. В этой статье я хочу поделиться результатами одного креативного эксперимента по рисованию портрета, из которого родилась техника Cognitive People Blending

     05.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Статьи

React-admin и django rest framework

Наткнувшись недавно на статью о react-admin, я решил попробовать что это за зверь. Было интересно прикрутить это к джанге, благо там есть dataprovider для rest framework.

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

     04.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Статьи

9 лучших опенсорс находок за ноябрь 2019

Подготовил для вас подборку самых интересных находок из опенсорса за ноябрь 2019.

     03.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Статьи

Почему Вы должны попробовать FastAPI?

FastAPI — относительно новый веб-фреймворк, написанный на языке программирования Python для создания REST (а если сильно постараться то и GraphQL) API, основанный на новых возможностях Python 3.6+, таких как: подсказки типов (type-hints), нативная асинхронность (asyncio). Помимо всего прочего, FastAPI плотно интегрируется с OpenAPI-schema и автоматически генерирует документацию для вашего API посредством Swagger и ReDoc

     02.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Статьи

Эффективные и не эффективные методы кодинга на Python

Python – высокоуровневый язык программирования, акцентирующий внимание на удобочитаемости. Он разрабатывается, поддерживается и часто используется в соответствии с The Zen of Python или PEP 20.

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

     02.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Статьи

Как дата-сайентист машину покупал

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

     02.12.2019       Выпуск 311 (02.12.2019 - 08.12.2019)       Статьи

«Ты узнаешь ее из тысячи...» или классифицируем изображения с веб-камеры в реальном времени с помощью PyTorch

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