Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Это незнакомая аббревиатура, которая заставляет искать перевод термина и помнить его значение на протяжении всей статьи.

UB - является устоявшимся термином и его перевод на русский является скорее нежелательным

Тогда будет ддос сервера. Почему на каждом первом сайте мы не видим сразу весь контент, а только первые 10? Все всегда пагинируется (кроме комментариев на Хабре) с помощью перехода на новые страницы или автоскролл.

Когда я сказал 10 комментаторов — я имел ввиду лимит 10 и страница 1, лимит 10 страница 2, лимит…

И естественно, ты можешь сделать так, чтобы возвращались вообще все, это от данных не зависит (это борьба с большими запросами, любая пагинация, что на ресте, что на графе).

Лимит влияет на «сложность» в запросе, если это реализовано(в моей библиотеке на это можно савиь разные правила). Если не стоит сложность на пагинации, то, по крайней мере, за каждый вложенный объект клиент будет «платить» и в итоге не сможет сделать супер сложный, тяжелый запрос т.к. не хватит лимита сложности (ты сам его указываешь, 1, 10, 100000...)

P.S. просчет сложности запроса не ест ресурсов т.к. это делается во время парсинга запроса и до его исполнения (распарсить строку запроса сильно сложнее, чем 2+2*2).

Ну почему? Предположим, у комментатора 2 поля — это имя(1 очко) и друзья(2 очка). У друга тоже 2 поля — имя(1 очко) и имя компании (3 очка). Эти характеристики просто настройка приложения (гипер параметры). Я запросил у сервера, что я хочу получить список первых 10 комментаторов и первых каждого 5 друзей. В итоге на моменте парсинга запроса я делаю: считаю сколько стоит один комментатор и потом умножаю на его кол-во.


1 коментатор: (1(имя ком)+(2(друзья)+1(имя др)+3(имя компании))5(лимит кол-ва)) = 31 очко.
2) мне нужно первые 10 комментаторов: 31
10 = 310 очков.


Все, это считается автоматически и позволяет избежать супер тяжёлых запросов. В данном примере я максимум получу 50 сущностей. Тут даже нет дополнительных выделений памяти, простая математика 2-3го класса на целых числах — проц даже не заметит

На каждое поле объекта по умолчанию (в зависимости от реализации сервера) ставится 1 очко. Можно указать любое абстрактное значение на каждое поле. Затем их сумма будет умножена на кол-во объектов. На сервере ты ставишь абстрактный лимит(любое число, какое захотел) и сравнивается. Сколько будет а данном случае? Не знаю, N комментаторов * на кол-во друзей каждого. Как посчитать стоимость объекта — ты уже знаешь

в концепции graphQL есть концепция — сложность запроса. На каждое поле ставится «магический» коэффициент, который говорит, что для данного поля требуется «5 очков». Когда будет запрошено 10 таких полей сложность запроса будет уже 50 (5 * 10). В настройках приложения мы ставим, что наш лимит — 100 очков на запрос, в связи с чем клиент физически не сможет отправить слишком тяжелый запрос ( массива объектов, вес каждого — 50 очков т.к. в нем 10 полей по 5 очков)
честно — для меня не понятна претензия.
Я программирую на: JS, TS, GoLang, Python, Ruby, Java (последние 2 давно и мало) — только в TS(опционально) и в GoLang есть статические типы и объявление с типом и без него(на последних Java не работал, где появился var).
Код очень хорошо читается и нет никаких проблем с поиском описания функций. Почему так сильно бомбят с этого в Java мире? вон котлин при своем старте имел это как одна из главных фич и (вроде как) ему за это аплодировали
Собеседовал людей в офис(Москва) на вакансию frontend angular developer. Вилка шла от 100к… и самый базовый вопрос — чем отличается 2 вида сравнения (== vs ===) отвечали только ~60% кандидатов, а из них еще только половина знала, что они сравнивают ссылки, если это массив или объект ({} === {} => false). Я уже молчу, что не все вообще знали, что такое ангуляр… дефицит толковых людей сумасшедший.

Как по мне, то этих вот «самозванцев» даже в офис много (человек, претендующий на должность мидла не может не знать разницу в сравнениях, это база языка)
Кстати, очень интересно видеть вообще все резюме(как на hh.ru) для тех, кто не является компанией для того, что бы сравнить себя с другими. Вы можете скрыть контактные данные людей, что бы этим нельзя было воспользоваться в злонамеренных целях, но было бы классно видеть все открытые профили

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность