#  Re: Дополнения к стандарту
revoltech (spnet, 4) → Andrew Lobanov  –  08:58:34 2024-10-31

AL> Не вижу в нём смысла.

Как клиенту понять, сколько сообщений максимум можно забрать за один запрос?
#  Re: Разбор idec
shaos (spnet, 2) → shaos  –  08:36:43 2024-10-31

Неа - опять не сработало…
#  Re: Разбор idec
shaos (spnet, 2) → shaos  –  08:36:19 2024-10-31

Вот почему в предыдущем сообщении оно только на последний ==== среагировало? Пустую строку надо до?


again?
#  Re: Разбор idec
shaos (spnet, 2) → Andrew Lobanov  –  08:33:59 2024-10-31

Нету пробелов после ====

Он просто иногда работает, но чаще не работает

here?
#  Re: Разбор idec
shaos (spnet, 2) → Andrew Lobanov  –  08:24:28 2024-10-31

Ну проблему нелогичности решает, на которую некоторые указывают :)
#  Re: Дополнения к стандарту
Andrew Lobanov (tavern,1) → revoltech  –  07:52:21 2024-10-31

shaos>> насколько длинный урл можно скормить вебсерверу это настройка вебсервера - сама нода может про это и не знать
revoltech> Но её админ должен об этом знать. И выставить в урлу /u/mc. Иначе при перефетче придётся брутфорсить на стороне клиента: ага, 10000 айдишников — отлуп, 1000 айдишников — отлуп, 500 — отлуп, 389 — норм... Запишем, что в этой станции 389.

А зачем?

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
#  Re: Разбор idec
Andrew Lobanov (tavern,1) → ahamai  –  07:52:21 2024-10-31

ahamai> Кстати, если в срезе будет точка, то старый софт будет считать это не как неккорректный msgid, а как пустую эху и и игнорировать её

Ты хочешь в срезе получить нецелое количество сообщений? Зачем тебе точка в срезе? Типа, -12.5:12.5?

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
#  Re: Дополнения к стандарту
Andrew Lobanov (tavern,1) → revoltech  –  07:52:21 2024-10-31

shaos>> ну разве что если /x/e/...
revoltech> Да пофигу, раз упростить алгоритмически всё равно ничего не получится, пусть будет так, как есть. Меня больше про /u/mc вопрос интересует.

Не вижу в нём смысла.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
#  Re: Разбор idec
Andrew Lobanov (tavern,1) → shaos  –  07:52:21 2024-10-31

shaos> ну IDEC клиентов и серверов наклепали за 10 лет некоторое количество, поэтому и /u/e/echo.1/echo.2/echo.3 и /u/e/echo.1/echo.2/echo.3/-10:10 должны продолжать работать, а я предлагаю раширение, которое исправит последнюю претензию, что слайс распространяется на каждую эху из списка - будет возможность задавать разные слайсы на разные наборы эх в пределах одного запроса - чем плохо то? ;)

Тем, что не решает никаких проблем :)

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
#  Re: Дополнения к стандарту
Andrew Lobanov (tavern,1) → revoltech  –  07:52:21 2024-10-31

revoltech> Предлагаю ввести общий слайсинг вида «ключ-значение», в котором вместо диапазона можно писать all или же msgid (в таком случае берётся содержимое эхо от него):
revoltech> /u/e/echo.1/all/echo.2/some_msgid_blablabla/echo.3/-10:10

Зачем? Усложнение ради усложнения? Так IDEC не про это, а про дубовую простоту.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
#  Re: Разбор idec
Andrew Lobanov (tavern,1) → shaos  –  07:52:20 2024-10-31

>> Что может быть проще? Грамматики? Конечные автоматы?
shaos> Мне проще на сях - перебираем строку посимвольно и делаём чо хотим...

Как только начинаем писать что-то сложнее поиска подстроки, код на Си превращается в чан доширака. Регулярки надо осилить один раз и потом кратко и лаконично описывать желаемое.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
#  Re: Разбор idec
Andrew Lobanov (tavern,1) → shaos  –  07:52:20 2024-10-31

>> Это знает только автор. И то вряд ли вспомнит.

Да там всё в коде - читай нехочу, но только без поллитры в этих регекспах не разрбраться (мне):


if (preg_match("/^====$/", $string[$i])) {
if (!$pre_flag) {
$pre_flag = true;
$string[$i] = preg_replace("/====/", "<pre>====", $string[$i]);
} else {
$pre_flag = false;
$string[$i] = preg_replace("/====/", "====</pre>", $string[$i]);
}
}


>> Читать далее
#  Re: Разбор idec
Andrew Lobanov (tavern,1) → revoltech  –  07:52:20 2024-10-31

AL>> И это ломает поддержку стандарта.
revoltech> Ладно. Ломает, так ломает, будем контекстозависимые парсеры городить. А что насчёт /u/mc?

Ненужная вещь.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
#  Re: Дополнения к стандарту
hugeping (ping,1) → revoltech  –  07:40:58 2024-10-31

Я тут несколько дней сдерживаюсь. К тому же, довольно сильно приболел.
Но сдерживаться мне всё тяжелее конечно...

Понимаю, что меня не воспримут, всё-таки напишу.

Подумайте, что за задачи вы решаете?

Например, в данном случае, в один запрос запиханы разные лимиты слайсов для разных эх. Зачем?

Видимо, предполагается что "умный" админ будет настраивать фетч таким образом под станцию, что задаст разные лимиты для эх разной наполненности? Зачем этот ужас? Придумайте, как в реальности вы будете это использовать?

Потом, Рома трясёт своим ?sf=hash - как замену слайсов. На самом деле этот sf=hash при своей красоте, всё-таки, хуже слайсов. Во первых, даже с хешем надо делать запрос внахлёст с запасом (не забываем про то, что порядок сообщений на ноде может не совпадать с нашим) и нам все равно придётся самим на своей станции находить n сообщение от конца в эхе и брать затем его хеш чтобы сформировать запрос. Те же слайсы, вид сбоку. Ну и во-вторых, sf решает одну конкретную задачу, а слайсы - универсальны. Слайсы делают возможным адаптивный фетч и онлайн просмотр.

Потом постоянные намёки на то, что нам нужно обязательно забрать всё одним запросом. Причём, неявно подразумевается что это благая цель которую все разделяют... ЗАЧЕМ?? У меня фетчер вообще забирает по 12 кажется msgid за раз, но он, наверное, самый быстрый из всех реализаций что я видел. Можете скачать ii-go и сделать полное клонирование моей станции и написать, сколько это заняло времени.


>> Читать далее
#  Re: Разбор idec
ahamai (blackcat, 2) → Andrew Lobanov  –  07:03:49 2024-10-31

> ahamai просто не помнит свой же стандарт. Надеюсь, у него всё хорошо.

В бандле только эхи и msgid. Эхи с точками, всё осталное msgid. Если там что то ещё, падай а не игнорируй
#  Re: Дополнения к стандарту
shaos (spnet, 2) → revoltech  –  06:12:07 2024-10-31

> Но её админ должен об этом знать.

Ну я например не знал пока не загуглил :)

Потом пришлось свой анализатор логов переписывать, чтобы строки длинне 8К принимал ;)
#  Re: Дополнения к стандарту
revoltech (spnet, 4) → shaos  –  06:05:06 2024-10-31

shaos> насколько длинный урл можно скормить вебсерверу это настройка вебсервера - сама нода может про это и не знать

Но её админ должен об этом знать. И выставить в урлу /u/mc. Иначе при перефетче придётся брутфорсить на стороне клиента: ага, 10000 айдишников — отлуп, 1000 айдишников — отлуп, 500 — отлуп, 389 — норм... Запишем, что в этой станции 389.
#  Re: Разбор idec
ahamai (blackcat, 2) → shaos  –  05:43:47 2024-10-31

Кстати, если в срезе будет точка, то старый софт будет считать это не как неккорректный msgid, а как пустую эху и и игнорировать её
#  Re: Дополнения к стандарту
shaos (spnet, 2) → revoltech  –  05:57:34 2024-10-31

насколько длинный урл можно скормить вебсерверу это настройка вебсервера - сама нода может про это и не знать
#  Re: Разбор idec
shaos (spnet, 2) → Andrew Lobanov  –  05:53:59 2024-10-31

> Что может быть проще? Грамматики? Конечные автоматы?

Мне проще на сях - перебираем строку посимвольно и делаём чо хотим...
#  Re: Дополнения к стандарту
revoltech (spnet, 4) → shaos  –  05:48:09 2024-10-31

shaos> ну разве что если /x/e/...

Да пофигу, раз упростить алгоритмически всё равно ничего не получится, пусть будет так, как есть. Меня больше про /u/mc вопрос интересует.
#  Re: Разбор idec
Andrew Lobanov (tavern,1) → revoltech  –  05:36:00 2024-10-31

ahamai>> Складывается впечатление, что idec это пример плохого проектирования.
revoltech> На это я пытался намекнуть чуть ли не с первого дня появления здесь.

Но ты всё ещё здесь. В интернете кто-т неправ? Или что?

ahamai>> MSGID? по логике вроде бы да.
revoltech> Нет, в msgid тоже двоеточий быть не может. И длина должна быть 20 символов.

ahamai просто не помнит свой же стандарт. Надеюсь, у него всё хорошо.

revoltech> Но в целом согласен, текущий формат слайсов какой-то недоработанный. Не то чтобы его сложно реализовать, но задачи экономить трафик при запросе большого количества эх он действительно не решает.

Ну да. Вместо выкачивания сотен килобайт мы выкачиваем сотни байт. Никакой экономии!

В общем, обсуждение не имеет смысла. По делу все высказались, рассуждения не по делу не имеют смысла.

>> Читать далее
#  Re: Разбор idec
Andrew Lobanov (tavern,1) → ahamai  –  05:36:00 2024-10-31

ahamai> Можно хоть xml регекспами парсить. Я спрашиваю зачем добавлять в список эх что то ещё, делать проверки которые можно было не делать, терять в прозрачности, если всё это можно было сделать кучей способов, каждый из которых лучше. Какую проблему решили добавив неэховую инфу в /u/e?

Проблему длинных индексов. Всё максимально прозрачно и понятно. Использование разных по смыслу значений в роутерах это нормальная практика. Посмотри хоть на ii. У тебя /u/e -- часть пути, которая определяет функционал. А параметры у неё что? Тоже часть пути. Зачем ты сделал эту неоднозначность?

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
#  Re: Дополнения к стандарту
shaos (spnet, 2) → revoltech  –  05:45:55 2024-10-31

ну разве что если /x/e/...
#  Re: Разбор idec
shaos (spnet, 2) → Andrew Lobanov  –  05:42:36 2024-10-31

> Это знает только автор. И то вряд ли вспомнит.

Да там всё в коде - читай нехочу, но только без поллитры в этих регекспах не разрбраться (мне):


for ($i = 0; $i < count ($string); ++$i) {
$string[$i] = preg_replace("/([^\w\/])(www\.[a-z0-9\-]+\.[a-z0-9\-]+)/i", "$1http://$2",$string[$i]);
$string[$i] = preg_replace("/([\w]+:\/\/[\w\-?&;%#~=\.\/\@]+[\w\/])/i","<a target=\"_blank\" href=\"$1\">$1</a>",$string[$i]);
$string[$i] = preg_replace("/([\w\-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i","<a href=\"mailto:$1\">$1</a>",$string[$i]);
$echo_check = preg_replace("/(.*)\<a target=\"_blank\" href=\"ii:\/\/(.+?)\"\>(.+?)\<\/a\>(.*)/", "$2", $string[$i]);
if ($access->checkEcho($echo_check)) {
$string[$i] = preg_replace("/target=\"_blank\" href=\"ii:\/\/(.+?)\"/s", "class=\"iilink\" href=\"?echo=$1\"", $string[$i]);
} else {
$string[$i] = preg_replace("/target=\"_blank\" href=\"ii:\/\/(.+?)\"/s", "class=\"iilink\" href=\"?msgid=$1\"", $string[$i]);
}


>> Читать далее
Powered by iii-php v0.11