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

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

     01.09.2020       Выпуск 350 (31.08.2020 - 06.09.2020)       Статьи

Определяем пульс по вебкамере в 50 строчек кода

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

     01.09.2020       Выпуск 350 (31.08.2020 - 06.09.2020)       Статьи

Функциональное программирование в питоне. Генераторы, как питонячий декларативный стиль

Говоря о Python, обычно используется процедурный и ООП стиль программирования, однако это не значит, что другие стили невозможны. В презентации ниже мы рассмотрим ещё пару вариантов — Функциональное программирование и программирование с помощью генераторов. Последние, в том числе, привели к появлению сопрограмм, которые позднее помогли создать асинхронность в Python. Сопрограммы и асинхронность выходят за рамки текущего доклада, поэтому, если интересно, можете ознакомиться об этом самостоятельно. Лично я рекомендую книгу "Fluent Python", в которой разговор начинается от итераторов, плавно переходит в темы о генераторах, сопрограммах и асинхронности.

     01.09.2020       Выпуск 350 (31.08.2020 - 06.09.2020)       Статьи

Использование NLP для построения классификатора сарказма

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

 

Статья является переводом с Machine Learning Foundations: Part 10 — Using NLP to build a sarcasm classifier

     01.09.2020       Выпуск 350 (31.08.2020 - 06.09.2020)       Статьи

Как мы научили робота чувству юмора

В IT-кругах ходит такая шутка, что машинное обучение (machine learning, ML) — это как секс в среде подростков: все об этом говорят, все делают вид, что этим занимаются, но, на самом деле, мало у кого это получается. У FunCorp получилось внедрить ML в главную механику своего продукта и добиться радикального (почти на 40%!) улучшения ключевых метрик. Интересно? Добро пожаловать под кат.

     31.08.2020       Выпуск 350 (31.08.2020 - 06.09.2020)       Статьи

Делаем параллельный корпус из книг с помощью sentence embeddings

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

     31.08.2020       Выпуск 350 (31.08.2020 - 06.09.2020)       Статьи

Компьютерное зрение на страже конфиденциальности

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

     31.08.2020       Выпуск 350 (31.08.2020 - 06.09.2020)       Видео

Mastering a data pipeline with Python / Robson Luis Monteiro Junior (Microsoft)

Building data pipelines are a consolidated task, there are a vast number of tools that automate and help developers to create data pipelines with few clicks on the cloud. It might solve non-complex or well-defined standard problems. This presentation is a demystification of years of experience and painful mistakes using Python as a core to create reliable data pipelines and manage insanely amount of valuable data. Let's cover how each piece fits into this puzzle: data acquisition, ingestion, transformation, storage, workflow management and serving. Also, we'll walk through best practices and possible issues. We'll cover PySpark vs Dask and Pandas, Airflow, and Apache Arrow as a new approach.

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

Интерактивная визуализация алгоритмов на базе Jupyter

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

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

Бот в телеграм, озвучивающий ваши эмоции в сообщении

В этой статье я опишу своего бота в телеграм, который работает и сейчас.

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

Python и теория множеств

В Python есть очень полезный тип данных для работы с множествами – это set. Об этом типе данных, примерах использования, и небольшой выдержке из теории множеств пойдёт речь далее.

     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. К примеру, вам может захотеться увеличить или уменьшить активность функции удаления шума, или вам может показаться, что цвета получились не совсем верно.

     26.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Видео

Moscow Python Podcast. Портируем код с Python2 на Python3 (level: senior)

В гостях у Moscow Python Podcast Tech Lead компании Яндекс Сергей Захарченко. Поговорили о том, как быть и что делать, если нужно перейти со второй на третью версию Python и почему это может быть нужно.

     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)       Видео

ORM vs plain SQL, why not both?

Буду рассказывать о ложной дихотомии ORM и запросов в голом SQL. Расскажу, как Django с одной стороны и aiohttp+asyncpg с другой позволяли нам катиться как угорелые

     25.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Видео

Трейсинг в микросервисной архитектуре на Python

Будут затронуты следующие темы: основная идея трейсинга микросервисов в контексте APM (application performance management), основные понятия в трейсинге на примере OpenTracing и Jaeger; краткий обзор существующих инструментов, библиотек для трейсинга. Как обеспечить 80% трейсинга и почти не писать код; особенности подготовки к трейсингу кода многопоточных и асинхронных (Tornado и Asyncio) приложений; советы по тестированию кода с трейсингом; краткий обзор будущего трейсинга — OpenTelemetry

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