Чтобы заполнить пустоту на канале, напишу анонсы на предыдущие статьи.
Виртуальные окружения в Python
Это очень важная тема, но для начинающих разработчиков её довольно сложно принять и осознать, а порой проще вообще игнорировать (так было со мной, например). А со стороны более опытного разработчика её сложно объяснять. Много нюансов. Поэтому решил пилотную статью в блог написать именно об этом.
Пишите комментарии, они классные (с авторизацией через GitHub)!
Виртуальные окружения в Python
Это очень важная тема, но для начинающих разработчиков её довольно сложно принять и осознать, а порой проще вообще игнорировать (так было со мной, например). А со стороны более опытного разработчика её сложно объяснять. Много нюансов. Поэтому решил пилотную статью в блог написать именно об этом.
Пишите комментарии, они классные (с авторизацией через GitHub)!
Питонические атаки
Виртуальные окружения в Python
Почему всегда нужно использовать виртуальные окружения и как правильно их готовить.
Ещё один пост был про
requirements.txt — что это и зачем?
Это такие текстовые файлики, в которых перечислены имена пакетов из PyPI. Их можно встретить во множестве проектов, написанных на Python. На самом деле, это очень простой способ перечислить зависимости вашего проекта, но у него есть и недостатки.
Подробности в посте.
requirements.txt
.requirements.txt — что это и зачем?
Это такие текстовые файлики, в которых перечислены имена пакетов из PyPI. Их можно встретить во множестве проектов, написанных на Python. На самом деле, это очень простой способ перечислить зависимости вашего проекта, но у него есть и недостатки.
Подробности в посте.
Питонические атаки
requirements.txt — что это и зачем?
Расскажу, как создавать и как пользоваться этим файлом для хранения дерева зависимостей проекта.
Написал про
pipenv — как pip, только удобнее
pipenv
— хороший инструмент, который во многих аспектах заменяет pip
и значительно упрощает управление зависимостями проекта и вообще воркфлоу разработки. Пользуюсь pipenv
уже пару лет, и в целом всем доволен.pipenv — как pip, только удобнее
Питонические атаки
pipenv — как pip, только удобнее
Как пользоваться и в каких случаях стоит обратить внимание на этот инструмент.
А как вы управляете зависимостями в своих проектах?
Anonymous Poll
59%
только pip, только хардкор
18%
pipenv
24%
poetry
0%
pip-tools
6%
pyflow
0%
hatch
12%
другое
pyenv
— это отличный инструмент для установки любых версий любого интерпретатора Python. Можно установить как древний CPython 2.1.3 (вышел 18 лет назад 😱), так и ультрасовременный 3.9.0, который выйдет только через полгода. А ещё pyenv
умеет устанавливать альтернативные интерпретаторы Python. И умеет удобно переключаться между версиями. Классная вещь.Установка нескольких версий Python параллельно при помощи pyenv
Питонические атаки
Установка нескольких версий Python параллельно при помощи pyenv
Простое управление версиями интерпретатора.
Раз уж я начал писать про менеджеры версий, то нельзя обойти стороной универсальный менеджер версий —
На самом деле, именно
Управление версиями чего угодно при помощи asdf
asdf
. Этот инструмент будет полезен не только для питонистов, но и в целом для людей, которые сталкиваются с задачей управления версиями своего любимого языка программирования. Может быть вы пишете на Node.js, Rust, Kotlin или Go? А может быть на всём этом сразу? asdf
умеет управлять версиями всех этих языков и ещё кучей всего!На самом деле, именно
asdf
я и пользуюсь в своей повседневной работе вместо pyenv
. Сейчас через него я управляю только версиями Python и Node.js, но если мне захочется освоить другой язык, то я уже знаю, как я буду его устанавливать 😊Управление версиями чего угодно при помощи asdf
Питонические атаки
Управление версиями чего угодно при помощи asdf
Простое управление версиями кучи языков программирования и инструментов: Python, Node.js, Ruby, Rust и т.д.
Линтер — это прям незаменимый инструмент, когда программируешь на Python. Даже не могу представить, сколько ошибок линтеры помогли мне отловить, сколько сеансов мучительного дебага я избежал, сколько часов на код-ревью сэкономлено.
Постарался в статье подробно рассмотреть как пользоваться двумя самыми популярными линтерами для Python —
Линтеры в Python
Постарался в статье подробно рассмотреть как пользоваться двумя самыми популярными линтерами для Python —
flake8
и pylint
.Линтеры в Python
Питонические атаки
Линтеры в Python
Обзор популярных статических анализаторов для Python-кода и как они экономят разработчику один день жизни в месяц.
Тема немного оффтопик, но я в восторге от
https://semakin.dev/2020/05/chocolatey/
choco
— пакетного менеджера для Windows! Больше никогда не буду устанавливать программы через "поставить галочку под лицензией", "далее", "далее", "далее", "готово".https://semakin.dev/2020/05/chocolatey/
Питонические атаки
Chocolatey — пакетный менеджер для Windows
Самая важная программа для любителей окошек.
Написал про забавный трюк, который в простых случаях позволяет использовать
https://semakin.dev/2020/05/python2_print/
print
как функцию в Python 2 (ну, на самом деле нет, но выглядит именно так).https://semakin.dev/2020/05/python2_print/
Питонические атаки
Почему print(
Объяснение синтаксического трюка, который позволяет использовать print() как функцию в Python 2 и 3.
Форматтер кода — ещё один, на мой взгляд, незаменимый в работе инструмент. Проект
Это правда очень круто, когда вся кодовая база проекта абсолютно одинаково отформатирована. Глаз не отвлекается на всякие мелочи, код воспринимается легко. И для этого даже почти ничего не нужно делать!
https://semakin.dev/2020/05/black/
black
в последнее время быстро набирает популярность — многие проекты берует его к себе на вооружение.Это правда очень круто, когда вся кодовая база проекта абсолютно одинаково отформатирована. Глаз не отвлекается на всякие мелочи, код воспринимается легко. И для этого даже почти ничего не нужно делать!
https://semakin.dev/2020/05/black/
Питонические атаки
Форматируем код при помощи black
Автоматическое форматирование кода избавляет от бесконечных споров про пробелы, запятые и скобки, экономя нервы и часы код-ревью.
pipenv выпустил долгожданный релиз! Это значит, что проект будет жить!
Обновил статью про
Обновил статью про
pipenv
: https://semakin.dev/2020/04/pipenv/GitHub
GitHub - pypa/pipenv: Python Development Workflow for Humans.
Python Development Workflow for Humans. Contribute to pypa/pipenv development by creating an account on GitHub.
Недавно прошел Pytup (митап по Python), перебазировавшийся в онлайн из-за пандемии. Было две достаточно интересных и хардкорных темы.
Запись доступна здесь: https://youtu.be/tpKs4UVe3Bk
Запись доступна здесь: https://youtu.be/tpKs4UVe3Bk
YouTube
Pytup online / запись трансляции
Описание: Первый Pytup в онлайне — мы постараемся создать ту же самую атмосферу, что была на офлайновых встречах :)
Первым выступит Эмиль Шарифуллин — lead software engineer в «СКБ Контур» (раньше работал в RedHat). Эмиль поделится опытом разработки библиотек…
Первым выступит Эмиль Шарифуллин — lead software engineer в «СКБ Контур» (раньше работал в RedHat). Эмиль поделится опытом разработки библиотек…
Git-хуки — это невероятно мощный и полезный инструмент, который, как мне кажется, часто игнорируют и недооценивают.
Написал пост про Git-хуки в целом и про инструмент
https://semakin.dev/2020/05/pre-commit/
#git
Написал пост про Git-хуки в целом и про инструмент
pre-commit
, который упрощает работу с ними. Если ещё не пользуетесь, то наверняка будет полезно, на каком языке бы вы ни писали!https://semakin.dev/2020/05/pre-commit/
#git
Питонические атаки
Запуск Git-хуков при помощи pre-commit
Git-хуки позволяют автоматизировать запуск различных проверок (линтеры, форматтеры, тесты) при работе с системой контроля версий.
StackOverflow опубликовали результаты ежегодного опроса среди разработчиков за 2020 год.
Из интересного:
* Python является четвертым по популярности языком программирования (а если не учитывать HTML и SQL — это ж язык разметки и язык запросов, то вообще второй);
* TypeScript сместил Python на третье место в рейтинге "Most Loved";
* Python до сих пор держит первое месте в рейтинге "Most Wanted".
https://insights.stackoverflow.com/survey/2020
Из интересного:
* Python является четвертым по популярности языком программирования (а если не учитывать HTML и SQL — это ж язык разметки и язык запросов, то вообще второй);
* TypeScript сместил Python на третье место в рейтинге "Most Loved";
* Python до сих пор держит первое месте в рейтинге "Most Wanted".
https://insights.stackoverflow.com/survey/2020
Stack Overflow
Stack Overflow Developer Survey 2020
Nearly 65,000 took this comprehensive, annual survey of people who code. Demographics. Most loved, dreaded and wanted technologies. Salary and careers.
Часто замечаю, что люди забывают ставить символы переноса строки в конце текстовых файлов (будь то исходники Python, SQL или просто TXT-файл). А это важная деталь, её отсутствие нарушает основопологающие стандарты разработки ПО и заставляет многие утилиты Unix сходить с ума.
https://semakin.dev/2020/05/no_newline_at_end_of_file/
https://semakin.dev/2020/05/no_newline_at_end_of_file/
Питонические атаки
Почему важно всегда ставить символ переноса строки в конце текстовых файлов?
Так легко упустить эту маленькую, но важную деталь.
Кстати, раз уж затронули тему опросов и исследований, то JetBrains тоже недавно опубликовали результаты своего исследования среди Python-разработчиков.
Интересное:
* Python часто используют совместно с JavaScript, Bash, HTML/CSS и SQL;
* основными областями применения Python остаются анализ данных, веб-разработка, машинное обучение и DevOps;
* Python 2 уже почти не используется (10%), а Python 3.7 является самой популярной версией среди 3.x.
https://www.jetbrains.com/lp/python-developers-survey-2019/
#jetbrains
Интересное:
* Python часто используют совместно с JavaScript, Bash, HTML/CSS и SQL;
* основными областями применения Python остаются анализ данных, веб-разработка, машинное обучение и DevOps;
* Python 2 уже почти не используется (10%), а Python 3.7 является самой популярной версией среди 3.x.
https://www.jetbrains.com/lp/python-developers-survey-2019/
#jetbrains
JetBrains: Developer Tools for Professionals and Teams
Python Developers Survey 2019 Results
Official Python Developers Survey 2019 by Python Software Foundation and JetBrains: more than 24k responses from more than 150 countries.