TGViewer
Channel Public Channel
Питонические атаки

Питонические атаки

@pythonic_attacks

Всяческие заметки про программирование на Python и другие весёлые истории.
Subscribers
1.15K
Photos
184
Videos
4
Links
462

Showing posts older than #309 · Back to latest

Older Posts 20 shown
Post #308 568
Python is a Bad Programming Language

Для разогрева задниц этим холодным осенним утром. Наброшено знатно. Какие ваши мысли?

https://medium.com/nerd-for-tech/python-is-a-bad-programming-language-2ab73b0bda5
Medium Python is a Bad Programming Language I’ll say it again: Python is a bad programming language, and the only reason it’s so popular today is because Google pushed it so hard in…
Post #307 590
Питонические атаки На недавно прошедшем Language Summit был презентован PEP 654 — Exception Groups and except*, который сейчас находится на стадии черновика и, вероятно, попадёт в язык в версии 3.11. Этот PEP предлагает добавить в Python возможность запускать сразу несколько…
PEP 654 -- Exception Groups and except* принят и появится в Python 3.11. Ух, будем запускать и ловить исключения целыми пачками!
peps.python.org PEP 654 – Exception Groups and except* | peps.python.org Python Enhancement Proposals (PEPs)
Post #306 555
В PyCharm 2021.3 добавят шаблон для создания проекта на FastAPI. Теперь это один из пяти официально признанных JetBrains веб-фермворков на питоне.

https://blog.jetbrains.com/pycharm/2021/09/pycharm-2021-3-eap/

#jetbrains #fastapi
Post #305 620
Тэг Python совсем недавно обогнал тэг Java по общему количеству вопросов на StackOverflow. Отрыв с первым местом — JavaScript — составляет полмиллиона вопросов. Судя по количеству вопросов на этой неделе, разрыв может постепенно, очень медленно сокращаться.

Я вот только не знаю — это хорошо или плохо?

https://stackoverflow.com/tags
Post #304 874
А вы знали, что для flake8 можно создавать локальные правила, специфичные для конкретного проекта? Код таких проверок лежит по соседству с кодом, который они проверяют. Я вот только недавно узнал. Полезная фича.

https://medium.com/alan/sharing-good-practices-linters-37c4ffe8fc4c
Medium Sharing good practices: linters Introduction
Post #301 553
Кстати, прикольно, что Fork — это нативная программа для Mac (написано на Swift) и Windows (написано на С#), а не очередное Electron-приложение. Ещё более прикольно, что этот клиент — настоящий каноничный инди-проект. Его фулл-тайм разрабатывает супружеская пара Dan & Tanya Pristupov. Всегда удивляюсь, когда в нашем мире корпораций и команд разработки из сотен людей внезапно обнаруживаю такое. И оно живое. Инди-проекты всегда как-то с душой делаются.

Софтинка платная, но примерно как Sublime Text — можно бесплатно пользоваться сколько угодно, но иногда будут всплывать попапы. Говорят, что они всплывают достаточно редко и даже почти не бесят.

Узнал об этом клиенте вот отсюда и отсюда.

А какими Git-клиентами пользуетесь вы?

#git
Fork - a fast and friendly git client for Mac and Windows Fork - a fast and friendly git client for Mac and Windows.
Post #300 512
Умные люди говорят, что не обязательно заставлять себя использовать консольный Git, если сложно. Есть много удобных GUI клиентов, с аккуратными кнопками вместо запутанных консольных команд. Даже просто визуализация дерева коммитов часто помогает разобраться в том, что происходит с репозиторием.

В статье автор показывает, как просто делать всякие продвинутые вещи с гитом через GUI-клиент Fork.

https://simplabs.com/blog/2021/05/26/keeping-a-clean-git-history/

#git
Mainmatter Git Good - The magic of keeping a clean Git history - Mainmatter Chris Manson goes into detail about the benefits of a clean git history and describes some tips and tricks that really help you clean up your branches and Pull Requests
Post #299 517
А вообще я люблю TUI-софт.

Нашёлся ещё один клиент — lazygit.

Сам пока не пользовался, но можно посмотреть, какую магию автор программы творит с её помощью: https://www.youtube.com/watch?v=CPLdltN7wgE

#git
GitHub GitHub - jesseduffield/lazygit: simple terminal UI for git commands simple terminal UI for git commands. Contribute to jesseduffield/lazygit development by creating an account on GitHub.
Post #298 491
tig — TUI (псевдографика в терминале) клиент для Git.

Удобно добавлять в staging отдельные файлы или даже отдельные строки в файлах. Умеет более красиво показывать диффы, списки коммитов, блеймы и т.д. Но сначала придётся научиться им управлять, хоткеи похожи на vim'овские.

#git
Post #296 606
Gitlint is a git commit message linter written in python: it checks your commit messages for style.

Код: https://github.com/jorisroovers/gitlint
Документация: https://jorisroovers.com/gitlint/

Есть много разных встроенных правил, например, умеет ограничивать длину первой строки, запрещать trailing spaces, требовать наличия определенного паттерна в сообщении (например, идентификатор тикета в Jira). Также умеет энфорсить Conventional Commits.

Подключается в виде гит-хука через pre-commit.

#git
GitHub GitHub - jorisroovers/gitlint: Linting for your git commit messages Linting for your git commit messages. Contribute to jorisroovers/gitlint development by creating an account on GitHub.
Post #295 628
Git Undo — инструмент, который может отменить любое действие в Git.

С этой штукой больше не придётся удалять и скачивать заново сломанный репозиторий. Очень легко вернуться в "здоровое" состояние, когда что-то идёт не так. Оно может отменить практически что угодно:

* коммиты;
* изменение сообщения коммита (amend);
* мёрджи и ребейзы;
* переключения между ветками и коммитами;
* создание, обновление и удаление веток.

Тулза прицепляется в Git при помощи хуков и записывает все произведенные изменения. Можно отменять сколько угодно шагов назад, не только последний. Магия!

https://blog.waleedkhan.name/git-undo/

#git
Post #293 558
День Git на канале!

Git сложен: легко всё испортить, и нереально понять как исправить. Документация Git - это финиш: чтобы найти решение, тебе заранее надо знать название фишки, которая вернет всё на место.

Разбор частых проблем с Git с командами для починки.

https://ohshitgit.com/

#git
Post #292 527
Эрик Айдл уже в преклонных годах. Он сидит в Твиттере, и однажды до него дошли слухи, что в честь его комедийного шоу придумали какой-то язык программирования. В тред пришёл Гвидо ван Россум, большой фанат скетчей Monty Python.

"very nice" — это отсылочка к сцене с французами на стене замка в "поисках святого грааля".

https://twitter.com/gvanrossum/status/1355310333875773444?lang=en

#montypython
Post #291 495
Эрик Айдл (Eric Idle) — актёр и автор многих скетчей комедийной группы Monty Python.

В честь него назван IDLE — Python’s Integrated Development and Learning Environment — простенький редактор кода, распространяющийся в составе стандартной библиотеки.

А ещё есть Eric IDE — редактор кода, написанный на питоне. Тоже отсылка к Эрику Айдлу.

#montypython
Post #290 443

Forwarded from гиг пиг ниг

Если хочется странного, то можно начать использовать в питоне goto и показать этим сосункам-коллегам кто на районе джигит.

from goto import with_goto

@with_goto
def range(start, stop):
i = start
result = []

label .begin
if i == stop:
goto .end

result.append(i)
i += 1
goto .begin

label .end
return result

ссылка на репу https://github.com/snoack/python-goto
Post #289 668
boltons — коллекция утилит, расширяющая стандартную библиотеку. Это почти как built-ins, только boltons 😉

Есть ли у вас в проекте файл utils.py или что-то подобное? Скорее всего, то что вы там храните, есть в boltons.

Код: https://github.com/mahmoud/boltons
Документация: https://boltons.readthedocs.io/

Там есть очень много всего, но вот, что мне особенно нравится:

* словари на любой вкус и цвет — и с поддержкой нескольких значений для одного ключа, и которые маппят ключ в значение и одновременно обратно значение в ключ (биекция);
* список, состоящий под капотом из множества других списков, оптимизированный для более эффективной работы при интенсивных вставках и удалениях;
* очень много функций для работы со строками — camel2under, under2camel, slugify, ordinalize, cardinalize, pluralize, bytes2human, ...;
* утилиты для работы с датами — например, там есть функция, умеющая делать относительные человекочитаемые даты типа "yesterday", "1 week ago", "3 days from now".

Пакет не имеет зависимостей. Все функции самодостаточны, так что можно даже просто скопипастить к себе оттуда нужные (но лучше не надо). Конечно же, всё покрыто тестами.

#library
GitHub GitHub - mahmoud/boltons: 🔩 Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing… 🔩 Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python standard library. Nothing like Michael Bolton. - mahmoud/boltons
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →