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

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

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

     30.11.2019       Выпуск 310 (25.11.2019 - 01.12.2019)       Статьи

Schemathesis: property-based тестирование для API схем

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

 

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

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