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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     21.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Под капотом Python. Тонкости популярных конструкций with и contextmanager

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

     21.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Пишем микро-shellcode в формате ELF вручную

Уже не раз публиковались статьи про устройство формата ELF и написание файлов в таком формате вручную, но я не считаю лишним опубликовать и свой вариант решения задачи написания ELF-файла вручную. В результате получился файл, вызывающий /bin/sh и занимающий всего 76 байт (что на 8 байт меньше, чем сумма длин необходимых для запуска заголовков ELF).

     21.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи
     20.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Особенности разработки автотестов различными инструментами, а также статистика по использованию

Попробуем разобраться в автоматизации тестирования ПО, сделаем обзор сервисов для автоматического тестирования, выясним, какой язык программирования лучше подходит для QA Automation. Вся информация основана в том числе на реальных событиях и моём реальном опыте.

     20.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Jira worklog без плагинов

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

     20.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Пишем свой Chat GPT

В июне у OpenAI вышла новость, что в модель GPT можно передавать API сторонних приложений, что открывает широкий круг возможностей для создания специализированных агентов. Мы с командой решили написать свой чат для работы с GPT4 от Open AI и другими ML/LLM моделями c возможностью кастомизации под внутренние нужды компании. Проект выложен в открытый доступ, скачать можно по ссылке. Сейчас он находится в активной разработке, так что будем рады видеть ваши замечания / пожелания в комментариях. Также присылайте ваши pull requests с исправлениями. 

     22.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Релизы

pip - 23.2.1

Утилита для управления модулями в Python. Скачать можно по ссылке: https://pypi.python.org/pypi/pip/

     20.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

От маргинального языка к самому популярному в мире: как изменился Python за двадцать лет

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

     19.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

DesktopETL — кросс-платформенный прототип ETL-системы, или как регулярно загружать XML/JSON и сохранять в XLS/CSV

Идея моего домашнего проекта началась с простой, на первый взгляд, задачи: с потребности конвертировать файлы формата XML в формат XLS (или CSV) для последующего анализа. И я был наивен, чтобы попробовать решение «в лоб» и с помощью Excel импортировать богатый внутренний мир SAP Business Objects, описанный в иерархической структуре XML, в табличную форму, — и примерно через час мое сознание, в очередной раз выдав исключение о переполнении памяти, подключило опыт, который намекнул, что иерархические структуры заранее неизвестной глубины проще всего обрабатывать посредством рекурсии.

     19.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

VoiceChat на несколько человек с блэкджеком и (Web?)UI над UDP socket python

Лучший способ допилить что‑то — это придумать заново. Всё что вы прочитаете далее — есть мой гайд по изготовлению велосипеда и не претендует на звание полноценного презентабельного проекта.

     19.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Вопросы и обсуждения

Python Bytes: #344 AMA: Ask Us Anything

Очередной выпуск англоязычного подкаста Python Bytes

     20.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Релизы

virtualenv - 20.24.1

Инструмент создания виртуального рабочего окружения. Скачать можно по ссылке: https://pypi.python.org/pypi/virtualenv

     20.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Релизы

aiohttp - 3.8.5

http клиент/сервер для asyncio. Скачать можно по ссылке: https://pypi.python.org/pypi/aiohttp

     19.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Релизы

gunicorn - 21.2.0

WSGI HTTP-сервер для UNIX. Скачать можно по ссылке: https://pypi.python.org/pypi/gunicorn/

     18.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Selenium. Автоматизация тестирования календаря (Datepicker)

Задача, у нас есть несколько страниц фильтром данных по дате с помощью поля с календарем (далее datepicker). Необходимо создать инструмент, который позволит задавать дату и локаторы элементов (идентификаторы например см. css-селекторы) управления календарем. Инструмент бы уже реализовал алгоритм выбора даты в календаре. Алгоритм выбора даты включает шаги описанные на схеме 1.

     18.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Превращаем любой фреймворк в FastAPI. На прицеле Flask

Я уверен, вы знаете, что такое FastAPI. По результатам опросов Stackoverflow этот фреймворк уверенно входит в топ любимых фреймворков не только питонистов, но и разработчиков в целом. И не зря: за счет свеого подхода к сериализации данных он предоставляет действительно потрясающий опыт разработки.

     19.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Релизы

click - 8.1.6

Фреймворк для простого создания интерфейсов командной строки.. Скачать можно по ссылке: https://pypi.python.org/pypi/click/

     18.07.2023       Выпуск 500 (17.07.2023 - 23.07.2023)       Статьи

Simba: Симуляция десятков тысяч частиц в потенциале Леннарда-Джонса на чистом Python с GPU-ускорением

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