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

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

     14.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи

Распознаём тексты на Android Things с ABBYY RTR SDK и django

Представьте себе небольшой конвейер. По нему едут товары или какие-то детали, на которых важно распознавать текст (возможно, это некий уникальный идентификатор, а может, и что-то более интересное). Хорошим примером будут посылки. Работу конвейера дистанционно контролирует оператор, который отслеживает неполадки и в случае чего решает проблемы. Что может ему в этом помочь? Девайс на платформе Android Things может быть неплохим решением: он мобильный, легко настраивается и может работать через Wi-Fi. Мы решили попробовать использовать технологии ABBYY и узнать, насколько они подходят для таких ситуаций — распознавания текста в потоке на “нестандартных устройствах” из категории Internet of Things. Мы сознательно будем упрощать многие вещи, так как просто строим концепт

     14.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи

Немного внутренностей словарей в CPython (и PyPy)

Внутреннее устройство словарей в Python не ограничивается одними лишь бакетами и закрытым хешированием. Это удивительный мир разделяемых ключей, кеширования хешей, DKIX_DUMMY и быстрого сравнения, которое можно сделать ещё быстрее (ценой бага с примерной вероятностью в 2^-64).

Если вы не знаете количество элементов в только что созданном словаре, сколько памяти расходуется на каждый элемент, почему теперь (CPython 3.6 и далее) словарь реализован двумя массивами и как это связано с сохранением порядка вставки, или просто не смотрели презентацию Raymond Hettinger «Modern Python Dictionaries A confluence of a dozen great ideas». Тогда добро пожаловать.

     13.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи
     13.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи

Очень простой чат-бот для Telegram для самых маленьких

Есть 100500 способов и инструментов создать простого serverless чат-бота для телеграм. А наш все-равно будет проще, хотя бы по числу кликов в интерфейсе. Сам бот будет написан на Python, а выполнятся будет на serverless движке Swifty.
 

     12.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи

Кратчайшее введение в создание компилятора

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

 

Если первый опыт окажется успешным, то в будущем вас могут ожидать и другие 15-минутные "зарисовки" по тематике компиляторов.

     12.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи

Топ книг по фреймворку Django

Веб-фреймворк Django подробно документирован на официальном сайте: там и теория, и справочная информация, и руководства для новичков. Однако, несмотря на качество, далеко не всем новичкам эта документация приходится по душе. Что ж, у вас есть два пути. Первый — записаться на обучающие курсы. Второй — в очередной раз заглянуть на полки интернет-магазинов. Этим мы сегодня и займёмся.

     10.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи
     10.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи
     10.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи

Реализация алгоритма Левенберга-Марквардта для оптимизации нейронных сетей на TensorFlow

Это tutorial по библиотеке TensorFlow. Рассмотрим её немного глубже, чем в статьях про распознавание рукописных цифр. Это tutorial по методам оптимизации. Совсем без математики здесь не обойтись. Ничего страшного, если вы её совершенно забыли. Вспомним. Не будет никаких формальных доказательств и сложных выводов, только необходимый минимум для интуитивного понимания. Для начала небольшая предыстория о том, чем этот алгоритм может быть полезен при оптимизации нейронной сети.

     10.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи
     07.12.2018       Выпуск 259 (03.12.2018 - 09.12.2018)       Статьи

Test and Code: 56: Michael Kennedy

Аудио-подкаст

     06.12.2018       Выпуск 259 (03.12.2018 - 09.12.2018)       Статьи
     05.12.2018       Выпуск 259 (03.12.2018 - 09.12.2018)       Статьи
     05.12.2018       Выпуск 259 (03.12.2018 - 09.12.2018)       Статьи
     05.12.2018       Выпуск 259 (03.12.2018 - 09.12.2018)       Статьи

Еще одна реализация Обработки Данных

Представьте себе инструмент, с помощью которого вы можете трансформировать любые данные в… любые данные.

Самый доступный пример — Изображения. Что если я хочу получить картинку определенного размера и поставить где-нибудь водяную марку (тоже определенного размера).

     04.12.2018       Выпуск 259 (03.12.2018 - 09.12.2018)       Статьи
     04.12.2018       Выпуск 259 (03.12.2018 - 09.12.2018)       Статьи

Три вида утечек в памяти

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

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