Pages: 1 2
Re: А уже 2019 на дворе
vit01(mira, 1) — Andrew Lobanov
2019-01-24 18:41:22


vit01>> Клиент занимается парсингом цитат, блоков кода, подсветки и так далее. Построчно, на регулярных выражениях. И не забывай, что sqlite не очень шустрый, особенно на мобилках. Чтобы грузить все сообщения мгновенно, придётся грузить их все фоном в ОЗУ (потребление вырастет очень сильно), и для сообщений каждое в мегабайт 20-30 обход регулярными выражениями - вещь крайне печальная. CutieFeed делает синхронные запросы в базу, а IDEC Mobile - заранее, опережая пользователя на одно сообщение. Но, тем не менее, репарсинг и рендеринг в HTML заставляет и его на больших сообщениях подтормаживать.
vit01>> Насчёт урона тысячи сообщений по десятку байт. Больше опасаюсь, что спамеры будут слать тысячи сообщений по десятку мегабайт, а не байт.

AL> Парсинг штука тяжёлая, но зачем обходить текст построчно, если рендеришь регулярками и в html?

Цитаты съедаются регулярками, а вот блоки кода и превьюшки для режима чтения, где цитирование съедается - построчно.

Кстати, этот алгоритм я у тебя позаимствовал откуда-то

vit01>> Просто если я вижу, что клиент начал скачивать 10 000 сообщений, то сразу же могу прибить клиент (отказаться от получения), потому что знаю, что каждое из этих сообщений не превышает 64 килобайта. Если приходит 100 сообщений каждое размером до 10-20 мегабайт, то ты плохо понимаешь, что там внутри. И обнаруживаешь, что клиент жрёт гигабайты трафика, уже ПОСЛЕ того, как эти сообщения скачал. Это утеря контроля пользователя над своим трафиком и над своими ресурсами.

AL> Это гипотетические рассуждения или ты действительно ловил такой спам?

Насчёт 10 000 сообщений это было тогда, когда по невнимательности я решил скачать содержимое всех эх целиком.

А так да, гипотетически. Ведь если дать возможность юзерам лепить огромные сообщения, то ей обязательно будут пользоваться. Кто-нибудь возьмёт и решит, что это невероятно прикольно взять 5-мегабайтную картинку, закодировать её в base64 и прилепить к своему сообщению. И всем остальным потом это скачивать (особенно через мобильный интернет).


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

Спам - это всегда человеческий фактор. Когда нас здесь 5 человек, мы можем развлекаться как хотим и не задумываться о том, к чему это может привести.

Вот я сейчас написал выше про картинки в base64 и наверняка отпугнул людей от того, чтобы проделать такое в реале :)

Поэтому смысла особого нет, но вместо этого можно провести стресс-тест на тестовой ноде.


AL> Реальной пользы от этого ограничения нет. Только теоретическая.

Лимит какой-нибудь всё равно должен быть. Какое-то разумное, но при этом конечное число.

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

Re: А уже 2019 на дворе
Andrew Lobanov(tavern,1) — vit01
2019-02-27 09:56:54


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

С одной стороны, конечно, если отказываться от фэх и фреков, то это опять ломать софт на куче станций. Зато будем иметь более элегантное архитектурное решение. К тому же можно переходить на это плавно, так как оно не ломает совместимость с ii и с idec.

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

Re: А уже 2019 на дворе
Difrex(dynamic,1) — Andrew Lobanov
2019-02-27 11:19:19


Звучит интересно!

Если это лучше, чем фэхи, то я запилю у себя реализацию.

Re: А уже 2019 на дворе
Difrex(dynamic,1) — Andrew Lobanov
2019-02-28 07:25:49


AL> Тут Пётр предложил идейку, которая позволит прилеплять дополнительные данные к сообщениям. Так станут ненужными ни фэхи ни фреки. Я пока в свободное время, коего очень немного, попиливаю концепт этого дела. Как будет что показать, выложу на поиграться в свободный доступ.
Кстати, а может озвучишь идейку саму? :)

+++ At work. idec.el/0.1

Re: А уже 2019 на дворе
Andrew Lobanov(tavern,1) — Difrex
2019-02-28 09:06:55


AL>> Тут Пётр предложил идейку, которая позволит прилеплять дополнительные данные к сообщениям. Так станут ненужными ни фэхи ни фреки. Я пока в свободное время, коего очень немного, попиливаю концепт этого дела. Как будет что показать, выложу на поиграться в свободный доступ.
Difrex> Кстати, а может озвучишь идейку саму? :)

Да чего ж не озвучить?

У нас в сообщениях есть теги. И мы их используем только для хранения repto. Можно добавить туда некую метку, например "xdata".

Фетчер тоссит сообщение, видит метку и добавляет msgid в список сообщений с дополнительными данными. После того, как растоссил, передаёт айдишники в какую-нить схему типа x/d/<msgids>.

Нода на запрос возвращает что-нить типа:

<msgid>:<type>:<data>

Например

gkCo68TG1nrIXrgMklUN:filename:image.jpg
gkCo68TG1nrIXrgMklUN:image:<base64 картинки>

Тоссер это всё скачивает, распаковывает и сохраняет.

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

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

Pages: 1 2