Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Правило треда: видишь шизика с > ряя алгаритмы нинужны дакажи что нужны!11 обоссывай и игнорируй. Это верстальщик залетел. Скоро вылетит на жопной тяге.
Я тот анон, который запилил по приколу это решение >>1941438 → За пару минут. Там было какое-то ебанько, которое спросило, что я буду делать, если там будет 100к элементов. Я сказал, что скажу, точнее даже готов был написать алгоритм, если оно пруфает, что оно работает в ойти. Оно после кривляний ушло в слив. Вывод? Тут сидят токсичные вкатыши, хлебающие мамкины борщи, которые придут на галерку и будут есть говно из жопы лидов и манагеров и помалкивать, а тут они дохуя экспертные. Печально.
>>1941747 → >Он становится быстрее, если меньше кода при цикле рендера запускается А если рендер запускать только тогда, когда надо что-то изменить? Я хз, может быть я от жизни отстал, но обычно рендер это ноль целых, хуй десятых по отношению к коду проекта и вообще, там только код, который состояние во view транслирует
>>1941747 → >Так-то реакт никогда не справляется Рил, я не понимаю о чем ты говоришь. Есть пример задачи конкретной?
>>1941758 Да, кстати, и заметь, что анону не вкинули нормальное решение, хотя тут типа что-то про алгоритмы говорят, про их важность и т.д. Но ирл тут большинство сортировку пузырьком с трудом напишет, лол.
>>1941757 > А если рендер запускать только тогда, когда надо что-то изменить? То получается 5 фпс. > Я хз, может быть я от жизни отстал Мне кажется ты всегда отставал, раз не в курсе про циклы рендера. > но обычно рендер это ноль целых, хуй десятых по отношению к коду проекта и вообще, там только код, который состояние во view транслирует Цикл рендера всегда занимал довольно объемное время. > Рил, я не понимаю о чем ты говоришь. Есть пример задачи конкретной? Любая задача. У реакта/ангуляра есть цикл рендера. Он здоровый. У других фреймворков цикл рендера меньше.
>>1941766 > Шиз, тебе нахуя 60 раз в секунду интерфейс обновлять? Проиграл. Чтобы плавно всё было, списочки листать. > Ты точно в том треде? Именно так, в этом треде обсуждают жс. А ты точно не верстальщик, у которого НИНУЖНО?
>>1941758 >да я не обосрался я просто по приколу в штаны дристанул жиденько за пару минут, ну прикольно же, да?))) >какой то несвязный бред в попытках доказать, что дерьмо ему в штаны подлржил анон спросившй про 100к элементов
>>1941773 >То получается 5 фпс Зачем тебе больше, если меняется что-то только в пяти кадрах, шиз?
>>1941773 >Цикл рендера всегда занимал довольно объемное время Только у тех, что не понимает для чего нужен рендер
>>1941773 >Любая задача Ну вот, например, есть задача в темплейт вместо {{value}} подставить какое-то значение. Зачем тебе перерисовываеть его 60 раз в секунду, если оно меняется раз в несколько минут?
>>1941773 >Проиграл. Чтобы плавно всё было, списочки листать. Списочек рендерится в дом и дальше ты его обновляешь только тогда, когда надо, а не 60 раз в секунду, шиз
>>1941748 (OP) Выполняю тестовое на стажировку в яндекс, разработчик интерфейсов. Там надо шаблоны сверстать, подскажите плиз, что за маска? И как мне эту картинку вообще надо сверстать, по отдельности райт бек и т.д. писать как у меня на пике? Чё-то вышла хуета какая-то
Почитал прошлый тредик. > Виртуал дом реакта это плохо, потому-что это убивает производительность. Вообще полный тред реакто-хейтеров. > Ангуляр в 2021 > Svelte на полном серьезе
>>1941864 Они давно скурвились и помешались на лгбт тематике. Там еще лет пять назад начали увольнять сотрудников, которые не одобряют лгбт. Не говоря уже о том, что большинство ключевых фигур вполне официально кормятся с ширинки гугла, так что о какой-то реальной конкуренции с хромом можно забыть.
Ничего лучше и свободнее у нас больше нет. Имеем, что имеем.
>>1941872 Если ты не наговнокодил и у тебя ничего не течет, то 90% видимого для юзера лага, если такой будет иметь место, будет приходиться на рендер дома. Вдом минимизирует лишний рендер на странице. Лучше лишний раз нагрузить CPU дополнительным js'ом, чем GPU ререндером в холостую.
>>1941847 Маска - два/три элемента, у враппера оверфлоу подкручен, средний поверчен через трансформ/странслейт, а третий или картинка или псевдоэлемент с градиентом.
>>1941878 > Вдом минимизирует лишний рендер на странице. Типо если сразу в нескольких местах изменений на странице происходит, оно всё одним вызовом рендера происходит, без лишний ебли?
>>1941885 Да, притом ты можешь перестроить структуру верстки и он заменит/обновит только те узлы, которые реально поменялись. Ты можешь поменять компонент под капотом в каком-то узле и реакт может оставить те дом-узлы, которые между этими компонентами совпадают, что бы избежать лишнего размонтирования-создания дом узлов.
При этом реакт менеджит все запросы на ререндер и может их объединять в один. У тебя два компонента могут запросить ререндер с разницей в пару тиков - реакт не будет создавать очередь ререндера, а выполнит оба запроса в один ререндер цикл.
В свое время я отказался от второго ангуляра, когда компания решила оптимизировать корпоративную приложуху с огромнейшим количеством элементов на странице - любые манипуляции со списком просто дико лагали. Второй ангуляр под капотом юзал свои обсерверы и события в больших количествах и это все убивало производительность в огромных дом-древах. С реактом же все начало летать и это порешало все проблемы.
Скорее всего, в ангуляре как-то эти проблемы уже порешали и он тоже сейчас будет летать, но желания возвращаться просто нет. На реакт больше всего работы, особенно в сфере корпоративных веб-приложений. В соусе с ts, sc и mobx вообще любимый фронтовый стек. Всем рикомендую.
Vue - уважаю. Всегда рассматриваю его как Plan B. Svelte - на него нет работы от слова совсем, потому вообще безразлично какие у него могут быть плюсы и минусы. Столько было шуму, но он все еще не выстрелил и, скорее всего, уже и не выстрелит.
>>1941748 (OP) Анончики, помогите молю. Целый день сегодня не могу разобраться. Пытаюсь прикрутить кнопочку к гуглтаблице. Но в блядских таблицах нельзя передать параметры в функцию. Нашел мегапердолинг и костыль, где чел передает начальный параметр в виде названия функции. то есть, прикрепляет на кнопку название функции itemMenu156 условно. А при вызове этой функции она магическим образом превращается в itemMenu(parametr=156). Вот исходники кода https://github.com/contributorpw/google-apps-script-snippets/blob/master/snippets/sheets/dynamic_meny/code.js Я попытался повторить это немного поменяв и на этапе перехода из itemMenu156 в itemMenu(parametr=156) у меня что-то идет не так и программа пишет, что такой функции не найдено. Вот мой код https://pastebin.com/9Za2XCSn Можете помочь, прошу. Что не так с кодом?
>>1941962 Если коротко: создан ребятами с фейсбука, но в самом фейсбуке так применения ему и не нашлось. Так-то - однохуйственно, но мобикс с его декоратами просто элегантнее и приятнее в применение. Мне нравится.
>>1941970 Они по дефолту юзают штуку под названием change detection которая по сути просто обвешивает дом обсерверами и в крупных дом-древах это приводит к дичайшим лагам. Можно танцевать с бубном, реализовывать иммутабельность и всячески избегать лишних тригеров обсерверов, но зачем это все, когда можно просто взять другой фреймворк?
Типо, гипотетически ангуляр можно применять везде, где можно применить и реакт, но ангуляр в целом оверинженернутый, имеет бескрайнее поле подводных камней и в итоге он затребует на разработку больше времени, чем реакт/вью/ватевер. Ангуляр пытаются преподносить как божественный комбайн, где за тебя уже все продумали, но на практике он имеет огромный порог вхождения из за большего количества подводных камней о которых тебя никто не предупреждает. И, наверно, можно было бы во все это говно нырять и разбираться, что же там под капотом происходит на самом деле - но он давно теряет позиции и это просто не стоит того.
>>1941996 То есть даже в последней версии ангуляра происходит это обвешивание обсерверами? А про аполло что думаешь, или графкл в корпоративных приложения не особо используют? В смузи стартапах популярная тема.
>>1941748 (OP) Каким образом можно сделать пагинацию в реакте? Сейчас пытаюсь сделать через мапинг что-то типа как на пике, это правильный подход вообще? В апи (https://swapi.dev/) уже есть разбиение на странички, хочу просто чтоб на каждую кнопку было получение данных с соответствующей страницы На втором пике я фетчу страничку в getPage
>>1942023 этот чувак ничего не думает, он ретранслирует. собственного опыта у него нет поэтому он просто пересказывает банальщину от тех кого посчитал авторитетными источниками. вот он тебе сейчас ответит что-то, ты примешь это за истину и станешь как он. потом если тебя кто-то спросит то что ты спросил его, ты с самодовольным видом ретранслируешь его ответ. вот так это все дерьмо и переливается из головы в голову
>>1942030 Понятно, значит ты не просто тупая мелкобуква, не могущая в новые строчки. На самом деле ты отказываешья ретранслировывать правила грамматики, тому шо копротивленец-интеллектуал.
>>1942030 Так же само можно назвать и посты в защиту ангуляра. На любую его критику в интернете найдутся его защитники, которые ретранслируют тебе дефолтные тезисы, что ты просто неправильно его применяешь. И, зачастую, они даже будут правы - наверняка в последних версиях уже порешали все ключевые проблемы, а где и не порешали полностью, то хотя бы предоставили возможность избегать таких проблем. Но это не отменит всей грубости дизайна и применения ангуляра на практике.
Мне не понравилось. Большинству не нравится. Мне этого достаточно, что бы сложить о нем мнение.
>>1942023 > А про аполло что думаешь, или графкл в корпоративных приложения не особо используют? В смузи стартапах популярная тема. Одобряю. Но в последних проектах, где я участвовал, все делалось через рест. В больших компаниях со смузихлебством все сложно. У каждого своя ниша ответственности - обсуждали, бекендщики сказали мол у них уже все на ресте и нет смысла менять коней. Делали все на ресте. У меня вообще сложилось мнение, что такие новшества больше любят фронты, а бекендщики в большинстве своем дико держаться за рест по каким-то там своим причинам.
>>1942045 ты невоспитанный косноязычный ретранслятор. твой проф опыт настолько незначителен что тебе ничего не остается кроме как работать по БЕСТ ПРАКТИСИС. это абсолютно нормальное явление в жизни любого разработчика и вообще в процессе обучения чему-либо - сперва ты просто повторяешь за другими. но ты конкретно тупой мудак потому что, будучи неопытным кретином без собственного мнения, пытаешься сделать вид что оно у тебя есть и как тупой попугай пересказываешь за кем-то ничего не стоящие банальности с которых начинается любая статья на первой странице гугла про сравнение фреймворков. и пытаешься все это прикрыть фиговым листком типа ну меня есть опыт мне не понравилось)). весь твой опыт исопльзования нг это мувисчер и туду лист, и если ты заявишь обратное я тебе не поверю ,ведь я знаю как искушенные профи говорят на ету тему , потому что я сам такой искушенный профи и множество раз говорил с другими искушенными профи на ету тему. цена всем твои советам - один запрос в гугле. любой долбоеб котоырй на серьезный щщах че-то спрашивает у тебя и принимает во внимание твой ответ,по сути отличается от тебя только тем,что знает немногим меньше тупых шаблонных ответов на тупые шаблонные вопросы
>>1942045 >большинству не нравится >прикрепляет график-фантазию последователей свелт
Проиграл. Ангуляр нравится всем и проектов на нем больше чем на реакте или вью, единственная проблема в том, что порог вхождения выше за счёт того необходимости знать тайпскрипт и понимать ООП и его принципы. Именно поэтому большинство вкатунов выбирают вью с реактом.
>>1942028 Запрашиваешь джейсон и через юзэффект мапишь эти элементы, добавив массив в зависимости. В стрелочных функциях кстати подразумевается ретурн, и для jsx один хуй нужно оборачивать выражения в скобки, так что конструкция типа `array.map((el) => (<></>))` так же будет обрабатываться, и читать проще. Насчёт кнопок, делаешь отдельный компонент, который в пропсы принимает урл, нынешнюю страницу и колбэк, который будет выполнен при смене страницы. Там уже в компоненте разберёшься, что да как. Самый простой и уродливый способ пагинации - `<input type="number" />`, который на onChange будет выполнять колбэк. Чуть посложнее - элемент с двумя кнопками по бокам, которые добавляют/убавляют значение нынешней страницы, а юзэффект запускает колбэк при изменении значения. Самый топчик - кнопки перехода на первую и последнюю страницы, а между ними предыдущий элемент, но это работает только если апишечка возвращает общее количество элементов в запросе.
>>1942043 Панки за ЦРУ горой стоят. Так что ты ещё и пидор. >>1942100 >невоспитанный косноязычный ретранслятор Вообще пушка, учитывая наполнение твоего поста. >>1942102 Что тебе там надо дружить? Если хочешь прямо в браузере вуй запускать то не получится. Надо сперва сбилдить его в .js файлы, а там уже пихать в тэг скрипта.
>>1942100 > ничего по теме > ты тупой мудак ))) > стена текста
Щито ж, еще одна победа на фронте "в интернете кто-то не прав".
>>1942107 Это, тащем-то, опрос state of js. Конкретно на скрине - удовлетворенность технологией. Конечно светле там будет на первом месте, те, кому он может не нравится его даже в руки еще не брали и оценить не могут.
> знать тайпскрипт и понимать ООП Хуя ты обвинил светлистов в сектанстве, а сам расписался в ангуляровом сектанстве. На тс уже года как три пишут под любой фреймворк, алло, чел. ООП исклюзивно нужно в ангуляре? Как ты блядь можешь писать на жсе НЕ ООП? Ты че, обмазываешься фентези лендом и монадами (у которых порог вхождения значительно выше быдло-ООП, так как основано на матане)? Или ты имеешь ввиду ООП патерны которые можно одинаково (бесполезно) применять по отношению к любому жс фреймворку?
>>1942107 >Ангуляр нравится всем Ты хочешь сказать, что статистика stateofjs врёт? >проектов на нем больше чем на реакте или вью Ты уверен, что это не является наглым враньём? Есть пруфы?
К слову, реакт без тайпскрипта редко используется, в вью 3 версии тоже добавили поддержку тс.
>>1942155 даун наш с тобой разговор начался с вот етого моего поста >>1942030 кому ты там че принес мне похуй более того ето не имеет никакого отношения к тому что я хотел сказать
>>1942159 >>1942161 Ты либо берешь голый реакт без всяких кра и бойлерплейтов и настраиваешь себе все сам, либо берешь кра или бойлерплейт и пользуешься всем готовым.
Единственная разница, что с ангуляром тебе дают ровно один комбайн без альтернатив, тогда как с реактом у тебя есть выбор как именно его готовить. Если ты хочешь все готовое, то с реактом + кра/бп и ангуляром не будет никакой практической разницы.
>>1942176 В том, что приложение настолько простое, что ничего более не требуется? Я хз, это же не сложно вроде. Есть сложные проекты, есть простые, а есть очень простые.
>>1942140 >Ты уверен, что это не является наглым враньём? Есть пруфы?
Пикрил.
>Ты хочешь сказать, что статистика stateofjs врёт?
Хочу сказать, что она релевантна только к тому кругу людей, которые непосредственно участвовали в опросе, с общим положением дела у ней ничего общего нет.
>>1942138 >Конечно светле там будет на первом месте, те, кому он может не нравится его даже в руки еще не брали и оценить не могут. >оценить не могут >при этом по оценкам он на первом месте
Охуенные данные, охуенный опрос. Вот только при чём здесь реальность?
>На тс уже года как три пишут под любой фреймворк, алло, чел Одно дело "можно писать на ТС" и другое дело "можно писать только на ТС". Если ты везде fun<any> нахуярил, то от ТС твой код никакой пользы не поимел, а наоборот. > ООП исклюзивно нужно в ангуляре? Принцип IoC который достигается путём DI. >Как ты блядь можешь писать на жсе НЕ ООП? Ну с этого высера только проиграть можно. Большая часть JS кода это обычная процедурщина с простынями из функций. >ООП патерны которые можно одинаково (бесполезно) Типичное мнение жс-макаки, которое не смогло в ООП и SOLID, а теперь скрепляет манямирок вскриками "нинужно".
Как думаете, лучше вкатываться в реакт сразу на тайпскрипте? t. ньюфаг начавший с тс, на чистом жс ничего не смогу написать, потому что оч неудобно без проверки прям в иде
>>1942190 > Пикрил Хуита. Нет смысла смотреть по всему вебу. Надо смотреть конкретно SPA, конкретно реакт vs вью vs ангуляр. Но ты мне не приведёшь такое сравнение потому что оно для тебя неудобное, ведь сразу будет видно, что ты обосрался и что реакт с вью в разы популярнее ангуляра, и ты сам это знаешь. То есть твои штаны уже обгажены и ты в курсе, но ты пытаешься притворяться, что это не так.
>>1942190 > Пикрил. 1. Большая часть интернетов работает на статических PHP страницах. 2. В этой стате не делают разделения на первый и 2+ ангуляры. На первом ангуляре в свое время было дохуя наклепано сайтов. 3. на первом месте вообще жиквери, которым сейчас сыт уже не будешь.
Давай я тебе более актуальную стату для тех, кто хочешь хорошо жить: Стек Оверфлоу джобз: Реакт: 303 Ангуляр: 104
Если тебе статы state of js мало, вот тебе пикрил статы нелюбимых технологий оного стек оверфлоу. Не так-то любят ангуляр, как ты думаешь. Чел, ты борешься с объективной реальностью.
> Одно дело "можно писать на ТС" и другое дело "можно писать только на ТС". Если ты везде fun<any> нахуярил, то от ТС твой код никакой пользы не поимел, а наоборот. Мам, если они пишут не ангуляре, то значит у них не может быть ТСа!
> Принцип IoC который достигается путём DI. 1. без одного патерна ООП больше не ООП? 2. есть религия, которая запрещает реализовывать DI где-то кроме ангуляра, если тебе так этого хочется?
> Типичное мнение жс-макаки, которое не смогло в ООП и SOLID, а теперь скрепляет манямирок вскриками "нинужно". Я не говорил, что оно не нужно. Просто нет патерна, который бы стал панацеей, как думают сектанты. Ангуляр с его дрочем на DI тому пример.
>>1942191 Обычно, считается большим минусом, если ты пишешь код на ТС, но не знаешь во что он транслируется на ЖС. Но это уже на хайлвл грейдах. На позициях джуна всем пох, лишь бы писал не хуйню
>>1942190 >Если ты везде fun<any> нахуярил, то от ТС твой код никакой пользы не поимел, а наоборот. Никто так не пишет, еслинт ругается на любой пук, как и сам тайпскрипт.
>>1942191 Как тебе угодно. Лишь бы не бросал. Но тебе надо будет рано или поздно вникать в жс, потому-что тс это просто транспайлер и если ты не сможешь различать где заканчивается тс и начинается жс - ты будешь об это спотыкаться время от времени. Любой транспайлер это скрытое зло, в случае с тс/жс оно вынужденное и оправданное, но все равно зло.
А вот не запороли бы четвертую редакцию, были бы у нас типы уже нативно. Да и прото-jsx в тот же период обсуждали для принятия в браузерах нативно (хотя я читал тот драфт - оно слегка хуетой было против нынешнего jsx, так что может и к лучшему).
>>1942212 Так я сразу сказал, что вью и реакт популярнее у вкатунов, но вот в проде популярнее как раз ангуляр. Или польза и качество фреймворка теперь оцениваются по количеству васянов решивших вайти в айти после курсов от инфоцыган?
>>1942218 https://jsdoc.app/tags-param.html Плюс в вскоде есть настройки, которые позволяют показывать варнинги в .js файлах как в .ts, если без этого не можешь. По сути будет можно любой проект так обмазать тайпскриптом, не таща его в проект.
>>1942232 Ну тут вопрос нагромождения сущностей. Как не крути, а тс это +1 степ на котором могут быть свои косяки.
Такие косяки всплывают редко, но, все же, всплывают. Так-то приватные поля тс это не приватные поля жс. Декораторы над классами тс могут давать отличное поведение от оных на чистом жс. Энумов в жсе нативно не существует и их поведение на низком уровне не всегда может быть очевидным.
И это при том, что тс это просто суперсет правил над жсом. Если брать что-то вообще отличное от жса, что компилируется в него, то там может быть очень очень много боли и страдания.
Настало время раскапывать четвертую редакцию и вводить типы нативно. Так жить нельзя.
Ммм, а вот еще стата от стакшер. ps под Angular 2 имеется ввиду Angular 2+.
9319 companies reportedly use React in their tech stacks, including Uber, Airbnb, and Facebook. 719 companies reportedly use Angular 2 in their tech stacks, including Bitpanda, Immowelt AG, and Postclick.
>>1942239 Ну если даже @param {MyInterface} options будет подсвечивать, то класс. Останется надеяться, что все нпм пакеты имеют jsdoc комменты, а не только types.d.ts.
Я когда готовился к собеседованию, то много по теме прочел. На собесе удалось блеснуть знаниями и вот я в топовой компании. Сам больше не сталкивался с этим, но судя по статьям этим занимаются сеньор-помидор-архитекторы 99лвл
>>1942266 С импортированных пакетов он будет types.d.ts читать. >>1942276 >На собесе удалось блеснуть знаниями >Сам больше не сталкивался с этим Вся суть топовых компаний.
Помогите неофиту Хочу сделать интеграцию гугл сайн-ап в свою веб приложуху. Проблема сейчас в том, что в моей приложухе при регистрации надо обязательно выбрать роль профайла, однако на всяких других ресурсах, где прикручен гугл сайн-ап, все настройки профайла обычно идут уже после того, как юзер сделал сайн-ап через гугл. В то время как у меня, роль выбирается только во время регистрации. Собственно вопрос - могу ли как-то передавать эту роль в теле запроса, чтобы юзер сайн-апился через гугл и у него сразу уже была выбранная роль, или так это не работает? Не обессудьте, если сумбурно написал.
>>1942278 >>На собесе удалось блеснуть знаниями >>Сам больше не сталкивался с этим >Вся суть топовых компаний. Зато сталкиваюсь со всем остальным, что узнал при подготовке к собеседованию. Вообще, если бы кто-то рассказал с уверенностю а все 100, что надо учить, а что нет, цены бы ему не было
Необходимо массив объектов разложить в структуру вида [ [ [ Object, Object, ... ], [ Object, Object, ... ] ], [ [ Object, Object, ... ], [ Object, Object, ... ] ], и т.д... ] в зависимости от неких правил: дата и номер счета. Раньше пользовался пикрил ебаниной, так вот, может уже как-то по-современному такие вопросики обкашливаются в одну строчку?
>>1942028 И часто вы в реакте велосипеды придумываете? Не тралирую, просто интересно. В ангуляре я просто ебашу <mat-paginator> и пробрасываю в сервис номер и размер страницы.
>>1942392 По-другому не сделаешь, логика будет та же самая, разве что можно причесать. Вопрос скорее в том, нахуя тебе раскладывать это в кривой массив массивов, а не пользоваться просто тем же объектом, который ты собрал на первом шаге.
>>1942281 Напрямую с клиента что ли сайнап отправляешь? В своём эндпоинте, отвечающем за регистрацию, отправляешь дефолтную роль вместе с ответом, а поле роли из формы убираешь. Чисто на клиенте `fetch()` позволяет писать в тело хоть тело твоей мамаши. >>1942368 Тут вопрос не как ты к собесам готовился, а как бы ты справился без заучивания. >>1942392 Аккумуляторы говоришь? Это же типичный юзкейс редюсера.
>>1942488 Я понимаю что на дваче такое спрашивать странно, но мне интересно как много людей получают 300 или больше, или их знакомые, и в какого размера компаниях работают. Типа, может сейчас норм цена за сеньора уже 400к? Опять же, не на запад.
>>1942492 Статистику гугли. На хабре раз в год выкладывают. По размеру компании я хз, но мелкой компании будет сложно оплатить себе специалиста за 400к, да и задачи там таких не , наверное.
Ну и не стоит забывать, что все эти грейды. - это сугубо индивидуальные, относящиеся только к задачам внутри компании вещи. Сеньор в одной компании = мило в другой. Ну и сеньоры разные бывают. У нас в качестве консультанта привлечён инженер из гугла. Он сеньор и я сеньор, но зарплаты и уровень знаний у нас разный, как ты понимаешь
>>1942523 Хочу зарплату больше нынешних 300к, но не хочу пробивать кабанчиком вакансии самому, т.к. вдруг время потрачу, а на самом деле цена сеньора 300к и мне и так должно быть норм.
>>1942528 Больше зарплату на работе просить не пробовал? Составь инживидуальрый план развития с руководителем и сразу оговори зарплату, которую получишь по его прохождению. Не сложно же
>>1942451 Что мешает редюсером в шаблоне выражение выполнять и уже вставлять прямо в элементе как надо? Вот кстати хорошая задачка алгоритмошизам, а то они в прошлом треде пеной у рта истекались от того, как они каждый день новую реализацию сортировки даннинга-крюгера пишут. Покажи интерфейс `entry` и предположим в этом массиве 10 тыщ элементов, тому шо бэкендеру лень сортировать на сервере. Как выглядела бы оптимальная функция сортировки по полям?
>>1942536 >предположим в этом массиве 10 тыщ элементов >Как выглядела бы оптимальная функция сортировки по полям? Хоть жопой сортируй, на производительности это не отразится. 10к элементов - это как жопу почесать для любого языка, а уж тем более для выдроченного гуглом v8.
>>1942589 Можешь хоть 10 раз по этому массиву пройти, похуй абсолютно. Заметные просадки в сортировке чистых данных в памяти(без рендеринга и прочей хуйни) могут начаться только при миллионах записей.
>>1941892 >>1941916 Ну я погуглил немного. Так у свелте тоже всё одним вызовом рендера всё говно рендерится. И тоже есть очереди рендера. И тоже ререндер происходит только там, где это нужно. Никакого лишнего моунт/анмоунт вообще нет. Че-та непонял нихуя. Пойду еще почитаю.
>>1941929 Да я и не адепт, прост выбираю фреймворк для проекта. Впринципе я помню про вдом только на основе рекламного ролика реакта с 2013 года, мол стакает вызовы.
>>1942603 Обход массива в вакууме обсуждаем. В крупных приложениях эта сортировка должна выполняться одновременно со всей остальной работой приложения + в памяти висят ещё 20 вкладок и каждая хочет что-то посчитать. Согласен, просто обойти 10к массив не так сложно, но реальность немного сложнее
>>1942608 Именно поэтому надо выбирать реакт как наиболее зрелый продукт. У него и база компонентов больше и гайдов / книг для вката просто море. Если свелт проживет ещё года три хотя бы, без снижения темпа развития, так добро пожаловать. Я только рад буду даже
>>1942609 Либо ты обсуждаешь сортировку массива из 10к элементов как таковую, т.е "в вакууме", либо не обсуждаешь никак, потому прийти и сказать "а у меня там при этом еще миллиард записей в бекграунде считается, почему ты это не учел" много ума не надо.
>>1942614 Ты не обсуждаешь реальность, ты переводишь разговор с "как быстро отсортировать массив на 10к записей" на выдумывание "как быстро отсортировать массив на 10к записей, если у меня открыто 20 вкладок хрома, IDE и 10 серверов спринга в бэкграунде". И в обоих случаях ответ все равно один и тот же - как хочешь, это занимает доли секунды, ты даже моргнуть не успеешь, а если успеешь, то проблема явно будет не в в этом ссаном массиве.
>>1942621 > Ты не обсуждаешь реальность, > выдумывание "как быстро отсортировать массив на 10к записей, если у меня открыто 20 вкладок хрома Это и есть реальность клиентов, лол. Выдумываешь тут только ты, тыж верстальщик антилогичный, который никогда не программенровал.
>>1942028 У material ui есть готовая пагинация. Ну и вообще, если принципиально запилить самому, можешь поискать npm пакеты готовые и посмотреть как у них там всё сделано
>>1942622 Шиз, самые первые вещи, которые об оптимизации узнают не-верстальщики - это то, что: 1) оптимизировать можно только те вещи, которые ты померял до и после, и точно уверен в эффективности этой конкретной оптимизации 2) нет ничего хуже предварительной оптимизации в вакууме, не основанной ни на чем, кроме "мне кажется". Начнешь после верстки программировать - может узнаешь.
>>1942639 > Ну так не фантазируй Зачем мне фантазировать, яж не верстальщик антилогичный. > можешь сюда написать, уж ответят. Надеюсь ты больше не будешь отвечать и сдриснешь с треда, арбиторный.
>>1942640 Это не говорит ровным счетом ни о чем. До тех пор, пока ты не скажешь, какого именно кода, почему это должно отражаться на производительности и не подтвердишь бенчмарками, что да, реально отражается.
>>1942649 > Это не говорит ровным счетом ни о чем. Для тебя? Ты что, верстальщик? > До тех пор, пока ты не скажешь, какого именно кода, почему это должно отражаться на производительности и не подтвердишь бенчмарками, что да, реально отражается. Ну знаешь, когда код исполняется, он отнимает процессорное время. Как бы. Процессор работает. Хотя он мог бы работать другую задачу. Понимаешь?
>>1942650 А то. Игорь 60 фпс Интерфейс лагать нидолжен даже во время нагрузок. Можно конечно на преакт+стреон, например, но хз.
>>1942536 Тащемта я как раз говорил про вакууме. Надо доказать, что самописные алгоритмы дохуя быстрые по сравнению с `array.sort()`, а в секунде аж целых тысяча миллисекунд, так что есть где разгоняться.
>>1942689 Че смеешься епты, на ваниле заебешься писать все эти апдейты каждого выпука, вместе с аватарками и прочим дерьмом. Тысячи строк говнокода. Пора уже что-то менять. Хотя бы на светле попробоват.
Сап анон. https://jsfiddle.net/wchokm79/ Пытаюсь заставить выводить 2е значение, основанное на 1м, взятого из массива. Выводит только статичный результат: >10 >11
Я похоже сделал как-то криво всё это. В идеале было бы конечно иметь 2 массива:
Проиграл с макаки, которая не знает, что под капотом array.sort использует TimSort алгоритм. Вот теперь можешь открыть другие, прочитать про их плюсы и минусы, а потом сделать выводы в каких случаях TimSort будет проигрывать другим алгоритмам сортировки. Например, если использовать Heapsort, то ты получишь выгоду по памяти, но результат будет хуже по времени при условии, что сортируешь уже отсортированные данные. При этом оба алгоритма проиграют сортировке слиянием (Merge sort) в плане параллельной сортировки (использование нескольких потоков одновременно).
>>1942717 Спс вроде самое простое для меня, но как сделать что-то типа этого >let first = x[Math.floor(Math.random() * x.length)]; Не работает чёт в этом случае. >>1942720 Спс, но что-то это не совсем то, что мне надо.
>>1942731 Ну в идеале такая конструкция: >var array_one = [10, 20, 30]; >var array_two = [11, 22, 33];
>var one = array_one[Math.floor(Math.random() * array_one.length)];
Хочу чтоб при выводе значения из 1го массива, 2й массив параллельно работал, подбирая значения на основе 1го. Хз, как объяснить нормальным языком. В общем если рандом попадает на 20, то подставляться во 2е значение должно только 22. И выводиться всё должно в разные переменные.
>>1942739 Рандомизировать вывод объекта навигатора браузера. Все эти: availHeight, orientation, width. И чтоб это было максимально просто. Т.е. если рандомная высота подставляется, то и длина экрана нужная подставлялась, для меньшей палевности. Пока только ручками меняю. Есть всякие расширения, но в них много мусора и кода дохера. Я в джаваскрипте плохо разбираюсь, поэтому не смогу проверить на зонды чужой код. Такие дела.
>>1942728 >>1942735 >В общем если рандом попадает на 20, то подставляться во 2е значение должно только 22. И выводиться всё должно в разные переменные.
Ну а если не попадёт, то что? Чего ты тупой то такой?
>>1942742 >Чего ты тупой то такой? А я откуда знаю. Плохо кормили в детстве. Рос в постоянном срессе. Вокруг тупое быдло, стал таким же. Наверное из-за этого.
>>1942744 Да. У меня и с светле лагал, по сравнению с ванилой. Вернее не лагал, просто фпс проседал на 5-6 кадров. Сейчас еще по тестам пошарюсь, позырю че как в их тестах, посмотрю с их стейтами. Еще раз.
>>1942748 Да любые тесты возьми и пали сколько угодно, я код копировал с них. https://svelte-gl-boxes.surge.sh/ вот например. В душе не ебу что там может лагать, стейты? Ну наверное стейты. Лень код разбирать.
>>1942761 Стесняюсь спросить: а причём здесь производительность рендера реакта? В бенчмарке свелт подключается родная лимба для работы с графикой, а в случае реакта three.
То есть ты взял эти бенчмарк и бездумно сравнил фпс даже не понимая что там проверяется?
>>1942763 Не, я код с этих бенчмарков взял, подключил к threejs и проверял исключительно там, через стейты и сторы родных либ, типо приближенный к проду бенч. Я же не какой-то, ахах, верстальщик.
>>1942100 Ангулярошиз совсем ебанулся, рвется простынями. >>1942107 Нет, никому ангуляр не нравится, а проекты на нем мусор какой-то. Еще и по вакухам в довесок требуют, чтобы ты фулл стечил, платя при этом меньше, чем фронт реакту.
Не пойму для чего нужно гидратация и когда её нужно применять? Когда нужно использовать ssr, а когда ssg? Куда засовывать стейт и нужна ли стейту гидратация? Пиздец я запутался во всей этой хуете.
>>1942778 >На этом сделаю тебе. Спс. А то я уже у себя и то что было в ручном режиме без рандома - запорол нахер. Одно сделал, другое сломалось. Удалил, сижу с нуля каркас расширения леплю...
И тут мы от светлистов узнаем, что жс фреймворки нужны для создания игровых интерфейсов.
Нет, ну это тогда объясняет почему нигде не видно работы на свелте - эту самую мифическую работу на свелте надо искать в гейдеве, а не обычном этом вашем айти.
Абсолютно делает смысл тогда (почти даже не иронично). Если я когда-то буду делать интерфейс в игре на основе веб-движка, я обязательно рассмотрю свелте.
>>1942784 >Так случается, когда учишься задом наперед, не приходя в сознание. Зажужжал от этого. Так и есть. По сути сам и разобрался пытаясь ответить себе на вопросы - зачем я это делаю? какие это дает приемущества? кто мы? откуда? куда мы идем?
В юз эфекте запускается функция из апи и запрашивает данные с сервера и запускается лоадер, при повторном переходе на компонент данные снова запрашиваются (логично ведь юз эфект) и опять крутится сраный лоадер хотя в стейте они сохранены с прошлого запроса, как сделать что бы все нормально работало?
>>1942801 Кеширование. В аполло-клиенте встроенное, ещё можешь заюзать axios-cache-adapter, или написать своё кеширование в session storage и не вызывать апи метод если в стораже уже что-то есть
>>1942803 >session storage Годно конечно, но проблема в том что сайт типа сосача, при заходе на доску должен быть актуальный список тредов, видимо решение на серверной части должно быть(
>>1942806 >>1942808 Ну загрузил список тредов, сохранил в сторадж, после этого в useEffect апи метод не дёргаешь. Можешь сделать чтобы метод вызывался чтоб треды обновить при каких-то конкретных действиях
>>1942814 Отлично, а во второй раз оно какого хера так долго думает? М? Пиздец, понапишут тут браузеров на реакте, а потом удивляются почему в квартире жарко.
>>1942817 Ой блядь, таким пидриллам как ты вообще нужно с ноги в живот пробивать без вопросов. Вы только посмотрите на этого туманного гения. Сидит там как султан на унитазе и вещает, кому чем заниматься, а кому нет, вот уж из дворницкой только мычания твоего не хватало. Вот таким ебланам точно не место в кодинге среди увлеченных людей. сходи пробздись
>>1942834 Ага, я уже прикинул возможности. Щас даже не только разрешение моника, но и pixelRatio впихну, пусть тоже рандомирует, т.к. я понял, что оно тоже влияет на фактические размеры, судя по всяким онлайн фингерпринт тестерам.
>>1942834 Ух бля, как же ты сделал всё аккуратно. Очень удобно настраивать. Запилил сейчас туда пресеты для pc. Потом добавлю юзерагенты и будет шикарно вообще.
>>1942676 >когда код исполняется, он отнимает процессорное время Дурачок, ты вообще в курсе, что любая серьезная оптимизация существующей логики требует больше кода(иногда гораздо больше), чем нужно для выполнения этой же задачи минимальными усилиями без оглядки на перформанс? Говорить в вакууме "больше кода = меньше производительность" может только совсем отбитый не разбирающийся в теме верстала, типа тебя.
>>1943063 Я серьезен ща. Иногда бывало шо целые блоки выкидывали из фреймворков и переписывали, если они были сверхкритичны. Несколько десятков человеко-лет было в ТЗ.
>>1943063 На самом деле и такое бывает. Если, допустим, тебе требуется работать со стостраничным экселевским файлом - реакт начинает кекать, пукать и есть по два гигабайта памяти.
>>1943115 Во-первых: чтобы не было разночтений, предлагаю пользоваться общепринятым определением слова оптимизация (пикрил)
>Иногда бывало Во-вторых: если так рассуждать, то можно притянуть за уши изобретение vdom и назвать это оптимизацией, потому что он заменял огромные портянки кода, простым и элегантным механизмом по обновлению дом. А далее сделать из этого вывод, что ну раз такое бывало, значит отсюда справедливо следует, что оптимизация, на самом деле, это замена ванилажс на фреймворки различных мастей. Ну хуйня же получается, согласись. Именно поэтому нужно каждый случай рассматривать отдельно: в твоем примере оптимизация и в посте анона выше >>1943007 тоже оптимизация, хотя ни о каком переписывании на ванилу речи и не идет
>>1943117 С каких это пор реакт стал библиотекой для работы с экселем?
Ну, вообще, какую-то крайне специфическую задачу вроде рендера стостраничного эксель файла и вправду можно написать на ванильном жс, ровно как некоторые вещи можно и на васме реализовать, если оно оправданно. Но это никак не оправдание вообще весь интерфейс приложения писать на ваниле или васме.
>>1943187 Тащем-то, я из тех, кто считают такие фреймворки чем-то хорошим. Но озвученный выше кейс как раз один из тех, где использование ванилы с дрочем на оптимизацию перформенса себя оправдывает. Как по мне, идеальный вариант для таких кейсов это реализация на ваниле с оберткой поверх для интеграции в реакто-ангуляры.
>>1943188 Никто не говорил об этом. Но даже одна страница какого-то бизнес документа способна породить огромное дом-древо.
>>1943195 >Никто не говорил об этом Ты выше сказал: >Будешь рендерить стостраничник на реакто-ангуляре?
>Но даже одна страница какого-то бизнес документа способна породить огромное дом-древо. Расскажи лучше, каким образом dom дерево будет меньше при рендере его через ванилужс?
>>1943197 Про стостраничник сказал анон выше. Я лично не думаю, что он имел ввиду именно сто страниц сразу. Он просто имел ввиду очень большой документ, который надо прогонять через память.
> Расскажи лучше, каким образом dom дерево будет меньше при рендере его через ванилужс? Ванильное древо будет статичным, без виртуальных домов в памяти или стейт обсерверов.
Гипотетический эксель документ - статичная сущность, его требуется только отрендерить один раз и по надобности удалить. У него нет своего собственного стейта, ровно как и нет потребности осуществлять манипуляции с его древом.
>>1943205 >Ванильное древо будет статичным, без виртуальных домов в памяти или стейт обсерверов. Если тебя смущает стейт и обсерверы в реакте, то их может и не быть. Ты точно понимаешь как работает реакт?
>>1943195 >Как по мне, идеальный вариант для таких кейсов это реализация на ваниле с оберткой поверх для интеграции в реакто-ангуляры То есть реакт и ангулар тормозит, но если волшебным образом написать код внутри него, то он уже не будет тормозить, но все рано он тормозной, так?
>>1943205 >Гипотетический эксель документ - статичная сущность, его требуется только отрендерить один раз и по надобности удалить. У него нет своего собственного стейта, ровно как и нет потребности осуществлять манипуляции с его древом. Попробуй без состояния сортировать по полям, а без сортировки таблицы нахуй не нужны.
>>1943216 >статичная сущность, его требуется только отрендерить один раз и по надобности удалить Реакт из коробки - это библиотека для рендера. Она работает как раз так, как ты описал: один раз рендерит и пока ты явно не скажешь ему что-то перерисовать, он ничего не будет делать
Тащем-то, вот адекватный пример. На самом деле эта либа рендерит через https://github.com/mozilla/pdf.js Для реактора же она просто предоставляет обертку, что бы pdf.js было удобно вставлять в реакт без лишних телодвижений.
На MDN пишут: "Чаще всего используется прямой доступ к объекту document из сценариев scripts которые подгружаются документом. (Этот же объект доступен как window.document.)"
А у меня и document, и window.document выдает просто каркас HTML, а не объект.
>>1943210 >>1943224 При этом через console.dir(document) выводит то, что нужно. Получается, команда document (или window.document) не должна выводить свойства и методы объекта? Но почему тогда препод выводил их по этим командам?
>>1943230 >При этом через console.dir(document) выводит то, что нужно.
>https://developer.mozilla.org/en-US/docs/Web/API/Console/dir >The Console method dir() displays an interactive list of the properties of the specified JavaScript object. DOM нода - не совсем жабаскрипт объект. >Получается, команда document (или window.document) не должна выводить свойства и методы объекта? Очевидно же document/window.document возвращают DOM-ноду/HTML, а для методов и свойств надо поставить точку. Так все редакторы с подсказками работают. >Но почему тогда препод выводил их по этим командам? Ящерики-педофилы ему нашептали так выводить.
>>1941748 (OP) Занимаюсь фронтом, решил в свободное время вкатываться в бэк. Интересна эта тема. Немного знаю ноду + экспресс на уровне "REST, CRUD для работы с базой (предпочитаю nosql), сделать аутентификацию через гугл". Пока думаю между пхп и сишарпом. К пхп у меня больше душа лежит. Но судя по рынку, это не очень перспективно. Вакансий, конечно, дохуя. Но 90%, чувствую, это поддержка всякого цмс говна и легаси хуйни. С другой стороны на сишарпе (по крайнем мере в моем городе) вакансий еще больше чем на пхп, но почему-то мало в вебе. В основном ищут сишарпистов в геймдей, хз почему так. По ощущениям на 1 вакансию в веб приходится 3 в геймдев и 5 хз куда. Что посоветуешь, анон?
>>1943259 >Занимаюсь фронтом >Что посоветуешь, анон? Посоветую задуматься над тем, зачем ты это делаешь. Если просто по фану, то бери, пробуй, вкатывайся по вечерам в разные языки - это все расширяет кругозор Но если ты решил сменить род деятельности, то тут надо сходить не из того, что там на рынке предлагают, а из того, что тебе самому ближе, потому что отказаться просто так от вката ты уже не сможешь + надо будет намного серьезнее изучать все это уже
>>1943265 >DOM (от англ. Document Object Model — «объектная модель документа») — это независящий от платформы и языка программный интерфейс, позволяющий программам и скриптам получить доступ к содержимому HTML-, XHTML- и XML-документов, а также изменять содержимое, структуру и оформление таких документов.
>>1943264 >Если просто по фану Скорее this. Перекатываться никуда не хочу, меня и так на 100% все устраивает. Просто хочется, хуй знает, иметь больше представления о том, что там на сервере происходит, плюс очень круто было бы фуллстэк петы писать с нормальным бэком.
>>1943271 >если знаком с TS Знаком. Но на ноде не пользовался. Да и вообще мало пока ТС использовал, но это дело времени, я думаю. >можешь легко и просто вкатиться в .net core на c# Правда? Я знаю, что синтаксис у ЖС похож на синтаксис С(С#, C++). Ну и все, почему там все легко и просто? Если что то знаком с ТС на уровне (типизировать вот эту хуйню) в composition и прочих приемах разработки я пока плаваю, как говно в проруби.
>>1943274 >Ну и все, почему там все легко и просто? Синтаксис TS похож на с#. Синтаксис ЖС - нет. Там все почти 1 в 1 по коду будет. Проект создаешь из заготовки и просто начинаешь писать приложение, иногда заглядывая в офф доку, чтобы понять откуда и какие данные получать. Дока просто отличная у них, все понятно и просто https://docs.microsoft.com/ru-ru/dotnet/csharp/]
>>1943276 Ну тогда, кажись, сишарп. А про пыху пояснить сможешь, а то у них там такие милые анимешные девочки в треде, прямо соблазняют взяться. > Выбирать ЯП по анимешным девочкам, лол.
>>1943280 >пыху Я в последний раз с ним несколько лет назад сталкивался. Тогда там не было статической типизации, а она как бальзам на душу. Пхп старых версий слишком много прощал программистам и было написано столько говнокода, что охуеть просто можно. И если ты вкатишься, тебе придется с этим всем сталкиваться периодически. В общем, если есть вариант избежать этого, то я бы так и сделал
Я понял что это функция у которой есть успешное выполнение отложенного действия - resolve и не успешной reject.
еще есть метод promise.then - который позволяет после успешного или не успешного действия вызвать еще какой-то код или колбеки, что бы не срать в код вложенностями. Эт все что я понял. Но скорее всего я не понял нихуя, где бы задачки с промисами порешать какие нить???
>>1943309 Бля, промисы это БУКВАЛЬНО обещания. Я ОБЕЩАЮ тебе, что в следующей строке я тебе оскорблю. Ты - пидор. Ты смотришь такой и думаешь, ого нихуя себе этот черт охуевший че строчит сидит. Если ты мне пишешь "Ты пидор".тогда(сам ты пидор, чмо).
сап анонычи, подскажите челу, который хочет надрачивать js, что с книгами? знаю про eloquent js, говорят годнота в самом треде онли ссылка на мозиллу, а по книгам пусто, как так?
1) Pipe нужно использовать в любой непонятной ситуации, когда нужно получить данные? 2) Tap вытаскивает переменную? 3) Как расшифровывается of? 4) И как бы вы описали mergeMap, если бы от вас это потребовали на собеседование?
>>1943361 >1) Pipe нужно использовать в любой непонятной ситуации, когда нужно получить данные?
Нет, его нужно использовать когда тебе какие-либо данные нужно преобразовать/обработать/отфильтровать/объединить и делаешь ты это при помощи операторов map, mergeMap, switchMap, zip, combineLates, scan, reduce ... тысячи их.
2) Tap вытаскивает переменную?
Tap это обработчик который никак не влияет на полученные данные, т. е. можно помещать его между обработчиками и не боятся того, что следующий за tap обработчик получит измененные данные. Обычно используется для логирования/кэширования, либо каких-то иных действий, которые никак полученные данные не изменяют.
>3) Как расшифровывается of?
"Создай из этого значения Observable)
>4) И как бы вы описали mergeMap, если бы от вас это потребовали на собеседование?
Оператор который подписывается на внутренние observables и не дожидается выполнения каждого, начинает порождать значения каждого из них по мере их поступления. В данном случае я бы заменил на concatMap, так как в случае с mergeMap если мы несколько раз сделаем вызов login, то получим несколько одновременных запросов, тогда как в случае с concatMap каждый запрос будет выполняться только по мере завершения предыдущего.
>>1943401 Как я понимаю: 1. Возвращает функцию. 2. Вызывает функцию, которая вызывает функцию. 3. Вызывает функцию 4. А тут будет ебала типо [object Function]
>>1943401 1. Возвращает результат вызова doSomthingElse 2. Ничего не возвращает, просто вызывает doSomthingElse 3. В качестве функции обработчика передается результат вызова doSomthingElse 4. В качестве функции обработчика передается функция doSomthingElse
>>1943464 >нужно самостоятельно написать его примитивную реализацию > обещала лизать(анус).тогда(подмоюсь() { > потом отлижу ей что-нибудь тоже(); > });
>>1943388 >Оператор который подписывается на внутренние observables и не дожидается выполнения каждого, начинает порождать значения каждого из них по мере их поступления. А если бы я использовал map, это был бы один Observable? Я так понимаю Observable это то, зачем мне нужно получить наблюдение. Потому что я только второй день в ангуляре, в вебе до этого вообще не работал. И я пытался эту доп. проверку вызвать уже после получения user'a, вызовом там функции checkToken, что в корне не верно и делается это всё на лету в одном месте. >Tap это обработчик То есть после pipe я не могу сразу получить доступ к данным и сделать проверку и мне нужно использовать такую функцию как tap?
>>1943401 1 и 4 практически идентичны, но в 4 doSomethingElse получит в аргумент результат выполнения промиса, а в 1 нихуя не получит. Во 2 разница с 1 очевидна. В 3 doSomethingElse вызывается сразу же, еще до выполнения doSomething.
map возвращает то что возвращается из проецирующей функции т. е. ты можешь написать someObs.pipe(map(x => 1)) и получишь 1 при вызове subscribe, но если ты вернешь просто x то получишь observable. Т. е. операторы вида mergeMap используются когда функция-обработчик возвращает observable и на него нужно подписаться для получения значения.
>Я так понимаю Observable это то, зачем мне нужно получить наблюдение
Просто почитай про rxjs на https://rxjs.dev/, в целом у тебя проблема именно с пониманием этой библиотеки, а не ангуляра
>То есть после pipe я не могу сразу получить доступ к данным и сделать проверку и мне нужно использовать такую функцию как tap?
Не понятно что ты подразумеваешь под "после pipe", после pipe у тебя идёт subscribe т. е. выполнение всех операторов переданных в pipe и получение итогового значения, если тебе нужно только оно, то можешь работать с ним в subscribe, но в данном случае нужны какие-то промежуточные данные из всей цепочки, в твоем примере это результат this.checkToken(user).
WebSocket предпочтительнее фетча для обмена данными с сервером? У меня есть простой чат на реакте, бэк на ноде. Я хочу чтобы все сообщения сохранялись в базу, а потом с базы на клиент в глобал стейт, откуда рендерились на страницу. Я так понимаю, что обычным фетчем я заебу сервер нахуй и мне предпочтительнее будет пользоваться вебсокетом?
>>1943498 >Просто почитай про rxjs Спасибо. Получается ангуляр это максимум архитектура вроде компонентов, сервисов, гуардов, роутеров, циклов для отображения данных и т.д., а вся более сложная работа с данными делается через rxjs?
>>1943502 Ангуляр тоже использует Observable и Subject (мултикаст версия Observable), например в http клиенте используется Observable, а EventEmmiter является расширением (наследником) Subject. Также их можно встретить при работе с анлуряовскими формами, роутером, пайпами. А rxjs просто расширяет функционал для работы с данными сущностями, позволяя сократить количество кода и облегчить реализацию сложных алгоритмов при работе с запросами, обработкой событий/ввода данных и т. п. Поэтому да, в целом вся сложная работа делается с использованием rxjs
Я сверстал по шаблону из фигмы лендос, прочитал 2 главы Кантора, немного попрактиковался по видосам и сейчас не понимаю, куда двигаться дальше. Думаю о фрилансе, но там уже уйти с головой в вёрстку нужно.
Есть 2 стула - дрочить вёрстку для фриланса или уже готовиться к собесу на джуна, если бы я жил ДС, то очевидно выбрал бы собесы. Ну а так нужны деньги на переезд и ещё надо будет за съём отдавать бабки. Памахите добрым советом.
>>1941849 У Svelte есть своя ниша, он минималистичен и производителен, идеально подойдёт тем, кто не хочет долго учить и городить тонны либ для хелловорлда.
>>1942975 Короче лучше будет - поиск по жсон с генерацией фильтров и настройками рандома. Можно использовать на любом жсоне, ведь он фильтры и конечные точки объектов генерировать будет сам. Всё это в реиспользуемые функции оберну, шобы совсем заебись. Буду использовать для себя в том числе, хорошая штука. Но я еще не дописал.
>>1943676 Ну тащемта свелте по сравнению с https://github.com/luwes/sinuous/ сосёт. В том числе в синтаксисе и компенляторе. Личномоё имхо, я еще не решил что выбрать для игори.
>>1943766 А ты там это... Задумал кучу кода писать с библиотеками и модулями небось? Сейчас твоя последняя версия выглядит приятно минималистично, без хуевертей, на чистом джаваскрипте - у меня стояк от этого. Ну как напишешь, будет время, скинь в тред благо они не улетают в бамплимит за наносек, интересно попробовать.
Анонии. Такой вопрос. Если вы начинаете делать какое-то более-менее серьезное приложение на реакте, то вы делаете его через create react app или ебетесь с вебпаком, ставите пресеты с бабелями для транспила jsx и вот это всё? Собственно в чем вопрос. Если второе, то можете накидать актуальных годных статей на эту тему? С вебпаком по факту не работал.
>>1943810 А, погоди, так это оно >>1943800 ? Проглядел. Хм, а как теперь вывести только ширину и высоту в отдельные переменные. Чёт сложно стало. В прошлом я просто ставил Simulacrum.height, Simulacrum.width, Simulacrum.userAgent в каждую переменную и вставлял куда мне надо.
>>1943269 >Angular Не нужен в 2к21. >>1943502 >Спасибо. Получается ангуляр это максимум архитектура вроде компонентов, сервисов, гуардов, роутеров, циклов для отображения данных и т.д., а вся более сложная работа с данными делается через rxj Все так. Правда, потом ты удивляешься, почему у тебя вкладочка тормозит и интерфейс зависает. Ведь жсопараша не предназначена для функционального программирования и тут банально нет никаких оптимизаций для нее.
>>1943822 Ну я как бы выше в треде так и написал сразу. Я не шарю в джаваскрипте. Прямым текстом попросил итт у гуру готовый код для своего расширения и анон решил запилить между делом. Зачем ты такой токсик, анонче...
>>1943835 >Обезьяна с двузначным iq продолжает копротивление Проиграл. Ты там это, давай портки от говна постирай и отправляйся искать потоки в жопаскрипте, мартыхан.
>>1943823 >функционального программирования Проиграл с дебила. В rxjs под капотом одни циклы, там нечего оптимизировать. Ты один из тех дебилов, которые зачейнили 2 вызова и думают, что теперь фп программисты, а внутри этих вызовов у них хвостовые рекурсии с бесконечной вложенностью.
>>1943856 > хвостовые рекурсии с бесконечной вложенностью Как что-то плохое. Вложенность контролируешь и ошибку выпускаешь, чтобы ебало не ломалось при вложеннности > 10. Всегда так делаю.
>>1943856 >В rxjs под капотом одни циклы Кеканул с этой обезьяны, которая наплела чуши из манямирка, но не осилила открыть репо rxjs. >хвостовая рекурсия >не фп Чет не перестаю орать с этой макаки.
>>1943874 Сука, а я ведь не удивлен, что тут есть даунята, которые в гугол не могут, если есть дауны, которые воюют против фантомных болей в анальном проходе? Какие жсоны, мальчик. Я не про какие жсоны тут не писал. Попустись.
Лучше скажи, как там потоки в жопаскрипте поживают. Уже отыскал?
>>1943904 >макака продолжает пукоть и какоть под себя Ожидаемо. >>1943905 Все так. Но есть версталошиз и вкатуны, которые не могут в гугол. Им надо давать что-то легкое для мозгов, ненапряжное, т.к у них развитие умственно неполноценных людей.
Программирование сегодня, это в первую очередь командная работа, вот почему так взлетели всякие гитхабы, стековерфлоу и прочее. Уже нельзя просто сесть и написать в одиночку что-то стоящее (и похоже на то, что никогда уже не вернётся время программистов-одиночек). Теперь мы должны делиться опытом и обучать вкатанные, помогая им освоиться в этом лесу технологий. И на фоне всего этого, арбитрарный-токсик итт выглядит максимум глупо. Сегодня ни одна уважающая себя компания такого персонажа не возьмёт к себе в штат, потому что он пустит по пизде все процессы в команде просто потому, что ему надо продемонстрировать своё «знание», а может он это делать только демонстрацией чужих ошибок. Просто максимум невыгодно быть таким. Жаль тебя, дружок-пирожок
>>1943958 >Уже нельзя просто сесть и написать в одиночку что-то стоящее Ну, это неправда. Очень многие ключевые либы фронта написаны и поддерживаются фактически одним человеком (webpack, babel, corejs, тысячи их). Что, конечно, не повод быть токсиком.
С утра говорить себе наперед: встречусь с суетным, с неблагодарным, дерзким, с хитрецом, с алчным, необщественным. Все это произошло с ними по неведению добра и зла. А я усмотрел в природе добра, что оно прекрасно, а в природе зла, что оно постыд но, а еще в природе погрешающего, что он родственен мне - не по крови и семени, а причастностью к разуму и божественному наделу. И что ни от кого из них не могу я потерпеть, вреда ведь в постыдное никто меня не ввергает, а на родственного не могу же сердиться или держаться в стороне от него, раз мы родились для общего дела, как ноги и руки, как ресницы, как в ерхний ряд зубов и ряд нижний. Так вот: противодействовать другому противно природе, а негодовать и отвращаться - это противодействие.
Насколько важно для собесов иметь зеленые квадратики? Я залил пару петов и дальше офлайн хуярю, не похуй ли всем будет на активность в гите? Или это прям плюсом будет?
Гитхабы были всегда, сначала это были централизованные системы контроля версий, сейчас они стали распределенными. Речь конечно про более-менее грамотные команды, другие конечно по старинке обходились папочками на ftp сервере и readme файлами в которых помечали даты изменений и примечания к ним.
>>1943971 Вообще не важно. Всем будет похуй на твой гит, его даже никто не откроет. Могут открыть ссылку на сайт который ты сделал, но и то это делать будут не более 5% людей просматривающих твоё резюме.
Бля че за нахуй вкатываюсь в этот ваш среакт и из всего жса юзаю только всякие мапы деструктуризацию и еще пару фич, нахуй на собесах ебут всяким дерьмом? Или это все НУЖНО?
>>1943980 Заглянул. Основная часть кода за десятью контрибьюторами. Остальные внесли не более 300 строк каждый. В сумме 4к пуло реквестор закрыто. Если это не командная работа, то я не знаю что
>>1943985 Их суммарный контрибьюшен дай бог 20% конрибьюшена Тобиаса. Когда один человек делает 80% всего это нихуя не командная работа, это работа этого человека. Который мало того что почти весь код пишет, так еще менеджерит эту толпу народа.
>>1943989 >Ряяя это не командная работа! >Он менеджерит толпу народа!!! Так если это не командная работа, зачем он менеджерит этих людей? Это у него шиза или у тебя?
>>1943971 Если у тебя годы опыта на вменяемых проектах и ты можешь наизусть рассказать официальную спеку какой-то технологии - то похуй. Если ты вкатываешься - то на что еще им смотреть?
>>1944027 К тому, что выбери одно из двух - либо успешные и нужные человечеству проекты вообще никогда не создавались программистами-одиночками и все гении Торвальдсов, Белларов, ван Россумов, Эван Ю, и прочих Тобиасов с Даллами - миф, либо такие проекты создавались, создаются и будут создаваться всегда, и мифом являются концепции вроде ТЕПЕРЬ, НА СЕГОДНЯШНИЙ ДЕНЬ и прочие РАНЬШЕ БЫЛО ЛУЧШЕ.
>>1944033 В одиночку можно заложить основу проекта, но все примеры, которые были приведены тобой выше, в данный момент развиваются в том числе сообществом. Каким бы гением не был человек, у него всего 24 часа в сутках
>>1944078 Тогда ок, но тогда рассуждай об этом значении по-другому: значение о количестве колонок в гриде я храню в редаксе, но есть возможность его изменить, через ввод значения в инпут. Так и понимание будет правильное и код будет писаться намного проще
>>1944033 >и мифом являются концепции вроде ТЕПЕРЬ, НА СЕГОДНЯШНИЙ ДЕНЬ и прочие РАНЬШЕ БЫЛО ЛУЧШЕ. Теперь, на сегодняшний день, людям известно электричество. Раньше было по-другому Теперь, на сегодняшний день, на планете 6+ млрд человек. Раньше было меньше Теперь, на сегодняшний день, уже более 2000 лет с рождества христова. Раньше было меньше
У тебя какие-то проблемы с подобной формулировкой в предложении или просто пугает то, что мир меняется?
Поясните, взаимозависимость классов, считается это чем то плохим? Является ли это признаком спагетти кода? Взаимозависимость такая что класс один включает себя композицией класс 2, а класс 2 использует статический метод из класса 1.
>>1944122 >Поясните, взаимозависимость классов, считается это чем то плохим? Да. Такой код очень сложно поддерживать, потому что изменения в одном классе могут привести к изменениям в другом. Гугли принципы СОЛИД. Вот высокая связанность один из них нарушает
>>1944125 Как разрулить? Вывести функционал в класс 3, который будет использоваться в классе 1 и классе 2? Но тогда у нас класс превращается в набор кусочков с обрезанным функционалом.
>>1944033 >К тому, что выбери одно из двух - либо успешные и нужные человечеству проекты вообще никогда не создавались программистами-одиночками и все гении Торвальдсов, Белларов, ван Россумов, Эван Ю, и прочих Тобиасов с Даллами - миф, Очень многие большие и значимые проекты были начаты одиночками, но в зрелом состоянии они уже практически всегда ведутся большой командой очень сильных разработчиков.
Линус уже давно не основной разработчик ядра линукса. А Гуидо не разработчик питона.
Иначе и быть не может. Значимый живой проект не может зависеть от одного человека. Если с ним что-нибудь произойдёт, всё рухнет?
Чисто технически большой проект можно вести одному, что один человек, что три, не велика разница. Вот когда десяток человек с разной компетенцией, то тут уже другой класс.
Одному чисто морально тяжело развивать что-то большое и ответственное, тупо обсудить проблемы и идеи не с кем, что и как. И ещё вопросы финансирования надо как-то закрывать.
>>1943813 Не надо ничего выносить, функция возвращает объект из списка, который можно в скоупе деструктурировать типа: `const { height, width, useAgent } = result;` >>1943827 >Про функцию sort() слышал, даунич? Разное поведение между реализациями. Что сказать-то хотел? >>1943832 У твоего расширения есть репозиторий? Был бы не прочь поконтрибуцировывать код в него. >>1943989 >Их суммарный контрибьюшен дай бог 20% конрибьюшена Тобиаса. Сейчас бы рассматривать вебпак строго как одну либу, а не вагон лоадеров/плагинов, которые Тобиас не пишет. >Который мало того что почти весь код пишет, так еще менеджерит эту толпу народа. Так говоришь, словно это сложно. NPM один хуй не позволит ставить форкнутый вебпак, по крайней мере той же командой что и основной. А пулл реквесты перебирать не такой адский труд, когда кодовую базу знаешь. Есть конечно лазейка в виде код оф кондакт, благодаря которой можно пидорнуть любого владельца репы из этой роли, но пока Тобиас дорогу биоленинистам не перешёл.
Аноны, а как по-серьёзному принято реализовывать аутентификацию и авторизацию в бэкэнде на ноде? Есть что-то толковое почитать на эту тему? Буду благодарен за ссылки и названия книжек.
>>1944152 >Так говоришь, словно это сложно Да, это сложно. К тебе приходят тонны пулл-реквестов и их надо ревьювить, разбираться что там автор курил, а потом долго объяснять почему его PR плох. Если бы это было просто, то там не было бы больше сотни открытых.
При этом от тебя ожидается что ты это делаешь бесплатно, а любой хуй из интернета может тобой помыкать, бузить про баги и про то что какую-то лично ему нужную фичу не допилили.
>>1944166 >Да, это сложно. К тебе приходят тонны пулл-реквестов и их надо ревьювить, разбираться что там автор курил, а потом долго объяснять почему его PR плох Ебать они там тупые, анон. Развивают проект в одного, и еще время тратят, чтобы ПР от неразумных разобрать
Вот только непонятно, откуда там разбирать, если сообщество только доку правит
>>1944168 Не вижу смысла с тобой спорить, мне кажется ты слабо понимаешь о чем говоришь. Если в твоем мире ментейнер лениво аппрувит реквесты под пивас, а комьюнити за него потеет, штош.
Сап, подскажите дауну, почему этот код (именно 18-21 строка) срабатывает только при нажатии на первый элемент, но на все остальные не работает? Они вроде все одинаковые.
>>1944147 По тем же причинам, почему одни блогеры взлетают и становятся успешными, а у других 100 подписчиков, из которых половина кросс-подписки от таких же блогеров.
Надо сделать что-то полезное и интересное, посеять среди целевой аудитории, чтобы сарафан работал, правильно подать, активно дорабатывать. Плюс везение, просто чтобы сложилось.
Вот почему взлетел Линукс, а не FreeBSD и аналоги OpenBSD, NetBSD? FreeBSD старше, она раньше стала проработанной, там команда разработчиков, университетская поддержка, больше технологий реально полезных... Но взлетел именно Линукс.
Думаю дело в подаче и хайпе, мол GPL, вызов капиталистам и т.п.
А PHP/node.js просто попали в нужную почву, без усилий от разработчиков, которые в обоих случаях очень быстро слили со своих детищ и развивались они самостоятельно.
>>1944168 >Вот только непонятно, откуда там разбирать, если сообщество только доку правит Групповые проекты подразумевают, что другие разработчики очень серьёзного уровня, одного с ведущим проект, серьёзно разобрались, как там что работает.
Массовая разработка от широкого комьютити это фигня полная. Это реквесты от вкатышей, кто просто хочет поучаствовать в опен сорсе каком-нибудь, понимания, как делать сложные вещи, нет, как работают аналоги, как развивать и т.п. А тем, кто в этом понимает, уже обычно большого желания участвовать нет в этом балагане.
Поэтому широкое компьюнити годится лишь для фикса понятных багов (когда не надо структурно менять, чтобы исправить) и может быть для некоторых мелких фич иногда.
Реально большая отдача от комьюнити может быть в документации, статьях про то, как что-то реализовать, и т.п. то есть комьюнити не сколько разрабатывает, сколько продвигает.
>>1944203 >Групповые проекты подразумевают, что другие разработчики очень серьёзного уровня, одного с ведущим проект, серьёзно разобрались, как там что работает. Логика инвалид. В проекте нужны и важны разработчики разного уровня. У каждого из них будет своя зона ответственности и компетентности. Вот нахуя в проекте 20 топ-сеньор-архитекторов, когда хватит и одного-двух?
>>1944232 Потом 20 милов нанять, чтобы они все это написали
>>1944234 Ну само собой все зависит от размера проекта, но я имел в виду, что из 20 человек в проекте, все 20 будут супер-то уровня. Это непрактично. Если аналогию с нетфликсом проводить, то надо чтобы в проекте было 5000 архитекторов
>>1944228 Да важен не уровень, а направление деятельности. Невозможно быть фуллстеком который по знаниям находится на одном уровне с бэкендером/фронтендером, у тебя всегда будет меньше знаний в бэке/фронте чем у тех кто занимается только одним из этих направлений, просто потому что ты постоянно вынужден переключаться с одного на другое и не способен углубляться в каждое из них.
>>1944197 >Надо сделать что-то полезное и интересное, посеять среди целевой аудитории, чтобы сарафан работал, правильно подать, активно дорабатывать.
Так и по-твоему это все не заслуга разработчика, или что? Того самого одиночки-гения, который не просто кодомакака способный таск в жире закрыть, а выбрать правильную задачу требующую решения, исследовать преметную область, провести ее анализ, проектирование приложения, разработать удобный и полезный интерефейс ее использования, который будет польоваться спросом, заложить архитектуру, запилить мвп, и собрать вокруг этого всего сообщество и организовать сарафанный маркетинг, и все это в одно рыло.
>>1944228 >В проекте нужны и важны разработчики разного уровня. У каждого из них будет своя зона ответственности и компетентности. Джуны не нужны. Особенно в нормальном опен сорсе.
Когда есть зона ответственности и компетентности, это уже не джун уровень. Нельзя выделять такую зону непонятному человеку, он ведь может развить всё не туда.
Вот ты начинаешь с кем-то работать, чувак предлагает использовать технологию какую-то. Я в ней плохо понимаю, мне не нравится эта идея. Я теряю контроль и понимание, как работает проект.
Если чувак пионер, то ХЗ, понимает ли он сам в этой технологии, в состоянии ли вести это направление грамотно. Скорее всего нет. А я не в состоянии это контролировать и мне неудобно учить то, что не в моей компетенции.
Если чувак сеньёр с хорошим опытом, серьёзно работал и с этой технологией, и с другими, то хотя бы есть уверенность, что он в этом понимает действительно больше тебя, сделает грамотно, с ним можно консультироваться.
Поэтому своя зона ответственности может быть только у опытных разрабов хорошего уровня. Я имею в виду историю, когда подключаются участники в уже работающий проект, а не когда на коленке решают с нуля что-то запилить.
>>1944245 >только сеньоров Сеньоры бывают разных грейдов (1-2-3 и так далее). Можно сказать, что набирают опытных и знающих, но все равно, относительно друг-друга, они будут на разных уровнях
говорили что проще востребовано можно сразу визуализировать в браузере возможность писать и фронт и бэк возможность писать кроссплатформенные программы возможность писать мобильные приложения под андроид и айось * можно писать игры
>>1944255 >Того самого одиночки-гения, который не просто кодомакака способный таск в жире закрыть, а выбрать правильную задачу требующую решения, исследовать преметную область, провести ее анализ, проектирование приложения, разработать удобный и полезный интерефейс ее использования, который будет польоваться спросом, заложить архитектуру, запилить мвп, и собрать вокруг этого всего сообщество и организовать сарафанный маркетинг, и все это в одно рыло. Это конечно охуенные истории, но такие одиночки-гении обычно и начинают кодомакаками, пилящими продукт на уровне закрытия локальных тасок. Как например Абрамов, у которого даже вышки нет и в пейсбук он попал через британский филиал по знакомству. Ну и сам пейсбук работает на пыхе, которую тоже не с планами по захвату мира автор писал. У тебя и Билл Гейтс небось в одно рыло взлетел, потому что он дохуя гений-программист, а не потому что его родаки-юристы подскакивали и обкашливали вопросики, пока он пердолил код.
>>1944040 >Каким бы гением не был человек, у него всего 24 часа в сутках Столлман, Линус и другие в одиночку написали огромную массу кода.
Производительность у людей на порядки отличается.
Если ты хорошо представляешь, что хочешь реализовать, тебе в одиночку не так сложно сделать это, проще, чем обсуждать с другими и вникать в их идеи. Пока ты держишь в уме весь проект, ты можешь разрабатывать очень быстро и эффективно. Вот когда он перерастает этот объем, становится тяжело. Но у всех разный объём, который они в состоянии контролировать.
В больших проектах много рутины, конечно. Писать драйвер для сетевой карты - это рутина, затратная по времени. Оформлять документацию тоже.
>>1944260 >Можно сказать, что набирают опытных и знающих, но все равно, относительно друг-друга, они будут на разных уровнях Главное, что профи с большим опытом работы. А опыт работы приобретается годами в каких-то других местах.
>>1944273 Нет, ангуляр это инструмент для грамотной, отлаженной архитектуры, а для фриланса нужно "хуяк-хуяк и в продакшн", поэтому для фриланса больше подойдет ракт или вью.
>>1944273 Нет! Сначала определись в какой фриланс ты хочешь? Потом проанализируй потребности рынка. Потом пойми что нужно быть мидлом, чтобы фрилансить. Изучаешь нужные тенологии. Растешь до мидла. Развиваешь акк на фрилансе. Профит!!!
Сорян, я снова чет не могу понять. Вот я так написал и оно вроде работает, но удаляются только те таски, которые загрузились при обновлении страницы. А если я что-то добавляю в форме, то они не удаляются, даже вот клик не срабатывает. Я опять в шары долблюсь или не знаю как жс работает? Вот у меня на скрине "asf" не удаляется, а "5" удалится, если нажму, вроде же одинаковые. data-id страннованый какой-то правда у того, что добавился аяксом. Но ведь даже без него клик бы сработал, да? А в консоль вообще ничего не пишется.
Тебе в идеале надо будет и ангуляр и реакт (если не знаешь что учить первым из них двух - учи реакт, на него работы больше) и если будет не впадлу, то еще и вью. Только конченые гребцы вроде местных шизофреников исповедуют фреймворки как религию. Если ты понимаешь, что айти это говно где есть смысл находиться только из за денег - то сам поймешь, что чем больше фреймворков ты знаешь, тем больший рынок труда ты способен охватить.
Фриланс сомнительная хуйня на самом деле, я лично таким уже сотни лет не занимаюсь. Там ни комфортных условий работы, ни нормальных денег. Одна лишь призрачная "свобода" фрилансера. Я нанимаюсь на год-два и веду какой-то проект для заказчика. Естественно, удаленка без фиксированного графика - по факту, тот же фриланс, только без поиска заказчиков и прочей ебли. Последние лет пять создавал корпоратинвые веб апликухе на вебе. Когда у тебя собирается нормальное портфолио и ты становишься специалистом в какой-то конкретной сфере, работа тебя сама находит. Я в свое время просто игрался с канвасом, анимациями, графиками. В итоге этим всем до сих пор и зарабатываю. Обычные сайты сто лет уже не делал. Я даже не знаю, что там в мире сео и живо ли оно. Я не вылажу из визуализации данных уже много лет.
Возможно, фриланс даже вредит порфтолио. Я его период, например, в актуальном резюме даже не упоминаю больше. Пишу только вменяемые компании и описываю какой для них проект делал в рамках позволенного нда. Корпоративная среда любит все корпоративное и не любит там случайных людей не понимающих как там все устроенно.
Найди лучше удаленку какую-то. Если не будут брать - попробуй поделать петы интересные. Если и тогда не будут брать - иди на галеру на годик (нормальный человек там больше и не протянет).
>>1944303 Styled Components. Не одноименая либа, а концепция в целом. Можешь брать Style Components или Emotion или еще что - решения такого рода все крайне сильно копируют друг друга и +/- одинаковы в применение.
А где тестовые задания на миддла достать, кто знает может? Хочу попрактиковаться прежде чем претендовать на 250+к в ДС. Сам миддл в одной известной галере, с impostor syndrome, потому что пишу копируя код из старых проектов или стэковерфлоу.