• Как избавитсья от лишних запросов в Django?

    @Rrooom: ответил вам «ответом». Только новый тостер странно подглючивает и отображает его не на всех размерах экрана :)
  • Как избавитсья от лишних запросов в Django?

    @Rrooom: не в теме скорее всего вы. Если вам не нужен ответ на вопрос, могу расслабиться :)
  • Как избавитсья от лишних запросов в Django?

    Какой именно запрос выполняется ещё раз? Что у вас в raw(). И вообще, опишите более конкретно. Категории можно подцепить с помощью prefetch_related (или select_related, в зависимости отситуации)
  • Как лучше работать с пользовательскими лайками?

    1600 — это уже нормально для оптимизации лайков, согласен :)
    1. Наверняка из 1600 только процентов 15 авторизованные, можно кешировать нгинксом только анонимусов. Для зарегистрированных всё равно не накешируешься, если только блоками.
    2. Кешированием на клиенте ИМХО отпадает сразу из-за невозможности инвалидации. Проголосуете в одном браузере, а на другом получите ошибку повторного голосования.
  • Нужен ли WYSIWYG BBcode редактор?

    NeX, как автор Jevix-а с полной уверенностью могу заявить, что решить проблемы удаётся не все. И это сильно забивает мой почтовый ящик :)

    Вначале мне казалась всё просто, и я заявил что сейчас напишу PHP-версию с конечным автоматом за пару часов. Я потратил больше недели, а потом дорабатывал больше года…

    И только спустя несколько лет пришёл к выводу, что пользовательский ввод HTML — это просто неверное решение. Однако, во многих случаях это лучший компромис между тем что есть и ещё не изобретённым, новым способом ввода форматированного текста.
  • Нужен ли WYSIWYG BBcode редактор?

    На самом деле, мне кажется нужен. Могу сказать это после ноголетнего опыта Jevix-а (PHP-версия), который используется на Хабре и множестве других проектов. Так просто все проблемы не объснишь, но попробую…

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

    Если при этом мы используем какой-то язык разметки отличный от HTML, всё просто: весь HTML эскейпится, а код разметки превращается в HTML 100% безопасный, валидный и разрешённый. В противном случае нужно:

    • Отвалидировать полученный битый HTML в автоматическом режиме (нельзя кричать пользователю, что он что-то не закрыл, или нельзя вставлять <p> в <ul>
    • Отфильтровать запрещённые теги, атрибуты и конструкции в которые можно поместить XSS. Добавить какие-то обязательны атрибуты (например target="_blank")
    • Оттипографировать текст (при этом недопуская чего-то типа src = «/img.jpg» если пользователь забыл поставить скобочку в теге <img>).
    • Преобразовать служебные теги типа <hh user=""> в HTML

    В общем, проблем с этим куча. Но не используя HTML мы лишаемся возможностей WYSIWYG-а, что для непродвинутых пользователей не особо приятно. Что-то с этим надо делать. У меня давно в голове витает идея создать какой-то принципиально новый редактор без content-editable, что-то немного напоминающее Google-формы (добавить блок текста, добавить блок кода, добавить список, список — это форма с добавляемыми, удаляемыми и сортируемыми полями и т.д.). Автор WysiBB пошёл другим путём, но мне кажется это всё равно очень полезное начинание.
  • Beautiful Soup, html5lib или lxml?

    ur001
    @ur001 Автор вопроса
    kmike вы уверены, что lxml работает на regexp-ах?
  • Beautiful Soup, html5lib или lxml?

    ur001
    @ur001 Автор вопроса
    Мне скорость гораздо менее важна чем надёжность. Так как обрабатывать буду пользовательский контент (посты, комменты).

    А насколько lxml хуже в плане обработки невалидного html? И знаете ли вы в каком там виде Beautiful Soap /html5lib парссеры — это просто урезаная версия существующих библиотек? Она поддерживается в актуальном состоянии или нет? Или нужно для их использования ставить эти либы?