Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Позволь мне рассказать историю о зарождении легенды, которая началась 3000 лет назад. В то время я был там - залетный свидетель этого знаменательного события.
В один прекрасный день, один вкатыш задался вопросом, который мучил его уже долгое время - как в одну цифру вставить строку или функцию? Он обращался к совету, но никто не мог ему помочь, потому что по умолчанию, если присвоить цифре какое-то значение, то это значение будет присутствовать у всех цифр.
Собрались различные эксперты и начали обсуждать возможные варианты и способы решения этой проблемы. Но никакое предложение не приносило результатов, и совет стал отчаянно пытаться угодить вкатышу.
И тут, как из ниоткуда, на совет явился древний маг. Все замерли в ожидании, не зная, что ожидать от него. Растерянный совет переглядывался и пошел ко дну в безнадежных попытках решить задачу.
Но древний маг начал писать на черной доске непростительный код, который вызывал у всех присутствующих благоговейный трепет. Это был код, который никто не должен был видеть, и о котором не смели говорить.
Совет объявил, что подобный код никогда ранее не звучал в этом треде и не должен. Вскоре после этого маг покинул помещение, и вкатыша больше никто не видел.
Однако, со временем по всему интернету начали ходить слухи о древнем маге, который иногда посещает треды и карает тех, кто не знает сути, тех, кто не жаждет знания. И так появилась легенда.
Кстати, знает кто-нибудь, насколько готовый вит, чтобы тащить его с условным реактом в прод? Кто-нибудь уже прибегал к такому? С какой стороны трахнет?
Почему стандарт авторизации с JWT предполагает, что мы жолжны посылать токен в Authorization хедере, если подразумевается, что мы нигде в коде не должны хранить токен, мы же его никак иначае туда засунуть не сможем?
Мы либо получаем токен в жсоне, и дальше запсываем его в httponly куки, и дальше отправляем как минимум рефреш токен в куки, либо сервер сам нам записывает httponly куки. Иначе вообще похуй где хранить токен, он ведь все равно будет доступен из JS и мы все равно сможем получить к нему доступ в случае xss атаки?
Есть ли какой-то вариант, помимо того, чтобы в конец пизданулись и парсим клиентский код прямо из комментов каких-нибудь, когда может быть произведена xss атака? Можно ли ее выполнить из каких-нибудь Open Graph превьюх или oEmbded? Там доступ к коду извне этих превьюх доступен или запрещен как в iframe?
И если xss это вообще крайне кривожопая реализация какой-нибудь eval, то можно опять же, забить хуй и хранить jwt где хотим, а все эти рекомендации с недоступностью jwt из js это просто чрезмерно паранойная хуйня?
Может ли какой-то вирус залезть в куку/localStorage пользователя в браузере и можно ли в этому случае как-то защититься, или опять же это не имеет значения?
ДЖУНЫ НИКАМУ НИНУЖОНЫ!1!1!!1 С первых дней изучения веба слышал откуда-то из-под шконки подобные вскукареки. Сейчас же наступила пора и самому искать свою первую галеру. Долго расписывать не буду, скажу лишь то, что это всё полный пиздёж Начал искать работу в начале месяца, за это время сделал около 150 откликов, выполнил 8 тестовых, позвали на 3 технических собеса и после каждого из них предложили оффер. Начитавшись всяких шизотерических высеров, я заранее настроил себя, что буду хвататься за первое предложение, лишь бы хоть куда-нибудь да взяли. А на деле оказалось так, что ещё и выбирать пришлось, куда хочу, а куда нихачу С понедельника ещё одно офисное быдло поедет воду из куллера пить, можете поздравить
История из жизни. Сделал тестовое на позицию на 800$ (просто что бы на собес попасть). React/redux/firebase/google map api/material ui. Видимо настолько хуёво сделал, что не дают обратную связь. Алсо, для проверки, просили мои апи ключи кек.
>>2782432 Сервер сам может поставить такую куку в хедере ответа. Мы можем при получении из жсона записать ее в куку Cookies.set('accessToken', accessToken, { sameSite: 'Strict', httpOnly: true }) - мы с ответом от сервера больше ничего не делаем, и в эту куку мы токен можем записать, а получить её обратно сами не сможем, только указать, к какому урлу эту куку мы будем добавлять. Т.е. эта запись в куку будет происходить в одностороннем порядке. Это один из немногих вариантов, когда мы не будем иметь доступа к такому хранилищу из js, но при этом браузер сам будет добавлять токен к реквесту. Но опять же, если xss атака на нашем сайте не возможна, то и нахуй тогда это вообще нужно? Вот мой вопрос
>>2782439 Блевакт активно вытесняется с нашего православного рынка. Нормальные пацаны выбирают вьюшечку, мискарис и кошкажену. На том же хахару уже треть вакансий вьюшная
Компания Meta, Мета (Американская транснациональная холдинговая компания Meta Platforms Inc.) и другие отмеченные "звездочкой" организации - экстремистские организации, деятельность которых запрещена в Российской Федерации. Инстаграм и Фейсбук - социальные сети (продукция), принадлежащие компании Мета, деятельность по распространению которых запрещена в Российской Федерации.
>>2782453 >Сервер сам может поставить такую куку в хедере ответа да >Мы можем при получении из жсона записать ее в куку нет
На то она и httpOnly кука, что у тебя из JSа к ней нет доступа. Её можешь ставить только сервер. Защита здесь в том, что даже зная данные из этой куки, ты не сможешь их выставить
>>2782424 В ТЗ было только скинуть ссылку на гитхаб. Имхо, если даёшь тестовое, то у тебя должны быть свои ключи от технологий, которые ты указываешь в ТЗ. если серьёзные ребята, конечно
>>2782489 Блядь, точно, я думал там есть односторонняя запись, я обосрался. Ну тогда у меня по прежнему вопрос, какого хуя мы жвт токены гоняем по жсонам? В какой момент куки начали противопостовляться токенам, а не работать вместе с ними, что это за хуйня вообще? В каждо втором гайде кто-нибудь обязательно спизданет НИ ХРАНИТИ НИЧЕГО ВАЖНОГО В ЛОКАЛСТОРЫЖЫ, и в каждом первом мы оперируем токанеми на уровне жса. Тогда вообше ими нужно оперировать прямо на лету, когда каждый запрос возвращаем нам токен для следующего запроса или там на пару секунд. Пиздец короче. Предлагаю объявить XSS депрекейтед атакой, не евалить код где не просят и делать что угодно в локалсторадже, и чтоб не пиздел никто
>>2782460 Vue - детский конструктор, который каким-то чудом удается проталкивать дно-кабанам не понимающи в IT (дайте мне тупого кабана и уже завтра я буду писать у него на Turbo Basic)
>>2782513 Потому что сервер авторизации и сервер с приватными данными, это могут быть 2 разных сервера. Сервер авторизации даёт тебе условный короткоживущий acces токен и в куку вшивает долгоживущий refresh. Получив на клиенте acces токен, ты сохраняешь его у себя в локалстораже и добавляешь в хэдер при обращениях на сервер с приватными данными. Который просто проверяет токен и, если он валиден, отдаёт данные, если невалиден - шлёт нахуй. На клиенте ловишь 401й код, обращаешься к серверу авторизации за новым acces токеном, он тебе его даёт (если валидная refresh кука), а потом просто дублируешь запрос за данными и забираешь их. Примерно так оно и работает. Если добавить на сервер с данными ещё и логику по авторизации, обновлению токенов и прочую хуйню, то это замедлит его работу. Для пет проекта или небольшого магазина по перепродаже резиновых членов с али это не критично, но на энтерпрайзе сервер ахуеет. Для этого и идёт разбиение доступа на 2 токена Я сам по-началу не понимал этого прикола, потому что во всех гайдах сервер авторизации и сервер с данными, это один сервер. И лишние действия в виде acces токена казались каким-то бредом
>>2782795 Я вот примерно так же себе это и представлял, спасибо что расписал. Когда я бэкеру сказал про куки токены, он сказал что-то вроде - какие еще куки? Как браузер может слать куки? Зачем они нужны. Ну я немного охуев от такого ответа решил дальше не вскрывать эту тему.
Это тот же бэкер, про которого я в начале прошлого треда писал, который рекомендовал уведомления присылать каждые 5 секунд пингуя бэк
Зачем этот ваш react query? Вот у меня есть главная страница со списком фильмов Я делаю запрос к REST через fetch и получаю список из 100 фильмов, тут же делаю новый запрос и там уже 101 фильм, а ваш этот query закеширует
>>2782864 >тут же делаю новый запрос Как ты его делаешь?
>а ваш этот query закеширует Ну query не просто как ему вздумается данные кеширует. Стандартный сценарий - обновляет кеш полностью при рефреше страницы. Дальше уже смотри сам, как ты хочешь обрабатывать получение новых значений. Если ты вживую хочешь обновлять данные у пользователя, то тут дело только в реализации, сам query здесь скорее будет плюсом, у него намного удобнее добавить запись в кеш. Если хочешь именно обновить данные - есть разные способы, но самый простейший - вызвать рефетч, тогда он проигнорит кеш. Если хочешь чтобы при любом пуке всегда происходил свежий запрос - используешься useLazyQuery. Короче опять людям лень доку почитать, а потом оказывается, что либа магическим образом не предсказывает твои желания. То же самое с TS, от которого "больше вреда чем пользы" пока ты таки не удосужишься пару часов на чтение доки выделать наконец с барского плеча
>>2782870 >Как ты его делаешь? когда возвращаюсь на этот роут, либо когда нажимаю f5
>Стандартный сценарий - обновляет кеш полностью при рефреше страницы все как у меня, гружу данные полностью с сервера, но я не сохраняю кеш, нахуя он мне на фронте?
>у него намного удобнее добавить запись в кеш А нахуя если мне проще подтянуть данные с сервера? Зачем вообще кеш на рестах? Есть хотя бы 1 кейс?
>Если хочешь чтобы при любом пуке всегда происходил свежий запрос - используешься useLazyQuery Нахуя мне тогда лишнее звено? тогда я буду по старинке использовать голый fetch на каждый пук
>Короче опять людям лень доку почитать Правильно ли я понимаю, эта либа нужна если на бекенде сидят пидорасы и жалуются что бы я не отправлял запросы на каждый пук?
>>2782795 >Если добавить на сервер с данными ещё и логику по авторизации, обновлению токенов и прочую хуйню, то это замедлит его работу.
Разбивают потому что так удобно, если кому-то будет удобно в монолите сервис авторизации держать, то там его и будут держать. Ты переоцениваешь мифическую нагрузку на сервер, у тебя 99% всех запросов будут идти на твоё приложение а не на сервис авторизации, плюс твоё приложение и так в каждом запросе декодирует токен
>>2782881 >Правильно ли я понимаю, эта либа нужна если на бекенде сидят пидорасы и жалуются что бы я не отправлял запросы на каждый пук? >Спасибо, но с такими пидорасами я не работаю
Проорался с этой оптимизации посыланием нахуй
По остальному - если твой кейс: одна единственная голая страница с 100 записями, то не понятно, что тебе вообще там еще нужно, кроме единственного запроса в самом начале? Что-то из разряда - зачем мне TS если я console.log('hello') могу в консоли браузера и так вывести? Ну да, в этом случае тебе вообще нихуя не нужно. Ты просишь решить проблему, которой не существует
Для других интересующихся людей могу представить более реальный кейс - у тебя 5 вкладок внутри приложения, таких страниц с вкладками 10. Чтобы каждый раз данные не перезапрашивать их можно закешировать. Да, можно закешировать руками в стор, куда удобнее с помощью query, если вам потом еще и динамически эти кеши обновлять нужно, тот тут сложность пердолинга руками по сравнению с query вообще не идет ни в какое сравнение. Ну или можете слать по 150 запросов, чтобы получить буквально то же самое из раза в раз и слать бэкера нахуй, видимо это тоже рабочий вариант, на собесах тоже можете так же отвечать, пользователям email рассылку можно делать с адресным посылом нахуй, из-за жалоб на юсер экспериенс
>>2782885 >Если бекенд не тянет мои запросы с фронта, то идет на хуй такой бекенд и делаем заявку на увеличение ресурсов сервера virgin backend: Господин фронтендер, у вас фронт за час запросил 108 000 000 строк записей с бэка в 3 600 000 запросах, за этот час никакие из этих данных даже не обновились, что у вас там такое на фронте происходит? proud posture of a megalomaniac frontend patient: Идите нахуй, у меня while(true) запрашивает данные данные циклично нонстопом, вдруг они обновятся, я не хочу тянутся за Ф5, других решений и знаний, кроме посыла нахуй у меня нет, если ваш бэк не может это обработать, то это не мои проблемы
>>2782838 >Как браузер может слать куки? Берёт и без задней мысли рыча и двигая тазом шлёт. Браузер может ставить любые куки, кроме httponly
>каждые 5 секунд пингуя бэк А за такое в приличном обществе по рукам бьют. Если нужна постоянная связь, то WebSocket в помощь, но он ресурсов много кушает, чтобы одновременно держать несколько тысяч сокетов нужна уже нормальная конфигурация сервера. Если же постоянный двусторонний коннект не нужон, то лонгпуллингом можно обойтись
>>2782897 Открыл Яндекс, нет у них там никакого кеширования Открыл новости mail.ru и нет там никакого кеширования на каждую новость (всегда отправляются новые запросы)
>у тебя 5 вкладок внутри приложения, таких страниц с вкладками 10 то есть ты описал пидораса на пользователе, который умышлено открыл мой сайт в 10 вкладках? С каким пор о таких пидорасах вообще забояться?
Я бы для такой гниды не стал бы делать ничего даже на основе сторов, пусть грузит бек, а бек сам расхлебывает все это, банит по ип, ставит ограничения на фаерволе
Мы вносим в проект технологию ради 1% пидарасов мультивкладочников....
>>2782910 > у вас фронт за час запросил 108 000 000 строк записей с бэка в 3 600 000 Ты считаешь что это была атака флудом и некий парсер? ставь ограничение на фаерволе и внутри роутов
>>2782889 >плюс твоё приложение и так в каждом запросе декодирует токен Что быстрее, декодировать токен или декодировать токен, получить из него краткую инфу о юзере, залезть в базу данных, достать оттуда нужную инфу по юзеру, его данные авторизации и сверить их с инфой в декодированном токене? Наверное всё таки первое. Поэтому сервер с данными просто валидирует токен, перекладывая всю нагрузку на сервер авторизации
>Ты переоцениваешь мифическую нагрузку на сервер Тут с тобой согласен. При современном уровне железа нужно ещё постараться, чтобы заставить сервер страдать. А довести до пиковых нагрузок хоть сколько-нибудь серьёзный конфиг без дудоса вообще не получится. Но если можно делать сразу хорошо и правильно, то зачем делать криво?
>>2782881 >все как у меня, гружу данные полностью с сервера, но я не сохраняю кеш, нахуя он мне на фронте?
В реакт квери по дефолту кеш в привычном понимании вообще отключен, у тебя на каждый пук будет новый запрос идти за новыми данными, причем пук это даже альтаб. Чтобы включить прям КЕШ то нужно в опциях указывать сколько данные могут считаться свежими. За этим кешом скрыто очень много других полезных фич, т.к. мы работаем с реактом то в теории можно отрендерить 3 компонента, каждый из которых делает одинаковый запрос, реакт квери это автоматом дедюпит. Когда ты нажимаешь кнопку назад, то показываются данные из того самого кеша, и в фоне делается новый запрос, а уже дальше реакт сам обновляет дом если вдруг что-то поменялось. И это я тебе еще не про киллер фичи рассказываю
>>2782927 >Но если можно делать сразу хорошо и правильно, то зачем делать криво? Зачем вообще что-то делать хорошо? Вон там выше был новый подход к разработке PNH (пусть идут нахуй)
>>2782920 >то есть ты описал пидораса на пользователе, который умышлено открыл мой сайт в 10 вкладках? Ебать ты пидорас братишка, чмоша.
> Открыл Яндекс, нет у них там никакого кеширования > Открыл новости mail.ru public страницы, на 90% статичные. ММММ
> а бек сам расхлебывает все это, банит по ип, ставит ограничения на фаерволе На месте кабана, я бы убытки на инфре, которые ты не можешь оптимизировать, взял бы с твоей ЗП.
> Мы вносим в проект технологию ради 1% пидарасов мультивкладочников.... Мы вносим правки ради 5% яблодебилов от 25% мобильных яблодебилов, что эквивалетно тому самому 1% мобильных дебилов. Твой аргумент invalid.
>>2782920 >то есть ты описал пидораса на пользователе, который умышлено открыл мой сайт в 10 вкладках? Это животное, просто скотина даже не поняло, что вкладки эти находятся внутри одной страницы, не отрк ой блядь да иди в пизду. вкатун прошел курсы и думает что он ебать архитектор с 50 летним опытом
Имагинируйте его ебало. САЙТОМ НЕ ТАК ПОЛЬЗУЮТСЯ НЕ В ТОМ БРАУЗЕРЕ СИДЯТ НЕ ПОКУПАЮТ ПРЕМИУМ ПОДПИСКУ ЗА 50 БАКСОВ ЗАПРЕЩАЮТ КУКИ ИСПОЛЬЗУЮТ АДБЛОК ЗАПРЕЩАЮТ УВЕДОМЛЕНИЯ ЗАПРЕЩАЮТ ЗАПРОС ГЕОЛОКАЦИИ
>>2782940 >На месте кабана, я бы убытки на инфре, которые ты не можешь оптимизировать, взял бы с твоей ЗП. Не смеши, это оптимизация на стороне бекендера, если ему так сложно постоянно обращаться в базу, пусть создаем кеш для апи реквестов и сам управляет этим говном
За последнюю неделю видел две кодовые базы с redux-toolkit. До этого два года был на проектах с MobX. В обеих кодовых базах происходит какой то пиздец. Это всегда так? Редаксодебилы могут вообще хоть что нибудь адекватное соорудить?
>>2782971 >Нет, поэтому всех воротит от редакса в вакухах Я тоже воротил нос, но хавать хочется - большинство вакансий всё равно требуют редакс, даже новые проекты с ним начинают.
>>2782910 >за этот час никакие из этих данных даже не обновились, что у вас там такое на фронте происходит? Как фронт должен понять, что ничего за час не обновилось?
>>2782975 Ну потому что, внезапно, редакс тулкит популярный, всё уже по накатанной. Коммьюнити есть. С менее популярными решениями либо произойдёт какая-то хуйня, либо будут затыки. Если говорим про всякий бигтех. Если не трогать их некрорепы с самописными обёртками и утилсами для редуха - ну скорее всего будет вариация в виде сосаги, ртк. Где-то прослойка мобыкса в одной из команд. Так или иначе на долгострой хочется что-то проверенное. Собственно, про вит я тоже и спршаивал, потому что не хочется через пару месяцев узнать, что оно делает трудновоспроизводимое КРЯ, которое воспроизвелось именно у тебя.
>>2782951 чел, ты выдумал какой-то уникальный пример, я за всю жизнь не встречал идиотов, которые на уровне бизнес требования и дизайна позволят вот так просто задвоить данные и клонировать 10 вкладок!
Ладно! Хорошо! Каюсь, может быть такие и оправдано! Мне нужно спроектировать сайт на моей spa-тильде и для этого я накинул 10 блоков с корзиной на главную страницу - 10 запросов улетело на сервер
Ради этого подключат технологию и оптимизировать 0.00001% русурсов сервера? Чел, почитай что из себя представляет современное железо, ты из тех кто оптимизирует сортировку внутри массива из 100 элементов?
Протыкал все популярные сайты, от казино, до игр и букмекерских контор с графиками под крипту, никто не занимается такой чепухой, все запрашивают свежие данные с бекенда
>>2782966 >Ну возьмёт бэкендер себе asp/spring, будет страницы серверсайд рендерить. Ты там нахуй нужен?
Нужен что бы писать фронт, а не заниматься бек-оптимизациями и закрывать дыры в кривых руках говнокодера!
Что за дурацкий аргумент про ненужность? Дядь, отрисуй кнопку на бекенде в css, мне самому лень делать расчеты! не хочешь? а нахуй ты тогда там нужен? я сейчас возьму node и Farebase
>>2782995 >Что за дурацкий аргумент про ненужность? Чем ты лучше версталы с 5-ью годами опыта в вёрстке за 80к, если ты не занимаешься фронтенд-разработкой, не говоря про инжиниринг?
>>2782982 >чел, ты выдумал какой-то уникальный пример, я за всю жизнь не встречал идиотов, которые на уровне бизнес требования и дизайна позволят вот так просто задвоить данные и клонировать 10 вкладок! > >Ладно! Хорошо! Каюсь, может быть такие и оправдано! >Мне нужно спроектировать сайт на моей spa-тильде и для этого я накинул 10 блоков с корзиной на главную страницу - 10 запросов улетело на сервер > >Ради этого подключат технологию и оптимизировать 0.00001% русурсов сервера? Чел, почитай что из себя представляет современное железо, ты из тех кто оптимизирует сортировку внутри массива из 100 элементов? > > >Протыкал все популярные сайты, от казино, до игр и букмекерских контор с графиками под крипту, никто не занимается такой чепухой, все запрашивают свежие данные с бекенда
Сука, больное, дегенеративное животное. Ты задал вопрос - для чего нужен query? Для тех случаев, когда тебе НУЖНО закешировать данные. Если тебе это НЕ НУЖНО, значит их НЕ НУЖНО кешировать. Что тебе, лоботомированному имбецилу здесь не понятно?
Решение требуется для конкретных задач и запросов. Если у тебя есть какой-нибудь vk, ты ведь не будешь каждый раз при открытии страницы с сообщениями загружать всю историю всех сообщений от всех пользователей за все годы ваших переписок? Ты загрузишь только те, которые пользователь увидел, значит эти сценарии должны обрабатываться и под них нужно находить решение. Если у тебя пришло сообщение, ты снова всю историю переписки будешь грузить за последние 10 лет? Блядь, я не могу поверить в то, что я вообще тебе это все объясняю.
Тебе НЕ НУЖЕН кеш? Ну и блядь хули ты меня спрашиваешь, как тебе реализовать кеш для того, чтобы этот кеш никогда НЕ ПРИМЕНЯТЬ.
Ты все задачи и все решения просто хаотично применяешь в случайном порядке, или ты все таки сначала задачу себе ставишь и потом начинаешь думать над ее решением? Тебе нужны актуальные данные всегда? Тебе нужно их обновлят вживую? Сколько у тебя пользователей? Сколько запросов? Сука блядь сначала сформулируй вопрос, а потом уже задавай его, а наоборот, пиздец
>>2783000 >Спрашиваешь зачем? ну это оптимизация, помощь бекам, а что если Вася отправит 1000000 запросов мы спасем прод! А зачем вообще оптимизировать что либо? Переписать за пару дней 100 строк кода? Нет, пусть себе пользователь в два раза оперативку увеличит и мы новый сервак поднимем. Но что-то мне подсказывает, что если у тебя код не оптимизирован, то он волшебным образом при этом хорошо написан не будет?
>>2782998 Чел, вся твоя аргументация сводится к тому, что если я не хочу вносить в проект очередную говно-библиотеку, то я хуевый
Ты сам подтвердил, что такие оптимизации с кешем нужны не на каждом шагу, ты не смог придумать реальный кейс из своей практики, а выдумал небылицу! Я не смог найти сайты где используют кеш для api! совпадение?
Использовать на всякий случай чтобы когда-то пригодилось? зачем? Уверен что она висит у тебя мертвым грузом и ты нихуя ее не используешь, а если и используешь то она никому не помогает даже на долю процента (изучи современные возможности серверов)
>>2782912 > А за такое в приличном обществе по рукам бьют. Тыскозал? Чел, погугли что такое лоннполлинг для начала и бенефиты его использования перед реалтайм транспортом.
>>2783003 >Сука, больное, дегенеративное животное. Я другой анон, встрял что бы вы джунов не научили говну А то сейчас облепите их 100 либами "на всякий случай может пригодится" react-query не нужен в 99.9999% случаях
Я выпиливал эту парашу из 3 проектов, она всегда висела там "на всякий случай"
при смене темы, меняется фон картинки(Lifecycle Diagram )? В светлой теме фон у картинки светлый. В тёмной - тёмный. Но картинка одна и та же. Ето как? Подозреваю, что дело в .png, но не могу понять, как нагуглить.
>>2783007 > Чел, вся твоя аргументация сводится к тому > аргументации Тебе показалось, тебя не воспринимают серьёзно. Ты давишь всех своей узколобостью.
> Ты сам подтвердил, что такие оптимизации с кешем нужны не на каждом шагу, ты не смог придумать реальный кейс из своей практики, а выдумал небылицу! Я не смог найти сайты где используют кеш для api! совпадение? Да, он тебя пытался воспринимать серьёзно >>2783003, но даже он сдался.
Мой тейк в следующем: если твоя работа не отличается от работы версталы с минимальным использованием JS. который и фулкекер дёрнет при необходимости, а вёрстку можно вынести на шлепальщика красивых анимированных йоба интерфейсов за 80к, то зачем тебе платить в 3 раза больше?
>Использовать на всякий случай чтобы когда-то пригодилось? зачем? Научись читать, что тебе писали. Ты вроде понял, что тебе писали, а вроде опять переспрашиваешь.
>>2783010 react-query входит в пакет redux toolkit, если и он там "на всякий случай" был, то не понятно что ты там тогда выковирывал. Видимо просто решил НЕ НУЖОН ЭТОТ РТК. Ну ок, ебитесь там сами со своим проектом, я на нем не работаю
>>2783019 >redux toolkit, Зачем использовать эту хуйню когда существует как минимум 5 альтернатив? это та блядская хуйня в которой еще встроен костыль в виде immer?
>>2783003 >Если у тебя есть какой-нибудь vk, ты ведь не будешь каждый раз при открытии страницы с сообщениями загружать всю историю всех сообщений от всех пользователей за все годы ваших переписок
Сейчас провалился в историю переписки, загрузились 10 последних сообщений сообщений , еще 10 сохранились на всякий случай, но не отобразились! перешел во вкладку музыка, вернулся во вкладку сообщений, снова открыл этого же пользователя, кеш не сработал, UI запросил 10+10 сообщений с сервера! ГДЕ ТУТ НАХУЙ КЕШ ТВОЙ? В ТВОЕМ ЖЕ ПРИМЕРЕ!
А ты бы у себя в проекте начал бы все это кешировать? удачи пользователям с 4гб оперативной памяти, кэшировщик хуев Стал бы разруливать логику самостоятельно? Удачи превратить кодовую базу в сгусток дерьма
Это костыльная технология поверх легаси говна, уже каждая собака отписала в блоге что redux не нужен, создали 5 альтернатив для вас, а они все еще жрут устаревшее говно
>>2783069 Так и в чем смысл-то этих альтернатив еб твою мать блядь? Просто чтобы не редакс? Это как с хейтерами реакта, давайте не будет использовать реакт - а зачем? Ну потому что это будет не реакт.
>>2783060 Если бы они взяли и написали проект с полного нуля и называли его toolkit то ноу проблем, получили технологию которую можно расширять!
Но эти пидорасы написали костыль для говно-редакса и создали обертку под это говно, холопы схавали этот фантик за новую технологию, но под оберткой все то же тормознутое кривое говно
Кто-нибудь сидит на форчане, кстати? Там есть аналог жс треда? Закиньте им базу - намбер прототайп и пипы, спросите, тип что за хуйня и как это работает.
>>2783143 >Он Кто он то блять? Это вебпак медленный пиздец, особенно на больших бандлах за счет его архитектуры, в которой он в обязательном порядке должен собрать вообще весь бандл, а не используемые его части
>>2783141 белым людям из страны первого мира нахуй не нужно учить программирование что бы иметь достойный уровень дохода. Это всякие чинг чонги, сноу ниггерс (читать жители СНГ) и индусы этим занимаются.
>>2783170 >>2783168 Кеш должен быть уничтожен. Это разные куски кода, которые не инвалидируют кеш фоток, почему-то. Все же, похоже, кроме как добавлять ?hui=123 никак не сброшу. Печаль, хотел по умному сделать.
>>2783178 >Потому что там нет кода, который за инвалидацию отвечает? Я со всего тырнета насобирал эти куски, не стукай. Должны делать инвалидацию, даже гопота два варианта сгенерила.
>>2783180 Я в кастомный перехватчике добавлял эти строки. Но т.к. тупой, решил у Анонов спросить и увидел более изысканное решение с сервисворкерами от Анона. Но т.к. тупой, применить, похоже, не смог.
>>2783197 >со всего тырнета Дурачек, нахуя ты впитываешь мусорную информацию? Вот тебе подробнейшая, официальнейшая документация с примерами: https://www.w3.org/TR/service-workers/ >Я в кастомный перехватчике добавлял эти строки. чего блять??? Ты на своем бэкенде должен задавать Cache-control и e-tag метки для инвалидации. Задашь их правильно - необходимость костылей с SW отпадет сама собой.
>более изысканное решение с сервисворкерами С каких пор дристание ЖСом для достижения функциональности, которая появилась до твоего рождения в HTTP 1.1 явялется изысканным? >Пока нихуя не понял, но почитаю. Зато уже побежал говнокодить сервис воркеры. Айти 2023, итоги.
Сколько же альфачей заскочило в бекенд если даже в этой треде чувачек ищет решение как сбросить кеш на фронте Другой ищет как помочь бекенду чтобы его не загружать
Может мне долбаебу кто пояснить, кейс когда фронту требуется сбросить кеш самостоятельно? Разве это не решалось из пакон веков на уровне сервера, на уровне CI/CD?
>>2783225 Я наоборот переубедил бэкера в том, что кеш нужен, потому что его сранный бэк 3 секунды может данные с бэка возвращать, выглядит как говно, тормозит, некрасиво, не плавно. Я хочу чтобы все работало плавно и красиво, потому что я шиз, даже если клиенту похуй
>>2783233 Какая дырка? Оптимизация запросов это само собой разумеющяяся часть работы с фронтом. У тебя данные вообще статичными могут быть, зачем их каждый раз заново тянуть? Ты там 2 часа медитировал после моих ответов, чтобы наконец поменять линию аргументации, и теперь зайти со стороны chad/virgin отношений?
>>2783236 Всего лишь одна из топовых компаний мира. Там 90% я уверен просто рандомно резюме рассылает, даже не глядя куда. И сколько по твоему из 850 в теории тех собес бы прошло? Я могу вот прямо сейчас на все сеньерские позиции за 500к сек разослать резюме, что с того?
>>2783239 >Там 90% я уверен просто рандомно резюме рассылает, даже не глядя куда. И сколько по твоему из 850 в теории тех собес бы прошло? >most are people laid off from FAANG, or people at unicorns, and they all have several years of experience.
>>2783237 Первым делом должны быть произведены оптимизации на уровне транспорта, потом база данных потом кеш на беке, потом структурные оптимизации и настройка мощности сервера и если после этого происходят лаги, то можно идти к господину фронтовику на поклон и просить его исправить проблему, фронтовичек в ответ помогает беку и сообщает о возможных последствиях связанных с инвалидацией кэша
Вас ебут в гриву, ленивые бекендеры ничего не делая сразу кидают задачу на фронт
Ты реально не понимаешь что кеш на фронте это костыль, а не решение реальной проблемы?
>>2783248 Он и не падает, просто я не хочу делать новый запрос. Это просто не логично, вот просто потому что я так решил, нахуй нужен лишний запрос там, где он не нужен?
>>2783252 Ты не понял суть посыла. Суть не в том, что там 1к маняайтишников, а в том, что там БОЛЬШИНСТВО это разрабы, имеющие реальный опыт работы в фаанге.
>>2783251 >Он и не падает, просто я не хочу делать новый запрос. Это просто не логично, Логично, там могут быть новые данные ты можешь проебаться, собрался играть в русскую рулетку?
>>2783259 Знаю. Часть из этих людей выпизднули на улицу и сейчас они с умениями дрочки бинарных поисков и прочих sparse-table'ов готовы рвать и метать, что бы устроится хоть куда-нибудь шлепать формы для оплаты кредита за их MtF surgery.
>>2783261 Я не понял. Оффер - это сумма, которую тебе предлагает работодатель по результатам собеса. Откуда там он возьмется если никого еще не собесили? Или ты реально думаешь, что сейчас кто-то указывает вилку в вакухах?
>>2783227 >>2783225 >>2783233 У меня бекендер - мудак, который на форме из трех полей, которая была в десятках других страниц возвращает два из трех полей. Который когда вернет мне третье поле, оно блять сломано какой-то лишней валидацией.
>>2783248 >>2783203 >чего блять??? Ты на своем бэкенде должен задавать Cache-control и e-tag метки для инвалидации. Задашь их правильно - необходимость костылей с SW отпадет сама собой. Ок, спрошу у бека по поводу кеша. Думаю вариант с ?hui=1 пока отложу.
> Задашь их правильно - необходимость костылей с SW отпадет сама собой. Я вчера первый раз попробовал в ком. проекте эти воркеры сервесные, лол. Как по мне круто выглядят.
>С каких пор дристание ЖСом для достижения функциональности, которая появилась до твоего рождения в HTTP 1.1 явялется изысканным? Без шуток - выглядит по умному. Честно, у меня достаточно расплывчатое представление как работает связка бек-фронт-кеш.
>Зато уже побежал говнокодить сервис воркеры. Айти 2023, итоги. Ну, у меня все просто. Если можно не тревожить бек, то тревожить бек не надо. Там не какой-то гигачед помидор сидит, который все проблемы раскидывает и поясняет, обыный хуй-мидл-джун, который тупит как и я. Но т.к. он новенький, тупит пиздец. Каждый раз его выгрузку возвращаю на доработку. Разберется поди, а пока я пострадаю хуйней, т.к. лишний раз шатать бек вообще не хочется.
>>2783266 >вместо того, что бы побазарить с бэкендером начал изъебоваться неебическими костылями с get параметрами и сервис воркерами Не думал к психотерапевту обратится? Явный недостаток софт-скиллов.
>>2783267 >Не думал к психотерапевту обратится? Явный недостаток софт-скиллов. Не, с ними все норм. Просто правда не хочется что-то не беке делать, ну вот прям вообще не хочется. Я и так страдаю каждый раз после его выгрузок, а тут хуйня, которую сам смутно понимаю.
>>2783270 >не хочется что-то не беке делать Проблемы индейцев шерифа не волнуют. Ебучий крудошлеп не может шлепануть круд? Бери нового круджошлепа с улицы. Благо их дохуя. Вон из фаанга можете взять, авось не надо будет инвалидацию кеша костылить.
ксс, жс - похуй, а вот фотки что бы я не делал все равно грузятся из кеша.
да, можно не ебать мозги и обратиться к беку, возможно он понимает о чем речь. но если он не поймет, заебашу ?hui=1 и забью хуй, 100% это решение сделаю вечером, вот прям уверен, слишком тупой для сервисворкеров, хуй знает почему перехватчик с ноу-кеш не работал.
>>2783279 он, как я понял, редко к ним обращается. т.к. базовый функционал, который я делал с прошлым беком, куда-то периодически пропадает на новом, типо у файлов мандатори поля куда-то делись, какие-то ебанутые параметры появляются.
>>2783257 А без кеширования я каким образом данные новые получу? В моем случае: есть обнова > пришло по вебсокету > рефрешу часть данных, которые указаны в вебсокете В твоем охуительном варианте без кеша пользователь должен периодически Ф5 прожимать, охуенно. Лучше я их закеширую и обновлю когда надо. А по ф5 данные все равно свежие придут (те же, что и были), если уж тебе так неймется, ну или все прям совсем-совсем пошло по пизде, ну так уж и быть, нажмешь ф5. Проблем никаких не вижу
>>2783287 Еще раз. Почему ТЫ должен решать НЕ ТВОЮ проблему? Сиди дальше шлепай формы. не работает как должно? Виноват крудошлеп. >>2783289 >при условии если на беке дегенераты и не хотят возится с заголовками Нет.
>>2783285 функционал для этого уже есть. писал ранее для обновления фоток при изменении элемета. но посчитал, что сброс всего таким способом - хуйня полная. вот и решил у анонов уточнить как получше сделать.
>>2783292 Лучше заместо подобных изъебов и капчевания читай про Cache-Control. Там много интересного, в т.ч. эксперементального. Потом на собесе расскажешь и в нормальную контору вкатишься, а не на на рога и копыта свои.
Ты не говорил про сокеты, ну тогда вот так - 1) Грузишь данные с сокетов при первой init 2) Обновляешь страницу - снова грузишь данные с сокетов на мужика 3) Возвращаешься на страницу - Снова грузишь данные с сокетов на мужика 4) Далее простаиваешь на страницуе при событии обновы - грузишь данные с сокетов на мужика
Это будет работать быстро, потому чел на бекенде обязан создать кеш и управлять им сам, а не гонять 10 строчные SQL на каждый чих с фронта
Хорошо представим что у вас бомже пентиум на сервере и нужно поэкономить баблишко кабана
1) Грузим с реста по init 2) Грузим с реста по f5 3) Грузим с реста по возвращению на страницу 4) Простаиваем на странице - слушает сокеты и если произошла йоба-обнова, то снова грузим с реста на мужика
Тут вообще нет кэша, кэш должен быть на беке, а бек должен уже сбрасывать кеш и перехуячивать при первом запросе (то есть будет один неудачник которому придется подождать 3 секунды вместо 0.01s)
чем этот способ плох???
в таком случае все должно летать, при условии если бекендер сделает у себя кэш, ну не может с кеша отдаваться более 1 секунды, это просто отдача текста
Уверен что у вас хуесос даже ключи не расставил вот и лагает
>>2783236 Читай третий абзац в этих >>2780302 →>>2780324 → постах пока не дойдёт. Также гугли что такое economic cycle / business cycle. Ты просто вообще абсолютно не понимаешь почему сейчас такой мёртвый рынок найма в США и почему он был диаметрально противоположный несколько лет назад, и почему он снова таким станет.
Что реактер должен уметь, чтобы взяли на 150к на руки? Сейчас 100к, опыт чуть меньше года. На чем лучше сосредоточиться - задачки решать или охватить больше технологий и концепций?
>>2783104 Что за сообщение, можешь дать ссылку? >>2783104 >>2783143 Переделают и выпустят новый апдейт, не? Проект же не закрывают. Спустя год cra же полностью рабочий и не требует никаких фиксов и доработок, чтобы сделать на нем проект.
Вкатуны в ОЙТИ, смотрите и завидуйте: такой маленький, а уже РАЗРАБОТЧИК. Пока вы в свои 20-25+ лет вкатываетесь в ОЙТИШЕЧГУ, такие как "Миша" уже давно гребут деньги, пьют смузи и дручят ваших ЕОТов. Вообщем, путь закрыт в айти, завидуйте и преклоняйтесь таким как "Миша".
>>2783506 А зачем тебе про версия? А зачем тебе покупать винду? Её можно бесплатно поставить.
Я неиронично, я нитролль. До этих недавних тредов в /b/ с долбоёбами на семёрке, у которых стим (хромиум зависимый) остановит поддержку спермеров (как и хромиум собственно), я даже и представить не мог, что до сих были мамонты, которые считали, что windows 10 нельзя бесплатно поставить и полноценно пользоваться. Ну, конечно если, смысл пользования системой не заключался в том чтобы натягивать обои на рабочий стол. Ведь это единственные недоступные настройки на бесплатной 10-ке. Всё. Никаких более ограничений. И вместо этого они там прыгают по XP SP3, 7, 8, хуярч[, чулочки[, раст]]. Да даже имея возможность видеть рабочий стол, я его вижу только сворачивая все окна и рестарте раз в много дней. Даже сворачивая все окна, если мне нужен ярлык на рабском столе - я автоматом его протыкая не обращая внимания на фон.
>>2783667 >В официальном магазине xatab'a windows 11 pro бесплатная. >А зачем тебе покупать винду? Её можно бесплатно поставить. Да ты буквально соевый дурачек из мемов.
>>2783747 Да нет, вместо того что поставить официальный образ ты идёшь ставить ни разу не перекодированный ничего не вырезанный образ, в котором от дефолтных настроек в виде домашних страниц и настроек реестра может быть какая угодно хуйня в виде майнера.
Начиная с тебе нравится моя сборка вин 10? ну тогда перейти на мою домашнюю страничку, дурашка, поддержи проектсамый безобидный сценарий в сборках самого популярного автора по версии rutracker.org
>>2783759 >Да нет, вместо того что поставить официальный образ ты идёшь ставить ни разу не перекодированный ничего не вырезанный образ, в котором от дефолтных настроек в виде домашних страниц и настроек реестра может быть какая угодно хуйня в виде майнера. Может. Но мне ли не похуй, если мне нужно просто проверить отображение верстки в эдже? Заодно не будет блямбы в правом нижнем углу о необходимости активации.
>>2783762 Хатаб окуклился. Даже если предположить что в пиздючестве я доверял сборкам от хуя_нейм, это не распространяется на фантомных продолжателей идеи. Сегодня он продолжает, завтра его переклинило. Даже оригинальный хуй_нейм от такого не застрахован. Можете брыкаться сколько хотите. Никто не мешает разрабам всунуть майнер в жопу, соглы. А хую который занимается модификациями это по определению проще сделать. Он нарушил целостность продукта уже просто тем что влез туда.
Всё, похуй на вас. Съёбываю. Обмазывайтесь там хоть black box эдишенами.
>>2783773 >Сегодня он продолжает, завтра его переклинило. Даже оригинальный хуй_нейм от такого не застрахован. А хатаб то тут причем? Он в отличии от майков не вкидывал рекламу и анальные зонды в свои раздачи.
>>2783461 Его нормально не поддерживают уже года два. Он тормозит пиздец на больших проектах. И самое главное, создатели реакта в официальной документации заявляют, что рекомендуемые способы создать реакт приложение - это либо некст, либо вит.
>>2783747 >>2783762 >>2783774 >>2783785 >>2783791 Охуеть, до сих пор есть сверхразумы, устанавливающие сборочки от васяна? Помню лет 15 назад была популярна сборка windows XP ЗВЕРЬ by Vovan, какой же кринж такое видеть в 2023.
>>2783825 >лет 15 назад была популярна сборка windows XP ЗВЕРЬ by Vovan, какой же кринж такое видеть в 2023. Ну а что делать если по дефолту кринжа больше в официальном образе винды, чем в порезанном образе от VasyanNagibator228
>>2783504 В каком смысле, есть какой-то плагин? Алсо, как чекать сафари? Был какой-то платный ресурс где можно онлайн эмулировать сафари, есть у кого-нибудь ссылка? Может уже бесплатный способ есть?
>>2783461 >Что за сообщение, можешь дать ссылку? Ты бы ещё через полгода спросил, чтобы я не только не имел ссылки на другом железе, но и не вспомнил даже.
>Переделают и выпустят новый апдейт, не? Проект же не закрывают. Как переделают, тогда и приходите. Сейчас у CRA 127к установок в неделю из npm, 117к которых приходятся на 5.0.1 Из них, это наверняка, некрофилы и обучащиеся по всяким курсам и статьям
Тебе для сравнения, установок: @reduxjs/toolkit - 2.6M react-redux - 6.8M next (NextJS) - 4.6M
>>2783868 >В каком смысле, есть какой-то плагин? Чел, гугл хром это тот же эдж. Там один движок рендеринга и один движок жс. Что ты там хочешь тестить? >Алсо, как чекать сафари? Заходишь на свой servicedesk и заказываешь макбук, эмулируешь.
>>2783882 Лул, как же я проигрываю с местных обезьянок, которые мне год назад с ебалом пикрелейтед доказывали, что CRA это не легаси и хороший инструмент по сравнению с витом.
>>2783859 А потом у тебя даже шрифтов не хватает стандартных и получаешь квадраты на ебало. Это не говоря про отрезанные службы, которые не выключены, нет. Их просто нет, удалено. Хех. Уж хоть на арч или дебилиан пересели бы тогда, клоуны. А нет, игры же нужны. Ну да... игро-дебилы с шапочкой из фольги...
>>2783893 >Это не говоря про отрезанные службы, которые не выключены, нет. Их просто нет, удалено. Хех. Уж хоть на арч или дебилиан пересели бы тогда, клоуны. Какие нахуй службы для теста одного только браузера? Ты бухой что ли?
>>2783825 Я даже репаки от хохлов качаю. Настолько мне похуй. Сломаю комп ну и сломаю, похуй. Переустановлю и делов-то. Единственное чем злоумышленники-васи могут поживиться - парой гигов мемов и сотней гигов формочек.
>>2783895 Твой браузер никому не нужен. Это даже не сафари, чтобы заморачиваться из-за этого. Поставь, блядь, уже хром и успокойся. Если бы ты хоть раз открывал таблички совместимости, то заметил бы интересную тенденцию, что если фича Х нигде не работает, но работает в хроме, то работает и в Edge. Если только ты не упоротый дегенерат, которому нужны pre-chromium версии Эджа, которые остались на ранних билда 10-ки. Но их эдж на своём движке нахуй никому не был нужен, просто потомок ишака. Я надеюсь, что это всё-таки не твой кейс, и тогда можно просто пойти на сайт майкрософт и поставить официальный образ. Абсолютно бесплатно. Помешает ли тебе ватермарка об активации протестировать сайт? Я уже склоняюсь к варианту, что помешает. Как плохому танцору яйца.
>>2783946 >>2783912 Вы упускаете важную деталь. Речь о ненужности ебли идёт в том контексте, что в отличии от ебучего сафари, хром можно и там и там поставить.
>>2783952 Хотя несомненно, геморрой создаваемый сафари не стоит того, чтобы была возможность его поставить в 2 клика загрузив с сайта/поставив из стора. А ведь его ещё и поставить нельзя...
>>2784050 >Если ты умеешь в вебпук, то в вит вкатишься без особых проблем. Не вкатится, потому что на любой пук ему придется читать тонну текста уровня "Ну мы еще разрабатываем этот плагин, пока эта функция не поддерживается"
>>2784064 >vite плагины сложней css Как будто webpack плагины сложнее css являются production-ready решениями с активном поддержкой. Один хуй приходится свой велосипед строить под каждый кейс что на вебпуке, что на вите. >>2784066 >мы еще разрабатываем этот плагин Я подразумеваю под вкатом собственное написание лоадеров и плагинов. То, что ты накачал кучу готовых непонятных решений в свои node_modules не является вкатом в сборщики.
>>2783882 Понял, спасибо! >>2783885 >Чел, гугл хром это тот же эдж. Там один движок рендеринга и один движок жс. Что ты там хочешь тестить? Команды разные, ориентирование на рынок разное, приоритетные продукты разные и много чего другого. Очевидно, что все равно надо проверять. Вот недавно попался threejs продакшн проект очень серьезный, который, внезапно, не работает в firefox, но работает в chrome. https://technology.panasonic.eu/av-digital-world/corporate-education?_ga=2.234201562.530243368.1690462948-37775468.1689857962 Там в консоли какая-то ошибка об использовании деприкейтед функции. Так что проверять надо все, если делаешь что-то сложнее лендоса. >Заходишь на свой servicedesk и заказываешь макбук Я собираюсь фрилансить и, пока что, могу позволить себе заказать только пустую коробку из-под пиццы.
>>2784128 >Каждый уважающий себя разработчик обязан знать C++\RUST Вкатун, ты утверждаешь, что человек, использующий собрщики не явялется программистом. Так вот я тебе задаю вопрос: что ты будешь делать, когда напишешь код на C++/RUST. даю подсказку - запускаешь сборщик, который собирает все твои модули и компилирует все это дело в (W)ASM
>>2784132 >Я подразумеваю под вкатом собственное написание лоадеров и плагинов.
Ты мне говоришь, что нужно писать свои плагины и лоадеры Я с тобой соглашусь и добавляю, что эти самые плагины нужно писать не на JS, а используя C++\rust
Если ты этого не делаешь, то не стоит вкатываться в плагины и лоудеры, не мучай жопу как говорится
даю подсказку - не умеешь, даже не заикайся о плагинах на js
>>2784146 >что эти самые плагины нужно писать не на JS, а используя C++\rust >Я подразумевал разработку проекта на C++ >> WASM Мне даже добавить нечего.
>>2784129 Не знаю как работают движки внутри браузеров, но уверен, что если в движке сделали поддержку какой-либо фичи, то она автоматически без доработок появляется во всех браузерах, которые работают на этих движках. Во-первых у движков есть версии, во-вторых есть модульность. И, думаю, множество других аспектов наберется.
>>2784168 >Во-первых у движков есть версии, во-вторых есть модульность. И, думаю, множество других аспектов наберется. Так и есть. Но эдж построен не на движке а на уже готовом браузере, поэтому версии движков тут не играют никакой роли
рякт спа, навелосипедил кеширование запросов чтобы при переходе между страницами не происходило загрузок. Есть небольшой баг интерфейса, когда скролл сохраняется между переходами. Возможно это так и должно быть, но визуально сбивает с толку, когда промотал страницу до конца, переходишь к кешированной страницу и она уже проскролена. Как фиксить, без мануального дергания скрола? Версия рякта не самая свежая
>>2784719 роутинг через реакт роутер, вся привычная и базовая ебала со свичами и роутами, роуты определены в одном компоненте, условный App, компоненты отдельных страниц резолвятся через react lazy
>>2784735 А в чем проблема пойти к кабану и получить необходимый тебе для выполнения работы которое подразумевает получение прибыли для кабана инструмент?
Сделал пару СПА на чистом ооп жс. Сейчас смотрю реакт и интересует есть ли какая сборная репа с готовыми проектами с чистым кодом и архитектурой? Просто чтобы понимать как надо делать
>>2784736 Ни может таково быт! Вот же (правда не пробовал): https://gfn.ru/ - можно играть бесплатно пол часа в свои игры. Но нужно ждать очередь. Не смог найти возможности запустить просто комп с сафари, такого там, наверное, нет. https://drova.io/ - здесь можно арендовать комп за 30 р. в час. Но там можно установить клиент только на 7 винду. А у меня Дебиан. Наверняка там есть возможность арендовать комп с макос. Даже фотошоп уже бесплатный есть, основной функционал доступен, но всех функций для профессиональной работы там скорей всего нет. Поэтому где-то должна быть возможность снять мак на час, имея любую систему. >>2784741 Жизнь заставляет уйти во фриланс, но я теоретически не против. Надоело тратить время на тесты и не хочется расти в сеньёра фронтенда, который целыми днями должен отчитываться, ревьювить код, инструктировать джунов и т.д. . При этом времени на развитие как разработчика не останется. Конечно, там могут ждать доли в фирме, а могут, и, скорей всего, ждать не будут. В любом случае рано или поздно нужно свое что-то делать.
>>2784781 Постоянные доебы с необходимостью зарегистрировать акк, неотключаемые анальные зонды, постоянные доебы с заshitНиком винды, который ключается сам по себе.
>>2784835 У тебя в ИДЕ зонды. Или ты емаксом пользуешься? > зарегистрировать акк Пришлось пересесть на вин11, нихуя не просит. Даже на 10-ке не просило, на которой я сидел с 2016-го. Что ты там делаешь-то? >который ключается сам по себе. Мне бы твои проблемы.
>>2784835 Я много лет сижу с локальной учётной записью, проблем нет. Дефендер не отключаю, зачем? А на зонды похуй, они всё равно везде. Мы живём в мире победившего Клауса Шваба.
>>2784865 Мидл? Сколько лет опыта? Как там у них эта позиция называется, ведущий разработчик? А сеньор это старший? Или наоборот? Сам хочу туда попробовать, не знаю сколько денег просить.
>>2784871 Это чистыми? Плюс отдельно бонусы, премии? Я манясеньор, опыта лет 6, хотел 300 чистыми просить. Раньше думал это пиздец как много, а теперь это жалкие 3к с небольшим зелёных. Хотя на некоторых собесах жестоко попускают алгоритмическими задачами, так что даже сейчас 300к просить как-то неловко.
>>2785020 Я вообще без понятия, почему то скролл вот так себя ведёт, что происходит хуй знает, реакт роутер 5.2 . Может быть и не в роутере дело, но в чём я хз
>>2784929 Как это все раньше работало на 2-4Гб рам? Сейчас одна только телега может есть около 2-3 гигов, просто месенджер, а раньше на таком же обьеме крутилась ОС + Игра какая-нибудь
>>2785046 >>2784929 Раньше у меня был квадрат 1024х768, и всё было прекрасно. Я даже не думал о том, что кому-то где-то надо 60 фпс. Даже не знал, что мне нужно 60 фпс. А сейчас в минимальном сетапе 2х1920х1080@60
Шторм крутит процессы ноды, если его развернуть. Наверняка там некроговно с бебпаком на дохуиллион строк, и всё это хот-релоадится пересобирается. Хром. Ну, во-первых, у тебя дохуя вкладок. Во вторых, девтулзы таки довольно тяжёлые, вангую у тебя девтулыз в нескольких вкладках. В третьих, всё ещё те самые хот релоады от общение в с вебпук дев сервером.
Если имеешь ограниченные ресурсы - менеджи эти ресурсы. Закрывай ненужные вкладки. Они имеет свой оверхед, даже если ты уже и забыл про них.
учу понемногу тайпскрипт с реактом, разбираюсь с редюсером, скажите на сколько всратый код описания типов от 1 до 5 (если 1 - так писать не надо и 5 - нормально) гпт говорит норм, но я ему не верю
>>2785203 Это минимально жизнеспособный сетап, да. Моники начинаются от фуллхд. Хотя на запасной пеке стоит 1366х768, для анонимного скроллинга нормально. Но попадались сайты где болт кладут на ширину меньше 900. Отдельно попадались сайты где пидорасит на брейкпоинте в 768, а масштабированием работает.
>>2785238 >Напомните, почему реакт заадоптил эту хуйню с редьюсерами и бесконечными свитчами? Так реакт не адоптил бесконечные редюсеры и свичи. Это уже юзеры не придумал иничего лучше, чем писать бесконечные switch case
>>2785275 Одна хуйня. Для асинхронщины тебе в любом случае нужен другой стейт-менеджер. Можешь, кстати, попробовать написать что-то подобное. Потом на собесе расскажешь, интервьюерам обычно такое очень нравится.
>>2785268 > points это типа очки, там от 1 до 15 может быть Используй score: number Он более явно отражает что ты там ждёшь в данном случае. Поинты могут быть как точками в пространстве, так и HitPoints, ManaPoints, так и points в значении очков. score - очки, счёт.
>1. а как прописать тайпсы стейту если изначально он пустой, при рендере компонента туда фетчатся данные если все норм, возвращается сейт с масивом? useReducer принимает вторым параметром исходное состояние. Может быть что-то типо: const [state, dispatch] = useReducer(reducer, { question: [], state: "loading", index: 0, answer: null }) // do something here // state.questions.length ? state.questions.map ... // dispatch dataReceived
>>2785310 Ну ты это, хоть показал бы как надо. В доке нет deprecation метки, в отличии от пик2. Вот они, все параметры на месте, слева направо: useReducer(reducer, initialArg, init?)
> Подобная логика официально deprecated с 29 марта 2022 года. Зачем ты вкатунов учишь устаревшим технологиям? До сих пор не понимаю о чём ты, благо слез с редаксовый иглы примерно тогда же.
>>2785326 >В доке нет deprecation метки Чел, буквально официальная дока. Тебе даже уже компонент готовый запилил что бы ты не говнокодил своими if (isLoading) { return ...} if (isError) { return ... } return ....
>>2785334 Ну так про загрузку уже написали выше. И анон ответил что тренится. Я написал пример инициализации с описанным интерфейсом. Вопросы? Да, надо было оставить абстрактную хуйню вида const [state, dispatch] = useReducer(reducer, initialState) Точно было бы понятнее.
>>2785339 >Вопросы? Нахуя ты учишь вкатунов неправильному подходу? >const [state, dispatch] = useReducer(reducer, initialState) Речь не про твой ебучий диспатч, а про то, как работать с асинхронным состояниям в 2023 году. Если ты этого не знаешь, то и не учи других.
>>2785348 >Вопрос был в другом. >тайпсы стейту если изначально он пустой, при рендере компонента туда фетчатся данные Вопрос был БУКВАЛЬНО в асимнхронном состоянии. Читай ветку с самого начала.
>>2785303 >Подобная логика официально deprecated с 29 марта 2022 года. Я тут мимопроходил, не совсем понял, какая логика официально deprecated? Можете прям в доку ткнуть
>>2785352 С релизом 18 рякта (29.03.2022) официальный подход к работе с асинхронностью - suspense. Поэтому все ваши rtk query, thunk, apollo мгновенно превратились в легаси говнище.
>>2785334 >>2785352 Я вообще не понял про Suspence, разве он используется не для того, чтобы бандл на чанки порезать и потом подгружать в этом suspence? Или он и для фетчинга применяется тоже?
>>2785365 Да да, пришёл, навонял, ушёл. Самоутвердился. Никто кроме него, коненчо же, суспензы не использует. Обосрал, не то что не выдавил хотя бы сниппет на 5 строк, не выдавил ничего кроме suspense. Браво, пошёл нахуй.
>>2785369 >Никто кроме него, коненчо же, суспензы не использует. Именно за счет этого у меня оклад больше 300к с опытом разработки в полтора года, пока вы шлепаете useEffect'ы на каждый пук. >не то что не выдавил хотя бы сниппет на 5 строк, не выдавил ничего кроме suspense. Сниппеты на 5 строк есть офф доке рякта.
>>2785387 >Именно за счет этого у меня оклад больше 300к с опытом разработки в полтора года, пока вы шлепаете useEffect'ы на каждый пук. А ТЫ ЛЮБИШЬ ЧЁРНУЮ МАГИЮ? Потому что именно магический подход ты и предлагаешь. >Сниппеты на 5 строк есть офф доке рякта Пиздешь, 3 строки на пике
>мне не нужны конкуренты Поэтому предлагает сразу брать Suspense.
САП ДВАЧ, ХОЧУ ВКАТИТЬСЯ ВО ФРОНТ, ЧТО УЧИТЬ? НИКОГДА НЕ КОДИЛ @ НУ КОРОЧЕ БЕРЁШЬ dive into python ДОКУ РЕАКТА, TAILWINDCSS, И ТЫ ГОТОВ @ А КАК ЖЕ HTML, CSS, JAVASCRIPT? @ ВЕРЬ МНЕ, ЛЮК, СРАЗУ В РЕАКТ
> Бояться конкуренции вкатывальщиков во фронт из JS треда. > Трясётся, потому что может только клепать формы
>>2785427 >может только клепать формы Ну вот полтора года назад я только и мог что клепать формы, сейчас уже ебашу сложный фронт на PIXI. Так что твой наброс уровня "нихуя не может кроме шлепания форм" не актуален.
>>2785428 Ну то есть с остальным ты согласен, что утверждая, что не хочешь конкурентов, ты заставляешь их заниматься поверхностным изучением. Что и требовалось выяснить.
>>2785431 >ты заставляешь их заниматься поверхностным изучением. Это ты начал сразу учить вкатунца хуячить костыли просто потому, что он выбрал неправильный инструмент для решения своей задачи. Это и есть поверхностное обучение.
>>2785436 Поверхностное обучение, это шлёпать саспензы, не зная какую проблему они решают. Как и вкат по схеме фреймворк => js & co, а не html, css, js вёрстка простых шаблонов на ваниле => фреймворк. А потом мы не знаем как остановить всплытие события и что такое это мистическое делегирование событий. Всё, короче, иди спрайты вращай.
>>2785444 >а не html, css, js вёрстка простых шаблонов на ваниле Ну так че ты ему тогда говоришь шлепать экшены в редьюсерах за место шлепания лэйаутов на гридах?
У меня встал вопрос. Вот у меня есть значение какое-то const hui = 2 например, мне надо в зависимости от него, что-то отрендерить в реакте, но это значение зависит от нескольких значений в разных частях стейта (разные редакс слайсы). Нормально ли, что бы сделать зависимость, обернуть вычисление в \ useMemo(() => вычисления со стейтами -> hui2, [ ссылка_на_редакс_стейт_1, ссылка_на_редакс_стейт_2]). Просто часто так делаю, через useMemo, что бы создать зависимости для переменных.
>>2785511 useMemo сипользуется для мемоизации тяжелых вычислений. Я почему-то очень сомневаюсь, что у тебя там внутри алгоритм со сложность O(2^N), поэтому отвечая на твой вопрос: >Нормально ли, что бы сделать зависимость, обернуть вычисление в useMemo Нет, не правильно.
>>2785528 useSelector несколько раз вызывается к разным стейтам. Потому что будет ворнинг на useSelector((state) => {return {a: state.a, b: state.b}});
>>2785517 ну если допустим форма на 100500 полей, и внутри сортируются массивчик какой нить, не то чтобы это сложное вычисление, но на каждый рендер дергать такое себе. Ну ещё для стабилизации ссылок можно использовать
на связи анон с велосипедным кешированием запросов. Щас у меня кеш хранится в виде пар ключ значение, ключ - строка, может быть урл, может нет. Проблема в инвалидации кеша, целостности данных. Есть много мест где данные приходят с сервера, и они могут быть связаны с кешированным контекстом. Если они обновились то возможно при следующем посещении страницы мы захотим получить какие-то другие данные заново. В итоге получается что штука которая дергает инвалидацию кеша растекается по многим уровням компонентов, и вообще получается много шаблонного кода. Грубо говоря на каждый кешированный запрос должен быть метод который дёргает кеш, метод, который реализует запрос (может быть апи, может быть чё угодно), метод который инвалидирует данные, опять же на каждый запрос надо как-то генерить ключ. Если надо инвалидировать несколько запросов или какую-то их часть то получается полная каша, много кода, дополнительные абстракции и уровни индирекции итд итд. Подскажите пж если есть какие-нибудь общие патерны для кеширования, может какие-то конвенции итд, применительно к рякту.
>>2786006 я смотрел как там сделано, проблема в том что не могу его концепции заюзать на 100% (fetch as you render итд), и тащить его в проЭкт тоже не собираюсь, да и вроде бы там нет какого-то общего уровня где происходит инвалидация, всё распылено на отдельные хуки и их зависимости
>>2786020 Так я тогда не понимаю, что ты хочешь сделать? Что за кеш? Где он хранится? Почему не достаточно встроенных свопособов инвалидации? (etag/замена названия для immutable и т.п.)
>>2786024 Кеш нужен чисто на уровне фронта, в нём тупо данные ЖС, хранятся они в самом приложении (так надо), активен кеш только на опр. связанных страницах, т. е. в рамках некоторого контекста, при выходе за границы контекста или наступлении события он должен инвалидироваться, весь или частично.
>>2786056 Так кто тебе говорит, что что-тол надо тащить в проект? Сам подход переиспользуй, т.е.: каждый запрос имеет свой уникальный ключ, по которому получаешь/записываешь/инвалидируешь кэш.
>>2786059 так я так и делаю, НО лишь частично ибо запрос не стартует во время рендера, а это налагает ограничения на применимость подхода, и в результате получается геморно т. к. инвалидация кеша по сути не является сигналом к ререндеру компонента и реактивации запроса. Инвалидировать и тягать запрос нужно явно по месту где наступает событие. Не думаю что понятно объяснил, но что есть то есть
>>2786053 >установи редакс тулкит, так как ты уже никто не пишет Из 2020 капчуешь? Редакс сейчас только в легаси энтепрайз дерьмище. Все уже перекатились на зустанды, МСТ, ряхт квери, аполло и подобное
>>2786072 Не, в 2023 в районе половины новых проектов с ртк пишут, среди старых ещё больше процент.
> зустанды Сколько проектов на нём, 1-5%? > МСТ 5-10% проектов > ряхт квери, аполло и подобное Первое популярно, а вторая графкл параша на любителя не слишком часто встречается
>>2786123 >в районе половины В 2024 будет уже около 20%. Технология умирает, в ближайшем будущем все будут использовать либо серверные компоненты, либо всякие ряхт квери.
>>2786130 >глобал стейт менеджмент Зустанд/мобикс в глобал стейт менеджменте выигрывает почти по всем параметрам у редуха. >Рякт квери просто альтернатива ртк квери Вообще нет, лул. Ртк квери это совсем базовый менеджер для асинхронщины, useSWR и квери намного более функциональные.
>>2786072 Этот бедолага в 2020 вкатился, и окуклился. Мозгов для рефлексии не хватает. Уже который тред пишет "а чо ни так с ртк" или "чо не хватает ртк", получает струю мочи в ебло, затыкается, и ждёт, когда в следующем треде можно будет че нить про редакс высрать
>>2786203 Причина баттхёрта? Я не фанат ртк, но у меня на двух работах в нескольких проектах везде он, и никаких серьёзных проблем с ним нет. На личных проектах у меня аксиос + реакт квери + зустанд.
>>2786206 Блять, чел. Оно там есть, но оно ХУЖЕ чем у его аналогов. Точно так же там нет суспенса, нет возможности создавать твои миддлвары на лету, нет возможности получить уже полученные данные другим квери.
>>2786213 Да я сам щас на двух работах это дерьмище разгребаю. В команде с такими же окуклившимися. До этого два года работал с нормальными библиотеками и редаксовский кал не трогал, сейчас задыхаюсь нахуй...
1 - обрати внимание, что запрос не происходит во время рендера. А когда наступает событие, не связанное с рендером, нужно не только инвалидировать, но и запросить снова.
2 - обрати внимание на количество шаблонных абстракций в zalupa. И это только один запрос, без логики.
3 - инвалидация и запрос это два отдельных действия, может быть ситуация когда мы находимся в контексте кеша, нам приходят данные, мы инвалидируем, НО данные хотим запросить только когда заново вернемся на страницу
>>2786226 >обрати внимание, что запрос не происходит во время рендера. А когда наступает событие, не связанное с рендером, нужно не только инвалидировать, но и запросить снова Пойди ка доку реакта наверни, чтобы такую хуйню больше не писать
>>2786234 Ты вызываешь getZalupa в useEffect, эффекты в реакте отрабатывают после того, как реакт построил свой VDOM (реактовский рендер), и определил набор инструкций для обновления DOM. Используя useEffect ты НИКАК не сможешь вызвать эффект во время рендера. Если бы ты не был тупым долбаёбом и внимательно читал доку, ты бы знал это, и не высирал эту хуйню. Сдрисни нахуй, ты не осилишь сделать свой аналог react-query. Возьми его и не еби мозги сучий сын
>>2786254 Делай механизм подписки в своём убогом аналоге react-query, делай подписку в теле функции-компонента, до return. В useEffect при анмаунте компонента делай отписку, когда происходит отписка - определяешь на что компонент был подписан, делаешь инвалидацию кэша. Думаю это максимум что можно сделать в твоём шизофреничном вкатунском кейсе. Потом ебись с этим говном сам, если по какому то чудесному стечению обстоятельств у тебя есть работа. Потому коллеги тебе ебло разобьют сука
>>2786254 >Используя useEffect ты НИКАК не сможешь вызвать эффект во время рендера. Если бы ты не был тупым долбаёбом и внимательно читал доку, ты бы знал это, и не высирал эту хуйню.
ну... да, а как это относится к моему примеру поясни? Мне нужно ещё раз: уменьшить дублирование кода, вызывать запросы там где я их вызываю, и иметь возможность их инвалидировать где хочу. Похую где чё вызывается
Пиздец. Одна строчка - подписка в теле функции-компонента, на месте твоей ебучей useZalupa, другие 4 - эффект с анмаунтом вместо твоего ёбаного zalupa.getZalupa. Не представляю, как ты это осилишь, обезьяна
>>2786273 Вот тебе на коленке собранный прототип. Вызывай метод fetch когда тебе угодно (тут - в момент создания инстанса, если он еще не фетчит), делай нормальный ioc, а там уже и до увольнения по профнепригодности тебе далеко, потому что не додумался взять готовое решение
>>2786267 axios идеально вписывается под все задачи. С ним можно легко работать с query параметрами, не делая свои костыли, легко типизировать, не воюя с ебучим Response.json() -> any, легко обрабатывать ошибки, и написать простой интерцептор, вместо того чтобы костылить свой баганный механизм для простого рефреша токена при 401 ошибке.
>>2786289 >не может установить query в url, не может написать дженерик в одну строку и создавать свои кастомные ошибки. Бля я даже отвечать на это не буду. Ну и пиздец, айти 2023, итоги
>>2786298 Да даже если сука раз в десятилетие у меня будет новый проект, нахуя мне надо блять вообще что то костылить с этим фетчем ебучим? Тебе занятся нечем? У твоей "нормальной компании" тасок нет?
>>2786300 >что то костылить с этим фетчем Ну давай, расскажи что там тебе придётся костылить? >У твоей "нормальной компании" тасок нет? Моя "нормальная компания" делает реальный продукт, а не какое-то говно, собранное на коленке для внутреннего использования.
>>2786304 > а не какое-то говно > продукт состоит из самописных обёрток для тривиальных задач Представляю как твои коллеги будут радоваться, когда ты съебнешь
>>2786322 Ты обёртку над фетчем самописную делаешь? Нахуя? Ради 11кб? Интерцептинг в аксиосе нужен чтобы прокидываеть токен в Authorization хедер. Или чтобы когда access token expired перехватить запрос с 401 респонсом и получить новую пару access и refresh токенов.
>>2786350 >прокидываеть токен в Authorization хедер. Или чтобы когда access token expired перехватить запрос с 401 респонсом и получить новую пару access и refresh токенов И это весит 11кб? Слишком жирно.
>>2786355 По той, что ты не читал базу по кнтексту в ЖС. Иди проверь в консольке, если мне не веришь. Создай класс с методом в виде обычной функции и в виде стрелочной, потом сравни поведение.
>>2786288 это всё хорошо, но в моей версии реакта нету useSyncExternalStore, и я вообще про другое спрашивал. Как уменьшить количесво дубликатов кода в моём конкретном примере?
>>2786368 >40 кб либа дает какой-то функционал, которого нет в ваниле НИХУЯ СЕБЕ!!! ЭТО КАК НАХУЙ? >По факту в аксиосе больше функционала, чем в фетче. А аксиос умеет парсить жсон ответ в отдельном треде? А начинать прасить до того, как полностью придёт ответ? >>2786370 >этот функционал не нужен, надо самому постоянно функционал дописывать Ты пока не предоставил ни одного кейса, который не решался бы 1-2 строками на ванильном жс.
>>2786372 >С обычной функцией должно работать. Нет. >Просто забавно, как пориджевые зумерки лепят стрелочные функции куда не попадя. Еще забавнее, как скуф-вкатун пытается строить из себя прошаренного. Так что лучше не позорься.
>>2786371 ну смотри. У меня по факту 3 слоя: api (конструирует абстрактный запрос и делает фетч), zalupa (инкапсулирует формирование запроса в понимании предметной области, обрабатывает ошибки, делает ещё какие-то преобразования) , и та часть которая к кешу конектится, у меня это клиент. По сути это всё ради одного запроса. А потом ещё есть вещи типа инвалидации запросов на разных уровнях. Я могу клиент куда угодно прокинуть и оттуда инвалидировать, Но если представить что появится ещё один запрос, то мне по аналогии придётся всю эту поеботу хуярить. Изначально я спрашивал, как можно всё унифицировать чтобы сократить эти шаблонные вызовы, в примере они как раз продемонстрированы
ой блять додики, вы вот понапихаете либ которые _мало весят_ под выполнение какой-то элементарной задачи вроде хттп запроса, а потом неожиданно ваш бандл вырастает до 10 мб.
>>2786373 >А аксиос умеет парсить жсон ответ в отдельном треде? А начинать прасить до того, как полностью придёт ответ? Такого вообще никто не умеет. Я кстати рили когда-то столкнулся с такой необходимостью в боевой задаче крупного коммерческого проекта.
>>2786489 другой анон Чел, ты в сутки коммитишь больше чем занимают все либы вместе взятые
Данная практика оправдана только в тех случаях, если ты работаешь с каким-нибудь умным домом, умной лампочкой, контроллером, вот там идет ожесточенная борьба за каждый байт
>>2786495 Лучше свой велосипед писать, который скорее всего будет хуже аксиоса? Это не стоит потраченного времени, плюс новым разрабам сразу понятно всё, если на проекте привычная либа, а не велосипед васянский.
>>2786500 > на проекте привычная либа, а не велосипед васянский. @ ПРИШЕЛ НА НОВЫЙ СОВРЕМЕННЫЙ ПРОЕКТ НА АКТУАЛЬНОМ СТЕКЕ @ ВМЕСТО FETCH ИСПОЛЬЗУЕТСЯ ЛИБА ВРЕМЕН ГОСПОДСТВА INTERNET EXPLORER
>>2786505 >Ой, это ведь только в легаси xhr возможно... Нет, на fetch'е тоже делается, ведь он работает на современном стандартизированном Stream API, а не на магии единорожков как xhr
>>2786505 Нет, в фетче есть прогресс в стримах. Собственно, там он лучше потому что данные можно забирать сразу, у XHR ты до конца запроса можешь только текстовое представление брать.
>>2786506 >fetch Перехват запросов ты как будешь делать на своем fetch? onUploadProgress ты как будешь делать? throttle ты как будешь делать? Писать свое? Чем твое лучше чем Axios superagent Ky ?
Пойми, не все делают просто get | post как ты, у многих сложная логика взаимодействия с сервером и Axios\superagent\Ky как раз спасают
>>2786515 >Перехват запросов ты как будешь делать на своем fetch? НЕЕБАЦА_ПЕРЕХВАТ_ЗАПРОСА(req) const resp = await fetch(req); НЕЕБАЦА_ПЕРЕХВАТ_ОТВЕТА(resp); >onUploadProgress Тебе уже выше ответили, подними глаза на пост выше. >Чем твое лучше Тем что работает на современном api со стримами и весит меньше места >Пойми, не все делают просто get | post как ты Да вы только это и делаете, раз никто даже не пукнул про стримы, пока речь про прогресс не зашла.
>>2786510 Какие данные сразу забирать? Мне нужна только цифра, количество загруженных данных, дальше я сам сопоставляю это количество с размером файла и буду рендерить аплоад прогресс.
>>2786519 >НЕЕБАЦА_ПЕРЕХВАТ_ЗАПРОСА(req опа, это нужно будет положить в какой-то файл и написать под него 10+ тестов? нихуя себе, а чем твой прием тогда лучше? Вся та же обертка >Тебе уже выше ответили, подними глаза на пост выше. Ты же понимаешь, что эту задачу не решить в 1 строку, я скинул тебе примерную кодовую базу на коленке, но к ней нужны еще доработки >Тем что работает на современном api со стримами и весит меньше места Старые браузеры забыл? Если на то и пошло, я лучше возьму уже оттестированную библиотеку на стримах, чем пользоваться твоей самоделкой
>>2786527 >Если на то и пошло, я лучше возьму уже оттестированную библиотеку на стримах, чем пользоваться твоей самоделкой А такая библиотека вообще есть? Чтобы под капотом был фетч с реализацией аплоад прогресса.
Если приходит сложная задача, говорим что ее нельзя решить на фронте и всячески пихаем на бек или просто режем техническое задание, говоря что сделаем полную версию в самом конце проекта Потом просто увольняемся
>>2786394 То есть ты никогда в своей жизни не открывал спецификацию языка, на котором ты работаешь, не понимаешь, по какому алгоритму определяется this в JS и поэтому пиздишь про магический контекст, который никакого отношения не имеет к this?
>>2786539 Это не готовая библиотека. Я не хочу вручную всё это костылять и тестировать. Я хочу аналог аксиоса, но чтобы было построено на фетче вместо XmlHttpReqest.
>>2786537 Нужно отрендерить на основе данных с сервера, которые приходят стримом? Аксиос это умеет.
>>2786544 Потому что для пожилой базы есть ангуляр, для пахнущего пропёрженным свитером энтерпрайза. Для пахнущего пориджем энтерпрайза — рякт, он же для продуктового фронтошлёпства. А для перформанса можно и свелт взять, хотя солид тоже ничего, но он ещё не имеет достаточного adoption.
>>2786571 Да нет, все растут. Это ебучие пики масштаб портят и нихуя не понятно. Реакт быстрее, остальные плюс-минус одинаково. Но кажется это эффект высокой базы, на логарифмической шкале наверное всё по-другому будет выглядеть. Надо каки-нибудь графики получше чтоб разглядеть.
>>2784966 у меня 16 одной плашкой с магаза пришло. похоже нужно вторую докупать.
>>2785083 >Я даже не думал о том, что кому-то где-то надо 60 фпс. Даже не знал, что мне нужно 60 фпс. Помню как-то к товарищу пришел в сосничестве, у него там игрулка какая-то была, фпс 15-20 было, зато какой графон!
>Хром. Ну, во-первых, у тебя дохуя вкладок. +-8 вкладок обычно. 3 мертвые, в которые захожу пару раз в день, остальное двач и работа.
>Если имеешь ограниченные ресурсы - Да проще железо докупить. Я на ноуте из прошлой эпохи вкатился, там реакт минут +- 3 минут компилился полсе сохранения, ангуляр и все пять мог. Думал вот возьму ноут за сотку - все летать будет. А после как на шторм пересел, подлагивания какие-то появились.
>>2785362 У меня 8 было, но там диск хдд убитый был полностью.
>>2786710 Я писал код в vime, у меня были расттавлены приорететы на расход оперативки, потом просто earlyoom поставил. Ну и очевидно фигму и проект одновременно не открыть поэтому деалал скрины.