Как стать автором
Обновить
11
0
smirnoffs @smirnoffs

Пользователь

Отправить сообщение

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

Время на прочтение3 мин
Количество просмотров22K

Пользователи ищут товары в интернет-магазине, ищут стати, поиск это неотъемлемый компонент сайта. Быстрый и гибкий поиск сложно реализовать средствами реляционных баз данных. Для таких задач используют поисковые движки, один из которых 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 используя данную библиотеку.


Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии14

Работа с ZeroMQ и PostgreSQL в asyncio

Время на прочтение2 мин
Количество просмотров15K
Наверное, все уже слышали о чудесной библиотеке asyncio?

Если нет, то коротко: эта либа стала стандартом на асинхронное сетевое программирование на Python. tornado и twisted или научатся с ней работать или постепенно уйдут в маргиналы.

asyncio прекрасна, но это просто библиотека для работы с TCP, UDP, UNIX сокетами, PIPES и асинхронным запуском subprocess.

Чтобы всем было здорово нужны сторонние библиотеки, умеющие работать с asyncio. Кое-что уже есть, но мало.

Вот я с коллегами и сделал пару: одну для ZeroMQ и другую для PostgreSQL

Если вы прочно сидите на Python 2 и не интересуетесь Python 3 — не ходите под кат во избежание глупых вопросов и прочих недоразумений.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии36

Примеры использования asyncio: HTTPServer?!

Время на прочтение8 мин
Количество просмотров50K
Не так давно зарелизилась новая версия Python 3.4 в changelog которой вошло много «вкусностей». Одна из таких — модуль asyncio, содержащий инфраструктуру пригодную для написания асинхронных сетевых приложений. Благодаря концепции сопрограмм (coroutines), код асинхронного приложения прост для понимания и поддержки.

В статье на примере простого TCP (Echo) сервера я постараюсь показать с чем едят asyncio, и рискну устранить «фатальный недостаток» этого модуля, а именно отсутствие реализации асинхронного HTTP сервера.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии9

Мониторинг позиций своими руками

Время на прочтение5 мин
Количество просмотров21K

Делаем мониторинг позиций запросов в поисковой системе, начало.


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

Наш инструмент будет состоять из 2-х частей:
  • скрипт для парсинга поисковой выдачи, с помощью Curl и lxml
  • веб-интерфейс для управления и отображения, на Django

Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Комментарии55

Мультиаплоад файлов, версия N

Время на прочтение5 мин
Количество просмотров5.6K
Еще с давних времен, когда интернет был молодым и медленным, самым распространенным браузером был не IE, а Mosaic, в интернет не ходили, а дозванивались… меня часто мучал вопрос — почему в файловых диалогах можно выбрать всего один файл? Почему если в форме есть три файловых поля, то в каждое из них надо тыкать? Неужели нельзя удобнее?
Шло время, появился javascript, CGI, но файлополя были все также эгоистичны. Потом появился флеш, html5, ситуация начала меняться, но… Файловое поле имеет ту-же самую суть — файл, а не файлы! Хотя есть множество обходных методов…
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии11

Новая версия WordPress — 2.3

Время на прочтение1 мин
Количество просмотров1K
Вышла новая стабильная версия самой популярной автономной блог-платформы — WordPress 2.3 «Dexter», названная в честь великого саксофониста Гордона Декстера.
В новой версии появилась встроенная поддержка облака тегов, плагин для автоматического уведомления об обновлениях, канонические URL, новый WYSIWYG-редактор и многое другое.

Страница загрузки на официальном сайте WordPress.
Всего голосов 29: ↑24 и ↓5+19
Комментарии40

Отслеживание исходящих ссылок с помощью Google Analytics

Время на прочтение2 мин
Количество просмотров4.2K
Google Analytics предоставляет широкие возможности по сбору и анализу статистики сайта, но, способ отслеживания исходящих ссылок, предлагаемый в справочном центре…

<a href="http://www.primer.ru" onClick="javascript:urchinTracker('/outgoing/primer_ru');">

…мягко говоря, не очень удобен.

Поскольку сама возможность очень интересная, я решил все-таки использовать ее и при этом обойтись без прикрепления onclick к каждой внешней ссылке.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии16

Информация

В рейтинге
Не участвует
Откуда
Berlin, Berlin, Германия
Дата рождения
Зарегистрирован
Активность