Великое выяснение зависимостей Python: Когда поэзия встречается с Pipenv в виртуальном восьмиугольнике

Великое выяснение зависимостей Python: Когда поэзия встречается с Pipenv в виртуальном восьмиугольнике

Представьте: вы стоите в проходе с упаковками Python и смотрите на два блестящих инструмента, которые обещают упорядочить ваши зависимости лучше, чем Мари Кондо организует ящики для носков. Давайте разберёмся, почему разработчики всё чаще выбирают Poetry вместо Pipenv, даже если оба инструмента утверждают, что приносят радость в управление зависимостями. Виртуальные среды: танго с .venv # Тонкое приглашение Poetry poetry init -n && poetry install # Усердный подход Pipenv pipenv install --python 3....

1 июня 2025 14:00 · 3 минуты · 473 слова · Maxim Zhirnov
Почему Жесткое кодирование учетных данных Похоже на хранение Запасных Ключей под ковриком для приветствия (И когда Вам Все равно следует это делать)

Почему Жесткое кодирование учетных данных Похоже на хранение Запасных Ключей под ковриком для приветствия (И когда Вам Все равно следует это делать)

Давайте признаем очевидное: указание учётных данных в виде открытого текста — это как пицца с ананасами в сфере кибербезопасности — все её критикуют, но разработчики в определённых контекстах её тайно ценят. Прежде чем сторонники строгой безопасности придут ко мне с вилами и уязвимостями нулевого дня, позвольте объяснить, почему иногда, в контролируемых средах разработки, хранение учётных данных на видном месте может быть практичным решением. Адвокат дьявола: файл Docker Compose Рассмотрим этот вполне разумный проступок:...

28 мая 2025 06:00 · 3 минуты · 635 слов · Maxim Zhirnov
Важность идиоматического кода: Написание Python как Pythonista (или JavaScript как JS Pro)

Важность идиоматического кода: Написание Python как Pythonista (или JavaScript как JS Pro)

Ах, идиоматичный код — это разница между написанием программного обеспечения и созданием цифровой поэзии. Представьте, что вы заказываете «жидкую сущность обжаренных зёрен Coffea arabica в цилиндрической термоизолированной ёмкости», когда можно просто сказать «кофе с собой». Давайте разберёмся, почему написание кода, который «пахнет» своим языком программирования, важнее, чем вы думаете. Почему важен идиоматичный код (не только для того, чтобы похвастаться) Идиоматичный код подобен хорошо подогнанному костюму: Поддерживаемый (будущий вы отправит благодарственные письма) Производительный (проникает оптимизация, о существовании которой вы не знали) Коллективный (использует тайный язык жестов команды) Рассмотрим этот поединок на Python:...

15 мая 2025 14:00 · 3 минуты · 548 слов · Maxim Zhirnov
Django против Flask: Веб-разборка на Python с кодом, кофе и долей драматизма

Django против Flask: Веб-разборка на Python с кодом, кофе и долей драматизма

Представьте: вы стоите на распутье для разработчиков. На одном пути — Django, размахивающий своим знаменем «батарейки в комплекте». На другом — Flask, небрежно прислонившийся к указателю «микрофреймворк». Куда пойти? Возьмите свой любимый напиток с кофеином и давайте препарируем этих титанов веб-разработки на Python с хирургической точностью (и, может быть, парой папиных шуток). Претенденты: философия фреймворков Django — это чересчур подготовленный друг, который берёт с собой походную плитку на пикник. Появившись в 2005 году для работы со сроками выпуска газет, это фреймворк, который говорит: «Зачем создавать панель администратора, когда я уже испёк её для тебя?...

2 мая 2025 14:00 · 3 минуты · 557 слов · Maxim Zhirnov
Расширение Burp Suite с помощью Python: от нуля до Героя за 20 минут (или возврат ваших денег)

Расширение Burp Suite с помощью Python: от нуля до Героя за 20 минут (или возврат ваших денег)

Ах, Burp Suite — швейцарский армейский нож для тестирования веб-безопасности. Но что делать, если вашему любимому многофункциональному инструменту нужен специальный клинок? Вы создадите его сами! В этом руководстве мы превратим вас из новичка в расширении в мастера Burp на Python быстрее, чем вы успеете сказать «HTTP/2 Rapid Reset». Основные принципы: ваше первое расширение Давайте начнём с «Hello World» расширений Burp. Создайте файл buttify.py (скоро вы поймёте шутку): from burp import IBurpExtender class BurpExtender(IBurpExtender): def registerExtenderCallbacks(self, callbacks): callbacks....

30 апреля 2025 14:00 · 3 минуты · 563 слова · Maxim Zhirnov