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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

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

Python’ом по машинлернингу

Сегодня только ленивый не говорит (пишет, думает) про машинное обучение, нейросети и искусственный интеллект в целом. Всего лишь в прошлом году ML сравнили с подростковым сексом — все хотят, но никто не занимается. Сегодня все озабочены тем, что ИИ нас оставит без работы. Хотя, судя по последним исследованиям Gartner, можно успокоиться, так как к 2020 году благодаря ИИ появится больше рабочих мест, чем ликвидируется. Так что, дорогой друг, учи ML, и будет тебе счастье.

     19.03.2018       Выпуск 222 (19.03.2018 - 25.03.2018)       Статьи
     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)       Статьи
     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). На входе текст, на выходе структурированные, нормализованные объекты, например, с именами, адресами, датами

     14.03.2018       Выпуск 221 (12.03.2018 - 18.03.2018)       Статьи
     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

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