Порридж В Ко-ливинге
1 если ты гений
Dzianis
Yanis
Aleksandr
People in 2022 levels.fyi
People in 2023 layoffs.fyi
Вахтёр
@chemist\_academician молчит и покидает чат
Viktor
Viktor
по мотивам недавник срачей в твитере
Viktor
простите, но что-то орнул, как говорят 😄
Порридж В Ко-ливинге
По факту же. Коды по бокам читаются проще 🤣
Почти всегда лучше написать по больше и по тупее, чем коротко и умно, но чтоб след разраб нихрена не понял
Ilia
код по бокам сократить только, убрать первое условие в каждом иф и идеально :D
Dzianis
Там ещё если код справа будет работать под нагрузкой в горячем месте то v8 сможет оптимизировать) а вот функции по центру фиг (если в nodejs это засунуть 😁)
Ilia
звучит прям как спинофф гарри поттера: Джаваскрипт и высоконагруженные системы :D
Alex-k
Друзья, как называется кусок системы который умеет работать с рейт лиметером? Допустим мне надо дергать API и я точно знаю что могу не чаще чем Х в секунду. Как называется такая фиговина в сис дизе?
Alex-k
обратный рейт лимитр?
Viktor
Viktor
сервак у тебя в данном случае является клиентом АПИ?
Alex-k
Ilia
Viktor
вот и получается client-side. но вообще название плохое. потому то сразу про UI думаешь
Viktor
ещё по описанию напомнило вот это https://www.youtube.com/watch?v=E9XkLxxlxNE
Viktor
кажется похоже на проблему, которую ты описываешь
Порридж В Ко-ливинге
Я бы написал:
public static string GetPercentageRounds (double percentage) {
if (percentage < 0 || 1 < percentage) throw new Error("Wrong value");
const int filledRounds = min(floor(percentage * 10));
return string(filledRounds, '🔵') + string(10 - filledRounds, '⚪️');
}
Alex-k
throttling?
типа но кажется опять же слово не из сис дизайна
dexig
Dzianis
Alex-k
Alex-k
причем помому даже не плохо
Alex-k
но мне просто название проблемы нужно =)
Alex-k
Похоже правильные слова: Global Distributed Client Side Rate Limiting
Dzianis
Alex-k
Решить тоже надо
Alex-k
Но я ща подумал ... Может отдельный сервер. Который будет в отличие от всего жить одним инстансом. Перед ним очередь , лейтенси не важно
Alex-k
Поднимется если че в другом месте
Dzianis
dexig
обманываешь, был
Alex-k
Alex-k
Alex-k
желательно 2 раза
Viktor
Просто скажи that backendy thing, you know
Alex-k
чтобы все сразу сказали "наверное он cloud solution architect"
Viktor
Вахтёр
Sanober Noorani молчит и покидает чат
K
Мне надо будет сделать систему уведомлений (условно, была совершена транзакция, подтвердите) на вебсайте (без смс/почты И так далее) - посоветуйте мб есть какая дельная книга (или глава) по этой теме.
Alex-k
Viktor
K
Viktor
Viktor
систем-дизайн начался 😄
Alex-k
вообщем как я понял тз: есть магаз, делаешь заказ, экстеншен бибикает, человек подтверждает в экстеншене и потом бибикает клиент сайд и говорит "все ок, вот номер заказа, ждите"
K
Да, грубо говоря так, условно, я залогинился через публичный ключ, через экстеншен, мой публичный ключ он мой же логин, он мой же id.
Теперь в приложении происходит всякая бизнес логика, которая периодически требует моего внимания (сообщения, аппрувы И так далее)
Вот такую систему уведомлений и надо построить.
Viktor
звучит как message queue. куда с одной стороны влетают уведомления от пользователей разбитые по темам. с другой стороны их читают и решают что с этим делать.
K
Угу, вот, я потому тут и спросил, такая типичная задача на систем дизайн по сути. Хочу в целом разобраться какие есть варианты для себя. Может книги какие есть.
Viktor
Я вспомнил только Мишин видос https://www.youtube.com/watch?v=bBTPZ9NdSk8
Viktor
может кто-нибудь накидает ещё ссылок
Alex-k
Я бы книгу с кабанчиком взял, там есть глава про потоковую обработку. Это чуть более широкое, но базу должно заложить
Alex-k
Но если у тебя мелкий сайт, один инстанс и мало времени. Открыть вебсокет до клиента, замапить сокет к айди юзера. Когда что происходит кидать в веб сокет событие
Alex-k
или совсем просто, в базе делаешь таблицу нотификейшенс , кидаешь записи туда когда хочешь что-то показать юзеру, юзер забирает события с клиента каждые 30 секунд. Забранные удаляешь или помечаешь
Alex-k
но все это не оч скейлится
Alex-k
но зато возможно спасешь бюджет и проект
K
да, там проблема, что все это совсем не мелкое.
K
я думаю что по факту воткнут aws, какой-нить dynamodb (не факт и не могу пока аргументировать почему, просто как пример привел), но мне просто стало интересно в этом глубже разобраться, как оно вообще бывает
Alex-k
Serega
https://yandex.ru/yaintern/algorithm-training
Dzianis
как думаете, стоящие лекции для новичков у них?
Вы можете посмотреть, они доступны без регистрации и смс
(базово кажется вполне ничего, понятно не сделает без практики из вас Гену Короткевича, но для овервью и ознакомления с базой отличные)
https://www.youtube.com/watch?v=QLhqYNsPIVo&list=PL6Wui14DvQPySdPv5NUqV3i8sDbHkCKC5
Egor Serikov
Вот, спасибо, я как раз хотел услышать то что в комментах, потому что валидировать качество нужен достаточный уровень компетенций
Viktor