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

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

     11.06.2019       Выпуск 286 (10.06.2019 - 16.06.2019)       Статьи

Автоматически экспортируем Google Forms в Notion с помощью IFTTT и Django

Думаю, статья будет интересна всем, кто пользуется Notion, но по какой-то причине не мог переехать на него полностью.

Я разрабатываю свой проект. На лэндинге после ввода емейла выдается ссылка на соцопрос на базе Google Forms. Ответы записываются в табличечку на Google Drive.

Проблема в том, что все свое я ношу с собой сохраняю в Notion. Это банально удобней. Обходился ручным копипастом, пока отзывов было мало. Потом их стало больше — и надо было что-то придумать. Кому интересно, что вышло — добро пожаловать под кат.

     06.06.2019       Выпуск 285 (03.06.2019 - 09.06.2019)       Статьи

Мелкая питонячая радость #2: Starlette

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

 

По этой причине у многих Python-разрабов складывается некое подобие тунельного зрения — их инженерный подход заперт между этими двумя библиотеками.

     06.06.2019       Выпуск 285 (03.06.2019 - 09.06.2019)       Статьи
     30.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи

Кастомизация Django ORM на примере ZomboDB

Часто при работе с Django и PostgreSQL возникает необходимость в дополнительных расширениях для базы данных. И если например с hstore или PostGIS (благодаря GeoDjango) всё достаточно удобно, то c более редкими расширениями — вроде pgRouting, ZomboDB и пр. — приходится либо писать на RawSQL, либо кастомизировать Django ORM. Чем я предлагаю, в данной статье, и заняться, используя в качестве примера ZomboDB и его getting started tutorial. И заодно рассмотрим как можно подключить ZomboDB к проекту на Django.

     30.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи
     27.04.2019       Выпуск 279 (22.04.2019 - 28.04.2019)       Статьи

[Перевод] В каких случаях стоит использовать Django (а в каких не стоит)

Давайте поможем разработчикам разобраться, подходит ли фреймворк Django для их следующего проекта. Вполне вероятно — подходит.

Не стоит хвататься за определенный язык программирования или фреймворк лишь потому, что вы пользовались им в вашем предыдущем проекте, или просто потому что он вам хорошо знаком. Так дела не делаются.

Прежде чем приступать к новому проекту, следует оценить, какой язык или фреймворк лучше всего подойдет вам для достижения желаемого результата. Что для вас наиболее важно? Безопасность, скорость разработки, масштабируемость, универсальность, поддержка?
Лучше принять информированное решение перед тем как приступать к работе, чем потом раскаиваться в поспешном (или, хуже того, навешивать на проект костыли в процессе реализации – из-за того, что заранее не озаботились его поддержкой).

     24.04.2019       Выпуск 279 (22.04.2019 - 28.04.2019)       Видео

Python Junior подкаст. Зачем программисту soft skills и откуда их брать

Сегодня едва ли не в каждой серьёзной IT-компании от соискателей с порога требуют владения soft skills. Но если, скажем, о Django или Tornado есть книжки и туториалы с достоверными best practices, то о навыках взаимодействия в команде в индустрии часто высказывают диаметрально противоположные мнения. Что же такое soft skills, что ими не является, как их правильно готовить и реально ли наработать?

     24.04.2019       Выпуск 279 (22.04.2019 - 28.04.2019)       Статьи

DjangoCon Europe 2019. А не сдох ли ваш пони?

С 9 по 14 апреля в Копенгагене проходила конференция DjangoCon Europe 2019. Полный надежд и стремлений я прибыл на данное мероприятие, а уезжал в глубоком смятении. В статье я попробую передать мои впечатления от конференции и прокомментировать столь резкую смену отношения к Django.

     23.04.2019       Выпуск 279 (22.04.2019 - 28.04.2019)       Статьи

Установка и настройка Django на Mac OS

Рассматривается процесс установки и настройки проекта Django на Mac OS X на основе существующего проекта. Показаны некоторые грабли и проблемы, которые могут возникнуть при развёртывании проекта для разработки под Mac OS.

     23.04.2019       Выпуск 279 (22.04.2019 - 28.04.2019)       Статьи

Django Vue.js и GraphQL

Это не подробный учебник с информацией о каждой платформе. В этой статье я описал только необходимые пункты конфигурации а так же причины почему это делается.

Весь проект можно найти на странице GitHub

     22.04.2019       Выпуск 279 (22.04.2019 - 28.04.2019)       Статьи

Создание API-интерфейса GraphQL с помощью Django

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

     17.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Django: Размещайте логику вне шаблонов (и представлений)

Когда я впервые начал увлекаться Django и веб-разработкой, хороший друг с немного большим опытом посоветовал мне не использовать логику в своих шаблонах «Шаблоны должны быть простыми».

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

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

     16.04.2019       Выпуск 278 (15.04.2019 - 21.04.2019)       Статьи

Перевод: Улучшение безопасности сайта Django с помощью заголовков запросов

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

     12.04.2019       Выпуск 277 (08.04.2019 - 14.04.2019)       Статьи

Не ORMом единым

Я руковожу отделом партнерской разработки (Partners Development) в сервисе бронирования отелей Ostrovok.ru. В этой статье я хотел бы рассказать про то, как на одном проекте мы использовали Django ORM.

     29.03.2019       Выпуск 275 (25.03.2019 - 31.03.2019)       Статьи

Разработка на основе тестов Django RESTful API

В этой статье рассматривается процесс разработки CRUD RESTful API с использованием Django и Django REST Framework, который используется для быстрого создания API на основе моделей Django.

     25.03.2019       Выпуск 275 (25.03.2019 - 31.03.2019)       Релизы
     22.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Создание универсального приложения с Nuxt.js и Django

Появление современных библиотек JavaScript, таких как React.js и Vue.js, трансформировало front-end веб-разработку в лучшую сторону. Эти библиотеки поставляются с богатым набором функциональности, позволяя быстро создавать одностраничные приложения SPA, которые в основном представляют собой динамическую загрузку и отображение содержимого веб-страниц без полной перезагрузки браузера.

     04.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Статьи

Использование учетных записей Joomla в проекте на Django

Допустим что сайт, которым пользуются ваши пользователи, написан на Joomla, но для создания нового продукта для вашей аудитории вы выбрали связку Python/Django. Как следствие, возникает необходимость использовать в Django учетные записи пользователей из базы данных Joomla. Проблема однако в том, что Joomla и Django используют разные алгоритмы хэширования паролей, поэтому просто скопировать учетные записи не получится. Почитав документацию Django, stack overflow и потратив некоторое время, получилось нижеописанное решение, которое по максимуму использует рекомендуемые практики разработки под Django.