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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     02.06.2017       Выпуск 180 (29.05.2017 - 04.06.2017)       Видео

Python Opcodes

Артём Апалько (RedMadRobot backend-dev)

"Обзорный доклад по опкодам в питоне. Изменения в Python 3.6 (изменение размера, оптимизация branch-prediction)".

Слайды: http://www.moscowpython.ru/meetup/45/python-opcodes/

     02.06.2017       Выпуск 180 (29.05.2017 - 04.06.2017)       Статьи

Да, Python медленный, но меня это не волнует

Разговоры о снижении производительности ради продуктивности.

Я беру паузу в моём обсуждении asyncio в Python, чтобы поговорить о скорости Python. Позвольте представиться, я — ярый поклонник Python, и использую его везде, где только удаётся. Одна из причин, почему люди выступают против этого языка, — то, что он медленный. Некоторые отказываются даже попробовать на нём поработать лишь из-за того, что «X быстрее». Вот мои мысли на этот счёт.

     02.06.2017       Выпуск 180 (29.05.2017 - 04.06.2017)       Статьи

Именованные кортежи. Пишем код на Python чище

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

     28.05.2017       Выпуск 179 (22.05.2017 - 28.05.2017)       Статьи

Анализ рынка недвижимости методом случайного леса

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

     26.05.2017       Выпуск 179 (22.05.2017 - 28.05.2017)       Статьи

Эксперименты с malloc и нейронными сетями

Больше года назад, когда я работал антиспамщиком в Mail.Ru Group, на меня накатило, и я написал про эксперименты с malloc. В то время я в свое удовольствие помогал проводить семинары по АКОСу на ФИВТе МФТИ, и шла тема про аллокацию памяти. Тема большая и очень интересная, при этом охватывает как низкий уровень ядра, так и вполне себе алгоритмоемкие структуры. Во всех учебниках написано, что одна из основных проблем динамического распределения памяти — это ее непредсказуемость. Как говорится, знал бы прикуп — жил бы в Сочи. Если бы оракул заранее рассказал весь план по которому будет выделяться и освобождаться память, то можно было составить оптимальную стратегию, минимизирующую фрагментацию кучи, пиковое потребление памяти и т.д. Отсюда пошла возня с ручными аллокаторами. В процессе раздумий я натолкнулся на отсутствие инструментов логирования malloc() и free(). Пришлось их написать! Как раз про это была статья (а ещe я изучал macOS). Были запланированы две части, однако жизнь круто повернулась и стало не до malloc(). Итак, пора восстановить справедливость и реализовать обещанное: ударить глубоким обучением по предсказанию работы с кучей.

     23.05.2017       Выпуск 179 (22.05.2017 - 28.05.2017)       Видео

Lightning Talk: Сергей Архипов - Правильная демонизация

Слайды: https://speakerdeck.com/9seconds/daemonize

Небольшой рассказ о том, как правильно демонизировались процессы до прихода systemd.

     23.05.2017       Выпуск 179 (22.05.2017 - 28.05.2017)       Видео

Lightning Talk: Никита Ладошкин - gRPC

Слайды: https://nikiladonya.github.io/#/4

Небольшой обзор gRPC как дополнение к докладу про Protocol Buffers.

     23.05.2017       Выпуск 179 (22.05.2017 - 28.05.2017)       Видео

Александр Мокров - Protobuf it!

Слайды: https://www.slideshare.net/AleksandrMokrov/protobuf-it

Поговорим о том, что за зверь этот Protocol Buffers и зачем он вообще нужен. Рассмотрим где он может быть полезен, что может дать и с какими проблемами может познакомить. Посравниваем с конкурентами.

     23.05.2017       Выпуск 179 (22.05.2017 - 28.05.2017)       Видео

Артём Малышев - Ни RESТа себе! GraphQL is Coming

Слайды: https://proofit404.github.io/talks/graphql-is-coming/slides/

Уже очень давно стандартом де-факто для дизайна web API стал REST. Но вот GitHub и Facebook анонсировали поддержку GraphQL API. Зачем они это сделали? Стоит ли нам сделать тоже самое? Какие инструменты для этого предоставляет экосистема Python? Хорошо ли они спроектированы? REST уже всё? Ответы на эти вопросы и не только вы узнаете из моего доклада.

     23.05.2017       Выпуск 179 (22.05.2017 - 28.05.2017)       Видео

Сергей Архипов - Свой Mustache за 40 минут

Слайды: https://speakerdeck.com/9seconds/own-mustache

Давайте просто возьмем и напишем свой игрушечный шаблонизатор Curly, который функционально примерно равен Mustache за 40 минут. За эти 40 минут я попытаюсь рассказать все-все детали так, чтобы люди, которые умеют строить регулярные выражения, поняли бы, как реализуются такие шаблонизаторы в принципе.

     22.05.2017       Выпуск 179 (22.05.2017 - 28.05.2017)       Статьи

Сравнение производительности иерархических моделей Django Django

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

     19.05.2017       Выпуск 178 (15.05.2017 - 21.05.2017)       Статьи

Обзор профессии Data Scientist

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

     18.05.2017       Выпуск 178 (15.05.2017 - 21.05.2017)       Статьи

Разбиение слов на элементы таблицы Менделеева

Сидя на пятичасовом занятии по химии, я часто скользил взглядом по таблице Менделеева, висящей на стене. Чтобы скоротать время, я начал искать слова, которые мог бы написать, используя лишь обозначения элементов из таблицы. Например: ScAlEs, FeArS, ErAsURe, WAsTe, PoInTlEsSnEsS, MoISTeN, SAlMoN, PuFFInEsS.

     18.05.2017       Выпуск 178 (15.05.2017 - 21.05.2017)       Статьи

Нейрокурятник часть 2: про бота, который постит фотографии

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

     17.05.2017       Выпуск 178 (15.05.2017 - 21.05.2017)       Статьи

Механизм подсчета нейронной сети в PL/SQL для распознавания рукописных цифр

Дорогие коллеги, спешим порадовать всех, кто неравнодушен к наукоемким задачам. Сегодня мы приготовили для вас перевод любопытной публикации от экспертов по базам данных из CERN, посвященный обучению и эксплуатации нейронных сетей с помощью Python и инструментария на базе Oracle PL/SQL.

     16.05.2017       Выпуск 178 (15.05.2017 - 21.05.2017)       Статьи

Web crawler с использованием Python и Chrome

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

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

     16.05.2017       Выпуск 178 (15.05.2017 - 21.05.2017)       Статьи

Разворачиваем Flask приложение на обычном шаред хостинге Flask

Если перед вами действительно стоит задача «развернуть %любой из веб-фреймворков на Python% в продакшен на обычном (шаред) хостинге» — значит у вас что-то пошло не так.

Как временная мера при разработке — why not?! Но как основная площадка для работы приложения — это не самая лучшая идея. Почему? Всё просто.

Если не сразу, то при развитии проекта — вам всё равно потребуется тонкая настройка сервера и окружения.
По-умолчанию, хостеры оставляют версию SQL и интерпретатора Python, которые идут со стабильными сборками ОС. Обычно это какой-нибудь MySQL 5.1.x и Python 2.7.6. И да, это ещё не самый плохой вариант! Я видел и более консервативных хостеров.

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

И самое главное — в 2017 году не найти дешёвый облачный VDS по цене шареда? Серьёзно?! О_о

     15.05.2017       Выпуск 178 (15.05.2017 - 21.05.2017)       Статьи

Проблемы современного Data Science

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

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

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

     14.05.2017       Выпуск 177 (08.05.2017 - 14.05.2017)       Статьи

Модель ПИД регулятора на Python

Моделированию работы ПИД регулятора посвящено большое количество публикаций в сети. Лидирует проектирование моделей ПИД регулятора с применением Matlab Simulink [1,2] (134 миллиона ссылок в yandex). Сам процесс создания модели какой-то однообразный. В модель переносят всё новые и новые блоки. Одно движение ручного манипулятора и нате вам ПИД контролер, ещё одно и вот передаточная функция объекта. Соединяешь блоки, настраиваешь параметры, готовишь вычислитель. Да, возможностей много, но как-то слишком всё искусственно. И уже становится совсем непонятным к чему тут дифференциальные уравнения, методы их решения и то операционное исчисление, которым долго морочили голову. Ищу реализацию ПИД в Mathcad, тут ссылок в том же yandex, поменьше, всего то 81 миллион, а математики и формул побольше. Рассматриваю пример ПИД, поставляемый вместе с пакетом Mathcad 14. 

     12.05.2017       Выпуск 177 (08.05.2017 - 14.05.2017)       Статьи

10 основных ошибок, совершаемых Django-разработчиками Django

В этом руководстве мы рассмотрим основные ошибки Django-разработчиков и узнаем, как их избежать. Статья может быть полезна даже опытным разработчикам, потому что и они совершают такие ошибки, как поддержка неподъёмно больших настроек или конфликтов имён в статических ресурсах.