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

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


Новый материал в ленте
  tornado - 6.4.2

Масштабируемый, не блокирующий web-сервер. Скачать можно по ссылке: https://pypi.python.org/pypi/tornado/


Python Дайджест. Выпуск 377

(08.03.2021 - 14.03.2021)

поделиться выпуском 
Дайджест python,

Статьи

  Пишем расширение для Burp Suite с помощью Python

Думаю многие знают о таком инструменте, как Burp Suite от PortSwigger. Burp Suite – популярная платформа для проведения аудита безопасности веб-приложений. Помимо того, что Burp и так содержит тонну полезных функций, он еще и дает возможность пользователям создавать свои расширения, позволяющие невероятно увеличить встроенный функционал приложения.

Однако, статей по созданию расширений на Python в интернете не так и много, думаю, здесь сказалось то, что Burp написан на Java, и документация для расширений, естественно, описывает работу с Java. Но что поделать, расширения очень нужны и помогают получить преимущество, если речь идет о Bug Bounty. Так что предлагаю сегодня рассмотреть азы создания расширений для Burp Suite на Python, а писать мы будем непосредственно сканер CORS misconfiguration.

  HTTP атака на Azure

Будем ломать веб-сервер и закидывать его пачками HTTP запросов. Потихоньку заполнять всё вокруг HTTP-флудом и наблюдать полнейшую деградацию. Готовься Azure, будет не до смеха!

  Взлом reCAPTCHA v2

Назойливая игра - разметка данных для google. Если, занимаетесь сбором доступной информации с ресурсов, не принадлежащим вам, и не сумели реализовать решение для преодоления этой преграды, советы от начинающего разработчика вам помогут. Опишу один из способов, основанный на детекторе объектов, хорошо справляется с типом 4x4, хуже с 3x3. Использую архитектуру YOLO, "золотая середина" точности/производительности, подход одинаков для всех детекторов. В коммерческом продукте стоит использовать "ансамбль" нейронных сетей, к детектору добавить классификацию каждой ячейки, это повысит общую точность с приемлемой производительностью. Также эту задачу можно решить, использую обучение с подкреплением A2C/DQN или любую современную архитектуру, трансформеры, генеративно-состязательные сети.

  Трепещущий Kivy. Обзор возможностей фреймворка Kivy и библиотеки KivyMD

Kivy и Flutter — два фреймворка с открытым исходным кодом для кроссплатформенной разработки.

  Apache Airflow и XCom

XCom или Cross-Communication, это механизм Apache Airflow для передачи параметров из одного оператора в другой. Если просто, то это таблица в базе данных, хранящая значения, записанные операторами Airflow

  C и Python: мост между мирами

Вам интересно подключить всю мощь Python в свою программу на C? Отлично: в статье содержится минимальный крэш-курс по подключению интерпретатора Python, загрузке своего кода и взаимодействию с ним из программы на C.

  Визуализация и анализ белков в Biopython

Биология человека – невероятно сложная наука. Даже учитывая, что с каждым годом мы открываем всё больше секретов человеческого тела, получаемые нами ответы порождают всё большее количество вопросов. Завершение проекта "Геном человека" придало многим учёным уверенность в том, что с помощью геномики человечество сможет решить важные биологические проблемы. Однако, чем больше биологических тайн мы раскрываем, тем более отчётливо понимаем, что на использование генома организма влияют другие факторы. Соответственно, для решения задач в этих взаимосвязанных областях, в том числе транскриптомике (изучение мРНК) и протеомике (изучение белков) были созданы новые направления научных исследований, в которых начали использовать Python.

  Кроссплатформенные OpenGL + Python при помощи Kivy

Будучи наивным чукотским программистом, я думал: "питон такой кроссплатформенный, напишу игрушку для сына, запущу на планшетике, пусть играется". В результате две недели ушло на попытки натыкать решение по переезду с PyOpenGL+pygame на kivy, так как внятного примера использования OpenGL с kivy не нашел. Возможно, кому-то мой опыт поможет сэкономить время.

  Friendly 0.3

Пакет для повышения внятности исключений

  [Перевод] Трассировщик лучей с нуля за 100 строчек Python

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

Примечание: Эта статья ни в коем случае не является полным руководством/объяснением трассировки лучей, поскольку эта тема слишком обширна, а скорее просто введением для любопытствующих.

  Перегон картинок из Pillow в NumPy/OpenCV всего за два копирования памяти

Стоп, что? В смысле «всего»? Разве преобразование из одного формата в другой нельзя сделать за одно копирование, а лучше вообще без копирования?Да, это кажется безумием, но более привычные методы преобразования картинок работают в 1,5-2,5 раза медленнее (если нужен не read-only объект). Сегодня я покопаюсь в кишках обеих библиотек, расскажу почему так получилось и кто виноват. А также покажу финальный результат, который работает так же, только быстрее. Никаких репозиториев или пакетов не будет, только рассказ и рабочий код в конце. Но давайте обо всём по порядку.

  Обрезаем большую таблицу PostgreSQL в production

Всем привет. Сегодня я хотел бы поделиться рецептом по обрезанию большой таблицы PostgreSQL в production. Пример: мы имеем в продовой БД достаточно большую таблицу с именем task (несколько сотен миллионов строк) с устаревшими данными, которые нам уже не нужны. Точнее, они мешают — БД долго дампится, а индексы становятся неэффективными. Мы хотим обрезать эту таблицу (удалить старые строки ранее определенной даты). Для простоты предположим, что в базе нет входящих foreign key на таблицу task (при их наличии решение задачи немного усложняется).

 

  Маленькие Python для маленьких embedded-программистов: CircuitPython и MicroPython для MeowBit

На Хабре уже немало писали про обучающий микрокомпьютер BBC micro:bit, который в 2016 раздали всем британским школьникам, и сейчас он продаётся по $15. С прошлого года появились в продаже и micro:bit v2, в которых ОЗУ расширена с 16 КБ до 128 КБ. Неизменным остался форм-фактор: две кнопки для ввода, матрица 5х5 светодиодов для вывода, всё что сверх этого – подключайте через 25-контактный edge connector. Очевидно, что создатели задумывали micro:bit не как самостоятельное устройство, а как «мозг» для более сложного проекта со внешними датчиками, индикаторами, релюшками, сервоприводами и т.п. – этакий «детский Arduino».

  Играем с CLIP. Создаем универсальный zero-shot классификатор на Android

Эта статья является дополненной и сильно расширенной версией моей статьи в TowardsDataScience о создании приложения, использующем новейшую мультимодальную нейросеть от OpenAI

  Пять распространенных ошибок Django

Django — это фантастический фреймворк для создания веб-приложений. Когда вы только начинаете работать с Django, вы можете часто совершать одни и те же небольшие ошибки из-за недостатка знаний. Я написал этот пост чтобы помочь осветить некоторые часто встречаемые мною ошибки в чужом коде.

В этом посте мы рассмотрим часто встречаемые ошибки на примере приложения Django, которое предназначено для управления сотрудниками в различных организациях.

  Tesseract vs таблицы. Распознавание документов

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

  10 лучших игр по программированию, которые улучшат ваши навыки

Вы помните далёкие дни из детства, когда вы, проводили целый день, а иногда даже не ели целый день, чтобы поиграть в игры на Nintendo? (Ах, дни Mario и Contra!!!)

С того времени игры претерпели гигантские преобразования и сфера стала более обширной. Это уже не просто хобби. Сейчас в Интернете доступно множество игр, связанных с программированием, и вы можете использовать их чтобы изучить и отточить свои скилы в увлекательной форме. Более того, эти игры могут помочь вам улучшить навыки решения задач, поскольку вам нужно будет решать задачи различной сложности, а также соревноваться с другими опытными программистами по всему миру. Специально к старту новых потоков курсов Fullstack-разработчик на Python, разработка на C# и разработка на Java, в этой статье мы отобрали несколько таких игр, играя в которые можно параллельно качать и себя самого.