Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
>>2332221 (OP) должен ли фронтендер шарить за вёрстку? если я ещё не работал, думаю скоро на джуниора буду подавать. А то я везде флексы хуярю и потом передвигаю как мне надо, не уверен что это правильно, просто мне так удобно
>>2332350 Ну минимальный уровень все равно нужен, даже если в конторе будет макак-верстальщик. Хотя бы гриды научись использовать, если нужна будет сложная сетка.
>>2332515 А они в принципе не связаны же, просто когда пишешь на реакте сразу с тайпскриптом, тс немного гемора добавляет в плане обучения, я просто сейчас как раз сразу оба ковыряю. Наверное, когда-то в будущем я признаю, что тайпскрипт это прикольно, но пока что я просто привык все типизировать, но мне не нравится.
>>2332221 (OP) Через этот ваш js можно написать калькулятор для превращения одних данных в другие (чтобы открыть js файл в браузере, внести информацию в окошки и получить результат от калькулятора, желательно еще возможность это отправить на сервер)?
>>2332613 Уже 2 года гребу бабки на фронте. Вообще похуй эта ваша ебола, если на собесах начинают задавать подобные вопросы, просто мысленно посылаю их нахуй и иду на тот собес, где такую хуйню спрашивать не будут, на реальных тасках такая хуйня ни разу не пригодилась
>>2332776 Бля, а в карри я не так написал, там оно в кложуре всё запоминает и по сути только один раз функцию нормально вызвать потом можно. А вот так работает.
Зачем вы в своих проектах используете redux? Что вы храните в глобальном стейте? Просто для удобства, чтобы пропсы пропихивать куда надо? Есть же useReducer и useContext.
>>2332864 Бамп вопросу, вроде стейт менеджеры появились раньше контекста в реакте. Лично я за нативное использование всегда, например, fetch вместо axios
>>2332953 Однажды напишешь el['nam'] вместо el['name'] где-то в жопе кода и будешь полчаса искать, почему в другой жопе кода у тебя переменные undefined. это простейший пример
>>2332958 И что? Это не отменяет того что ts проверят приватность только на этапе компиляции. Он вообще все только на этапе компиляции проверяет, в чем смысл этого куска говна? Это же может приводить к ебическим ошибкам.
Так мужики кто шарит за mui, у меня наконец-то получилось разобраться чутка, но есть пару вопросов. Обязательно ли оборачивать компоненты в такой див со стилями? Конректно в моём случае с брейкпоинтами, да и вообще. На 2 пике ещё есть основная тема, можно ли как-то прописать стили сразу для всех заголовков?
>>2332953 Это бэкдор, который можно использовать при тестировании. Можно поставить правило для линта, чтобы не писать таким образом https://eslint.org/docs/rules/dot-notation, правда все еще можно будет так делать через константу. Но в целом оно так и задумано. Если хочешь, чтобы вообще никак нельзя была получить доступ к приватному филду, то уже есть жс-овский вариант записи shorturl.at/mJQR8
>Это же может приводить к ебическим ошибкам Все еще в десятки если не сотни раз меньше чем с ванильным js
>>2332959 Какой статический язык в твоем манямирке проверяет что-то не только на этапе компиляции? Ты понииаешь что и rust, и go, c++, и haskell, и d, и ada, и еще тысячи языков не проверяют ничего в рантайме?
>>2332835 В строгом режиме у свободной функции this ни на что не указывает. Функция принимает по дефолту один обязательный аргумент. Проверяет указывает ли на что-нибудь this сейчас - если не указывает, возвращает саму себя с привязанным первым аргументом в качестве this - если указывает, проверяет что количество до сих пор переданных аргументов больше или равно количеству минимально-необходимых агументов у фугкции привязанной в this - если аргументов достаточно, возвращает результат выполнения this от всех arguments - если аргументов до сих пор недостаточно возвращаем снова себя же, с привязанным this, и всеми аргументами переданными ранее и сейчас
Какого хуя на сайте с документацией реакта упускают ВАЖНЕЙШИЙ МОМЕНТ, на каком этапе и каким конкретно образом их маня-суржик JSX преобразуется в нормальный JS?
Ну и это... бабель? Бэйбл? Баббле? Как это говно называть?
>>2333373 Тебе это может пригодиться только если ты захочешь свой реакт запилить. Ну можно ещё на интервью выебнуться, но в доке реакта это точно где-то написано, так что ты сам проворонил
Почему Фейсбук смог накостылять человеческие удобные хуки для отслеживания переменных и обновления компонентов, а ебаный обоссаный Гугл сделал всё максимально через жопу?
>>2333517 Так это вроде инициатива Абрамова, до него в фейсбуке вполне была стандартная ООП-шиза с миксинами заместо компонентов, обмазанная редуксом поверх. А в гугел бы чела, который не может в сортировку пузырьком, просто не взяли.
Всем привет. Подскажите плз, я наверное че-то не понимаю. Прост изучаю бэкенд, но так как сейчас делаю апи, решил воспользоваться вьюжс для отображения информации.
В общем проблема такая, я делаю запрос на сервер через аксиос, он возвращает жсон типа {'name': 'abc', 'price': 123, 'producer': {'name': 'qwert'}}, который я сохраняю в data под ключом типа product, в шаблоне у меня нормально отображаются поля первого уровня вложенности типа {{product.price}}, но когда я делаю {{product.producer.name}} он пишет, что name не определено. Не могу понять, почему так. Если я в script прописываю типа console.log(this.product.producer.name), то возвращает значение как надо, но в шаблоне так не получается. Мб я как-то не так пишу?
>>2332221 (OP) Заметил забавную странность, чому когда я отбираю кандидатуры новичков разработчиков, я отсеиваю скуфынь и великовозрастных? Неужели пасты на двоче оказались правдой или я просто поддался программированию разума на двоче и сам не заметил, как пасты влияют на мой выбор?
Или так в целом работает голова и без влияния вечно оранжевой? Объясняет появление паст, но чому так происходит? Чому отдаю предпочтение молодым новчкам?
Пытался размышть, единственное что заметил - это неудобство в коммуницировании.
>>2332776 >>2332802 >>2332806 Оооо. Извиняюсь, если глупый вопрос, но что за шрифт? Или может быть - тема. Очень глазу приятна, хотелось бы себе поставить.
>>2333828 Ну я вычитал короче, типа нужно в элементе, где я пишу {{ product.producer.name }} ещё добавлять v-if="product.producer" и тогда все работает. Типа вложенные жсоны ещё не загрузились, когда я к ним обращаюсь в шаблоне. Хрень какая-то, че так неудобно. Почему не вложенные загрузились, а вложенные не загружаются? И если я добавлял {{ product.producer }}, то он мне рендерил весь объект целиком нормально, но как только к полю обращаешься, то андефайнд сразу.
>>2333942 Ну вот, но я вроде и так все описал. >>2333948 Я чет тоже про это подумал, но не понял, куда это писать. Я пробовал перед getBrandData написать async, а перед axios await, но не помогло. или мне в mounted надо написать await this.getBrandData? Прост мне как-то не понятно, хренли так происходит. Разве получение и сохранение жсона - это не одна операция как бы? Это же просто одна строка, как это он наполовину её получает и сохраняет?
>>2333961 Получение - это процесс, который занимает время, рендер не будет ждать, рендер будет рендерить brand: {} кстати хуйня полная, brand: null - вот так хорошо
>>2333970 Ну я понимаю, но я как бы к тому, что данные либо есть, либо их нет. То есть он получает одну строку от сервера, но типа доступна становится только её часть почему-то. Она же обрабатывается в течении одной операции. Ну и почему, если я напишу {{brand.producer}}, то он мне отрендерит весь вложенный жсон на страницу? То есть эти данные уже есть получается.
>>2333975 Ты просто себя обманул немношк Весь json загружается единомоментно brand.producer рендерится первый раз без ошибки потому что {}.producer - undefined, и это не ошибка. Прост у тебя загрузка быстро происходит, а как известно глаз бэкендера видит только 1 json в секунду, поэтому пустую строку ты вероятно не заметил. Но vue ее честно нарисовал brand.producer.name рендерится первый раз с ошибкой потому что {}.producer.name - undefined.name - это уже ошибка
>>2333979 А, ну вроде понял. И есть какое-то универсальное решение? Чтоб он не рендерил, пока не загрузится? Или проверять наличие данных условиями перед каждым рендером - это норм?
Делают крудошлепский пет проджект. С серверною частью всё относительно норм, джейсоны грузятся. А вот что делать с клиентской, фронтендом? Раньше помню использовали шаблонизаторы, но это не особо модно вроде, а мне хочется немного и порассказывать типа могу в новые модные технологии. С другой стороны, наверное, и делать какое-то слишком веб приложение, которое не индексируется и такое монструозное тоже как-то не оч (или нормально в качестве учебного проекта?) Так что можно предпринять? Вот вроде nuxt есть какой-то, это типа в таких целях используют или что?
Народ, привет, подскажите, начал только учить js по Кантору. все круто, но мне мало задачек в конце глав. Подскажите, где можно взять простых задачек (с решением\объяснением чтоб было для самопроверки). Фрикодкамп нашел в руководстве, но может что-то еще сможете подсказать?!
>>2333961 Возможность ждать в компоненте есть в третьем вуе, а ты, судя по синтаксису, говнокодишь на втором: https://vuejs.org/api/sfc-script-setup.html#top-level-await >Я пробовал перед getBrandData написать async, а перед axios await, но не помогло. или мне в mounted надо написать await this.getBrandData? Во первых, выкинь нахуй ебучий аксиос и используй нативный fetch с нужной тебе оберткой в 30 строк. Юзер тебе спасибо потом за это скажет. > Разве получение и сохранение жсона - это не одна операция как бы? У тебя рендеринг запускается еще до получения жсона, потом когда жсон получен и сохранен в состояние - запускается второй. Ошибка у тебя из-за того, что ты пытаешься получить данные, которых нет во время первого рендеринга. Тебе надо на первый рендер проверить, есть ли данные, если нет - рендериться прелоадер-зашлушку, если есть - рендерить уже нужное тебе зависимое от твоих данных говнище.
>Раньше помню использовали шаблонизаторы, но это не особо модно вроде Все еще модно, просто шаблонизаторы теперь это jsx и vue SFC. >Вот вроде nuxt есть какой-то, это типа в таких целях используют или что? Смотри, для того, что бы индексировался твой сайт наксты и нексты не обязательны. Ты можешь со своего бэка передавать необходимые данные в скрипте во время первой загрузки html и сразу забирать эти данные и рендерить нужную тебе инфу. Вот только есть проблемка: если на страницы дохуя жс и цсс, то придется использовать SSR.
№2334019 а я так и не думаю, просто хочу чтоб основы были выдрочены на уровне рефлексов (ну не самое плохое стремление). А просто зубрить я терпеть не могу, а хочется именно прорешать.
>>2334022 >хочу чтоб основы были выдрочены на уровне рефлексов основы - это не дроч алертов и простейший заданий на логику пятиклассника. Основа в разработке - это быстрое решение реальных задач, с которыми сталкиваются на работе. >А просто зубрить я терпеть не могу Ну так не зубри, а придумай/спизди откуда-то проект и начни делать. Постепенно добавляй тайпскрипт, сборщик, scss/css-in-js, babel, тесты. >хочется именно прорешать Ну так пиздуй на codeforces и дрочи задания уровня "как можно быстро найти порядок расположения в ограниченном по размерам места n-ое количество объектов с заданными шириной, высотой и глубиной." >>2334023 Лучше ссылку на репозиторий, сразу будет понятно, что ты с гитом знаком хотя бы чуть чуть.
>>2334018 Окей, спасибо. Я прост вообще не изучал жс, просто посмотрел туториал на фри код кемпе и делаю, как там показывали. Ну устанавливал я третий вью.
>>2334033 >Ну устанавливал я третий вью. А ты попробуй установить его без vue-cli. Вот тебе и задача, которая решается на реальных проектах: настройка сборщика.
>>2334025 W gite u menya toðe est projekty, no, skaðem, bolee serjoznye, a w codepene meloch, swæzannaya so wsækimi JS plüshkami, animatsiyami, wörstkoy i tak dalee, no kod tam toðe ne menee sloðnyy, w github oni ne smotrætsa kak po mne
>>2334035 Ну а зачем? Работает же. Я вообще бекендером стать хочу. Тут в жсе всякого изучать вечность можно, как я понимаю. Мне нужно-то прост данные из бекенда в верстку вставлять. Хотя я наверное сейчас весь фронтенд одной фразой описал, лел.
>>2334040 >Мне нужно-то прост данные из бекенда в верстку вставлять. Ну так зарандери на бэкенде шаблон через строки и отдай по гет запросу. Зачем лезешь в вуй?
>>2334042 Я делаю этот проект для изучения джанго рест фреймворка, потому что меня почти позвали на один собес, но там нужны его знания, вот я подумал запилить че-нибуть с его использованием. Ну а вью вроде бы самый простой фреймворк.
>>2334055 вуй easy to learn - hard to master. Реакт намного легче изучается до продвинутого уровня, хотя и требует гораздно более продвинутого знания жопаскрипта для вката. >Я делаю этот проект для изучения джанго рест фреймворка, потому что меня почти позвали на один собес, но там нужны его знания Так зачем ты вуй то взял? Ты SPA пилишь или просто демку как доказательство того, что ты в состоянии написать контроллер и протестить постманом?
>>2334066 Ну прост у меня была идея сайтика для себя, ну и заодно подумал использовать для этого ДРФ. Но от фронтенда мне нужно только рендерить мои жсоны с сайта в общем-то. Да, мне в принципе совсем не нужно чтоб там всё без перезагрузки работало итд. Я пилю в общем просто сайт с отзывами о товарах. Типа магазин, но без возможности покупки, лел.
>>2334038 Долбоеб, если забыл русскую раскладку, используй голосовой набор текста или английским транслитом пиши в гугол переводчик, он сконвертирует, писать русские слова на польском это блять что за шиза тут завелась
Разобрался с Ангуляром и RxJS. Но, блядь, какая же убогая документация, навязывающая мудацкий стиль говнокодинга, объясняющая не через разжёвывание принципа работы, а через мудовые примеры. Без статьи на Швабре хуй проссышь как этим говном пользоваться по-человечески.
>>2334076 >Но от фронтенда мне нужно только рендерить мои жсоны с сайта в общем-то. Это и есть типичное SPA. >Я пилю в общем просто сайт с отзывами о товарах. Отзывы (комментарии) - как раз юзкейс для SPA. Не будешь же ты всю страничку перерисовывать на сервере на каждый коммент. А так высрал страничку из кэша, а потом высрал камменты жсом из эндпоинта, который тоже отдаёт из кэша.
>>2334145 Ну я к тому, что и без дрф, просто рендеря на сервере, было бы примерно также. Да и проще даже. Ну да, буду на каждый коммент перезагружать страницу, а хули бы нет? Там под каждым товаром наверное один коммент в неделю писать будут.
>>2334317 Ну я такое ещё не проходил наверное. Раньше прост пользовался шаблонизатором джанго. Разве он там че-то по умолчанию кеширует? Прост подставляет данные из бд в шаблон и отдает в ответ.
>>2334324 Такой кэш обычно не на уровне приложения делают, а на каком-нибудь балансере. И тут волшебный встроенный кэш не поможет, так как кэшируемость отдельного шаблона очень зависит от его контекста. Условно говоря, если у тебя результирующий хтмл отличается от пользователя к пользователю, то хуй ты его прокешируешь (как минимум потому что нужно будет аутентификацию для каждого рисования проводить). В идеальной же ситуации запрос даже не дойдёт до приложения, условный нжинкс высрет статику, а остальное уже клиентский скрипт дорисует на машине клиента, прокешированными данными из API. >>2334326 Очевидно же рычи и двигай тазом, чтобы показать свой статус.
Извините, что вопрос про работу. Кароче, на какую зп соглашаться сейчас минимум? Есть вакансия в моём миллионнике, там написано, что зп в зависимости от моих знаний. Я получается нормально знаю так реакт и разметку умею хуячить, за жс могу пояснить чётко. Но не идеально конечно. Вот ещё за клиент-серверные отношения могу, авторизация, могу в базу данных, но бд и бекенд - это слабое звено. Вот сейчас думаю на 30-40к если добазарюсь вдруг(но вообще я хочу 60-100к), не слишком ли это позорная зп будет, но мне прям деньги нужны уже сейчас. Или всё же в Москву стучаться, но там конечно свои подводные есть в виде съёма жилья.
>>2334610 Мудила ебаная, опять на связь выходишь? Почему ты гуглом еще не научился пользоваться за такое время обучения блять? Почему такие долбоебы как ты вообще сюда лезут, я не понимаю.
>>2332788 А чего хорешего? Открываешь такой код, а там функци анальщик высрал процедурок вида (...args: any[]) => any и хуй тебе чего логи полезного расскажут, кроме как фабрика функций вызвала функцию.
Я чёт не пойму, на delete action возвращаю вот это: return { ...state, basket: state.basket.filter( (basketItem) => basketItem.id !== action.id ), }; Но у меня в коде ошибка: у одинаковых предметов в корзине state.basket одинаковые айдишки, и если я нажимаю удалить, то должны были удаляться все одинаковые предметы, так как у них одинаковые айди. Но работает всё как должно было, т.е. удаляет по одному предмету. Это как понимать?
>>2335045 Сейчас он тебе начнет про гейдер рассказывать и онлайн кады. Это несомненно важная информация для вкатывальшика спрашивающего что изучить из геометрии для вката.
>>2335040 Лет двадцать назад писал 3д игрулину (настольный теннис) без всяких фреймворков - рендерил программно в 2д. Всё делалось на матрицах преобразования. По работе только раз делал 3д йобу на Three.js - это была менюха для ТВ приставки, да и то она шла на какую-то выставку в качестве приколямбы, а не в прод
В основном же геометрия нах не упала, намного важнее шарить в протоколах/форматах/спеках/кишочках
Что должно являться стейтом при отображении данных из апи? Допустим, у меня есть таблица с данными, форма для добавления новой записи и "удалить" у каждой строки.
Компонент таблицы отображает данные из апи. Если я новую запись добавил, мне нужно как-то послать ее в компонент таблицы средствами реакт или просто попросить компонент таблицы обновить данные с сервера?
Или компонент добавления данных вообще ебать не должно че там дальше происходит? Как заставить перерендериться таблицу без связывания компонентов?
>>2335291 Если у тебя таблица для любых данных, то передавай данные в нее пропсами. Не надо заставлять библиотечный UI компонент (таблицу) запрашивать данные. Если это компонент с таблицей для конкретных данных, то получай данные и храни в компоненте на том уровне иерархии, на котором зависимость от этих данных заканчивается.
>>2335370 Правда если у тебя компонеты пересоздаются, то чтобы не перезарашивать данные, придется перемещать код работы с данными как можно выше по иерархии в родительский компонет, который существует перманентно. Это ломает модульность. Так что для реакта актуально хранить данные в глобальном стейте, а запрашивать их через какой-то миддлвар. В ангуляре например нет такой необходимости из-за сервисов.
Вчера начал читать Хорстманна (Horstmann Cay S. - Core Java Volume I. 11th Ed). А потом сразу стало очень грустно - вспомнил, что люблю JavaScript и уже как-то, было дело, въебал 2 года, чтобы перекатиться в Python, но потом перекатился обратно. А переубедите меня, пазязя, что мне не нужен Java и что можно на JavaScript делать приложения для андроида (на самом деле нет).
>>2335291 >Как заставить перерендериться таблицу без связывания компонентов? Пихать остояние таблицы в редукс стор. Заоджно и вопрос отпадёт о запрашивании данных.
>>2335430 Ноду не получилось на андроид поставить. Везде (на stackoverflow и на хабре) пишут, что можно поставить через Termux. Но Termux не ставится на андроид 4.4.2 (Huawei MediaPad T1-701u).
>>2335826 Тебе инпуты один хуй в спаны/дивы оборачивать надо, так как инпуты - встраиваемые элементы и ведут себя во флексах/гридах непредсказуемо между браузерами.
Сап двач, прошел собес, знаю мог лучше, но повторял не то немного что спрашивали. Сказали что был еще один кандидат но я показал себя лучше. Сказали ждать ответа. Что это значит? Какие шансы? мне страшно анон мне страшно
>>2335949 Когда тебе заливают про других кандитатов на собесе, то это уже звоночек. Можешь на другие вакансии аплаиться и в худшем случае расскажешь им, что собес в другую конторку прошёл и подумаешь над офером.
Когда можно реактом обмазаться? Вроде свободно пишу на жсе, манипулирую домом. Прошел большую часть учебника learn javascript ru, но третий раздел вообще не трогал. Этого достаточно?
Работаю в конторе, пишу минипроекты для нашего подразделения. Первый написал на Laravel (был опыт в php), второй проект пишу на Node.
А проблема в том, что я работаю один.
То есть, у меня нет реального опыта командной разработки. Да, я стараюсь делать всё по best practices на сколько мне это позволяет ICQ, но сама мысль, что у меня нет опыта командной разработки, меня сводит с ума.
Причём я сам могу выбирать стек, устанавливать сроки (в пределах разумного). А теперь вопрос, нужен ли этот опыт или оттягивать переход в команду как можно дольше?
>>2334133 У ангуляра и его экосистемы самая позорная документация, какую я вообще когда-либо видел. Даже, прости господи, у реакта лучше, там хотя бы приводятся несколько примеров, какой-то худо-бедный юз-кейс, какие-то gotchas и тонкости, хотя тоже далеко не все и не всегда. Но у ангуляра это просто какой-то ебаный кромешный ад, половина говна не описано в доках в принципе, вторая половина описана в духе "инжекшн токен - это токен для депенденси инжекшна" с не более, чем одним уебанским примером с их тупорылым Hero хэлловордом.
>>2336209 Ну вот, делай эти сайты, какая тебе разница сделано ли это «правильно» или нет, если тебе в любом случае за это платят? Ты неправильно относишься к работе.
>>2336230 Это плохо, по факту, да. Ну и че теперь? Опыт работы в команде можно наработать без проблем. Если спросят на собеседовании просто напизди им что есть такой опыт, и все счастливы.
>>2336406 да я собесы уже наизусть рассказываю, буквально, последний собес я тупо все моменты из доки пересказал что по классам что по хукам, алгосы почти не спрашивают, js тоже все знаю. Но блять 130-150 и все тут. А какие то вакансии с большой зп даже не зовут 2 года наверное всего потому что
>>2336809 Не понял, о чем ты. То что лидом легче залетать когда у тебя уже опыт? Ну да, джуну лидом можно стать только в стартапе, где вообще нет тех собеза либо связи. На своем текущем месте можешь попробовать начальнику позаливать, что нужно расширять команду и ты готов принимать участие в найме, вести новичка первое время.
>>2332221 (OP) Аноны, а как развернуть next на нескольких потоках в рамках одной машины? Чет пытаюсь нагуглить, инфы по нулям. Неужели надо по одному инстансу некста на один порт+поток вешать?
>>2336878 >next на нескольких потоках в рамках одной машины noda однопоточная насколько помню, тебе нужно кучу микросервисов кластеризировать kubernetes'ом.
>>2336926 Ты, видимо, настолько глуп, что вместо чтения доки к ноде пошел читать какие-то вкатунские высеры. Вот тебе пример многопоточности, реализованной на уровне одного процессаю
>>2332221 (OP) Анонасы, есть один сервис на ноде Он по запросу должен начинать очень долго делать разные штуки, настолько долго, что get запрос отваливается по таймауту Что в этом случае сделали бы? Сервер мой, клиент мой Нужно получать с сервера бинарные данные
>>2336966 Что ты понимаешь под "клиентом"? Если другой сервер, то пиши эндпоинты на обеих сторонах, одна сторона инициирует задачу на одном эндпоинте, другая дергает эндпоинт первой по её завершении. Если же клиент - браузер, то тут только при запросе проводить некоторый подсчёт времени, по завершении которого задача скорее всего завершится и возвращать предполагаемую дату завершения. Ну а самый костыльный, зато "простой" способ - при обращении в эндпоинт добавлять задачу в очередь задач, возвращать некий айди клиенту и лепить задаче статус "pending", который поменяется на "error"/"success" в зависимости от результата и заставить клиента пропукивать эндпоинт со статусом задачи в интервале до её завершения.
>>2337162 Это уже понял, но как этот костыль примерно реализован, интересно? Загружает содержимое и вставляет в новый тег script, или в eval вставляет, или че
>>2337178 >CSS модули Сасс с ними спокойно работает. >styled-components Говнецо из строчных литералов, у которого интелисенс отпадает при малейшем пуке ты зотел сказать?
>>2337196 1. Пихаешь строчный литерал в константу динамического модуля. 2. Билдишь проект. 3. ctrl + f этот строчный литерал. 4. ctrl + f имя файла, в котором этот литерал находится.
Зачем нужен второй аргумент props в колбеке setState((state, props) => {}) Пропсы и так никогда не меняются ведь, пока родительский компонент их не поменяет, в чем тогда смысл Или это просто для удобство, чтобы не писать this.props?
>>2337432 Ага, там инфраструтуру ноды до сих пор пидорасит от ESM пакетов, а ты про всякие фантазии с тэгами рассказываешь. html-webpack-plugin например только полгода назад научился вставлять этот аттрибут в скрипты.
>>2337443 Нода прекрасно раьотает с esm. Просто нехуй мешать cjs и esm. Какое отношение вебпак имеет к стандартам и исполеяющим срелам вообще непонятно. Это совершенно левая утилита. Не говоря о том, что вебпак в эпоху http2 используюи толтко все те же ебаннутые луддиты, которве ничего не умеют.
>>2337449 >Нода прекрасно раьотает с esm. Я тебе не про ноду говорю, а про её инфраструктуру, а точнее нпм пакеты. >Просто нехуй мешать cjs и esm. Просто делай правильно, а неправильно не делай. Там блять уже высрали 2 дополнительных расширения для жс файлов (+ 2 для реактофайлов) и ключ в конфиге. И это ещё тайпскрипт не подтянулся, который добавит ещё 2 расширения (и ещё 2 для реактофайлов) для своих файлов. >Не говоря о том, что вебпак в эпоху http2 используюи толтко все те же ебаннутые луддиты, которве ничего не умеют. Нихуя себе манямирок смузихлёба. http2 - полумёртвый высер фейсбука, существущий исключительно для засирания мозга пользователя бесконечным потоком рекламы. Да и в целом перекидывать бинарные данные в текстовом протоколе только совсем отбитый пердолик будет.
>>2332221 (OP) Сап, нужна помощь. Делаю прошивку на киоск, в котором будет постоянно крутиться реклама и прочие элементы, по типу пикрил, таких киосков стоит несколько рядом и обновление картинки (если затребовало управляющее устройство) должно быть с минимальным пингом. Поьзователь с киоском не взаимодействует, он на них только смотрит.
Фронтенд пока не определился на чем делать, но важно, чтобы киоск взаимодействовал с сетевой подсистемой и железом. Может и на низком уровне, а так же чтобы анализировал сигналы приходящие по сети из noOS-контроллера: "покажи то, покажи это". Сам по себе я работаю на языках подобных Си, к браузерным технологиям редко прикасался.
Пока что продумал 2 пути решения: 1. По таймеру с каждого киоска на 127.0.0.1 проверяется скриптом сгенерированный json веб-сервером. 2. По таймеру с каждого киоска из javascript`a вызывается специальная dll\so в которой уже есть обращение к сетевой подсистеме, а там анализируется был\не был сигнал - склоняюсь больше к этому варианту, т.к. постоянно дергать json - больше загрузки, а надо чтобы моментально была обработка.
>>2337656 Она у него настолько слабая, что можно считать, что ее нет нахуй. В пхп тоже динамическая типизация, только там я в IDE обращаюсь к любой переменной и она мне показывает ее тип и методы объекта, и даже док писать не нужно.
А в жопаскрипте ехал коллбек через коллбек на хандлере обработчика, в итоге IDE дико орет и после первого же коллбека редактор не может определить тип переменной.
>>2337178 используют, но чаще используют css модули и css-in-js, из-за модульной архитектуры проектов на реакте. >>2337449 >Просто нехуй мешать cjs и esm. Да, сейчас вот свои 300 зависимостей обновлю и там сразу esm из коробки будет нет >>2337658 >в жопаскрипте ехал коллбек через коллбек на хандлере обработчика, в итоге IDE дико орет и после первого же коллбека редактор не может определить тип переменной. Че за хуйню ты высрал? Если у тебя есть jsdoc комменты, то всё прекрасно работает.
>>2337712 >используют, но чаще используют css модули и css-in-js, из-за модульной архитектуры проектов на реакте. Блять откуда эти манямантры пошли про то, что sass и css модули несовместимы? Блогер какой-то сказал и все повторяют? css-in-js так и вообще говно говна.
Кто-нибудь итт пользовался ORM можете не начинать про голые sql запросы/нативный драйвер mongo, и так знаю с тайпскриптом? Нужна именно полная совместимость, чтобы везде все типы и схема подхватывались. В гугле нашёл штук 5 или 6 вариантов ORM, и все выглядят как-то стремно, а на реддите вечный холивар на эту тему.
>>2337857 >Нужна именно полная совместимость, чтобы везде все типы и схема подхватывались. Какая схема и типы, наркоман? >В гугле нашёл штук 5 или 6 вариантов ORM, и все выглядят как-то стремно Все ORM стрёмно выглядят, так как их базовая идея - натягивать ООП-сову на реляционный глобус.
>>2337904 Анон, ну хоть тут срач не разводи, не реддит же. Я просто хочу услышать тех, кому приходилось в реальных проектах использовать orm, и какая это была orm.
>>2337699 > Тебе тупоскрипт сделали Вообще молодцы, заебись сделали. Пока не пробовал его, но очень хочу. Наконец-то иде будет показывать типы без пердолинга
>>2332221 (OP) webpack по сути структурирует множество модулей в 1 файл? я ведь когда на реакте билдю, то происходит тоже самое? он создаёт 1 файл в который умещает весь проект, максимально оптимизируя?
>>2337979 Не в 1 файл, а энтрипоинты. В 1 файл не кэш-фендли, так как вебпак сохраняет информацию о билде, которая всегда разная между сборками, даже если модули побайтово идентичны. Плюс говнецополезные модули из node_modules автоматом в отдельный энтрипоинт сохраняются, чтобы обновление зависимостей не меняло хэш модулей проекта. Просто пройди гайд вкатуна на сайте самого вебпака, там достаточно инфы с примерами, что большинство базовых вопросов отпадёт: https://webpack.js.org/guides/getting-started >>2337980 У БД может быть бесконечное количество схем и типов (с рекурсивными референсами). Ебанёшься эти типы конвертировать в тайпскриптовский эквивалент. А самописные типы ещё не факт, что можно волшебной тулзой сконвертировать.
>>2337762 Полезно будет сделать какой-нибудь справочник. Т.е. любишь играть в ведьмака - делаешь справочник по ведьмаку. Там тебе и поиск, и фильтрацию и т.д. Все что нужно используется.
У меня следующая ситуация - есть поле куда вставляется base64 код и есть img src где после вставки кода изображение появляется, но нужно чтобы оно вставлялось обрезанным поэтому нужно .crop
В сети интернет говорят есть схема $(...).click(function () {...}) но это как понимаю для двух одинаковых функций. Говорят можно без JQuery вешать addeventlistener но плохо представляю как с ним провернуть что-либо.
>>2338097 >>2338167 нет извините вопрос в силе, css только с виду обрезает, а если открыть изображение в новой вкладке то как было полным так и будет, а надо чтобы действительно обрезало.
>>2338215 >css только с виду обрезает, а если открыть изображение в новой вкладке то как было полным так и будет
Если у ты ожидал иного, то у тебя проблемы с фундаментальным пониманием как работает компьютер и как устроена сеть. Странно, что тебя это не беспокоит.
Есть что-нибудь, где подробно объясняется на простом и русском языке как работает Реакт под капотом, как он рендерит компоненты и т.д? Что-то не могу просто его использовать, не разобравшись с магией внутри.
>>2338097 >Говорят можно без JQuery вешать addeventlistener Ну да, это же не фреймворк, а либа, соответственно, можно ее подключить и в одном месте использовать. Я так понимаю, ты хочешь обрезать картинку функцией аж на сервере а ты не прихуел?
>>2338297 даже не на сервере а на самом сайте. Я уже сделал обрезание когда изображение загружаешь через кнопку загрузить файл, а вот когда вставляешь строку base64 в <input type="text"> вот с этим непонимание. Думаю как решить.
>>2338097 >Люто, бешено нужна ваша помощь с JQuery Люто, бешено советую тебе отказаться от жиквары в 2022 году, т.к. весит она дохуя, а функционала дает на текущий момент ровным счетом нихуя. Почти все методы уже есть в ванильном жс, а которых нет - легко пишутся руками.
>>2338236 Во первых, дай ссылку на кодепен или аналог, хуй знает что ты тут имеешь в виду под своими высерами. Во вторых, самый простой вариант это: нарисовать твое изображение в <canvas> => обрезать => забрать изображение => отправить туда, куда тебе нужно.
>>2338499 Да. Я бы сказал больше - никогда не используй create-react-app и vue-cli. Если тебе надо создать по быстрому проект, что бы проверить гипотезу - используй vite. Если нужно создать полноценный проект - настраивай webpack или rollup ручками с нуля.
>>2338554 >Какие подводные? Не получится проебаться неделю пока девопсеры чинят твой сервер, который полетел к хуям из-за зависимости node-ipc внутри твой CLI.
народ, сап нигаз задача: хочу поставить себе gulp для фронтэнда, всякие scss пилить и прочее проблема: нихуя не знаю javascript, вообще. и не могу разобраться как установить, всё время какие-то ошибки с appdata
форумы и реддит покурил тк знаю английский неплохо, но там столько терминов, что я даже не понимаю о чем речь.
>>2332221 (OP) привет двач помогач есть массив с кнопками [1, 2, 3, +, -, = и пр.] как лучше написать функцию которая будет выводить ту кнопку которую я нажал из этого массива, допустим я нажал 2+10 и все это введется в инпут( нужно для калькулятора) заранее спасибо
>>2338744 1.Научиться выделять зрительно логичеки законченный фрагмент кода (хорошо, если он так и написан, например некая функция или класс); 2. Читать и попробовать объяснить непосвящённому человеку, например, товарищу, смысл прочитанного кода; 3. Отправить семпл более опытному товарищу и соотнести осмысленное и услышанное; 4. ??? 5. Парафин!!!11
Сеньёры, подскажите - вот все говорят, что стор должен быть единственным источником истины для компонентов. Получается, что я делаю запрос в компоненте, потом кладу данные в стор. Потом из стора достаю данные в компонент. Т.е. если следовать этой парадигме, что нужно делать вот так? См скрин.
>>2338804 Далеко не всегда Вообще flux архитектура очень бойлерплейтная просто для запроса данных, давно придуманы rtk-query и react query, то же самое только намного проще и меньше писать
>>2338804 Зависит от юзкейса. Если покладёшь в стор, то его значение может получить даже компонент, у которого общий предок с этим компонентом только рутовый элемент, без ререндера всего дерева. >>2338807 >давно придуманы rtk-query и react query, то же самое только намного проще и меньше писать Один хуй бойлерплейт для трансформации результата надо где-то писать. Допустим тебе результат запроса, массив, нужно переписать в специфическую хэш-таблицу, где ты это будешь делать? В функции запроса не вариант, так как они и так перегружены ассинхронной логикой с обработкой ошибок запросов, пизданёшься потом дебажить всё это. В самом юзэффекте тоже вырвиглазный пиздец, так как достаточно комплексные трансформации один хуй придётся в отдельную функцию выносить. Остаётся только писать прослойку между запросом и собственно дёрганьем результата, и которую тоже желательно в отдельную функцию выносить. В таком случае поздравляю, так как это переизобретение тханков-хуянков.
>>2338795 > пирфаманс же так важен для калькулятора Дело не в калькуляторе, и даже не перформансе. Хорошие привычки не появляются сами собой, но вырабатываются со временем.
>>2338807 >>2338887 Лан, если тим-лид (не фронтендер) будет настаивать на втором варианте, то можно нахер послать, если данные не мутириются. >>2338874 В диспатче просто вызывается тот же гетмуви, и данные комитятся в стор. Он работает как прослойка
>>2332776 Говно какое-то высрал и радуется. Функциональщины, кстати, когда хлебнёшь на webзаводе, потом уже тошнить будет при виде всех это перделок и свистелок.
Аноны как обрезать изображение при загрузке? Есть img src, src пустое, допустим жму кнопку загрузить файл и в src появится изображение. А как сделать чтобы появилось с обрезанием? Css не катит. Если canvas то как сделать временный канвас, я в этом не шарю совсем, чтобы там обрезалось и обратно в src, накидайте код плиз
>>2339360 >При нажатии на разные инпуты открывается один и тот же календарь А должны разные? В целом, вьюха - это функция проекции от состояния, его-то и описывай и размещай где надобно.
>>2339360 Я долго терпел, но сейчас скажу, что сам делал это тестовое. Но мне тут сказали, что жквери говно и я забил. Алсо там блять нарисовано всё криво, а требуют по пиксель перфекту верстать? Говно какое-то
К ним вряд ли, но они обещают провести код-ревью. Тогда я смогу понять, нормальный ли мой код или нет. А то я пишу проекты, но я не знаю, говнокод у меня или нет.
>>2339198 не помогло к сожалению. У меня есть код, мб в нем сможешь дополнить?
Использую JQuery. Есть input куда вводишь base64 код изображения, base64_input, есть место где выходит после этого изображение, image_output, и кнопка, которую если нажать то base64 код конвернется в изображение, Base64_to_image_button. Как сделать чтобы при выводе изображения оно обрезалось как надо? Я и в .show() пытался функцию запихнуть, и то и это вообще никак. При этом если нажать кнопку загрузить файл то изображение и размер меняет и можно обрезать а вот с этим затык.
Просьба сильно не стукать, так как я - старичок-новичок.
Я, короче, мимо пробегал. Поэтому не судите строго. Хочу поинтересоваться у погромистов тем, что лучше в моем случае - пхп али джаваскрипт?
Суть такова - хочу написать и запустить на каком-нибудь недорогом хостинге игральный веб-аппарат. Чтобы случайно выводил игроку число от 0 до 1000, а в том случае, если оно равно трипплу какому-нибудь, то умножал ставку на дохрена. Во фронте при этом для начала на html и css сделаю что-то вроде экрана, формы ввода ставки и кнопок для жмякания. Потом хочу прикрутить регистрацию, чтобы знакомые играли не на деньги, а на ебаллы какие-нибудь. Просто для хобби и начала вката в это ваше ойти.
Html и CSS посредственно знаю, так как лет 18 назад что-то писал в блокноте, а недавно чего-то херачил, смотря курсы какого-то типа из Беларуси в ютубе.
Джаваскрипт почти не пробовал, пхп на днях пощупал. Вроде неплохо.
Тренируюсь пока на чистых хтмл ксс жс писать одностраничное гавно: просто сайт с кнопочками, игрушка 2дшная, калькулятор, комментарии, меню поиска челиков как вк и проч.
и над каждой строкой сижу по 20 мин., переживаю какой из двух одинаковых встроенных методов быстрее, как лучше переменную назвать, как сделать всё побыстрее, покрасивее, читабельнее и чтоб меньше памяти юзало, как всё организовать, просто функции юзать или классы, а может полотном одним, а что бы было если то, что я пишу было бы расширяемо, где стоит асинхронность юзать, где нет и т.д. переживаю чё-то, хожу по комнате туда сюда
в итоге то, что делается левой рукой за полчаса растягиваю на несколько суток на несколько подходов, хз страх какой-то есть и открываю редактор нехотя, а вот codewars могу решать хоть 24/7 и с большим удовольствием.
может сайтик есть где много примеров годного современный кода одностраничных сайтиков или ютубер с таким контентом
>>2339465 На php ты фронтенд не напишешь, а на привычном js серверную часть. Есть конечно node js, можно его выбрать, чтобы 2 языка не учить. Но так или иначе странный вопрос в JS-треде.
Я не могу понять, что лучше подойдет для того, чтобы при вводе на странице в поле "Сумма ставки" и нажатии на кнопку "Сделать ставку" (чисто для примера) случайно подобралось число, сравнилось с 111, 222, ..., 999 и в зависимости от результата увеличило $ballance на $stavka * 77, а впротивном случае вычлась ставка из баланса, всё это записалось в переменную, продолжилась игра, пока баланс не закончился.
Полагаю, что php больше подойдет, но слышал, что на JS сейчас через всякие фреймворки чуть ли не игры пишут. Поэтому и решил поинтересоваться у опытных анонов, а то сам я, как уже понятно, немного не того в этом всем.
>>2339497 Благодарю, анон. До последнего думал, что ты траллируешь.
Погуглил сейчас. Действительно, выглядит заманчиво. Только вот я максимум, который делал, верстал недосайты в качестве хобби лет в 14, в кубейсике на уроках информатики так и не научился эти всякие прямоугольники рисовать, а пару дней назад написал в консоли на php что-то вроде простецкого аппарата игрового, прочитав начало самоучителя...
>>2339542 Я просто запутался и не пойму, с чего начать, что выбрать. Вчера даже попробовал на паскале что-то начать делать, ибо подумал, что без вот прям основ нечего и начинать. Теперь думаю, что с таким подходом начну хоть что-то воплощать на практике лет через 10 аж.
>>2339557 Не поздно, главное только не забывать, что не все возможности тебе будут доступны и не переживать по этому поводу. Чем меньше притязания тем позднее можно начинать.
Всем , 300кк/наносек привет, хочу залететь в back-end на js (Node). Купил себе пикрил и потихоньку изучаю его, но посмотрев видосы по типу "Что такое быть back-end разработчиком js " и "Что такое Node js " нихуя для себя не понял. Можно пожалуйста пояснить что где когда и как оно устроено ?
>>2339640 Зря купил, в инете больше инфы и бесплатно. В том числе по устройству ноды. Приучайся гуглить, для жс-господина в его мире где каждый месяц выходит новый фреймворк, это основной навык.
>>2339659 Думаю редко где дают. У самого далеко не самый новый ноут. Lenovo Z575 8гб оперативы hhd диск. Не очищал с первого великого крымосрача. Открыт терминал, куча вкладок, фигма, вскод с кучей плагинов. Правда с фигмой есть нюанс, ее в браузере нереально откртой держать, только через приложение, иначе оперативка забивается под сотку.
>>2339658 Редко когда ошибка появляется на других браузерах, есть множество нюансов, но чтобы просто верстать не обязательно думать о кроссбраузерности, я щитаю.
На монго теперь можно зайти только с впном. Они же специально так сделали? Потому что если бы хотели послать нахуй Россию, то заблочили бы аккаунт. Я правильно понимаю?
Кто сталкивался с проблемой отображения pdf на мобилках? Проблема в следующем, есть страница куда приходят pdf, вставляются они в iframe. На десктопе все отображается как нужно, на мобиле pdf не хочет отображаться? Как можно эту проблему решить. Ps React
Долбоебом которые кукарекают что геометрия во фронтенде не нужна посвящается. Получите какой-нибудь таск где нужна тригонометрия - сразу жидко пернув обмякните
>>2339826 Может, потому, что привел в пример эффектфул говно ебаное, вместо кода? Какая разница, что тригонометрия или аксонометрия если нихуя не ясно, что и на каких входных данных должно возвращаться? В общем, ты хотел выебнуться, а по факту серанул жидко под себя.
>>2339805 Как джуномакака, которой выдали задачи писать функции для отрисовывания всякой svg-хуеты по входящим данным, официально заявляю, что тригонометрия не нужна, достаточно смутных воспоминаний из школы и гугления совсем специфичных формул.
>>2339805 >Получите какой-нибудь таск где нужна тригонометрия Как получить? И нужно ли учить основы картографии? Вдруг таск получу сделать свои карты без гугла и яндекса и не городские? Нужно ли учить астрономию? Вдруг уйду на галеру, которой роскосмос что-то сложное закажет? Нужно ли учить машиностроение? Вдруг автоваз закажет дорогущий сайт, где кликаешь на капот и он открывается, показывая все компоненты? И вообще нахуй я отвечаю челику, который пишет какую-то хуйню на жквери и называет переменную grafikCenter блядь
>>2339939 А как же взаимодействие клиент-сервер, запросы к базе данных, мидлвейры, сами базы данных? Ну это всё в комплекте с нодой для веба и поверхностно. А сама нода это вообще пиздец. Как понять нечего?
>>2339946 То, что ты перечислил, не к ноде относится и уж точно не к ее версии. Это нужно знать в принципе, а ноду в частности. И когда ты все это освоишь, не будет такой уж прямо большой проблемой перейти на другой язык, т.к. базу уже знаешь.
>>2340316 Потому что его код работает с масивом кнопок, то есть сначала querySelectorом получаешь массив кнопок, деструктуриуешь его, [...doc.querySelectorAll('button')].егоКод.
А ты передаешь ему массив обычных чисел, и пытаешься у числа а не у кнопки вызвать метод addEventListener, у числа нет такого метода.
>>2340623 так, это я сделал, разные мелкие. Тогда наверное последний вопрос - реально сделать чтобы одна крупная показывалась картинка а не 3 например или нереально? Как и 1 инпут куда вставлять текст.
>>2341347 Тогда не знаю, сложно сказать не видя кода и устройства на котором запускаешь, лично у меня в браузере fixed попапы не двигаются ни на миллиметр.
>>2341355 >лично у меня в браузере fixed попапы не двигаются ни на миллиметр. Ага, но в случае если запускать с мобильного девайса(не девтулз), то существует некоторое подергивание. На айфонах это еще больше заметно, т.к. там нижняя панель динамическая.
Код простой, позиция и низ экрана. Стили. На пк норм.