Путь Python. Черный пояс по разработке, масштабированию, тестированию и развертыванию


Всем привет! Мы продолжаем рассматривать книги по языку Python. В нашем арсенале уже есть книги на все случаи жизни (если это случаи программирования на Python). Но что, если мы скажем, что программировать на Python можно более эффективно, а оптимизация — это не так уж и сложно.

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

На помощь, конечно, придет оптимизация, многопоточность и шаблоны проектирования. А книга «Путь Python. Черный пояс по разработке, масштабированию, тестированию и развертыванию» поможет разобраться во всех изюминках и тонкостях, присущих масштабированию и развертыванию приложений на Python. Но обо всем по порядку.

Об авторе

Жульен Данжу — программист с двадцатилетним стажем, который утверждает, что ежедневно пишет на языке Python. Он основал сервис Mergify (автоматизация pull реквестов для GitHub), а сейчас работает инженер-программистом в Datadog.

Жульен также является обожателем open-source, а значит, вдоль и поперек изучил множество проектов. За его плечами опыт написания двух книг по языку Python, об одной из которых мы сейчас и поговорим.

Содержание

  • Глава 1. Начало проекта — эта глава опишет процесс того, что надо и не надо делать, как правильно нумеровать версии и какими инструментами пользоваться для выявления ошибок и несоответствий стиля в коде.
  • Глава 2. Модули, библиотеки и фреймворки — вы узнаете, как работает import, научитесь расширенному использованию pip и поймете, как правильно выбирать фреймворки и библиотеки.
  • Глава 3. Документация и практики хорошего API — будут рассмотрены такие вещи как Sphinx и reST. Также вы узнаете, как правильно работать с API.
  • Глава 4. Работа с временными метками и часовыми поясами — вы научитесь создавать и работать с объектами datetime, и обрабатывать неоднозначное время.
  • Глава 5. Распространение ПО — создание файла setup.py, правильное использование wheel’ов, а также точки входа — то, что будет описано в этой главе. Также вы узнаете, как опубликовать свой проект на pypi.
  • Глава 6. Модульное тестирование — unit-тесты и всё, что с ними связано, будут рассмотрены в первой части главы. Затем автор расскажет о виртуальных окружениях и политике тестирования.
  • Глава 7. Методы и декораторы — конечно, скорее всего вы уже писали и свои методы, и свои декораторы. Но автор покажет, как это делать правильно, как использовать сразу несколько декораторов (обычная практика для Telegram-ботов), какие бывают методы, и кто такой этот ваш super.
  • Глава 8. Функциональное программирование — математики часто используют Python в своих целях и им совершенно не нужны концепции ООП, они отлично справляются с функциональным программированием. Вы разберете генераторы, lambda-функции, рекурсию и всё, что поможет избавиться от ООП.
  • Глава 9. Абстрактное синтаксическое дерево, диалект Hy (читать по-английски) и Lisp-образные атрибуты — интереснейшая тема, которая поможет еще быстрее составлять программы и не путаться в них. Кратенько разберетесь с Hy.
  • Глава 10. Производительность и оптимизация — помните, мы говорили о медленной работе. Именно тут и решатся многие проблемы. Вы узнаете о профилировании, посмотрите на Python, написанный на Python (чего только не придумают ради оптимизации). И, конечно, узнаете о новых для себя объектах, которые ускорят ваши программы.
  • Глава 11. Масштабирование и архитектура — тут всё просто: многопоточность и ZeroMQ.
  • Глава 12. Управление реляционными базами данных — вы научитесь писать правильный бэкенд для своих баз данных, поработаете с Flask, если еще не работали и создадите небольшое приложение.
  • Глава 13. Пишите меньше, программируйте больше — последняя глава будет посвящена минимизации кода в программах. Вы рассмотрите строки и Юникод, контекстный менеджер и еще несколько вещей, призванных минимизировать ваш код.

В чем суть

В каждой главе вас будут встречать примеры и практика, а теория будет подкрепляться фактами. Книга написана весьма доступным языком, но знания языка Python — необходимое условие для ее понимания.

Отличительной особенностью этой книги являются небольшие статьи программистов и инженеров в конце главы. Например, в конце 12 главы, Димитри Фонтейн рассказывает о своем опыте баз данных и делится своими секретами по работе с ними.

Подведем итоги

Если вы думаете, что уже умеете программировать на Python — эта книга однозначно для вас. Ваши программы станут оптимизированными, а писать их станет в разы проще. Стоит учитывать, что эта книга не предназначена для новичков.

А какие книги по повышению своей квалификации в языке Python знаете вы? Как думаете, важна ли оптимизация? Делитесь в комментариях. Также, нам интересно знать ваше мнение по поводу этой книги.

Купить книгу