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

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

     27.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи
     27.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Как защитить Python-приложения от внедрения вредоносных скриптов

Python-приложения используют множество скриптов. Этим и пользуются злоумышленники, чтобы подложить нам «свинью» — туда, где мы меньше всего ожидаем её увидеть.

Одним из достоинств Python считается простота использования: чтобы запустить скрипт, нужно просто сохранить его в .py-файле и выполнить команду python с этим файлом (например, python my_file.py). Так же легко разбить наш файл, например, на модули my_app.py и my_lib.py и далее для подключения модулей использовать конструкцию import...from: import my_lib from my_app.py.

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

     26.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Создаем tumbnails для видео с python и opencv

Порой, разбирая завалы больших и малых видеофайлов в папке(папках) нет времени заглядывать в содержимое каждого файла. Тут на ум приходят так называемые thumbnails, которые позволяют в виде нарезки фрагментов из видео, создать представление о содержимом.

Создадим небольшую программу, которая создаст thumbnails для каждого из файлов в текущей папке windows, и добавит timeline к вырезанным файлам.

     26.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Обработка файлов RAW, полученных с камеры Raspberry Pi HQ

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

     25.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Киоск Raspberry Pi для графического интерфейса на Kivy

Хочется поделиться опытом настройки Raspberry Pi 3B+ в качестве киоска с GUI на базе библиотеки Kivy для Python 3. Почему именно Kivy? Просто мы уже имеем продукт, разработанный на Python, нам бы хотелось добавить к нему графический интерфейс. Стоит отметить, что до Kivy мы перепробовали несколько вариантов, включая wxWidgets и даже браузер на Chromium с веб-приложением. Все эти альтернативы оказались бессильны против Kivy, лёгкой и быстрой. Очень хороший обзор этой библиотеки уже есть на Хабре.

     25.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи
     25.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Полноценная игра, сделанная мною в обычной windows консоли

Сегодня я опишу в подробностях, как я сделал игру в командной строке, и насколько хороша она получилась.

     25.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

3D ML. Часть 3: датасеты и фреймворки в 3D ML

В этой заметке мы рассмотрим какие существуют основные датасеты в области 3D ML и какие фреймворки для работы с 3D данными могут пригодиться датасаентисту при разработке моделей машинного обучения в данной области.

     25.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Анализ сетей с использованием графов

Анализ социальных сетей – это процесс исследования различных систем с использованием теории сетей. Он начал широко применяться именно тогда, когда стало понятно, что огромное количество существующих сетей (социальных, экономических, биологических) обладают универсальными свойствами: изучив один тип, можно понять структуру и любых других сетей и научиться делать предсказания по ним.

     24.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)

Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА Новостей. Библиотека Natasha сейчас встроена в образовательные программы ВШЭ, МФТИ и МГУ.

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

     24.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи
     24.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Как найти количество всех букв на всех знаках вида «въезд в город Х» в стране? Точный способ ответить на такие вопросы

Недавно в рамках одного собеседования мне понадобилось решить задачу, условие которой приведено ниже

     24.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи
     24.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Rust for a Pythonista #3: Python bindings

It is a step-by-step guide on adding Python bindings to a Rust crate, including testing, packaging, and releasing.

     23.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Новая библиотека для уменьшения размерности данных ITMO_FS — зачем она нужна и как устроена

Студенты и сотрудники лаборатории Машинного обучения Университета ИТМО разработали библиотеку для Python, которая решает ключевую задачу машинного обучения.

Расскажем, почему появился этот инструмент и что он умеет.

     23.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Оптимизация инвестиционного портфеля по методу Марковица

Есть много реализаций данного метода. В том числе и на Python. Реализовал еще раз (см. ссылка на GitHub). Можно использовать как заготовку программного кода.

Конечно, приведем стандартную диаграмму облака сгенерированных портфелей.

     22.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Склеиваем несколько фотографий в одну длинную с помощью машинного обучения

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

     22.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Заметки Дата Саентиста: персональный обзор языков запросов к данным

Почему важно знать и уметь обращаться с языками запросов? По своей сути в Data Science есть несколько важнейших этапов работы и самый первый и важнейший (без него уж точно ничего работать не будет!) — это получение или извлечение данных. Чаще всего данные в каком-то виде где-то сидят и их нужно оттуда «достать». 

     21.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Стабилизация видео с движущейся камеры, или как перевести всё в неподвижную систему координат

Сейчас возможности Computer Vision (CV) полностью перекраивают ландшафт рынка Public Safety solutions. В то время, как традиционными системами видеонаблюдения уже не просто никого не удивить, а странно не найти её в любом общественном месте, использование ИИ в данной области всё ещё вновинку.

     20.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Передача динамических объектов от setup к тестовой функции в py.test

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

 

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