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

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

     11.05.2016       Выпуск 125 (09.05.2016 - 15.05.2016)       Статьи

Тестовое задание. Проверка вхождения точки в произвольный полигон django frontend jquery python

Вводная Сразу оговорюсь кому может быть интересна данная публикация. Это начинающие Django + JQuery программисты, интересующиеся векторной графикой в браузере с использованием canvas. Или просто люди, получившие подобное задание. Итак, находясь в постоянном сканировании рынка труда своего региона, наткнулся на весьма интересную вакансию web-разработчика в достаточно известной местной компании. В описании вакансии было сказано, что нужен python+django разработчик. После отправки резюме получил тестовое задание которое гласило:

     07.05.2016       Выпуск 124 (02.05.2016 - 08.05.2016)       Статьи

Как использовать API сайта, когда его нет

В этой статье мы разберем, как получить и использовать API сайта, если по нему нет документации или оно еще не открыто официально. Руководство написано для новичков, которые еще не пробовали зареверсить простой API. Для тех же кто сам занимался подобным ничего нового здесь нет. Разбор проведем на примере API сервиса https://www.captionbot.ai/ который недавно открыл Microsoft (спасибо им за это). Многие могли прочитать о нем в статье на Geektimes. Сайт использует ajax запросы в формате JSON, поэтому скопировать их будет легко и приятно. Поехали! 

     07.05.2016       Выпуск 124 (02.05.2016 - 08.05.2016)       Видео

Behave + Selenium Webdriver для тестирования web-проектов

Современные веб-проекты представляют из себя совсем не набор статических страниц, что повышает сложность их функционального тестирования. В докладе будет рассмотрена связка инструментов behave+webdriver, способе их применения, возможные проблемы и пути их решения.

     07.05.2016       Выпуск 124 (02.05.2016 - 08.05.2016)       Видео

Ctypes в игровых приложениях на Python games steam ctypes

Не секрет, что Питон, благодаря своим свойствам, имеет широчайшую область применения. Не являются исключением и мультимедийные (в том числе игровые) приложения. В ходе этого выступления: 1. вы узнаете о некоторых средствах и принципах их построения, а также о том, как упомянутые средства могут использовать функции внешних библиотек, написанных на других языках программирования; 2. а я получу, наконец, достижение из одной известной игры, не запуская её.

     07.05.2016       Выпуск 124 (02.05.2016 - 08.05.2016)       Видео

Как Python Дайджест работает с внешней статикой PyNSK

В мини-докладе я рассмотрю простой велосипед (django-remdow), который позволяет в автоматическом режиме скачивать внешнюю статику. А также приведу простые инструменты для автоматической оптимизации вашего сайта.

     06.05.2016       Выпуск 124 (02.05.2016 - 08.05.2016)       Статьи

Meduza.io: а как же лайки?

Как-то раз, читая новости на Медузе, я обратил внимание на то, что у разных новостей разное соотношение лайков из Facebook и ВКонтакте. Какие-то новости мегапопулярны на fb, а другими люди делятся только во ВКонтакте. Захотелось присмотреться к этим данным, попытаться найти в них интересные закономерности. Заинтересовавшихся приглашаю под кат! 

     05.05.2016       Выпуск 124 (02.05.2016 - 08.05.2016)       Статьи

Чем заменить ELK для просмотра логов? logging ELK sentry

Что обычно делает python-программист, когда его отправляют воевать с ошибкой?
Сначала он лезет в sentry. Здесь можно найти время, сервер, подробности сообщения об ошибке, traceback и, может быть, какой-нибудь полезный контекст. Затем, если этих данных недостаточно, программист идет c бутылкой к админам. Те залезают на сервер, ищут это сообщение в файловых логах, и, может быть, находят его и некоторые предшествующие ошибке записи, которые в редких случаях могут помочь в расследовании.
А что делать, если в логах только loglevel=ERROR, а ошибка настолько крута, что ее локализация требует сопоставления логики поведения нескольких различных демонов, которые запущены на десятке серверов?

     05.05.2016       Выпуск 124 (02.05.2016 - 08.05.2016)       Статьи

Как подружить Slack и VK с помощью Python? Slack VK API

Slack обладает прекрасным потенциалом расширения стандартных возможностей. Но, на практике возникают сложности с интеграцией некоторых соц. сетей в чаты. Для того, чтобы подружить Вконтакте и Slack мы воспользуемся Python и API. Ниже будет рассматривать базовый рецепт того, как сделать так, чтобы Slack-бот мог получать данные по последним комментариям из постов на стенах сообществ или групп Вконтакте. 

     04.05.2016       Выпуск 124 (02.05.2016 - 08.05.2016)       Статьи

Вышел uvloop — продвинутая реализация цикла событий для asyncio в Python asyncio libuv uvloop

В стандартной библиотеке Python 3.4 в своё время появился модуль asyncio, позволивший удобно и быстро писать асинхронный код. А уже к Python 3.5 в синтаксис были добавлены конструкции async/await, окончательно оформившие асинхронность «из коробки» как красивую и гармоничную часть языка.

Один из авторов упомянутого PEP-492 (async/await) Юрий Селиванов (на Хабре — 1st1его твиттер) взялся за разработку альтернативной реализации цикла событий для asyncio — uvloop. Вчера вышла первая альфа-версия модуля, о чём автор написал развёрнутый пост.

Если вкратце, то uvloop работает примерно в 2 раза быстрее Node.js и практически не уступает программам на Go.

     28.04.2016       Выпуск 123 (25.04.2016 - 01.05.2016)       Статьи

Python в Cygwin: WinAPI в отсутствии windll

Если верить обещаниям Microsoft, в скором времени Windows обзаведется возможностью запускать Linux приложения без каких-либо доработок напильником и сторонних сред окружения вроде Cygwin; одни восприняли эти обещания скептически, дескать, с поддержкой «андроид»-приложений ведь все сошло на нет, другие стали ерничать, мол, ожидайте в недалеком будущем Lindows, ну а третьи… Впрочем, найдутся и четвертые и пятые, — обещания — в будущем, а мы с вами живем здесь и сейчас, решаем задачи также здесь и сейчас, а следовательно какой резон толочь воду в ступе? Приятно, конечно, когда в системе уже предусмотрено нечто в разы упрощающее администрирование, но если этого нет, всегда найдется альтернативный вариант.

     28.04.2016       Выпуск 123 (25.04.2016 - 01.05.2016)       Статьи

Python: язык программирования, созданный сообществом

Это перевод доклада с голландского TED Talks, прочитанного Гвидо Ван Россумом, "великодушным пожизненным диктатором" языка программирования Python. Много автобиографии и немного про значение языков программирования и основную идею Python.

Позвольте представиться — я нерд, гик. И я постоянно медлю. Я закончил университет в 26, мне было 45, когда я женился, сейчас мне 60, и у меня четырнадцатилетний сын. Может, мне просто трудно даются решения: я прожил в США больше 20 лет, но всё ещё имею вид на жительство.

     28.04.2016       Выпуск 123 (25.04.2016 - 01.05.2016)       Статьи

Piter Py #3 — личные впечатления pycon

В минувшие выходные прошла третья конференция питонистов в Питере — Piter Py #3 (http://it-sobytie.ru/events/5862). Конференция длилась три дня, была наполовину англоязычной, все эти дни слова "Docker", "Mongo", "Ansible" произносились даже чаще, чем "Python". И здесь я впервые услышал о существовании YAML-программистов. Делюсь собственными впечатлениями и, полагаю, выражаю мнение большинства других посетителей. 

     27.04.2016       Выпуск 123 (25.04.2016 - 01.05.2016)       Конференции, события, встречи разработчиков

Мартовский Python Meetup: Python VS Erlang и возможности PostgreSQL

Всем привет! После долгого перерыва блудный Python Meetup снова с нами. На долгожданной мартовской встрече сообщества любителей и профессионалов языка программирования Python обсуждались животрепещущие темы: противостояние Python и Erlang, а также дополнительные возможности PostgreSQL. Видеозаписи выступлений под катом. Приятного просмотра! 

     27.04.2016       Выпуск 123 (25.04.2016 - 01.05.2016)       Статьи

cx_Freeze + virtualenv = баги и зигзаги virtualenv cx_Freeze pyInstaller py2exe

На днях решил попробовать собрать своего свежеиспечённого бота для Телеграм в исполняемый файл. Существуют различные решения: py2exepyInstallercx_Freeze. Я использую Ubuntu 14.04 и на моём компьютере, и на сервере, поэтому выбор пал наcx_Freeze, ввиду его кросс-платформенности и поддержки Python 3. (На момент написания статьи я ещё не успел распробоватьpyInstaller, который обладает этими же свойствами. Если будет что-то интересное, расскажу об этом в другой статье).

     27.04.2016       Выпуск 123 (25.04.2016 - 01.05.2016)       Статьи

Разработка на Django под Windows с помощью Docker-machine docker

В этой статье я расскажу как я решил проблему настройки окружения для разработки на Django под Windows.
Используется следующая связка:
1) Docker-machine
2) PyCharm
В Docker-machine:
1) PostgreSQL
2) Data container для PostgreSQL
3) Redis
4) И собственно само приложение на Django.

     25.04.2016       Выпуск 123 (25.04.2016 - 01.05.2016)       Конференции, события, встречи разработчиков

PyCon Russia переезжает в Москву pycon

Три года компания IT-People проводилf PyCon Russia в Екатеринбурге, а в этом году готовы начать путешествие по городам России.

PyCon-2016 пройдет в отеле «Cronwell Яхонты Таруса» в 95 км. от Москвы. До места проведения и обратно будет организован трансфер.

Формат конференции остается прежним — двухдневная конференция на природе с иностранными докладчиками (например, свой доклад уже готовит Raymond Hettinger), Lightning Talks и афтепати.

     23.04.2016       Выпуск 122 (18.04.2016 - 24.04.2016)       Учебные материалы

Вышел русский перевод Intermediate Python от Yasoob Khalid book

Intermediate Python представляет из себя краткое онлайн руководство по нюансам языка, мимо которых часто (частично или полностью) проходят новички.

В программе: генераторы, map и filter, декораторы, __slots__, collections, использование C библиотек, кэширование и т.п.

     13.04.2016       Выпуск 121 (11.04.2016 - 17.04.2016)       Статьи

Django Channels: работа с WebSocket и не только Django channels celery websocket

Небольшое описание работы с пакетом Channels для работы с WebSocket и в качестве очереди задач

     11.04.2016       Выпуск 121 (11.04.2016 - 17.04.2016)       Статьи

Что такое грамматическая эволюция + легкая реализация

Совсем недавно я написал статью, в которой без объяснений показал то, на что способен метод грамматической эволюции. Я полностью, согласен, что так делать нельзя, но как хотелось показать результаты интересного метода. Я думал «что будет лучше: перевести первоисточник или дать свое собственное объяснение». Лень взяла верх.

Если кому-то интересны эволюционные методы и задача символьной регрессии(и не только), то прошу к прочтению.