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

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

     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. 

     19.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи

Концепция полиморфизма в ORM Django

Свободный перевод статьи "Modeling Polymorphism in Django With Python" В статье описано идея использования полиморфизма в моделях ORM Django то есть создание возможности изменения базовой структуры под конкретные задачи.

     05.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

«Удаление» объектов в Django

Рано или поздно перед разработчиками встаёт задача удаления ненужных данных. И чем сложнее сервис, тем больше нюансов необходимо учесть. В данной статье я расскажу, как мы реализовали «удаление» в базе данных с сотней связей. Читать дальше →

     25.01.2019       Выпуск 266 (21.01.2019 - 27.01.2019)       Статьи

Как использовать вложенные формы в Django Django

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

     23.01.2019       Выпуск 266 (21.01.2019 - 27.01.2019)       Статьи
     06.01.2019       Выпуск 263 (31.12.2018 - 06.01.2019)       Статьи

Кэширование шаблонов для различных типов контента

В статье "Различные шаблоны для рендеринга разных типов контента в поисковой выдаче" было показано, как сделать рендеринг различных шаблонов в зависимости от того, какой тип контента отрисовывается в поисковой выдаче на сайте. При этом ключевым моментом являлось то, что не приходилось делать проверочные условия для выбор шаблона. Информация о шбалоне хранилась в переменной TEMPLATE_PREVIEW, через которую шаблон подставлялся в include тег в шаблоне Django. В данном способе есть один большой недостаток. Дело в том, что тег include при каждом своём вызове ищет шаблон. Его необходимо было как-то кэшировать, что и решается в данной статье.

     21.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи

История одного эксперимента с Cython и C++ vector

Одним холодным зимним вечером, хотелось согреться в офисе и проверить теорию одного коллеги, что C++ vector мог бы быстрее справиться с задачей, чем CPython list.
В компании мы разрабатываем продукты на базе Django и случилось так, что нужно было обработать один большой массив словарей. Коллега предположил, что реализация на C++ была бы гораздо быстрее, а меня не покидало чувство, что Гвидо и сообщество наверное немного круче нас в Си и возможно уже решили и обошли все подводные камни, реализовав всё гораздо быстрее.
Для проверки теории, я решил написать небольшой тестовый файл, в котором решил прогнать в цикле вставку 1М словарей одинакового содержания в массив и в vector 100 раз подряд.
Результаты хоть и были ожидаемые, но так же и внезапные.

     18.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи

Знакомство с Тестированием в Python. Ч. 2

Если вы пишете тесты для веб-приложений, используя один из популярных фреймворков, например, Django или Flask, то стоит помнить о важных отличиях в написании и запуске таких тестов.