Вы видите копию треда, сохраненную 13 апреля 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в Ад.
Для программирования на HTML https://jsfiddle.net/
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Руководство для вката:
https://developer.mozilla.org/
181 тред, а в шапке хуй да маленько. Хоть бы ссыль на руководство по стилю запилил.
>могли бы посоветовать, типа курса Буры?
Видеокурсы по большей части все хуета, особено с Udemy. Преподчитаю сервисы с теорией в виде текста и с задачами, например вот https://www.freecodecamp.org/learn
Конечно нужно, меня заебали уже "мидлы", которые приходят на собесы и не знают как ДЖС работают, зато думают что раз могу туду-лист на реакте захуярить так невьебацца фронтэндеры.
Без знания основы джса будут постоянно проблемы в больших проектах, с дебагом, с this, с обьектами и т.д.
>использую вебпаковские фичи из коробки, ES2019 удобные няшные фичи, вот это всё
Это да, жалко в голом js такого нет(
Как Реакт вообще связан с новым синтаксисом JS? Старое говно типа особенностей var можно не учить, но по-моему этого и так уже нет ни в одном курсе.
Есть где-то вариант посмотреть как НУЖНО использовать ТС на на реальном проекте? Может курс какой, где пилят хуню на ТСе?
Тебе нужны ооп, solid, паттерны хуяторны, это все. Пили тудушку на nestjs. Для другого typscript ненужон
Ходя тудушки для этого мало. Пили хоть инстаграм какой
>указываю типы переменных там, где можно
Что значит «там, где можно»? Ты их должен везде указывать.
Иногда они указываются неявно компилятором.
Но когда я потом в хуке указываю в зависимостях restProps, то он видимо на каждый рендер считается новым объектом и бесконечно тригерится. Как это обходить?
Не указывать restProps в зависимостях, только конкретные пропы. Вообще такое прокидывание это сорт оф антипаттерн.
На чистом JS уже давно никто не пишет, читай книги по соответствующим фреймворкам - React, Vue, Angular. После TS зайдёт Angular, если сам TS зашел.
const zero = () => {}
const one = () => {}
const two = () => {}
const three = () => {}
const four = () => {}
const five = () => {}
const six = () => {}
const seven = () => {}
const eight = () => {}
const nine = () => {}
const plus = () => {}
const minus = () => {}
const multiply = () => {}
const dividedBy = () => {}
console.log(seven(multiply(five()))) // must return 35
console.log(four(plus(nine()))) // must return 13
console.log(eight(minus(three()))) // must return 5
console.log(six(dividedBy(two()))) // must return 3
написать калькулятор типа надо
Операторы - просто краррированные функции
Числа - при ноле аргументов - возвращают число,
при одном аргументе - считают что эту функция одного аргумента, вызывают ее с числом
показываю первый пример.
const seven = operation => !operation ? 7 : operation(7);
const five = operation => !operation ? 5 : operation(5);
const times = number => another_number => another_number * number;
console.log(seven(multiply(five()))) // must return 35
>Что значит «там, где можно»? Ты их должен везде указывать
Зачем? Если после объявления идёт сразу присваивание то компилятор будет знать тип
вернее вместо times называй multiply функцию.
>На собесе обосрался на задании по ванильке
Спижжено в кекслета, числа черча, 15 минут лол чтобы изобрести и чтобы собеседующий язвительно кекнул за твои жалкие потуги
https://dev-journal.ignat.co/church-numerals/
В армиях тоже не каждый день по врагам стреляют, но при этом стрелять уметь всё таки нужно.
>стрелять уметь всё таки нужно.
ну постреляй этим высером, может тебе еще 2 числа местами поменять без дополнительной переменной
const SixHundredAndOne = Succ(Mult(Mult(Thirty)(Five))(Four));
Эту задачу я уже как минимум дважды видел в номерных жс тредиках. Вот если б ты сидел здесь, а не на аниме сайтах дрочил, то знал бы, как решить эту элементарнейшую задачу. А так ты поделом соснул.
>знал бы, как решить эту элементарнейшую задачу
да за 5 секунд гуглится, это уровень почему люки круглые
> знания возможностей языка
Тогда почему они пишут "must return", а не используют console.assert?
Меня на собесах еще ни разу не опустили по знаниям Хуякта. Но все разы когда я обсирался, я обсирался на ванилле
>>45968
>>45989
Понял принял.
>>45989
Ну там можно использовать новые фичи, сам реакт этого не требует канеш.
Отсюда еще и кажется, что вот сейчас пройду курс по последнему модному стандарту, все там будет лампово и сладенько, а потом на собесе дадут задачу с синтаксисом 10 летней давности, которого я в глаза не видел, и обросрусь. Или ниже 2016 это уже совсем древнее говно, и такого на собесе уже не спросят?
Когда опускают, то материнкой по лицу проводят? Картридж перезаправлять заставляют? Точку над губой накалывают?
Это не TS тред.
1;
и оно работает, а все потому что операторы пробела и переноса строки работают. и что они делают? правильно, они возвращают второй(правый) операнд.
запятая по стандарту требует два операнда. оператор пробела унарный и может быть постфиксным или префиксным как инкремент
согласен, и страницу состоящую из импортов - как пример когда
Я токен в гугл клауде получил. В консоли пишет, мол иди в раздел с оплатой.
Объясните чё там с деньгами, нахуя им мой платёжные аккаунт?
>Гайс, кто прикручивал гугл карту к спа на реакте?
А токен спиздить нельзя с любого сайта с картой?
>вместо того чтобы перекатиться в ДС и зашибать бабло 3Д-дизайнером, садится на шею мамке и наивно думает, что с околонулевыми знаниями сможет ВАЙТИВАЙТИ, МАМ Я МИЛЛИОНЕР!!!
Сочувствую. не тебе, а твоей мамке, хотела себе сына, а получила дебила инфантильного
Ну деньги-то у меня пока есть, а грофон я уже видеть больше нахуй не могу, да и даже в дс зарплаты все равно говно, я хоть сейчам мог бы удаленку там искать
>>46580
До этого пока еще не дошел, я по мере изучения реакта еще жс обычный учу, до этого вообще не кодил никогда, просто по клику выдаю разные данные по разным id
>>46574
>>46579
Да я уже знаю что вы скажете, я не собираюсь с этим уровнем вкатываться, я учиться-то полноценно начал буквально вот неделю.
Думаешь там прошел пару уроков по максу и давай бабло грести? Такого предложения овердохуя на рынке, перспективы очень туманные, ну в лучшем случае найдешь себе местечко со средней зп, и будешь сидеть там до конца своих дней. Если не умеешь хотябы на уровне микеланджело скульптуры в зебре лепить, то ты нахуй никому не нужен, а потом придешь на работу, и будешь лепить говно по всратым эскизам. Это как учиться 10 лет на композитора, а потом продюсировать музыку для какого-нибудь хайпово-попсового поноса сдерживая блевотные порывы. Единственное исключение, если ты пиздец какой художник, и твои арты кто-то будет покупать из-за их художественной значимости, типа как у ломпаса.
>из-за их художественной значимости
>типа как у ломпаса.
Проиграл. У него покупают не из-за значимости, а из-за пропиаренности.
>Думаешь там прошел пару уроков по максу и давай бабло грести?
Он уроки и не проходил, он уже работал. Строчки в резюме о бывшем месте работы уже достаточно для того чтобы найти работу в ДС и получать на старте 1.5х-2.5х от того что ты получал в мухосранске. И с другой стороны сфера IT, которая захлебывается от вкатунов типа этого клоуна.
Однохуйственно, ты же понял о чём я. Платят ему не за то, сколько он часов там возился. Вот с грофоном как раз наоборот. Плюс тут как раз таки пиздец именно в том, что это типа вроде как ТВОРЧЕССКАЯ профессия, вот в этом-то и кроется весь пиздец, что если ты любишь этим заниматься, то каждый день будешь себя морально насиловать.
>захлебывается от вкатунов типа этого клоуна
Тот, кому ты отвечаешь и клоун, это один и тот же человек это я.
Я и не собираюсь на уровне вкатуна просить взять меня сеньёрить, но вас послушаешь, так программистов вообще не существует. А все невкатуны сразу же на уровне мидла начали учиться кодить, не меньше, ну вот что за хуйню-то несёте?
Я графонщиком более 5 лет работал, и перспектив там буквально ноль, усираться нужно не меньше, а на выхлопе ты все равно обслуга для кодеров, не больше. Так что ну его нахуй, зачем тратить время на улучшение скилла в графике, когда его можно потратить для куда более перспективного занятия
что бы не ебануться головой об камни, когда упадешь со своего светлого предполагаемого тобой будущего, нужно достаточно глубокое понимание ситуации.
нужно бля понимать, тебя в хуй не ставили, потому что там долбоебы сидели? или потому что ты высирал говно вместо 3д? или потому что ты омега сыч? а может ты просто перегорел и все придумал?
а почему ты считаешь, что выучишь веб, и тебя возьмут нихуя не делать за 300к? веб это самое грязное место в программировании, ничего более ублюдского чем веб никогда не было. "ну есть же нормальные правильные практики и всего то нужно их придерживаться" - а никто не знает как правильно, по этому из года в год придумывают новую модную хуйню и ты обязан ее выучить.
в андройде и иоси хотя бы дают рекомендации и стандартные средства разработки, а тут тфу бля идиоты одни вкатывальшики
>>46579
Ах да, чтобы окончательно развеять маняфантазии по поводу графики, у меня зп была 50к. Градации были такие, джун 40, мид 45, сеньер лол 50к.
Тян в той же компании работает кодером, со старта ей предложили 90к с 3х летним опытом работы мидла, когда она захотела уволняться ей предложили 120к формально повысив ее до тимлида, чтобы только не уволнялась, задачи остались те же самые. За прошлый сданный проект ей дали премию в 40к поверх этого. Моя самая большая премия за все эти годы была 7к. 2м кодерам, которые уволились недавно, искали замену 2 месяца, одного пришлось приглашать из другого города. Когда увольнялся я, мне замену нашли за неделю, выбрав из 5 кандидатов, которые на нож друг друга за моё кресло готовы были посадить. Ну дальше можете маняфантазировать сами.
Блядь, объясни мне, что такое НЕ вкатывальщик? Какой другой вариант стать 300к наносек еще есть? В вебе блядь джунам больше платят, чем мне с моим опытом, дальше слушать эти охуительные истории я уже просто не могу.
>Я графонщиком более 5 лет работал, и перспектив там буквально ноль, усираться нужно не меньше, а на выхлопе ты все равно обслуга для кодеров, не больше.
Так можно про любую работу сказать, если учесть, что речь о работе в мухосранске. Если бы фронтендером был, то говорил бы, что усираться нужно не меньше, а на выхлопе ты всё равно обслуга для бэкендеров, не больше.
>обслуга для бэкендеров
вот только твой доход х3, а перспектив вообще в бесконечное количество раз больше
>5 лет опыта
>хорошая зп для мухосранска
>маам, держи меня, я вкатываюсь в айти!
Сказочный дебил. Описанные тобой кодеры либо имеют профильную вышку + опыт, либо просто дохуя опыта. Ты же с голой жопой собрался с ними конкурировать.
>Ты же с голой жопой собрался с ними конкурировать
Ну в графике я же с голой жопой как-то конкурировал не имея ни того, ни другого, а там ведь вкатывальщиков еще больше. Как же так? Зайди я в 3D тред, мне бы там так же рассказывали, что дизайнеров не существует?
Джсон формирует мой сервер, там все предельно просто, по запросу и с соответствующим айди отдается объект из массива, мне интересно было в принципе сделать так, чтобы фронт с беком как-то соеденились. я в ахуе с того, как на меня набросились, тащемта вам ли еще говорить, что у меня есть какие-то маняфантазии поповоду вката, если я постоянно в вашем же треде и сижу
Вкат это миф.
я высрал хуйню не для того, что бы ты расстроился и забил на это дерьмо. это действительно самый простой путь к 300ккк. но только в плане того, что 3д макакой было практически невозможно, а тут будет полегче. важно понимать, что дрочить это нужно целый день и каждый день, и только потом ты сможешь нихуя не делать за деньги, причем буквально, абсолютно
>целый день и каждый день
Так я для того всё и бросил и вернулся в родной город, пиздец конечно, колесо сансары сделало полный оборот, и мы наконец пришли к тому, с чего я начал
Абсолютно то же самое можно сказать про всё что угодно, где угодно, в любом году, в любой точке вселенной
лень расписывать кароче качать еще надо софт скиллы и я бы даже сказал они важнее. программирование то непосредственно любой додик выучить может.
я когда закончил школу в 2010 году думал накидаю в портфолио говна и будет все заебись, но пока продолжал учиться слишком заморочился на коде и забыл про это. у меня не сказать что совсем все хуево было. но люди прям идиоты, их носом стучать надо в твое охуенное портфолио, по этому я тебе предлагаю плясать в этом ключе. ну ебать действителньо учить программирование это ебать долго и нудно, а нахуярить порфтолио не нужен даже средний скилл, я тебе все придумал иди работай конь
это вопрос-подъёб или что?
Я думаю нельзя спиздить, иначе все пиздили бы токены, а в гугле же не дебилы работают.
const five = (n?: string) => ebal(5, n);
const seven = (n?: string) => ebal(7, n);
const multiply = (s: string) => `* ${s}`;
console.log(seven(multiply(five()))); // must return 35
>Как же так?
В этом и дело - IT и 3d дизайн это не одно и тоже. Особенно в 2020. Ну ничего, всё равно ты уже проебал все полимеры, жаль только не расскажешь об этом когда осознаешь после того как не сможешь никуда устроиться.
Так все и пиздят. Гуглу на это похуй, потому что им платит за это владелец токена, а то что он его не скрыл - его проблемы.
У яндекса не привязывается.
Нет няшечка писечка, суть как раз в конкуренции, иначе никаких джунов не существовало бы
Нет
Эту задачу я решил но потратил целый день, вообщем хочу у вас попросить сделать мне рекомендацию от тех кто прошел свой тернистый путь, посоветуйте пожалуйста какую нибудь хорошую песочницу с заданиями по нативному js, так же любые интересные ресурсы что можно почитать может книги есть хорошие какие. Буду очень признателен, очень хочется каждый день получать буст в Js, интерес имеется башенный.
В обмен на действительно хороший ответ с классным стаффом могу предложить задизайнить банер в ютуб шапку там например или шо другое, если конечно нужно будет.
upd1.
Так же были бы интересны приложения под Андроид по теме Js.
SoloLearn есть если шо мб ещё чего интересного есть
С чего ты взял, что привязывается, дауненок? По твоему все запросы через сервер идут, а не напрямую к api гугла?
Ну то есть let x = 0
А потом x = x+1 каждую итерацию в forEach или map.
Когда функцию рекурсирвно вызываешь - передаешь в нее новый стейт
Числа по своей сути иммутабельны, потому что каждый раз создается новое число, а не изменяется старое. Иммутабельность объекта это когда ты имеешь {x:1,y:2} и вместо того чтобы заменить у текущего x на 4, создаешь новый объект {x:4,y:2}. Хорошо это тем, что если кто-то хранил ссылку на первый объект, то он не получил вместо ожидаемого x:1 измененное x:4
Все понятно с тобой. Иди дальше пеняй рефереры у клиентских запрсов, сторонних фреймов.
Пищдец. С кем я сижу.
Скотина тупорылая, ты хотя бы погугли перед тем как в штаны срать. Это не я придумал, на хабре об этом не раз писали. Но да, если ты даун, то лучше заплати.
Что мне гуглить, мань. Я то понимаю о чем говорю, я с этим каждый день работаю. Хуябр, блядь. Я 20 лет в профессии, ты серьезно думаешб что, я что-то не чиал, ежденевно сижя за пекой 24/7? Ты дебил?
Ой, все, блядь. Я не могу уже. Идите нахуй.
Я шесть лет вам тут тред перекатываю, слветы даю, но вы меня доебали. Вы блядь тупые. Простт, совсем уже. Чем дальше, тем хуже.
Ебитесь дальше сами.
Плйжу на пенсию петы пилить. В пизду ваше сообщество.
>Отсюда еще и кажется, что вот сейчас пройду курс по последнему модному стандарту, все там будет лампово и сладенько, а потом на собесе дадут задачу с синтаксисом 10 летней давности, которого я в глаза не видел, и обросрусь. Или ниже 2016 это уже совсем древнее говно, и такого на собесе уже не спросят?
В том то и дело, что учить надо с основ вверх, а не наоборот. Как можно знать let const, но не знать var? Как можно знать стрелочные функции, но не знать как работают обычные? Как можно знать "классы", но не знать прототипное наследование и потом дристаться при дебаге, если вдруг сорус мапов нет. И так далее.
Если будешь знать основы, то никакой синтаксис тебя не напугает.
>чтобы собеседующий язвительно кекнул за твои жалкие потуги
Вот и первый разрыв жопы у хейтерка
>лямбда исчисления ему блять надо
Еще одна жопа разорвалась в клочья. На лямбда исчислении строится большая часть основы JS, так как JS испытал сильное влияние от Scheme.
Функция принимающая аргумент и возвращающая его называется Identity function или по-русски функция тождества.
>Старый синтаксис СЛОЖНАААААА!!!
Не еби мозги. JS маленький язык. В нем мало синтаксиса. Больших изменений в синтаксисе нет. Подтянуть ES3 и ES5 достаточно 1 дня.
>Да я уже знаю что вы скажете, я не собираюсь с этим уровнем вкатываться, я учиться-то полноценно начал буквально вот неделю.
Почему? Ебашь на собес завтра же. Не слушай дебилов.
>оператор пробела
>оно работает, а все потому что операторы пробела и переноса строки работают. и что они делают? правильно, они возвращают второй(правый) операнд
Я не так давно начал вкатываться в жс, и честно говоря хуею с этого треда. Люди которые такие перлы пишут учились на хекслете?
>учились на хекслете?
Очевидно, что человек который держит в голове реальные знания, не будет тратить память на "оператор пробела унарный пук между двумя операндами пук", эта дрочка исключительно для студентов, что бы они ахуевали от компуктер саенс и платили за очередной курс, т.к. проебали 3 месяца на циклы.
const id = n => n;
const _5 = (f = id) => f(5);
const _7 = (f = id) => f(7);
const _m = a => b => a * b;
console.log(_7(_m(_5()))); // must return 35
ох уж эти оправдания безпробельных
Сап, динамические. Возникла потребность автоматизированно загружать видео с твиттера, однако url видоса запрятан глубоко в пропсах. Есть ли возможность получить доступ к пропсам при помощи ноды или еще каких инструментов? Предполагаю, что селениум может что-то предложить, но пока ищу дополнительные варианты.
Каковы шансы на успех данного предприятия?
Стремятся к 100%.
Там нужно пройти рассмотрение, чтобы получить ключ. Мне казалось, что распарсить страницу твита на поиск url будет быстрее или интереснее.
ты тоже их пойми, у них не было секса уже года 2, после того как их бросила тян первая и единственная в жизни
Писей, наверное, дурно пахнет.
это зависит от архитектуры твоего приложения. Но вообще стремятся разделить компонент на контейнер(где вся логика и данные) и отображение, где разметка
Те я могу создавать отдельные функции которые просто рендарят какой то элемент и хранить их в отдельных файлах и в них прокидывать нужные данные? Но обязательно будет один или несколько компонентов с кучей кода, или этого лучше избегать?
В целом очень стремно писать и проходить рассмотрение, да и цели мои им могут не понравиться. Нет, твиты не ворую, но хочу видео из твитов пересылать в виде самого видео, а не ссылки на твит, что, как по мне, сделано намеренно с целью привлечь людей на сайт.
Та ладно тебе, у них просто стоит хуй.
А вообще, js и другие смузийные области сами по себе хуевые. Вот пошла бы к нам, эмбеддерам, мы бы тебя на пиво позвали бы. Или на водку. И относились бы к тебе как к нашему корешу. А если бы ты и кому-то понравилась бы - тебе бы тут это напрямую бы сказали.
>Но обязательно будет один или несколько компонентов
Да будет и это хуево, но с опытом научиться создавать массу абстракций, которые также будут говнокодом, который понятен только тебе, но зато выглядит более профессионально
никому не всралось твое приложение, это ты делаешь для себя в первую очередь, чтобы руку набить
хероку
Поднимай сервер на node.js, покупай сервак (самый дешевый стоит около 100 рублей в месяц) и деплой туда.
Ясн. Ну как лайфхак можешь попробовать парсить выдачу savetweetvid.com, там наверно проще будет
Heroku, AWS free tier, Vercel/Zeit
Телеграм @NovDeutch
Через валидаторы или тайпгарды. Первый вариант предпочтителен, ибо избавляет от фактора чел-овеческой ошибки. Например, runtypes или io-ts.
И правда получилось в разы проще, спасибо!
Сап, любители undefined, пишет вам масленок пяти месяцев опыту работы.
Пишу на Angular корпоративные штуки. Заметил, что в вакансиях, на фриланс, да и вообще в проектах анонсов, где иногда нужна помощь а я и не против бы помочь за спасибо/банку сгущенки/стакан молока чаще требуют react или вью. Стоит ли начинать учить реакт? Не хочу заниматься корпоративными приложениями с комбиками и графиками, хочу йоба стартап у мамули на кухни за тарелкой борща.
> корпоративными приложениями с комбиками и графиками
в реакт нормальные таблицы человеческие не завезли уровня w2ui, одно зумерское материал уи говнецо на которое просто блевотно смотреть, а sencha платная
Я работаю с ag-grid и его надстройка и, разработанный в самой компании, но, я так понимаю, людям нравится плоский дизайн, ни одна из тяночек-писечек-дизайнер, на которых я подписан в инсте, ничего другого не публикует.
Уж лучше вообще не знать, что теряешь, чем попробовать и перестать
Ну и "хау ит лукс лайк"? Ты прикрепил статичную картинку, из которой нихуя не ясно. Покажи, как перформит таблица на флексе с сотней тысяч строк.
> Покажи, как перформит таблица
луше вобще покажы таблицу на жс чтобы хоть похожа была, кроме w2ui который 900кб текста, а там во флексе изкаробки, я что сам должен 50к строк хуячить
Есть один сайт со статьями. Сайт позволяет скачивать JSON статьи вместе с css html разметкой. Могу ли я забрать этот JSON с конкретной статьей и назначить туда другой CSS, свой?
ну знаешь, с таким подходом можно все подряд хуями крыть и в итоге ты и не используешь готовое говно и не пишешь свое.
я вот помню че то такое трогал лет семь назад на жопаскрипте, ну то есть прям мощный какой то корпоративный фреймворк с таблицами, сортировками и всем что тебе надо, да вот просто не помню как называется. я тогда разбирался в вопросе новичка, это был единственный раз когда я это трогал, но название этого дерьма тогда иногда мелькало. и сука бля найти его не могу пиздец ёбанный
>ну то есть прям мощный какой то корпоративный фреймворк с таблицами
Вангую, это было нечто подобное Kendo UI.
в том то и дело, что если погуглить то можно нарыть много всякого табличного говна и сразу видно что это ебаное ублюдство
а там было как то по умному хуе мое, по этому я это и запомнил.
ExtJS, нюфань.
Calling methods on a child component should not be an anti-pattern or considered a bad pattern.
https://github.com/kriasoft/react-starter-kit/issues/909
Спустя некоторое время
>нет я не могу добавить рамочку вокруг компонента, придется переписать парент, чайлд и еще сиблингов тоже. Ну так получилось
Можешь, разрешаю.
В реакте что-то как-то немножко дохуя бест практисиз.
И каждые несколько месяцев - новые.
Им самим, блядь не смешно?
Клоуны ёбаные.
Ехал паттерн через антипаттерн.
На написание кода просто не остаётся ни времени, ни сил.
Это какой-то просто адовый пиздец.
https://dev.to/3vilarthas/vuex-typescript-m4j
Так и знал, что вся эта вуйная няшность ненадолго, и ёбаные прогрессоры сломают всё нахуй и будет пиздец типа ёбанного реакта (см. коммент выше).
Они сказали "Вася, зачем ты так нарядился?".
Я хуй давно забил на чистый код
Устраиваюсь в компанию, говнокожу, понимаю что пиздец проекту и сваливаю с компании.
Это работает только с примитивными типами. В других случаях надо все указывать, в том числе тип возвращаемого значения из функции и даже тип данных в стейте.
Нахера тебе типизированный стор? Типизация для трусов
аутист делает хуе мое невзламываемую ауторизацию.
на анонимной борде без регистрации.
ее никто никогда не будет использовать.
лучше бы дрочил теорему унарного пробелоида ейбогу
Вот приходит у меня с бэка json мне надо посмотреть в нем поле obj.employee.name но поле employee может отсутствовать (undefined) как мне грамотно вытащить оттуда name либо вернуть null / undefined если его там нет? Нахуярить лесинок из if-ов? В Питоне бы просто написал что-то вроде:
name = obj.get("employee", {}).get("name", None)
1) дождаться когда запилят optional chaining оператор
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining
2) склеить всё через OR
> name = obj.get("employee", {}).get("name", None)
name = (obj.employee || {}).name || null
Ага. Типикал врот-энд.
К сожалению, Андроид скатывается в такую же хуйню. Меняют все каждых 2 года.
Говнина ебаная. Не интересно нихуя, так еще и умняки-смузихлебы выебываются дохуя.
Съебусь в embedded и пошли они все нах, буду хоть делать че интересно мне бля.
>Съебусь в embedded
Орунах. Удачи поебаться с проприетарными протоколами, когда будешь коннектить несколько девайсов.
> мне интересно
Читай внимательно. Вот то, что ты как раз написал мне и есть интересно.
Прикинь, мне интересно писать на Си. Да, а ещё мне по кайфу читать даташиты (а из 90х - ещё интереснее). А ещё, о боже, какой блять ужас, мне интересна даже схемотехника.
Так что, живи теперь с этим.
>Так что, живи теперь с этим.
Да поебать мне, есчесно. Я жил с этим, так что похуй, пиши хоть на асме.
Мы тут за зож - купи себе риса.
В прикуску купи себе бри или моцареллы. Можно камамбер.
Можешь взять грамм 400 хамончика в качестве десерта.
Пол-кило курятины.
На десерт купи себе ананас - полезно для сосудов.
И мне поебать, епта.
Кек и это при том что питон и близко не ФП ЯП
Писос, геттер с дефолтным значением это ж блять lingua franca, хуле в жс такого еще нет?
В js лучше:
let emplName = (employee || { name:undefined}).name;
Нет колбасы из гетов и всё понятно.
>let emplName = (employee || { name:undefined}).name;
let emplName = (employee || {}).name;
или
let emplName = {...employee}.name
по теории пустого пробела ты должен делать через роутеры
> сожрать полтора кило контента это новая эра зожа?
Ты шо, ебу дал, не за один раз. Это на несколько приемов, лол.
Promise<ProductCard>
ProductCard - это моя модель, которой должен соответствовать response. TS мне сразу же подсвечивает все и говорит "TS2739: Type 'HTTPResponse' is missing the following properties from type 'ProductCard': fullname, price"
Че за хня? Че ему блин не нравится? Я ж все указал
При чем тут IE11? Открою секрет: далеко не все юзеры сидят на последних версиях браузеров, так что даже ?? порой может обсериться без полифила
Что вы, все в js пришли чтобы быть модными? Чтобы состоять в модном комъюнити? Чтобы быть в тренде и нести миссию?
http.get<ProductCard>
https://stackoverflow.com/questions/41103360/how-to-use-fetch-in-typescript
>>47916
Отсутствие модных ?? и ? полифилом не решишь, только транспайлинг
>далеко не все юзеры сидят на последних версиях браузеров
Они хотя бы имеют свойство автообновляться, а IE11 конченый пидор, умеет только Please install Edge
Мне тут в /б/ попался тред про то, что можно в Javascript зарабатывать много денежек90к в месяц ебать со старта. А денежки я люблю. Плюс долги есть.
Как вообще по быстряку вкатиться в ИТ? Желательно ссылки кидайте которые как для даунов. Я просто плохо в школе учился. Но я деньги люблю так сильно, что думаю вкачусь прям за 3 недели и пойду на фронтедостроительный завод ебошить похлеще вас.
Всем спасибо за ответы
о чем ты спрашиваешь? я вообще энтузиаст рнн, по этому мне не интересны всякие модные либы и фреймворки, а о дегенератах в комунити говорить ничего не хочу.
Купил курсы юдеми вкатываюсь уже третий день, главное для меня сейчас наушники помощнее иначе на работе фрезерный станок тарахтит нихуя не слышно, думаю за пару недель осилю жс этот, че я тупее других что ли? Удачи бротан у тебя тоже все получится
Хуятыш, лол.
Там именно что пиздец.
Просто жс-ники уже принюхались, и им норм.
Правда, я сам пока не смотрел, что там на самом деле, в новом Vuex.
Возможно, это просто долбоёбский пример, т.к. в жс-теме очень много дегенератов, совершенно лишённых чувства меры и гармонии и не умеющих писать чистый и красивый код.
>>47733
Хуй знает. Там свои проблемы.
И самая главная - это гугол.
Но не в реакт, это совершенно точно.
Сейчас народ потихоньку выкатывается из реакта, устав от интенсивных колебаний линии партии (ехал паттерн через антипаттерн) и некоторого избытка BLM-баннеров на коммьюнити-сайтах.
Мне кажется, надо просто подождать, пока всё не устаканится.
Но, Vue 3 надо уже пробовать, я думаю.
У тебя JS или TS?
Сделать можно по-разному, тебе уже насоветовали тут.
В случае TS может быть ещё интереснее - см. https://www.typescriptlang.org/docs/handbook/advanced-types.html
>И самая главная - это гугол.
Так это не личный проект гугла, а его покупка, так что за судьбу можно не беспокоиться. При этом TS набирает популярность, а ангуляр как раз заточен под TS.
это паттерн правильного завершения потока
https://habr.com/ru/post/164487/ "коко какие еще потоки в жопаскрипте" - ну асинхронной залупы, все одно и то же бля
А нода случаем не при каждом запросе будет парсить либы?
Строить адекватную архитектуру, а не говно в котором дочерний элемент меняет стейт родительского.
Если сборщик с древотрясом, то наверное должен неиспользованные экспорты вырезать из билда
Прокинь вниз кастомный ивент епты
Если просто нода, то похер что как ты импортируешь, максимум на код-стайл влияет. Я про вебпаки с роллапами
> всякие задроты рубают кэш за нихуя
Так не бывает. Далее девочкам за красивые глаза не платят.
>говно в котором дочерний элемент меняет стейт родительского
так говорят дегенераты, которые начинают городить каскады говна на говне, когда архитектура не может быть приведена к древовидной форме.
а почему так происходит и что же с этими ебланами не так? да у них просто icq двузначный и сложные концепции(тупа проект) у них в голове не помещается, по этому они малюют uml схемы, в которых видите ли некрасиво выглядит когда стрелки через пол ебала тянутся из одного конца в другой.
они забывают основной принцип программирования KISS, вот и все. по этому в некоторых конторах ребятам с трехзначным icq важно мимикрировать под этих дегенератов, что на самом деле очень просто, так как кривой косой код очень плохо поддается пониманию, и уже действовать по обстоятельствам. лично я бы этим выблядкам руки ломал, ну а кто то может проявить желание обучать этих обезьян уму разуму, кто то будет склонять руководство увольнять их, но лучше всего найти нормальную контору
1) В родительском создаешь стейт
2) И функцию, которая ее меняет.
3) В дочерний прокидываешь эту функцию в пропсах
4) Вызываешь ее в дочернем компоненте
5) ???
6) PROFIT!
Бля в родительском компоненте определил стейт и функцию которая рендерит список , прокинул через контекст в потомка, там отрендерил, теперь пытаюсь из потомка при клике по элементу поменять значение стейта в родителе типа setState(newValue), бля ебать
Сейчас тебе BLM-активисты пояснят за антипаттерны, лол.
На самом деле, непонятно, антипаттерн это у тебя или нет.
Потому, что есть миллион нормальных вариантов, когда у тебя в дочернем компоненте генерируется событие, и, в результате (каким-то образом) меняется стейт родительского.
Поэтому:
1) Недостаточно информации.
2) Передавай наверх события, как тебе уже сказали. А там - разберутся, лол.
3) Если это что-то сложное, используй централизованное управление стейтом (редукс там, хуюкс, и прочее). Т.е. передавай то же событие туда. В общем, это тоже "наверх", но, в более высокую инстанцию.
>в более высокую инстанцию
Чет всхихикнул, попробовать штоле теперь называть не сервисы, а КОМИТЕТЫ
High Comitee Pattern.
Ты либо делаешь это через жопу, либо объясняешь через жопу, одно из двух.
Если показать код, то можно будет определиться, я думаю.
> архитектура не может быть приведена к древовидной форме.
у тебя фреймворк не может делать простейшие вещи убогий
Да вобще пиздец че приходится выдумывать, чтобы скажем из родителя сказать компоненту таблице типа выбери мне вот эту строку. Выбери строку блять. В нормальном языве просто делаеш tablitsa.select(rowId), но высер денчика выше этого
> используй централизованное управление стейтом (редукс там, хуюкс, и прочее)
Потом начинается, у меня onScroll выполняется 1000 раз в наносекунду, редукс делает бррррррр
В другие языки ходить не нужно. В Ангуляре это реализовано при помощи декораторов input и output, первый используется для того чтобы передавать данные от родителя к дочернему элементу, второй для того чтобы родитель мог подисаться на ивенты дочернего элемента и либо принимать из него данные, либо просто как-то реагировать.
Реакт давно уже рассыпался под собственной тяжестью.
Просто не все ещё это поняли - думают, что эти обломки - это такие интересные паттерны.
На самом деле - лютейшая fragile-хуита.
Шаг влево, шаг вправо - антипаттерн, прыжок на месте - нарушение best practices, лол.
Что это за уебский знак доллара в конце названия переменной? Несколько раз уже на такое натыкался, нафига так пишут?
People tend to use the $x syntax because it's easier to remember you're dealing with a jquery object rather than an element or an id
https://github.com/jbetancur/react-data-table-component/issues/213
Там может быть всего несколько человек блмнутых леваков, и они реально могут терроризировать всех остальных, и им боятся даже робко возразить что-то типа "but, I think that all lives matter".
Ситуация, как в раннем совке, только вместо расстрелов - травля в соцсетях и увольнения.
Сейчас ещё Байдена выберут, и пизда свободному миру.
Jquery первый по популярности до сих пор. Тоже самое и с твоим среактом, только в среде фреймворков
Так приманивают зарплату в $$$
Толерастов - нахуй!
если бы u have немного brain ты бы понимал что c и c немного различаются
Да, функциональное программирование - это ложь.
Хуита. Различаются они только если у тебя нет кириллицы в шрифте и для ее отображения подтягивается другой.
Что такое монада знаешь?
Vue 3 - вот наш ответ охуевшему Даниле Абрамову.
https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events
Если тебе нативный ивент нужен разумеется
Скажем так... У меня приходят Array с объектами с бэка вроде
[
{"id": "15347", "name": "Peter", weights": 70, "height": 177},
{"id": "19402", "name": "Vanya", weights": 92, "height": 181}
]
По ним формируется таблица с 3 колонками (айдиник не показывается канешн но по нему мы идентифицируем юзера), затем юзер меняет weight или height и данные должны отсылаться на бэк. Я ранее занимался лишь с ванильным жс, а тут у меня подобную фичу надо вклинить внутрь Ангуляр-проекта. Это надо сделать в рамках компонентов и всей этой параши, я хз как
Очевидно что мы должны сохранять этот Array в какую-то переменную типо this.users, а потом проводить с ней манипуляции, в конце по нажатию на некую кнопку "Сохранить" Array отправляется обратно на бэк
- Какой фреймворк?
- Что значит "некий event"? Какая цель?
И, как тебе уже выше ответили - input сам генерит события клавиатуры.
RxJs нужен, чтобы эти события обрабатывать, как _поток_, и комбинировать с другими событиями. Это далеко не всегда нужно (и чаще всего - непонятно ньюфагам).
Также, можно RxJs использовать как event bus (это гуглится). Но, можно и без него - событие - это просто вызов функции.
Ангуляр, я писал подробнее в: >>48595 так что надо заебошить на компонентах
Навесить хендлер на каждый input чтобы он что-то менял - выглядит громоздко и стремно, этих строчек в таблице может быть несколько десятков. Лучше будет чтобы данные отсылались после нажатия на button "Сохранить", но вот как именно их в таком случае собрать - я хз
>Ангуляр
Почитай уже документацию по Ангуляру.
Вот прямо getting started на angular.io и почитай.
Это реактивный фреймворк, в отличие от реакта, лол.
Погугли ngModel, для начала - это про привязку объектов к input.
А по нажатию кнопки должен вызываться метод класса компонента, который сделает что нужно.
Я уже ответил, но добавлю:
В простом случае, таблица рендерится из массива через ngFor.
Привязка объектов - чтение через {{user.name}}, input'ы - через ngModel.
Кнопка - через (click)="sendBack()", где sendBack() - метод класса формы.
Отслеживать ничего не надо - Ангуляр сам отслеживает изменения.
Спс, поколдую, трабла лишь в том что привязка ngModel идет к переменной, а мне надо будет привязать каждый ngModel к своему элементу (по типу this.users[id].height)
this.users это должен быть объект по типу mapping, где айдишникам сопоставляются объекты из имени, веса и роста
FormBuilder, FormArray
Сделал небольшое приложение, вся суть в бекенде. А на клиенте идет побуквенный поиск. Проблема вот в чем, я блокировал ввод новых символов в инпут на то время пока не вернется результат ajax от сервера просто устанавливая для инпута атрибут disable, и снимая его как ответ вернется. Все это работает, но на мобилке криво - в момент запроса - исчезает и появляется мобильная клавиатура.
Как мне такой эффект побороть?
Задача простая - нужно что бы в период когда длиться ajax запрос пользователь не мог в инпут печатать символы. Запрос по событию input срабатывает
Охуенное решение, конечно. Напечатал один символ — жди ответа. Напечатал другой — жди ответа. Такой-то юзер экспириенс. Дебаунс в вашу деревню не завезли еще?
Одну строчку и )))))))))))) скобочек.
a(b(c(d(e(f(g('puk')))))))
Спасибо, анон, почти разобрался и почти закончил.
Только сейчас заметил, что скроллинг не в ту сторону на пикчах был повернут.
А как отслеживать пересечение верхних границ обеих блоков? А то получается отлепить блок только при пересечении границы экрана и левого блока-родителя, что подходит, только если продолжать листать вверх. Но если сменить направление, получается пик 2.
Антон, нужен код который на любом сайте красит элементы текста в желтый, когда провожу мышью по нему. Ещё бы записать измененный элемент в переменную, чтоб с ними дальше работать. Что с моим не так?
let textForMidas = document.querySelectorAll(':only-child' ) // тут ошибка скорее всего
var midasTouch = function() {
this.style.color = 'gold' // тут ошибка скорее всего
}
for (let i= 0;i < textForMidas.length;i++) {
textForMidas.addEventListener("mouseover",midasTouch)
}
Чтобы держать зарплаты на высоком уровне
это ты еще все это TSом не посолил.
Чет тупой вопрос. Посчитал скролл и решил проблему.
mousover это не выделение, а просто проведение курсором над элементом. И color изменит цвет всего текста, а не только выделенного.
Тебе нужно работать с window.getSelection()
>document.querySelectorAll(':only-child' )
document.addEventListener("mouseover", function (event) {
const item = event.srcElement;
if (!item)
return;
let length = item.childNodes.length;
item.childNodes.forEach(function (item) {
if (['BR','META','#text','#comment'].indexOf(item.nodeName)!==-1)
length--;
});
if (length!==0)
return;
item.style.color = "blue";
});
Это ты так тонко пошутил, да?
Вот я только что сделал пример, о котором пишет >>48595
Просто чтобы понять, надо мне этот ангуляр, или нет.
Потому, что хочется, чтобы на TS было, а реакт не подходит, потому, что реакт.
А Vue - на мой вкус - недостаточно TS. И на джаву не очень похоже.
А Ангуляр - это типа Vue курильщика, лол.
Но, может быть я чего-то не понимаю? - подумал я.
Может быть новый 9-10 ангуляр уже подходит для здоровых людей?
И задача архитипичная и простая.
Так вот, простой пример "по-старому", на template-driven forms - это сделать легко.
А потом я посмотрел ReactiveForms, и вообще, заглянул в эту хуйню поглубже.
И вот что я вам скажу - ебал я этот Ангуляр.
Vue 3 - наше всё!
Русский с китайцем - братья навек
Крепнет единство народов и рас
Плечи расправил простой человек
С песней шагает простой человек
Сталин и Мао слушают нас
Сука, макаба уебала табуляцию. Но ты разберешься.
>only-child
Да, вот тут проблема. Перечитай, что этот селектор делает.
Вешать обработчики можно и на документ, посмотри всплытие эвентов. Это конечно орочий подход, но работает когда у тебя элементы генерятся динамически.
А вот определить, что у элемента нет детей, кроме текстовых элементов, оказалось не так просто.
Так этот >>48595 даже задачу сформулировать не может. Как ему эти параметры отправлять нужно? На лету или по клику? Если на лету, то это делается обычным декоратором output, который будет порождать событие-изменение параметра, потом мы на это событие подписываемся у родителя элемента, проводим валидацию чтобы не отправлять каждый ввод символа и отправляем новые данные через wss
Я лучше потрачу на минуту больше печатая, чем потом буду часами разгребать неподдерживаемое дерьмо. TS это дисциплина и наличие архитектуры.
Как будто тайпчекалка даст тебе нормальную архитектуру
Алсо типы уровня транспайлера никак не использовать в рантайме. Мне вот буквально сейчас нужен конвертер из XML в модели, приходится велосипедить свою систему типов
У тебя автодополнение не работает штоле? TS потом ускоряет любой рефакторинг в сто раз.
Да не нужны там никакие @Output, там всё вообще просто - [(ngModel)]="user.height" в инпутах + submit() массив users куда там ему надо.
И на Vue подобное делается как обоссать два пальца, и на реакте и на чём угодно вообще.
По поводу Ангуляра - это (>>48838) была такая шутка, естественно.
Просто это именно что полноценный и тяжёлый _фреймворк_, в отличие от Vue и React. И кривая обучения там немножко крутовата, и с наскока это не возьмёшь.
И именно по причине всеобъемлющести и тяжеловесности, народ (и компании) часто уходит с Ангуляра, но, как ни странно - в React (это вообще шило на мыло в моём понимании). Я имею в виду, что не раз встречал такие ремарки в вакансиях - "Ангуляр или React (для новых проектов)".
>Как будто тайпчекалка даст тебе нормальную архитектуру
Так она за счёт этого только и достигается. Если ты в нэйтив JS определишь класс, то он ничего тебе не даст, потому что в метод который вроде как должен работать только с данными этого типа, можно передать любой другой тип и никто тебе ничего не скажет. Интерфейсы это вообще шаблоны которые за тебя код дописывают в будущем. Реализовал общий код который работает с интерфейсами - и всё, для того чтобы изменить что-то ты создаешь новую имплементацию, которая подскажет тебе что нужно реализовать для того чтобы всё работало с этим общим кодом. В JS тебе остается только на собственную память полагаться.
>Алсо типы уровня транспайлера никак не использовать в рантайме.
Лучше что-то чем совсем ничего. В TS тебе нужно делать проверку типов только тех данных которые поступают извне, в то время как JS ты можешь сам себе в ногу стрелять и не заметишь этого.
> [(ngModel)]="user.height"
Это нарушает семантику и по ресурсам дороже чем Output. ngOutput используется когда тебе нужно двусторонне связывание, а здесь отношение только в одну сторону потомок -> родитель. Так как родитель не изменяет никакие данные, он только их сохраняет.
>тяжёлый _фреймворк
Тяжелый он только в сравнении с чистыми Vue и React, но на чистом React и Vue никто не пишет, там как минимум нужны библиотеки для работы с сетью типо axios, в Ангуляре всё из коробке и в типизированной форме. Т. е. эти легковесы обманчивы, потому что в реалиях проекта обрастают кучей дополнительного дерьма. И качество от этого только страдает, потому что создатели этих библиотек никак не связаны с вуе и реактом.
В общем, тут как всегда - да, освоить сложнее, но после того как освоишь ты поймешь насколько неудобны реакт с вуе и насколько удобен ангуляр.
А почему тогда для жиквери всякое такое пилят http://w2ui.com/web/demo
а для реактов только примитивное непродуманное говно?
Ничего там сложного, простейшая концепция, у неё даже составных элементов по пальцам одной руки пересчитать
Может тебе еще ключи от квартиры где деньги лежат?
Никогда им не пользовался. У меня вообще сублимтекст
>>48936
Это как например? Уточню задачку: есть XML вида <model><foo>bar</foo><struct><a>1</a><b>true</b></struct></model>, надо из него получить объект модели вида { foo: "bar", struct: { a: 1, b: true } } (упрощенно, должны ещё массивы поддерживаться и пользовательские классы)
>>48950
Тайпчекалка максимум не даст джунам с индусами делать очевидные ляпы
>Если ты в нэйтив JS определишь класс, то он ничего тебе не даст, потому что в метод который вроде как должен работать только с данными этого типа, можно передать любой другой тип и никто тебе ничего не скажет
Можно ещё пытаться массивы на даты умножать. С нормальной архитектурой и код-стайлом достаточно изучить интерфейсы основных классов, чтобы не делать с ними того что делать не нужно, а делать то что нужно
>достаточно изучить интерфейсы основных классов
Удачи тебе каждый раз изучать сотни классов, а потом возвращаться к ним чтобы проверить всё ли ты правильно делаешь. В общем, спорить бессмысленно, потому что практика уже всё доказала, иначе TS не обрел бы такую популярность, которая растет с каждым годом.
Это App
https://pastebin.com/MGmXXXjm
Это дочерний компонент https://pastebin.com/EC2KYXik
Требуется обосрать первый проект
Каждая выборка по букве может иметь значение, и подходящий результат может быть выбран на первом символе
Да и хуй с ним, а инпут то зачем блокировать?
не нужно блокировать ввод, это же глупость. при вводе нового символа нужно отменять предыдущий запрос, если он не успел завершиться, и начинать новый. либо начинать новый запрос только в том случае, если первый запрос завершился бля срать захотел
Какие такие сотни классов, поехавший? Типичное SPA с кровавым энтерпрайзом это полтора десятка моделей и дохуища однотипных вьюх. Всё это говно как правило унаследовано от пары-другой базовых классов, изучить которые дело одного рабочего дня
Это реально или нет? А то я что-то с экспортами импортами совсем запутался.
Если реально, то как это выглядит?
Я должен импортировать 3й компонент в App.js или в 1 и 2?
Вот так примерно выглядит все
Дед App.js
components
Батя -1 </3 а={х} б={y}>
Батя -2 </3 а={х} б={y}>
Сын-3(а,б)
Да, только для ангуляра-реакта оно всё жрёт, тупит и тормозит.
И там будут контролы на пол-экрана, ёбаный в сраку material ui, и прочие очень модные смузи-стайл-штуки.
Ну, и использовать компонент для jQuery UI - это пара строк кода.
А для ангуляров-реактов - хуева туча говна, конский тулчейн, и вот это вот всё.
А потом - хуяк, а оно ещё и просто не работает.
Так что не надо тут задвигать про "прошлый век".
>>48999
Ну так и зачем блокировать? Очевидный проеб на фронте, который у тебя намертво привязан к этому запросу. Лучше загуглить как это адекватно реализуется и сделать также. Если бы я без гугла делал, то прикреплял бы к каждому вводу id, который приходил бы вместе с ответом и определял какой ответ нужно подставить в текущий список, а какой отбросить. Либо как уже предлагали - какой-нибудь дебаунс в полсекунды.
Ты видимо никогда их и не использовал, раз такую чушь пишешь. В ангуляре-реакте всё уже готово из коробки, потому что они и создавались для реюзабельности, ты просто составляешь архитектуру из готовых компонентов, меняется только логика взаимодействия между ними.
Хотя нет, нужно просто создавать словарь вида {запрос:ответ} и по мере работы проходится по этому словарю, подставляя значения в зависимости от ввода пользователя. Так сразу и кэширование будет и меньше ебли с сопоставлением ответов и запросов.
Что там "из коробки"?
Ты по ссылке-то сходи, которую >>48972 запостил.
А потом запости такую же для реакта.
Не вообще какие-то компоненты, а именно такой вот полноценный набор, которым так же легко и гибко можно пользоваться. И чтобы в таблице в демо было не 2 колонки, и чтобы строчек на экран влезало не 10 а 40, и т.п.
Реакт отсасывает на бизнес-UI с проглотом.
Как и ангуляр.
Потому, что подходы совершенно другие.
object?.employee?.name
Ну, вот смотри:
https://www.ag-grid.com/angular-grid/
Длинная простыня лютой хуиты, а на выходе - ненужная говнотабличка.
И ещё несовместимость версий, для полного счастья.
А теперь сравни с этим:
http://w2ui.com/web/demos/#!grid/grid-1
(такая же простая табличка, но немного за другую цену)
Или с этим:
http://w2ui.com/web/demo/grid
(мега-таблица, за те же 3 копейки)
Напоминаю, что речь идёт о data-intensive UI для бизнеса.
Который бы не жрал, не тупил и нормально выглядел.
Понимаешь, вот как реакт не реактивный, точно так же "компонентная" архитектура в реакте или ангуляре - она не компонентная, на самом деле. Потому, что компоненты не являются независимыми, и чтобы их использовать - надо вместе с ними тащить всё говно, включая хитровыебанные паттерны использования.
И это не вопрос "какой фреймворк лучше", тут дело в принципиально разных подходах. jQuery UI - это именно независимые компоненты, которые ничего не требуют, 2 строчки кода - и у тебя календарь или таблица и т.п. На любой странице, вообще похуй где.
Но, и оборотная сторона у этого тоже есть, разумеется. Компоненты закрытые, вещь в себе, и дорабатывать их удовольствия очень мало. Ситуация та же, что с компонентами Delphi, например, евпочя.
Ты заебал уже всех со своими таблицами. Тебе тимлид на джиквери кодить не дает или что?
Да, это вполне себе годно.
Ты должен импортировать 3-й компонент в 1-й и 2-й.
Потому, что именно там ты будешь его использовать.
Практика всю жизнь показывает, что популярность обретают прежде всего инструменты идиотов. Делай выводы, со своей "история, как аргумент".
>Практика всю жизнь показывает, что популярность обретают прежде всего инструменты идиотов.
Практика твоего манямирка? Возможно. В реальности инструменты всегда развиваются и более совершенные сменяют своих предшественников, взять тот же JQuery - незаменимый инструмент для своего времени. Но со временем веб-страницы стали более насыщены и сложнее, поэтому ему на смену пришли фреймворки вида React, Angular и Vue. Следом за JQuery сам JS перестал удовлетворять потребности разработчиков, поэтому мы сейчас имеем Typescript. Это обычный прогресс, сычуш, если лично ты развиваться не хочешь, то это не повод злиться на окружающих.
Да реакт без костылей не умеет обычное модальное окно показать из любой точки программы, ну просто пиздец. Даже всплывающие нотификации делаются через жопу, потому что компонент не может сам себя убить и нужно просить родителя чтоб подтирал, или там display none делать анимацией и потом родитель по таймеру уничтожит.
Да.
Хотя, типизация там другая, и есть куча специфических заморочек, вызванных тем, что это сделано поверх динамического языка.
Также, в TS меньше говна, чем в JS, что не может не радовать.
Жопа начинается, когда ты используешь в TS проекте JS либу, для которой нет типов. Но, в наше время для большинства популярных либ они есть.
Я изучаю верстку и css, немного знаю JS и начал изучать WordPress.
Возникла идея сделать сайт инфопортал, по медицинской тематике например пусть будет лечение ануса
В процессе я рисую дизайн, верстаю, покупаю домен и хостинг итд. Короче прокачиваю скиллы как не крути. Может даже закидываю ресурс в будущее портфолио.
Сайт максимально прост, красивый дизайн, статьи по теме.
Можно на такой хуйне заработать хоть 500р в месяц? Хотя бы хостинг отбить. Имеет ваще смысл заморочиться?
>Uncaught ReferenceError: require is not defined
И что с этим делать? Как запустить NodeJS скрипт в browser?
В общем случае никак. Откуда в браузере апи ноды? Но если скрипт универсальный, то как и любой другой — прогнать сначала через бандлер, require это нодоспецифичный способ импорта.
Неактуально уже как лет 8-10. Поисковые боты стали слишком умны, за рекламу платят копейки. Особенно если речь про WordPress, его поисковики не любят и будут в поиске выдавать только при условии, что на нём посещаемость высокая и контент оригинальный.
Охуенный вопрос. Ну разбивай на десятки и рендери сначала первые 10 элементов, потом с 20 по 30 и так пока все не запросит пользователь. В чём проблема? Или вкатуны настолько отупели, что забыли про существование примитивных циклов?
yarn add react-window
>это никак не относится к теме спора
ты что идиот без мозга? на видео перебор всех возможных состояний, и как видно их всего четыре у каждой буквы в данных условиях.
пиздец бля ноубрейн идиот, он еще и спорит оказывается, еще и спорит хоспади
Babel + Webpack.
Да вот нихуя, запрашиваю с api через фетч ("https://pathofexile.gamepedia.com/api.php?action=cargoquery&tables=items&fields=name&where=rarity="Unique"+AND+class="Daggers"&limit=5&group_by=name&format=json");
В нетворке виден массив обьектов, но нихуя эта шляпа не парсится через json()
Ах ты пидор на личности переходишь. Окей. Ты тут спизданул что они так дохуя отличаются? На глаз значит можешь определить. Ну давай, сука, определи, какая из букв в английской раскладке?
>МОЖНО АПРИДИЛИТЬ НА ГЛАС Я СКОЗАЛ, ТВЕРДА И ЧЕТКА!!!
>два момента спустя
>пишет целую программу для того чтобы определить отличия
Проиграл.
>>49513
идиот семен, естественно в некоторых шрифтах глифы разных символов могут быть просто скопипащены.
и я не говорил никогда, что это можно на глаз определить в любой ситуации, это ты уже сам себе придумал. иди перечитай внимательно что я писал. кто-нибудь видит здесь утверждение, что две разные буквы имеют одинаковые глифы во всех возможных ситуациях?
лечиться тебе надо ебанутый
Дело в том, что если си и эс рендерятся по-разному, то это, как раз, нетипичный случай. Когда (русский, скорее всего) дизайнер специально такое сделал.
Потому, что это одна и та же буква - латинская, она просто звучит в русском языке по-другому.
То же самое и с буквами а, е, о, р, х. У них строчная и прописная буква имеют сходное начертание, поэтому они одинаковы в типичном латинском и русском шрифте.
А вот b, k, m, t - нет, потому, что строчные отличаются от прописных. Почему всё так - можешь поразмышлять на досуге.
хааа хааааааа
Как это сделать? Как с фронта передать какие-то данные в десктопное приложение? Чтобы никаких трабл с безопасностью не было. Я вообще хер знает
Это называется custom url protocol, или custom browser protocol.
Это гуглится, в том числе на сайте MS есть подробная информация.
Смысл в том, что ты делаешь на странице специальные url вида zalupa://www.my-domain.ru/pizda-api/...
И при попытке перехода по ним, браузер запускает произвольную локальную программу, настроенную в реестре.
В данном случае - zalupa - это custom protocol.
Бамп. В принципе норм. До дичайше заебывает адаптив.
А я освоил html5, css, js, и немного php.
Уже хожу по собеседованиям. Уже наверное штук 10 завалил за последние 1.5 года. И то в резюме написал что у меня дохуя опыта в ООО рога&копыта(фикция). Думаю стратегия когда-то сработает. В качестве зарплаты прошу 22к, так что кто-то возможно сжалится надо мной.
Видимо, Steam не установлен, или что-то сломалось.
В реестре должна быть запись.
Погугли, это делается за 5 минут, никакого секретного кунфу, просто программа, а url будет ей передан как параметр командной строки.
Могут быть заморочки, например http url параметры типа .../spam?foo=bar&bar=foo будут всё ломать, т.е., url должен быть чистым.
Недоприложение поднимает у себя HTTP сервер, а цуи-прилага туда долбит через локалхост, например
Проблема не в самих по себе параметрах.
А в символе &. Это специальный символ шелл (cmd).
Там всё зависит от того, как прописать в реестре.
Если параметры программы в кавычках, то хром нормально открывает, а IE-11 не работает, х.з, почему.
А если без кавычек - то & воспринимается как спец. символ.
Но, без кавычек IE работает, при условии чистого url.
>>49662
Для этого приложение должно быть запущено заранее.
Это немного другая задача.
Насколько я понял, это какая-то корпоративная система, и они хотят нормального человеческого десктопного UI для сложных задач, а не веб-говно. Обычно в таких случаях используют такие вещи.
Т.е. ты смотришь какую-то хуиту, а там ссылка - редактировать - хуяк, и у тебя открылся десктопный гуй, но, с разделением сесии с вебом.
> они хотят нормального человеческого десктопного UI
Вот кто этот декстопный UI пилит, тот пусть и думает как оно будет эту строчку получать. Веб-прилага по идее не должна лезть дальше браузера и хоста откуда была загружена по соображениям секурности
Не работает какую то cross access хуету выводить
хуйню высрал добоёб, будь это одинаковый символ у них был бы одинаковый код, как у точки или запятой например. думай прежде че то высирать имбецил
>I believe that v5 re-rendered all fields because it's the top level Form component which is connect()ed to the store so whenever the store changes, i.e. whenever you change a value in the form it re-renders. This makes for a great programming model in true Flux / React style however I believe many people ran into performance issues as unfortunately whilst JS is fast, it's not that fast.
https://github.com/redux-form/redux-form/issues/1405
Ну да, к 6й версии чета там костылыем поправили, а то рассыпается если чтото сложнее туду или каунтера
Баран, я о типографике говорю, о начертании, а не о кодировке символов.
Эти буквы пришли в болгарский (не русский, блядь) из латыни.
Поэтому и типографика у них соответствующая.
А кодировки разные, т.к. языки разные.
Ты осознаешь что смотришь issue 2016 года с которого прошло 3 мажорных версии в пакете, который практически не поддерживается и который реализует устаревший паттерн, о чем в его ридми написано большими буквами?
Что у тебя стало хуже? Весь написанный за эти годы код никуда не делся, обратная совместимость не пропала. Можешь хоть на ES3 писать, все будет работать.
Каким образом она могла стать хуже? Производительно JS за последние годы только растет, т.к. в движки завозят все новые и новые оптимизации. Если твои продукты стали медленнее за это время, то это только твоя вина.
Чтоб запросы с порта 3000 отправлять на 5000, надо корс настроить.
Я установил этот пакет. И работает только если использовать cors() как мидлвар-код для любых запросов.
А если точная настройка, то не работает.
var corsOptions = {
origin: "http://localhost:3000",
optionsSuccessStatus: 200,
};
app.post("/service-request", cors(corsOptions), function (req, res) {....}
Что делаю не так?
JS может и растет, но речь то про реакт идёт, проснись. Хуже она стала из-за дроча долбоебов на иммутабельность, которая заставляет создавать копии объектов даже в случаях когда можно работать с оригиналом.
# в url нет, а
> просто вызов history.pushState() или history.replaceState() не вызовет событие popstate.
У самого времени не много на реализацию, поэтому кому интересно - залетайте.
Сам пишу на ноде, поэтому тебя возьму только на этот стек.
У кого есть время и желание - пишите
> заставляет создавать копии объектов
Даже тех, которые вобще левые и не изменились, чтоб один элемент в массиве поменять надо полность сделать новый массив, это просто шиза
Вот именно поэтому Vue кроет реакт как бык овцу, лол.
Во всех смыслах, причём.
Даже 2-й, не говоря уже про 3-й, который нахуй в стратосферу улетит по производительности.
JS - динамический язык. Браузер генерит тонных событий на каждый пук.
И надо же было, блядь, додуматься, полностью выкинуть всё это, и сделать не-реактивный фреймворк для UI.
Это, сука, блядь, надо быть реально очень специальным интеллектуалом.
А коммьюнити леваков-куколдов хором надрачивает на голого короля. Просто классика жанра, лол.
Нахуя знать, как работает var, если его никто сейчас в здравом уме не использует? Так же, как и обычные функции вместо стрелочных? Мне кажется, это даже хорошо, если человек вообще не знает о существовании этих "фич": значит, он не будет их юзать, следовательно, у него меньше шансов прострелить себе колено на ровном месте.
Всё это говно типа var, function, прототипов и прочей хуйни из 2007го должно отправиться на свалку истории, а за его использование надо по башке хуярить.
Скрипт для стороннего сайта, нужно отслеживать, как там меняется url. А там спа, роутеры-хуеутеры.
>function
Это не говно. Это определение функции.
Любой объект в JS - это функция.
И это не "старый синтаксис" для стрелок.
Мамкины прогрессоры вообще не палятся, лол.
Переопределить методы объекта history?
В смысле вместо оплаты в рот берешь, но много не влезает? Не, придется всё-таки ещё ссанину принимать туда.
> function, прототипов и прочей хуйни из 2007го должно отправиться на свалку истории
Сорян, братиша, но это так как язык устроен. Твои стрелочки с классами это всё не более чем синтаксический сахарок
Но, 22 - это очень мало для Подмосковья.
Что ты _реально_ умеешь?
Какой-то кусок кода своего можешь выложить?
> document.createTextNode
Просто создает Text ноду
> element.innerHTML =
Парсит строку, создает фрагмент документа, добавляет его к element
Зумерок, мы таких чухонь-маломерок регулярно на собесах опускаем уже на ваниальном жс. А если им удается таки миновать собес, то потом начинает поэзия... Куча сопель и слез, когда тип не может понять, как работает элементарная хрень
Лох
>Просто создает Text ноду
А если его потом через appendChild в некий element закинуть? В чем разница с присвоением element.innerHTML?
Ты же ебанько слепошарое. innerHTML перезапишет содержимое, а append добавит элемент к имеющемуся содержимому. Или ты настолько тупорылый, что тестировал на пустых элементах?
>если его потом через appendChild в некий element закинуть
Если это если и потом это потом. createTextNode ноду в документ не добавляет. innerHTML = добавляет, причем не только одну ноду, а целый фрагмент
Старый конь борозды не испортит, лол.
Хотя, это больше зависит от личности коня, а не от его возраста.
На самом деле - на hh дохуища резюме не старых вкатывальщиков, которые не вызывают ни малейшего желания их нанять.
То есть, не то, что нанять, а даже просто поговорить.
А денег они хотят 60+ и выше, до упора.
А тут человек хочет 22, это просто запредельный демпинг для недалёкого замкадья.
Он либо сильно недооценивает себя, либо нихуя не умеет.
Я на нескольких пробовал, не помогает
Как бы document.location.href закоментирован, но даже когда строчка не закомментирована после клика не происходит переход на другую страницу, страница просто обновляется и все
Я не понимаю в чем твоя проблема. Лично тебе кто-то мешает писать с мутациями, самому ковырять DOM и т.д.? Язык же никак не изменился, он все еще это позволяет.
> Вот именно поэтому Vue кроет реакт как бык овцу, лол.
Во влажных фантазиях?
https://www.npmtrends.com/@angular/core-vs-react-vs-vue
> JS - динамический язык
Как там в 2015? Уже TS стандарт рынка давно. Тем временем в Vue TS завезли только в 3 версии.
> И надо же было, блядь, додуматься, полностью выкинуть всё это, и сделать не-реактивный фреймворк для UI.
Есть определение реактивности?
Изначальная идея Реакта была не в том чтобы написать самый производительный фреймворк в мире, а в том, чтобы отделить модель от DOM и декларативно генерить последний автоматически вслед за изменениями модели. С этой задачей он до сих пор прекрасно справляется.
Я гуглил возможный ответ в гугле но там ничего нет, наоборот там куча постов как реализовать обновление страницы по нажатию на кнопку
Теперь страница не обновляется но по нажатию на клик все еще ничего не происходит
все неправильно делаешь. говоришь "это мое первое в жизни собеседование, до этого я работал рандомработанейм, у меня все получалось, но маленькие объемы не давали мне покоя, мне было скучно и я решил в свободное время учить создание сайтов, и вот спустя полтора года я сделал несколько полноценных сайтов сам[показываешь свои сайты], а так же я полностью или частично освоил навыкинейм, еще я в общеобразовательных целях немного ковырял совсем уж экзотические хуйнянейм"
если спросят про зарплату - говоришь, что не разобрался почему цифры такие космические в вакансиях, вроде сайты делаешь, вроде получается, ничего сложного, платите мол как стажеру
id в селекторе пишется через # вроде
https://developer.mozilla.org/ru/docs/Web/CSS/ID_selectors
Поменял, ситуация не изменилась, заработало с document.getElementById
>>50126
И я понял почему, в квери код для добавление атрибута должен выглядеть иначе
по примеру этого
$( "#target" ).click(function() {
alert( "Handler for .click() called." );
});
собственно так как на пикриле заработало, главная проблема была в том что я не указал type=button по умолчании был submit чего я не знал Так как я больше по бекенду и таких тонкостей фронта не знал
У меня тоже сложилось такое впечатление, только не понимаю почему везде в объявления на поиск фронтендеров пишет мол "jquery" обязателен, не понимаю такой безальтернативности, может здесь аноны напишут
Так легаси. Знать надо, а вот использовать нет.
Норма для жс треда
Насоветуйте плс free IDE, чтоб тупому ньюфагу, не стремящемуся в профессионалы, можно было:
конфигурировать скин едитора (цвета, шрифты), также можно было запускать файл в консоли, например под node, не вылезая из едитора.
Много thank'oв.
сорян, я про Аптану
Просто спасибо. Интересуют другие альтернативы также.
>отделить модель от DOM и декларативно генерить последний автоматически вслед за изменениями модели. С этой задачей он до сих пор прекрасно справляется.
Ну и в результате породил кучу проблем на простейших юзкейсах уровня поменять одну строку в таблице не вызывая полный рендер, или просто сказать таблице выделить одну строку программно, или модальное окно, которое может закрыть само себя без ебаного вызова глобального стейта
Это ты типа троллишь, или что?
>Сферические бенчмарки в вакууме
Неинтересны.
В реале - реактивность решает. Она не ошибается, ибо железная.
А на реакте легко написать с виду нормальный код, который будет обновлять лишнее, и тупить.
Плюс - не-реактивный редукс, как тебе уже заметили выше, копирование данных на каждый пук и т.п.
И тонны, тонны бойлерплейта, на любую ничтожную хуйню.
>TS
Да ты реально троллишь, да ещё и толсто, сука.
Ты, вообще, понимаешь, что такое TS?
Он у тебя типа статический, или что?
>Есть определение реактивности?
Ты серьёзно?
Пожалуйста, иди на хуй в гугол.
Покормил, да и хуй с ним.
Потому, что jQuery никуда не денется, ещё лет триста.
Реакт исчезнет раньше, я думаю.
А мамкиным прогрессорам нужны только новейшие фреймворки, не старше 3-х месяцев.
Вот и весь ответ.
Я уже приводил тут пример, что _новый_ личный кабинет сбера написан на jQuery UI. Как и старый.
Хотя, с точки зрения местной публики - там делать нехуй, и на реакте можно за неделю переписать.
И это просто первый попавшийся пример, таких дохуя.
Хотя, возможно, ты и не троллишь.
Реактивность - это когда к объекту-модели привязаны реакции на изменение его свойств. И изменение (виртуального) DOM происходит автоматически, при изменении свойств объекта-модели, и только в тех местах, которые реально поменялись.
А в реакте - надо руками дёргать перерисовку. Дальше - будет пересчитан _весь_ виртуальный DOM, а потом, если надо, перерисован реальный - там, где он отличается от виртуального.
JS - динамический язык. И можно привязать реакции незаметно, прямо в рантайме.
Гугли MVVM, WPF, Vue reactivity, etc.
> А в реакте - надо руками дёргать перерисовку
Что там дёргать? Стейт менять или пропсы компонентов? Так в вью по сути тем же самым занимаются с computed properties
>>50147
Обосрался
@
Назови собеседника троллем
>Сферические бенчмарки в вакууме
Какие бенчмарки, шизик? Тебе ссылку на статистику использования дали. И исходя из этой статистики реакт популярнее вью в 4.5 раз. Как бык овцу он кроет, лол, насмешил
> В реале - реактивность решает. Она не ошибается, ибо железная.
> А на реакте легко написать с виду нормальный код, который будет обновлять лишнее, и тупить.
Неужели useState настолько сложная концепция, что у тебя обновляется лишнее и тупит приложение? Соболезную
> Плюс - не-реактивный редукс, как тебе уже заметили выше, копирование данных на каждый пук и т.п.
Ничего плохого нет в иммутабельноти в этом случае. И это уж куда лучше мутирующего говна с магией под капотом типа мобикса или вьюкса
> И тонны, тонны бойлерплейта, на любую ничтожную хуйню.
Redux-toolkit убирает бойлерплейт
>Ррряяяяя TS!
Что сказать-то хотел? Не юзать TS в 2020 — максимальный зашквар, удел макак-формошлёпов, чей удел — клепать малюсенькие "приложения" за низкий прайс. Серьезный продукт с ответственностью и большой оплатой без TS сейчас не пишут. То есть, пишут на ангуляре или реакте, потому что у них хорошая поддержка TS
Ты тупой вкатыш, походу, вам постоянно редакс и тайпскрипт кажутся слишком сложными. Оправдывайся
>TS
Я, всего-лишь, имел в виду, что нельзя говорить, что TS - не динамический. Просто потому, что его не существует в рантайме.
Ты ведь знаешь, что он компилируется в JS, правда?
>популярность
Мы же не про популярность говорим, а про производительность и удобство использования. Новое не сразу становится популярным - люди консервативны.
Про остальное - лень писать.
Резюме по 2020-2021:
- Если просто нужна работа прямо сейчас - найти её на Реакте в разы проще.
- Если сам выбираешь инструменты и не смущает несколько меньшее к-во готовых компонентов (можешь написать сам) и нужна разработка малым к-вом людей - лучше выбрать Vue.
- Для бизнес-приложений (ориентированных на данные) - Vue или Angular (если большой проект и большая команда и производительность и размер кода не очень важны).
- Если нужны мобильные приложения - Реакт.
- Если есть легаси-проект (jQuery, ванилла, хуилла) и надо постепенно его модернизировать - Vue.
- Если надо немного оживить легаси сервер-сайд пыху или jsp - Vue.
> что нельзя говорить, что TS - не динамический.
Можно, TS как раз статический.
>просто потому, что его не существует в рантайме.
Типизация в рантайме не бывает статической или динамической, в рантайме она слабая, либо сильная. Поэтому нельзя назвать TS языком с сильной типизаций, но с статической можно, потому что статическая типизация это проверка типов во время компиляции, а не во время рантайма (выполнения).
>что _новый_ личный кабинет сбера написан на jQuery UI. Как и старый.
>Как и старый.
Ключевое предложение, которое дает понять, что у долбоебов многое завязано на JQuery, поэтому они быстро изменили дизайна, а начинка всё также осталась говном, продолжая тянуть архитектуру на дно.
>Хотя, с точки зрения местной публики - там делать нехуй, и на реакте можно за неделю переписать.
Какой публики? Тебя и твоей шизофрении? Очевидно, что старое дерьмо это макаронный код, который переплелся в зависимостях и поэтому для его переписывания на что-то адекватное требуется большая воля и яйца. Никто не будет брать на себя такую ответственность, лучше придумаю пару оправданий, посидят на должности пару лет, а потом съебут на новый проект в котором не повторят ошибок прошлых.
У тебя кажется приходит промис, а ты его сразу хочешь начать теребить
Ты там чем-то реально забористым упоролся.
Вариант, что ты просто долбоёб, который любит учить, и не любит учиться, я не рассматриваю, такого же не может быть, правда?
> Я, всего-лишь, имел в виду, что нельзя говорить, что TS - не динамический
Можно, потому что он не динамический
> Мы же не про популярность говорим, а про производительность и удобство использования.
Ок, реакт достаточно производительный, хоть и немного хуже вью. При этом намного более удобный
> Новое не сразу становится популярным - люди консервативны.
Вью в феврале 7 лет будет, что-то не очень он новый. Алсо, поддержка TS с большим опозданием — провал
> Про остальное - лень писать.
Нечем оправдываться
@
"Мне лень писать"
> - Если сам выбираешь инструменты и не смущает несколько меньшее к-во готовых компонентов (можешь написать сам) и нужна разработка малым к-вом людей - лучше выбрать Vue.
Когда сам выбираешь инструменты, то реакт как раз лучше. Можно самому выбрать стейт менеджер, стилизацию, SSR и т.д.
> - Для бизнес-приложений (ориентированных на данные) - Vue или Angular (если большой проект и большая команда и производительность и размер кода не очень важны).
Вью лучше реакта только в мелких проектах
>Можно, потому что он не динамический
Попытайся, сначала, понять, о чём вообще разговор.
Речь была о том, что JS - динамический язык (= рантайм, в данном случае) который позволяет делать реактивные привязки к пользовательским объектам. И это - благо. А создатели Реакта этот ништяк похерили, и ещё и бравируют этим.
Каким боком к этой теме вообще TS - хуй его знает.
Но, если уж тебе так хочется поговорить про TS - то он позволяет делать то же самое.
Для совсем деревянных - реактивные Vue 3 и Ангуляр написаны на TS.
Со всем остальным - такая же история - ты просто не понимаешь, о чём идёт речь, и несёшь какую-то дичь.
Ну да. Это плата за красивую концепцию, где интерфейс это чистая функция от стейта, простую модель передачи данных (только сверху вниз) и декларативные апдейты DOM.
Бтв, все перечисленные тобой проблемы легко решаются через мемоизацию, рефы и поднятие стейта соответственно.
Но только не это говно ебаное блять. Я охуеваю просто пытаясь сделать сетку для сайта. Ты читаешь сука что-то на МДН, идешь пробовать, а оно работает абсолютно не так как надо сука. Задаешь раскладку гридами, а они блять не тянутся или, не так как надо или вообще блять не тянутся, не строятся в ряд, пиздец нахуй. Как в этом вообще можно разобраться? Это же ебаный ящик с сюрпризами, который блять абсолютно нелогично работает. Ты что-то делаешь, все идет по пизде, потом оказывается, что где-то блять невидмый пиксель ебать его в рот спрятался. Или блять все разваливается нахуй, потому что из миллиона элементов у одного там бордербокс не так как надо стоит. Какого хуя ебаная хуйня для умственно отсталых верстальщиков настолько сложнее и непонятнее, чем непосредственно программирование, что это за говно блять, как это осилить нахуй? Я натурально блять выпадаю от этой хуйни пиздец просто. Как блять вообще с этим работают? Я четыре часа пытаюсь ебаную раскладку на сайте из 4х компонентов настроить, чтобы она не пускалась в пляс при малейшем ресайзе, да какого блять хуя?
>JS - динамический язык (= рантайм, в данном случае) который позволяет делать реактивные привязки к пользовательским объектам. И это - благо. А создатели Реакта этот ништяк похерили, и ещё и бравируют этим.
Чушь какая-то. Каким образом Реакт запрещает тебе делать реактивные привязки? И где его создатели этим бравировали?
По существу что то будет или так и будешь срать себе в штаны, показывая незнания оснрв типизации?
(это из одной статьи на Хабре)
программирование в целом действительно сложнее и глубже, чем верстка. твоя проблема в том, что ты не учил программирование, ты учил жс, тс и реакт.
иди сделай змейку на канвасе может поймешь что ты идиот на самом деле и ничего не выучил
Нода тут в роли backend for frontend, обеспечивает ssr для спа
ну что значит не проще? тебе дают любой макет ты его верстаешь. ты допустим не профессионал и будешь верстать гораздо дольше и чуть хуже, чем профессионал.
в программировании тебе дают задачу написать движок для жопаскрипта ты пук сиреньк
Так ты сравниваешь разного уровня задачи. Написать движек и сверстать страницу. По факту же, начинающий в верстке может плохо реализовать поддерживаемость в том же цсс. Не продумать отображение страницы на ретина дисплеях или в мобильных браузерах или в смартТВ, вариантов много.
Просто взять хтмл и накидать стили, это все равно что сказать что фронт это просто получить жысон с бека и отрендерить и все. Упрощенно все верно, но дьявол в деталях.
Бекендщик - Вот я то настоящий инженер, фронтендеры эти просто макаки.
Эмбедедд - Вот я то настоящий инеженер, не то что эти веб макаки.
Ну и так бесконечно можно. Просто тупой ничем не обоснованный снобизм
Вот этот >>50298 анон прав, поясню его мысль. Твоя проблема в отсутствии представлееия того как работает отрисовка элементов в браузере, как браузер определяет положение элементов, их представление, их взаимодействие. Для тебя это магия и ты ей пытаешься управлять задавая значения паддингов и маржинов, невпопад присваивая свойства стилям, тыкаясь в стенку как слепой котенок. Если ты бы понимал всё на уровне браузера, на уровне отрисовки, то для тебя вёрстка была бы самым простым делом, ты бы знал что нужно сделать для того чтобы элементы подчинялись тебе словно оркестр дирижеру.
> Если ты бы понимал всё на уровне браузера, на уровне отрисовки, то для тебя вёрстка была бы самым простым делом, ты бы знал что нужно сделать для того чтобы элементы подчинялись тебе словно оркестр дирижеру.
Если ты бы понимал всё на уровне движка ЖС, на уровне интерпретации кода, то для тебя веб разработка была бы самым простым делом, ты бы знал что нужно сделать для того чтобы ES спека подчинялась тебе словно оркестр дирижеру.
Движок жс не отвечает за отрисовку и расположение элементов на хтмл странице. Ты в очередной раз надрисиал в штанишки, макакен.
Это магическое мышление. Так же, как слово "ымбэддед" производит неизгладимое впечатление на непосвящённых неофитов от мира программирования, так и написание движка или компилятора к своему ЯП считается чем-то доступным только ограниченному кругу лиц, посвященному в тайны мироздания.
Ну для того кто на этом зарабатывает может и ничего. А вот для всех остальных программеров - довольно непростая затея
> Движок жс не отвечает за отрисовку и расположение элементов на хтмл странице.
> В пасте ни слова о хтмл элементах
Ебать ты тугой, луль. На работе, небось, переспрашиваешь каждый раз, когда тебе объясняют смысл задачи.
У тебя на втором пике эмуляция HKT, вещи, которой нет в системе типов TS искаропки, поэтому читаются подобные интерфейсы с трудом.
Как ты без HKT сделаешь мап полиморфным? То-то и оно, в ТС ты не можешь просто сделать дженеричный тайпаргумент дженериком.
> "Делаем HKT попроще, а не как в fp-ts"
Хз куда уж проще, сам Канти спиздил этот подход из какого-то вайтпейпера. ЕМНИП, оригинальный код на окамле.
>эта макака которая не способна логически связать два поста, один из которых написан им самим
Да, не думал, что всё так плохо.
>Хз куда уж проще
Ну типа 10 строк бойлерплейта вместо 40 строк бойлеплейта
https://github.com/Matechs-Garage/matechs-effect/blob/master/packages/core/src/Prelude/Covariant/index.ts#L75
https://github.com/gcanti/fp-ts/blob/master/src/Functor.ts#L175
О, спасибо!
а предположим если сделать язык, который макросами сможет дописывать сам себя, и в котором из каробки будут только опкоды асемблера ну например в виде функций, то получается на выходе будет чистый байткод для эвм, а на входе тип или if будут всего лишь объектами с заданными тобой условиями, которые к тому же будут сами по себе оптимизироваться математическими рофлами какими захочешь
П.с. один раз даже в бд чутка ковырялся, лол.
Это опять лисп?
Да, это называется Agile методология разработки. Каждый должен разбираться во всём по немногу, если не разбирается, значит садится рядом с тем кто разбирается и один натаскивает другого, а потом они вместе код пишут.
Может быть нормально, может быть нет. Если задача касается нескольких проектов, то очевидно, что ее надо сделать в нескольких проектах. А если на работе просто хаос и скоуп задач меняется во время спринта, то ненормально.
Суть не в том, что одна задача касается нескольких проектов, а в том, что скоуп задач имеет задачи просто по разным проектам. Тут сделал таск на реакте, там сделал таск на mvc5, сами проекты между собой не связаны. Скоуп может меняться во время спринта, если какие-то баги находятся, которые срочно надо пофиксить, чтобы со следующей версией продукта отправить заказчику. Такое подпадает под определение "хаос"? Просто слышал, что вроде команды по хорошему должны под проекты выделаться и работать над своими проектами, а сейчас у нас такая ситуация выходит, что есть отдел веб-разработки, у которого есть свои мейн-проекты, а есть отдел бд, у которого есть свои мейн-проекты, но в итоге все работают над всем и получается часто такая ситуация, что приходится что-то фиксить
или фичи пилить в проекте, в предметной области которого ты либо не разбираешься вообще, либо разбираешься слабо, немного напрягает это. Хочу понять - это в большинстве мест так же или можно годик тут посидеть, какой-то опыт коммерческой разработки заиметь и найти что-то получше?
Мне казалось, что agile на более абстрактом уровне описывает рабочий процесс и то, что я написал в принципе может и при "соблюдении" и при "не соблюдении" agile быть. Даже конкретные фреймворки вроде скрама или канбана не диктуют, как люди должны быть распределены между проектами и между разными практиками, хотя могу ошибаться.
>и при "не соблюдении" agile быть.
В чём именно он не соблюдается? По мне так хороший пример Agile разработки. В рамках спринта каждый должен поработать как с фронтом, так и с бэком, так и с конкретными частями фронта и бэка. Каждый должен иметь представление о тех инструментах которые задействованы. В чём здесь не соблюдение? Agile это гибкость, чтобы быть гибким тебе нужно привыкать постоянно свитчиться между проектами.
> Даже конкретные фреймворки
Так фреймворки и не должны диктовать, это инструмент. Agile как раз и диктует потому что это методология.
Короче я разобрался с этой хуйней. Все не так плохо, на самом деле. Просто ебанутый подход, когда нужно учитывать миллиард мелочей, каждая из которых может распидорасить сайтец.
А еще приходится изъебываться и придумывать ебанутые костыли, чтобы все выглядело красиво и не уползало.
Кстати, поясните за кроссбраузерность. В 2020 году есть смысл мозги себе ебать? Или вебпак сам все сделает, как надо? И поясните на что вообще обратить внимание в кроссбраузерности? Просто блять гугл выдает ебанутые ответы пятилетней давности, когда все браузеры были на разных движках.
П.С. Даун который высрался про том, что вот верстка не получается не потому что это костыль на костыле хуй пойми как запиленный, а потому что ты дескать не понимаешь, как там браузер рендерит - иди нахуй. В следующий раз, когда напишешь какую-нибудь хуйню и поймаешь баг, не забудь свой собственный компилятор и ОС написать на машинном языке, чтобы точно багов больше не делать.
Ну как минимум стоит потестить сайт под сафари десктоп, также сафари на разных версия iOS. Посмотреть как будет выглядеть сайт на ретина дисплее, samsung fold экране. Так же сайт должен быть сверстан по принципам a11y для слепых и дальтоников и всех остальных юзеров которые не могу пользоваться мышкой.
Ну и сайт должен естественно выглядеть одинаково хорошо как на мобильном экране любой ориентации, так и на десктопе, учитывая zoom естественно
> верстка не получается не потому что это костыль на костыле хуй пойми как запиленный
ты конечно можешь назвать всех дураками, потому что не смог разобраться в хтмл и ксс. вот только эти дураки в своей условной силиконовой долине гребут бабло лопатами, а ты учишь их костыли, потому что ты то совсем долбоеб
>>50458
на некст работе скажешь что фиксил чужие баги? пробуй наводить порядок в конторе, вся эта хуйня происходит потому что тимлиды и менеджеры - долбоебы без мозга
Не забыл
> долине гребут бабло лопатами, а ты учишь их костыли, потому что ты то совсем долбоеб
Пчел, мне поебать, пчел.
>Я осилил ЖС, осилил ТС, осилил ебаную ноду с экспрессом вообще без каких либо проблем, осилил блять реакт.
Готов спорить, что нихуя из перечисленного ты не осилил, и при любом очном диалоге, где будет точно ясно, что на вопросы отвечаешь именно ты, а не рандомный мимо анон, вклинивается в диалог, ты завалишься на простейших вопросах.
Не, это полная хуйня. Менеджерота очевидные долбоебы. Если у вас там вообще хоть что-то работает это считай чудо господне. Советую валить
В целом, то, что ты описываешь это ок. Что еще делать, если проектов много, а людей мало и под каждый проект нанимать нет смысла. Но есть места где проект всего один и команда больше ничем не занимается.
Что описать интерфейс раз и пользоваться им для различных типов данных. Особенно актуально для фп, где ты описываешь сет операций над данными для удовлетворения требованиям условных аппликативов, функторов и прочее третье-десятое и применяешь его на различные типы.
В тонущем треде можно обсуждать что угодно))
>если есть процесс-менеджер который спавнит много процессов-обработчиков?
Асинхронность как раз и предназначена для того чтобы не спавнить много процессов-обработчиков. Если ты заспавнишь процесс-обработчик на большую часть запросов, то у тебя упадёт сервер из-за недостатка памяти.
Асинхронность это когда процесс отправляет запрос (если это сервер, то это скорее всего запрос к базе данных) и не блокируется в ожидании обработки запроса и получения ответа (как это будет в пыхе или любом другом синхронном контексе), а занимается отправлением очередного запроса. Т. е. пока один процесс может обрабатывать n запросов, не нужно создавать еще один процесс, в случае с пыхой это будет 1 запрос - 1 процесс.
да какой он господин у него рот в говне
Зависит.
К сожалению я не понимаю как фп может помочь в решении моих повседневных задач на фронте. Не агра ради, может и есть смысл на нем писать, но я пока не понимаю зачем.
>я не понимаю как фп может помочь в решении моих повседневных задач на фронте
Сферически в вакууме скорее всего действительно NEECKAQUE. А если угореть по type-safety (в рамках ТС), то при работе с тулчейном вроде io-ts, это будет достаточно полезно.
Рантайм валидация поместит все nullable значения в соответствующие мохнатки, а фп форсит тебя работать в контексте этих монад. Собственно, в большинстве случаев за глаза хватит двух мохнаток - Either/Result и Maybe/Option.
>php
>highload
Лоллировал.
В своё время люди даже написали компилятор php в java (Caucho Quercus, на Java EE сервере Resin), чтобы эта ёбань не ложилась под детскими нагрузками.
Не говоря уже о том, что слово "highload" - чисто русское (перевод с русского, похоже).
И англоязычной публикой оно вообще не употребляется.
А употребляется термин "high performance", потому, что похуй какая там нагрузка, важна производительность.
Это напоминает историю о том, почему в русском языке слово "отвёртка" есть, а слова "завёртка" нету.
ФП - это не монады.
ФП - это, прежде всего, value-oriented код.
Другой подход к написанию кода, когда программа представляет собой конвейер по обработке значений, а не набор "команд".
>поднятие стейта
куда ты стейт поднимеш в модальном окне которому вобще похуй че там за родитель был, как и родителю похуй че там за окно и где оно само отрисуется
https://jsfiddle.net/fhw64m9v/
Если не туда написал, скажите плз куда написать?
Чел, на практике спавнятся новые воркеры, нагрузка распределяется и все норм работает. php-fpm дело знает
Туда, где это будет осмысленно.
>родителю похуй
Нет, родителю не похуй. Окно же открылось не просто так, какой-то компонент решил что оно ему нужно. Значит он и будет его родителем и будет содержать состояние определяющее открыта модалка или нет. Если она захочет закрыть сама себя, то вызовет коллбек, который ему родитель передаст.
"Другой подход" это когда я достаю свой хуй в 23 см и просто уничтожаю всех червей-пидров
>Туда, где это будет осмысленно.
Осмыслено это когда я вызываю Alert.showmodal и оно потом само себя уничтожит, а не ебатня с тем чтобы в родителе выделить место под этот alert или отдельный редусер писать под каждый alert
const h1 = document.querySelector('div h1');
checkbox.addEvnetListener('click', () => {
h1.style.background = myValue;
}
> он и будет его родителем и будет содержать состояние определяющее открыта модалка или нет
лол, да похуй открыта она или анимация закрытия у нее еще, вернул колбек с результатом и все, а то терь изза иммутабельных дебилов я должен отслеживать а не закончилась ли анимация закрытия у окошка чтоб его убрать из dom
>Чел
Правильно говорить "Сэр", сынок.
Смотри, что я тебе принёс:
https://perfect-inc.com/journal/nginx-php-fpm-i-chto-eto-voobshche/
Читать вот это место:
Все проблемы PHP (процесс на запрос, не оптимальный код самого проекта) никуда не деваются.
процесс на запрос - ты, вообще, понимаешь, что это значит?
А как java серверы работают понимаешь? Что там у них на запрос?
Вот и подумай, у кого и какая будет производительность при обработке охулиарда запросов в секунду.
Не говоря уже о том, что джава предварительно скомпилирована и работает на чуде инженерной мысли под названием JVM.
Пыхайлоад у них, лол.
Тебе товарищ уже пояснил что таких запросов не бывает нахуй нигде кроме пары сайтов на весь инет. Пыха тащит збс. А если вдруг она не вытягивает то тут и жс тоже не очень-то кстати будет. Надо на го или с++ ебашить сразу
А чому не
checkbox.addEvnetListener('click', () => {
const h1 = document.querySelector('div h1');
h1.style.background = myValue;
}
?
>жс
Казалось бы, при чём тут жс?
Java и JavaScript - это как "канал" и "канализация", примерно.
В смысле - однокоренные слова.
А на go можно только хипстерскую хуиту писать.
>Осмыслено это когда я вызываю Alert.showmodal и оно потом само себя уничтожит
И в чем великая разница? То, что модалка сама будет хранить свой стейт? Не сказать что это такое уж большое преимущество — этот стейт из нее хрен выковыряешь, если нужно.
>ебатня с тем чтобы в родителе выделить место под этот alert или отдельный редусер писать под каждый alert
А в чем конкретно еботня? Что вообще значит выделить место? Написать const [isModalVisible, setIsModalVisible] = useState(false);? Прям ух какой кирпич кода, не каждый компонент выдержит, может и треснуть. Алсо, не понял зачем редьюсер писать.
Анимацию как раз таки модалка может сама отслеживать, ее выносить в родителя смысла нет (если не хочешь ей как-то тонко управлять). Это нетривиально, но делается один раз.
Как тебе иммутабельность в этом случае мешает — выше моего понимания.
на го пацаны с большими хуями ебошат как не в себя, не пеизди тут
Это реклама гомосексуализма?
Расскажи, лучше, что там сейчас кошерно юзать вместо редукса?
Для небольших и средних проектов?
По-прежнему MobX?
Я ничего не имею против иммутабельности, но, не в UI, или - не в обязательном порядке.
Redux маст-хев для проектов любого размера, если подразумевается ФП, отсутствие HOC (не считая контейнеров), масштабирование и разработка/поддержка проекта более, чем одним человеком.
И сразу напоминаю структуру проекта белого человека:
function main() {
const store = createStore();
return renderMainApp(store);
}
Готов обоссать всех, у кого есть вопросы по данной тематике ИТТ.
>>47905
Для этого и существует import { compose } from 'ramda';
Портрет дефолтного пхпшника
С контейнерами можно в практически чистое ФП.
Например, как я уже упомянул выше
const AppContainer = compose(
connect(mapStateToProps),
path(['foo', 'bar']),
withEmptyRendering,
)(AppComponent);
конечно, тут надо хоть немного понимать, как такое работает, но в 2к20 разраб обязан это знать, я щитаю.
Удобней писать тесты, контейнеры наглядней. В компонентах лежит только JSX. Повторюсь, всё вышесказанное я подразумеваю только для достаточно крупных проектов, которые поддерживают несколько человек. В небольших самоделках - похуй.
На самом деле, мы сейчас в небольших микросервисах начинаем юзать хуки, и меня это немного напрягает. Потому что небольшие микросервисы через полгода-год станут большими микросервисами.
>можно в практически чистое ФП.
Очнись, мань, ты серишь
Оно никому кроме пары борщехлебов нахер не сдалось
>С контейнерами можно в практически чистое ФП
Кому и главное зачем это нужно? Замедлять работу? Чтобы самая простенькая страница грузилась пару секунд?
>Оно никому кроме пары борщехлебов нахер не сдалось
Потом вот за таким петушьем и приходится всё переделывать. Если бы тебе хватало мозгов попасть в нормальный проект с нормальной командой, ты бы так не кукарекал.
>Замедлять работу?
И тут ты такой с пруфами.
Алсо, оба триггернулись на ФП - долбоёбы с курсов онлайн детектед.
Похожий подход используется в ангуляре, но там это всё на уровне фреймворка, а пользователь этого фреймворка больше работает в ооп стиле, ограничиваясь декораторами. Именно так это и должно происходить - ооп во главе, а фп его дополняет удобными фитчами.
>ооп во главе
Зачем?
Вот у меня приложение - генерация стора отдельно, подписки отдельно, контейнеры отдельно, JSX отдельно. Всё на ФП и куда ООП приткнуть и зачем - я не понимаю (кроме API-менеджера, но там завязка на инфраструктуре).
Деанон же. но сайта 2-3 ты точно использовал или видел
Могу посоветовать посмотреть какие-нибудь фронтовые доклады циана - у них примерно похожая структура. Ещё у нетфликса но не везде, но они редко рабочий код показывают.
Так а чё по редакс-хукам, пасаны?
Видел я, сказать то ты что хотел?
На всякий случай напоминаю свой вопрос - зачем в связке React-Redux ООП?
>ооп во главе, а фп его дополняет
>Зачем?
Вот твой вопрос, а про React-Redux ты только что придумал.
Нет, я говорил про контейнеры в редаксе, ты за каким-то хером ооп приплёл, сказав:
>Именно так это и должно происходить
Но один хуй ты на любой из этих вопросов не ответил.
По идее useState/useReducer или там effector какой-нибудь. Но мне и на редуксе норм сидится, там девтулзы хорошие. MobX никогда не любил — много магии, неудобные прокси в компонентах, хуки не завезли.
Выше там какой-то другой анон отвечал бтв, лично я к хокам никаких симпатий не испытываю и рад что они выпали из мейнстрима.
Стукать тебя никто не будет, но зачем? mapStateToProps автоматом создает функции, с useDispatch они не нужны. Вообще, необходимость выделять контейнеры в отдельные компоненты как минимум спорная.
Почему норм писать вроде:
for (const item of arr) {}
В смысле почему норм писать const? Переменная item ведь постоянно меняется при итерации. let же нужен
тебя ебет? меняется же значение в любом случае каждую итерацию.
Менятся она будет если через var объявить, конст как раз показывает, что переменная привязана к скоупу цикла и никуда не денется.
>к хокам
Хок - это ястреб.
А hook - это хук.
И что, они уже выпали из мейнстрима?
Их же только вчера придумали, а теперь это антипаттерн или bad practice?
Лоллирую с реактоблядков дичайше.
>создается заново для каждого значения
Че-то мне подсказывает, на производительность это влияет не лучшим образом
Хок это hoc, а не hook, умник.
Они изначально были не офигеть какие удобные, сначала им на замену предлагали render props, ну а потом и хуки подвезли. Хоки не то что бы антипаттерн, просто другие варианты удобнее.
Ваш птичий язык не всегда понятен посторонним, лол.
И в том комменте, на который ты отвечал, были упомянуты хуки.
Вот я и подумал, что это какой-то модный реакто-рунглиш-спик, типа как хедеры некоторые называют "хидерами".
Ещё есть русское слово "стэк", которое, на самом деле должно быть "стак".
Но, тут уже ничего не исправить.
Ты че блять такое несёшь , браузер на каждый пук генерирует миллион событий, так что твои жалкие пару десяток переменных нихуя ему погоды не сделают
Потому что Реакт должен знать что стейт обновился, а пихать в него несериализуемые объекты не в его правилах.
Алсо, лучше все-таки функцию передавать, а не объект. И использовать функции и useState, а не классы.
Ты про stack? В словаре посмотри транскрипцию, на гугл-транслейте можно даже послушать.
Но, это не имеет значения, "стэк" - устоявшееся произношение.
Парень на фото крестится, что-ли?
Давай на каком-то микро-примере. Вот допустим есть конструктор:
constructor(props) {
super(props);
this.state = {zalupa: 'Собачья'}
}
Для обновления стэйта правильно использовать
this.setState({zalupa: 'Коня'});
Правильно?
Тебе уже ответили, но, я добавлю.
Дело в том, что тот подход, о котором говоришь ты - изменение стейта напрямую - предполагает реактивность.
Т.е. фреймворк _неявно_ отслеживает изменения, прикрутив методы-реакции к объектам.
Так вот, Реакт - не реактивен (игра слов, лол).
Хорошо это или плохо - это другой вопрос. Реактоблядки считают, что хорошо. Реактоблядки-отщепенцы используют MobX - он добавляет реактивность.
Но, те, кому такой подход по-настоящему близок, кто ценит своё время и не любит бойлерплейт, используют Vue.
К тому же, в Vue 3 завезли composition api и большие сложные компоненты больше не обязаны быть огромными простынями кода, плюс, можно свободно разделять между компонентами отдельные куски конфигурации.
В целом, да. То есть оно будет так работать. Но тут есть несколько вещей, которые можно улучшить.
Во-первых, setState может работать в двух режимах — принимать или объект или функцию. Если у тебя стейт задается на основе предыдущего, то лучше использовать функцию, потому что Реакт в некоторых случаях батчит эти вызовы.
Во-вторых, ты используешь классы, а стоило бы использовать функцию и хук useState. Сейчас многие сторонние либы перекатываются на хуки, а они в классах не работают. Обычно альтернативы есть, но функции все-таки удобнее.
В-третьих, даже если ты ООП-дед и очень любишь классы, то конструктор тут не нужен, можно прямо в теле класса написать state = { foo: 'bar' }.
Рекомендую тебе найти туториал поновее, этот устарел года на 2-3.
Кек писать что то на жс не для браузера, ебать неужели продавцы из пятерок все таки вкатились?
Node (сервер-сайд) - это такой современный Ruby on Rails.
Все руби-хипстеры туда и вкатились.
А из пятёрок, как раз, во фронтенд.
Там есть Vuex. Тот же Flux-паттерн.
Но, он реактивный. И использовать его не обязательно.
И в Vue 3 появилась возможность произвольно создавать реактивные объекты в любом месте (раньше их надо было явно прописывать в data, как в state в Реакте). Т.е. некоторое подобие useState() в реакте, только менять потом можно просто сам объект напрямую, а не через функцию-сеттер, как в реакте.
Хехе, хочу посмотреть на вкатыша из Пятерки, который вшарит в контейнеры, nix-системы, стек TCP/IP
Реактивность в ангуляре: "о, новый animation frame, проверим-ка все биндинги!"
>Деанон же.
Да конечно, сразу весь двач узнает по ссылке на сайт кто его делал, включая ФИО, идентификационный код и отпечатки пальцев.
Пока это выглядит как типичное виляние. Для профессионалов которые только на словах профессионалы
Потому что реакт говно для макак, ангуляр удобнее.
На бэке ясна суть асинхронных запросов к БД вроде:
await databaseService.execute(query)
Мы отправляем SQL-запрос к базе и не простаиваем во время ожидания ответа (который может занимать сотни милисекунд). А чего мы блин ждем когда отправляем клиенту ответ на запрос что он прислал?? Мы просто отправляем ему Response, нам нечего ожидать
А если несколько параллельных запросов?
В многопоточной системе будет запущен отдельный поток (а в пыхе - процесс, например), который синхронно обработает запрос.
А в ноде нет многопоточности.
Вот и ждём.
В смысле "несколько параллельных запросов"? На сервер приходит Request, там происходят какие-то блокирующие операции пока он обрабатывается (и асинхронку тут не применить) затем сервер говорит послать Response клиенту в ответ на этот Request. Все. Подтверждения о статусе получения клиентом Respons-а ждать не надо
Ты еще ридух не пробовал.
Хуёвый ход.
Надо увеличивать к-во. Т.е. по товару хранить к-во штук items = {itemA: 3, itemB: 1}.
И показывать, что он уже есть в корзине.
И не слишком ли резво ты начал, если задаёшь такие вопросы?
Точно ли каунтер и туду лист себя уже исчерпали?
Да в принципе то ничего сложного на мой взгляд, хуяриш стор экшены редюсер, конектиш контейнер, главное на мой взляд нормально логику редусера описать, только тут запнулся, пытался сравнивать по id товара чет не выходит
Ну таки иногда некоторую часть запросов можно таки вынести в отдельный поток - некоторую часть обмена со сторонними сервисами, логирование и тд.
А вообще да - на беке асинхронность не является критично необходимой, 99% команд надо выполнять строго последовательно.
>А чего мы блин ждем когда отправляем клиенту
Ответ отправляется частями по установленному соединению, отправил часть данных на устройство (сетевой адаптер), устройство отправило эти данные на endpoint и только после этого готово принять следующий пакет данных. Вот при асинхронном отправлении данных нет простоя в момент обработки данных адаптером.
Я ебу что ли как в твоем срангуляре? Видимо нужно если так делают
Причем тут, нахуй, реакт? Редакс каловый получился, приходится кучу бойлерплейта писать, это даже сами разрабы признали, выпустив RTK (который тоже кривой, кста),вот только это отношения к реакту не имеет, бери нормальный стейт-менеджер и не еби себе мозг, если редакс не нравится.
Я лучше возьму ангуляр в котором всё из коробки и не нужно на каждый пук устанавливать зависимость.
Бля, ебал рот этого двача
Сравнил полноценный фреймворк с либой для отрисовки ui, боже...
Сравнил полноценный фреймворк с либой для отрисовки ui, боже...
>В Ангуляре такое из коробки
Не мог бы ты пояснить, что именно в ангуляре из коробки?
Насколько я понял, у человека проблемы с определением бизнес-логики.
Ангуляр сделает это за него?
>>51280
Ну, строго говоря, реакт (сам по себе) - именно библиотека.
Пусть и очень большая. Об этом говорят сами создатели.
При чем тут браузер?
Я про фреймворк React Native для разработки под андроид.
Там код на js+reactive пишется
https://pastebin.com/n4m3puYB
метод waitResponse
Так я спрашиваю что получается на выходе на андроиде - как с производительностью и т.д.
Нормально все
теперь вызываю так
const getResponse = await this.waitResponse(this.task_id)
спасибо, работает, осталось разобраться с не нужной рекурсией
return на 114 забыл
const tryCountLimit = 10;
let tryCount= 0;
while (tryCount++ < tryCountLimit) {
let response = await this.getUrl(token);
if (response.status == 200)
return response;
await this.wait(1000);
}
>именно библиотека
Когда упоминают реакт, то говорят про весь стек вокруг него. Все эти редаксы, санки, мобиксы, реакт-роутеры и тд. А не просто про саму либу react которая вообще нихуя самостоятельно не может внятного сделать.
Или рядом несколько компов поставить, и на них запустить.
Будет вообще охуенно.
Особенно, если у них стенки прозрачные, и кулеры на процах с мигающими светодиодами.
Только это не будет многопоточность.
ПЕРЕКАТ >>1851680 (OP)
ПЕРЕКАТ >>1851680 (OP)
ПЕРЕКАТ >>1851680 (OP)
ПЕРЕКАТ >>1851680 (OP)
ПЕРЕКАТ >>1851680 (OP)
ПЕРЕКАТ >>1851680 (OP)
ПЕРЕКАТ >>1851680 (OP)
ПЕРЕКАТ >>1851680 (OP)
ПЕРЕКАТ >>1851680 (OP)
Что ты понимаешь под многопоточностью тогда?
>$
в именах разрешено юзать,
под подозрением в Jquery, как основа, вне его стен оператором, вроде, не является
>Rxjs' defer operator can be used to wait until an observer subscribes before creating the actual observable.
Ты очком читаешь?
Очевидно чтобы помечать санки
Сделал объект:
let myObj = {
addMore: (x, y) => {this[x] = y} }
Но когда вызываю метод addMore объект не меняется, как сделать что работало?
this в стрелочной функции же берется из внешнего скоупа, то есть из скоупа объекта myObj
Конечно, неккоректно выразился
Вы видите копию треда, сохраненную 13 апреля 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.