Нужно потестировать имплементацию starttls в NNTP-сервере на чем-то настоящем. По этой причине вариант «законнектится на 563 порт и не париться» не подходит.
Кто-то из клиентов вообще умеет starttls или это так и осталось влажными фантазиями в rfc4642?
На мобилках клавиатуры хитрые, предлагают всякие подсказки для быстрого набора. Это все жутко переглючивает редакторы с подсветкой синтаксиса. Теперь в CodeMirror по крайней мере в хроме я сходу глюков не нашел. В фаерфоксе еще остались, но уже не такие безумные как раньше. На айфоне не проверял - нечем.
Из альтернатив есть только Ace, но он глючит намного сильнее, в несколько раз толще и вообще мне не очень нравится.
Если кому охота потестить клавиатурный ввод на мобилках - отпишитесь по результатам. Есть возможность пообщаться с автором по горячим следам.
Ну абстрактно понятно - сначала все льем в массивы битов, где каждый бит соответствует 1 минуте (или любой_другой_интервал_времени). Например через битовые операции в redis. Потом агрегируем по дням, месяца, годам - смотря как надо.
Но есть нюанс - юзер ведь может не тыкать по ссылкам, а читать длинную статью. Вроде как запросов на сервер не шлет, но и на сайте сидит. А может открыть вкладку и уйти - тогда не считается.
Как обычно такое решают? Пока придумал 2 варианта:
1. Собираем промежуточную (между запросами) статистику на клиенте, и потом домерживаем. 2. На сервере, если между битами небольшая пауза, заполняем промежуток.
Случайно обнаружил. Штука офигительная в своей простоте и красоте. До этого пользовался XMind, но там как-то напряжнее весь процесс идёт. От того пользовался только когда задачи совсем прижимали по сложности. А тут быстренько и с удовольствием наколбасил всю текучку.
Вообще рисовалок майндмапов много, но они обычно либо с убогим интерфейсом, либо платные.
Делаю пример, где после упаковки бинарные данные отправляются на сервер. Решил слать как форму, потому что стандартно и удобно обрабатывать.
1. В современных браузерах есть FormData, и с ее помощью все отправляется хорошо.
2. Для старых браузеров вроде описывалось, что body запроса можно создать ручками, но ни фига не работает. Такое впечатление, что происходит перекодировка в UTF-8. Файл принимается, но вместо 44 байт приходит 64.
При настройке поиска надо как-то оценивать результат. То есть, прогонять пачку эталонных запросов и смотреть, стало лучше или хуже. Меня интересует, насколько реально для подобного использовать траффик сайта.
1. С какого количества юзеров (поисковых запросов?) такое вообще начинает работать и выдавать полезный результат?
2. Какой интерфейс для этого делают? На память приходит только «х» рядом с результатами, чтобы убирать плохие.
3. Как учитывать что данные, по которым ищем, меняются?
Понятно, что можно заморозить базу, и посадить людей размечать за деньги. Но меня интересуют нанотехнологии, их сложность, и условия при которых они начинают работать.
Правда пока эта хренотень в состоянии «минимально жизнеспособный продукт». Например нет поддежки SSE (SIMD и все что с этим связано). Ну и интерфейс с яваскриптом примерно никакой - на уровне простых переменных.
В принципе, из явных профитов - можно делать быстрое деление, которое в v8 на яваскрипте вызывает деоптимизации. Это из того, что на JS сейчас невозможно. Бывает иногда полезно, например если хочется у картинки цветовое пространство преобразовать.
Итак, хочется сделать на коленке тупенький ранкер, дешево и сердито. Без категоризаций контента и попыток понять его смысл. За основу берем sphinx search c его proxmity-запросами (допускающими частичное совпадение), и ранкер bm25.
Теперь хочется к bm25 подмешать дополнительные критерии:
1. Если в теме нет ответов, она явно бесполезна мне как юзеру, поэтому среди «похожих» я бы ее видеть не хотел. С другой стороны, разницы между темами где 1000 и 100000 ответов я уже не вижу.
2. Как правило свежая инфа полезнее протухшей. Поэтому когда по bm25 много результатов, я бы предпочел видеть более свежие (по дате обновления) темы.
Что еще можно добавить? Где можно потырить готовые коэффициенты для таких логарифмических зависимостей (видел только для reddit)?
Хочется поднять новый сервер, и там все завернуть в docker. Не хотелось бы промахнуться с разметкой, файловыми системами и т.п., так как переделывать хлопотно.
Что вообще будет надо:
- пяток виртуалок (мне привычнее на убунте) - много данных (база монги, и там же картинки в gridfs, 1-3 Тб) - (?) возможность делать бакапы, наверное через снапшоты
Подскажите, кто с этой темой разбирался
- ubuntu server 16.04 сойдет или лучше другое? - zfs уже можно ставить? - как размечать диск (разделы, файловые системы и что куда монтировать) - куда принято data volumes класть
Есть еще всякие модные CoreOS, но я не знаю, насколько оно юзабельное. В общем, хоцца современную хостовую ноду поднять, но я не особо в курсе, как нынче принято.
У чела наконец-то пригорело. Но, как обычно, поскольку он горазд только звиздеть, то вместо того чтобы написать претензию, лепит душещипательные тикеты от намерениях.
Краткая история драмы - чел много обещал про дружную работу, и ни фига не делал. Плюс в один момент, набухавшись или обколовшись, написал мне, что если я еще раз с ним заговорю в каком-то там ключе, то он заберет у меня права доступа. В итоге был послан. А еще выпилен из копирайтов, из принципа.
Кстати, за 3 года он так ни фига и не сделал - по истории видно. Код протух.
С тех пор он ноет про порушенные копирайты, тонны виртуальных усилий и т.п. В качестве формального доказательства предъявляя письмо, которое было написано по поводу ДРУГОГО репозитория и других планов :).
Есть типовой вебсервер, который на каждый новый запрос вызывает стандартную function(req, res). Я хочу грамотно прерывать соединение, если кто-то пытается отправить слишком большой POST-запрос.
Будет ли достаточно дернуть res.end(413, 'request entity too large') или надо предпринимать какие-то дополниртельные шаги чтобы req (входящий стрим) тоже заткнуть? Я типа в курсе, что можно выставить флажок и просто перестать сохранять входящие данные, или вообще req.destroy(). Но хочется все-таки и грамотно входной стрим уконтрапупить, а не просто в холостую его гонять.
Автор самого популярного пакета для отправки почты сменил лицензию с MIT на EUPL. Учитывая что в ноде в основном все под MIT, теперь всем либо сидеть на старой версии, либо валить непонятно куда.
Появилось упоминание коммерческой лицензии за 780 евро в год.
По версии неизвестных экспертов я наговнокодил на яваскрипте среди первых двух сотен в мире, гы :). Это ж насколько тогда низкая средняя температура по больнице...
Есть такая модная фича, когда в бложиках показывают ссылки на «похожие записи», или в конце тем форума показывают ссылки на «похожие темы». Интересует варианты, как cделать подобное. Самое примитивное, что приходит в голову, проиндексировать топики в sphinxsearch, и потом искать в заголовках
(название темы)/1
То есть, «должно совпадать хотя бы одно слово, с сортировкой по релевантности». Но наверняка есть много нюансов, например:
- какой критерий поиска - какой критерий сортировки - учитывать ли «давность» найденного - показывать только предыдущие темы, или более свежие тоже - искать только по заголовкам или по содержанию первого поста тоже
и т.п.
Если кто-то решал подобную задачу, или знает где она решалась грамотно - поделитесь пожалуйста.
Новый проект с говорящим названием от NIH-отдела нашей велосипедной фабрики. Очередь задач под ноду, на редиске. Готовых подобного уровня не нашлось, а поднимать ради простых вещей монстров типа RabbitMQ не хотелось.
По фичам напоминает Celery (группы, цепочки задач). Плюс есть итерирующий мапер, чтобы эффективно нарезать гиганские дырявые диапазоны на чанки с одинаковым числом элементов. Все апдейты состояний завернуты в транзакции, так что любой процесс может падать в произвольный момент - целостность не пострадает.
Разруливание тяжелых задач отдано на откуп системному шедюлеру. Просто делается пара пулов с воркерами, в один роутится всё «не блокирующее», во второй - с интенсивными вычислениями.
Отдельное спасибо dave и всем остальным, кто помог быстро сориентироваться в теме.
Вроде все сделал по советам в интернетах. Но есть один досадный косячок. Если перезапустить нодовский бакенд, то FAYE перестает устанавливать соединение с сервером, даже если страничку перегрузить.
При этом перезапуск nginx вроде бы помогает, и кажется без nginx подобного не было.
На многих сайтах, вроде лора и пикабу, наравне с поиском делают теги. Мне интересна причина - это потому что поиск нормальный не осилили? Или не осилили подписку на поисковые запросы?
Тегами можно донести рубленые мысли в стиле Маяковского, но это спорное достоинство. Кто что думает? Когда теги лучше самого расхорошего поиска а когда нет?
Вроде уже многие сталкивались с тем, что веб-страничку удобнее рассматривать не как «шаблончик полюс скриптик», а как набор самодостаточных компонетов (виджетов?). Где каждый компонент содержит все что ему надо - шаблон, стили, переводы, скрипты.
В принципе многие движутся в этом направлении - react, angular и т.п. Но вот чего я пока не нашел - как обеспечить изменение внешнего вида. Типовые задачи:
1. Допустим я хочу другой скин для сайта. Хорошо если мне повезет и достаточно изменить CSS. А если еще и верстку? 2. Допустим я хочу что-то добавить в существующий компонент из внешнего. Например, был форум. Добавили модуль блогов и на карточку юзера понадобилось добавить ссылки из бложика.
Появились ли какие-то методологии, как красиво разруливать подобные вещи? Пока приходилось сталкиваться с такими вещами:
- Накладывание текстовых diff на шаблоны. Стрёмная по жизни штука. - Модификация DOM ручками через яваскрипт. Можно, но неудобно и в использовании и в поддержке. - BEM XLST. Рабочая штука, но очень высокая цена входа. Сделано не для людей. - Можно еще втыкать всякие хуки для иньекций, но это часто решает проблему уже после того как она случилась, а не заранее.
В основном все эти проблемы касаются только шаблонов:
- на CSS при БЕМ-овских именах классов подкрутить текущие стили не проблема. - на JS в принципе медиатор c responsibility chains позволяет особо не париться о расширяемости. То, что много подписчиков могут образовать помойку разруливается разбивкой одной большой цепочки на несколько вложенных.
Возвращаясь к шаблонам - где придумали что-нибудь простое и удобное, чтобы подкручивать выхлоп «веб-компонент»? Яндексовский БЕМ ни на простое ни на удобное не тянет.