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

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

     31.08.2018       Выпуск 245 (27.08.2018 - 02.09.2018)       Статьи

ELK Stack для хранения логов Django приложения

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

 

Решением было создание централизованного лог хранилища с агрегацией логов и поиском. Выбор пал на ELK стек. ELK — сочетание трех OpenSource проектов: ElasticSearch, Logstash и Kibana. ELK хранит логи, строит графики и есть поддержка полнотекстового поиска с фильтрами. В статье описывается процесс настройки ELK стека для хранения логов Django приложения.

     21.08.2018       Выпуск 244 (20.08.2018 - 26.08.2018)       Вакансии

Senior python developer\team lead (django, remote)

Ищем ведущего питониста в mtrl.ai — стартап, который строит полностью автоматизированный убер для стройматериалов.

Наш стек — Django2/DRF, python 3.6, PostgreSQL, Celery, Elasticsearch.

Работаем удаленно с полностью свободным графиком, спринты длятся 10 дней. Задачи ставим прямо в гитхабе.

Переиcпользуемый код опенсорсим или выносим в микросервисы. Пишем юнит- и интеграционные тесты на pytest, на самом большом проекте сейчас ~4500 тестов.

Наш основной проект — это сложное бизнес-приложение, которое позволяет нам взаимодействовать с неорганизованными строительными рынками, как с настоящими складами.

Вам придется работать с асинхронным предсказанием наличия, системой принятия решений о выборе поставщика\менеджера, API для сайта, телефонии, маркетинга и еще кучей всего. Код без легаси, самые старые участки написаны в начале 2017 года.

ЗП — 120 000—150 000

По всем вопросам пишите fb@gdml.ru или @fedor_borshev

[Реклама]

     31.07.2018       Выпуск 241 (30.07.2018 - 05.08.2018)       Статьи

Django Channels – ответ современному вебу

В мире Django набирает популярность дополнение Django Channels. Эта библиотека должна принести в Django асинхронное сетевое программирование, которое мы так долго ждали. Артём Малышев на Moscow Python Conf 2017 объяснил, как это делает первая версия библиотеки (сейчас автор уже запилил channels2), зачем она это делает и делает ли вообще.

     25.07.2018       Выпуск 240 (23.07.2018 - 29.07.2018)       Конференции, события, встречи разработчиков

Moscow Python Conf++ принимает доклады

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

Предварительно определены такие секции:

- Язык Python и его экосистема.

- Инфраструктура (пакеты, Docker и Python, работа интерпретаторов, Garbage Collector, GIL и т.д.).

- Сетевые сервисы и веб разработка (фреймворки, HTTP/2, Web API, WebAssembly).

- Большие данные и машинное обучение.

- DevOps (Утилиты, использующие Python для DSL, автоматизация и оркестрация).

- Автоматизация тестирования.

- Работа с базами данных (PonyORM, Django ORM, SQLAlchemy, NoSQL, GraphQL).

Можно предлагать свои секции и темы вне секций. Подробная информация по формату подачи и сама фора на: https://conf.python.ru/2018/speakers

     22.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

Обновление Django с версии 1.9 до версии 2.0

Здравствуйте, сегодня я хотел бы вам рассказать о том, как обновить проект с версии 1.9 до 2.0. Какие основные нюансы нужно учесть и переписать, дабы проект стартовал на новой версии Django.

     21.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

Как начать Django проект, который можно масштабировать Django

В статье создадим проект используя шаблонизатор cookiecutter-django, настроим статическую типизацию, добавим автоматическое форматирование кода с помощью black, создадим скрипт, который запускает тесты, проверяет правильность типов через линтер mypy и стиль кода через black. Напоследок добавим пре-коммит хук, который автоматически запускает скрипт с проверками перед каждым коммитом.

     16.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

Django. Как добавить аутентификацию через социальные сети. Google+

Это второй шаг по поддержке аутентификации через социальные сети на моём сайте, который написан на Django. И хочу поделиться тем, как это делаю. На этот раз для Google+.

     13.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Релизы

django-yaturbo - Турбо-страницы Яндекса в Django

О том, как реализовать выдачу Турбо-страниц в вашем проекте на Django.

     13.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи

Django. Как добавить авторизацию через социальные сети. ВКонтакте

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

     11.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи

В объятьях Питона (только для женщин)

Я, как всегда, никуда не собиралась, когда в новостной ленте «ВКонтакте» вдруг увидела сообщение, что завтра последний день подачи заявок на Django Girls в Санкт-Петербурге — мастер-класс по программированию на Python для женщин. Обычно я читаю такие сообщения, когда регистрация на мероприятие уже закрыта. У меня особое везение на такие дела — узнать о событии на следующий день после его завершения. Поэтому, когда я поняла, что появилась реальная возможность попасть на бесплатный тренинг по Python, то быстро заполнила заявку, на всякий случай забронировала отель и стала ждать.

Мне кажется, я сразу знала, что меня примут, иначе как объяснить, что я проморгала аналогичное событие в Москве месяцем раньше и попала именно в Санкт-Петербурге! Можно ли придумать лучшее время для поездки: лето и белые ночи, чемпионат мира с возможностью посетить фан-зону на Конюшенной площади, знакомство с IT-сообществом Django Girls и офисом Wargaming, и под занавес праздник «Алые паруса»!

     09.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи

Аналоги в Python и JavaScript. Часть первая

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

     09.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи

Django Tutorial - Различные шаблоны для рендеринга разных типов контента в поисковой выдаче на сайте

В процессе разработки сайта возникает необходимость сделать поисковую выдачу, при этом если сайт со временем становится большим, то и в поисковой выдаче могут появиться различные виды контента, а не только статьи, например. Для того, чтобы каждый вид контента имел собственно отображение, можно сделать в шаблоне обычный выбор через if else и какой-нибудь параметр Type или же сделать через переменную, содержащую путь к шаблону отображения объекта без всяких if else.

     04.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Django. Как сделать поиск по нескольким моделям данных Django

Статья о том, как сделать поисковую страницу на сайте, которая будет искать контент сразу в нескольких моделях данных, без использования сторонних библиотек.

     24.06.2018       Выпуск 235 (18.06.2018 - 24.06.2018)       Статьи

Создание management commands в Django

Management commands — команды, выполняемые из командной строки с помощью скрипта manage.py.

Наиболее частые сферы применения — это действия, выполняемые разово или периодически, но для которых почему-либо недоступен запуск через планировщик. Например, отправка пользователям разовых сообщений, получение выборки данных из БД, проверка наличия необходимых файлов и папок перед накатыванием обновлений, быстрое создание объектов модели при разработке и т.д.

     22.06.2018       Выпуск 235 (18.06.2018 - 24.06.2018)       Статьи

Celery + Channels = <3. Создаем реал-тайм приложение с бэкграунд тасками

В статье создадим веб-приложение, которое в бэкграунде делает запросы к API со случайными шутками каждые 15 секунд, затем отправляет шутку пользователю через WebSocket. Для реализации приложения будем использовать: django, celery и channels. Celery для бэкграунд задач. Channels для передачи сообщений через WebSocket.

     17.06.2018       Выпуск 234 (11.06.2018 - 17.06.2018)       Интересные проекты, инструменты, библиотеки

Анонс pytest-djangoapp

О новом плагине для pytest, который упростит вам написание и исполнение тестов для подключаемых приложений Django.

     24.05.2018       Выпуск 231 (21.05.2018 - 27.05.2018)       Статьи

Быстрые тесты в Django

Медленные тесты не только тратят время разработчиков на ожидание, но и усложняют следование лучших практик TDD (red-green testing). Когда тестовый набор выполняется несколько минут или дольше - это приводит к тому, что весь набор тестов запускают редко и баги, которые можно было бы исправить раньше и быстрее, откладываются.

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

     18.04.2018       Выпуск 226 (16.04.2018 - 22.04.2018)       Статьи

Автоматизация криптоторговли с Django и Celery

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

     08.04.2018       Выпуск 224 (02.04.2018 - 08.04.2018)       Видео

Django-rester, как легкая альтернатива django-rest-framework

При разработке сервисов на django, мы столкнулись с тем, что не пользуемся большей частью пакета django-rest-framework, о чем я упоминал на Moscow Python Conf 2017. В итоге мы сделали свой небольшой пакет для простой реализации REST API в Django проектах

     08.04.2018       Выпуск 224 (02.04.2018 - 08.04.2018)       Видео

Начинаем Django приложение правильно

В современном мире есть куча нюансов, которые нужно учесть при старте вашего приложения: конфигурация, деплой, тесты, CI, удобство разработки. Расскажу про Bleeding Edge технологии, основная цель которых сделать ваш проект безопасным и удобным