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

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

     12.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Иллюзия иммутабельности и доверие как основа командной разработки

Вообще я C++ программист. Ну так получилось. Подавляющее большинство коммерческого кода, который я написал за свою карьеру, — это именно C++. Мне не очень нравится такой сильный перекос моего личного опыта в сторону одного языка, и я стараюсь не упускать возможности написать что-нибудь на другом языке. И мой текущий работодатель внезапно такую возможность предоставил: я взялся сделать одну не самую тривиальную утилиту на Java. Выбор языка реализации был сделан по историческим причинам, да я и не возражал. Java так Java, чем менее мне знакомо — тем лучше.

     11.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Использование Google Lighthouse для аудита веб-приложений

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

     11.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

С помощью кода на Python сделали фото черной дыры

Ссылка на репозиторий и видео с докладом

     10.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи
     10.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи
     10.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Расширение mypy с помощью плагинов

Известно, что Python – язык с динамической типизацией. Очень просто писать DSL-подобные фреймворки, которые трудно разобрать инструментами статичной проверки типа. Несмотря на это, с помощью последних функциональных новшеств mypy, таких как protocols и literal types, а также с базовой поддержкой метаклассов и поддержкой дескриптора, мы можем чаще получать точные типы, однако по прежнему трудно избежать ложных срабатываний и других негативных факторов. Чтобы решить эту проблему и избежать необходимости кастомизировать систему типов для каждого фреймворка, mypy поддерживает систему плагинов.

     10.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Алгоритмы сортировки в Python

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

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

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

     10.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи
     10.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Процессим биткоин. Как устроена страница оплаты в B2BinPay

B2BinPay — криптовалютная платежная система с множеством связанных бэкэндов приложений, аналитики, нод, очередей, но лишь одной UI-страницей, которую видит конечный пользователь. К ней предъявляются высокие требования относительно удобства в использовании. Несмотря на кажущуюся простоту страницы, команде разработчиков было бы интересно поделиться тем, как она устроена изнутри.

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

     09.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Как работает цикл for в Python

В этой статье мы разберем, работу цикла for в Python.

Мы начнем с пары основных примеров и их синтаксиса. Далее обсудим, когда может быть полезен блок else, связанный с циклом for. Затем мы разберем итерактивные объекты (iterable), итераторы (iterator) и протокол итератора. Также узнаем, как создавать собственные итераторы и итерируемые объекты. После этого мы обсудим, как цикл for реализован с использованием итерактивных объектов и итераторов. Потом мы рассмотрим реализацию логики цикла for, используя цикл while и используя протокол итератора.
И наконец, для тех, кому интересно, мы разберем простой цикл for и пройдемся по инструкциям, которые интерпретатор Python выполняет при выполнении цикла for. Это должно помочь понять, что именно происходит внутри, во время работы цикла for.

     09.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи
     09.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи
     09.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

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

Сегодня будем прорабатывать навык использования средств группирования и визуализации данных в Python. В предоставленном датасете на Github проанализируем несколько характеристик и построим набор визуализаций.

     09.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Подборка @pythonetc, март 2019

Это десятая подборка советов про Python и программирование из авторского канала @pythonetc.

     09.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

[Из песочницы] Unittest и абстрактные тесты

Unittest — наверное самый известный фреймворк для написания тестов в Python. Он очень прост в освоении и его легко начать использовать в вашем проекте. Но ничто не бывает идеальным. В этом посте я хочу рассказать об одной возможности, которой лично мне (думаю, не одному) не хватает в unittest.

     09.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Для чего и как мы скрываем госномера автомобилей в объявлениях Авито

В конце прошлого года мы стали автоматически скрывать номера автомобилей на фотографиях в карточках объявлений на Авито. О том, зачем мы это сделали, и какие есть способы решения таких задач, читайте в статье.

     08.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи
     08.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Введение в тестирование в Python

Перевод статьи  Anthony Shaw: Getting Started With Testing in Python Статья будет интересна тем кто еще мало знаком с тестированием в Python и быстро получить обзорные знания для дальнейшего изучения.

Это руководство предназначено для тех, кто уже имеет опыт написания приложений в Python, но еще не написал ни одного теста.

     05.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Статьи

Использование Python для формирования отчетов в отдельно взятой компании

Эта история случилась в реальной компании, несмотря на то, что некоторые имена и события вымышлены.

Слава был рядовым разработчиком в небольшой фирме в городе N. Фирма занималась предоставлением услуг образовательным организациям. В наличии было несколько приложений, которые необходимо поддерживать, дорабатывая помаленьку, понемногу. Вот только начальство Славы не верило в его усилия и то, что он ест свой хлеб не просто так. Кроме того, начальство в информационных технологиях не так чтобы очень, но хотело понимать, что делают сотрудники и какая продуктивность у отдела продаж (который надо сказать состоял из одного с половиной человека).

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