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

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

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

Разработка мобильных приложений на Python. Библиотека KivyMD

Сегодня речь снова пойдет о библиотеке KivyMD — наборе виджетов для кроссплатформенной разработки на Python в стиле Material Design. В этой статье я сделаю не обзор виджетов KivyMD, как в недавней статье, а, скорее, это будет материал больше о позиционировании виджетов. Что-то похожего на туториал по разработке мобильных приложений на Python для новичков здесь не будет, так что если впервые слышите о фреймворке Kivy, вряд ли вам будет все это интересно.

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

Клиентоориентированный Data Lake в игровой компании

В этой статье я расскажу о том, как и зачем мы строили клиентоориентированное DataLake-хранилище.

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

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

Сортировка вставками (Insertion Sort) в Python

Если вы специализируетесь в области компьютерных наук, Сортировка вставками (Insertion Sort), скорее всего, является одним из первых алгоритмов сортировки,

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

Эксплуатация созвучности имён пакетов на 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