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

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

     24.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

Развитие стратегий устойчивости

В предыдущей статье я описал несколько алгоритмов эволюционных стратегий (evolution strategies, ES), помогающих оптимизировать параметры функции без необходимости явно вычислять градиенты. При решении задач обучения с подкреплением (reinforcement learning, RL) эти алгоритмы можно применять для поиска подходящих наборов параметров модели для агента нейросети (neural network agent). В этой статье я расскажу об использовании ES в некоторых RL-задачах, а также опишу методы поиска более стабильных и устойчивых политик.

     22.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

RNN: учим нейронную сеть писать как Лев Толстой

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

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

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

     22.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

Как сделать свой блокчейн. Часть 1 — Создание, Хранение, Синхронизация, Отображение, Майнинг и Доказательная работа

Доброго всем! Мы тут потихоньку начали исследовать новое совсем для нас направление для обучения — блокчейны и нашли то, что оказалось интересным в рамках нашего курса по Python, в том числе. Чем, собственно, и хотим поделиться с вами. 

     22.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

Torskel — упрощаем рутину в Tornado

Мне часто приходится делать небольшие сервера на tornado. В каких-то проектах нужна поддержка работы с redis, в каких-то нет. В других надо рендерить ReactJS. И во всех нужно логирование. Для начала я поднял локальный pypi репозитарий, собрал свои наработки в питоний пакет и радовался жизни. Достаточно было установить пакет, импортировать из него классы, отнаследоваться и радостно пилить код дальше.

     22.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

Шум Перлина

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

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

     21.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

Машинное обучение своими руками (часть 2). Сервис для классификации обращений в тех. поддержку

В октябре команда облачного сервиса Okdesk приняла участие в пензенском хакатоне, в рамках которого мы разработали "коробочного" Telegram-бота для Okdesk. Бот позволит клиентам сервисных компаний отправлять заявки на обслуживание, переписываться по заявками и ставить оценки выполнению заявок не выходя из любимого мессенджера.

     18.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Автоколебания и резонанс

Здравствуйте! В связи с вопросами читателей моей публикации [1] касательно условий возбуждения автоколебаний в механической системе, я решил описать явление возникновения и поддержания автоколебаний подробно, выделив основные области возникновения и применения автоколебаний. В википедии автоколебания объясняют так [2]: Незатухающие колебания в диссипативной динамической системе с нелинейной обратной связью, поддерживающиеся за счёт энергии постоянного, то есть непериодического внешнего воздействия. Автоколебания отличаются от вынужденных колебаний тем, что последние вызваны периодическим внешним воздействием и происходят с частотой этого воздействия, в то время как возникновение автоколебаний и их частота определяются внутренними свойствами самой автоколебательной системы. При этом частота становится почти равной резонансной.

     17.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Классификация на гуманитариев и технарей по комментариям в VK

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

     16.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Синтаксический анализ в NLTK. Продолжение

Это небольшое продолжение предыдущей статьи, где рассматривались основы синтаксического анализа с помощью пакета Natural Language Toolkit (сокращенно, NLTK). Как и в прошлой статье, в этой я буду сопровождать примеры кодом на языке Python (версии 2.7).

     16.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Устраняем зависимости между объектами в Python

Хорошо спроектированная программа состоит из объектов, отвечающих принципу единственной обязанности. Такие объекты постоянно “общаются” друг с другом, и поэтому зависимость между ними неизбежна. Но эту зависимость можно свести к минимуму с помощью: внедрения зависимости (dependency injection), использования именованных параметров и изоляции внешних сообщений. Об этих методах пойдет речь в статье.

     15.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Пишем x86-64 комплятор JIT с нуля в стоковом Python

В этой статье я покажу, как написать рудиментарный, нативный x86-64 just-in-time компилятор (JIT) на CPython, используя только встроенные модули.

Код предназначен для UNIX-систем, таких как macOS и Linux, но его должно быть легко транслировать на другие системы, типа Windows. Весь код опубликован на github.com/cslarsen/minijit.

Цель — сгенерировать в рантайме новые версии нижеприведённого ассемблерного кода и выполнить их.

     15.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Механизм общения браузера и сервера на языке Python

Разбираемся как браузер общается с веб сервером с помощью языка Python.

     13.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Видео

Кирилл Кузьминых - zc.buildout

Слайды: https://speakerdeck.com/cykooz/zc-dot-buildout

Обзор инструмента для автоматизации сборки программ и подготовки окружения для их выполнения.

     13.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Видео

Никита Варенцов - Kubernetes — вводная. Обзор архитектуры, деплой, печеньки

Обзор архитектуры, деплой, печеньки
Слайды: https://docs.google.com/presentation/d/1kOus5QRNZ-mm24U3RrOtNBSQjV2DqDLP2Kd3uhCkY0k/present#slide=id.p

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

     13.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Видео

Сергей Архипов - Вероятностные структуры данных

Слайды: https://speakerdeck.com/9seconds/probablistic-data-structures

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

В докладе будут упомянуты такие слова, как Кафка, Майсиквел и ВКонтакте. Блумфильтры, гиперлоглог и тидайджест.
 

     13.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Видео

Иван Цыганов - OWASP TOP X and one more thing…

Слайды: http://mi.0-0.im/rannts.pdf

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

     13.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Видео

Алексей Кутепов - Python + Minecraft

Слайды: https://1drv.ms/p/s!AubE8uMJoD1ygYEM_fNwAAi7pkg4rw

Новый уровень стоительства. Белая магия в ваших руках. Сopy-paste живописных гор к себе в деревню. Мгновенное строительство цитаделей вокруг персонажа. Захватывающие приключения продолжаются.

     13.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Релизы

Google выпустила Tangent, новую Python-библиотеку для машинного обучения

Tangent — новая открытая Python-библиотека для автоматического дифференцирования. Она принимает на вход Python-функцию f и создает новую Python-функцию, вычисляющую градиент f. Это упрощает и увеличивает наглядность градиентных вычислений.

     12.11.2017       Выпуск 203 (06.11.2017 - 12.11.2017)       Статьи

Как программно управлять WiFi маршрутизатором TP-Link с помощью Python requests

Однажды передо мной встала задача реализации программного управления одним из распространенных домашних Wi-Fi маршрутизаторов TP-Link TL-WR841N, у которого, к сожалению, нет интерфейса управления через командную строку (telnet, SSH). Я хотел, чтобы мой Telegram бот, реализованный на Python на базе SBC в локальной домашней сети, на основе моих команд выполнял следующие функции управления маршрутизатором

     11.11.2017       Выпуск 203 (06.11.2017 - 12.11.2017)       Статьи

Руководство к созданию собственного когортного отчёта по возвратности

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

В статье будет описан относительно простой, но полезный алгоритм построения когортой таблицы, а также приведены наброски кода с Python/Pandas и SQL. Если Вам необходимо программно реализовать построение когортного отчёта или просто интересно узнать этот алгоритм — прошу под кат.