Закрыть
Yoku
Онлайн

Yoku

Колекционнер старого барахла и любитель аниме
Местоимения: он/его
Семейное положение: Не женат
Дата регистрации: 1 января 2021 в 04:24
Полит. взгляды: Индифферентные
День рождения: 23 июля 2006, 20 лет
Информация
Электронная почта: [email protected]
Telegram: @CallMeYoku
Город: Nowhereland

Интересы: Программирование, анимация, графика, ретроградство(В основном эпохи 80-х и начала 90-х), Unix-системы.
Любимая музыка: Super Eurobeat, Jungle/Drum'n Bass, J-Pop, Rock, VGM
Любимые фильмы: Затянувшийся кризис(Bubblegum Crisis), Initial D Third Stage, Трилогия "Назад в Будущее", Леда: Фантастичиские приключения Ёко
Любимые ТВ-шоу: Галилео, Initial D, MF Ghost
Любимые книги: C Programming Language от Ритчи Денниса
Любимые цитаты: "Иван Лоев - Повелитель Обоев" - где-то со старого стопгейма.
О себе: Простой чувак который увлекается техникой(часто старой), аниме(из 80х-90х) и программированием. Иногда занимаюсь спрайтовыми анимациями, балуюсь с необычными системами, и пытаюсь освоиться в программировании.
Подарки
5 подарков
Стена 78 записей Все
Панчлайн! У меня аллергия на тёмную тему впринципе, ибо от неё у меня сильнее устают глаза:) Какая ирония! Ладно, предлагаю на этой штуке закончить день, всем спокойной ночи!
Пожаловаться  |  Комментарии  |  Поделиться
Кстати! Внезапно в архивах шарился и таки даже документальное подтверждение нашёл! Это оказалось ОЧЕНЬ забавно:) Удачи найти кстати, это не трудно!
Кстати, я тут вспомнил смешную штуку! Короче, в районе 2020-2023 годов ко мне постоянно добавлялся в друзья Tinelix, и после ничего не писал. Откуда он взялся? Без понятия, какие мотивы были? 0 идей, общих серверов не было. О данной личности я тогда ВООБЩЕ ничего не знал. Просто раза 4 марш бросок в друзья в дискорде. В основном когда я ещё над анимациями работал. Что это было, не имею ни малейшего понятия, но очень смешно вспоминать после!
Пожаловаться  |  Комментарии (1)  |  Поделиться
Хм... Какой широкий выбор поиграть слушайте:)))
Пожаловаться  |  Комментарии (10)  |  Поделиться
Салют! Надо чем-то разбавлять боль о Норвегии, по этому... ...показываю боль новичка в области рисования!:D
(Ну и кривое тут всё...)
Пожаловаться  |  Комментарии (1)  |  Поделиться
Всем доброе утро! Как дела?
To english speakers Good mornin' out there!(I dunno about your time zone, sorry ;w;' Also hi, Cybxr Heavxn.) How are'ya doing?
Пожаловаться  |  Комментарии (3)  |  Поделиться
Я тут сейчас OpenVK(XYZ) и в целом... Ну вроде неплохо, правда картинки грузит так будто у меня 56k интернет! Я что в 2016 вернулся?! А можно не ТАКИМ образом?!
Пожаловаться  |  Комментарии  |  Поделиться
Кстати, я тут вспомнил смешную штуку! Короче, в районе 2020-2023 годов ко мне постоянно добавлялся в друзья Tinelix, и после ничего не писал. Откуда он взялся? Без понятия, какие мотивы были? 0 идей, общих серверов не было. О данной личности я тогда ВООБЩЕ ничего не знал. Просто раза 4 марш бросок в друзья в дискорде. В основном когда я ещё над анимациями работал. Что это было, не имею ни малейшего понятия, но очень смешно вспоминать после!
Пожаловаться  |  Комментарии  |  Поделиться (1)
Народ... ...можно вопросик? Всего... ...один.

Кто. Ответственнен. За уведомления?!

Для тех кто не понимает проблемы сейчас поясню со своей стороны который в вебе ВООБЩЕ ничего не понимает.

У нас клиент тупо делает каждые 10 секунд пулл запрос за уведомлением и когда получает ничего падает в ошибку, и после идёт по второму кругу.

И мы вроде как это всё в КЭШЕ КЛИЕНТА ХРАНИМ НЕ?! Ладно... ...а почему номер то 400, а не 200-204?

Может я ИДИОТ, не спорю. Но по моему это не так должно быть!

-Окей, умник. Критикуешь - предлагай.
-Предложу, правда распишу на языках D и CoffeeScript если вы не против. Хотя... ...а я вас и не спрашиваю! Что знаю, то и применяю!

Смотрите, я бы сделал так чтобы клиент отправлял запрос, а сервер принимал, но удерживал до тех пор пока не придёт уведомление, и выставляем таймаут в размере условно 25 секунд. Если ничего не пришло, делаем паузу и повторяем запрос. Если пришло событие то отправляем на клиент тот обновляет данные на странице.

А теперь перейдём к ПСЕВДОКОДУ.

Начнём с сервера:
/* Обработчик запросов */
void longPollHandler(HTTPServerRequest req, HTTPServerResponse res)
{
int userId = req.session["uid"].get!int;
auto deadline = Clock.currentTime() + 25.seconds; //Тайм-аут

while (Clock.currentTime() < deadline)
{
auto rows = db.query(
"SELECT id, text FROM notifications
WHERE user_id = ? AND is_read = 0
LIMIT 5", userId
);

if (!rows.empty)
{
res.writeJsonBody(["ok": true, "items": rows.toJson()]);
return;
}

sleep(2.seconds); //Вот наша пауза.
}

/* таймаут */
res.writeJsonBody(["ok": true, "items": []]);
}

И клиент:
poll = ->
$.ajax
url: '/api/notifications/poll'
method: 'POST'
timeout: 30000 # ВНИМАНИЕ! ЗНАЧЕНИЕ ДОЛЖНО БЫТЬ ВЫШЕ ЧЕМ НА СЕРВЕРЕ!

success: (data) ->
if data.items.length > 0
renderNotifications data.items
poll() # Переподключение

error: (xhr) ->
setTimeout poll, 5000

poll()


Не знаю что я тут нахимичел, но вроде это так должно выглядеть... ...я же сказал, я не то чтобы веб разработчик, я просто исходил из логики и возможностей. Критика - ПРИНИМАЕТСЯ! Но если она по делу.
Показать больше
Пожаловаться  |  Комментарии (10)  |  Поделиться
Красиво.

Спрашиваете что я сделал? До безумия просто! Выставил тему VKify и нажал на ссылку "Пополнить баланс"! А знаете, а может мне рубрику нахождения багов и недоработок OVK открыть?
Пожаловаться  |  Комментарии (3)  |  Поделиться
1 2 3 4 5 »