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

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

     14.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

Как решить популярную в 2022 головоломку Wordle на Python

Worlde — новая головоломка, которая захватила внимание множества людей по всему миру. За подробностями приглашаем под кат.

     14.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

9 библиотек Python для разработки игр

Разработка игр на Python — это не только PyGame, Tower Defense и платформеры, а это и DOOM, и MMORPG, и симуляторы свиданий/отношений, и визуальные новеллы, и конкурсы DARPA, и моделирование вселенной, и автотрекинг низкоорбитальных спутников.

Под катом список 9 библиотек для разработки игр и полезные гайды к каждой библиотеке.

     14.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

Как я делал IAM на готовых решениях

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

     13.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

Кластеризация изображений с помощью нейросети CLIP

В статье пойдёт речь о том, как можно автоматически разделить датасет изображений на кластеры, которые поделены по качественному контекстному признаку, благодаря эмбедингам из нашумевшей нейронной сети CLIP от компании Илона Маска. Расскажу на примере контента из нашего приложения iFunny.

     13.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

NLP алгоритмы для мониторинга и AIOps с использованием библиотек Python (часть 2)

В предыдущей статье было показано как, используя несколько модулей Python, можно обрабатывать текстовые данные и переводить их в числовые векторы, чтобы получить матрицу векторных представлений коллекции документов. В данной статье будет рассказано об использовании матрицы векторных представлений текстов в сервисе автокластеризации первичных событий в платформе monq для зонтичного мониторинга ИТ-инфраструктуры и бизнес-процессов.

     13.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

Python: Явное лучше неявного

Эта история началась со странного падения Python приложения. Сначала я не придал внимания данной проблеме: приложение запущено в Openshift и периодически падает. К такому поведению может приводить всякое, например, иногда ноды обновляют, а иногда случаются аварии и тогда одну или несколько нод выводят из эксплуатации. Однако со временем проблема стала регулярной и начала проявляться некоторая закономерность. При этом в Sentry не было каких-либо ошибок. Я был полностью уверен, что это какая-то типовая проблема и ее можно быстро решить, но как же я ошибался.

     12.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

Как нарисовать в TikZ молекулу с порядками связей

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

     12.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

Разделяй и Властвуй. Разбор задач

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

     11.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

Как с помощью суперпикселей улучшить аннотацию данных

Чтобы понять, для чего нужны суперпиксели, разберёмся сначала, что такое «сегментация». Сегментация изображений — это распознавание формы объектов. При сегментации изображения каждому его пикселю присваивается класс. Возьмём, к примеру, задачу сегментации изображения для категорий «круг» и «квадрат».

     11.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

6 языков. Как не сойти с ума, переключаясь между раскладками клавиатуры

С изучением языков возникает проблема переключения раскладок клавиатуры. Когда два языка все просто, жамкаешь ALT+SHIFT (или что там у вас) и переключаешься на следующий язык. И ты всегда знаешь на какой именно язык переключился. Когда раскладок становится хотя бы 3 это уже вызывает проблемы. Потому что нажать ALT+SHIFT нужно один или несколько раз и непонятно сколько именно, не посмотрев в угол экрана

 

     11.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

Поиск оптимального пути для выявления отклонений в бизнес-процессе

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

     11.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

5 грязных трюков в соревновательном Data Science, о которых тебе не расскажут в приличном обществе

Возможно, ты сейчас участвуешь в соревновании по анализу данных или просто решил погрузиться в мира Data Science. Тогда эта статья будет тебе очень полезна!

Сражу скажу, что трюки, о которых мы сегодня поговорим, я не просто так назвал "грязными". Речь пойдет о вещах, которые в каком-то смысле нечестные или просто вводят в заблуждение других участников соревнований. Долго думал, стоит ли про эти техники вообще рассказывать, ведь в борьбе за призовые всегда велик соблазн начать хитрить. Решил, что все-таки расскажу про некоторые приемы, дабы вооружить честных людей, которые играют по правилам.

     10.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

Использование рекуррентных нейронных сетей в Reinforcement Learning

В задачах машинного обучения для обучения модели может использоваться известная целевая переменная (задачи такого типа называются «обучение с учителем»), либо модель самостоятельно учится находить закономерности с имеющихся данных, не имея заранее известные правильные результаты (такой тип задач называется «обучение без учителя»). Обучение с подкреплением (Reinforcement Learning, RL) не относится ни к первому типу, ни ко второму, однако обладает свойствами и того, и другого. Этот вид машинного обучения в настоящее время бурно развивается, разрабатывается множество теоретических алгоритмов RL [1], однако основная причина всплеска интереса заключается в множестве практических задач, в которых применяется RL, прежде всего в автоматизации, оптимизации и робототехнике. Обучение с подкреплением эффективно прежде всего там, где системе требуется анализировать окружающую среду и выбирать политику поведения с учетом получаемого отклика.

     10.01.2022       Выпуск 421 (10.01.2022 - 16.01.2022)       Статьи

PyQt6 — полное руководство для новичков

PyQt — это библиотека Python для создания приложений с графическим интерфейсом с помощью инструментария Qt. Созданная в Riverbank Computing, PyQt является свободным ПО (по лицензии GPL) и разрабатывается с 1999 года. Последняя версия PyQt6 — на основе Qt 6 — выпущена в 2021 году, и библиотека продолжает обновляться. Это руководство можно также использовать для PySide2, PySide6 и PyQt5.

     06.01.2022       Выпуск 420 (03.01.2022 - 09.01.2022)       Статьи

NLP алгоритмы для мониторинга и AIOps с использованием библиотек Python

Конечной задачей всей деятельности по созданию алгоритмов для обработки естественного языка (Natural Language Processing, NLP) является создание искусственного интеллекта (ИИ), который бы понимал человеческий язык, причем “понимал” в значении “осознавал смысл” (анализ текста) и “делал осмысленные высказывания” (синтез текста). Пока до этой цели ещё очень далеко, можно применять различные алгоритмические методы для извлечения какой-либо полезной информации из текстовых данных. А это уже очень полезно для ИТ мониторинга. В этой статье мы расскажем о применении моделей ML для целей классификации поступающих данных.

     06.01.2022       Выпуск 420 (03.01.2022 - 09.01.2022)       Статьи

Современный Python: как начать свой проект с нуля при помощи Pyenv и Poetry

Это адаптированный перевод статьи Modern Python part 1: start a project with pyenv & poetry Фаози Браза, специалиста по Data Engineer. Повествование ведётся от лица автора оригинала.

     05.01.2022       Выпуск 420 (03.01.2022 - 09.01.2022)       Статьи

«Слабые» ссылки в CPython

"Слабой" ссылки не достаточно, чтобы объект оставался "живым": когда на объект ссылаются только "слабые" ссылки, сборщик мусора удаляет объект и использует память для других объектов. Однако, пока объект не удалён, "слабая" ссылка может вернуть объект, даже если не осталось обычных ссылок на объект.

     05.01.2022       Выпуск 420 (03.01.2022 - 09.01.2022)       Статьи

Видеоcъемка и фотосъёмка на Raspberry pi в облако

Сегодня статья посвещана организации процесса фото - и видиосъёмки с микрокомпьютера Raspberry pi с последующим сохранением данных в облако в атоматическом режиме.

У меня стояла задача создать систему фото- и видеонаблюдения за птицами у кормушки. 

     05.01.2022       Выпуск 420 (03.01.2022 - 09.01.2022)       Статьи

Транзакционное юнит-тестирование приложений с БД

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

В этой статье я хочу провести обзор разных способов юнит-тестирования приложения с БД и рассказать о способе, который я не видел в русскоязычном сегменте интернета. Статья будет посвящена Python 3, pytest и ORM-фреймворку SQLAlchemy, но методы переносимы на другие инструменты.

     02.01.2022       Выпуск 419 (27.12.2021 - 02.01.2022)       Статьи

Обходим файловый кэш Google Drive в Colab

Про colab знают, наверное, все. Этот инструмент позволяет независимым исследователям использовать облачную инфраструктуру с GPU и TPU бесплатно или почти бесплатно. Как всегда, проблемы возникают на больших данных.