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

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

     21.03.2018       Выпуск 222 (19.03.2018 - 25.03.2018)       Статьи

Хэш-стеганография с использованием vkapi

Некоторое время назад решил разобраться, что такое стеганография, в чем её смысл и какая она бывает. И спустя несколько ссылок наткнулся на интересную статью про хэш-стеганографию. Возник вопрос — а почему бы не попробовать реализовать такой способ передачи на практике? Для начала — в виде proof of concept.

     20.03.2018       Выпуск 222 (19.03.2018 - 25.03.2018)       Статьи

Hessian-Free оптимизация с помощью TensorFlow

Я хочу рассказать про метод оптимизации известный под названием Hessian-Free или Truncated Newton (Усеченный Метод Ньютона) и про его реализацию с помощью библиотеки глубокого обучения — TensorFlow. Он использует преимущества методов оптимизации второго порядка и при этом нет необходимости считать матрицу вторых производных. В данной статье описан сам алгоритм HF, а так же представлена его работа для обучения сети прямого распространения на MNIST и XOR датасетах.

     20.03.2018       Выпуск 222 (19.03.2018 - 25.03.2018)       Статьи

Военное ведомство США должно срочно переосмыслить стратегию в области машинного обучения

Недавно стало известно, что Google (корпорация добра) занимается анализом видеоизображений с военных дронов. Этот проект называется Project Maven и был предложен в апреле 2017 года. Что интересно, сотрудничество с Google в этом проекте организовывал сам Эрик Шмидт, бывший председатель совета директоров Alphabet, и нынешний председатель Совета по оборонным инновациям DIB.

     20.03.2018       Выпуск 222 (19.03.2018 - 25.03.2018)       Статьи

Несколько советов по организации Python-приложения на сервере

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

 

 

Я работаю, в основном, с Python/Django стеком, поэтому все примеры будут, в первую очередь, применительно к этому набору. Также ключевые технологии: Ubuntu (17.10), Python3 (3.6).

     19.03.2018       Выпуск 222 (19.03.2018 - 25.03.2018)       Статьи

Классификация музыкальных композиций по исполнителям с помощью Скрытых Марковских Моделей

Скрытые марковские модели (Hidden Markov Models) с давних времен используются в распознавании речи. Благодаря мел-кепстральным коэффициентам (MFCC), появилась возможность откинуть несущественные для распознавания компоненты сигнала, значительно снижая размерность признаков. В интернете много простых примеров использования HMM с MFCC для распознавания простых слов.

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

     19.03.2018       Выпуск 222 (19.03.2018 - 25.03.2018)       Статьи

Небольшая библиотека для применения ИИ в Telegram чат-ботах

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

     18.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Математическая модель тепловыделяющего элемента ядерного реактора

Тепловыделяющий элемент (ТВЭЛ) — главный конструктивный элемент активной зоны гетерогенного ядерного реактора, содержащий ядерное топливо [1].

В ТВЭЛах происходит деление тяжелых ядер урана 235 или плутония 239, сопровождающееся выделением тепловой энергии, которая затем передаётся теплоносителю.

ТВЭЛ должен обеспечить отвод тепла от топлива к теплоносителю и препятствовать распространению радиоактивных продуктов из топлива в теплоноситель.

Поэтому расчёт температурных полей в ТВЭЛах является важной задачей проектирования ядерного реактора.

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

     17.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Искусство эксплойта минных полей: Разбираем CTF-таск про игру в Сапёра из «Мистера Робота»

Recently попался мне случайно на глаза один эпизод из недавно модного сериала «Мистер Робот». Не будучи сильно знакомым с проектом, я всё же знал о связанной с ним массивной пиар-кампании (которая вроде как даже проводила нечто вроде ARG-мероприятий), поэтому когда я услышал условие занимательного CTF-таска (из жанра bin/exploitation), представленного в сюжете одной из серий, я подумал, что скорее всего, этот таск существовал в действительности. Обратившись ко всемирной паутине, я подтвердил своё предположение, и, так как задача не очень сложная (не успеет наскучить в рамках одной хабр-статьи), но крайне оригинальная и интересная, сегодня займемся её разбором.
Cut, cut, cut!

     17.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

FFMPEG. Загружаем часть видео с YouTube

Иногда мы хотим поделиться с друзьями частью какого то видео на YouTube — время концентрации внимания в современной реальности снижено до предела, и если скидывать ссылку на ролик(даже с таймкодом начала) с комментарием «смотреть с 21:51 по 24:55» — велика вероятность, что видео просмотрено не будет.

Кроме того — куски видео могут потребоваться для монтажа своих роликов — и довольно неудобно скачивать ради нескольких секунд весь ролик и искать/вырезать нужную часть в программе для монтажа.

Как загружать часть видео YouTube при помощи ffmpeg — под катом

     16.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Distant Joining: выбираем репрезентативный набор генов

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

     16.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Мега-Учебник Flask, Часть XV: Улучшение структуры приложения

Это пятнадцатая часть серии Мега-учебников Flask, в которой я собираюсь реструктурировать приложение, используя стиль, подходящий для более крупных приложений.

     15.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Cжатие и улучшение рукописных конспектов

Я написал программу для очистки отсканированных конспектов с одновременным уменьшением размера файла.

     15.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Amazon Redshift и Python

Amazon Redshift это колоночная база данных от Amazon, способная хранить и обрабатывать петабайты данных. Она поддерживает диалект SQL, что значительно облегчает работу с данными, а также подключение сторонних Business Intelligence систем для последующего анализа. В основе Redshift лежит реляционная база данных PostgreSQL 8 версии.

     14.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Наташа — библиотека для извлечения структурированной информации из текстов на русском языке

Есть стандартная задача извлечения именованных сущностей из текста (NER). На входе текст, на выходе структурированные, нормализованные объекты, например, с именами, адресами, датами

     13.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Эффективное использование памяти при параллельных операциях ввода-вывода в Python. Перевод

Существует два класса задач где нам может потребоваться параллельная обработка: операции ввода-вывода и задачи активно использующие ЦП, такие как обработка изображений. Python позволяет реализовать несколько подходов к параллельной обработке данных. Рассмотрим их применительно к операциям ввода-вывода.

До версии Python 3.5 было два способа реализации параллельной обработки операций ввода-вывода. Нативный метод — использование многопоточности, другой вариант — библиотеки типа Gevent, которые распараллеливают задачи в виде микро-потоков. Python 3.5 предоставил встроенную поддержку параллелизма с помощью asyncio. Мне было любопытно посмотреть, как каждый из них будет работать с точки зрения памяти. Результаты ниже.

     13.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

А теперь по-русски. Выпуск 5. Факап

О том, как иностранные бранные слова становятся эвфемизмами.

     13.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Как быстро написать и выкатить в продакшн алгоритм машинного обучения

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

     13.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Решаем задачи без самобалансирующихся деревьев в Python

Многие задачи на алгоритмы требуют знания определённых структур данных. Стек, очередь, куча, динамический массив, двоичное дерево поиска — нечасто решение алгоритмической задачи обходится без использования чего-либо из них. Однако, качественная их реализация — нетривиальная задача, и при написании кода всегда хочется по максимуму обойтись использованием стандартной библиотеки языка.

     12.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Первые шаги в Машинном обучении

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

     12.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи

Data analysis. NumPy. Часть 1

Эта статья первая в серии про базовый набор инструментов для первичного анализа данных с помощью Python.
В первую очередь рассмотрим базовую библиотеку для работы с многомерными массивами NumPy.
Pandas позволяет эффективно работать с неоднородными данными. Удобно загружать, обрабатывать и анализировать табличные данные  с помощью SQL-подобных запросов.
С помощью Matplotlib, Seaborn, Plotly реализуется отличная визуализация.