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

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

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

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

Генерация случайного числа в Python

О методах randrange(), randint(), random(), seed(), uniform()

     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