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

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

     27.02.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Статьи

Как двухлетний репозиторий на GitHub стал трендовым за 48 часов

GitHub предоставил возможность миллионам разработчиков с легкостью публиковать свои проекты и тем самым привлекать пользователей и единомышленников. Часто перед разработчиками возникает проблема неэффективного использования ресурсов — они тратят сотни часов на создание проекта с целью продвинуть его на GitHub, а получают максимум две звезды.

     21.02.2017       Выпуск 166 (20.02.2017 - 26.02.2017)       Статьи

Интересные особенности Python, о которых вы могли не догадываться

Приветствую тебя %username%. Прочитав статью о способах обхода sudo, решил тоже попробовать описать нечто подобное, но для языка Python. Спасибо root-me за такие задачки. Решая их, можно многое узнать о работе того или иного механизма. Прошу строго не судить, это моё первое творение.
Начнём! 

     21.02.2017       Выпуск 166 (20.02.2017 - 26.02.2017)       Статьи

Как я сделал самый быстрый ресайз изображений. Часть 1, общие оптимизации

В пилотной части я рассказал о задаче как можно подробнее. Рассказ получился долгим и беспредметным — в нем не было ни одной строчки кода. Но без понимания задачи очень сложно заниматься оптимизацией. Конечно, некоторые техники можно применять, имея на руках только код. Например, кешировать вычисления, сокращать ветвления. Но мне кажется, что некоторые вещи без понимания задачи просто никогда не сделать. Это и отличает человека от оптимизирующего компилятора. Поэтому ручная оптимизация все еще играет огромную роль: у компилятора есть только код, а у человека есть понимание задачи. Компилятор не может принять решение, что значение "4" достаточно случайно, а человек может.

     20.02.2017       Выпуск 166 (20.02.2017 - 26.02.2017)       Статьи

Базовые принципы машинного обучения на примере линейной регрессии

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

     18.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Telegram-бот, webhook и 50 строк кода Telegram

Как, опять? Ещё один туториал, пережёвывающий официальную документацию от Telegram, подумали вы? Да, но нет! Это скорее рассуждения на тему того, как построить функциональный бот-сервис используя Python3.5+, asyncio и aiohttp. Тем интереснее, что заголовок на самом деле лукавит…

     17.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Телеграм бот на Python с использованием только requests Telegram

На Хабре уже полно статей-туториалов с заголовками «Создание бота на Python», но многие из них используют готовые обертки над HTTP-интерфейсом Bot API Телеграма. Я же использую стандартную библиотеку для отправки и получения GET- и POST-запросов — requests. И так, рассмотрим создание примитивного Телеграм бота, который будет отвечать на все наши текстовые сообщения. Это будет заготовка для дальнейшего расширения.

     16.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Змея и кокос

Я люблю Python. Нет, правда, это отличный язык, подходящий для широкого круга задач: тут вам и работа с операционной системой, и веб-фреймворки на любой вкус, и библиотеки для научных вычислений и анализа данных. Но, помимо Python, мне нравится функциональное программирование. И питон в этом плане неплох: есть замыкания, анонимные функции и вообще, функции здесь — объекты первого класса. Казалось бы, чего ещё можно желать? И тут я случайно наткнулся на Coconut — функциональный язык, компилируемый в Python. Всех любителей Python и ФП прошу под кат.

     14.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Python: Работа с базой данных, часть 1/2: Используем DB-API

Python DB-API – это не конкретная библиотека, а набор правил, которым подчиняются отдельные модули, реализующие работу с конкретными базами данных. Отдельные нюансы реализации для разных баз могут отличаться, но общие принципы позволяют использовать один и тот же подход при работе с разными базами данных.

     14.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Создаём нейронную сеть InceptionV3 для распознавания изображений Keras

Под катом пойдёт речь о реализации свёрточной нейронной сети архитектуры InceptionV3 с использованием фреймворка Keras. Статью я решил написать после ознакомления с туториалом "Построение мощных моделей классификации с использованием небольшого количества данных". С одобрения автора туториала я немного изменил содержание своей статьи. В отличие от предложенной автором нейронной сети VGG16, мы будем обучать гугловскую глубокую нейронную сеть Inception V3, которая уже предустановлена в Keras.

     14.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Как я сделал самый быстрый ресайз изображений. Часть 0

 

Меня зовут Саша, я написал самый быстрый ресайз изображений для современных х86 процессоров. Я так утверждаю, поскольку все остальные библиотеки, которые я сумел найти и протестировать, оказались медленнее. Я занялся этой задачей, когда работал над оптимизацией ресайза картинок на лету в Uploadcare. Мы решили открыть код и в результате появился проект Pillow-SIMD. Любой желающий с легкостью может использовать его в приложении на языке Python.

     13.02.2017       Выпуск 165 (13.02.2017 - 19.02.2017)       Статьи

Уравнение теплопроводности в tensorflow

Некоторое время назад увлекся глубоким обучением и стал потихоньку изучать tensorflow. Пока копался в tensorflow вспомнил про свою курсовую по параллельному программированию, которую делал в том году на 4 курсе университета. Задание там формулировалось так:

     12.02.2017       Выпуск 164 (06.02.2017 - 12.02.2017)       Статьи

srptools — аутентификация при помощи SRP

О библиотеке, позволяющий реализовать аутентификацию на основе Secure Remote Password (SRP) в Python.

     11.02.2017       Выпуск 164 (06.02.2017 - 12.02.2017)       Релизы

Severcart 0.8.1: первый релиз года

Приложение применяется для отслеживания перемещений и учёта расходных материалов для печатающего оборудования. 

     07.02.2017       Выпуск 164 (06.02.2017 - 12.02.2017)       Интересные проекты, инструменты, библиотеки

Библиотека для работы с API Hikvision

Библиотека позволяет работать с оборудованием компании Hikvision. В основном это видеокамеры, DVR оборудование.

     07.02.2017       Выпуск 164 (06.02.2017 - 12.02.2017)       Статьи

Kaggle и Linux. Digit Recognizer for analysts (для начинающих аналитиков)

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

     07.02.2017       Выпуск 164 (06.02.2017 - 12.02.2017)       Учебные материалы
     06.02.2017       Выпуск 164 (06.02.2017 - 12.02.2017)       Статьи

Есть две функции

Есть две булевы функции  аргументов, одна — константная, другая — сбалансированная. На какую сам сядешь, на какую фронтендера посадишь? Вот только функции неизвестны, а вызвать их разрешается лишь один раз.

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

     02.02.2017       Выпуск 163 (30.01.2017 - 05.02.2017)       Статьи

Python: коллекции, часть 4/4: Все о выражениях-генераторах, генераторах списков, множеств и словарей

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

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

Будут рассмотрены: выражения-генераторы, генераторы списка, словаря и множества, вложенные генераторы (5 вариантов), работа с enumerate(), range().
А также: классификация и терминология, синтаксис, аналоги в виде циклов и примеры применения.

     31.01.2017       Выпуск 163 (30.01.2017 - 05.02.2017)       Видео

Двойная (каскадная) шаблонизация

Сергей Ерёмин (oknardia.ru) @ MoscowPython 42

Бывает, что часть данных в БД обновляется редко, запросы к ним «тяжелые», но при каждом обращении клиента их требуется отображать. Спикер расскажет, как сделать, чтобы «тяжёлый» шаблон при первом вызове создавал другие «легкие» шаблоны с «пререндером» редко обновляемых данных. При последующих вызовах исполняются «легкие» шаблоны, что позволяет драматически снизить нагрузку на сервер.

Слайды: http://www.moscowpython.ru/meetup/42/double-template/

     31.01.2017       Выпуск 163 (30.01.2017 - 05.02.2017)       Видео

PythonQL: вся мощь современных языков запросов прямо в Питоне

Павел Велихов (Finstar Labs) @ MoscowPython 42

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

Слайды: http://www.moscowpython.ru/meetup/42/pythonql/