Hi. I'm Yaroslav Muravskyi. A bright, ambitious developer. I love building products that solve real, human problems.

Slides of my lighting talk about Combining Django REST framework & Elasticsearch

Combining Django REST framework & Elasticsearch


Поиск в Django REST Framework с помощью Elasticsearch

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

Для работы с elasticsearch используется библиотека elasticsearch-py или elasticsearch-dsl-py. elasticsearch-dsl-py это надстройка над elasticsearch-py, она проста в использовании и поддерживает elasticsearch версии 5.x. На базе этой библиотеки была создана библиотеку django-rest-elasticsearch, которая основана на идеологии существующего поиска в Django REST Framework. Ниже я детально распишу как реализовать поиск в Django REST Framework с помощью elasticsearch используя данную библиотеку.

Полный текст статьи можно найти на habrahabr


Установка и развёртывание Django в один клик с помощью Ansible

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

Сейчас существует несколько инструментов для автоматизации ручного труда chief, puppet и ansible. Про последний я услышал на одной из конференций и решил попробовать.

Так появился проект django-ansible-setup. Данный проект позволяет за 5 минут полностью настроить сервер и развернуть Ваш проект с помощью одной команды. После настойки на Ваш сервер будут установлены следующие пакеты:

  • Nginx
  • Gunicorn
  • Supervisor
  • Virtualenv
  • PostgreSQL

Давайте рассмотрим пример...


Простой способ запустить https на локальной машине

Иногда возникает потребность запустить https на локальной машине для тестирование работы Вашего приложения (например обрабатывать какой то callback от удаленного сервера который работает только по https).

Для решение данной задачи я воспользовался Stunnel, это по сути дела прокси сервер шифрующий трафик. Данный прокси сервер прост в установке и в использовании.


Logging - простая и удобная библиотека для логирования

Сегодня я хочу немного написать о прекрасной библиотеке logging. Данная библиотека предназначена для логирования в Вашем проекте или модуле. Полезный инструмент когда Вам нужно найти какую то проблему или выяснить что не так происходит в Вашем коде.

Основные преимущества данной библиотеки:

  • позволяет писать логи в файл (ротировать файл)
  • выводить логи в консоль
  • позволяет хранить настройки логера в отдельном файле

Дальше я приведу несколько простых примеров использования библиотеки и расскажу как правильно её использовать.


LvivPy#5

Мой доклад и видео с конференции LvivPy#5


Элементарные алгоритмы сортировки

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

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