Обновить
174
0
Денис@ur001

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

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

Как считать счётчики и не сбиться со счёта

Время на прочтение8 мин
Охват и читатели15K

Число подписчиков блога. Число опубликованных постов пользователя. Число положительных и отрицательных голосов за комментарий. Число оплаченных заказов товара. Вам приходилось считать что-то подобное? Тогда, готов поспорить, что оно у вас периодически сбивалось. Да ладно, даже у вконтакта сбивалось:



Не знаю как у вас, но в моей жизни счётчики — едва ли не первая проблема после инвалидации кеша и нейминга. Не стану утверждать, что решил её окончательно. Просто хочу поделиться с сообществом подходом, к которому я пришёл в процессе работы над Хабром, Дару~даром, Дёрти, Трипстером и другими проектами. Надеюсь это поможет кому-то сэкономить время и нервные клетки.

Читать дальше →

Как правильно сортировать контент на основе оценок пользователей

Время на прочтение5 мин
Охват и читатели95K


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


Вы занимаетесь веб программированием. У вас есть пользователи, которые оценивают контент на вашем сайте. Вы хотите разместить высоко оцененный контент наверху, а низко оцененный — внизу. Для этого на основе пользовательских оценок вам нужно вычислить некий «рейтинг».

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

Читать дальше →

Кто ты — человек с Хабра?

Время на прочтение2 мин
Охват и читатели1.2K
Привет, Хабр!

Нашим коллективным умом давно завладела хабрастатистика и эти выходные были проведены в прелюбопытнейшем изучении интересов хабрапользователей. Обо всём в одном посте рассказать трудно, но для тех, кому интересно, вот небольшая выжимка:

интересы пользователей Хабра

UPD Добавлена статистика использования социальных сервисов и messenger-ов
Читать дальше →

Хабралента 3.0

Время на прочтение2 мин
Охват и читатели821
Уважаемые Хабражители!
Сегодня особенный день для Хабра — день рождения принципиально новой, интеллектуальной «Хабраленты 3.0».

В чём же её принципиальное новшество?

Вам больше не требуется подписываться на блоги/теги/авторов и так далее. За вас всё сделает НЛО :) Оно пристально следит за вашими действиями (голосованием, добавлением в избранное и т.д.) и составляет список персональных рекомендаций. На самом деле термин «персональные рекомендации» тут не совсем верный. Это скорее «персональный фильтр». Его основная функция не в том, чтобы предложить только самое интересное, а в том, чтобы отсеять то, что вам с большой вероятностью будет неинтересно. Тут можно провести аналогию с почтовым фильтром, скрывающим спам, но не предлагающим «самые интересные письма». С другой стороны, эта аналогия не совсем верна: посты в Хабраленте ранжируются по предполагаемой релевантности.
Читать дальше →

«Профиль внимания» и «Любимые авторы» (часть 2)

Время на прочтение1 мин
Охват и читатели720
Буду краток:
  1. Теперь алгоритм учитывает «избранное» пользователя (спасибо MKrivosheev за идею)
  2. Немного снизили порог попадания тегов в профиль внимания
P.S. Кто не в теме — пост является продолжением этого. Нововведения о которых идёт речь можно увидеть в профиле пользователя (в том числе в вашем собственном профиле).

«Профиль внимания» и «Любимые авторы»

Время на прочтение2 мин
Охват и читатели827
В профиле наиболее активных пользователей Хабра появился блок отражающий интерес человека к определённым авторам публикаций. Чем больше ник — тем больше интерес (всё как в стандартном облаке тегов).

image

Одновременно с этой замечательной штуковиной претерпел изменения блок «Профиль внимания». Помимо укороченного названия (раньше оно было столь длинно, что я его даже не смог запомнить) был усовершенствован алгоритм построения.

Процесс работы над этими двумя блоками оказался очень интересным, и, ниже я бы хотел поделиться с общественностью некоторыми любопытными наблюдениями.
Читать дальше →

Свершилось — Jevix 1.0

Время на прочтение2 мин
Охват и читатели2.7K

Jevix — система автоматического применения правил набора текстов (типографика) разработанная в ТМ™ для собственных проектов (Хабр, Кадабра, Дрибблер), с открытым исходным кодом, наделённая способностью унифицировать разметку HTML/XML документов, контролировать перечень допустимых тегов и атрибутов и предотвращать возможные XSS-атаки в коде документов.

В связи с катастрофической нехваткой времени, не смотря на мои обещания, код версии 1.0 выложен только сегодня. Но зато он всё же вышел! Причём вместе с исправлением вчерашнего хабрабага с перечёркиванием текста.

Теперь Jevix доступен на google code. Я не поссорился с Juks — автором perl-версии (если кто что подумал) — просто с google code мне работать проще.
Читать дальше →

Сага о высоких технологиях в Российском Государственном Образовании

Время на прочтение3 мин
Охват и читатели910
Недавно мне позвонила мама (она учитель в обычной среднеобразовательной гос. школе) и с плачем начала объяснять что опять не может заполнить отчёт о контрольной по алгебре для 8-х классов. То, что я увидел на её компьютере, по приезду, настолько повергло меня в шок, что я не удержался от написания злобного поста про наше образование.

Далее много скриншотов и цитат.
Читать дальше →

Типограф и вставка кода

Время на прочтение1 мин
Охват и читатели1.5K
Сегодня обновился наш парсер Jevix.
Пока его нельзя скачать с официального сайта но, скоро, честное слово он появится там.
Полный список изменений можно будет найти в коде, а вкратце:
что там

Объединение тегов на Хабре

Время на прочтение1 мин
Охват и читатели1.2K
На Хабрахабре и других проектах ТМ внедрена долгожданная технология объединения тегов.
Один «тег-оригинал» теперь может иметь несколько «синонимов».
Например: Веб 2.0 и Web 2.0, Yandex и Яндекс или Хабр, Habrahabr и Хабрахабр.
Читать дальше →

Улучшения в работе парсера

Время на прочтение1 мин
Охват и читатели922
Появилась возможность вставки кода. Чтобы всё получилось, код необходимо вставлять в тег
<code>
  ваш код должен быть тут
</code>

Иначе, теги съест парсер

Пример:
// Добавляем возможность подсветки синтаксиса с помощью <font color> в теге code
$jevix->cfgAllowTags(array('font'));
$jevix->cfgSetTagChilds('code', array('font'), false, true);
$jevix->cfgAllowTagParams('font', array('color'));   


* This source code was highlighted with Source Code Highlighter.

Читать дальше →

Облако тегов: линейная зависимость vs логарифмическая

Время на прочтение2 мин
Охват и читатели3.7K
Этот пост меня сподвигли написать две вещи. Автокадабра и некто под ником napisal, кто активно не соглашался с моим постом

Дело было так: я зашёл в карту клубов Автокадабры и понял что она мне ни о чём не говорит. Создавалось впечатление, что пишут всего в трёх клубах. После изучения облака я пришёл к выводу что линейная зависимость размера тега (в данном случае блога) от количества публикаций совершенно не информативна. Клубы с одной публикацией выглядят так же как и с 15-ю.
далее с картинками

Last.fm API

Время на прочтение1 мин
Охват и читатели7.6K
Некоторое время назад мой любимый Last.fm открыл для всеобщего доступа свой API. Означает это, что теперь кто угодно (даже Вы) может пользоваться базой данных самого популярного в мире музыкального сервиса.
Читать дальше →

Jevix: опубликована php-версия 0.9 (beta)

Время на прочтение1 мин
Охват и читатели1.3K


Jevix — средство применения правил набора текстов (типографики), фильтрации тегов и аттрибутов, предотвращения XSS-атак. Jevix предназначен для использования в составе интернет-проектов, публикующих пользовательские материалы, будь то крупная социальная сеть или авторский блог.

Jevix способен полностью взять на себя все возможные проблемы с обработкой пользовательского материала в формате простого текста или HTML.

Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Архитектор программного обеспечения
Ведущий
Python
PostgreSQL
Redis
Celery
Django
FastAPI
Elasticsearch
Kubernetes
Clean Architecture
MySQL