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

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

     14.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи

Распознаём тексты на Android Things с ABBYY RTR SDK и django

Представьте себе небольшой конвейер. По нему едут товары или какие-то детали, на которых важно распознавать текст (возможно, это некий уникальный идентификатор, а может, и что-то более интересное). Хорошим примером будут посылки. Работу конвейера дистанционно контролирует оператор, который отслеживает неполадки и в случае чего решает проблемы. Что может ему в этом помочь? Девайс на платформе Android Things может быть неплохим решением: он мобильный, легко настраивается и может работать через Wi-Fi. Мы решили попробовать использовать технологии ABBYY и узнать, насколько они подходят для таких ситуаций — распознавания текста в потоке на “нестандартных устройствах” из категории Internet of Things. Мы сознательно будем упрощать многие вещи, так как просто строим концепт

     12.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи

Топ книг по фреймворку Django

Веб-фреймворк Django подробно документирован на официальном сайте: там и теория, и справочная информация, и руководства для новичков. Однако, несмотря на качество, далеко не всем новичкам эта документация приходится по душе. Что ж, у вас есть два пути. Первый — записаться на обучающие курсы. Второй — в очередной раз заглянуть на полки интернет-магазинов. Этим мы сегодня и займёмся.

     12.11.2018       Выпуск 256 (12.11.2018 - 18.11.2018)       Статьи

Как создать чат-бота для ВКонтакте, используя Python, Django и webhook

Возможно я плохо искал, но я не смог найти подробного руководства по созданию бота на python с применением фреймворка Django и подхода webhook, работающего на хостинге от российской компании. В большинстве материалов говориться о применении фреймворка Flask и использования бесплатных хостингов Heroku и PythonAnywhere. Опыт сообщества Хабр меня выручает, поэтому я решил в знак благодарности потратить время на написание данной статьи. Опишу полученный практический опыт, чтобы дать возможность всем кто в этом заинтересован сэкономить время и лучше понять как сделать бота на Python с применением фреймворка Django на своём хостинге, используя подход webhook.

     26.10.2018       Выпуск 253 (22.10.2018 - 28.10.2018)       Статьи

Авторизация пользователей в Django через GSSAPI и делегация прав пользователя серверу Django

Недавно нам с коллегами понадобилось реализовать прозрачную (SSO) авторизацию в нашем проекте. Сейчас довольно мало информации по теме особенно на русском языке. По этой причине решено было поделиться с потомками реализацией подобного функционала.

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

     24.10.2018       Выпуск 253 (22.10.2018 - 28.10.2018)       Статьи

Django - Урок 38. Использование BeatifulSoup 4 для очистки публикуемого контента от нежелательных html тегов

При развитии веб-сайта, на котором добавлена возможность писать комментарии или публиковать статьи, в которых разрешена html-вёрстка, важен механизм для очистки нежелательных html-тегов, в частности тегов script и style , поскольку вредоносные скрипты на качественном ресурсе точно не должны присутствовать. А также хорошо будет иметь возможность очистки стиля текста, особенно, если ресурс подразумевает единообразный стиль.

     23.10.2018       Выпуск 253 (22.10.2018 - 28.10.2018)       Видео

Артем Малышев - Django under microscope

Из доклада вы узнаете все подробности из жизни внутренних механизмов Django: от первого байта HTTP запроса до последнего байта ответа. Настоящая феерия от том, как работает парсер форм, как компилируется SQL, как реализован шаблонизатор для HTML, как управляется connection pool и т.д. Всё это в хронологическом порядке обработки WSGI объектов.

     17.10.2018       Выпуск 252 (15.10.2018 - 21.10.2018)       Видео

Изменение схемы таблиц без долгих блокировок в PostgreSQL

Во время многих операций по изменению схемы базы данных сервис не может корректно работать на запись. В докладе я расскажу о том, какие операции в PostgreSql требуют длительных блокировок и как мы в Формах Яндекс.Коннекта обеспечиваем почти стопроцентную доступность сервиса на запись во время выполнения таких операций. Также мы поговорим о Django-библиотеке, призванной автоматизировать некоторые из описанных процессов

     16.10.2018       Выпуск 252 (15.10.2018 - 21.10.2018)       Статьи

Интеграция с SAP ERP, на примере с Django-python, по протоколу oData(rest)

Всегда была интересна тема интеграции больших систем вроде SAP с небольшими, но более гибкими, так-сказать взять лучшее из того и другого.

В частности, в моем примере будет описана интеграция SAP ERP с Django.

     10.10.2018       Выпуск 251 (08.10.2018 - 14.10.2018)       Статьи

Миграция схемы базы данных без даунтайма для postgresql на примере django

Хочу поделиться опытом написания миграций для postgres и django. Речь в основном пойдёт про postgres, django же здесь хорошо дополняет, так как из коробки имеет автоматическую миграцию схемы данных по изменениям модельки, то есть имеет довольно полный список рабочих операций по изменению схемы. Django можно заменить на любой любимый фрэймворк/библиотеку — подходы скорее всего будут похожи.

     09.10.2018       Выпуск 251 (08.10.2018 - 14.10.2018)       Статьи

Python: метапрограммирование в продакшене. Часть первая

Многие считают, что метапрограммирование в Python излишне усложняет код, но если использовать его правильно, то можно быстро и элегантно реализовать сложные паттерны проектирования. Помимо этого, такие известные Python-фреймворки, как Django, DRF и SQLAlchemy, используют метаклассы, чтобы обеспечить легкую расширяемость и простое переиспользование кода.

     14.09.2018       Выпуск 247 (10.09.2018 - 16.09.2018)       Статьи

Настраиваем Web Push Notifications использованием pywebpush шаг за шагом

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

Как работает JS: веб push-уведомления
Web PUSH Notifications быстро и просто924/
Service Workers. Web Push и где они обитают

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

Настройка уведомлений в итоге заняла три дня и мне кажется, что это несколько многовато. Надеюсь, моя статья поможет кому-то настроить push notifications за три часа вместо трех дней.
Проект, на котором я работаю, реализован на Django и описывать ход работы я буду применительно к этому фреймворку, но желающие легко адаптируют его к Flask или чему-либо еще.

Итак, погнали.

     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.