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

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

     05.11.2017       Выпуск 202 (30.10.2017 - 05.11.2017)       Видео

Артём Малышев - HTTP/2 глазами потребителя

"Протокол HTTP/2 поддерживается всеми современными браузерами. Google performance team пропагандирует его адаптацию. Всё больше известных сайтов начинают предоставлять его поддержку наравне с обычным HTTP. Доклад о том, зачем нам это всё надо, какие преимущества в целом даёт и как это готовить в питоне. Да, про Django тоже будет". 
Слайды: https://conf.python.ru/http2-glazami-potrebitelya/

     22.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

Расширяем и используем Flatpages в Django. Встраиваем CKEditor

Cегодня я хотел бы вам рассказать о том, как сделать модель, которая хранит в себе обычные страницы, а не отдельные записи в базе данных (для ListView, TemplateView и тд). Речь пойдёт о том, как расширить и дополнить существующие в Django flatpages. Но хотелось бы рассказать о проблеме, с которой я столкнулся и почему решил поделиться данным функционалом. Часто возникает ситуация, когда в админке для администратора сайта нужно реализовать функционал самой обычной страницы (одна запись в БД – это одна страница, где прописывается url, контент и доп. инфа для конкретной страницы). Тем самым можно создавать прямо из админки новые страницы с любым url и контентом.

     19.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

Руководство по созданию расширений для Jinja2 Jinja2

Jinja2 — Python-библиотека для рендеринга шаблонов, являющаяся де-факто стандартом при написании веб-приложений на Flask и довольно популярной альтернативой встроенной системе шаблонов Django. Хотя и будучи сильно привязана к языку, Jinja2 позиционирует себя как инструмент для дизайнеров и верстальщиков, упрощающий вёрстку и отделяющий её от разработки, и пытающийся по мере возможностей изолировать не-разработчиков от Python. Вёрстка, впрочем, не единственное возможное её применение; например, в своей работе я использую шаблоны Jinja2 для генерации SQL-запросов.

     18.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Вакансии

Python разработчик в Ivideon (до 230к и выше руб)

Ivideon (http://ivideon.com/) - это популярный облачный сервис для домашнего и бизнес-видеонаблюдения.

Наша highload-платформа постоянно обрабатывает, хранит и стримит видео с десятков тысяч камер по всему миру. У нас собственные подсистемы кодирования видео, биллинг, распределённое хранилище архива и ещё десятки микросервисов для разных задач. Всё это работает на стеке Python/Tornado, C++/Asio, MongoDB, Redis, Hg (BitBucket).

В нашу backend-команду мы ищем сильного разработчика, который поможет нам развивать сервисы стриминга видео.

Нужно хорошо разбираться в:
1. Программировании в целом (алгоритмы/структуры данных);
2. Проектировании и технологиях разработки (архитектурные паттерны/тестирование/документирование);
3. Сетевом программировании и распределённых системах;
4. Серверных Linux;
5. Грамотном выражении своих идей.

У нас в облаке софт на смеси C++ и Python, поэтому нужен приличный уровень владения хотя бы чем-то одним, в идеале - обоими, но это дело наживное. Ещё существенный момент - нужен не просто кодер, а человек, который сможет под задачу сам придумать архитектуру решения + реализовать.

Что придется разрабатывать:
Компоненты облака, занимающиеся обработкой видео: геобалансировку, стриминг, облачное кодирование, архив, видеоаналитику и т.д.

Формальные требования:

- Знание современного Python (PEP-8, 2.7 vs 3.x);
- Опыт разработки под Linux и высокий общий уровень владения этой системой (bash, популярные утилиты);
- Опыт работы с сетью (TCP, HTTP + REST);
- Знание классических алгоритмов и структур данных;
- Опыт работы с системами контроля версий (мы используем Mercurial).
- Опыт разработки с использованием одного из распространенных веб-фреймворков (Tornado, Flask, Django);
- Опыт работы с SQL- и NoSQL-базами (идеально - MongoDB);
- Плюсом будет владение C++ и опыт коммерческой разработки на нём;
- Опыт работы с project management-системами и багтрекерами.
- Знание паттернов и принципов проектирования;
- Плюсом будет опыт работы с видео-кодеками, передачей видео по сети или VoIP.

Кратко про нас и что предлагаем:

- Самому проекту уже более 10 лет, работаем по всему миру (тот же сайт и личный кабинет у нас уже доступен на 8 языках), есть представители в США и Европе.
- Команда облачного направление - 6 человек (хотим найти ещё парочку), it отдел - 45 человек, всего в компании нас более 170.
- По количеству пользователей сейчас приближаемся к 2.5 млн.
У нас большое облако на сервис-ориентированной архитектуре, решающее спектр задач от биллинга пользователей до элементов internet of things. 
- Ключевые подсистемы: публичный API, стриминговая платформа, облачный архив, видеоаналитика, биллинг, бэкофисные сервисы. Также команда облака поддерживает свои CI и test automation-платформу. Используем Python+Tornado, C++, Linux, MongoDB.
- Гибкий график. Работа в офисе в Москве на ст. м. Варшавская. От метро до офиса курсирует бесплатный автобус (2 минуты в пути) или 10 минут пешком;
- Удобная кухня в офисе с чаем/кофе и запасами печенек, тортиков, сладостей, фруктов и прочего;
- Настольный теннис для любителей активного отдыха и массажное кресло для всех остальных, часто играем в настольные игры и начали формировать команду для соревнований по пейнтболу;
- Молодой амбициозный коллектив, демократичная, дружеская атмосфера и очень адекватное руководство;
- Способствуем развитию и профессиональному росту сотрудников, помогаем с покупкой необходимой профессиональной литературы;
- Оформляем по ТК РФ с первого дня. Всё белое. Зарплатная вилка, в которой идеально было бы найти специалиста - до 230 000 рублей, но готовы обсуждать и выше.

Контакты:


Почта - m.kuzmin@ivideon.com
Telegram - https://telegram.me/maxim_kuzmin
Skype - kuzmin.maks

     06.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Как настроить логирование в Django

Настройка логов и их внешнего вида в Django

     05.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Django ORM — медленный? Оптимизируем (хардкорно) Django

Наступила осень, и, несмотря на хорошую погоду, наши зрители потянулись за новым видеоконтентом. Бекенд-серверы, обслуживающие эмбеды с видео, стали упираться в CPU. С криками "а-а-а" прибежали системные администраторы и начали отбирать у отдела разработки ноутбуки и десктопы, грозясь поставить их в датацентры "на усиление". Разработке это конечно всё не понравилось и все поувольнялись с этой хренью решили что-нибудь сделать.

     29.09.2017       Выпуск 197 (25.09.2017 - 01.10.2017)       Статьи

Расширяем модель User в Django Django

Для работы с пользователями, Django предоставляет готовую модель User. Часто, одной этой модели недостаточно. Приходится ее расширять, либо переписывать, если не устраивает стандартная реализация.

     27.09.2017       Выпуск 197 (25.09.2017 - 01.10.2017)       Вакансии

Вакансия: разработчик в improvado.io

improvado.io - агрегация, анализ и визуализация больших рекламных данных. 

Куча модных технологий и buzzwords, в числе которых: Big Data, Machine Learning.
Главный офис располагается в Сан-Франциско. Центр разработки - в Томске.
Компания успешно прошла программу акселерации в 500 Startups и уже получила более 3 миллионов долларов инвестиций от крайне известных людей в маркетинговой индустрии из Кремниевой долины. 

Что мы предлагаем?

- Работа в офисе, в центре Томска;
- Гибкий график с плавающим началом дня;
- Бесплатные обеды в офисе;
- Уютное рабочее место;
- Футбол;
- Курсы английского языка;
- И, конечно же, крутая команда и взаимоуважение!

Какие навыки нам необходимы?

- Опыт разработки на Python;
- Плюсом будет: опыт Django, Apache Spark, PostgreSQL, Tornado.

Зарплата: 

- От 70 000 до 150 000, по результатам собеседования.

Если твой опыт соответствует требованиям - будем рады ознакомиться с твоим резюме!
Присылай на ivan@improvado.io

     24.09.2017       Выпуск 196 (18.09.2017 - 24.09.2017)       Статьи

Django. Добавление Google reCAPTCHA

Использование Google reCAPTCHA для форм на Django сайте с использованием декоратора.

     15.09.2017       Выпуск 195 (11.09.2017 - 17.09.2017)       Статьи

И снова о кешировании в Django

Для django уже есть множество библиотек для кеширования и они уже обсуждалось на хабре, но, к сожалению, проблемы с производительностью не решить добавлением строчки в INSTALLED_APPS. В библиотеках патчащих queryset кеш инвалидируется либо слишком часто, либо слишком редко и самое главное у программиста мало контроля за этим процессом. Можно написать инвалидацию вручную, но потребуется много кода, в котором легко допустить ошибку.

     30.08.2017       Выпуск 193 (28.08.2017 - 03.09.2017)       Видео

Python, Django и корпоративные информационные системы

Видео со встречи сообщества PyNSK.
Докладчик: Анатолий Щербаков

О докладе:

Софт для автоматизации бизнеса составляет значительную часть всего существующего на планете программного обеспечения. Рассмотрим требования к нему и особенности его разработки. Оценим, насколько Python для этого подходит, и облегчают ли фреймворки жизнь в кровавом энтерпрайзе.

Слайды: https://www.slideshare.net/PyNSK/python-django-79202374

     28.08.2017       Выпуск 193 (28.08.2017 - 03.09.2017)       Статьи
     17.08.2017       Выпуск 191 (14.08.2017 - 20.08.2017)       Учебные материалы

Второе издание книги «Изучаем Python. Программирование игр, визуализация данных, веб-приложения»

Привет, Хаброжители! В том году мы делали обзор книги Эрика Мэтиза. На данный момент вышло новое издание с исправленными опечатками и листингами. Сама книга показывает базовые принципы программирования, знакомит со списками, словарями, классами и циклами, учит создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную «стрелялку» с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации.

     13.08.2017       Выпуск 190 (07.08.2017 - 13.08.2017)       Видео

Экстремальное прототипирование

Что делать, если за неделю надо сделать MVP, но не такой, чтобы показать инвестору в лифте, а чтобы с его помощью заработать денег? В докладе мало питона (import django, requests) и много суровой реальности: сайты не нужны, про Телеграм никто не знает, программист может работать без ТЗ

     13.08.2017       Выпуск 190 (07.08.2017 - 13.08.2017)       Видео

Rolling upgrades на примере OpenStack Keystone

Большинству разработчиков сервисов на Python приходилось менять схему базы данных в какой-то момент жизни сервиса. Эта задача настолько типична, что для неё есть отдельный подмодуль для Django. Всё становится сложнее, если приложение, как типичный микросервис, работает в нескольких экземплярах. И ещё сложнее, если допускать даунтайма сервиса нельзя. В докладе будет рассказано, как эта проблема была решена в Keystone -- сервисе аутентификации и авторизации в OpenStack

     09.08.2017       Выпуск 190 (07.08.2017 - 13.08.2017)       Статьи

Как реализовать систему лайков в Django Django

Реализуем систему лайков через GenericForeignKey и пишем для нее API силами Django Rest Framework.