Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Насколько вообще нужно знать базовый ЖС, чтобы нормально искать работу с Реактом? Мне в реакте нравится то, что везде эти няшные компоненты, понимаю принцип его работы и тот как там всё устроено, использую вебпаковские фичи из коробки, ES2019 удобные няшные фичи, вот это всё. Но потом начинаю смотреть уроки по голому ЖС, чтобы подтянуть знания по нему, и хочется монитор в окно выбросить от того, насколько пиздануто всрато приходится на нём все делать. Какой годный курс по самым важным моментам ЖС могли бы посоветовать, типа курса Буры? И нужно ли вообще возиться со старым говном, если все равно есть babel?
>>1845933 >могли бы посоветовать, типа курса Буры? Видеокурсы по большей части все хуета, особено с Udemy. Преподчитаю сервисы с теорией в виде текста и с задачами, например вот https://www.freecodecamp.org/learn
>>1845933 Конечно нужно, меня заебали уже "мидлы", которые приходят на собесы и не знают как ДЖС работают, зато думают что раз могу туду-лист на реакте захуярить так невьебацца фронтэндеры.
Без знания основы джса будут постоянно проблемы в больших проектах, с дебагом, с this, с обьектами и т.д.
>>1845933 Как Реакт вообще связан с новым синтаксисом JS? Старое говно типа особенностей var можно не учить, но по-моему этого и так уже нет ни в одном курсе.
Пытаюсь самостоятельно изучить TypeScript но в отрыве от реального проекта вообще не в дупляю, где его использовать. Пилю тудушку с ним пока. Ну заворачиваю я аргументы в интерфейсы, указываю типы переменных там, где можно... Но все равно ощущение, что где-то проебался и не использую фичи так, как нужно.
Есть где-то вариант посмотреть как НУЖНО использовать ТС на на реальном проекте? Может курс какой, где пилят хуню на ТСе?
Пишу на реакте, есть деструкция вида const { prop1, ...restProps } = props; Но когда я потом в хуке указываю в зависимостях restProps, то он видимо на каждый рендер считается новым объектом и бесконечно тригерится. Как это обходить?
>>1846108 На чистом JS уже давно никто не пишет, читай книги по соответствующим фреймворкам - React, Vue, Angular. После TS зайдёт Angular, если сам TS зашел.
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
>>1846138 Операторы - просто краррированные функции Числа - при ноле аргументов - возвращают число, при одном аргументе - считают что эту функция одного аргумента, вызывают ее с числом
>>1846020 >Что значит «там, где можно»? Ты их должен везде указывать Зачем? Если после объявления идёт сразу присваивание то компилятор будет знать тип
>>1846138 Эту задачу я уже как минимум дважды видел в номерных жс тредиках. Вот если б ты сидел здесь, а не на аниме сайтах дрочил, то знал бы, как решить эту элементарнейшую задачу. А так ты поделом соснул.
>>1845989 Ну там можно использовать новые фичи, сам реакт этого не требует канеш.
Отсюда еще и кажется, что вот сейчас пройду курс по последнему модному стандарту, все там будет лампово и сладенько, а потом на собесе дадут задачу с синтаксисом 10 летней давности, которого я в глаза не видел, и обросрусь. Или ниже 2016 это уже совсем древнее говно, и такого на собесе уже не спросят?
Гайс, кто прикручивал гугл карту к спа на реакте? Я токен в гугл клауде получил. В консоли пишет, мол иди в раздел с оплатой. Объясните чё там с деньгами, нахуя им мой платёжные аккаунт?
В середине лета начал изучать веб разработку, в итоге решил увольняться нахуй со своей текущей работы, чтобы все время посвящать обучению, неделю назад переехал из города в котором работал 3Д десигнером, пиздец это говно, творчества не больше, чем у работы грузчика, а платят хуйню, потому что ты все равно на подтанцовках у программистов, собрав всё свое барахло, обратно к маме в родной город, и вот только что запилил своё первое дегенеративное fullstack приложение, которое по сути нихуя не делает, берет json с сервера и отрисовывает его через реакт на странице. Но я все равно пиздец как рад этому и похоже даже понимаю как это всё работает.
>>1846571 >вместо того чтобы перекатиться в ДС и зашибать бабло 3Д-дизайнером, садится на шею мамке и наивно думает, что с околонулевыми знаниями сможет ВАЙТИВАЙТИ, МАМ Я МИЛЛИОНЕР!!!
Сочувствую. не тебе, а твоей мамке, хотела себе сына, а получила дебила инфантильного
>>1846579 Ну деньги-то у меня пока есть, а грофон я уже видеть больше нахуй не могу, да и даже в дс зарплаты все равно говно, я хоть сейчам мог бы удаленку там искать
>>1846580 До этого пока еще не дошел, я по мере изучения реакта еще жс обычный учу, до этого вообще не кодил никогда, просто по клику выдаю разные данные по разным id
>>1846574 >>1846579 Да я уже знаю что вы скажете, я не собираюсь с этим уровнем вкатываться, я учиться-то полноценно начал буквально вот неделю.
>>1846582 Думаешь там прошел пару уроков по максу и давай бабло грести? Такого предложения овердохуя на рынке, перспективы очень туманные, ну в лучшем случае найдешь себе местечко со средней зп, и будешь сидеть там до конца своих дней. Если не умеешь хотябы на уровне микеланджело скульптуры в зебре лепить, то ты нахуй никому не нужен, а потом придешь на работу, и будешь лепить говно по всратым эскизам. Это как учиться 10 лет на композитора, а потом продюсировать музыку для какого-нибудь хайпово-попсового поноса сдерживая блевотные порывы. Единственное исключение, если ты пиздец какой художник, и твои арты кто-то будет покупать из-за их художественной значимости, типа как у ломпаса.
>>1846592 >Думаешь там прошел пару уроков по максу и давай бабло грести?
Он уроки и не проходил, он уже работал. Строчки в резюме о бывшем месте работы уже достаточно для того чтобы найти работу в ДС и получать на старте 1.5х-2.5х от того что ты получал в мухосранске. И с другой стороны сфера IT, которая захлебывается от вкатунов типа этого клоуна.
>>1846599 Однохуйственно, ты же понял о чём я. Платят ему не за то, сколько он часов там возился. Вот с грофоном как раз наоборот. Плюс тут как раз таки пиздец именно в том, что это типа вроде как ТВОРЧЕССКАЯ профессия, вот в этом-то и кроется весь пиздец, что если ты любишь этим заниматься, то каждый день будешь себя морально насиловать.
>>1846600 >захлебывается от вкатунов типа этого клоуна Тот, кому ты отвечаешь и клоун, это один и тот же человек это я. Я и не собираюсь на уровне вкатуна просить взять меня сеньёрить, но вас послушаешь, так программистов вообще не существует. А все невкатуны сразу же на уровне мидла начали учиться кодить, не меньше, ну вот что за хуйню-то несёте?
Я графонщиком более 5 лет работал, и перспектив там буквально ноль, усираться нужно не меньше, а на выхлопе ты все равно обслуга для кодеров, не больше. Так что ну его нахуй, зачем тратить время на улучшение скилла в графике, когда его можно потратить для куда более перспективного занятия
>>1846571 что бы не ебануться головой об камни, когда упадешь со своего светлого предполагаемого тобой будущего, нужно достаточно глубокое понимание ситуации.
нужно бля понимать, тебя в хуй не ставили, потому что там долбоебы сидели? или потому что ты высирал говно вместо 3д? или потому что ты омега сыч? а может ты просто перегорел и все придумал?
а почему ты считаешь, что выучишь веб, и тебя возьмут нихуя не делать за 300к? веб это самое грязное место в программировании, ничего более ублюдского чем веб никогда не было. "ну есть же нормальные правильные практики и всего то нужно их придерживаться" - а никто не знает как правильно, по этому из года в год придумывают новую модную хуйню и ты обязан ее выучить.
в андройде и иоси хотя бы дают рекомендации и стандартные средства разработки, а тут тфу бля идиоты одни вкатывальшики
>>1846582 >>1846579 Ах да, чтобы окончательно развеять маняфантазии по поводу графики, у меня зп была 50к. Градации были такие, джун 40, мид 45, сеньер лол 50к. Тян в той же компании работает кодером, со старта ей предложили 90к с 3х летним опытом работы мидла, когда она захотела уволняться ей предложили 120к формально повысив ее до тимлида, чтобы только не уволнялась, задачи остались те же самые. За прошлый сданный проект ей дали премию в 40к поверх этого. Моя самая большая премия за все эти годы была 7к. 2м кодерам, которые уволились недавно, искали замену 2 месяца, одного пришлось приглашать из другого города. Когда увольнялся я, мне замену нашли за неделю, выбрав из 5 кандидатов, которые на нож друг друга за моё кресло готовы были посадить. Ну дальше можете маняфантазировать сами.
>>1846609 Блядь, объясни мне, что такое НЕ вкатывальщик? Какой другой вариант стать 300к наносек еще есть? В вебе блядь джунам больше платят, чем мне с моим опытом, дальше слушать эти охуительные истории я уже просто не могу.
>>1846603 >Я графонщиком более 5 лет работал, и перспектив там буквально ноль, усираться нужно не меньше, а на выхлопе ты все равно обслуга для кодеров, не больше.
Так можно про любую работу сказать, если учесть, что речь о работе в мухосранске. Если бы фронтендером был, то говорил бы, что усираться нужно не меньше, а на выхлопе ты всё равно обслуга для бэкендеров, не больше.
>>1846610 >5 лет опыта >хорошая зп для мухосранска >маам, держи меня, я вкатываюсь в айти!
Сказочный дебил. Описанные тобой кодеры либо имеют профильную вышку + опыт, либо просто дохуя опыта. Ты же с голой жопой собрался с ними конкурировать.
>>1846618 >Ты же с голой жопой собрался с ними конкурировать Ну в графике я же с голой жопой как-то конкурировал не имея ни того, ни другого, а там ведь вкатывальщиков еще больше. Как же так? Зайди я в 3D тред, мне бы там так же рассказывали, что дизайнеров не существует?
>>1846623 Джсон формирует мой сервер, там все предельно просто, по запросу и с соответствующим айди отдается объект из массива, мне интересно было в принципе сделать так, чтобы фронт с беком как-то соеденились. я в ахуе с того, как на меня набросились, тащемта вам ли еще говорить, что у меня есть какие-то маняфантазии поповоду вката, если я постоянно в вашем же треде и сижу
>>1846612 я высрал хуйню не для того, что бы ты расстроился и забил на это дерьмо. это действительно самый простой путь к 300ккк. но только в плане того, что 3д макакой было практически невозможно, а тут будет полегче. важно понимать, что дрочить это нужно целый день и каждый день, и только потом ты сможешь нихуя не делать за деньги, причем буквально, абсолютно
>>1846630 >целый день и каждый день Так я для того всё и бросил и вернулся в родной город, пиздец конечно, колесо сансары сделало полный оборот, и мы наконец пришли к тому, с чего я начал
>>1846632 лень расписывать кароче качать еще надо софт скиллы и я бы даже сказал они важнее. программирование то непосредственно любой додик выучить может.
я когда закончил школу в 2010 году думал накидаю в портфолио говна и будет все заебись, но пока продолжал учиться слишком заморочился на коде и забыл про это. у меня не сказать что совсем все хуево было. но люди прям идиоты, их носом стучать надо в твое охуенное портфолио, по этому я тебе предлагаю плясать в этом ключе. ну ебать действителньо учить программирование это ебать долго и нудно, а нахуярить порфтолио не нужен даже средний скилл, я тебе все придумал иди работай конь
В этом и дело - IT и 3d дизайн это не одно и тоже. Особенно в 2020. Ну ничего, всё равно ты уже проебал все полимеры, жаль только не расскажешь об этом когда осознаешь после того как не сможешь никуда устроиться.
приветики пистолетики. Изучаю потихоньку Js, сейчас вроде уже неплохо получается работать с DOM, но на сложных задачах ловлю тупняки, вот недавно была задача пройтись по нескольким ul на странице и посчитать сколько в каждом элементов и если в каком то из ul один элемент то скрыть заголовок над ним h4 а сам этот элемент обернуть в h4. Эту задачу я решил но потратил целый день, вообщем хочу у вас попросить сделать мне рекомендацию от тех кто прошел свой тернистый путь, посоветуйте пожалуйста какую нибудь хорошую песочницу с заданиями по нативному js, так же любые интересные ресурсы что можно почитать может книги есть хорошие какие. Буду очень признателен, очень хочется каждый день получать буст в Js, интерес имеется башенный.
В обмен на действительно хороший ответ с классным стаффом могу предложить задизайнить банер в ютуб шапку там например или шо другое, если конечно нужно будет.
>>1846762 Числа по своей сути иммутабельны, потому что каждый раз создается новое число, а не изменяется старое. Иммутабельность объекта это когда ты имеешь {x:1,y:2} и вместо того чтобы заменить у текущего x на 4, создаешь новый объект {x:4,y:2}. Хорошо это тем, что если кто-то хранил ссылку на первый объект, то он не получил вместо ожидаемого x:1 измененное x:4
>>1846775 Скотина тупорылая, ты хотя бы погугли перед тем как в штаны срать. Это не я придумал, на хабре об этом не раз писали. Но да, если ты даун, то лучше заплати.
>>1846778 Что мне гуглить, мань. Я то понимаю о чем говорю, я с этим каждый день работаю. Хуябр, блядь. Я 20 лет в профессии, ты серьезно думаешб что, я что-то не чиал, ежденевно сижя за пекой 24/7? Ты дебил?
Ой, все, блядь. Я не могу уже. Идите нахуй. Я шесть лет вам тут тред перекатываю, слветы даю, но вы меня доебали. Вы блядь тупые. Простт, совсем уже. Чем дальше, тем хуже.
Ебитесь дальше сами. Плйжу на пенсию петы пилить. В пизду ваше сообщество.
>>1846235 >Отсюда еще и кажется, что вот сейчас пройду курс по последнему модному стандарту, все там будет лампово и сладенько, а потом на собесе дадут задачу с синтаксисом 10 летней давности, которого я в глаза не видел, и обросрусь. Или ниже 2016 это уже совсем древнее говно, и такого на собесе уже не спросят? В том то и дело, что учить надо с основ вверх, а не наоборот. Как можно знать let const, но не знать var? Как можно знать стрелочные функции, но не знать как работают обычные? Как можно знать "классы", но не знать прототипное наследование и потом дристаться при дебаге, если вдруг сорус мапов нет. И так далее.
Если будешь знать основы, то никакой синтаксис тебя не напугает.
>>1846200 >лямбда исчисления ему блять надо Еще одна жопа разорвалась в клочья. На лямбда исчислении строится большая часть основы JS, так как JS испытал сильное влияние от Scheme.
>>1846235 >Старый синтаксис СЛОЖНАААААА!!! Не еби мозги. JS маленький язык. В нем мало синтаксиса. Больших изменений в синтаксисе нет. Подтянуть ES3 и ES5 достаточно 1 дня.
>>1846584 >Да я уже знаю что вы скажете, я не собираюсь с этим уровнем вкатываться, я учиться-то полноценно начал буквально вот неделю. Почему? Ебашь на собес завтра же. Не слушай дебилов.
>>1846316 >оператор пробела >оно работает, а все потому что операторы пробела и переноса строки работают. и что они делают? правильно, они возвращают второй(правый) операнд
Я не так давно начал вкатываться в жс, и честно говоря хуею с этого треда. Люди которые такие перлы пишут учились на хекслете?
>>1846875 >учились на хекслете? Очевидно, что человек который держит в голове реальные знания, не будет тратить память на "оператор пробела унарный пук между двумя операндами пук", эта дрочка исключительно для студентов, что бы они ахуевали от компуктер саенс и платили за очередной курс, т.к. проебали 3 месяца на циклы.
>>1845843 (OP) Сап, динамические. Возникла потребность автоматизированно загружать видео с твиттера, однако url видоса запрятан глубоко в пропсах. Есть ли возможность получить доступ к пропсам при помощи ноды или еще каких инструментов? Предполагаю, что селениум может что-то предложить, но пока ищу дополнительные варианты.
Супец, дружки-пирожки. Кто знает jquery-стайл либу на npm чтобы завернуть туды нативный XMLDocument без смс и регистрации? Гугл выдает хлам, самому велосипедить мэндеев жалко
Аноны, хочу запилить прогу, которая бы скачивала треды из бэ в виде хтмл документов ко мне на комп и сканировала посты с ответами типа "мочератор цп" , "товарищ майор" , "сохранено!" на предмет интересного контента. Каковы шансы на успех данного предприятия?
Устроилась js-разработчицей после окончания универа. Сегодня утром случайно услышала, как меня обсуждали на кухне местные программисты. Да, я люблю ходить в коротких юбках и блестящих леггинсах и что? Мерзкие хуебляди.
Реактовщики поясните плиз, например есть App и еще какой нибудь вложенный в него компонент Xyi я так понимаю управлять всем должен App, например в App делаю рендарящие функции, расчеты стэйт, а в Xyi это все передаю например через контекст, по сути Xyi ничего сам не делает?
>>1847115 это зависит от архитектуры твоего приложения. Но вообще стремятся разделить компонент на контейнер(где вся логика и данные) и отображение, где разметка
>>1847121 Те я могу создавать отдельные функции которые просто рендарят какой то элемент и хранить их в отдельных файлах и в них прокидывать нужные данные? Но обязательно будет один или несколько компонентов с кучей кода, или этого лучше избегать?
>>1847120 В целом очень стремно писать и проходить рассмотрение, да и цели мои им могут не понравиться. Нет, твиты не ворую, но хочу видео из твитов пересылать в виде самого видео, а не ссылки на твит, что, как по мне, сделано намеренно с целью привлечь людей на сайт.
А вообще, js и другие смузийные области сами по себе хуевые. Вот пошла бы к нам, эмбеддерам, мы бы тебя на пиво позвали бы. Или на водку. И относились бы к тебе как к нашему корешу. А если бы ты и кому-то понравилась бы - тебе бы тут это напрямую бы сказали.
>>1847127 >Но обязательно будет один или несколько компонентов Да будет и это хуево, но с опытом научиться создавать массу абстракций, которые также будут говнокодом, который понятен только тебе, но зато выглядит более профессионально
С другом делаю сайт - маркетплейс. Помогите с версткой и js немного. Все отказываются, а вдвоем медленно всё, но друг верит, что мы сможем и выкладывается по полной и я стараюсь. Пожалуйста.
Сап, любители undefined, пишет вам масленок пяти месяцев опыту работы.
Пишу на Angular корпоративные штуки. Заметил, что в вакансиях, на фриланс, да и вообще в проектах анонсов, где иногда нужна помощь а я и не против бы помочь за спасибо/банку сгущенки/стакан молока чаще требуют react или вью. Стоит ли начинать учить реакт? Не хочу заниматься корпоративными приложениями с комбиками и графиками, хочу йоба стартап у мамули на кухни за тарелкой борща.
>>1847494 > корпоративными приложениями с комбиками и графиками
в реакт нормальные таблицы человеческие не завезли уровня w2ui, одно зумерское материал уи говнецо на которое просто блевотно смотреть, а sencha платная
Я работаю с ag-grid и его надстройка и, разработанный в самой компании, но, я так понимаю, людям нравится плоский дизайн, ни одна из тяночек-писечек-дизайнер, на которых я подписан в инсте, ничего другого не публикует.
>>1847526 Ну и "хау ит лукс лайк"? Ты прикрепил статичную картинку, из которой нихуя не ясно. Покажи, как перформит таблица на флексе с сотней тысяч строк.
Анончик, подскажи плиз. Есть один сайт со статьями. Сайт позволяет скачивать JSON статьи вместе с css html разметкой. Могу ли я забрать этот JSON с конкретной статьей и назначить туда другой CSS, свой?
>>1847595 ну знаешь, с таким подходом можно все подряд хуями крыть и в итоге ты и не используешь готовое говно и не пишешь свое.
я вот помню че то такое трогал лет семь назад на жопаскрипте, ну то есть прям мощный какой то корпоративный фреймворк с таблицами, сортировками и всем что тебе надо, да вот просто не помню как называется. я тогда разбирался в вопросе новичка, это был единственный раз когда я это трогал, но название этого дерьма тогда иногда мелькало. и сука бля найти его не могу пиздец ёбанный
>>1847658 Спустя некоторое время >нет я не могу добавить рамочку вокруг компонента, придется переписать парент, чайлд и еще сиблингов тоже. Ну так получилось
>>1846154 Это работает только с примитивными типами. В других случаях надо все указывать, в том числе тип возвращаемого значения из функции и даже тип данных в стейте.
>>1845843 (OP) Вот приходит у меня с бэка json мне надо посмотреть в нем поле obj.employee.name но поле employee может отсутствовать (undefined) как мне грамотно вытащить оттуда name либо вернуть null / undefined если его там нет? Нахуярить лесинок из if-ов? В Питоне бы просто написал что-то вроде:
Читай внимательно. Вот то, что ты как раз написал мне и есть интересно.
Прикинь, мне интересно писать на Си. Да, а ещё мне по кайфу читать даташиты (а из 90х - ещё интереснее). А ещё, о боже, какой блять ужас, мне интересна даже схемотехника.
>>1847832 Мы тут за зож - купи себе риса. В прикуску купи себе бри или моцареллы. Можно камамбер. Можешь взять грамм 400 хамончика в качестве десерта. Пол-кило курятины. На десерт купи себе ананас - полезно для сосудов.
Бля дилема, как быть а? Запилить через роуты переходы на отдельные компоненты и в них рендерить например разные типы товаров, или при клике перерисовывать исходный контейнер загружая то что выбрано при клике?
В TS (angular) нахуячил асинхронный метод для обращения к апи, написал что он возвращает: Promise<ProductCard>
ProductCard - это моя модель, которой должен соответствовать response. TS мне сразу же подсвечивает все и говорит "TS2739: Type 'HTTPResponse' is missing the following properties from type 'ProductCard': fullname, price" Че за хня? Че ему блин не нравится? Я ж все указал
>>1847902 При чем тут IE11? Открою секрет: далеко не все юзеры сидят на последних версиях браузеров, так что даже ?? порой может обсериться без полифила
>>1847916 Отсутствие модных ?? и ? полифилом не решишь, только транспайлинг
>далеко не все юзеры сидят на последних версиях браузеров Они хотя бы имеют свойство автообновляться, а IE11 конченый пидор, умеет только Please install Edge
Сап, аноны Мне тут в /б/ попался тред про то, что можно в Javascript зарабатывать много денежек90к в месяц ебать со старта. А денежки я люблю. Плюс долги есть. Как вообще по быстряку вкатиться в ИТ? Желательно ссылки кидайте которые как для даунов. Я просто плохо в школе учился. Но я деньги люблю так сильно, что думаю вкачусь прям за 3 недели и пойду на фронтедостроительный завод ебошить похлеще вас. Всем спасибо за ответы
>>1847919 о чем ты спрашиваешь? я вообще энтузиаст рнн, по этому мне не интересны всякие модные либы и фреймворки, а о дегенератах в комунити говорить ничего не хочу.
>>1847966 Купил курсы юдеми вкатываюсь уже третий день, главное для меня сейчас наушники помощнее иначе на работе фрезерный станок тарахтит нихуя не слышно, думаю за пару недель осилю жс этот, че я тупее других что ли? Удачи бротан у тебя тоже все получится
>>1847720 Хуятыш, лол. Там именно что пиздец. Просто жс-ники уже принюхались, и им норм.
Правда, я сам пока не смотрел, что там на самом деле, в новом Vuex. Возможно, это просто долбоёбский пример, т.к. в жс-теме очень много дегенератов, совершенно лишённых чувства меры и гармонии и не умеющих писать чистый и красивый код.
>>1847733 Хуй знает. Там свои проблемы. И самая главная - это гугол.
Но не в реакт, это совершенно точно. Сейчас народ потихоньку выкатывается из реакта, устав от интенсивных колебаний линии партии (ехал паттерн через антипаттерн) и некоторого избытка BLM-баннеров на коммьюнити-сайтах.
Мне кажется, надо просто подождать, пока всё не устаканится. Но, Vue 3 надо уже пробовать, я думаю.
Так это не личный проект гугла, а его покупка, так что за судьбу можно не беспокоиться. При этом TS набирает популярность, а ангуляр как раз заточен под TS.
>>1848018 это паттерн правильного завершения потока https://habr.com/ru/post/164487/ "коко какие еще потоки в жопаскрипте" - ну асинхронной залупы, все одно и то же бля
>>1847970 Спасибо, я тут буду самый успешный >>1848006 Сам ты толстый >>1848013 И тебе удачи, брат, все обязательно вкатимся на +100 тыщ. Не зря ж там всякие задроты рубают кэш за нихуя. Чем я хуже? Гы
>>1848115 >говно в котором дочерний элемент меняет стейт родительского так говорят дегенераты, которые начинают городить каскады говна на говне, когда архитектура не может быть приведена к древовидной форме.
а почему так происходит и что же с этими ебланами не так? да у них просто icq двузначный и сложные концепции(тупа проект) у них в голове не помещается, по этому они малюют uml схемы, в которых видите ли некрасиво выглядит когда стрелки через пол ебала тянутся из одного конца в другой.
они забывают основной принцип программирования KISS, вот и все. по этому в некоторых конторах ребятам с трехзначным icq важно мимикрировать под этих дегенератов, что на самом деле очень просто, так как кривой косой код очень плохо поддается пониманию, и уже действовать по обстоятельствам. лично я бы этим выблядкам руки ломал, ну а кто то может проявить желание обучать этих обезьян уму разуму, кто то будет склонять руководство увольнять их, но лучше всего найти нормальную контору
>>1848109 1) В родительском создаешь стейт 2) И функцию, которая ее меняет. 3) В дочерний прокидываешь эту функцию в пропсах 4) Вызываешь ее в дочернем компоненте 5) ??? 6) PROFIT!
>>1848208 Бля в родительском компоненте определил стейт и функцию которая рендерит список , прокинул через контекст в потомка, там отрендерил, теперь пытаюсь из потомка при клике по элементу поменять значение стейта в родителе типа setState(newValue), бля ебать
>>1848109 Сейчас тебе BLM-активисты пояснят за антипаттерны, лол.
На самом деле, непонятно, антипаттерн это у тебя или нет. Потому, что есть миллион нормальных вариантов, когда у тебя в дочернем компоненте генерируется событие, и, в результате (каким-то образом) меняется стейт родительского.
Поэтому: 1) Недостаточно информации. 2) Передавай наверх события, как тебе уже сказали. А там - разберутся, лол. 3) Если это что-то сложное, используй централизованное управление стейтом (редукс там, хуюкс, и прочее). Т.е. передавай то же событие туда. В общем, это тоже "наверх", но, в более высокую инстанцию.
Да вобще пиздец че приходится выдумывать, чтобы скажем из родителя сказать компоненту таблице типа выбери мне вот эту строку. Выбери строку блять. В нормальном языве просто делаеш tablitsa.select(rowId), но высер денчика выше этого
Как запилить такой липкий блок? При условии, что правая часть отображается при активной левой части (это трек-родитель и текст трека - потомок). Треков море, понятное дело. JS плохо знаю и пока не могу понять, как это реализовать. Запилить за меня не прошу, но ткните носом, в какую сторону копать.
>>1848285 В другие языки ходить не нужно. В Ангуляре это реализовано при помощи декораторов input и output, первый используется для того чтобы передавать данные от родителя к дочернему элементу, второй для того чтобы родитель мог подисаться на ивенты дочернего элемента и либо принимать из него данные, либо просто как-то реагировать.
>>1848329 >>1848350 Специально прогуглил, react-redux 7.1.0 в котором завезли хуки вышел аж 11 июня 2019 года, как на них писали 2-3 года не очень понятно.
Только к версии 3.2.0 появилась возможность программно выбрать строку в таблице, все благодаря отлично продуманной архитектуре, это вы ниче не понимаете в selectableRowsPreSelectedField
>>1848372 Там может быть всего несколько человек блмнутых леваков, и они реально могут терроризировать всех остальных, и им боятся даже робко возразить что-то типа "but, I think that all lives matter".
Ситуация, как в раннем совке, только вместо расстрелов - травля в соцсетях и увольнения.
Сейчас ещё Байдена выберут, и пизда свободному миру.
Есть таблица (table) где надо при изменении пользователем input значения в какой-либо строке запускать некий event, как это сделать?.. Похоже задача для rxjs но я че-то хуй знает
По ним формируется таблица с 3 колонками (айдиник не показывается канешн но по нему мы идентифицируем юзера), затем юзер меняет weight или height и данные должны отсылаться на бэк. Я ранее занимался лишь с ванильным жс, а тут у меня подобную фичу надо вклинить внутрь Ангуляр-проекта. Это надо сделать в рамках компонентов и всей этой параши, я хз как
Очевидно что мы должны сохранять этот Array в какую-то переменную типо this.users, а потом проводить с ней манипуляции, в конце по нажатию на некую кнопку "Сохранить" Array отправляется обратно на бэк
>>1848578 - Какой фреймворк? - Что значит "некий event"? Какая цель?
И, как тебе уже выше ответили - input сам генерит события клавиатуры. RxJs нужен, чтобы эти события обрабатывать, как _поток_, и комбинировать с другими событиями. Это далеко не всегда нужно (и чаще всего - непонятно ньюфагам).
Также, можно RxJs использовать как event bus (это гуглится). Но, можно и без него - событие - это просто вызов функции.
>>1848600 Ангуляр, я писал подробнее в: >>1848595 так что надо заебошить на компонентах Навесить хендлер на каждый input чтобы он что-то менял - выглядит громоздко и стремно, этих строчек в таблице может быть несколько десятков. Лучше будет чтобы данные отсылались после нажатия на button "Сохранить", но вот как именно их в таком случае собрать - я хз
>>1848595 >Ангуляр Почитай уже документацию по Ангуляру. Вот прямо getting started на angular.io и почитай.
Это реактивный фреймворк, в отличие от реакта, лол. Погугли ngModel, для начала - это про привязку объектов к input. А по нажатию кнопки должен вызываться метод класса компонента, который сделает что нужно.
В простом случае, таблица рендерится из массива через ngFor. Привязка объектов - чтение через {{user.name}}, input'ы - через ngModel. Кнопка - через (click)="sendBack()", где sendBack() - метод класса формы. Отслеживать ничего не надо - Ангуляр сам отслеживает изменения.
>>1848610 Спс, поколдую, трабла лишь в том что привязка ngModel идет к переменной, а мне надо будет привязать каждый ngModel к своему элементу (по типу this.users[id].height) this.users это должен быть объект по типу mapping, где айдишникам сопоставляются объекты из имени, веса и роста
Аноны, небольшая подсказка нужна. Сделал небольшое приложение, вся суть в бекенде. А на клиенте идет побуквенный поиск. Проблема вот в чем, я блокировал ввод новых символов в инпут на то время пока не вернется результат ajax от сервера просто устанавливая для инпута атрибут disable, и снимая его как ответ вернется. Все это работает, но на мобилке криво - в момент запроса - исчезает и появляется мобильная клавиатура. Как мне такой эффект побороть? Задача простая - нужно что бы в период когда длиться ajax запрос пользователь не мог в инпут печатать символы. Запрос по событию input срабатывает
>>1848638 Охуенное решение, конечно. Напечатал один символ — жди ответа. Напечатал другой — жди ответа. Такой-то юзер экспириенс. Дебаунс в вашу деревню не завезли еще?
>>1848423 Спасибо, анон, почти разобрался и почти закончил. Только сейчас заметил, что скроллинг не в ту сторону на пикчах был повернут.
А как отслеживать пересечение верхних границ обеих блоков? А то получается отлепить блок только при пересечении границы экрана и левого блока-родителя, что подходит, только если продолжать листать вверх. Но если сменить направление, получается пик 2.
>>1845843 (OP) Антон, нужен код который на любом сайте красит элементы текста в желтый, когда провожу мышью по нему. Ещё бы записать измененный элемент в переменную, чтоб с ними дальше работать. Что с моим не так? 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) }
>>1848736 mousover это не выделение, а просто проведение курсором над элементом. И color изменит цвет всего текста, а не только выделенного. Тебе нужно работать с window.getSelection()
Вот я только что сделал пример, о котором пишет >>1848595 Просто чтобы понять, надо мне этот ангуляр, или нет. Потому, что хочется, чтобы на TS было, а реакт не подходит, потому, что реакт.
А Vue - на мой вкус - недостаточно TS. И на джаву не очень похоже. А Ангуляр - это типа Vue курильщика, лол. Но, может быть я чего-то не понимаю? - подумал я. Может быть новый 9-10 ангуляр уже подходит для здоровых людей?
И задача архитипичная и простая. Так вот, простой пример "по-старому", на template-driven forms - это сделать легко. А потом я посмотрел ReactiveForms, и вообще, заглянул в эту хуйню поглубже. И вот что я вам скажу - ебал я этот Ангуляр.
Vue 3 - наше всё!
Русский с китайцем - братья навек Крепнет единство народов и рас Плечи расправил простой человек С песней шагает простой человек Сталин и Мао слушают нас
>>1848838 Так этот >>1848595 даже задачу сформулировать не может. Как ему эти параметры отправлять нужно? На лету или по клику? Если на лету, то это делается обычным декоратором output, который будет порождать событие-изменение параметра, потом мы на это событие подписываемся у родителя элемента, проводим валидацию чтобы не отправлять каждый ввод символа и отправляем новые данные через wss
>>1848917 Как будто тайпчекалка даст тебе нормальную архитектуру
Алсо типы уровня транспайлера никак не использовать в рантайме. Мне вот буквально сейчас нужен конвертер из XML в модели, приходится велосипедить свою систему типов
>>1848916 Да не нужны там никакие @Output, там всё вообще просто - [(ngModel)]="user.height" в инпутах + submit() массив users куда там ему надо. И на Vue подобное делается как обоссать два пальца, и на реакте и на чём угодно вообще.
По поводу Ангуляра - это (>>1848838) была такая шутка, естественно. Просто это именно что полноценный и тяжёлый _фреймворк_, в отличие от Vue и React. И кривая обучения там немножко крутовата, и с наскока это не возьмёшь.
И именно по причине всеобъемлющести и тяжеловесности, народ (и компании) часто уходит с Ангуляра, но, как ни странно - в React (это вообще шило на мыло в моём понимании). Я имею в виду, что не раз встречал такие ремарки в вакансиях - "Ангуляр или React (для новых проектов)".
>>1848930 >Как будто тайпчекалка даст тебе нормальную архитектуру
Так она за счёт этого только и достигается. Если ты в нэйтив JS определишь класс, то он ничего тебе не даст, потому что в метод который вроде как должен работать только с данными этого типа, можно передать любой другой тип и никто тебе ничего не скажет. Интерфейсы это вообще шаблоны которые за тебя код дописывают в будущем. Реализовал общий код который работает с интерфейсами - и всё, для того чтобы изменить что-то ты создаешь новую имплементацию, которая подскажет тебе что нужно реализовать для того чтобы всё работало с этим общим кодом. В JS тебе остается только на собственную память полагаться.
>Алсо типы уровня транспайлера никак не использовать в рантайме.
Лучше что-то чем совсем ничего. В TS тебе нужно делать проверку типов только тех данных которые поступают извне, в то время как JS ты можешь сам себе в ногу стрелять и не заметишь этого.
Это нарушает семантику и по ресурсам дороже чем Output. ngOutput используется когда тебе нужно двусторонне связывание, а здесь отношение только в одну сторону потомок -> родитель. Так как родитель не изменяет никакие данные, он только их сохраняет.
>тяжёлый _фреймворк
Тяжелый он только в сравнении с чистыми Vue и React, но на чистом React и Vue никто не пишет, там как минимум нужны библиотеки для работы с сетью типо axios, в Ангуляре всё из коробке и в типизированной форме. Т. е. эти легковесы обманчивы, потому что в реалиях проекта обрастают кучей дополнительного дерьма. И качество от этого только страдает, потому что создатели этих библиотек никак не связаны с вуе и реактом.
В общем, тут как всегда - да, освоить сложнее, но после того как освоишь ты поймешь насколько неудобны реакт с вуе и насколько удобен ангуляр.
>>1848935 Никогда им не пользовался. У меня вообще сублимтекст
>>1848936 Это как например? Уточню задачку: есть XML вида <model><foo>bar</foo><struct><a>1</a><b>true</b></struct></model>, надо из него получить объект модели вида { foo: "bar", struct: { a: 1, b: true } } (упрощенно, должны ещё массивы поддерживаться и пользовательские классы)
>>1848950 Тайпчекалка максимум не даст джунам с индусами делать очевидные ляпы
>Если ты в нэйтив JS определишь класс, то он ничего тебе не даст, потому что в метод который вроде как должен работать только с данными этого типа, можно передать любой другой тип и никто тебе ничего не скажет Можно ещё пытаться массивы на даты умножать. С нормальной архитектурой и код-стайлом достаточно изучить интерфейсы основных классов, чтобы не делать с ними того что делать не нужно, а делать то что нужно
>>1848981 >достаточно изучить интерфейсы основных классов
Удачи тебе каждый раз изучать сотни классов, а потом возвращаться к ним чтобы проверить всё ли ты правильно делаешь. В общем, спорить бессмысленно, потому что практика уже всё доказала, иначе TS не обрел бы такую популярность, которая растет с каждым годом.
>>1848638 не нужно блокировать ввод, это же глупость. при вводе нового символа нужно отменять предыдущий запрос, если он не успел завершиться, и начинать новый. либо начинать новый запрос только в том случае, если первый запрос завершился бля срать захотел
>>1848986 Какие такие сотни классов, поехавший? Типичное SPA с кровавым энтерпрайзом это полтора десятка моделей и дохуища однотипных вьюх. Всё это говно как правило унаследовано от пары-другой базовых классов, изучить которые дело одного рабочего дня
Реактопроблемы. Помогите понять что я делаю не так. Есть апп.жс который рендерит компонент 1 или 2. Чтобы не дублировать код внутри них я хочу создать третий компонент с пропсами (а,б) Это реально или нет? А то я что-то с экспортами импортами совсем запутался. Если реально, то как это выглядит? Я должен импортировать 3й компонент в App.js или в 1 и 2?
Вот так примерно выглядит все Дед App.js components Батя -1 </3 а={х} б={y}> Батя -2 </3 а={х} б={y}> Сын-3(а,б)
>>1848974 Да, только для ангуляра-реакта оно всё жрёт, тупит и тормозит. И там будут контролы на пол-экрана, ёбаный в сраку material ui, и прочие очень модные смузи-стайл-штуки.
Ну, и использовать компонент для jQuery UI - это пара строк кода. А для ангуляров-реактов - хуева туча говна, конский тулчейн, и вот это вот всё. А потом - хуяк, а оно ещё и просто не работает.
>>1848995 >>1848999 Ну так и зачем блокировать? Очевидный проеб на фронте, который у тебя намертво привязан к этому запросу. Лучше загуглить как это адекватно реализуется и сделать также. Если бы я без гугла делал, то прикреплял бы к каждому вводу id, который приходил бы вместе с ответом и определял какой ответ нужно подставить в текущий список, а какой отбросить. Либо как уже предлагали - какой-нибудь дебаунс в полсекунды.
>>1849033 Ты видимо никогда их и не использовал, раз такую чушь пишешь. В ангуляре-реакте всё уже готово из коробки, потому что они и создавались для реюзабельности, ты просто составляешь архитектуру из готовых компонентов, меняется только логика взаимодействия между ними.
>>1849060 Хотя нет, нужно просто создавать словарь вида {запрос:ответ} и по мере работы проходится по этому словарю, подставляя значения в зависимости от ввода пользователя. Так сразу и кэширование будет и меньше ебли с сопоставлением ответов и запросов.
>>1849066 Что там "из коробки"? Ты по ссылке-то сходи, которую >>1848972 запостил. А потом запости такую же для реакта.
Не вообще какие-то компоненты, а именно такой вот полноценный набор, которым так же легко и гибко можно пользоваться. И чтобы в таблице в демо было не 2 колонки, и чтобы строчек на экран влезало не 10 а 40, и т.п.
Реакт отсасывает на бизнес-UI с проглотом. Как и ангуляр. Потому, что подходы совершенно другие.
Напоминаю, что речь идёт о data-intensive UI для бизнеса. Который бы не жрал, не тупил и нормально выглядел.
Понимаешь, вот как реакт не реактивный, точно так же "компонентная" архитектура в реакте или ангуляре - она не компонентная, на самом деле. Потому, что компоненты не являются независимыми, и чтобы их использовать - надо вместе с ними тащить всё говно, включая хитровыебанные паттерны использования.
И это не вопрос "какой фреймворк лучше", тут дело в принципиально разных подходах. jQuery UI - это именно независимые компоненты, которые ничего не требуют, 2 строчки кода - и у тебя календарь или таблица и т.п. На любой странице, вообще похуй где.
Но, и оборотная сторона у этого тоже есть, разумеется. Компоненты закрытые, вещь в себе, и дорабатывать их удовольствия очень мало. Ситуация та же, что с компонентами Delphi, например, евпочя.
>>1849215 >Практика всю жизнь показывает, что популярность обретают прежде всего инструменты идиотов.
Практика твоего манямирка? Возможно. В реальности инструменты всегда развиваются и более совершенные сменяют своих предшественников, взять тот же JQuery - незаменимый инструмент для своего времени. Но со временем веб-страницы стали более насыщены и сложнее, поэтому ему на смену пришли фреймворки вида React, Angular и Vue. Следом за JQuery сам JS перестал удовлетворять потребности разработчиков, поэтому мы сейчас имеем Typescript. Это обычный прогресс, сычуш, если лично ты развиваться не хочешь, то это не повод злиться на окружающих.
Да реакт без костылей не умеет обычное модальное окно показать из любой точки программы, ну просто пиздец. Даже всплывающие нотификации делаются через жопу, потому что компонент не может сам себя убить и нужно просить родителя чтоб подтирал, или там display none делать анимацией и потом родитель по таймеру уничтожит.
Я правильно понимаю, что если хорошо знаю статически типизированный язык вроде жавы или шарма и привык к всем фишкам вроде дженериков, то без проблем освою тайпскрипт? js тоже знаю, но послабее, и хочу писать с типизацией
>>1849242 Да. Хотя, типизация там другая, и есть куча специфических заморочек, вызванных тем, что это сделано поверх динамического языка. Также, в TS меньше говна, чем в JS, что не может не радовать.
Жопа начинается, когда ты используешь в TS проекте JS либу, для которой нет типов. Но, в наше время для большинства популярных либ они есть.
Кто шарит подскажите, живо ли направление создание сайтов для заработка на рекламе? Я изучаю верстку и css, немного знаю JS и начал изучать WordPress. Возникла идея сделать сайт инфопортал, по медицинской тематике например пусть будет лечение ануса В процессе я рисую дизайн, верстаю, покупаю домен и хостинг итд. Короче прокачиваю скиллы как не крути. Может даже закидываю ресурс в будущее портфолио. Сайт максимально прост, красивый дизайн, статьи по теме. Можно на такой хуйне заработать хоть 500р в месяц? Хотя бы хостинг отбить. Имеет ваще смысл заморочиться?
>>1849302 В общем случае никак. Откуда в браузере апи ноды? Но если скрипт универсальный, то как и любой другой — прогнать сначала через бандлер, require это нодоспецифичный способ импорта.
Подскажите реактодебилу, прилетает json я его маплю и рендерю весь контент, более 100 элементов, как сделать что бы сеачала отрендерить на видимую часть страницы скажем элементов 10, а потом по клику рендерить еще 10, и так далее, типа показать еще
>>1849280 Неактуально уже как лет 8-10. Поисковые боты стали слишком умны, за рекламу платят копейки. Особенно если речь про WordPress, его поисковики не любят и будут в поиске выдавать только при условии, что на нём посещаемость высокая и контент оригинальный.
>>1849313 Охуенный вопрос. Ну разбивай на десятки и рендери сначала первые 10 элементов, потом с 20 по 30 и так пока все не запросит пользователь. В чём проблема? Или вкатуны настолько отупели, что забыли про существование примитивных циклов?
>>1849454 >это никак не относится к теме спора ты что идиот без мозга? на видео перебор всех возможных состояний, и как видно их всего четыре у каждой буквы в данных условиях.
пиздец бля ноубрейн идиот, он еще и спорит оказывается, еще и спорит хоспади
>>1849465 Ах ты пидор на личности переходишь. Окей. Ты тут спизданул что они так дохуя отличаются? На глаз значит можешь определить. Ну давай, сука, определи, какая из букв в английской раскладке?
>>1849500 >>1849513 идиот семен, естественно в некоторых шрифтах глифы разных символов могут быть просто скопипащены.
и я не говорил никогда, что это можно на глаз определить в любой ситуации, это ты уже сам себе придумал. иди перечитай внимательно что я писал. кто-нибудь видит здесь утверждение, что две разные буквы имеют одинаковые глифы во всех возможных ситуациях?
>>1849524 Дело в том, что если си и эс рендерятся по-разному, то это, как раз, нетипичный случай. Когда (русский, скорее всего) дизайнер специально такое сделал.
Потому, что это одна и та же буква - латинская, она просто звучит в русском языке по-другому. То же самое и с буквами а, е, о, р, х. У них строчная и прописная буква имеют сходное начертание, поэтому они одинаковы в типичном латинском и русском шрифте. А вот b, k, m, t - нет, потому, что строчные отличаются от прописных. Почему всё так - можешь поразмышлять на досуге.
Клиент хочет чтобы их недоприложение на C# получало от веб фронтэнда строку-url и далее проводило над ней какие-то манипуляции Как это сделать? Как с фронта передать какие-то данные в десктопное приложение? Чтобы никаких трабл с безопасностью не было. Я вообще хер знает
>>1849590 Это называется custom url protocol, или custom browser protocol. Это гуглится, в том числе на сайте MS есть подробная информация.
Смысл в том, что ты делаешь на странице специальные url вида zalupa://www.my-domain.ru/pizda-api/... И при попытке перехода по ним, браузер запускает произвольную локальную программу, настроенную в реестре. В данном случае - zalupa - это custom protocol.
>>1849558 А я освоил html5, css, js, и немного php. Уже хожу по собеседованиям. Уже наверное штук 10 завалил за последние 1.5 года. И то в резюме написал что у меня дохуя опыта в ООО рога&копыта(фикция). Думаю стратегия когда-то сработает. В качестве зарплаты прошу 22к, так что кто-то возможно сжалится надо мной.
>>1849631 Видимо, Steam не установлен, или что-то сломалось.
В реестре должна быть запись. Погугли, это делается за 5 минут, никакого секретного кунфу, просто программа, а url будет ей передан как параметр командной строки.
Могут быть заморочки, например http url параметры типа .../spam?foo=bar&bar=foo будут всё ломать, т.е., url должен быть чистым.
>>1849670 Проблема не в самих по себе параметрах. А в символе &. Это специальный символ шелл (cmd).
Там всё зависит от того, как прописать в реестре. Если параметры программы в кавычках, то хром нормально открывает, а IE-11 не работает, х.з, почему. А если без кавычек - то & воспринимается как спец. символ. Но, без кавычек IE работает, при условии чистого url.
>>1849662 Для этого приложение должно быть запущено заранее. Это немного другая задача.
Насколько я понял, это какая-то корпоративная система, и они хотят нормального человеческого десктопного UI для сложных задач, а не веб-говно. Обычно в таких случаях используют такие вещи.
Т.е. ты смотришь какую-то хуиту, а там ссылка - редактировать - хуяк, и у тебя открылся десктопный гуй, но, с разделением сесии с вебом.
>>1849682 > они хотят нормального человеческого десктопного UI Вот кто этот декстопный UI пилит, тот пусть и думает как оно будет эту строчку получать. Веб-прилага по идее не должна лезть дальше браузера и хоста откуда была загружена по соображениям секурности
>>1849545 хуйню высрал добоёб, будь это одинаковый символ у них был бы одинаковый код, как у точки или запятой например. думай прежде че то высирать имбецил
Функцианальщики с подливой срут и не могут совладать с тем что оказывается скорость процессора ограничена и это не маняматика где все волшебным образом обновляется и не квантовый кумпухтер.
>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.
>>1849734 Баран, я о типографике говорю, о начертании, а не о кодировке символов. Эти буквы пришли в болгарский (не русский, блядь) из латыни. Поэтому и типографика у них соответствующая.
>>1849761 Ты осознаешь что смотришь issue 2016 года с которого прошло 3 мажорных версии в пакете, который практически не поддерживается и который реализует устаревший паттерн, о чем в его ридми написано большими буквами?
>>1849841 Что у тебя стало хуже? Весь написанный за эти годы код никуда не делся, обратная совместимость не пропала. Можешь хоть на ES3 писать, все будет работать.
>>1849854 Каким образом она могла стать хуже? Производительно JS за последние годы только растет, т.к. в движки завозят все новые и новые оптимизации. Если твои продукты стали медленнее за это время, то это только твоя вина.
Тред, вопросик такой. Запускаю CRA + сервер на Экспресс. Чтоб запросы с порта 3000 отправлять на 5000, надо корс настроить. Я установил этот пакет. И работает только если использовать cors() как мидлвар-код для любых запросов. А если точная настройка, то не работает.
>>1849864 JS может и растет, но речь то про реакт идёт, проснись. Хуже она стала из-за дроча долбоебов на иммутабельность, которая заставляет создавать копии объектов даже в случаях когда можно работать с оригиналом.
Есть много идей по куче вариантов проектов. У самого времени не много на реализацию, поэтому кому интересно - залетайте. Сам пишу на ноде, поэтому тебя возьму только на этот стек. У кого есть время и желание - пишите mainfakepost@gmail.com
>>1849995 Вот именно поэтому Vue кроет реакт как бык овцу, лол. Во всех смыслах, причём. Даже 2-й, не говоря уже про 3-й, который нахуй в стратосферу улетит по производительности.
JS - динамический язык. Браузер генерит тонных событий на каждый пук. И надо же было, блядь, додуматься, полностью выкинуть всё это, и сделать не-реактивный фреймворк для UI.
Это, сука, блядь, надо быть реально очень специальным интеллектуалом. А коммьюнити леваков-куколдов хором надрачивает на голого короля. Просто классика жанра, лол.
>>1846804 Нахуя знать, как работает var, если его никто сейчас в здравом уме не использует? Так же, как и обычные функции вместо стрелочных? Мне кажется, это даже хорошо, если человек вообще не знает о существовании этих "фич": значит, он не будет их юзать, следовательно, у него меньше шансов прострелить себе колено на ровном месте. Всё это говно типа var, function, прототипов и прочей хуйни из 2007го должно отправиться на свалку истории, а за его использование надо по башке хуярить.
>>1850007 > function, прототипов и прочей хуйни из 2007го должно отправиться на свалку истории Сорян, братиша, но это так как язык устроен. Твои стрелочки с классами это всё не более чем синтаксический сахарок
>>1850007 Зумерок, мы таких чухонь-маломерок регулярно на собесах опускаем уже на ваниальном жс. А если им удается таки миновать собес, то потом начинает поэзия... Куча сопель и слез, когда тип не может понять, как работает элементарная хрень
>>1850064 Ты же ебанько слепошарое. innerHTML перезапишет содержимое, а append добавит элемент к имеющемуся содержимому. Или ты настолько тупорылый, что тестировал на пустых элементах?
>>1850060 >если его потом через appendChild в некий element закинуть Если это если и потом это потом. createTextNode ноду в документ не добавляет. innerHTML = добавляет, причем не только одну ноду, а целый фрагмент
>>1850041 Старый конь борозды не испортит, лол. Хотя, это больше зависит от личности коня, а не от его возраста.
На самом деле - на hh дохуища резюме не старых вкатывальщиков, которые не вызывают ни малейшего желания их нанять. То есть, не то, что нанять, а даже просто поговорить. А денег они хотят 60+ и выше, до упора.
А тут человек хочет 22, это просто запредельный демпинг для недалёкого замкадья. Он либо сильно недооценивает себя, либо нихуя не умеет.
>>1850102 Как бы document.location.href закоментирован, но даже когда строчка не закомментирована после клика не происходит переход на другую страницу, страница просто обновляется и все
>>1849880 Я не понимаю в чем твоя проблема. Лично тебе кто-то мешает писать с мутациями, самому ковырять DOM и т.д.? Язык же никак не изменился, он все еще это позволяет.
Аноны прошу, давайте без рофлов, проблема может и пустяковая, но я уже все пробовал, даже так, я понятие не имею почему все время страница просто обновляется и все
>>1850001 Изначальная идея Реакта была не в том чтобы написать самый производительный фреймворк в мире, а в том, чтобы отделить модель от DOM и декларативно генерить последний автоматически вслед за изменениями модели. С этой задачей он до сих пор прекрасно справляется.
>>1849638 все неправильно делаешь. говоришь "это мое первое в жизни собеседование, до этого я работал рандомработанейм, у меня все получалось, но маленькие объемы не давали мне покоя, мне было скучно и я решил в свободное время учить создание сайтов, и вот спустя полтора года я сделал несколько полноценных сайтов сам[показываешь свои сайты], а так же я полностью или частично освоил навыкинейм, еще я в общеобразовательных целях немного ковырял совсем уж экзотические хуйнянейм"
если спросят про зарплату - говоришь, что не разобрался почему цифры такие космические в вакансиях, вроде сайты делаешь, вроде получается, ничего сложного, платите мол как стажеру
собственно так как на пикриле заработало, главная проблема была в том что я не указал type=button по умолчании был submit чего я не знал Так как я больше по бекенду и таких тонкостей фронта не знал
>>1850132 У меня тоже сложилось такое впечатление, только не понимаю почему везде в объявления на поиск фронтендеров пишет мол "jquery" обязателен, не понимаю такой безальтернативности, может здесь аноны напишут
>>1845843 (OP) Насоветуйте плс free IDE, чтоб тупому ньюфагу, не стремящемуся в профессионалы, можно было: конфигурировать скин едитора (цвета, шрифты), также можно было запускать файл в консоли, например под node, не вылезая из едитора.
>>1850115 >отделить модель от DOM и декларативно генерить последний автоматически вслед за изменениями модели. С этой задачей он до сих пор прекрасно справляется.
Ну и в результате породил кучу проблем на простейших юзкейсах уровня поменять одну строку в таблице не вызывая полный рендер, или просто сказать таблице выделить одну строку программно, или модальное окно, которое может закрыть само себя без ебаного вызова глобального стейта
>Сферические бенчмарки в вакууме Неинтересны. В реале - реактивность решает. Она не ошибается, ибо железная. А на реакте легко написать с виду нормальный код, который будет обновлять лишнее, и тупить. Плюс - не-реактивный редукс, как тебе уже заметили выше, копирование данных на каждый пук и т.п. И тонны, тонны бойлерплейта, на любую ничтожную хуйню.
>TS Да ты реально троллишь, да ещё и толсто, сука. Ты, вообще, понимаешь, что такое TS? Он у тебя типа статический, или что?
>Есть определение реактивности? Ты серьёзно? Пожалуйста, иди на хуй в гугол.
>>1850134 Потому, что jQuery никуда не денется, ещё лет триста. Реакт исчезнет раньше, я думаю. А мамкиным прогрессорам нужны только новейшие фреймворки, не старше 3-х месяцев. Вот и весь ответ.
Я уже приводил тут пример, что _новый_ личный кабинет сбера написан на jQuery UI. Как и старый. Хотя, с точки зрения местной публики - там делать нехуй, и на реакте можно за неделю переписать. И это просто первый попавшийся пример, таких дохуя.
Реактивность - это когда к объекту-модели привязаны реакции на изменение его свойств. И изменение (виртуального) DOM происходит автоматически, при изменении свойств объекта-модели, и только в тех местах, которые реально поменялись.
А в реакте - надо руками дёргать перерисовку. Дальше - будет пересчитан _весь_ виртуальный DOM, а потом, если надо, перерисован реальный - там, где он отличается от виртуального.
JS - динамический язык. И можно привязать реакции незаметно, прямо в рантайме.
>>1850156 > А в реакте - надо руками дёргать перерисовку Что там дёргать? Стейт менять или пропсы компонентов? Так в вью по сути тем же самым занимаются с computed properties
>Сферические бенчмарки в вакууме Какие бенчмарки, шизик? Тебе ссылку на статистику использования дали. И исходя из этой статистики реакт популярнее вью в 4.5 раз. Как бык овцу он кроет, лол, насмешил
> В реале - реактивность решает. Она не ошибается, ибо железная. > А на реакте легко написать с виду нормальный код, который будет обновлять лишнее, и тупить. Неужели useState настолько сложная концепция, что у тебя обновляется лишнее и тупит приложение? Соболезную
> Плюс - не-реактивный редукс, как тебе уже заметили выше, копирование данных на каждый пук и т.п. Ничего плохого нет в иммутабельноти в этом случае. И это уж куда лучше мутирующего говна с магией под капотом типа мобикса или вьюкса
> И тонны, тонны бойлерплейта, на любую ничтожную хуйню. Redux-toolkit убирает бойлерплейт
>Ррряяяяя TS! Что сказать-то хотел? Не юзать TS в 2020 — максимальный зашквар, удел макак-формошлёпов, чей удел — клепать малюсенькие "приложения" за низкий прайс. Серьезный продукт с ответственностью и большой оплатой без TS сейчас не пишут. То есть, пишут на ангуляре или реакте, потому что у них хорошая поддержка TS
Ты тупой вкатыш, походу, вам постоянно редакс и тайпскрипт кажутся слишком сложными. Оправдывайся
>>1850159 >TS Я, всего-лишь, имел в виду, что нельзя говорить, что TS - не динамический. Просто потому, что его не существует в рантайме. Ты ведь знаешь, что он компилируется в JS, правда?
>популярность Мы же не про популярность говорим, а про производительность и удобство использования. Новое не сразу становится популярным - люди консервативны.
Про остальное - лень писать.
Резюме по 2020-2021: - Если просто нужна работа прямо сейчас - найти её на Реакте в разы проще. - Если сам выбираешь инструменты и не смущает несколько меньшее к-во готовых компонентов (можешь написать сам) и нужна разработка малым к-вом людей - лучше выбрать Vue. - Для бизнес-приложений (ориентированных на данные) - Vue или Angular (если большой проект и большая команда и производительность и размер кода не очень важны). - Если нужны мобильные приложения - Реакт. - Если есть легаси-проект (jQuery, ванилла, хуилла) и надо постепенно его модернизировать - Vue. - Если надо немного оживить легаси сервер-сайд пыху или jsp - Vue.
>>1850169 > что нельзя говорить, что TS - не динамический. Можно, TS как раз статический. >просто потому, что его не существует в рантайме. Типизация в рантайме не бывает статической или динамической, в рантайме она слабая, либо сильная. Поэтому нельзя назвать TS языком с сильной типизаций, но с статической можно, потому что статическая типизация это проверка типов во время компиляции, а не во время рантайма (выполнения).
>>1850152 >что _новый_ личный кабинет сбера написан на jQuery UI. Как и старый. >Как и старый.
Ключевое предложение, которое дает понять, что у долбоебов многое завязано на JQuery, поэтому они быстро изменили дизайна, а начинка всё также осталась говном, продолжая тянуть архитектуру на дно.
>Хотя, с точки зрения местной публики - там делать нехуй, и на реакте можно за неделю переписать.
Какой публики? Тебя и твоей шизофрении? Очевидно, что старое дерьмо это макаронный код, который переплелся в зависимостях и поэтому для его переписывания на что-то адекватное требуется большая воля и яйца. Никто не будет брать на себя такую ответственность, лучше придумаю пару оправданий, посидят на должности пару лет, а потом съебут на новый проект в котором не повторят ошибок прошлых.
>>1850169 > Я, всего-лишь, имел в виду, что нельзя говорить, что TS - не динамический Можно, потому что он не динамический
> Мы же не про популярность говорим, а про производительность и удобство использования. Ок, реакт достаточно производительный, хоть и немного хуже вью. При этом намного более удобный
> Новое не сразу становится популярным - люди консервативны. Вью в феврале 7 лет будет, что-то не очень он новый. Алсо, поддержка TS с большим опозданием — провал
> - Если сам выбираешь инструменты и не смущает несколько меньшее к-во готовых компонентов (можешь написать сам) и нужна разработка малым к-вом людей - лучше выбрать Vue. Когда сам выбираешь инструменты, то реакт как раз лучше. Можно самому выбрать стейт менеджер, стилизацию, SSR и т.д.
> - Для бизнес-приложений (ориентированных на данные) - Vue или Angular (если большой проект и большая команда и производительность и размер кода не очень важны). Вью лучше реакта только в мелких проектах
>>1850228 >Можно, потому что он не динамический Попытайся, сначала, понять, о чём вообще разговор.
Речь была о том, что JS - динамический язык (= рантайм, в данном случае) который позволяет делать реактивные привязки к пользовательским объектам. И это - благо. А создатели Реакта этот ништяк похерили, и ещё и бравируют этим.
Каким боком к этой теме вообще TS - хуй его знает. Но, если уж тебе так хочется поговорить про TS - то он позволяет делать то же самое. Для совсем деревянных - реактивные Vue 3 и Ангуляр написаны на TS.
Со всем остальным - такая же история - ты просто не понимаешь, о чём идёт речь, и несёшь какую-то дичь.
олени ебаные учите основы, вы же без них бездарные абсолютно. ввы меня уже заебали серить про реакт и тс, нахуй они нужны если человек идиот? идите бомжа на улице подберите, что у него чакра бля откроется он сразу начнет хуярить на тс? а нормальный здоровый человек и на ваниле не будет писать хуйни и все у него будет работать, если захочет, это вопрос уже сугубо удобства
>>1850146 Ну да. Это плата за красивую концепцию, где интерфейс это чистая функция от стейта, простую модель передачи данных (только сверху вниз) и декларативные апдейты DOM.
Бтв, все перечисленные тобой проблемы легко решаются через мемоизацию, рефы и поднятие стейта соответственно.
Как же ебаная верстка заебала пиздец. Я не могу ее никак осилить сука. Я осилил ЖС, осилил ТС, осилил ебаную ноду с экспрессом вообще без каких либо проблем, осилил блять реакт. Но только не это говно ебаное блять. Я охуеваю просто пытаясь сделать сетку для сайта. Ты читаешь сука что-то на МДН, идешь пробовать, а оно работает абсолютно не так как надо сука. Задаешь раскладку гридами, а они блять не тянутся или, не так как надо или вообще блять не тянутся, не строятся в ряд, пиздец нахуй. Как в этом вообще можно разобраться? Это же ебаный ящик с сюрпризами, который блять абсолютно нелогично работает. Ты что-то делаешь, все идет по пизде, потом оказывается, что где-то блять невидмый пиксель ебать его в рот спрятался. Или блять все разваливается нахуй, потому что из миллиона элементов у одного там бордербокс не так как надо стоит. Какого хуя ебаная хуйня для умственно отсталых верстальщиков настолько сложнее и непонятнее, чем непосредственно программирование, что это за говно блять, как это осилить нахуй? Я натурально блять выпадаю от этой хуйни пиздец просто. Как блять вообще с этим работают? Я четыре часа пытаюсь ебаную раскладку на сайте из 4х компонентов настроить, чтобы она не пускалась в пляс при малейшем ресайзе, да какого блять хуя?
>>1850232 >JS - динамический язык (= рантайм, в данном случае) который позволяет делать реактивные привязки к пользовательским объектам. И это - благо. А создатели Реакта этот ништяк похерили, и ещё и бравируют этим. Чушь какая-то. Каким образом Реакт запрещает тебе делать реактивные привязки? И где его создатели этим бравировали?
>>1850232 >>1850146 Это ты не понимаешь, о чём говоришь. На реакте максимум тудушку сделал, судя по всему. Перечисленных тобой проблем нет, если попробовать почитать доки с включенной головой. И претензии к иммутабельноти в редаксе — тоже сильно, конечно.
>>1850258 программирование в целом действительно сложнее и глубже, чем верстка. твоя проблема в том, что ты не учил программирование, ты учил жс, тс и реакт.
иди сделай змейку на канвасе может поймешь что ты идиот на самом деле и ничего не выучил
>>1850301 ну что значит не проще? тебе дают любой макет ты его верстаешь. ты допустим не профессионал и будешь верстать гораздо дольше и чуть хуже, чем профессионал.
в программировании тебе дают задачу написать движок для жопаскрипта ты пук сиреньк
>>1850305 Так ты сравниваешь разного уровня задачи. Написать движек и сверстать страницу. По факту же, начинающий в верстке может плохо реализовать поддерживаемость в том же цсс. Не продумать отображение страницы на ретина дисплеях или в мобильных браузерах или в смартТВ, вариантов много.
Просто взять хтмл и накидать стили, это все равно что сказать что фронт это просто получить жысон с бека и отрендерить и все. Упрощенно все верно, но дьявол в деталях.
>>1850258 Вот этот >>1850298 анон прав, поясню его мысль. Твоя проблема в отсутствии представлееия того как работает отрисовка элементов в браузере, как браузер определяет положение элементов, их представление, их взаимодействие. Для тебя это магия и ты ей пытаешься управлять задавая значения паддингов и маржинов, невпопад присваивая свойства стилям, тыкаясь в стенку как слепой котенок. Если ты бы понимал всё на уровне браузера, на уровне отрисовки, то для тебя вёрстка была бы самым простым делом, ты бы знал что нужно сделать для того чтобы элементы подчинялись тебе словно оркестр дирижеру.
>>1850308 >>1850310 я не называл верстальщиков дегенератами, ты это сам придумал. конкретно ты может и ебланоид обиделся на меня, или троллишь, по этому пишешь хуйню, я походил туда сюда покурил и пришел к выводу послать тебя нахуй долбоеба
>>1850316 > Если ты бы понимал всё на уровне браузера, на уровне отрисовки, то для тебя вёрстка была бы самым простым делом, ты бы знал что нужно сделать для того чтобы элементы подчинялись тебе словно оркестр дирижеру.
Если ты бы понимал всё на уровне движка ЖС, на уровне интерпретации кода, то для тебя веб разработка была бы самым простым делом, ты бы знал что нужно сделать для того чтобы ES спека подчинялась тебе словно оркестр дирижеру.
>>1850335 Это магическое мышление. Так же, как слово "ымбэддед" производит неизгладимое впечатление на непосвящённых неофитов от мира программирования, так и написание движка или компилятора к своему ЯП считается чем-то доступным только ограниченному кругу лиц, посвященному в тайны мироздания.
>>1850347 > Движок жс не отвечает за отрисовку и расположение элементов на хтмл странице. > В пасте ни слова о хтмл элементах Ебать ты тугой, луль. На работе, небось, переспрашиваешь каждый раз, когда тебе объясняют смысл задачи.
>>1850369 > "Делаем HKT попроще, а не как в fp-ts" Хз куда уж проще, сам Канти спиздил этот подход из какого-то вайтпейпера. ЕМНИП, оригинальный код на окамле.
>>1850402 а предположим если сделать язык, который макросами сможет дописывать сам себя, и в котором из каробки будут только опкоды асемблера ну например в виде функций, то получается на выходе будет чистый байткод для эвм, а на входе тип или if будут всего лишь объектами с заданными тобой условиями, которые к тому же будут сами по себе оптимизироваться математическими рофлами какими захочешь
Устроился фронтом но свою первую рабоку. Поясните, бывалые аноны, это нормальная ситуация, когда приходится постоянно свитчиться в рамках одного спринта между 4 разными проектами с разными технологиями, работать и на фронте и на бэке одновременно (фронт на реатке, бэк асп.нет обычно, на некоторых проектах мвп 5)?
>>1850417 Да, это называется Agile методология разработки. Каждый должен разбираться во всём по немногу, если не разбирается, значит садится рядом с тем кто разбирается и один натаскивает другого, а потом они вместе код пишут.
>>1850417 Может быть нормально, может быть нет. Если задача касается нескольких проектов, то очевидно, что ее надо сделать в нескольких проектах. А если на работе просто хаос и скоуп задач меняется во время спринта, то ненормально.
>>1850437 Суть не в том, что одна задача касается нескольких проектов, а в том, что скоуп задач имеет задачи просто по разным проектам. Тут сделал таск на реакте, там сделал таск на mvc5, сами проекты между собой не связаны. Скоуп может меняться во время спринта, если какие-то баги находятся, которые срочно надо пофиксить, чтобы со следующей версией продукта отправить заказчику. Такое подпадает под определение "хаос"? Просто слышал, что вроде команды по хорошему должны под проекты выделаться и работать над своими проектами, а сейчас у нас такая ситуация выходит, что есть отдел веб-разработки, у которого есть свои мейн-проекты, а есть отдел бд, у которого есть свои мейн-проекты, но в итоге все работают над всем и получается часто такая ситуация, что приходится что-то фиксить или фичи пилить в проекте, в предметной области которого ты либо не разбираешься вообще, либо разбираешься слабо, немного напрягает это. Хочу понять - это в большинстве мест так же или можно годик тут посидеть, какой-то опыт коммерческой разработки заиметь и найти что-то получше?
>>1850427 Мне казалось, что agile на более абстрактом уровне описывает рабочий процесс и то, что я написал в принципе может и при "соблюдении" и при "не соблюдении" agile быть. Даже конкретные фреймворки вроде скрама или канбана не диктуют, как люди должны быть распределены между проектами и между разными практиками, хотя могу ошибаться.
>>1850462 >и при "не соблюдении" agile быть. В чём именно он не соблюдается? По мне так хороший пример Agile разработки. В рамках спринта каждый должен поработать как с фронтом, так и с бэком, так и с конкретными частями фронта и бэка. Каждый должен иметь представление о тех инструментах которые задействованы. В чём здесь не соблюдение? Agile это гибкость, чтобы быть гибким тебе нужно привыкать постоянно свитчиться между проектами.
> Даже конкретные фреймворки Так фреймворки и не должны диктовать, это инструмент. Agile как раз и диктует потому что это методология.
>>1850258 Короче я разобрался с этой хуйней. Все не так плохо, на самом деле. Просто ебанутый подход, когда нужно учитывать миллиард мелочей, каждая из которых может распидорасить сайтец. А еще приходится изъебываться и придумывать ебанутые костыли, чтобы все выглядело красиво и не уползало. Кстати, поясните за кроссбраузерность. В 2020 году есть смысл мозги себе ебать? Или вебпак сам все сделает, как надо? И поясните на что вообще обратить внимание в кроссбраузерности? Просто блять гугл выдает ебанутые ответы пятилетней давности, когда все браузеры были на разных движках.
>>1850483 П.С. Даун который высрался про том, что вот верстка не получается не потому что это костыль на костыле хуй пойми как запиленный, а потому что ты дескать не понимаешь, как там браузер рендерит - иди нахуй. В следующий раз, когда напишешь какую-нибудь хуйню и поймаешь баг, не забудь свой собственный компилятор и ОС написать на машинном языке, чтобы точно багов больше не делать.
>>1850483 Ну как минимум стоит потестить сайт под сафари десктоп, также сафари на разных версия iOS. Посмотреть как будет выглядеть сайт на ретина дисплее, samsung fold экране. Так же сайт должен быть сверстан по принципам a11y для слепых и дальтоников и всех остальных юзеров которые не могу пользоваться мышкой. Ну и сайт должен естественно выглядеть одинаково хорошо как на мобильном экране любой ориентации, так и на десктопе, учитывая zoom естественно
>>1850501 > верстка не получается не потому что это костыль на костыле хуй пойми как запиленный ты конечно можешь назвать всех дураками, потому что не смог разобраться в хтмл и ксс. вот только эти дураки в своей условной силиконовой долине гребут бабло лопатами, а ты учишь их костыли, потому что ты то совсем долбоеб
>>1850458 на некст работе скажешь что фиксил чужие баги? пробуй наводить порядок в конторе, вся эта хуйня происходит потому что тимлиды и менеджеры - долбоебы без мозга
>>1850258 >Я осилил ЖС, осилил ТС, осилил ебаную ноду с экспрессом вообще без каких либо проблем, осилил блять реакт. Готов спорить, что нихуя из перечисленного ты не осилил, и при любом очном диалоге, где будет точно ясно, что на вопросы отвечаешь именно ты, а не рандомный мимо анон, вклинивается в диалог, ты завалишься на простейших вопросах.
>>1850458 В целом, то, что ты описываешь это ок. Что еще делать, если проектов много, а людей мало и под каждый проект нанимать нет смысла. Но есть места где проект всего один и команда больше ничем не занимается.
>>1850520 Что описать интерфейс раз и пользоваться им для различных типов данных. Особенно актуально для фп, где ты описываешь сет операций над данными для удовлетворения требованиям условных аппликативов, функторов и прочее третье-десятое и применяешь его на различные типы.
>>1850653 >если есть процесс-менеджер который спавнит много процессов-обработчиков?
Асинхронность как раз и предназначена для того чтобы не спавнить много процессов-обработчиков. Если ты заспавнишь процесс-обработчик на большую часть запросов, то у тебя упадёт сервер из-за недостатка памяти. Асинхронность это когда процесс отправляет запрос (если это сервер, то это скорее всего запрос к базе данных) и не блокируется в ожидании обработки запроса и получения ответа (как это будет в пыхе или любом другом синхронном контексе), а занимается отправлением очередного запроса. Т. е. пока один процесс может обрабатывать n запросов, не нужно создавать еще один процесс, в случае с пыхой это будет 1 запрос - 1 процесс.
>>1850606 К сожалению я не понимаю как фп может помочь в решении моих повседневных задач на фронте. Не агра ради, может и есть смысл на нем писать, но я пока не понимаю зачем.
>>1850716 >я не понимаю как фп может помочь в решении моих повседневных задач на фронте Сферически в вакууме скорее всего действительно NEECKAQUE. А если угореть по type-safety (в рамках ТС), то при работе с тулчейном вроде io-ts, это будет достаточно полезно. Рантайм валидация поместит все nullable значения в соответствующие мохнатки, а фп форсит тебя работать в контексте этих монад. Собственно, в большинстве случаев за глаза хватит двух мохнаток - Either/Result и Maybe/Option.
В своё время люди даже написали компилятор php в java (Caucho Quercus, на Java EE сервере Resin), чтобы эта ёбань не ложилась под детскими нагрузками.
Не говоря уже о том, что слово "highload" - чисто русское (перевод с русского, похоже). И англоязычной публикой оно вообще не употребляется. А употребляется термин "high performance", потому, что похуй какая там нагрузка, важна производительность.
Это напоминает историю о том, почему в русском языке слово "отвёртка" есть, а слова "завёртка" нету.
>>1850716 ФП - это не монады. ФП - это, прежде всего, value-oriented код. Другой подход к написанию кода, когда программа представляет собой конвейер по обработке значений, а не набор "команд".
Подскажите, пожалуйста, как сделать так, чтобы при нажатии на чекбокс, который находится в диве 1, менялся фон у h1 в диве 2? https://jsfiddle.net/fhw64m9v/ Если не туда написал, скажите плз куда написать?
>родителю похуй Нет, родителю не похуй. Окно же открылось не просто так, какой-то компонент решил что оно ему нужно. Значит он и будет его родителем и будет содержать состояние определяющее открыта модалка или нет. Если она захочет закрыть сама себя, то вызовет коллбек, который ему родитель передаст.
Осмыслено это когда я вызываю Alert.showmodal и оно потом само себя уничтожит, а не ебатня с тем чтобы в родителе выделить место под этот alert или отдельный редусер писать под каждый alert
>>1850773 > он и будет его родителем и будет содержать состояние определяющее открыта модалка или нет
лол, да похуй открыта она или анимация закрытия у нее еще, вернул колбек с результатом и все, а то терь изза иммутабельных дебилов я должен отслеживать а не закончилась ли анимация закрытия у окошка чтоб его убрать из dom
Читать вот это место: Все проблемы PHP (процесс на запрос, не оптимальный код самого проекта) никуда не деваются.
процесс на запрос - ты, вообще, понимаешь, что это значит? А как java серверы работают понимаешь? Что там у них на запрос?
Вот и подумай, у кого и какая будет производительность при обработке охулиарда запросов в секунду. Не говоря уже о том, что джава предварительно скомпилирована и работает на чуде инженерной мысли под названием JVM. Пыхайлоад у них, лол.
>>1850784 Тебе товарищ уже пояснил что таких запросов не бывает нахуй нигде кроме пары сайтов на весь инет. Пыха тащит збс. А если вдруг она не вытягивает то тут и жс тоже не очень-то кстати будет. Надо на го или с++ ебашить сразу
>>1850776 >Осмыслено это когда я вызываю Alert.showmodal и оно потом само себя уничтожит И в чем великая разница? То, что модалка сама будет хранить свой стейт? Не сказать что это такое уж большое преимущество — этот стейт из нее хрен выковыряешь, если нужно.
>ебатня с тем чтобы в родителе выделить место под этот alert или отдельный редусер писать под каждый alert А в чем конкретно еботня? Что вообще значит выделить место? Написать const [isModalVisible, setIsModalVisible] = useState(false);? Прям ух какой кирпич кода, не каждый компонент выдержит, может и треснуть. Алсо, не понял зачем редьюсер писать.
>>1850779 Анимацию как раз таки модалка может сама отслеживать, ее выносить в родителя смысла нет (если не хочешь ей как-то тонко управлять). Это нетривиально, но делается один раз.
Как тебе иммутабельность в этом случае мешает — выше моего понимания.
>>1850819 Redux маст-хев для проектов любого размера, если подразумевается ФП, отсутствие HOC (не считая контейнеров), масштабирование и разработка/поддержка проекта более, чем одним человеком. И сразу напоминаю структуру проекта белого человека: function main() { const store = createStore(); return renderMainApp(store); } Готов обоссать всех, у кого есть вопросы по данной тематике ИТТ. >>1847905 Для этого и существует import { compose } from 'ramda';
>>1850840 С контейнерами можно в практически чистое ФП. Например, как я уже упомянул выше const AppContainer = compose( connect(mapStateToProps), path(['foo', 'bar']), withEmptyRendering, )(AppComponent); конечно, тут надо хоть немного понимать, как такое работает, но в 2к20 разраб обязан это знать, я щитаю. Удобней писать тесты, контейнеры наглядней. В компонентах лежит только JSX. Повторюсь, всё вышесказанное я подразумеваю только для достаточно крупных проектов, которые поддерживают несколько человек. В небольших самоделках - похуй.
На самом деле, мы сейчас в небольших микросервисах начинаем юзать хуки, и меня это немного напрягает. Потому что небольшие микросервисы через полгода-год станут большими микросервисами.
>>1850848 >С контейнерами можно в практически чистое ФП Кому и главное зачем это нужно? Замедлять работу? Чтобы самая простенькая страница грузилась пару секунд?
>>1850850 >Оно никому кроме пары борщехлебов нахер не сдалось Потом вот за таким петушьем и приходится всё переделывать. Если бы тебе хватало мозгов попасть в нормальный проект с нормальной командой, ты бы так не кукарекал. >Замедлять работу? И тут ты такой с пруфами. Алсо, оба триггернулись на ФП - долбоёбы с курсов онлайн детектед.
>>1850848 Похожий подход используется в ангуляре, но там это всё на уровне фреймворка, а пользователь этого фреймворка больше работает в ооп стиле, ограничиваясь декораторами. Именно так это и должно происходить - ооп во главе, а фп его дополняет удобными фитчами.
>>1850858 >ооп во главе Зачем? Вот у меня приложение - генерация стора отдельно, подписки отдельно, контейнеры отдельно, JSX отдельно. Всё на ФП и куда ООП приткнуть и зачем - я не понимаю (кроме API-менеджера, но там завязка на инфраструктуре).
>>1850861 Деанон же. но сайта 2-3 ты точно использовал или видел Могу посоветовать посмотреть какие-нибудь фронтовые доклады циана - у них примерно похожая структура. Ещё у нетфликса но не везде, но они редко рабочий код показывают.
>>1850819 По идее useState/useReducer или там effector какой-нибудь. Но мне и на редуксе норм сидится, там девтулзы хорошие. MobX никогда не любил — много магии, неудобные прокси в компонентах, хуки не завезли.
>>1850995 Стукать тебя никто не будет, но зачем? mapStateToProps автоматом создает функции, с useDispatch они не нужны. Вообще, необходимость выделять контейнеры в отдельные компоненты как минимум спорная.
>>1845843 (OP) Почему норм писать вроде: for (const item of arr) {} В смысле почему норм писать const? Переменная item ведь постоянно меняется при итерации. let же нужен
Они изначально были не офигеть какие удобные, сначала им на замену предлагали render props, ну а потом и хуки подвезли. Хоки не то что бы антипаттерн, просто другие варианты удобнее.
>>1851055 Ваш птичий язык не всегда понятен посторонним, лол. И в том комменте, на который ты отвечал, были упомянуты хуки. Вот я и подумал, что это какой-то модный реакто-рунглиш-спик, типа как хедеры некоторые называют "хидерами".
Ещё есть русское слово "стэк", которое, на самом деле должно быть "стак". Но, тут уже ничего не исправить.
>>1851053 Ты че блять такое несёшь , браузер на каждый пук генерирует миллион событий, так что твои жалкие пару десяток переменных нихуя ему погоды не сделают
Почему в реакте нельзя напрямую обновлять стэйты, а надо вызывать this.setState, и передавать туда объект? Это же нелогично, контринтуитивно, и самое главное — неудобно.
>>1851066 Понял, благодарю за ответ. >>1851067 А ты пошёл на хуй. Сам нихуя не понимаешь, и православных людей сбиваешь с пути. Я вообще не фронтенд ни разу, просто решил с етим вашым модным зумерским реактом разобраться.
>>1851064 Ты про stack? В словаре посмотри транскрипцию, на гугл-транслейте можно даже послушать. Но, это не имеет значения, "стэк" - устоявшееся произношение.
>>1851063 Тебе уже ответили, но, я добавлю. Дело в том, что тот подход, о котором говоришь ты - изменение стейта напрямую - предполагает реактивность. Т.е. фреймворк _неявно_ отслеживает изменения, прикрутив методы-реакции к объектам.
Так вот, Реакт - не реактивен (игра слов, лол). Хорошо это или плохо - это другой вопрос. Реактоблядки считают, что хорошо. Реактоблядки-отщепенцы используют MobX - он добавляет реактивность.
Но, те, кому такой подход по-настоящему близок, кто ценит своё время и не любит бойлерплейт, используют Vue. К тому же, в Vue 3 завезли composition api и большие сложные компоненты больше не обязаны быть огромными простынями кода, плюс, можно свободно разделять между компонентами отдельные куски конфигурации.
>>1851076 В целом, да. То есть оно будет так работать. Но тут есть несколько вещей, которые можно улучшить.
Во-первых, setState может работать в двух режимах — принимать или объект или функцию. Если у тебя стейт задается на основе предыдущего, то лучше использовать функцию, потому что Реакт в некоторых случаях батчит эти вызовы.
Во-вторых, ты используешь классы, а стоило бы использовать функцию и хук useState. Сейчас многие сторонние либы перекатываются на хуки, а они в классах не работают. Обычно альтернативы есть, но функции все-таки удобнее.
В-третьих, даже если ты ООП-дед и очень любишь классы, то конструктор тут не нужен, можно прямо в теле класса написать state = { foo: 'bar' }.
Рекомендую тебе найти туториал поновее, этот устарел года на 2-3.
>>1851094 Там есть Vuex. Тот же Flux-паттерн. Но, он реактивный. И использовать его не обязательно.
И в Vue 3 появилась возможность произвольно создавать реактивные объекты в любом месте (раньше их надо было явно прописывать в data, как в state в Реакте). Т.е. некоторое подобие useState() в реакте, только менять потом можно просто сам объект напрямую, а не через функцию-сеттер, как в реакте.
Че-то не понимаю, в чем суть асинхронных запрос на сервере? Вот клиентская асинхронщина логична: мы отправляем запрос к удаленному хосту и вместо того чтобы простаивать, пока не получим ответ, идем выполнять какие-то другие действия. Что в жс, что в питоне суть одна и та же
На бэке ясна суть асинхронных запросов к БД вроде: await databaseService.execute(query) Мы отправляем SQL-запрос к базе и не простаиваем во время ожидания ответа (который может занимать сотни милисекунд). А чего мы блин ждем когда отправляем клиенту ответ на запрос что он прислал?? Мы просто отправляем ему Response, нам нечего ожидать
>>1851156 А если несколько параллельных запросов? В многопоточной системе будет запущен отдельный поток (а в пыхе - процесс, например), который синхронно обработает запрос.
>>1851165 В смысле "несколько параллельных запросов"? На сервер приходит Request, там происходят какие-то блокирующие операции пока он обрабатывается (и асинхронку тут не применить) затем сервер говорит послать Response клиенту в ответ на этот Request. Все. Подтверждения о статусе получения клиентом Respons-а ждать не надо
>>1851193 Да в принципе то ничего сложного на мой взгляд, хуяриш стор экшены редюсер, конектиш контейнер, главное на мой взляд нормально логику редусера описать, только тут запнулся, пытался сравнивать по id товара чет не выходит
>>1851169 Ну таки иногда некоторую часть запросов можно таки вынести в отдельный поток - некоторую часть обмена со сторонними сервисами, логирование и тд. А вообще да - на беке асинхронность не является критично необходимой, 99% команд надо выполнять строго последовательно.
>>1851156 >А чего мы блин ждем когда отправляем клиенту
Ответ отправляется частями по установленному соединению, отправил часть данных на устройство (сетевой адаптер), устройство отправило эти данные на endpoint и только после этого готово принять следующий пакет данных. Вот при асинхронном отправлении данных нет простоя в момент обработки данных адаптером.
>>1851233 Причем тут, нахуй, реакт? Редакс каловый получился, приходится кучу бойлерплейта писать, это даже сами разрабы признали, выпустив RTK (который тоже кривой, кста),вот только это отношения к реакту не имеет, бери нормальный стейт-менеджер и не еби себе мозг, если редакс не нравится.
Отправляю post запрос через axios возвращает 202, беру у него task_id и отправляю get запрос при успехе 200 или если задача еще в обработке то 206 (pending), как мне правильно ждать 200 результата? вариант который нашел не пашет https://pastebin.com/n4m3puYB метод waitResponse
Когда упоминают реакт, то говорят про весь стек вокруг него. Все эти редаксы, санки, мобиксы, реакт-роутеры и тд. А не просто про саму либу react которая вообще нихуя самостоятельно не может внятного сделать.
>>1851577 Или рядом несколько компов поставить, и на них запустить. Будет вообще охуенно. Особенно, если у них стенки прозрачные, и кулеры на процах с мигающими светодиодами. Только это не будет многопоточность.
>>1848366 >Rxjs' defer operator can be used to wait until an observer subscribes before creating the actual observable. Ты очком читаешь? Очевидно чтобы помечать санки