Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
>>2229340 Деньги сейчас только в реакте. Часто слышу что переписывают приложения с ангуляра на реакт, но ни разу не слышал чтобы наоборот. Но какая разница если вы петуханы все равно не вкатитесь никуда?
Делаю скрипт для себя на существующий сайт. Есть у меня селекторы элементов, которые могут не появиться, вот мне и приходится делать примерно так: if (document.querySelector('xxx')) { document.querySelector('xxx').someFunc(); } if (document.querySelector('zzz')) { document.querySelector('zzz').anotherFunc(); } Селекторы разные, действия и количество действий с ними тоже. Без if-ов при отсутствующем элементе скрипт падает с ошибкой. Как нужно записывать такое, чтобы было правильно-читаемо-красиво? Особенно с учетом того, что эти селекторы пиздец какие длинные.
Господа, объясните, пожалуйста, как в браузер приходят стили из больших сайтов типа Amazon? Приходит все стили сразу для мобильных, планшетных, дестопных экранов? Или сначала там как-то проверяется какая ширина экрана у устройства пользователя, а затем приходят стили только для ширины экрана этого устройства?
>>2229604 Какой класс, дядя? Ты откуда вообще вылез с этими форами, варами и прочими представлениями и данными? Рякт позволяет оборачивать любой компонент в любой другой компонент, и даже внутри компонента можно оборачивать дочерние компоненты, ничего о них не зная. Композируй как тебе вздумается.
>>2229606 >форами, варами Так я и спрашиваю какая альтернатива есть данному решению с массивом. Задача - вывести N однотипной фигни вроде постов или карточек товаров, или элементов формы.
>>2230162 1. То есть главное различие в изменяемости интерфейсов? 2. Получается, implements ничего не меняет и не создает, а просто проверяет уже существующий класс на соответствие интерфейсу?
>>2230185 интерфейсы с одинаковыми именами объединяются в один, так например ты можешь задать несколько сигнатур у функции
ты не можешь имплементить класс от типа если он создан операцией oбъединения |
ты не можешь экстендить интерфейс от типа если он создан операцией oбъединения |
Импрементим классы от типов и интерфейсов. Экстендим классы от классов. Экстендим интерфейсы от интерфейсов и типов. Типы получаем с помощью операций объединения и пересечения типов и интерфейсов.
Сап пр-прач, тут кидали какой-то сайт с бенчмарками js фреймворков, там был рендер большой таблицы, в которой менялись значния и отображалось FPS. Сайт такой темненький, а все фреймворки квадратиками с разной степенью красного и желтого. Анон, скинь этот сайт еще раз! Заебался уже искать это говно.
Алсо, анон, есть какой-нибудь фреймворк для рендера канваса? Шобы было как современный реактивный фреймворк, но на канвасе. Впринципе я нашел s.js, можно на нём напердолить. Либо на solid-js и /packages/solid/universal. Но выбор-то нужен побольше.
>>2230599 Ты задал очень базовый вопрос. Никто на него не будет отвечать, так как тред посвящён языку программирования, а не написанию вкатунских хэлловорлдов.
Есть массив репозиториев, у каждого репозитория есть поле language, хочу пробежаться по этому массиву и сделать объект, который посчитает мне языки вот так: {"javascript": 5, "typescript": 3}. Как мне удовлетворить Typescript в данном случае? Я новенький если что, не бейте
Ангуляробляди, вы же хуже бездомных собак, нахуй вы живете? Чел с пикрила по делу обоссал очередной громоздкий бойлерплейт с ебическими переусложнениями, на что обоссанцы сразу же на него накинулись. Учите уже наконе нормальные фреймворки, так ведь и будете квадратно-гнездовые формы хуярить, которые все меньше и меньше объема на рынке занимают
>>2230660 Зачем обращать ванимание на петухабриков? Зачем вообще читать петухабр? После 2014 он в говно скатился, после 2017 это просто кусок кала состоящий целиком из продажных статей, после 2019 это жидкая дрисня ака пристанище шизофреников, которые всерьез обсуждают лечение ковида витамином Си. Хз что там с кодом кста, нихуя этот кусок кала не понял и понимать не собираюсь, так можно и ебанутым шизоидом стать.
Киньте, пожалуйста, каких-нибудь годных материалов по GraphQL, а то я его использовал по ютуб-туториалу всего один раз, а на собесе про него будут спрашивать.
>>2230770 90% ts есть в современном js. Типы/интерфейсы в основном для автокомплита и линтера используются, ввод юзера, ответ сервера все равно по-старинке разбирать нужно.
>>2230781 >90% ts есть в современном js. Дивный манямир. >ввод юзера, ответ сервера все равно по-старинке разбирать нужно. Тебе и на джаве-хуяве нужно валидировать ответы серверов и вводы юзеров. Причём здесь типизация?
>>2230789 >>2230802 Кроме системы типов, какие у тс еще остались фичи не попавшие в стандарт жс? > Тебе и на джаве-хуяве нужно валидировать ответы серверов и вводы юзеров. Причём здесь типизация? При том, что на джаве ты не занимаешься 90% времени конвертацией джончиков. А на клиенте городить десяток слоев абстракций это дурость.
>>2230832 >При том, что на джаве ты не занимаешься 90% времени конвертацией джончиков. Вот как раз сервера большую часть времени занимаются перекладыванием джейсонов, аж целые книги написали и паттерны перекладывания придумали для всего этого. Даже всякие postgresql научились перекладывать джейсоны. >А на клиенте городить десяток слоев абстракций это дурость. Конечно же для туду-листа никакие абстракции не нужны. Но мы говорим про фронтэнд. Плюс есть сервера на ноде, так что можешь залезать в свою дыру, откуда вылез, пердоля.
>>2230846 >Конечно же для туду-листа никакие абстракции не нужны. Но мы говорим про фронтэнд Вротенд и не должен быть сложнее туду-листа. Нахуй тогда нужон этот ваш вротенд, если там классы через классы через говно кал залупу и тысячи конструкторов в конструкторах, которые мало того не упрощают (для чего и придумали высокоуровневые абстракции вообще-то) так еще и производительность в нулину убивают.
Конечно к тс это не относится, на VSC с IntelliSense заебись писать.
>>2230781 TS будет подсказывать где ты ввод пользователя/ответ от сераера верно разобрал и проверил. Не будет ошибок вида "сложил число со строкой" и тп
>>2230853 >Вротенд и не должен быть сложнее туду-листа. Он таким вполне себе может быть, правда эта сложность тут же польётся на бэк. Нечем утилизировать мощность сервера — берёшь и ебашишь всякие LiveView. Но вместо тонкого клиента получишь ту же кучу гемороя, но уже на бэке.
>которые мало того не упрощают В туду листе — да. Но и не тащи их туда.
>так еще и производительность в нулину убивают Ну ктож виноват что всем (и юзерам и бизнесу) глубоко похую? Никто тебе не мешает и на жопаскрипте написать нормальный по перформансу фронт — это просто никому не нужно, нужны фичи хуяк хуяк продукшон. Когда юзеры начнут голосовать валютой за перформанс — всё полетит, а пока — самай.
>>2230870 Так челы вроде тебя и создали такую ауру вокруг фронта, что он превратился во вротенд, где все вкатыши считают что уже даже язык знать не надо, ведь сложнее туду листа ничего писать не придётся — сиди да крась кнопки.
>>2230846 > Вот как раз сервера большую часть времени занимаются перекладыванием джейсонов, аж целые книги написали и паттерны перекладывания придумали для всего этого. Даже всякие postgresql научились перекладывать джейсоны. Если у тебя сервер эту круд обычный. Но похуй, не буду тут спорить. > Конечно же для туду-листа никакие абстракции не нужны. Но мы говорим про фронтэнд. Все равно нет смысла. Покажите мне проект с ебанистикой уровня джавамирка на фронте? >Плюс есть сервера на ноде Ну охуеть, пусть там остаются, нахуя мне это говно в половину вакух вставили блядь?
>>2230876 > В туду листе — да. Но и не тащи их туда. Все либы которые разбирал с такими усложнениями - просто бессмысленное говнище, просто делаешь нормальную архитектуру и никакая сложности и никакие конструкторы вложенные 12 раз не понадобятся. Ебать кста это мерзко выглядит, надавно разбирал подобный пример, блевал пиздец насколько это ужасно. Это как ecs и oop в гейдебе. Просто нормально пишешь на ecs и всё нормально сразу становится, без ооп-дрисни на несколько страниц. > Ну ктож виноват что всем (и юзерам и бизнесу) глубоко похую Хорошо мне, пишу падсибя! > Когда юзеры начнут голосовать валютой за перформанс Они голосуют, просто перформансе исчезающе мало и никто не знает как работать с этим. нужно идти на масссрынок с соответствующими продуктами и соответсвующим маркетингом
>>2230880 Ну это же жс, его действительно знать не нужно. Просто пишешь, как срёшь в треде, и всё. Главное архитектура, функциинальщина и алгоритмы. Вот тут да, подумывать нужно серьезно так, все эти стейты, реактивности, асинхронные вызовы, вебворкеры, обсерверы, эмиттеры ууубляд. Обосраться можно. Но в задачи джуна это не входит, ему дали апи и какие функции он должен высрать на выходе - он пишет под это апи своё говно.
>>2230894 >Просто нормально пишешь на ecs и всё нормально сразу становится И чем же использование ECS в каких нибудь мобильных гиперказуальных залупах/новеллах/итд отличается от такого же оверинжиниринга на фронте? Вротенд и гейдев кстати кое чем похожи — и туда и туда активнее всего идут вкатыши, считающие что >Ну это же жс, его действительно знать не нужно. Просто пишешь, как срёшь в треде, и всё. и имеем что имеем.
>просто перформансе исчезающе мало и никто не знает как работать с этим. С чем работать? Не перерендеривать всю страницу чтобы поменять одно поле? Ну вкатыши "нинужна" действительно не знают, но ты же поддерживаешь такой подход, в чём суть-то?
>нужно идти на масссрынок с соответствующими продуктами и соответсвующим маркетингом На срынок, фантазёр. Юзеру не похуй на то, что в одном сервисе будет цена на 3$ ниже чем в другом, а не то, что браузер будет рендерить страницу 0.003 секунды вместо 3.
Эта тенденция даже до ААА-йоб в гейдеве дошла — каждый второй релиз такой лютый пиздец, как в браузере открыл игоря, лол. Правда там поднимается шитшторм и проект либо дропают распуская всех на мороз, либо добивают хоть до чего-то вменяемого, а в вебе всем похуй.
>>2230900 > а не то, что браузер будет рендерить страницу 0.003 секунды вместо 3 Как говорится, миллиард мух ошибаться не могут. А >>2230894 >нужно идти на масссрынок с соответствующими продуктами и соответсвующим маркетингом никому не помогло.
>>2231041 Он там прочитает как дядя Боб с сынулей создавал аналог википедии и вместо БД хранил данные в текствых файлах и как это круто (создавать что-то с сынулей). А еще прочитает, что ФП нужно для контроля воздействия на переменную при распараллеливании программ.
>>2230970 Читай Халила если нужны практические навыки по архитектуре на жс.
>>2231070 >Он там прочитает как дядя Боб с сынулей создавал аналог википедии и вместо БД хранил данные в текствых файлах и как это круто (создавать что-то с сынулей). А еще прочитает, что ФП нужно для контроля воздействия на переменную при распараллеливании программ.
Нит. Главное, что он вынесет - это слоеность и dependency rule. Собственно, вокруг этого и строится практически любой архитектурный паттерн.
>>2230900 > И чем же использование ECS в каких нибудь мобильных гиперказуальных залупах/новеллах/итд отличается от такого же оверинжиниринга на фронте? Так-то даже в казуалках на ecs быстрее писать. Да и вообще гиперказуалки на самой простой реактивности нормас пердюхают. > считающие что Чел, все эти вставки на си, математическое обоснование функций, вот это я понимаю сложности. А что в js сложного? 99,999% людей даже реактивность свою не пишут тоже не пишу, я тупой для либы реактивности, там тоже математика нужна > С чем работать? С йобами же. Перформенс для чего нужен? Для создания йобы! > в чём суть-то? Не знаю, в конкуренции продуктом? В конкуренции кто большую йобу напишет? > На срынок, фантазёр. Юзеру не похуй на то, что в одном сервисе будет цена на 3$ ниже чем в другом, а не то, что браузер будет рендерить страницу 0.003 секунды вместо 3. Приложение не то. Хотя всякое возможно.
>>2230904 > никому не помогло. Помогло, чому же. Просто малоизвестны примеры. Фейсбук вроде тоже дрочит на эффективность, но только немношк. Да и гугл таблицы на калвас переписали.
>>2230970 Хз, не знаю. Лучше об этом вообще не думать, пока не напишешь десяток-другой приложух и не прочитаешь десяток-другой статей и всякого говна и книг. В треде про Халила написали, он вроде годно пишет про функциональное программирование и простоту. > https://khalilstemmler.com/articles/software-design-architecture/feature-driven/ > From "Domain Modeling Made Functional" by Scott Wlaschin - highly recommended reading. Ух, а какой код-то в пример он привёл, красиво епта! Точно нужно.
>>2231130 Я блядь в своем поиске работы настолько преисполнился, что я как будто уже сто триллионов лет ищу работу на триллионах проектах, мне этот рынок абсолютно понятен, я уже ничего не ищу, кроме гармонии
>>2231184 Ща прибежит риактер, который не писал ничего сложнее калькулатора займов. Но это было самое сложное приложение за его длинную жизнь 21 год, поэтому он верит...
Аноны-фронтендеры, подскажите сколько вы искали свою первую работу на джуна и в каком году это было?
Я изучил JS+ES6, TS, React/Redux, очевидные HTML/CSS, знаю SCSS. В портфолио на гитхабе есть: чятик на TS+React+SCSS, Таймер на React + SCSS, также сделал тестовое от Aviasales по приколу (что тут в треде кидали давненько), 3 сверстанных сайтика (которые обновлял по мере увеличения знаний), есть небольшой сайт - рандомайзер фраз (фишка в том, что фразы можно добавлять самому), но он без авторизации какой-либо на чистом JS (это был мой первый пет-проектик)
Ща вот планирую сделать мувилист на TS+React/Redux с использованием Material UI.
После мувилиста думаете стоит начинать пробовать искать работу? Как думаете сколько это займет или это чистый рандом в большинстве случаев?
>>2231264 > Ванильный жс Да. > алгоритмы надрочил Наверное нет, если не совсем понимаю о чем ты. Решал различные задачки с Codewars, Leetcode, поигрывал в WarriorJS > попку накачал и побрил >>2231265 А я собственно и не против, кроме хх, какие еще площадки по поиску работы стоят внимания? (кроме очевидных Linkedin, Хабработа)
>>2231267 >Наверное нет, если не совсем понимаю о чем ты. Решал различные задачки с Codewars, Leetcode, поигрывал в WarriorJS Ну стандарт cs, алгоритмы и структуры данных. Совсем базу надо знать даже фронту. >и побрил Я б может пособесил, но под пивас лениво.
>>2231272 > Ну стандарт cs, алгоритмы и структуры данных. Совсем базу надо знать даже фронту. Слушай, раз уж такая тема зашла. Может дашь хорошие источники, где можно об этом почитать? Конечно, есть гугл и я могу всё найти, но часто от анона была хорошая годнота, которая помогала понять всё и довольно быстро.
>>2231258 >Как думаете сколько это займет или это чистый рандом в большинстве случаев? Думаю что займет дохуя, т.к. например меня взяли через 3 месяца поиска, чисто потому, что мой пет-проект не был дефолтным мувисерчером
>>2231308 >Может сначала какую-нибудь стажировку поискать? Специально выискивать нет, но если есть вариант, то хули нет. >А на какую зп стоит рассчитывать джуну? 30-70к
>>2231258 Не будь омежкой, завтра с утра уже обновляй резюме и рассылай по всем релевантным вакансиям, даже если там немного не проходишь, т.е. одну технологию не знаешь. Всегда все в процессе можно подтянуть. Ну а проекты не бросай делать, одно другому не мешает.
>>2231310 Понял тебя, спасибо анон! >>2231312 htmlacademy + ютуб + разные статьи/гайды и т.п. для html/css learnjavascript, freecodecamp и масса всяких источников для JS Остальное всё это документации и различные статьи + конечно практика руками, вопросы "а что если так, а если наоборот", так и учусь.
>>2231314 Ты меня мотивируешь, анон. Но у меня стойкое ощущение, что нужно еще подучиться, чтобы прям быть уверенным в своих технологиях + подготовить ответы на вопросы на собес.
А вот еще вопрос возник. Чаще собесы проводят на удаленке или в офисе? Мне бы просто в офисе это всё проходить, т.к. в моём месте обитания вечный балаган.
>>2231317 Я себе так мозги еб пару месяцев, но я смотрю и читаю истории тех, кто чуть ли не после 6-часового ролика в ютубе от сраного Минина вкатываются на фронтов и решил чутка поприставать к джунам в одном чатике, как они устроились, чего не хватало по требованиям и т.д. И я решил сам, что пора перестать титьки мять, я обновляю резюме, дописывая, что там освоил, и в гитхабе у меня бардак, там проекты по курсам, собственные проекты, тестовые проекты, но я все это приведу в порядок, но я не откладываю поиск, пока не выучу %хуйнянейм% или пока не оформлю 10 проектов в портфолио лол я что ебач столько пет-проектов делать
>>2231320 А что думаешь вот. Я пили небольшое тестовое по Redux и вот тестовое от Aviasales. Стоит их оставлять в гитхабе или нет? У меня в принципе довольно чистый гитхаб, онли мои проектики, но вот есть всякие такие же тестовые задания, где я изучил теорию технологии и пробую её на практике в микро-проектике базовом.
>>2231295 >мой пет-проект не был дефолтным мувисерчером А что за проект у тебя был? Не хочу засирать тудусерчерами гитхубы, хочу сделать что-то более крутое, но фантазий хватает только на интернет магазин. Мимо
>>2231308 >Ну я смотрю мнению разделяются. Это чистое везение. Есть немало мест, где на твой гитхаб вообще поебать всем. Лучше начинай искать работу прямо сейчас.
>>2231338 веб-интерфейс для telegra.ph с поиском статей, отображением, сохранением в закладки, текстовым редактором, постингом статей, регой для авторов и менеджментом статей
>>2231258 Искал меньше трех недель. Правда к тому моменту у меня были знания двух ЯП (шарп и жс) + я напиздел про 4 года опыта. Получил 3 оффера, один на сеньку, два на мидла. Пошел на мидла, так как без коммерческого опыта идти сразу на сеньку как то пиздец стремно было. Ну и не прогадал, через 1.5 года на текущей повысили до сеньки.
Уважаемые знатоки, объясните для чего нужны interface, type, as, enum из typescript. Понял только, что enum это аналог объекта/массива, interface умеет только по красивому экстендить у другого поля по сравнению c type, где это делается немного иначе, но существенных отличий и нормальных примеров найти не могу, с остальными ключевыми словами такая же ситуация.
Сап анон. Знаю что тред не про трактор, но может тут есть успешные поросята с фронта. Можно ли съебать к белым людям без профвышки и бэка? Смотрел ваки в релокейт и там все больше фуллстака с нодой или шарпом.
>>2231147 >Так-то даже в казуалках на ecs быстрее писать. Если там 3 объекта на сцене — нет, блять, не быстрее.
>Да и вообще гиперказуалки на самой простой реактивности нормас пердюхают. К ecs это как относится?
>тоже не пишу, я тупой для либы реактивности >там тоже математика нужна Действительно тупой, лол.
>Фейсбук вроде тоже дрочит на эффективность, но только немношк. Эффективность фейсбука меряется в конверсии трафика в $, а не скорости открытия страниц. Они скорее будут ебашить 500 а/б тестов одномоментно, чем что-то оптимизировать. У них даже нативные приложения — и то говно. Хуже только у твиттера, там натив хуже веба — но всем ок.
>>2231386 А если не секрет - какие задачи были в компании, куда тебя взяли? Просто у меня в голове немного не укладывается, что я вот с нуля тут учился сам собой, вроде придрочился, да. И тут я на собесе важно достаю свой огромный хуй и говорю, что у меня вообще-то дохуя лет опыта и я мидл ебать. Даже если они поверят, потом на работе я же сразу обосрусь ну или нет, т.к. в действительности опыта нет.
Но про этот я тоже думаю буду пиздеть, т.к. у большинства вроде как если опыта нет, то сразу отсев идёт.
>>2231485 > Если там 3 объекта на сцене — нет, блять, не быстрее. Это не гиперказуалки тогда, а хуйня какая-то. > К ecs это как относится? Это к тому как обычно пердолят гиперказуалки. > Действительно тупой, лол. Кек, разбери хоть одну либу реактивности и там будет матан, а в некоторых даже интегралы. > Эффективность фейсбука меряется в конверсии трафика в $, а не скорости открытия страниц Они отполировали среакт до уровня в котором он достаточно быстр так-то. А мог бы и по 3 секунды открываться.
Неужели так трудно отправить ублюдочный JS на свалку и заменить его нормальным языком, хотя бы дартом? Это же не кресты, на котором написаны триллионы строк кода, и взять и переписать все это добро на новом языке не возможно. На JS и так каждый день новый фреймворк выходит, и все переписывается по новой. Когда флеш отключили, ни кто же не помер.
>>2231500 Тащемта, где-то пол года назад инспектил их приложение на джейлбрейкнутом айос девайсе — реактнативовских проксей и в иерархии и прочей хуиты не видел, хз как на андроиде. Да и фронт у них уёбский, нормально юзается почему-то только с мобильного.
>Это не гиперказуалки тогда, а хуйня какая-то. Дефайн гиперказуалки. С какого количества объектов на сцене начинаются и заканчиваются, кекус.
>Кек, разбери хоть одну либу реактивности и там будет матан, а в некоторых даже интегралы. Что ты несёшь, поридж? Ебанат? Ебанат. Пруфай давай свои интегралы.
>Они отполировали среакт до уровня в котором он достаточно быстр так-то. Поверх кучи костылей они выдавили свою кучу, чтобы максимально понизить порог входа, вместо инвестиции в образование. Получили лагающий интернет от самого фейсбука до ооо "еда и хуета".
>А мог бы и по 3 секунды открываться. Достойный аргумент.
>>2231646 >Неужели так трудно отправить ублюдочный JS на свалку и заменить его нормальным языком, хотя бы дартом? Какие проблемы это решит? >Это же не кресты, на котором написаны триллионы строк кода напомни, ан чем написаны движки JS?
>>2231682 Я немного выше давал полный список различий типа (алиаса) и интерфейса, скорее всего тебе. Но судя по твоему вопросы ты даже не понимаешь зачем тайпскрипт нужен.
Основное назначение тайпскрипта - это тайпчекинг во время компиляции и статического анализа в IDE Профиты 1) Уменьшение количества необходимых тестов, а так же тесты ты не напишешь для локального скоупа внутри метотодов. Это необходимо для рефакторинга без головной боли. Да что там говорить тесты чаше оставляют на потом, а рефакторить нужно сегодня, ибо кабан новых задач завез. Да и на тесты нужно много кода, на типизацию значительно меньше доп кода.
2) Архитектура требует инверсии зависимостей (и инекции). Статический анализатор должен видеть что ты суешь в конструктор или метод. Чтобы IDE указывала на несовместимость типов. Так же сборка IoC может основываться на типах (в жс абстрактных классах) 3) Подсказки IDE методов и типов аргументов.
Интерфейс или тип задают ограничение на тип переменной или параметра метода, при компиляции. Во время компиляции из определений выводятся типы и сверяются с тем что фактически передается и присваивается.
Энум нужен чтобы типизировать набор значений переменной именноваными константами. Можно было бы так let a: 1 | 2| 3 но тогда у тебя в годе были бы магические числа a = 2 c энумом ты пишешь а = MyCoolValues.TWO это повышает документируемость кода и помещает константы в неймспейс.
>>2231663 Тайпскрипт - это же просто костыль, приклеенный к JS, заметающий под ковер все его косяки. На нем конечно писать лучше, но прямо приятным языком его не назвать, потому что замечая очередное странное решение тайпскрипта, понимаешь, что это просто было нужно, чтобы не ломать совместимость с JS. Новый язык, который создавался бы без оглядки на JS, был бы намного логичней спректирован.
>>2231672 >Какие проблемы это решит? От крестов тоже все плюются. Придумывают новые языки, java, С#, go и т.д., которые хоть и не убивают кресты, но отбирают у него куски, и многие задачи уже предпочтут решать не на крестах. Хотя казалось бы можно было задать тот же вопрос, какие проблемы все эти языки рашат? >напомни, ан чем написаны движки JS? Какое отношение язык движка JS имеет к изначальному вопросу?
Народ, сделал вот такую вот фигню, изначально когда писал код закоммитил гитигнор с папкой node modules, в гитлабе папка вроде не отображается, но когда загружаю все это дело с npm обратно в вебшторм, там все файлы находятся в папке node modules. Откуда она вылезает, она же в гитигноре
>>2231769 Потом окажется что на жс ты писал что-то компактное, что можно в голове удержать целиком или вообще лаба2 Или ты писал это с нуля в одно рыльце...
>>2231761 Ответь на мой вопрос. Какие проблемы решит замена JS на дарт? >Какое отношение язык движка JS имеет к изначальному вопросу? Ты пишешь: >Это же не кресты, на котором написаны триллионы строк кода, и взять и переписать все это добро на новом языке не возможно. Так вот, все движки, их ABI написаны на крестах. Там сотни тысяч, нет, даже миллионы строк, которые никто не будет переписывать потому, что какой-то инцел-вкатун-шизик с двочей скозал
>>2231788 И как это противоречит тому что я сказал? Вариантов полно Тянешь проект один Работаешь на одном месте 100 лет Пишешь простые компактные вещи на реакте как калькуляторы займов, инфографику, календари, крозины товаров. То что сейчас называют микрофронтендом. Может ты как плюсовик видеобработку пишешь на беке, а на фронтенде жиденький проект чтобы окошко с видеопотоком показать.
>>2231777 То что JS считают проблемой, доказывает само наличие дарта, кофескрипта, тайпскрипта. На JS писать не хотят, проекты переписывают целиком на TS, тот же angular. И вот дарт провалился, а через год может TS станет не модным и появится какой-нибудь хуйскрипт, и что опять все переписывать будут?
>>2231808 >а через год может TS станет не модным Ну и станет, дальше то что? JS тут причем? >опять все переписывать будут? Ты хуйню какую-то несешь. Вот стали бы использовать {{ языкНейм }}через год появился бы Type{{языкНейм}} и все бы на него перекатились. Ты вообще сколько лет в коммерческой разработке, шиз? Иди попей галоперидол и иди в макдак кассиром батрачить за 20к для оплаты платежа по кредиту за курсы скиллбокса.
Короче пошел я нахуй отседа. Почему одни должны гуглить изучать, а другие должны с ложечки жрать. Еще и спорят. Но а хули ты споришь, если не низучил проблему в данном контексте и спрашиваешь... Либо спрашивай инфу либо спорь
>>2231839 Да при чем тут ложечка, ноль информации в твоих каментах. Такое ощущение что ты перед кем-то выйобуешься. Передо мной не нужно, для меня ты никто.
Добрый вечер. Кто-нибудь пробовал использовать redux-saga одновременно с redux-toolkit (конкретно с очень удобными слайсами). У меня какая-то хуета получается, в гуглах советуют подключать какие-то созданные на коленке библиотеки, чтобы это все вместо дружило. Или может это вообще изврат и юзают либо redux-toolkit + RTK-query/Thunk либо Redux-saga?
>>2231501 Так у меня опыт то был, но не коммерческий. Про задачи не скажу, так как деанон. Но ничего особенного в них не было + никто не будет тебя гнать, все 3 месяца испытательного мне давали легкие задачи и я знакомился с архитектурой проекта. Боялся только за гит и джиру, но ими пользоваться не сложно, всё понятно и без опыта. Самым сложным оказалось написание юнит и интеграционных тестов, так как до этого их не писал, но облегчает то что уже есть примеры под рукой и можно по аналогии делать, разбираясь по ходу. Главное разбираться в паттернах и принципах проектирования, это то что отличает мидла от джуна.
Ну тут конечно вряд ли я миддла потяну, т.к. у меня опыт только пет-проектов своих же и чуть-чуть фриланса (самые простые правки сайтов или какой-нибудь легчайший скриптик написать за копейки)
Короче хакеры, такая ситуация, устроился недавно в свою первую компанию, тут много всякого аутсорса, сначала делал внутренние проекты, и вот недавно назначили на коммерческий проект с внешним заказчиком. И я уже наверное 3-ю неделю нихуя не делаю, не дают никаких задач, пару раз созванивались с клиентом, чтобы обсуждать какую-то душную хуйню, и всё. Каждый день я спрашиваю, что там с задачами, когда дадут доступ к репозиторю, мне отвечают, что сейчас уточнят, и блядь уже 3 недели. Хули мне делать? Я работаю удаленно, и по сути просто не делаю ничего, сижу в ютубчике, причем я просто морально не могу себе позволить совсем уж забить хуй и пойти поиграть во что-то, в итоге я рпосто сижу, переодически почитываю что-то по кодингу, смотрю утубчик и обновляю почту и посматриваю, есть ли что-то в телеге. У вас такое бывало? Чем-то чревато? В трекере просто выдумываю задачи, руководство вроде бы знает, что я нихуя не делаю, но никакой инфы ни от кого по прежнему нет
>>2232053 Да тут проблема не в том, каким развлечением себя занять, а типа должен ли я переживать по этому поводу? Или такие ситуации это норм и кодер не виноват?
Не очень понимаю, как точно работает программа, когда запускаются два js файла. Есть какой-то способ для дебага двух файлов одновременно, чтобы не писать сюда тысячу тупых вопросов?
>>2232031 Столько же сколько и после - 200к до налогов. Испытательный это не про "платим меньше", а про "можем уволить по воле левой пятки". После испытательного, если компания нормальная, уволить очень сложно.
Сап. Подскажите как правильно посчитать сколько раз нажата input submit кнопка? Редактировать фронт и бэк нельзя. Код не мой. Надо просто запустить какой-нибудь код в начале дня, а в локалсторедже посмотреть результат в конце дня. На пиках пример как эта кнопка сделана и как я пытаюсь считать нажатия. У меня подсчёт нажатий не работает т.к. обновляется страничка и код, который я пишу в консоль забывается. Как сделать подсчёт персистентным на всё сайте? Может какой-нибудь юзерскрипт поможет?
>>2232194 Я вообще не представляю, кто должен делать верстку если не фронтэндер? Тем более что верстка делается очень быстро, мне трудно представить себе проект, где кодер и верстальщик это 2 разных человека.
>>2232196 С юзерскриптом та же проблема. Он меняет onsubmit функцию, но когда нажимаю кнопку, то страничка всё равно релоудиться до срабатывая этой функции. Что делать?
>>2232196 Ты используешь жиквару, у неё нет onsubmit. Для жиквары надо использовать $(...).on('click', (event => {твой код тут}). >>2232221 Выкидывай нахуй отсюда твои онклики. Используй element.addeventListener('click', (event)=> {})
>>2232229 > почему онклик плохо? Ты задаешь вопрос, на который сам же ответил постом выше >>2232205 >Он меняет onsubmit функцию Т.е. ты таким способом можешь повесить только один абработчик, а через addEventListener - неограниченное.
>>2231648 Манюнь, в любую нормальную либу vdom зайди, да хоть в среакт тот же, найдешь там и интегралы и различные балансеры, у которых в доках математика.
Ты просто ньюфажина и не в курсе, газани книжки читать.
>>2232259 Пишешь эндпоинт, который получает джейсон. Парсишь и валидируешь его, а потом отправляешь результат в баш. Ну а если либа, то npm install @zaebisjs/bash-shell.
>>2232261 > Манюнь Я вижу что ты вкатыш, можешь не напоминать.
>в любую нормальную либу vdom зайди вкатыш увидел МАТАН в описании какого-то алгоритма диффа @ нихуя не понял — ни что это ни зачем @ НО ВСЕ СУРЬЁЗНЫЕ ЛИБЫ ТРЕБУЮТ МАТАН СЛЫШАТЕ!1
Давай пруфай обязательность понимания интегралов кекус для реализации рх-а.
>>2232414 В таком случае надо оборачивать меню и нижний элемент в еще один div? Я сейчас пробую так делать и у меня в других местах верстка сдвигается из-за этого.
>>2232414 Ну вроде нормальный вариант. А как теперь сделать, чтобы следующий элемент не прилипал к этому меню, а то margin-top на нем вообще не действует. Надо чтобы было небольшое расстояние между ними.
>>2229318 (OP) Помогите вкатуну! в ньюфаг-треде глушняк пока и постоянный вайп от зеленых пидоров
Вроде тут где-то ссыль была на сайт с уроками для ньюфагов, где буквально первым же заданием было что-то вроде "введите в окошке print 'hello world' и поздравляем с первым вашим кодом".
>>2231646 Пока сёрфинг через браузер актуален, будет актуален и js. Когда лет через 20 будет 3D инет в голограммах на всю комнату, тогда да, js в печь.
Есть таблица, а есть отдельно от нее модалка, в которой я могу добавлять элементы для этой таблицы с помощью api запроса. Добавление в таблицу работает, но таблица сама не ререндерится т.к. не знает что на сервере данные изменились. Как заререндерить эту таблицу? Я думал над модалкой и таблицей сделать сверху родителя и там создать стейт который кидать, когда элемент добавлен на сервер, но тогда придется все что выше таблицы тоже ререндерить
>>2232233 >Ты задаешь вопрос, на который сам же ответил постом выше С onclick такого не возникает и страничка не релоудиться пока функция не завершается. >Т.е. ты таким способом можешь повесить только один абработчик, а через addEventListener - неограниченное. А если мне и не нужны несколько обработчиков, то можно и не менять? А то сейчас всё вроде норм работает. Или какие-нибудь подводные потом могут вылезти?
>>2232730 >С onclick такого не возникает и страничка не релоудиться пока функция не завершается. С addeventlistener тоже, поток блокируется. >А если мне и не нужны несколько обработчиков, то можно и не менять? А если разрабам понадобится навесить свой обработчик на Onclick, то твой может сломать логику работы.
Ку, всем, помогите пожалуйста, что я сделал не так? Выводится вместо адекватного ответа, какой-то бред.
import java.util.Scanner;
public class Main {
public static void main(String[] args) { System.out.println("Введите значение x, a"); double x = readNum("Enter x: "); double a = readNum("Enter a: ");
double b; int chisl = 1; int znamenat = 1; for (int i = 1; i <= 32; i++) { a = (x - 2 i); chisl = a; } for (int i = 1; i <= 31; i++) { if (i == 1) { b = (x - i); } else{ b = (x - 3 i); znamenat = b; } final var y = chisl / znamenat; System.out.println(y); } final var y = (((((x - a) x - a) x - a) x - a) x - a) * x - a; System.out.println(y); }
private static double readNum(String text) { System.out.print(text); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); if (num <= 0) { System.out.println("Error"); } return num; } }
>>2232662 >И как заставить это реагировать на пропсы? Никак, пиши свою реализацию реактивности или адаптируй rxjs/redux под свои нужды. >А как композицию компонентов делать? Пишешь компонент и вызываешь его внутри другого компонента.
сап хакеры, снова я, есть вот такой код, как загрузить его на гитлаб, чтобы файлы отображались в основноей папке, без src. При этом в package.json есть строка "build": "copyfiles src/* .dist", которая собирает все файлы из src в dist. Если я просто выкину файлы в основную папку проекта, то build ведь не будет находить папку srс и перестанет работать.
В общем как это делается так, чтобы были загружены все файлы без папки, но при этом все работало нормально?
>>2232893 В смысле вызывать? Если возвращать строку из компонента, то получится залупа, нельзя будет перерендерить лишь одну часть, только полностью приложение, и все листенеры проебутся ещё Если возвращать готовые ноды, то куда вставлять ноды-потомки? Append child вставит просто в конец, а надо в конкретное место и чтобы это все нормально перерендеривалось Реактивность реализовать легко через прокси или defineproperty, проблема с логикой ререндера Если высрать свой virtual dom, то я хуй знает опять, как определить, где и какое изменение в реальном dom делать Хочу глубокое понимание как оно там в ваших хуяктах работает
>>2232898 Открыл репу, лучше бы не открывал Что это вообще? Чем ты занимаешься? Зачем тебе скрипт билда который просто блядь копирует файлы из одной папки в другую?
>>2232914 Вот часть его сообщения: кроме того это уже собранное приложение, там не должно быть папки src
Тип я то откуда знаю должно быть или нет, но мне сказали не должно быть, потому ищу решение. Это начальный этап обучения, чтобы в будущем устроиться джуном к ним в фирму
>>2232915 Долбоебизм какой то Он хочет чтобы ты собрал приложение, удалил исходники и это говно в репозиторий засунул? Ну делай хули, rm rf в помощь Лучше спроси чё он хочет вообще По моему он просто тебя троллит чтобы у тебя бомбанул пердак и ему не пришлось бы тебя менторить
>>2232919 >По моему он просто тебя троллит чтобы у тебя бомбанул пердак и ему не пришлось бы тебя менторить Лол, так я не один под его менторством, нахуя ему это?
>>2232922 Ну тем более лол Он хочет на острие технологий компонентики в реакте писать, а оставшиеся 80% времени на работе смотреть аниме и играть в ММОРПГ, а не менторить сотню трейни
>>2232928 Скажу, только если сольют, а пока неохота деанониться, Двач же
И кстати тогда нахуя они сами затеяли менторство, если нихуя не помогают новичкам. Типа сама компания ищет новых специалистов и вся хуйня. какой смысл им это делать, если хотят слить
>>2232909 >В смысле вызывать? В смысле вызываешь функцию Component() внутри другого Component и результат лепишь куда надо. >и все листенеры проебутся ещё Ну да, это тебе не реакт, который всё сам автоматически делегирует и демонтирует, тут надо тоже свой бойлеплейт с хэш-таблицами писать. >Если возвращать строку из компонента Какую строку? Возвращается дом элемент. А в дом он добавляется по желанию вызывающей функции. Уж в контексте компонента ты же знаешь, куда он вставляется. >Если возвращать готовые ноды, то куда вставлять ноды-потомки? Append child вставит просто в конец, а надо в конкретное место и чтобы это все нормально перерендеривалось У дома есть хуева туча методов и представлений для итерации по нему, так что проблемы вставить куда надо не будет. >Хочу глубокое понимание как оно там в ваших хуяктах работает 1. Открываешь https://babeljs.io/repl 2. Вставляешь свой рякт компонент 3. Смотришь во что он компилируется 4. Заодно посмотри, что вообще вызывается в начале любого рякт-проекта, и все вопросы "как" отпадут
>>2232912 Так ты уже это сделал. В репы обычно не пихают результаты билдов. Кому надо - склонирует репу и сбилдит куда надо. Можешь сбилдить и создать отдельную репу для результатов билда. Гитхабовские сайтики более-менее так и костылируются.
Почему в vs code такой кривой мерж конфликт обработчик? Если мне нужны из обоих файлов изменения то мне надо выбрать use both или чет такое и он их просто поверх друг друга ставит и надо глазами искать где нужно исправить, а где не нужно. В вебшторме же стрелочками просто прокликиваешь с обоих сторон те вещи которые нужны. Мне вс код впринципе нравится, но эта хрень с мерж конфликтами вымораживает
Подскажите, разбираюсь с JWT. Не могу понять workflow - как в принципе осуществляется работа. Есть secretJWTKey на сервере, им подписываем токен, и выдаем. Клиент передает этот токен в заоловках, по тем роутам где нужно. В токене айди юзера, как payload. В protected роутах чекаем user id, и условно роль. Это моё понимание на данный момент. Возникают вопросы - где хранить токен на клиенте. Пишут мол в http only куках. Безопасно ли? Есть вариант с 2мя токенами, короткий и длинный(по времени). Подписаны разными ключами, короткий обновляется по ходу использования. Но если короткий закончился, а юзер не отослал refresh запрос(не сидел на сайте в момент истечения) то снова авторизовываться? вроде не удобно. Поделитесь знанием или скинте статью годную, если есть.
>>2233357 Спасибо, это я, кажется, уловил, но еще волнует вопрос безопасности - если храним в куках / localstorage есть риск что их украдут. И смогут воспользоваться - токен то подписан.
Есть ссылка: <li class="item"> <a>link</a> </li> если мне нужно чтобы ссылка была кликабельна и на паддинге тоже, мне padding из итема переносить в ссылку что ли? это будет неудобно так как другие <li> имеют такой же паддинг,но не являются ссылками. Мб это как-то по нормальному можно сделать?
>>2233395 Сработало, а насколько законно так relative для хака добавлять на сайте? Они же вроде куда-то параллельно выносятся и потом с этим траблы могут быть?
>>2233397 >асколько законно так relative для хака добавлять на сайте Абсолютно законно. Почти все карточки-ссылки так делаются, например по памяти: деливери клаб, коинмаркеткап и еще дохуя ресурсов.
>>2233369 >это будет неудобно так как другие <li> имеют такой же паддинг,но не являются ссылками. Что за хуйню я читаю? Если другие элементы списка могут быть строками, то нахуй тебе заполнять элемент со ссылкой в весь элемент?
Нужен ли js фреймворк для фронта, например, простой одноинстансной crm? Например, для динамической генерации списка товаров. Или все-таки легче использовать фреймворк и какой?
>>2233439 Там не строки, но и не ссылки, кнопки там. >нахуй тебе заполнять элемент со ссылкой в весь элемент? Ну интуитивно как-то по уебански что ты только направляя на текст имеешь возможнось перейти куда-то
>>2233514 Тебе надо класс сделать для ссылко-кнопки, у которой будут стили и размеры кнопки, а поведение ссылки. А не растягивать её на весь родительский элемент. Плюс между кнопками должно быть некое расстояние, чтобы мисклики всяких бумеров и прочих паралитиков не приводили к нежелательному изменению состояния.
>>2233692 Серверный язык не даёт контроль состояния UI. Если на странице несколько менюшек, полей ввода с проверкой и переключателей, то это всё уже превращается в трудную задачу на голом js.
>>2233712 Смотря куда. На маленких проектах твой код никто смотреть не будет, даже напротив, тесты, линтер, итп это твои заботы, а не кабана. Т.е. можно вкатиться даже без собеса.
>>2233742 Что ты там собрался контроллировать? Для валидации тебе достаточно по значениям ключей при сабмите пробежаться. А для "переключения" менюшек достаточно классом элемента манипулировать.
>>2233941 >Удачи тебе писать меню с фильтрами для интернет-магазина на голом js. Что там писать? Или тебе для проставления инпутов нужно целый фреймворк подключать? >А хули там, просто классы меняешь и ключи проверяешь. Реактошвайномакаки совсем обезумели, им теперь для сортировки массивов нужно кучу либ ставить.
>>2233626 >бабель не транспайлит сторонние библиотеки в синтаксис, который понимает IEшка. Что делать? Бабель транспилит все, что ты ему скармиваешь. Очевидно, что ты ему либу не скармливаешь, он её и не транспилит. Скармливает бабелю у тебя 99.(9)% webpack, поэтому тебе в его конфиге нужно в то место, где у тебя /node_modules/ добавить проверку на все модули из node.modules кроме нужного тебе.
>>2233712 Попал на реактумакаку с 0 лет реальной коммерческой разработки на фул удаленку 80к/месяц, образование пту + 9 классов. Так что да, очень даже реально.
>>2234050 >Как собрался реализовывать изменение контента на остальной странице после выбора элемента в меню? По клику на кнопку "искать" ты хотел сказать? Угадай как.
>>2233965 Судя по всему у нас тут jquery-макака, которая все проблемы решает применением классов. Ты, дурачок, хотя бы про state и Redux слышал? Сможешь реализовать историю состояний поиска, чтобы можно кнопками вперед/назад в браузере менять?
>>2234119 >Судя по всему у нас тут jquery-макака, которая все проблемы решает применением классов. Хуя как реактошимпанзе бомбануло. Пиздуй писать очередной экшн, экшн сам себя не напишет. >Ты, дурачок, хотя бы про state и Redux слышал? Редухомакакен совсем обезумел, ты контекст дискуссии видишь? Или без селектора сразу теряешься в ДОМ дереве? >Сможешь реализовать историю состояний поиска, чтобы можно кнопками вперед/назад в браузере менять? Ты умеешь передавать location в конструктор URL и потом читать параметры с него, которые уже запиханы в коллекцию ключ/значение? Нихуя ты софтваре архитектор. Лучше скажи нахуй эта фича нужна, если при правильной разметке форм текстовые поля сохраняют предыдущие данные? Страницы один хуй кэшируются в браузере, так что переход по кнопке вперед/назад будет дёргать состояние страницы с этим урлом. Но ты же пишешь СПА-говнецо, которое срало на разметку, на браузерный кэш, на стили и на встроенные браузерные фичи. Реактомакакены даже специальные пакеты высрали, чтобы формы больше 5 полей у них не тормозили.
>>2234229 Пиздец. На зло кондуктору отморожу уши. Просто из-за того, что не хочешь использовать нормальный инструмент, начинаешь поливать всех вокруг струёй жидкого не снимая при этом штанов.
>>2234229 >Ты умеешь передавать location в конструктор URL и потом читать параметры с него, которые уже запиханы в коллекцию ключ/значение? А ты сделай, что бы контент страницы менялся после изменения URL >Лучше скажи нахуй эта фича нужна, если при правильной разметке форм текстовые поля сохраняют предыдущие данные? Современный веб это не только формы >Страницы один хуй кэшируются в браузере, так что переход по кнопке вперед/назад будет дёргать состояние страницы с этим урлом. Ну да, а что если у меня на страницы 20к узлов? Каждый раз пересобирать DOM? >ты же пишешь СПА-говнецо, которое срало на разметку, на браузерный кэш SSR решает все эти проблемы >на стили Каким образом? и на встроенные браузерные фичи. Как бы ты и на твоей любимой жикваре, и на реакте и на ангуляре вполне успешно можешь насрать на стандарт. >Реактомакакены даже специальные пакеты высрали, чтобы формы больше 5 полей у них не тормозили. А что высрано стандартом для поддержки компонентного подхода? Веб-компоненты, которые имеют бойлерплейта больше чем классовый компонент на реакте и срут на стили? <template>, который по сути хуй знает зачем создан, как будто я вместо template не могут создать <div hidden> и его клонить.
Redux нужно учить в 2021? Смотрел недавно интервью с его создателем(Dan Abramov) и он не смог привести хороших причин использовать Redux, кроме того, когда у вас есть команда, которая уже знает Redux. Таки нужен он или встроенных в React средств хватает?
>>2234407 Достаточно посмотреть пробежаться по вакансиям, где есть реакт, там же есть редакс, а если нет редакса, есть мобикс, а где ни того, ни другого, подразумевается знание по умолчанию, ну типа какой долбач будет учить реакт и не учить стейт менеджер. Хотя тут один называет всех редаксоблядков говнокодерами, не предлагая альтернативы.
>>2229318 (OP) Салям, друзья. Норм в настоящее время ограничиться ECMAScript 5.1 ? Или это типа устаревшая версия? Как там по функционалу, по востребованности в индустрии и в целом по актуальности? Фреймворки совместимы?
>>2234500 >Норм в настоящее время ограничиться ECMAScript 5.1 Нет, не норм. Пили сразу под ESNext, транспилируя все в поддерживаемую целевыми браузерами через Babel. Если ты вкатываешься, то можешь даже не транспилировать, почти все фичи ESNext сразу появляются в актуальной стабильной версии хрома и лисы.
>>2234500 >Фреймворки совместимы? Старые либы вроде jquery могут испытывать проблемы. А так, почти все либы пилятся в отрыве от какого-либо стандарта ES
>>2234533 По-моему, речь как раз-таки должна идти о новых либах, которые используют более новые фичи. Старые-то как раз совместимы, разве что речь о каких-то непофиксенных багах.
Делаю задачу на реакте, в условии сказано, что нужно реализовать компонент, который имеет следующие пропсы (пикрил)
И сразу первый вопрос: 1) Я же должен именно в родительском компоненте в return-e перечислить все эти пропсы? …. return ( <ChildComponent propsOne={ } propsTwo={ } итд />
2) Значение value записывать в состояние родительского компонента?
3) Все эти функции прописываются в родительском компоненте, а затем в дочернем вызываются при необходимости?
Какие то беды, не уверен, что правильно понимаю построение логики. Вижу примерно так: В родительском компоненте в state устанавливаю value, создаю функции под onChange/Cancel/Submit; В return все передаю в пропсах; В дочернем компоненте тоже создаю state, скопировав его из родительского (те же значения, что и исходные value); input принимает value из текущего стейта; При изменении input вызывается onChange (только не понятно, изменяется ли стейт и какой?) onSubmit применяет текущее значение введённое в input к элементу на странице, которые связан с ним; onCancel сбрасывает к дефолтным значениям (то есть один из стейтов не изменяется все это время, и какой это стейт?)
Я пиздец запутался уже, первый раз такое делаю, голова не варит. Если кто то сумел понять, то поправьте, если что то не так. Или опишите, как вы видите и как правильно сделать, пожалуйста
>>2234587 >Я же должен именно в родительском компоненте в return-e перечислить все эти пропсы? yes >Значение value записывать в состояние родительского компонента? no >Все эти функции прописываются в родительском компоненте, а затем в дочернем вызываются при необходимости? yes
>>2234587 >При изменении input вызывается onChange (только не понятно, изменяется ли стейт и какой?) Меняет state, отвечающий за текущее значение инпута, очевидно же >onCancel сбрасывает к дефолтным значениям (то есть один из стейтов не изменяется все это время, и какой это стейт?) Почему не изменился? Ты когда стейт выше, который отвечает за текущее значение обнулишь, то у тебя изменится значение дочернего компонента. Получается двухсторонняя связь (ребенок изменяет стейт родителя и наобарот) >Я пиздец запутался уже Мб жопаскрипт это не твое?
>>2229318 (OP) Будет ли плюсом при трудоустройстве, если у меня будет опыт работы в команде, пускай и самый каличный? Есть вариант немного пошабашить над проектом, скидывать будут в основном всякую рутину и самое простое. Я вот думаю есть ли смысл тратить на это время или лучше дальше пилить тудусерчеры соло.
>>2234674 Не проще ли скрывать/показывать меню через CSS? Без изменения разметки. Если я правильно понял, что ты хочешь сделать. Просто вешать дополнительно класс menu-active, когда нужно показать меню.
JS-аны, смотрите. У меня есть промис, который возвращает или объект, или строку "failed". К нему через then идет второй промис аналогичный. Вопрос: могу ли я избежать ссанины с двумя проверками на "failed"? Использую lodash/fn. Пока что выглядит так: thru(promiseA().then( result => result === "failed"? обработка ошибки : promiseB), result => result ==="failed" ? обработка ошибки : возврат значения)
Но это очевидное говно, меня за нарушение DRY выебут. Можно ли как-то эту ссанину сократить? не бейте если долбоеб, только перевели на JS, до этого вообще на плюсах работал
У кого-нибудь было такое, что в вскоде не работает автодополнение у плагина styled components? Подсветка синтаксиса при этом работает. Я думал, что в настройках что-то не так или другие плагины конфликтуют, но я тупо всё отключил и сбросил все настройки и ничего не изменилось.
Я не ту версию скачал... Та, которая по второй ссылке, работает... Но у неё 300 установок всего против миллиона на версии, которая уже не поддерживается!
>>2234665 Смысл есть, если тима нормальная, а не 2 протыкласника тоже без опыта. Гит выучишь, аджайл-хуйню, ci/cd, доступ по ssh, потом лиду мозги ебать не будешь.
>>2234781 Еще проще говоря static создает кучу html файлов-страниц при билде, а ServerProps каждый раз будет заново фетчить данные и под каждый роут отдавать один html c изменными данными в шаблоне? Не лучше тогда постоянно использовать ServerProps или тут только вопрос оптимизации?
>>2234813 >Не лучше тогда постоянно использовать ServerProps или тут только вопрос оптимизации? Зависит от ситуации. Статичный html намного проще кэшировать, плюс для заранее сбилденных страничек не нужно делать запросов и ходить в бд/апи сервер. Тут вопрос в том, знает ли сервер все данные для рендера страницы до запроса или нет.
>>2234873 Выбрасывай исключение на failed, лови и обрабатывай наверху, не? Алсо, в 2к21 промисы это плохо и неправильно, прочитай про async-await, он удобнее.
Как тебя так жизнь-то помотала, с плюсов на жс? Как впечатления?
>>2234922 Как жизнь помотала - крупная зарубежная компания, работал в ней сначала на одном направлении, оно закрылось по достижению целей, предложили в другой отдел перейти. За 2 месяца пришлось выучить JS, React+Redux, TypeScript, Node.js и функционалочку. Работать начал но чувствую себя очень неуверенно.
Ощущения - в легком охуевании. Все непривычно и неудобно. Все сука новое. Раньше работал на MSVC - C++- ООП - Perforce - теперь VSC - JS - функциональное - Git.
Сам JS - прикольный язык, но рили, если писать не в функциональном - там до пизды возможности выстрелить себе в ногу. В C++ с этим как-то проще, как мне кажется, за счет общей простоты языка. зато уж если выстрелить в сях - то отрывает всю ногу нахуй, как вспомню как коллега в union решил хранить shared pointer так вздрогну.
>>2235096 >В C++ с этим как-то проще, как мне кажется, за счет общей простоты языка
Не существует ни одного программиста, кто бы знал плюсы целиком, особенно в части метапрограммирования. В то время, как вся спека жс ужимается до двух листов а4.
>>2235231 >В то время, как вся спека жс ужимается до двух листов а4. Спека жс всего в 2 раза меньше спеки плюсов. А если к этому накинуть еще HTML и WEB api, то там будет текста больше, чем вся спека плюсов + STL+BOOST+asio и еще парочка десятков популярных либ
>>2235335 К компании я привязан. Там сложная система. Если вкратце - я аспер, до 27 если уйду - то пойду в армию. В аспе я по договору с компанией являюсь консультантом от института. По сути работаю на басурман, они платят мне ЗП, но числюсь я сотрудником РАН. Так и живем. Ну и знания и навыки лишними не бывают.
>>2235391 Как считаешь с точки зрения плюсовика, у плюсов есть перспектива умереть в ближайшие пару десятков лет и уступить первенство главного системного языка C и Rust?
>>2235391 А сколько стоит порешать с военкоматом? Тебе ещё небось зарплату урезанную платят, понимая в каком ты положении и пользуюсь тобой Меньше $4к зп?
>>2235399 C - точно нет, он слишком устарел в том плане что ни в функционалку, ни в ООП нормально не может, но свою нишу имеет, будет иметь пока жив UNIX. Rust потыкать не удалось. Сомневаюсь что он уступит сильно, язык очень много где применяется и там где работает - почти всегда лучше. Плюс залежи легаси на С++. Если и отомрет - то очень нескоро.
>>2235418 >>2235399 Да никогда плюсы не помрут, лол, о чем речь вообще. На плюсах каждый день пишется кода всё больше и больше и всё это идёт в легаси.
Плюсы помрут если выкатят новую программную архитектуру с новым языком программирования. Но там и пидераст и си вымрёт вместе, будет этакий черный леблядь. Возможно такое и произойдёт. А может и нет.
Анончик, по поводу замыканий. Ведь методы это тоже функции. Значит у них должен быть свой контекст выполнения, верно? Почему тогда колбек функция какого-нибудь метода типа addEventListener'a имеет доступ к переменным родительской функции? Или колбек создается в родительской функции и просто присваивается методу? Чот я запутался.
>>2235588 >Почему тогда колбек функция какого-нибудь метода типа addEventListener'a имеет доступ к переменным родительской функции? Потому что ты в 99% случаев стрелочную анонимку передаёшь в колбэк, которая объявлена в контексте родительской функции.
Бекендер опять выходит на связь. В общем. Поясните, что в ваших ЖС считается за правила хорошего кода и как правильно у вас декомпозировать компоненты. Ну, давайте пример на пикчах. Вот допустим пикча1. Как бы фронтендер ее разбивал на сущности? Вот лично я тут что вижу: 1. Топ-меню в котором свойства это просто коллекция элементов управления, которые инжектсятся снаружи(кнопка переключения состояния сайд-меню, имя, состояние логина). 2. Сайд-меню контейнер для элементов управления, плюс свойством передается viewModel с состояним показывать или нет и какой элемент сейчас выбран. 3. Лэйаут - еще один контейнер в котором VM - просто говорит какой из компонентов рисовать, самому лейауту опять же похуй 4. Футер, там в зафисимости от того нужно ли какие-то ссылкочки-переходы делать или это статика, если статика - можно сразу модель хуйнуть и захардкодить, если таки там будут какие-то ссылки-переходы, опять же энжектим MV для футера, там набор компонентов и все это вот.
Так вот. А как бы эту же хуйню декомпозировал настоящий JS-ер? А том не кажется что я из-за проф-деформации, когда нужно везде DI и чтоб если что все подменить да замокать можно было - усложняю и так реальный ЖСер делать не будет. По крайней мере когда я гуглил примеры RealWorldApplication - так никто обычно не делал.
Научите плиз писать скрипты для Tampermonkey, чтобы скрывать ненужные элементы на страницах. Вот например, я хочу скрыть пикрил плашку на ютубе, как это мне сделать?
>>2235666 1. Общий лэйаут, в котором хэдер/мейн/футер. Если хэдер или футер становятся слишком комплексными, запихивать их в отдельные компоненты. Эту часть можно считать "глобальным" компонентом, в том смысле что он будет присутствовать на всех страницах. 2. В мейне твоя хуитка с меню и наполнением. Я правда хуй знает что за страсть у пердоликов мейн смещать с центра, чтобы запихнуть меню навигации. Что тебе мешает его показать в начале мейна? Это особенно уёбищно выглядит на главной странице. Приходит такой Васян на твой сайтик и первое, что он видит, так как читает слева-направо сверху-вниз - перечисление всех пунктов меню, которые ни о чём не говорят, так как он даже не знает, нахуй твой сайт нужен. >Так вот. А как бы эту же хуйню декомпозировал настоящий JS-ер? Настоящих JSеров не существует, это тебе не кресты. Смысл настоящего жса - говнякать скриптики на сайтики, с чем ты благополучно справляешься.
>>2235765 Почему все так любят кланяться крестовикам? Как так сложилось, что успешный зумерок с мозгами после универа, отработав лет 5 на хороших проектах, получает зарплату больше, чем свитерный плюсовик с 30 годами опыта? Они не чувствуют себя пропущенными? Всю жизнь сосали, а теперь, когда большие деньги пришли в ойти, то и тут они не в лучшей позиции. Поэтому они и греют себя мантрами про швятые кресты и своей элитарностью?
>>2235679 не умеешь пользоваться поисковиком гугла или ютуба? там все гайды есть по твоей теме. а вот уже что будет непонятно после поиска, спрашивай здесь.
>>2235684 >>2235687 Через юблок/адблок не выбирается эта плашка, там как то по хитрому сделано. >>2235828 Я попробовал погуглить, но че то ничего не нашел. Поэтому сюда пришел за советом. Можешь хотя бы направить, в каком направлении искать?
>>2235863 У меня почему то не выбирает. Но я все равно хотел бы сам такие скрипты уметь писать. Я недавно поставил скрипт, который убирает из ленты ютуба просмотренные видео, очень понравилось. Теперь хочу сам написать скрипт, который удалит плашку и еще ютуб джем из ленты.
>>2235883 Ну ты более прошаренный в js и более грамотный поисковый запрос написал. Мне как раз это и нужно было, чтобы кто нибудь показал направление. Я так понимаю, есть какой то метод у каждого элемента, который его скрывает? А как имя этого элемента получить?
>>2235888 Я просто перевел твой текст отсюда >>2235679 >Научите плиз писать скрипты для Tampermonkey, чтобы скрывать ненужные элементы на страницах. в очевидные запросы >как писать скрипты tampermonkey >как скрывать элементы tampermonkey Никакой магии. Даже нейронка уже может сокращать тексты.
У элемента есть свойство видимости со значениями да/нет. Продолжай гуглить.
>>2236016 А ты пробовал гуглить "js parent" прежде чем задать вопрос? Вообще если хочешь писать скрипты сам, а не копипастить решения всяких Васянов, то нужно освоить язык JavaScript и его работу с DOM, вся инфа есть в шапке. Потому что элементы на странице вложены друг в друга, как матрешки, и это попытка добраться до внешней, для найденного элемента overlays.ytd-thumbnail#progres, матрешки. Не очень грамотная, наверняка там можно сделать через closest().
>>2236044 Не пробовал, т.к. плохо представляю, что гуглить. То есть это васянство получается. А как правильно? И главный вопрос: как чел нашел вот этот вот '#overlays.ytd-thumbnail#progress'???
>>2236067 И что он запрашивает? Элемент, в котором есть #overlays.ytd-thumbnail и #progress? #progress я вроде понимаю, это прогресс бар на просмотренных видосах, на непросмотренных его нет. А #overlays.ytd-thumbnail что значит?
>>2236070 $(...) = document.querySelector('#overlays.ytd-thumbnail#progress') То есть ищет элемент с двумя нахуй айдишками и классом, т.е. хуйню типа <div id="overlays" id="progress" class="ytd-thumbnail"></div> >>2236071 Если надо будет, освоишь за день максимум. Именно если на работе потребуется знать.
>>2234677 Так я же вроде так и делаю или не? Я хочу чтобы при клике на полоски меню, они менялись на крестик и выезжал навбар, а при повторном клике возвращалось меню и он пропадал. Пока мне оптимальным кажется пикрил. >>2234868 А как мне без классов застилизовать меню? Хидден не работает почему-то. Из того что написано в гугле я так понял из-за наличия свойства дисплей. Так что хидден тут не прокатит.
Посоветуйте пожалуйста открытые апишки для обучения, чтобы можно было слать запросы с клиента и их не блочики cors-ом. Типа всяких курсов валют и т.п. Спасибо.
И потом в css показывать меню только, если оно active. Скрыть через display none или мб лучше opacity 0 + pointer-events none. Не знаю, как лучше, я сам вкатышь ещё.
>>2236122 Извини, по двум строкам кода слишком сложно понять, что к чему. Я думал, этот <span> - это то, где будет содержимое меню. Но сейчас я вообще ничего не понимаю.
В любом случае, у тебя код выглядит как-то бредово, что бы он ни делал.
>>2236179 Недавно искал работу на js джуна. Прошёл 4 собеса перед тем как нашёл. Из них 1 - в офисе и 3 - удаленно. Тот собес, который был в офисе, прошёл абсолютно бездарно со стороны компании, я теперь бы вообще на оффлайн собесы не ходил. Думаю, мне сильно повезло нарваться хоть на кого то, кто проводит собесы в офисе сейчас.
>>2236179 50/50. Чаще всего удаленно, выглядит это так: Тебе звонит эйчар, распрашивает про опыт, чем занимался, на чем писал, работал ли. В конце скажет, что уточнит твою кандидатуру с тимлидом, а там как пойдет. Еще предложат пройти тестовое задание, тестовое могут дать и до первого звонка эйчара. Тестовые бывают разные, от обычного лендинга без жса, до свое реализации какого-нибудь метода в жс. После если ты прошел тестовое и ты понравился эйчар, тебя приглашают в офис или звонит тимлид. Там он уже тебя валит вопросами по жсу, опционально по хттп, фремворку. Я на свою первую и текущую устроился просто написав лендинг с логикой слайдера, технического интервью не было.
const handleBlur = () => { if (areOptionsVisible) { setTimeout(() => { setAreOptionsVisible(false); }, 200); } }; Подскажите, пожалуйста, мне нужно чистить этот таймер? И если да то как?
>>2236453 Таймаут надо чистить только если ты его установил и тебе его надо отменить. В твоем примере кода ты его устанавливаешь только по условию, а логики отмены у тебя не предусмотрено.
Короч, создан NPM проект, чтобы показать, что научился это делать, задание было принято, проект в норме. Следующее задание сделать все при помощи Вебпака. Я создал новый проект на гитлабе, сделал все по красоте, чисто скопировал код из старого проекта, но оформил все зависимости через вебпак. Кидаю ментору, он говорит - это что за проект, нужно было в старом, переделывай.
Так вот, я действительно хуйню творю или он доебывается?
>>2236570 Конечно творишь хуйню. С твоим подходом CI заебёшься настраивать, так как нужно постоянно менять адрес репы (а значит и история коммитов будет проёбана). Да и как думаешь ментор будет проверять твой прогресс? Везти список список реп на каждого вкатуна.
>>2236581 Я имею ввиду, что тип если у меня на руках есть тип функции type FunctionType = (value: number) => string; например, в каком-нибудь либе этот тип определён
то как мне для моей функции function f() {} обозначить что она типа FunctionType?
Чтобы не надо было указывать типы аргументов отдельно.
>>2236581 Ну так в туйпскрипте ты можешь тип всей функции указать, даже интерфейсом. Вот только его никак не привязать к функциональным обьявлениям, поэтому приходится говнокодить через функциональные выражения.
>>2236644 Наверное, всё же зависит от того, где его используешь. Если внутри реакт компонента, который может заunmountиться, то, возможно, стоит чистить перед unmountом, чтобы этот таймаут не пытался изменить состояние unmountного компонента.
Но я не знаю, так ли это важно. Просто вроде реакт в таких случаях пишет ворнинг в консоль.
>>2236644 Что тебе конкретно непонятно из фразы - "если ты установил таймаут и тебе его надо отменить раньше, чем он отработал - чисть. если таймер уже отработал - он уже очистился" ?
>>2229318 (OP) Сап, учу базис верстки дня 3-4, и хотелось бы поинтересоваться: Джаваскрипт-программер обязан знать как натягивать текстуры в css и прочий кал? Я не угараю по верстке, мне интересно кодить и решать задачки, а не ебаться с обезьяньей работой верстал. Хочу стать, соответственно, джаваскрипт-проггером.
И снова я, страдающий с JS после C++. Задача следующая. Есть объект, реализующий symbol.iterator(). По нему реализовано итерирование через for...of.
Мне сказали сделать через lodash/some.
Проблема: Лодаш мгновенно шлет меня нахуй с такими предложениями.
Т.е. код вида: for(const entry of iterator) if(filterfn(entry)) return true
Работает как часы. А код вида some(iterator, filterfn)
Нет. Есть ли способы заставить lodash работать с этим говном, или сказать техлиду что он охуел блять, верните мне С++ суки, я ебал блять, помогите что такой подход невозможен?