Задать вопрос
  • Как запускать функцию через определенное время в Django проекте с помощью UWSGI?

    для такого простого случая https://docs.djangoproject.com/en/1.8/howto/custom...
    просто в самой джанге напишите команду, и запускайте кронтабом, проверенное замечательное средство.
    Ставить отдельные решения, в таком простом случае совершенно не требуется, и будет только оверхедом.
    Ответ написан
    Комментировать
  • Как запускать функцию через определенное время в Django проекте с помощью UWSGI?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    Ответ написан
    Комментировать
  • На чем писать back-end, в котором много математики?

    @nirvimel
    Python для вычислений медленный!? Вы просто не умеете его готовить!
    Я уже писал тут, что питон только сверху динамически типизированный скрипт (что необходимо для скорости разработки), но векторные вычисления numpy выполняются на самом железе, то есть так, что вы не напишите это на C/C++ быстрее чем на несколько процентов.
    Кроме того, для тех случаев, когда векторных вычислений не хватает, существует Cython, это такой же компилируемый (и не уступающий в производительности) как C/C++ язык, с прямым доступом к питоновым объектом, передаваемым из скрипта.

    статистика, fft, свертки, обработка звука и изображений, возможно немного распознавания

    Все это реализуется через векторные вычисления или через соответствующие библиотеки, которые тоже не на скрипте написаны и которые не уступят в производительности идеальному решению более чем на несколько процентов. Если даже для какой-то отдельной задачи не найдется готового решения в виде библиотеки, то всегда остается вариант сделать эту мелочь на Cython.
    Ответ написан
    6 комментариев
  • На чем писать back-end, в котором много математики?

    @Arik
    Напишите все на чем быстрее получится, посмотрите на нагрузку сервера, какие части ПО нагружают и это быстренько поправьте. А так завтра прочитаете что ассемблер, или еще что, делает все языки вместе взятые и опять начнете переписывать. А так у вас хотя бы есть рабочий вариант какой никакой и в сжатые сроки. Может и не нужно будет ничего переписывать, у меня такое часто бывает.
    Ответ написан
    Комментировать
  • Имеет ли значение, как транслитеруется текст в URL с точки зрения поисковой оптимизации?

    kopcap_va
    @kopcap_va
    SEO Consultant
    Особенной связи между правильным транслитом в URL и позицией в выдаче скорее нет, чем есть.

    Проверить, понимает ли конкретная поисковая система ваш вариант транслита можно в результатах выдачи по конкретному запросу - правильный вариант транслита в URL будет выделен жирным.
    Ответ написан
    Комментировать
  • Товар, Корзина, Покупатель, Доставка, Оплата, Заказ - какие связи между моделями в проекте Django (интернет - магазин)?

    sim3x
    @sim3x
    Придумай себе виртуальный магазин
    Придумай правила по каким он работает
    Реализуй
    Потом все поменяй

    Тут нет правильного или неправильного варианта - бизнесс задает правила, а не разработчик
    Ответ написан
    Комментировать
  • Каков must have для студии по разработке?

    banderos120
    @banderos120
    Играю на балалайке
    Когда-то начинали с товарищем делать сайтики, только я был "программистом", а он собирал заказы. Одни из ошибок, которые позволили загнуться нашему совместному предприятию (просуществовали мы почти 2 года) - это:
    - недостаточно опытный программист (это я), плюс, если брали помощников, то они были еще неопытнее меня.
    - не составлялся четкий план на разработку, проектирование проекта не проводилось, из-за чего по ходу дела возникали ситуации, которые можно было решить еще на этапе проектирования, но нет, приходилось тратить время уже во-время разработки. Как следствие этого - неожиданное увеличение сроков.
    - не было четких условий для заказчика, т.е. типовой договор был, но, например стоимость правок оговаривалась налету, некоторые заказчики округляли глаза и приходилось делать забеслпатно. Следствие чего заказчик был царь и бог и некоторые их долги по оплате не были отданы до сих пор.
    - желание сэкономить, нет, я понимаю, что экономить нужно, но не на том, что приносит тебе доход, по-этому дизайнеры были хреновые, помощники говеные и т.д. Из-за чего заказчик был не доволен, а срок разработки проекта очень сильно увеличивался.
    - заказы по сложности и требованиям несопоставимые со стоимостью, т.е. напарник брал сложные заказы за смешные деньги, сетуя на то, что город маленький (300 000 жителей) и никто платить не хочет, в итоге с созданием и доработками выплаты задерживались, следующие заказы брались , пока недоделаны предыдущие и получался ком, которые ничего хорошего не обещал.
    - ну и результатом всего этого стало огромное количество долгов и плохих отзывов.
    Ну вот такие были проблемы у студии "Рога и копыта" из двух человек, какие вспомнил ))
    *пы.сы. не знаю, зачем это написал, просто, что-то вспомнилось.
    Ответ написан
    5 комментариев
  • Как реализовать интеграцию с аффилейт программами?

    @marazmiki
    Укротитель питонов
    Отдавайте партнёрскую ссылку не напрямую, а через вьюху-прокладку, которая сохранит факт клика и всю сопутствующую информацию: текущего пользователя, дату-время, ip-адрес, реферер, имя браузера, id сессии — словом всё, что можно вытащить из реквеста.
    Ответ написан
    3 комментария
  • Как научиться делать "сайт под ключ"?

    @WapGeaR
    Программист
    Сайты под ключ редко когда берутся делать в одиночку, ведь в это понятие входит:
    1. Дизайн
    2. Backend/Frontend (если не брать в расчет установку на движки, но и там функционал нужно расширять/дополнять)
    3. Настройка сервера
    4. SEO-фундамент
    Поэтому обычно такие заказы берутся выполнять (не)большие группы людей.
    Ответ написан
    3 комментария
  • Как добавлять динамическое поле в модель при поиске?

    svfat
    @svfat
    ☺Нужен VPS? Два месяца бесплатно. Смотри профиль☺
    Кастомный темплейт фильтр?
    @register.filter
    def distance(obj, coords):
        return obj.get_distance(coords)


    В модели:
    def get_distance(self, coords):
        return self.calculate_distance(self.coords, coords) 
       # ^^^^ это ужасно сложный код подсчета дистанции


    В шаблоне:
    {% for object in object_list %}
      {{ object|distance:coords }}
    {% endfor %}
    Ответ написан
    1 комментарий
  • Есть ли сервис для верстки писем?

    dudeonthehorse
    @dudeonthehorse
    Email Developer
    Сервисов для действительно хорошей верстки писем нет. Но есть фреймворки. Хорошим на сегодняшний день считается zurb.com/ink , но у него есть ряд косяков.
    Могу предложить мой фреймворк https://github.com/dudeonthehorse/Email о работе с которым я планирую писать в своем блоге habrahabr.ru/users/dudeonthehorse/topics
    Ответ написан
    Комментировать
  • Как вы организовываете и управляете своими закладками на вебсайты?

    Сайт, который позже пригодится - Закладки (распределены по папкам).
    Сайт, который просто нужно посмотреть - Неподшитые закладки в Firefox (которые переодически перебирать и очищать).

    Статью, которую нужно прочесть или видео - Pocket (встроен в Firefox и есть расширения для всех популярных браузеров).
    Часть статьи (и любую информацию), которую нужно сохранить и чтобы можно было быстро найти - Evernote.

    Для Firefox есть замечательно расширение, которое помогает управлять закладками (и может полностью заменить экспресс панель) - ViewMarks.

    Также введите в привычку Правило 2 минут - "Если задача занимает менее 2 минут – просто сделайте ее!"
    Ответ написан
    Комментировать
  • Как вы организовываете и управляете своими закладками на вебсайты?

    Sofrus
    @Sofrus
    Покет на для закладок - он для отложенных статей, так что не заменяет закладочный сервис, а дополняет его.
    Для закладок использую www.diigo.com, но постепенно перехожу на встроенные закладки оперы, так как они наконец-то научились неплохо синхронизироваться.
    Ответ написан
    Комментировать
  • Как вы организовываете и управляете своими закладками на вебсайты?

    FAN2tom
    @FAN2tom
    Я пришёл с миром!
    Обратите внимание на мой ответ здесь: Как вы живете с большим количеством открытых вкладок браузера?
    Ответ полностью избавит Вас от необходимости добавлять в избранное, записывать на бумажках, хранить в драфтах, в гитхабе и просто текстовом документе, ненужны никакие сервисы.
    Ответ написан
    Комментировать
  • Как вы организовываете и управляете своими закладками на вебсайты?

    opium
    @opium
    Просто люблю качественно работать
    Пять лет назад от казался от закладок, в целом понял что просто их коплю и никогда не читаю, если надо что то прочитать то читаю на месте.
    Ответ написан
    Комментировать
  • Сервис для отслеживания популярности тегов?

    XXX
    @XXX
    Решение где-то рядом
    Чем вообще руководствуетесь при написании тегов для постов?
    Здравым смыслом, теги должны иметь прямое отношение к теме поста и информации описанной в нем. С помощью тегов можно реализовать удобную для читателя связь между постами, чтобы пользователь кликнув по тегу мог увидеть все статьи по этой теме. Старайтесь придерживаться одного формата и не писать один и тот же тег в разных постах по-разному.

    Недавно сам задался подобным вопросом. Ничего не нашел (возможно плохо искал). Для себя выбрал следующее оптимальное решение. Захожу в твитер и фейсбуке, ищу по ключевым словам, по которым хотел бы, чтобы меня находили. Смотрю, какие появляются сообщения. Беру с них теги, ищу по ним, и так собираю несколько часто используемые теги, которые использую в своем сообщении. Работает. Уверен, что подобное можно и автоматизировать. Возможно, кто-то уже это сделал до нас.
    Станислав Гордиенко в дополнение к своему способу можете еще пользоваться информацией из wordstat.yandex.ru, keywordplanner, google trends. В некоторых случаях достаточно полезно знать какие ключи и варианты написания наиболее популярны. Теги под твиттер можете посмотреть, например в сервисах hashtagify, hashtags.org, tagdef. На cossa посмотрите статью Тайные и явные функции хештегов, а на texterra можете посмотреть статью про использование тегов в соц сетях Как эффективно использовать хэштеги, автор в некоторых моментах ошибается, но читать можно. :)
    Ответ написан
    Комментировать
  • Сервис для отслеживания популярности тегов?

    opium
    @opium
    Просто люблю качественно работать
    разумом руководствуемся
    смысл писать теги к вопросу по полулярности, на деле то надо теги ставить по содержанию вопроса
    Ответ написан
    Комментировать
  • Как реализовать ранжирование результатов полнотекстового поиска по тексту и тагам в Django + Sphinx (sphinxit библиотека)?

    У вас не совсем полный вопрос. Он про ранжирование или про то, как подружить теги со сфинксом? А как теги реализованы? Поэтому я напишу обзорный ответ, который покажет, куда копать, что делать. Сам я использовал однажды django-sphinx (ныне заброшенный) для похожих задач (только по тегам не сортировал, ибо задача у меня была по ним уточнять). А вот sphinxit не использовал, поэтому будем рассматривать сначала "голый" сфинкс, а потом уже sphinxit как надстройку. Так что могу где ошибиться, наврать.

    Примем, что у вас классическая реализация тегов (тагов? хы) в виде таблички с тегами + many-to-many в табличку с элементами (так, например, делает django-taggit).

    В сфинксе есть полнотекстовые поля (по ним он строит специальную структуру (индекс), чтобы быстро искать совпадения по ключевым словам). Они не хранятся в первоначальном виде, только в виде индекса. Есть еще атрибуты, они прикрепляются к индексу, по ним потом можно фильтровать, они именно хранятся в индексе. Это разные числовые значения (типа price или customer_id) или строковые или даже JSON, по ним обычно удобно фильтровать, уточнять запрос. Есть еще MVA - это тоже атрибуты, но представляют из себя множества числовых значений. А как их задать в сфинксе - пример. Вообще, такая возможность (атрибуты и MVA в частности) сделана, чтобы разгрузить БД и нагрузить сфинкс. :)

    MVA-атрибуты подходят, чтобы в них хранить тэги и подобное (many-to-many), даже в доках написано:

    That is useful to implement article tags, product categories, etc.

    Ранжирование - это очень комплексный алгоритм. Для полнотекстовых полей в сфинксе есть специальные ранкеры, среди которых есть алгоритм BM25 и наивные ранкеры, например SPH_RANK_WORDCOUNT, который как раз и выполняет простой подсчет вхождений ключевых слов и учитывает вес поля. По атрибутам же можно фильтровать и сортировать. По MVA тоже можно фильтровать и сортировать.

    Дальше буду говорить в рамках языка запросов SphinxQL. Можно еще обращаться к его API, но все равно вы используйте обертку, да и язык запросов как-то попроще для объяснения. В доках встречаются примеры из реализации API на PHP иногда, причем про SphinxQL пояснений нет, но это не значит, что через него нельзя это сделать (или значит, надо смотреть).

    Для вашей задачи нужно сделать SELECT с функцией LENGTH() по MVA-атрибуту с тегами, далее по нему отсортировать с помощью ORDER_BY в нужном порядке, а также сделать фильтрацию с помощью WHERE, где указать вхождение тегов в атрибут с помощью оператора IN. Оператор WHERE - это комбайн фильтров по атрибутам и полнотекстового поиска. Таким образом можно рассортировать результаты по длине MVA-атрибута (количеству тегов).

    Можно сюда добавить полнотекстовое ранжирование еще (включается с помощью SetRankingMode или с помощью OPTION в SphinxQL) у полнотекстовых полей (по алгоритму BM25, например, что по умолчанию), и сортировать в ORDER_BY и по длине MVA-атрибута с тегами и по WEIGHT() от ранкера (см. доки на предмет примеров); возможно или даже скорее всего, тут придется выбрать еще WEIGHT() в SELECT (раньше он неявно возвращался в ORDER_BY, я это тоже не тестировал). В таком случае будет круто: например, если подряд попадется 50 записей с одинаковым количеством тегов, то они будут отсортированы по весу ранжирующего алгоритма.

    В общем, ваша задача красиво решается. Учитывая пример выше, можно с помощью исключительно только сфинкса реализовать и полное совпадение по тегам (сравнивать LENGTH() с количеством тегов в WHERE). И подобное.

    Если же теги хранятся как-то неклассически (highload и т.п.), то их в любом случае можно будет достать либо в MVA, либо сделать полнотекстовым полем (в таком случае ранкер SPH_RANK_WORDCOUNT как раз применим). Поэтому суть та же.

    Думаю, на все "теоретические" вопросы касательно ранжирования и сфинкса я ответил. Тут есть поле и для хорошего ранжирования и для оптимизации запросов, надо экспериментировать.

    Теперь же в рамках sphinxit. Согласно его докам, он умеет и ранкеры включать и на SphinxQL говорить. Надо просто там все это оформить. Не исключены подводные камни, возможно, что-то он не сможет сделать, возможно, где-то и я наврал. По идее нужно уметь делать фильтрацию (тык), сортировку (тык), а тут даже пример, как включать ранкер + описание возможных ранкеров. Кажется, если что, то можно и в селект дописать условие. В общем, все выглядит дружелюбно, удачи!

    Кстати, в документации sphinxit в примерах опций (ссылка выше) есть пример, где включен ранкер, но в ORDER BY условие только сортировать по атрибуту name. По идее это должно убить весь смысл ранкера для сортировки, ведь его надо явно указывать в ORDER BY. Видимо, там просто пример, как это конвертится в SphinxQL.

    p.s. Странно, что уже как 4+ дня прошло, и на этот вопрос никто не написал ответа. Sphinx не популярен? :(
    Ответ написан
    5 комментариев
  • Как трекать позицию сайта по нескольким ключевым словам?

    kopcap_va
    @kopcap_va
    SEO Consultant
    Сервисов очень много, есть платные/бесплатные. Бесплатные обычно имеют ограничения. В платных возможностей больше.

    От себя порекомендую Seranking - уже больше года использую, много полезных фишек. Можно отслеживать динамику по позициям, по трафику, по видимости, по проценту запросов в ТОП и по прогнозу трафика в нужных регионах и системах.
    Ответ написан
    2 комментария
  • Почему Google пытается проиндексировать несуществующую страницу?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Ссылка где-то в интернетах на этот урл есть.
    Сделайте 301-й редирект на / и забудьте.
    Ответ написан
    1 комментарий