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

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

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

Строим Data Lake на Amazon Web Services

С развитием мобильных устройств, дешевого и доступного мобильного Интернета, объём генерируемых данных пользователями значительно увеличился. IoT устройства уже реалии нашего времени, а не удел фантастов прошлого века. Большая часть имеющихся данных была произведена в течение последнего десятилетия, мне страшно представить что будет в следующие 10 лет.

Инфографика ниже показывает масштабы этой дата-эпидемии.

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

Все, что вы хотели узнать об LDPC кодах, но стеснялись спросить (наверное)

С кодами малой плотности проверок на чётность, которые дальше мы будем именовать коротко LDPC (Low-density parity-check codes), мне удалось познакомиться более или менее близко, работая над семестровым научным проектом в ТУ Ильменау (магистерская программа CSP). Моему научному руководителю направление было интересно в рамках педагогической деятельности (нужно было пополнить базу примеров, а также посмотреть в сторону недвоичных LDPC), а мне из-за того, что эти коды были плюс-минус на слуху на нашей кафедре. Не все удалось рассмотреть в том году, и поэтому исследование плавно перетекло в мое хобби… Так я набрал некоторое количество материала, которым сегодня и хочу поделиться!

     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 и оно добротно задокументировано, доступ к нему тщательно оберегается.

     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. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

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

Как в Python реализованы очень длинные числа типа integer?

Когда вы пишете на низкоуровневом языке, таком как С, вы беспокоитесь о выборе правильного типа данных и спецификаторах для ваших целых чисел, на каждом шаге анализируете достаточно ли будет использовать просто int или нужно добавить long или даже long double. Однако при написании кода на Python вам не нужно беспокоиться об этих «незначительных» вещах, потому что Python может работать с числами типа integer любого размера.

В С, если вы попытаетесь вычислить 2^20000 с помощью встроенной функции powl, то на выходе получите inf.

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

Добавление своих полей в отчет Pytest

Столкнулся с задачей модификации html-отчета при работе с pytest, в результате чего нашёл удобное для своей задачи решение, хочу им поделиться — возможно кому-то пригодиться.

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