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

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

     17.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Итерируемые объекты, итераторы и генераторы в Python

В статье разберемся, что такое итерируемые объекты, итераторы и генераторы. Узнаем тайну работы цикла for. Реализуем шаблон проектирования “Итератор”. А затем удалим все и сделаем “по-нормальному”, используя генераторы.

     17.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

gc.freeze() поможет экономить память

О нововведении в CPython от инженеров из Instagram.

     16.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Django. Расширенные параметры поиска Django

Организация фильтрации/поиска контента с расширенными параметрами в стиле ключ/значение

     15.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи
     15.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Пишем многопользовательскую змейку на tornado

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

     15.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Работа с форматом AVRO в python — библиотека fastavro

В статье описывается использование формата сериализации AVRO в языке python, дается краткое описание AVRO-схемы с пояснениями наиболее неочевидных моментов, приводятся конкретные примеры кода на python. Намеренно исключены из рассмотрения вопросы эволюции схем (schema evolution), RPC и AVRO-IDL.

 

Все примеры приводятся с использованием библиотеки fastavro, которую автору пришлось заметно доработать для соответствия спецификации и совместимости с java реализацией.

     15.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Декоратор Мемоизации

Слайды и описание способа

     15.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи
     15.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Парсим мемы в питоне: как обойти серверную блокировку

Новогодние праздники — прекрасный повод попрокрастинировать в уютной домашней обстановке и вспомнить дорогие сердцу мемы из 2k17, уходящие навсегда, как совесть Electronic Arts.

 

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

     14.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Telegram бот на Python в 30 строчек кода с ИИ

Сегодня мне в голову пришла мысль: «А почему бы не написать Telegram чат-бота с ИИ, которого потом можно будет обучать?»


Сейчас сделать это совсем легко, поэтому, недолго думая, я принялся к написанию кода.
Языком я выбрал Python, т.к. на нём легче всего работать с подобного рода приложениями.

Итак, для создания Telegram чат-бота с ИИ нам потребуется:

     13.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Как обучть мдль пнмть упртые скрщня

Недавно я натолкнулся на вопрос на Stackoverflow, как восстанавливать исходные слова из сокращений: например, из wtrbtl получать water bottle, а из bsktball — basketball. В вопросе было дополнительное усложнение: полного словаря всех возможных исходных слов нет, т.е. алгоритм должен быть в состоянии придумывать новые слова.

 

Вопрос меня заинтриговал, и я полез разбираться, какие алгоритмы и математика лежат в основе современных опечаточников (spell-checkers). Оказалось, что хороший опечаточник можно собрать из n-граммной языковой модели, модели вероятности искажений слов, и жадного алгоритма поиска по лучу (beam search). Вся конструкция вместе называется модель зашумлённого канала (noisy channel).

     12.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Тесты на знание Python, PHP, Golang и DevOps: разбор викторины AvitoQuiz на Highload

Конференция Highload++ 2017 отгремела, и это было круто — как всегда. Мы пересматриваем доклады, вовсю пользуемся опытом, которым с нами поделились коллеги, и с удовольствием вспоминаем разные активности, которые проводились вне зоны докладов.

     12.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Вопросы и обсуждения
     11.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Введение в Ансамбли вычислений

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