KoMaTo3
KoMaTo3
Рейтинг:
140.820 за неделю
Постов: 10
Комментов: 1940
C нами с: 2011-09-09

Посты пользователя KoMaTo3

Всех с воскресеньем.
Он воскрес, воистину воскрес https://joy.komato3.net/
*Благодарствую нашему сотоварищу, что предложил оплатить сервер, но таки хз сколько всё это продлится, я решил не мучить никого*
Оформил таки сервер, второй день не сплю (ну 3 часа не сон, у меня ещё и переезд, ремонт, ахтунг полный) переношу (спойлер: перенёс) все дела.
По секретной информации у этого хостера не стоит *зацензурено*-оборудования и он не блокирует запросы на закрытые ресурсы, что не может не радовать.
Из плохих новостей... Взял сервер 3.6Ггц 6 ядер, но что-то производительности не ощущается. Пока собирал бинарники по старому, видимо, нужно подкрутить, но сейчас голова уже не варит. Замеры показали, что поиск вместо 0.03с теперь выдаёт 0.5с, некисло так, в 10 раз замедлилось. В целом, не критично, думаю. Зато запас по памяти теперь огромный. Если раньше в 4Гб укладывался точь-в-точь, то теперь 8Гб - разгуляться. По трафику - анлим, но ограничение по скорости 100Мбит. Ну тут не критично точно, километровые гифки грузятся по ощущению почти мгновенно.
Последняя неделя постов пока выпала из индекса, чуть позже переиндексирую.
Второй мой сервер, что отвечает за поддомены, отвалится в 20х числах мая. Если кто имеет знания по NS-серверам, напишите, пожалуйста, в личку, у меня нехватает понимания, могу ли я организовать свой NS-сервер для СУБ-доменов (чтобы в настройках домена указать этот NS-сервер для резольва), или же этим может рулить только хостер и те, кто выше. Для своего VPN я могу это настроить, но возможно ли это заставить работать глобально?

По поводу всяких API-запросов. Кто-что мутит/хочет замутить, пишите в личку, обсудим ТЗ, запилю не вопрос, в посте комментариями не очень удобно обсуждать ибо затеряется и забудется.

На этом всё. Спасибо вам за поддержку, баянометр в строю, постим, смотрим, *не*баяним, проверяем. Всем хорошего настроя и, наконец-то, наступившей весны!
Доброго (не очень) воскресенья, господа. Мой баянометр на данный момент недоступен, ибо хостил я его на голландском сервере именуемом scaleway. Всем он был удобный, но косяк с оплатой он не потерпел в связи с текущей обстановкой и... ну чо и, рубанул рубильник. В ближайшее время попробую переползти на что-то другое, где рублесы принимают. У меня вопрос к вам, господам. Я вижу, что поисковиком моим пользуются, но не факт что руками, а как-то скриптово по большей части. *Новая строка*

Новый сервер таки оформлю, это факт, не знаю ещё, как оно в наших реалиях будет работать. Вопрос-не-вопрос, надо оно (*в скобочках* - мой сервис поиска) или нет, может и не нужно оно никому? Этот весь поиск картинок чисто мой пет-проект, было интересно в этом разобраться и уложиться в минимум требований: 4гб оперативы (с учётом что под 50% жрёт система), и ограничение по количеству ядер, чем больше, тем лучше, тем, блин, дороже.

Потерял тут мысль... в общем, в ближайшее время сервис будет недоступен. База вся в наличии, все бэкапы есть, развернусь как смогу.

Спасибо всем, кто реально пользовался, надеюсь, всё наладится.

Graphql

Переделываю парсер под Graphql, возникла нехватка такого функционала, как получить информацию сразу по нескольким постам.
node(id: base64_encode('Post:ИдПоста')...) возвращает один пост. Может, не до конца вкуриваю в graphql, но как понимаю, этим функционалом не запросить посты по нескольким id.
Это создаёт проблему проверки уже размещённых постов на факт изменений. Проблему во времени. Даже вкупе с http://joyreactor.cc/api/changedPosts возникает необходимость парсить (ну как минимум делать запрос на данные поста) аж 300 постов, размещённых за последние сутки. Причём, вроде как, посты могут редактироваться и более, чем через сутки после размещения. Прибавляя время на хеширование картинок и пересоздание индекса получается обновление вместо старых добрых 5 минут - минут 20-30. При этом, не факт, что меняется картинка у поста. В итоге производится куча бесполезных graphql-запросов.
Возможен ли допил api для получения нескольких постов по id? Или же дальше биться с авторизацией?
Всех с воскресеньем.

Продолжаю таки работу над баянометрозаменителем и после возрождения основного, и, судя по логам, кто-то им даже пользуется. Мне кажется, хоть какая-то от этого польза да есть, ибо хеши мы (сравниваю с детищем сотоварища ExtraDJ) используем разные, картинки обрабатываются по разному, баяны от этого ищутся немного по разному, тем самым дополняя друг друга. За месяц+ работал более-менее стабильно, нестабильности излечивал как только замечал (пару дней назад внезапно демон-поисковик+хешер+парсер+несколько фоновых процессов внезапно упёрлись в, смешно сказать, 2Гб памяти, перенёс всё это дело на сервер получше).

Спасибо всем тем, кто делал багрепорты, писал в личку и т.п., это сильно помогает подкорректировать как поиск, так и общую юзабельность сервиса. Поиск гифок сильно переделал за это время, теперь считается процентное соотношение как длительности гифки, так и процент соответствия всех захешированных кадров, стало гораздо меньше трэша вылазить, причём гифки ищутся с бОльшим разбросом по дистанции Хемминга, чем обычные картинки, это позволяет найти немного искаженные гифки, но может и сюрпризов выдать. Некоторые картинки по прежнему выдают лютейшую дичь, это особенность хеширования, попробую победить альтернативным хешем, т.е. помимо текущего хеша сейчас вычисляется альтернативный (идея такова, что если взять дистанции сравнения побольше, но прогнать картинку через разные хеши, результат должен быть более объективен. Опять таки, я не математик, а экспериментатор, в профите пока не уверен, но попробовать точно стоит, руки за это пока ещё не рубят), это пока в процессе разработки. И минусом ко всему этому - зааплоденные гифки режутся до 30 кадров, это может весьма влиять на качество поиска, но и позволяет избежать абуза загрузкой дохуя длинных гифок. Тут, думаю, для особо терпеливых и настойчивых добавить опцию на проверку бОльшего числа кадров, но считайте сами, каждый кадр по времени равен проверке одной любой картинки, время поиска растёт линейно.

Плюс наткнулся на один неприятный баг в парсере html/json, из-за этого говна немалая часть постов не попала в базу (в основном, фендомы), пофиксил, перехешируется, ждёмс. Дабы не травмировать мою нежную психику завёл аккаунт-парсер, подписанный на ваши любимые жесть-кровь-кишки-йифф-гуро-лоли-ад, всё это потихоньку пишется в индекс, отчего появился тумблер SFW/NSFW. Здесь прошу помощи, не очень понятна логика работы. Сейчас у меня фильтр такой, что под NSFW попадают такие теги, как Anime Ero Cosplay, art барышня/девушка, ecchi, Faphammer, furotica, Hard Bondage, oglaf (хотя и есть у Оглафа SFW серии), r34, секретные разделы... тут ибанёшься их все перечислять, вбивал в базу вручную на своём опыте и периодически пополняю. Вопрос, есть какой-то более адекватный способ отличить sfw от nsfw? Или есть где список этих тегов? Ну и, естественно, кто теги не проставил, их посты вылазиют вне зависимости от тумблера.

Добавил также проверку на редактирование постов: изменил картинки, добавил хайрез, скорректировал теги - пост обновляется в базе/перехешируется. Одно но - автоматическое обновление происходит в последних 100 постах (10 страницах), все более старые посты - обновляются в базе сильно реже.

Есть переработки в интерфейсе, сейчас _весьма_ не юзабельно при большой выдаче, пока в dev-версии допиливаю, выложу на неделе, но это так, не самое важное в баянометре. Добавил обновлятор токена, теперь не должно (ну или сильно реже) ругаться на проблему загрузки картинок. Добавил вывод разрешения изображения, НО, это пока работает на клиентской стороне (браузер качает картинку, скрипт выдаёт размер как только картинку загрузил ваш браузер, соответственно, это ВАШ трафик, в настройке есть предупреждение если вас это беспокоит).

Есть ещё несколько мыслей по доработке интерфейса (не только моих, спасибо товарищам по переписке), + скорректировать под мобилы, это пока на совсем свободное время.

Ещё вопрос, тег "удалённое". Демон-поисковик в любом случае сравнивает ВСЕ хеши всех постов, абсолютно безусловный поиск, линейный, как современные шутеры. Демон выдаёт набор постов, web-бэкенд далее фильтрует это всё по тегам, и тут можно отбросить ненужное. Думаю сделать в настройках галочку что-то типа "пропускать удалённое" или вроде того, это нужно? Если это монопенисуально, то заморачиваться не буду. Если есть какие предложения - всенепременно учту.

Здесь обращаюсь к Вождю: если текущая работа моей поделки устраивает, возможно добавить ссылку на неё на сайт (окромя ссылки в разделе http://joyreactor.cc/tag/баянометр )? ИМХО баянометры с разными хешами имеют право на жизнь. Дело бросать пока не вижу смысла ибо это весьма и весьма занимательно лично для меня и есть богатое поля для изысканий (хочу переписать линейный поиск на BK-tree, хотя, есть сомнения, что ~20-30% прироста скорости того стоят), сервер особо денег не ест (два нормальных пива в баре в месяц), работает стабильно (теперь да, ресурсов достаточно).

Если всё плохо, похуистично, или есть конструктивные предложения - с нетерпением жду в комментариях.
Всех с воскресеньем.
Пока основной баянометр в разработке заделал небольшой такой заменитель http://joy.komato3.net/
Сканирует апрувнутые посты 2 раза в минуту (надеюсь, не буду за это забанен).
Немного умеет в гифки, но это пока сильно эксперементально. Гифки бьются по 2 кадра в секунду и этот хеш идёт в базу.
Любителям поковыряться в JS-коде и прочей диагностике - найдёте API-запросы на странице, пожалуйста, не переусердствуйте.
Текущий интерфейс люто не дружелюбен: ограничен на загрузку 10 файлов одновременно, но в силу неких ограничений может туповато работать, так что не брезгуйте F5, и в целом выглядит как для роботов. Порой nginx может послать Вас нахуй за частоту запросов, такие дела.
У поиска есть не мнимая возможность найти лютейшее говно или не найти ничего, для этого есть кнопка "Bullshit" справа, создаёт некий реквест с копией вашей картинки. Поковыряюсь в алгоритмах поиска и хеширования, но не злоупотребляйте, пожалуйста.
В остальном, прошу потестить - есть ли смысл во всём этом?
Скрыто постов: 5