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

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

     26.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Вопросы и обсуждения
     25.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Релизы

django-test-migrations 0.2.0

Пакет для тестирования миграций Django

     25.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Статьи

Интеграция Gitlab, Jira и Confluence на Python для автоматизации сборки релизов

Недавно на стендапе коллега внес рацпредложение: автоматизировать сборку релизов, взяв за основу готовые уже наработки по взаимодействию с Jira, написанные на Python.

Процесс деплоя у нас следующий: когда накапливается достаточное количество задач, прошедших тестирование из них собирается Релиз-кандидат (RC) в каждом проекте, затронутом задачами, затем задачи тестируются в составе RC. После этого RC заливается на стейджинг сервер, где в близком к боевому окружении все еще раз тестируется и проводится полный регресс. И затем, после необходимых деплойных действий свежий релиз заливается в мастер.

     25.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Статьи

Анализируем резюме юристов на hh.ru без api

Hh.ru — неплохой сайт, не нуждающийся в дополнительном представлении. Поиск вакансий на нем удобен и прозаичен. Однако, порой интереснее посмотреть со стороны работодателя:

 

  • как выглядит выдача резюме по целевому запросу,
  • как видно собственное резюме в выдаче,
  • как «проседает» резюме со временем, заодно собрать резюме коллег-юристов для построения мини-статистики.
Несмотря на то, что у hh есть собственное api и оно добротно задокументировано, доступ к нему тщательно оберегается.

     25.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Видео

Аsync и await в production / Сергей Борисов (ДомКлик)

В "Домклик" больше 50 Python-разработчиков, и мы используем асинхронное программирование с самого начала наших проектов. Польза от корутин с async и await огромна, но вместе с этой пользой приходят специфические сложности. Неожиданно для разработчиков течет память, не ловятся исключения, а доступные "асинхронные" библиотеки для типовых задач часто очень сырые.

     24.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Статьи

Сканирующее окно по массивам NumPy

Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам NumPy. В результате скорость обработки данных увеличивается в несколько тысяч раз и сравнима по скорости с языком программирования С.

 

Cкользящее окно применяется в: обработке изображений, искусственных нейронных сетях, интернет протоколе TCP, обработке геномных данных, прогнозировании временных рядов и т.д.

     24.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Статьи

Изучаем английский с помощью Telegram бота

Нет, это не одна из сотен статей о том, как написать свой первый Hello World бот на Python. Здесь вы не найдете подробной инструкции, как получить API-токен в BotFather или запустить бота в облаке. Взамен я вам покажу как раскрутить всю мощь Python на максимум, чтобы добиться максимально эстетичного и красивого кода. Исполним песню про обращение сложных структур — станцуем и спляшем. Под катом асинхронность, собственная система сейвов, куча полезных декораторов и много красивого кода.

     24.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Статьи

Как выключить именованные миграции в Django

Вместо 0002_mymodel_myfield.py получаем 0002_auto_20200113_1837.py

     24.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Статьи

Советы по настройке uWSGI в производственной среде

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

     24.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Статьи

Как сжать модель fastText в 100 раз

Модель fastText — одно из самых эффективных векторных представлений слов для русского языка. Однако её прикладная польза страдает из-за внушительных (несколько гигабайт) размеров модели. В этой статье мы показываем, как можно уменьшить модель fastText с 2.7 гигабайт до 28 мегабайт, не слишком потеряв в её качестве (3-4%). Спойлер: квантизация и отбор признаков работают хорошо, а матричные разложения — не очень. Также мы публикуем пакет на Python для этого сжатия и примеры компактной модели для русских слов.

     23.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Статьи

Сдруживаем Python и Bash: библиотеки smart-env и python-shell

На сегодняшний день Python является одним из наиболее используемых языков в сфере создания не только непосредственно программных продуктов, но также обеспечения их инфраструктуры. Вследствие этого многим девопсам, по их воле или против оной, пришлось учить новый язык для последующего использования в качестве дополнения к старым добрым Bash-скриптам. Однако Bash и Python исповедуют различные подходы к написанию кода и имеют определенные особенности, в виду чего портирование Bash-скриптов на «змеиный язык» иногда оказывается ёмкой и далеко не тривиальной задачей.

Чтобы упростить жизнь девопсам, создано и продолжает создаваться много полезных библиотек и утилит на Python. Данная статья описывает сразу две новых библиотеки, созданные автором сего поста — smart-env и python-shell — и призванные избавить девопса от необходимости уделять много внимания тонкостям работы с Python, оставляя простор для более интересных задач. Сфера деятельности библиотек — переменные окружения и запуск внешних утилит.

     23.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Статьи

Простой мессенджер на tkinter, socket и threading

В этой статье я бы хотел показать как написать простое приложение мессенджер менее чем в 150 строк.

     23.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Статьи

Hack The Box — прохождение Zetta. FXP, IPv6, rsync, Postgres и SQLi

Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье узнаем IPv6 адрес сервера с помощью FXP, поработаем с rsync, а также запишем ssh-ключ используя SQL-инъекцию при обработке журналов логов в Postgres.

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)