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

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

     08.11.2017       Выпуск 203 (06.11.2017 - 12.11.2017)       Видео

Как я попал в команду разработчиков Django

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

Презентация: https://docs.google.com/presentation/d/106kCANM2AcAz_lyB3gWkoq3E3Le3Yx0NUy4jUA20bz0/

     08.11.2017       Выпуск 203 (06.11.2017 - 12.11.2017)       Видео

Реализация multi-tenant архитектуры хранения данных на Django

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

Презентация: https://speakerdeck.com/pychel/stiepan-rodionov-multi-tenant-django

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

Александр Ковалёв - Построение распределённых Django систем

"Занимаюсь разработкой почти 25 лет. Последние 4 года пишу backend и утилиты на Python. В докладе расскажу, из чего можно построить сеть однотипных веб-сайтов с централизованным управлением пользователями и публикуемыми материалами. Как обычно, пишем максимально абстрактный код, чтобы избежать постоянного переписывания кода и "допиливания" под каждый сайт. Я рассмотрю выбранный и отвергнутый инструментарий (Django, Redis, RabbitMQ, Celery, Docker), подход к синхронизации данных, вспомню про любимые аббревиатуры DRY и MVP и расскажу про некоторые ошибки и недоработки. Постараюсь успеть рассказать про deploy".

Слайды: https://conf.python.ru/distributed-django/

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

Ринат Хабибиев - Django и http-кэширование

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

Слайды: https://conf.python.ru/django-and-http-cash/

     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/

     02.11.2017       Выпуск 202 (30.10.2017 - 05.11.2017)       Релизы
     30.10.2017       Выпуск 202 (30.10.2017 - 05.11.2017)       Статьи
     31.10.2017       Выпуск 202 (30.10.2017 - 05.11.2017)       Релизы

django-extensions - 1.9.7

Набор пользовательских расширений для Django-проектов. Изменения описаны по ссылке https://allmychanges.com/p/python/django-extensions/#1.9.7. Скачать можно по ссылке: https://pypi.python.org/pypi/django-extensions/

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

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

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

     23.10.2017       Выпуск 201 (23.10.2017 - 29.10.2017)       Релизы

django-extensions - 1.9.2

Набор пользовательских расширений для Django-проектов. Изменения описаны по ссылке https://allmychanges.com/p/python/django-extensions/#1.9.2. Скачать можно по ссылке: https://pypi.python.org/pypi/django-extensions/

     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

     17.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Релизы
     16.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи

Мой основной список пакетов django Django

Набор пакетов для Django с описанием применения

     16.10.2017       Выпуск 200 (16.10.2017 - 22.10.2017)       Статьи
     12.10.2017       Выпуск 199 (09.10.2017 - 15.10.2017)       Релизы