Re: Дополнения к стандарту
hugeping> Например, в данном случае, в один запрос запиханы разные лимиты слайсов для разных эх. Зачем?
Чтобы не качать лишнее.
hugeping> Видимо, предполагается что "умный" админ будет настраивать фетч таким образом под станцию, что задаст разные лимиты для эх разной наполненности? Зачем этот ужас? Придумайте, как в реальности вы будете это использовать?
В реальности — точно так же, как и твой адаптивный фетч сейчас это делает, только без необходимости предварительно мурыжить каждую эху отдельно.
hugeping> По 16 msgid забирать чистоплюство не позволяет?
Накладные расходы не позволяют. Когда станция тормозит, это особо заметно.
Сейчас у меня в stations.txt напротив каждой ноды стоит число. Если непонятно, сколько сообщений нода позволяет забрать за раз, ставлю 12, ибо это случай с tgi и его ограничением 256 символов на гет. Андрей не озвучивал ограничение spline-online, поэтому там тоже стоит 12, и делать полный перефетч — это боль с такой-то скоростью отдачи. А бывает, что надо. Например, когда я внутренний формат базы поменял, добавив поле.
hugeping> Моё мнение -- надо замораживать вариант драфта Андрея.
Я-то не против, просто предлагаю вещи, которые облегчат жизнь, пока не поздно.
revoltech to hugeping (2024-10-31 09:09:58)
[
ссылка]
Re: Дополнения к стандарту
AL> Зачем? Усложнение ради усложнения? Так IDEC не про это, а про дубовую простоту.
Это как раз и было бы про дубовую простоту парсинга. Ключ-значение. Всё однозначно.
revoltech to Andrew Lobanov (2024-10-31 09:02:02)
[
ссылка]
Re: Дополнения к стандарту
AL> Не вижу в нём смысла.
Как клиенту понять, сколько сообщений максимум можно забрать за один запрос?
revoltech to Andrew Lobanov (2024-10-31 08:58:34)
[
ссылка]
Re: Разбор idec
shaos> Неа - опять не сработало…
Возможно, потому что в сообщении нет последнего перевода строки ( см:
http://shaos.net:8085/ii-point.php?q=/m/DpizUAp7CfgxVznSUul4 )
Только можно тестировать это в другой теме, пожалуйста? :)
P.S. Edited: 2024-10-31 08:53:11
hugeping to shaos (2024-10-31 08:53:04)
[
ссылка]
Re: Разбор idec
Неа - опять не сработало…
shaos to shaos (2024-10-31 08:36:43)
[
ссылка]
Re: Разбор idec
Вот почему в предыдущем сообщении оно только на последний ==== среагировало? Пустую строку надо до?
again?
shaos to shaos (2024-10-31 08:36:19)
[
ссылка]
Re: Разбор idec
Нету пробелов после ====
Он просто иногда работает, но чаще не работает
here?
shaos to Andrew Lobanov (2024-10-31 08:33:59)
[
ссылка]
Re: Разбор idec
Ну проблему нелогичности решает, на которую некоторые указывают :)
shaos to Andrew Lobanov (2024-10-31 08:24:28)
[
ссылка]
Re: Дополнения к стандарту
revoltech> Предлагаю ввести общий слайсинг вида «ключ-значение», в котором вместо диапазона можно писать all или же msgid (в таком случае берётся содержимое эхо от него):
revoltech> /u/e/echo.1/all/echo.2/some_msgid_blablabla/echo.3/-10:10
Зачем? Усложнение ради усложнения? Так IDEC не про это, а про дубовую простоту.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to revoltech (2024-10-31 07:52:21)
[
ссылка]
Re: Разбор idec
shaos> ну IDEC клиентов и серверов наклепали за 10 лет некоторое количество, поэтому и /u/e/echo.1/echo.2/echo.3 и /u/e/echo.1/echo.2/echo.3/-10:10 должны продолжать работать, а я предлагаю раширение, которое исправит последнюю претензию, что слайс распространяется на каждую эху из списка - будет возможность задавать разные слайсы на разные наборы эх в пределах одного запроса - чем плохо то? ;)
Тем, что не решает никаких проблем :)
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to shaos (2024-10-31 07:52:21)
[
ссылка]
Re: Дополнения к стандарту
shaos>> ну разве что если /x/e/...
revoltech> Да пофигу, раз упростить алгоритмически всё равно ничего не получится, пусть будет так, как есть. Меня больше про /u/mc вопрос интересует.
Не вижу в нём смысла.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to revoltech (2024-10-31 07:52:21)
[
ссылка]
Re: Разбор idec
ahamai> Кстати, если в срезе будет точка, то старый софт будет считать это не как неккорректный msgid, а как пустую эху и и игнорировать её
Ты хочешь в срезе получить нецелое количество сообщений? Зачем тебе точка в срезе? Типа, -12.5:12.5?
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to ahamai (2024-10-31 07:52:21)
[
ссылка]
Re: Дополнения к стандарту
shaos>> насколько длинный урл можно скормить вебсерверу это настройка вебсервера - сама нода может про это и не знать
revoltech> Но её админ должен об этом знать. И выставить в урлу /u/mc. Иначе при перефетче придётся брутфорсить на стороне клиента: ага, 10000 айдишников — отлуп, 1000 айдишников — отлуп, 500 — отлуп, 389 — норм... Запишем, что в этой станции 389.
А зачем?
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to revoltech (2024-10-31 07:52:21)
[
ссылка]
Re: Разбор idec
AL>> И это ломает поддержку стандарта.
revoltech> Ладно. Ломает, так ломает, будем контекстозависимые парсеры городить. А что насчёт /u/mc?
Ненужная вещь.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to revoltech (2024-10-31 07:52:20)
[
ссылка]
Re: Разбор idec
>> Это знает только автор. И то вряд ли вспомнит.
Да там всё в коде - читай нехочу, но только без поллитры в этих регекспах не разрбраться (мне):
if (preg_match("/^====$/", $string[$i])) {
if (!$pre_flag) {
$pre_flag = true;
$string[$i] = preg_replace("/====/", "====", $string[$i]);
} else {
$pre_flag = false;
$string[$i] = preg_replace("/====/", "====", $string[$i]);
}
}
А что тут разбираться? Может, кто-то пихает пробелы после ====? Ну так надо просто им напихать в панамку за это.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to shaos (2024-10-31 07:52:20)
[
ссылка]
Re: Разбор idec
>> Что может быть проще? Грамматики? Конечные автоматы?
shaos> Мне проще на сях - перебираем строку посимвольно и делаём чо хотим...
Как только начинаем писать что-то сложнее поиска подстроки, код на Си превращается в чан доширака. Регулярки надо осилить один раз и потом кратко и лаконично описывать желаемое.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to shaos (2024-10-31 07:52:20)
[
ссылка]
Re: Дополнения к стандарту
Я тут несколько дней сдерживаюсь. К тому же, довольно сильно приболел.
Но сдерживаться мне всё тяжелее конечно...
Понимаю, что меня не воспримут, всё-таки напишу.
Подумайте, что за задачи вы решаете?
Например, в данном случае, в один запрос запиханы разные лимиты слайсов для разных эх. Зачем?
Видимо, предполагается что "умный" админ будет настраивать фетч таким образом под станцию, что задаст разные лимиты для эх разной наполненности? Зачем этот ужас? Придумайте, как в реальности вы будете это использовать?
Потом, Рома трясёт своим ?sf=hash - как замену слайсов. На самом деле этот sf=hash при своей красоте, всё-таки, хуже слайсов. Во первых, даже с хешем надо делать запрос внахлёст с запасом (не забываем про то, что порядок сообщений на ноде может не совпадать с нашим) и нам все равно придётся самим на своей станции находить n сообщение от конца в эхе и брать затем его хеш чтобы сформировать запрос. Те же слайсы, вид сбоку. Ну и во-вторых, sf решает одну конкретную задачу, а слайсы - универсальны. Слайсы делают возможным адаптивный фетч и онлайн просмотр.
Потом постоянные намёки на то, что нам нужно обязательно забрать всё одним запросом. Причём, неявно подразумевается что это благая цель которую все разделяют... ЗАЧЕМ?? У меня фетчер вообще забирает по 12 кажется msgid за раз, но он, наверное, самый быстрый из всех реализаций что я видел. Можете скачать ii-go и сделать полное клонирование моей станции и написать, сколько это заняло времени.
Про ограничение на запрос. В лучшем случае в стандарт можно добавить рекомендацию про 8кб "стандарт" запроса, который в большинстве случаев совпадает с фактическим положением дел. Но расширение, которое будет показывать этот параметр, который вообще говоря доступен только веб серверу? Сами же простоту и элегантность хотите, нет? По 16 msgid забирать чистоплюство не позволяет? Значит, страдайте! :)
В общем, попытки решить какие-то несуществующие проблемы и навязать какие-то свои оценки. Чего я боялся, то и происходит. Лебедь рак и щука.
Моё мнение -- надо замораживать вариант драфта Андрея. А дальше, пилить альтернативный стандарт - если он будет хорош - ну значит его поддержит. Кто-то. Но в таком хаосе и горячке я точно не участник. Мне не нравится русло в которое все свернуло. Но это - неизбежно. Поэтому коммьюнити не будет. Никогда.
hugeping to revoltech (2024-10-31 07:40:58)
[
ссылка]
Re: Разбор idec
> ahamai просто не помнит свой же стандарт. Надеюсь, у него всё хорошо.
В бандле только эхи и msgid. Эхи с точками, всё осталное msgid. Если там что то ещё, падай а не игнорируй
ahamai to Andrew Lobanov (2024-10-31 07:03:49)
[
ссылка]
Re: Дополнения к стандарту
> Но её админ должен об этом знать.
Ну я например не знал пока не загуглил :)
Потом пришлось свой анализатор логов переписывать, чтобы строки длинне 8К принимал ;)
shaos to revoltech (2024-10-31 06:12:07)
[
ссылка]
Re: Дополнения к стандарту
shaos> насколько длинный урл можно скормить вебсерверу это настройка вебсервера - сама нода может про это и не знать
Но её админ должен об этом знать. И выставить в урлу /u/mc. Иначе при перефетче придётся брутфорсить на стороне клиента: ага, 10000 айдишников — отлуп, 1000 айдишников — отлуп, 500 — отлуп, 389 — норм... Запишем, что в этой станции 389.
revoltech to shaos (2024-10-31 06:05:06)
[
ссылка]
Re: Дополнения к стандарту
насколько длинный урл можно скормить вебсерверу это настройка вебсервера - сама нода может про это и не знать
shaos to revoltech (2024-10-31 05:57:34)
[
ссылка]
Re: Разбор idec
> Что может быть проще? Грамматики? Конечные автоматы?
Мне проще на сях - перебираем строку посимвольно и делаём чо хотим...
shaos to Andrew Lobanov (2024-10-31 05:53:59)
[
ссылка]
Re: Дополнения к стандарту
shaos> ну разве что если /x/e/...
Да пофигу, раз упростить алгоритмически всё равно ничего не получится, пусть будет так, как есть. Меня больше про /u/mc вопрос интересует.
revoltech to shaos (2024-10-31 05:48:09)
[
ссылка]
Re: Дополнения к стандарту
ну разве что если /x/e/...
shaos to revoltech (2024-10-31 05:45:55)
[
ссылка]
Re: Разбор idec
Кстати, если в срезе будет точка, то старый софт будет считать это не как неккорректный msgid, а как пустую эху и и игнорировать её
ahamai to shaos (2024-10-31 05:43:47)
[
ссылка]
Re: Разбор idec
> Это знает только автор. И то вряд ли вспомнит.
Да там всё в коде - читай нехочу, но только без поллитры в этих регекспах не разрбраться (мне):
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","$1",$string[$i]);
$string[$i] = preg_replace("/([\w\-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i","$1",$string[$i]);
$echo_check = preg_replace("/(.*)\(.+?)\<\/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]);
}
if (preg_match("/^====$/", $string[$i])) {
if (!$pre_flag) {
$pre_flag = true;
$string[$i] = preg_replace("/====/", "====", $string[$i]);
} else {
$pre_flag = false;
$string[$i] = preg_replace("/====/", "====", $string[$i]);
}
}
if(!$pre_flag && preg_match("/^\s?[a-zA-Zа-яА-Я0-9_\-]{0,20}(>)+.+$/i", $string[$i])) {
$string[$i]="".$string[$i]."";
}
if(!$pre_flag) {
$string[$i]=preg_replace("/(^|\s+)(PS|P\.S|ЗЫ|З\.Ы|\/\/|#).+$/i", "", $string[$i]);
}
}
if ($pre_flag) $string[count($string) - 1] .= "";
shaos to Andrew Lobanov (2024-10-31 05:42:36)
[
ссылка]
Re: Разбор idec
shaos> чем плохо то? ;)
Это не ко мне вопрос.
revoltech to shaos (2024-10-31 05:42:33)
[
ссылка]
Re: Разбор idec
ну IDEC клиентов и серверов наклепали за 10 лет некоторое количество, поэтому и /u/e/echo.1/echo.2/echo.3 и /u/e/echo.1/echo.2/echo.3/-10:10 должны продолжать работать, а я предлагаю раширение, которое исправит последнюю претензию, что слайс распространяется на каждую эху из списка - будет возможность задавать разные слайсы на разные наборы эх в пределах одного запроса - чем плохо то? ;)
shaos to revoltech (2024-10-31 05:40:50)
[
ссылка]
Re: Разбор idec
ahamai> Можно хоть xml регекспами парсить. Я спрашиваю зачем добавлять в список эх что то ещё, делать проверки которые можно было не делать, терять в прозрачности, если всё это можно было сделать кучей способов, каждый из которых лучше. Какую проблему решили добавив неэховую инфу в /u/e?
Проблему длинных индексов. Всё максимально прозрачно и понятно. Использование разных по смыслу значений в роутерах это нормальная практика. Посмотри хоть на ii. У тебя /u/e -- часть пути, которая определяет функционал. А параметры у неё что? Тоже часть пути. Зачем ты сделал эту неоднозначность?
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to ahamai (2024-10-31 05:36:00)
[
ссылка]
Re: Разбор idec
ahamai>> Складывается впечатление, что idec это пример плохого проектирования.
revoltech> На это я пытался намекнуть чуть ли не с первого дня появления здесь.
Но ты всё ещё здесь. В интернете кто-т неправ? Или что?
ahamai>> MSGID? по логике вроде бы да.
revoltech> Нет, в msgid тоже двоеточий быть не может. И длина должна быть 20 символов.
ahamai просто не помнит свой же стандарт. Надеюсь, у него всё хорошо.
revoltech> Но в целом согласен, текущий формат слайсов какой-то недоработанный. Не то чтобы его сложно реализовать, но задачи экономить трафик при запросе большого количества эх он действительно не решает.
Ну да. Вместо выкачивания сотен килобайт мы выкачиваем сотни байт. Никакой экономии!
В общем, обсуждение не имеет смысла. По делу все высказались, рассуждения не по делу не имеют смысла.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov to revoltech (2024-10-31 05:36:00)
[
ссылка]