Сохранен 538
https://2ch.hk/pr/res/2200419.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

JS Thread #231 /js/

 Аноним 02/11/21 Втр 11:18:36 #1 №2200419 
16313000548100.png
Предыдущий тред: >>2194587 (OP)

Больше пары строк кода в посте или на скриншоте ведут в ад.

Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs

Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Аноним 02/11/21 Втр 11:22:07 #2 №2200425 
>>2200419 (OP)
Есть какие-нибудь бесплатные либы с компонентами, использующими tailwind css? А то я заебался реализовывать всякие спойлеры с нуля.
Аноним 02/11/21 Втр 11:41:50 #3 №2200454 
>>2200425
Хвостоветер используют, чтобы высрать прототип и съебать в закат, какие компоненты?
Аноним 02/11/21 Втр 12:06:38 #4 №2200473 
>>2200454
Чтобы в это высранном прототипе помимо статичных компонентов были интерактивные, не?
Аноним 02/11/21 Втр 12:36:07 #5 №2200494 
image.png
Цель: хочу, чтобы vscode intellisense (или автозаполнение) видел в глобале эти переменные и сама предлагал мне варианты.

Предположил, что эта проблема решается через заголовки ts. Так вот могу ли я без ts использовать d ts? И как мне добиться моей цели?
Аноним 02/11/21 Втр 12:40:07 #6 №2200500 
>>2200494
Что тебе мешает эти пути запихнуть в отдельный модуль и через его импорт обращаться к ним?
Аноним 02/11/21 Втр 12:43:00 #7 №2200503 
>>2200494
Ты все правильно сделал в первом файле, только вместо = надо использовать :
declare global {
huy: string;
}
Аноним 02/11/21 Втр 13:31:14 #8 №2200544 
Почему когда я класс пишу в css он не парсит их из html, приходится вручную писать? Должно же быть можно как-то это сделать?
Аноним 02/11/21 Втр 13:35:52 #9 №2200550 
>>2200544
>Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Аноним 02/11/21 Втр 13:39:43 #10 №2200555 
>>2200550
Я думал итак понятно написал. Вот например у меня в html есть
<input class="kakoyto">
я хочу чтобы я в style.css подключенный зашел, написал .k и у меня в предложенных были названия классов на k из html в т. числе этот "kakoyto"
Аноним 02/11/21 Втр 14:08:37 #11 №2200602 
>>2200555
Все прекрасно работает.
Аноним 02/11/21 Втр 14:14:17 #12 №2200609 
>>2200602
У меня в vs code тоже не работает.
мимо
Аноним 02/11/21 Втр 14:15:22 #13 №2200611 
>>2200609
А у меня в вебшторме - работает.
Аноним 02/11/21 Втр 14:23:09 #14 №2200617 
>>2200611
Почему в вебшторме всегда все работает, нечестно.
p.s. как на vs code это добавить мб кто-то знает?
Аноним 02/11/21 Втр 14:24:30 #15 №2200619 
ооооооо.jpg
ппппппп.jpg
>>2200419 (OP)
По реакту можно вопрос?
пишу npx create-react-app my-app
У меня всё устанавливается, пишу yarn start - разворачивается дефолтная страница с логотипом. Пробую изменить текст в App.js, сохраняю - ничего не меняется.
В чем может быть проблема, в гугле невнятная хуйня какая-то.
Аноним 02/11/21 Втр 14:27:32 #16 №2200622 
>>2200617
Никак =).
Используй css-модули, там он автоматом тебе предлагает вставить в твой шаблон код из css файла но не наобарот
>>2200619
>По реакту можно вопрос?
Можно
>create-react-app
Нахуй надо. Не используй CRA, лютая параша.
>>2200619
>Пробую изменить текст в App.js, сохраняю - ничего не меняется.
Что в консоли браузера?
Аноним 02/11/21 Втр 14:29:13 #17 №2200625 
>>2200622
>там он автоматом тебе предлагает вставить в твой шаблон код из css файла
Я итак использую, ничего он не предлагает, наверное это тоже вебшторм
Аноним 02/11/21 Втр 14:31:04 #18 №2200629 
>>2200622
>Что в консоли браузера?

[HMR] Waiting for update signal from WDS...
Аноним 02/11/21 Втр 14:32:54 #19 №2200632 
>>2200625
Ну мб. Я ща проверил на дефолтных css моделях и действительно, не предлагает. Вот на vue шаблонах с включенным volar'ом работает.
>>2200629
А в терминале что?
Аноним 02/11/21 Втр 14:34:22 #20 №2200636 
ддддд.jpg
>>2200632
Аноним 02/11/21 Втр 14:35:50 #21 №2200639 
>>2200636
Ну хз в чем может быть проблема. Проверь еще, открылся ли вебсокет во вкладке network. Попробуй готовый бойлерплейт для вебпака или vite вместо create-react-app.
Аноним 02/11/21 Втр 14:51:07 #22 №2200653 
>>2200639
Ну я ведь правильно понимаю, если текст в апп.жс менять и сохранить, оно должно сразу применить изменения?
Аноним 02/11/21 Втр 15:03:51 #23 №2200664 
>>2200653
Ну если простыми словами - да. Webpack (который находится внутри create-react-app) начинает следить за всеми изменениями в файлах и при их наличии либо обновляет страницу, либо динамически меняет компонент (это называется HMR, реакт его поддерживает). Информацию об обновлении он отправляет на страницу по вебсокету.
Соответсвенно, если у тебя сервер поднялся, вебсокет работает, но обновления не происходит - скорее всего вебпак просто не видит изменений в файловой системе.
Аноним 02/11/21 Втр 15:13:52 #24 №2200675 
>>2200653
Короче, если не хочешь ебаться с этим вебпаком попробуй просто другой сборщик, например vite:
npm init vite@latest my-app --template react
npm i
npm run dev
Аноним 02/11/21 Втр 15:21:27 #25 №2200684 
А я вот по этой хуйне делал и у меня всё работает https://medium.com/age-of-awareness/setup-react-with-webpack-and-babel-5114a14a47e9
Аноним 02/11/21 Втр 15:24:59 #26 №2200688 
>>2200684
HMR не работает.
Аноним 02/11/21 Втр 15:26:55 #27 №2200690 
>>2200688
Работает. Вроде как в вебпаке оно по-умолчанию работает.
Аноним 02/11/21 Втр 15:40:43 #28 №2200700 
>>2200690
В вебпаке ничего кроме import и require по умолчанию не работает
Аноним 02/11/21 Втр 15:58:19 #29 №2200720 
>>2200700
https://webpack.js.org/guides/hot-module-replacement/
Since webpack-dev-server v4.0.0, Hot Module Replacement is enabled by default.
Аноним 02/11/21 Втр 16:53:33 #30 №2200755 
>>2200720
> All we need to do is update our webpack-dev-server configuration, and use webpack's built-in HMR plugin.
Аноним 02/11/21 Втр 17:17:41 #31 №2200787 
Нубский вопрос: А что плохого в CRA?
Аноним 02/11/21 Втр 17:19:29 #32 №2200791 
Сап двощь, нужно ли чистить вилкой IntersectionObserver при анмаунте в реакте или вью? Когда-то где-то читал, что там weakref на оберсвабл дом элементе, и при его удалении из дома почистится и сам обзервер (офк если он нигде не зареференсен)
Аноним 02/11/21 Втр 17:26:01 #33 №2200798 
>>2200787
Конфиг вебпака трудно кастомизировать, потому что он спрятан

Хотя там вроде детач есть, который этот конфиг поближе перетаскивает
Аноним 02/11/21 Втр 17:28:56 #34 №2200800 
Снимок экрана от 2021-11-02 17-25-05.png
Снимок экрана от 2021-11-02 17-27-27.png
Снимок экрана от 2021-11-02 17-27-54.png
Снимок экрана от 2021-11-02 17-28-34.png
Почему так сложно-то?
Я уверен что я еблан и что-то делаю не так(((
Аноним 02/11/21 Втр 17:42:14 #35 №2200815 
Здрасте, первый раз в жизни пишу бакенд(на ЖС) и под конец проекта понимаю что у меня получается ужасающий непереносимый пиздец. Я конешн на полноценный код ревью не претендую, но скажите что изначально я делал неправильно и как вообще что то подобное надо было писать

вот пример одного проблемного модуля - https://github.com/artnavsegda/scene-server/blob/main/media.js

из очевидных пока для меня веще то что это все дорлжно было быть как минимум на тайпскрипте потому что основная честве времени что с ним происходят это рантайм ошибки связаными типобезопастностью и null safety

но мне кажется все еще глубже и я фундаметально проекты не умею разщрабатывать а получилось накидать то что едва работает теми способами которыми я кое как умею
Аноним 02/11/21 Втр 18:01:29 #36 №2200829 
>>2200791
Возьми и проверь. Зарендери несколько дсятков тысяч элементов и посмотри на расход памяти
Аноним 02/11/21 Втр 18:38:47 #37 №2200863 
>>2200815
Ок. Кодревью так кодревью.

Осень много повторяющегося кода.
Осень много хардкода.
Я бы соватовал таки про ООП и паттерны почитать. Как бы жс-няши не пытались от него сбежать, без ООП получается бяка. В твоем случае - у тебя бы было два класса: Source и Room
Аноним 02/11/21 Втр 18:43:36 #38 №2200869 
>>2200684
>>2200675
>>2200639
>>2200622
>>2200700
Лол, не работало только если писать криэйт реакт апп в терминале WSL, написал в стандартном терминале - заработало, всё обновляется в ту же секунду
Аноним 02/11/21 Втр 18:59:04 #39 №2200879 
>>2200869
Ныааааа по ебалу лично от сеошного индуса, понравилось отлаживать баг, который даже не ты создал? Ахахаха. Спасибо, мистер индусец.
Аноним 02/11/21 Втр 18:59:56 #40 №2200880 
image.png
>>2200879
Забыл пик.
Аноним 02/11/21 Втр 19:07:18 #41 №2200886 
>>2200880
И в чем тут баг, если этот долбоеь использовал совершенно разные окружения, с разными перемееными path? Установку производил в винду, а запустить пытался под линуксом?
Аноним 02/11/21 Втр 19:17:42 #42 №2200900 
>>2200863
Что такое "хардкод", в твоем понимании?
Аноним 02/11/21 Втр 19:34:34 #43 №2200928 
16326640495520.png
Дайте наставления худому кунчику 185/56, ну или просто обосрите. https://github.com/webPrsnr/js-countdownTimer
Аноним 02/11/21 Втр 19:39:35 #44 №2200941 
>>2200900
Case
When "huy"
Wheb "pizda"
...

Httpclient.get("127.0.0.1/api/getHuy")


У тебя завтра хуй и пизда переименовались в пенис и вагина, апи переехал на другой адрес, и ты по всей своей помойке меняешь адреса, кейсы, ифы....
Аноним 02/11/21 Втр 19:58:35 #45 №2200980 
>>2200928
А хули он не работает? Доделывай
Аноним 02/11/21 Втр 20:58:34 #46 №2201066 
>>2200980
Теперь должно работать (ну я надеюсь).
Аноним 02/11/21 Втр 21:16:45 #47 №2201083 
>>2200863
Что такое осень много кода? Плачущие джуны под столами.
В коде размножаются баги косяками
Очень я давно доволен не был.
Аноним 02/11/21 Втр 21:25:34 #48 №2201094 
>>2201083
Это хокку?
Аноним 02/11/21 Втр 21:27:19 #49 №2201098 
>>2201094
Это переделка ДДТ
Аноним 02/11/21 Втр 22:18:31 #50 №2201125 
>>2201098
Домэйн Драйвен Тестинг?
Аноним 02/11/21 Втр 22:32:17 #51 №2201149 
Насколько имеет смысл React-ньюфагу изучать Jest и вообще тестирование?

Востребованы ли эти навыки?
Аноним 02/11/21 Втр 22:57:47 #52 №2201186 
>>2201149
>вообще тестирование
Всегда полезно, если уметь применять, если проект ведется с хорошей культурой программирования. Да и вообще как область нужно изучить, она не такая большая, но расширить кругозор никогда не бывает лишним, в какой нибудь ситуации поможет повернуть мозг так, чтоб решить проблему. Какой либо инструмент изучать углубленно не стоит, а вот общие принципы очень даже.
Аноним 03/11/21 Срд 00:17:15 #53 №2201263 
>>2201149
Лишним точно не будет.
Аноним 03/11/21 Срд 00:33:17 #54 №2201285 
>>2200928
>Все элементы захардкожены.
Нахуя тебе тогда класс? Ты мнодество инстансов все равно не создашь, максимум один таймер на window.
Сделай лучше, что бы в конструкторе каждый раз создавались новые элементы и вставляет их после указанного слелектора или элемента в аргументе для каждого инстанса
>this.countValue;
Чи шо
>warningSpan.innerHTML = `correct value ${valMin} - ${valMax}`;
Зачем ты всталяешь в innerHTML это? Надо вставлять в textContent
>setInterval
Где проверка на то, что прошло именно 1000 мс, а не 999 или 1001? То, что у тебя стоит число 1000 не гарантирует того, что пройдет ровно одна секунда.
>el.setAttribute("readonly", true);
Палю годноту: el.readOnly = true;
Аноним 03/11/21 Срд 00:38:48 #55 №2201290 
>>2201066
Да, ничего так. Хотя походу оно работало и это я тупой, надо было сначала цифру отсчета написать.
Единственный косяк, что он первую цифру сглатывает.
Аноним 03/11/21 Срд 11:27:42 #56 №2201500 
>>2201285
Блин, пасибо за обратную связь, пойду исправлять это говно.
Аноним 03/11/21 Срд 11:31:10 #57 №2201505 
>>2201285
>Сделай лучше, что бы в конструкторе каждый раз создавались новые элементы и вставляет их после указанного слелектора или элемента в аргументе для каждого инстанса
Это не понимаю. Т.е целесообразнее класс заменить на конструктор?
Аноним 03/11/21 Срд 11:58:45 #58 №2201544 
>>2201505
Конструктор - это функция, вызываемая когда ты создаешь инстанс класса через оператор new. Тебе нужно в него передать аргументом либо жлемент, внутри которого ты будешь создавать таймер, либо селектор, по которому ты можешь найти этот элемент в текущем документе.

new SosachTimer(document.getElementById("sosach-container"))
new SosachTimer("#sosach-container")

Аноним 03/11/21 Срд 11:59:08 #59 №2201545 
123.png
Подскажите ньюфагу, в чем может быть проблема.
Пытаюсь заменить неразрывной пробел в строке.

В jsfiddle всё работает нормально:
https://jsfiddle.net/hg0zcvk7/

В chrome не работает нормально (пикрил):

Это хром мозги ебёт?
Аноним 03/11/21 Срд 12:03:52 #60 №2201552 
>>2201545
>В chrome не работает нормально
>В jsfiddle всё работает нормально
Ты жсфиддл открываешь через хром? Если да, то, возможно, у тебя старая версяи скрипта просто закешировалась. Попробуй обновить через Ctrl+F5
Аноним 03/11/21 Срд 12:20:50 #61 №2201579 
123.png
>>2201552
Да, через хром.
Когда вношу изменения в код, то всегда обновляю через CTRL+F5.
Проблема именно в том, что когда исполняется javascript-код на странице, то не работает.
Но если в хроме вызову глобальную фукнцию и передаем ей эту строку, то работает, т.е. пикрил:
Аноним 03/11/21 Срд 12:38:37 #62 №2201604 
Чуваки. Может кто-нибудь подсказать как пофиксить магию. В общем у меня в цикле выводятся одинаковые компоненты (кнопки). Стили для всех них одинаковые. Когда нажимаю на кнопки - у всех срабатывает focus, кроме последней. Когда кликаю по последней кнопке ещё раз - фокус навешивается. Как это понять?
Аноним 03/11/21 Срд 12:45:48 #63 №2201612 
>>2201579
Нужен полный код
Аноним 03/11/21 Срд 13:14:12 #64 №2201651 
>>2201604
> у всех срабатывает focus, кроме последней
Что подразумеваешь под срабатыванием? Навешивание псевдокласса или событие focus? Нужен полный код
Аноним 03/11/21 Срд 13:40:03 #65 №2201663 
image.png
image.png
как фиксить исчезание границ у input?
Аноним 03/11/21 Срд 13:44:21 #66 №2201666 
>>2201663
Короче я добавил 1px solid black; для него и починилось, но почему базовый так косячит, непонятно?
Аноним 03/11/21 Срд 13:46:11 #67 №2201668 
>>2201612
https://jsfiddle.net/hp1g9j3w/
Аноним 03/11/21 Срд 13:54:08 #68 №2201674 
>>2201666
>>2201663
>почему базовый так косячит, непонятно?
тому что эта граница не инпута, а div'а внутри shadow dom
Аноним 03/11/21 Срд 14:02:12 #69 №2201681 
image.png
>>2200500
>>2200503
Благодарю, теперь проблема следующего уровня. Хочу пройтись по массиву и каждую объявить в глобале и задать ей тип строка (ниже комментом как бы это могло бы выглядеть, если я бы каждый путь прописывал ручками)

PS То что есть сейчас не жалуется на ошибку, но и не работает как хотелось бы (другими словами у них у всех any тип)
Аноним 03/11/21 Срд 15:02:06 #70 №2201745 
Капец, блин, я всё не понимал, почему такая функция

const test = () => { value: 'value' };

ничего не возвращает (undefined), хотя вроде должна возвращать объект. Оказывается, тут "value" воспринимается как метка, а не свойство объекта.
Аноним 03/11/21 Срд 15:15:11 #71 №2201759 
Как сдампить в консоль полное определение типа в TypeScript ?

ib4 мышой в IDE
Аноним 03/11/21 Срд 15:23:19 #72 №2201769 
>>2201745
Тому что фигурные скобки открывают тут функциональный блок, если ты хочешь вернуть объект то тебе надо обернуть это все в круглые скобки.
const test = () => ({ value: 'value' });
Аноним 03/11/21 Срд 15:24:49 #73 №2201771 
>>2201769
А, окей, не знал про это. Спасибо.
Аноним 03/11/21 Срд 15:33:05 #74 №2201784 
То что локальный state не переживает смену route это я так понимаю фича?
Аноним 03/11/21 Срд 15:42:32 #75 №2201797 
>>2201759
Никак, TS компилируется в жс с потерей всех типовых аннотаций.
Аноним 03/11/21 Срд 15:46:09 #76 №2201804 
устроился мимотайпскриптзалупой на работу, че мне нужно знать про тс? ниче не писал на нем
Аноним 03/11/21 Срд 15:48:03 #77 №2201805 
>>2201804
Самое главное знание тайпсрипта - это тип any. Если видишь, что где-то ругается тайпскрипт просто ставь тип any и не еби мозг.
Аноним 03/11/21 Срд 15:48:13 #78 №2201806 
>>2201804
>че мне нужно знать про тс
Что типизированная ООП ориентированная хуита не нужна.
Реактеры сразу заулыбаются и в губы поцелуют.
Аноним 03/11/21 Срд 15:51:02 #79 №2201809 
>>2201805
Как на счет поверх тайпсрипта запилить еще один препроцессор, который автоматом будет ени ставить?
А если нечаяно тип проставишь - "Ок 200 - Типы запрещены, там выше разберуться"
Для репид девелопмента ткзть
Аноним 03/11/21 Срд 15:51:15 #80 №2201810 
>>2201806
реактеры это больной народ, они себе в жопу проптайпы суют, они даже цсс в жсуретру суют, диспатчат оттягивание кожицы на хуе, пидоры они
Аноним 03/11/21 Срд 15:54:00 #81 №2201814 
>>2201797
Так а с помощью самого tsc?
Аноним 03/11/21 Срд 15:56:14 #82 №2201816 
>>2201809
Можно линтером запретить все типы кроме any
Аноним 03/11/21 Срд 15:57:10 #83 №2201818 
>>2201814
https://www.typescriptlang.org/docs/handbook/declaration-files/dts-from-js.html
Аноним 03/11/21 Срд 15:57:44 #84 №2201819 
>>2201797
>>2201759
Может можно как-то тайп мапы раздрочить?
Аноним 03/11/21 Срд 16:06:25 #85 №2201829 
>>2201818
Вообще не про это

Допустим у меня есть тип T, произведенный с помощью хуевы тучи всяких штук вроде Pick, Omit, Exclude, тернарных операторов и прочего говна

Я хочу увидеть его полное определение без использования постороннего тулинга типа IDE
Аноним 03/11/21 Срд 16:07:57 #86 №2201831 
Как сделать onBlur для двух инпутов как будто это один? т.е. чтобы когда я нажимаю на один из инпутов второй не считался blur для другого?
Аноним 03/11/21 Срд 16:15:42 #87 №2201842 
>>2201831
Сохранять текущий заблюренный инпут в переменной
Аноним 03/11/21 Срд 17:21:25 #88 №2201929 
>>2201829
https://radzserg.medium.com/reflection-in-typescript-af68a1536ea1
?
Аноним 03/11/21 Срд 17:24:00 #89 №2201937 
>>2201929
+
Хотя это тоже самое, что чел выше кидал.
Аноним 03/11/21 Срд 17:36:18 #90 №2201968 
Стикер
>>2201651
Смотри. У кнопок есть псевдокласс focus. На :focus на кнопки навешивается белая рамка из стилей. Код к сожалению показать не могу. Постараюсь попозже скинуть, если получится.
Аноним 03/11/21 Срд 17:37:40 #91 №2201971 
>>2201968
:focus-visible пробуй вместо :focus
Аноним 03/11/21 Срд 18:01:30 #92 №2202020 
Всем здравствуйте.
Собрал в докере бэкэнд
в коде описана сущность, я написал еще одну, тобишь у нас получилось две таблицы, сделал синк с БД, в БД появились обе таблицы. Я запушил ветку где есть две сущности, вернулся на ветку назад, где только 1 сущность, но каждый раз когда я удаляю локально с БД вторую сущность, делаю синк схемы (TypeORM) она опять возвращается, хотя в коде ее нет. Может кто объяснить мне почему это происходит ?
Аноним 03/11/21 Срд 18:03:26 #93 №2202022 
>>2202020
как же хуево и непонятно я написал.
еще раз:
в TypeORM описано две @Entity => схема синк => в БД появилось две таблицы
отлично, результат пушим на гитлаб
переходим на ветку назад, TypeORM описывает одну @Entity => схема синк => в БД все также две таблицы, хотя должна быть одна
Скорее всего, проблема с локальной БД, но не могу врубиться почему так
Аноним 03/11/21 Срд 18:08:56 #94 №2202032 
Что за хуета, я еслинт сломал?
Аноним 03/11/21 Срд 18:09:13 #95 №2202035 
image.png
>>2202032
Аноним 03/11/21 Срд 18:11:40 #96 №2202040 
>>2201968
Если ты на файрфоксе попробуй другой браузер, в нем дохуяище багов
Аноним 03/11/21 Срд 18:14:53 #97 №2202046 
>>2202035
мб путь до преттир конфига проебался
Аноним 03/11/21 Срд 19:17:41 #98 №2202144 
>>2202040
Не, проверял на Edge
Аноним 03/11/21 Срд 20:04:37 #99 №2202232 
>>2201604
Стили у последней кнопки смотрел?
Аноним 03/11/21 Срд 20:08:40 #100 №2202241 
Привет, котоны. У меня проблема, охуенно странная. Суть такова: есть фронт на продакшене, данные он берет с помощью Apollo-client версии 2.x. Я обновил его до версии 3.x и началась какая-то залупа. Серверная часть во время SSR начала течь. Я нащупал наиболее текущий эндпоинт, там в реакт-компоненте два запроса. Если оставить только один - приложение не течёт, если другой - течёт. Как такое может быть? Компонент функциональный, запрос на хуке useQuery соответственно, но это не важно, на самом деле, ведь в компоненте-классе с запросом в виде HOC graphql такая же хуйня. Даже если в запросе выбирать любое одно ссаное поле - все равно течёт как сука. Любой другой запрос не течёт.
Аноним 03/11/21 Срд 21:44:57 #101 №2202370 
Сап, анон. Я написал свой первый Javascript.
https://greasyfork.org/en/scripts/432951-rufuker-2ch
Оцени код. Меня возьмут во фронтенд?
Аноним 03/11/21 Срд 21:55:15 #102 №2202379 
image.png
Джава скрипт ахахаххахах
Аноним 03/11/21 Срд 21:58:54 #103 №2202382 
Вы используете контекст вместо редакса?
Аноним 03/11/21 Срд 21:59:41 #104 №2202383 
>>2202370
У тебя вся логика в конструкторы запихина.
Аноним 03/11/21 Срд 22:05:47 #105 №2202387 
>>2202383
Если вынести из конструкторов в отдельные методы "bootstrapObj()" будет заебись?
Аноним 03/11/21 Срд 22:10:03 #106 №2202389 
>>2202370
какой-то странный код, ты раньше на другом языке не писал случайно? Вот я читаю обычно код всяких либ и ничего, а твой с ебанцой какой-то
Аноним 03/11/21 Срд 22:16:47 #107 №2202391 
>>2202389
В детстве ассемблером баловался. А что странного-то? Я согласен, надо разобрать конструктор класса Rufuker, вынести большую часть в метод compile_regex().

Но вот в кострукторе класса TextReplacer2ch ничего не убрать. Там только проверки, без которых объекту существовать нельзя.
Аноним 03/11/21 Срд 22:26:54 #108 №2202403 
>>2202391
>Но вот в кострукторе класса TextReplacer2ch ничего не убрать. Там только проверки, без которых объекту существовать нельзя.
Если объекту существовать нельзя, то нахуя его инициировать?
Аноним 03/11/21 Срд 22:29:36 #109 №2202405 
>>2202391
да вроде всё норм, но я не могу въехать в код ваще. можно доебаться до ооп и использование вар, лет и конст в одном коде. но я нуб, ждём ревью от помидоров
Аноним 03/11/21 Срд 22:34:11 #110 №2202409 
>>2202405
>>2202403
>Есле обйэкту сушествовац нельзя, то нахуя его ыныцыыровац?
Хорошее замечание. Хотелось сделать максимально простой для повторного использования класс: создаешь его объект, передаешь свою функцию замены текста и оно работает.

Вот, вынес из конструктора Rufuker подготовку регекса
https://www.toptal.com/developers/hastebin/ibafonupox.typescript
Аноним 03/11/21 Срд 22:44:49 #111 №2202415 
>>2202405
Ну, там есть 2 класса...

Один посвещен конвертированию текста согласно заданных в нем правил:
>да вроды всё норм, но я не могу вйэхац в код ваше
Правила заданы картой из объектов регекса. Там только маленькие буквы. Чтобы не писать повторно правила для больших, пришлось добавить в классе UPPERCASING этих правил.


А на втором пики точенные. Он работает с DOM макабы, отслеживает появление новых постов и попапов, заменяет в них текст, вызывая функцию конвертации из первого класса. При инициировании он сначала заменяет все посты в DOM'e, затем запускает 2 обзервера:

1) Обзервер для выявления попапов выскакивающих при наведении мыши на ссылку с номером поста, а также для подгружаемых постов при скроллинге корневой страницы борды.

2) Обзервер для выявления постов добавленных в треде автообновлением. Этот обзервер нужен только в треде, на борде автообновления нет.
Аноним 03/11/21 Срд 23:10:42 #112 №2202427 
>>2202415
>отслеживает появление новых постов и попапов, заменяет в них текст
Звучит как две задачи, сделай два класса
Осло, в первом классе один метод и нет стейта, звучит как функция
Аноним 03/11/21 Срд 23:13:08 #113 №2202431 
>>2202020
Может у тебя миграции в бд лежат и при старте выполняются?
Аноним 03/11/21 Срд 23:26:42 #114 №2202443 
>>2202427
>Звучыт как две задаче, сдылай два класса
Обе задачи решаются в одной функции-методе https://controlc.com/d0dca04e Конкретно, трехстрочными ветвлениями в середине

if (n.className === 'post post_type_reply post_preview') {
....
else if

Если выносить в отдельный класс, это приведет к дублированию гораздо большего кода. + создание третьего обзервера увеличит нагрузку на ЦП на 50%
Аноним 03/11/21 Срд 23:44:55 #115 №2202450 
>>2202427
>Осло, в первом классе одэн метод ды нет сцяйта, звучыт как функцыя
Да, class Rufuker - обертка для пары функций и массива данных. Состояния нет. Но вот дилема ре-юзабельности:

Сейчас весь код состоит из двух классов. Если захочется использовать такую конвертацию текста в другом приложении или сайте - мы просто берем и используем класс Rufuker целиком, не разбираясь какие там функции для чего.

Аналогично, с классом TextReplacer2ch: если хотим грабать весь текст с двача или перевод постов, то мы просто берем этот класс целиком, не разбираясь что внутри, передаём ему аргументом свою функцию работы с текстом и всё работает.

А вот если разобрать эти классы на запчасти, то потом сложнее будет в повторном использовании. Вообщем, не знаю как быть и что важнее. Реюзабельность кода или его каноничность.
Аноним 03/11/21 Срд 23:52:16 #116 №2202452 
>>2202443
>if (n.className === 'post post_type_reply post_preview') {
Это что за говно. Если у элемента классы будут идти в другом порядке это уже не правильный элемент? А если у него есть еще какой-то класс?

classList для кого?
Аноним 04/11/21 Чтв 00:50:54 #117 №2202494 
>>2202450
>хотим грабать весь текст с двача
Я хочу красить посты зеленым, как твой класс пореюзить? "Ну скопируй"
Один класс траверсит ноды, другой их теребонькает, вот и вся каноничность
Аноним 04/11/21 Чтв 02:53:19 #118 №2202555 
>>2202494
>Я хочу красить посты зеленым, как твой класс пореюзить?
https://www.toptal.com/developers/hastebin/oniyovujod.php
Аноним 04/11/21 Чтв 03:38:39 #119 №2202560 
>>2202452
>classList для кого?
Спасибо, так действительно лучше.
https://appp.me/Etaeii
Аноним 04/11/21 Чтв 03:44:24 #120 №2202561 
Всем спасибо. Коммитнул версию Refuker 2ch v0.52 на Greasefork. https://greasyfork.org/en/scripts/432951-rufuker-2ch
Советуйте еще, завтра продолжим делать двощ более смишнее.
Аноним 04/11/21 Чтв 04:33:41 #121 №2202564 
>>2202561
>Советуйте еще

Определяй все константы чере const, а не var/let/const как у тебя

>if (!document.getElementById('posts-form')) return 1;
Куда ты возвращаешь 1?

Сишный стиль цикла for уже как несколько лет не в моде. Используй forEach или for of

> if (this.workingElement = document.getElementById('posts-form')); else return 1;
Не читаемо, переписывай.

>куча биндингов
Используй стрелочные функции, их не надо биндить к контексту

>названия переменных в змеином регистре
В жс общепринятый стиль написание - это camel-case. Переписывай.

>innerHTML
Медленно работает, реализуй решение без использования innerHTML

>комментарии на закрывающих скобках
Тут вообще проиграл, поставь себе нормальный редактор

И главный вопрос: нахуя тебе тут классы? Ты хуйню какую-то написал, которая пишется на одном mutation observer с одним единственным коллбеком.
Аноним 04/11/21 Чтв 04:52:07 #122 №2202567 
>>2202564
>пишется на одном mutation observer
Который обозревает subtree всей страницы. И как это скажется на производительности?
Аноним 04/11/21 Чтв 05:04:08 #123 №2202568 
>>2202564
>Используй стрелочные функции, их не надо биндить к контексту
И как в данном случае стрелочной функцией передать обзерверу метод класса Rufuker с контекстом класса TextReplacer2ch ?
Аноним 04/11/21 Чтв 11:37:33 #124 №2202660 
1541195893953.mp4
Как придумывать названия для всей хуйни? Вот я тудулист делаю, у меня названия блядь ЛистЛистов, Лист и Листы. Как нормальные делать то?
Аноним 04/11/21 Чтв 12:35:34 #125 №2202727 
>>2202660
ToDoList - папка с компонентом
- Index - публичная часть компонента
--List - список
--Item - элемент списка
--ListController - Контроллер для списка
--ItemController - контроллер для эелемента
--ListView - шаблон с стилями и разметкой для списка
--ItemView - шаблон уже для эелемента списка
Аноним 04/11/21 Чтв 12:43:50 #126 №2202735 
>>2202727
Спасибо
Index это типа то, что в итоге это всё засовывает в документ?
То есть условно всё собирается в ToDoList.js, а потом index.js его засовывает в index.html. Как в CRA App.js сделано.
Аноним 04/11/21 Чтв 13:18:48 #127 №2202777 
>>2202727
Что в контроллере?
Аноним 04/11/21 Чтв 14:44:16 #128 №2202901 
>>2202567
>И как это скажется на производительности?
Нормально скажется, это не тормознутые DOMEvents. Если грамотно с DOM работать, а не использовать innerHTML то даже быстрее работать будет
>>2202568
>И как в данном случае стрелочной функцией передать обзерверу метод класса Rufuker с контекстом класса TextReplacer2ch ?
Пчел, у тебя везде биндятся методы инстанса текущего класса к нему же.
Аноним 04/11/21 Чтв 14:52:09 #129 №2202913 
>>2202901
>у тебя везде биндятся методы инстанса текущего класса к нему же.
Напиши мне эту стрелочную функцию вместо бинда.
Аноним 04/11/21 Чтв 14:56:20 #130 №2202922 
>>2202913
Написал тебе за щеку, проверяй.
Аноним 04/11/21 Чтв 15:02:10 #131 №2202930 
>>2202913
>replaceNewPosts (mutationsList, observer) {
replaceNewPosts = (mutationsList, observer) =>
Ты совсем глупенький?
Аноним 04/11/21 Чтв 15:23:54 #132 №2202969 
>>2202930
И дальше длинный текст функции replaceNewPosts() ? Ну, тогда вся логика окажется в конструкторе, как тут уже говорили >>2202383
Аноним 04/11/21 Чтв 15:27:45 #133 №2202974 
image.png
Посоны, есть один канвас, как имитировать в нём клик на нужную мне кнопку? Например вот здесь нажать на кнопку с пикчи https://www.pragmaticplay.zone/en/games/the-dog-house-slot/

На обычной странице я бы использовал .click(), но тут хуй его знает, мои познания кончаются, помогите нажать кнопку с помощью JS, нужно для автоматизации процесса над канвасерами, это пример
Аноним 04/11/21 Чтв 15:31:24 #134 №2202978 
>>2202974
https://stackoverflow.com/a/18053642
достаёшь координаты нажатия, дальше просто проверяешь, находятся ли координаты внутри кнопки
Аноним 04/11/21 Чтв 15:34:37 #135 №2202983 
>>2202978
Вот сейчас не понял, одной строчкой кода здесь не обойтись да? Можно пример по канвасу по ссылке? Имитировать клик по кнопке запуска, дальше думаю разберусь как нажать по остальным
Аноним 04/11/21 Чтв 15:39:55 #136 №2202992 
Можно скипать тему про предохранители? Это сейчас используют?
Аноним 04/11/21 Чтв 15:40:38 #137 №2202995 
>>2202992
Хрюакт
Аноним 04/11/21 Чтв 15:45:04 #138 №2203002 
>>2202777
Армяне в нарды играют.
Аноним 04/11/21 Чтв 15:52:34 #139 №2203020 
>>2202983
кажется нет, придётся велосипедить всё вроде как
на самом деле, не еби мозги себе, мне кажется. проще и лучше эту кнопку сделать html элементом поверх картинки
Аноним 04/11/21 Чтв 16:39:22 #140 №2203102 
>>2203020
Неужели неясно, что это он спрашивает не про то, как написать что-либо, а как автоматизировать. Это не его код, это не он пишет эту кнопку. Он хочет по этой кнопке нарисованной на канвасе нажать программно.

Что за ахуительные советы вы даете, блядь.
Аноним 04/11/21 Чтв 17:55:17 #141 №2203195 
Погромисты, дрочусь-учусь тут с реакт. Хочу сделать таймер. Есть 4 инпута (дни, часы, минуты, секунды). Есть state-объект куда из инпутов сохраняется значение. Я хочу сделать, чтобы введя все нужные значение и при нажатии на кнопку в инпуты поступал обратный отсчет. Т.е, например пользователь ввел 00 (д) 00 (ч) 02 (м) 30 (сек), нажал на кнопочку и в этих инпутах пошел отсчет 00 (д) 02 (ч) 02 (м) 29-28-27 (сек). Ну вы поняли.

Думал передавать этот state-объект через value в инпут
<input value={state.sec} />
Но нихуя, просто при обновлении странички появляются нули и даже отредактировать инпут нельзя в таком случае.
Как передать значение переменной в input и чтобы он обновлялся каждую секунду?
Аноним 04/11/21 Чтв 17:57:37 #142 №2203198 
image.png
Хорошо попробую по другому

См. пикчу, стрелкой я указал нужную мне кнопку для примера, как нажать на эту кнопку с помощью JavaScript учитывая то что этот слот выводится с помощью Canvas, так ещё и во фрейме, это вообще возможно?

То что он во фрейме можно обойти с помощью запуска в этом фрейме расширения это ладно, а вот как именно нажать эту кнопку в этом канвасе который по сути является просто картинкой и в нём не за что зацепиться с помощью названия блока я понятия не имею

Ссылка на пример слота https://www.pragmaticplay.zone/en/games/the-dog-house-slot/
Можно пожалуйста простейший пример загрузить на https://jsfiddle.net/
Свои скрипты на сайтах я запускаю с помощью User JS или собственного расширения, так что с запуском проблем не будет, для примера можно просто запустить обычный setInterval который бы нажимал её каждые 3 секунды
Аноним 04/11/21 Чтв 17:58:27 #143 №2203201 
>>2200473
если ты заебываешься с нуля, то зачем используешь tailwind? есть material ui, chakra ui и т.д. и т.п.
Аноним 04/11/21 Чтв 18:01:06 #144 №2203204 
>>2203195
прочитай основы в документации реакта, я думаю, что ты найдешь ответ на свой вопрос
Аноним 04/11/21 Чтв 18:03:23 #145 №2203208 
>>2203204
Ну так я читал. С помощью useRef передавать? Я только с ним особо не разобрался.

Просто когда я пишу let inputEl = useRef(null) и потом в input вписываю ref={inputEl}, то у меня inputEl.current равняется null и нихуя не работает.
Аноним 04/11/21 Чтв 18:22:54 #146 №2203221 
>>2203198
Тебе нужно про диспатчить PointerEvents канвасу, в котором передать координаты по которым находится кнопка.

На самом деле тебе это не нужно и ту тупой долбоёб. Ты должен отинспектировать вызываемый хэндер при нажатии на кнопку и просто вызывать его вручную.

>Можно пожалуйста простейший пример загрузить на
300 баксов.

Аноним 04/11/21 Чтв 19:29:56 #147 №2203271 
bb6faf8f20cf.gif
Братва, пытаюсь использовать react-three-fiber для отображения профиля поверхности одной хуйни.
Юзаю <planeBufferGeometry args={[5, 5, 1280, 1024]} /> - Получается поверхность 1280х1024, 1кк точек, выдавливаю по оси z рельеф и натягиваю текстуру, все нормально, но есть проблемы - жутко проседает фпс и обработка кликов по поверхности фризит рендеринг на пару секунд. Дело в моих кривых руках или в том что planeBufferGeometry не рассчитан на использование таких больших значений?
Аноним 04/11/21 Чтв 20:17:45 #148 №2203319 
image.png
Как сделать также, чтоб картинка была фоном всех компонентов страницы?
Аноним 04/11/21 Чтв 20:58:46 #149 №2203349 
>>2203221
>отинспектировать вызываемый хэндер при нажатии на кнопку
Это типа с помощью брейкпоинтов отследить какую функцию нажатие по кнопке вызывает?
Аноним 04/11/21 Чтв 21:02:08 #150 №2203352 
image.png
>>2203349
Можешь отладчиком пошагово, если тебе не лень. А можешь просто поизучать навешанные на канвас листенры в инспекторе, и высянить, какой тебе нужен.
Аноним 04/11/21 Чтв 21:03:39 #151 №2203355 
>>2203319
Установить ее фоном у body.
Аноним 04/11/21 Чтв 21:09:46 #152 №2203363 
>>2203201
Не хоче тащить либо в пару сотен килобайт для аккордеона и спойлера
Аноним 04/11/21 Чтв 21:10:59 #153 №2203365 
>>2201285
Исправил понемногу, ток не представляю как можно отслеживать время в setIterval.
https://github.com/webPrsnr/js-countdownTimer
Аноним 04/11/21 Чтв 21:11:33 #154 №2203368 
>>2203319
backgorund-image: url(govno) no-repeat;
Аноним 04/11/21 Чтв 21:15:26 #155 №2203371 
>>2203365
> как можно отслеживать время в setIterval.
Никак, тебе надо использовать таймаут.
Сохраняй Date.now() в переменную и после каждого срабатывания функции вызывай Date.now() и проверяй, что прошло именно 1000 мс. Если там другое число, то назначай таймаут с учетом корретировок.
Аноним 04/11/21 Чтв 21:53:13 #156 №2203433 
image.png
хайповое говно и тырпрайзный онгуляр
странная комбуха
Аноним 04/11/21 Чтв 22:30:38 #157 №2203467 
>>2203433
Согласен, эксперты с жс треда быстро бы им объяснили, в чем они не правы.
Аноним 04/11/21 Чтв 23:58:39 #158 №2203512 
image.png
>>2203352
Анон я не силён в этом, можно пример как его найти? Дальше думаю разберусь как найти остальные, потому что кликов мне нужно сделать 3-4 в разных местах
Аноним 05/11/21 Птн 00:05:56 #159 №2203516 
>>2203512
300 баксов
Аноним 05/11/21 Птн 01:59:14 #160 №2203553 
>>2203512
Ишешь из этого списка нужный тебе обработчик, потом просто колбек этого обработчика вызываешь как тебе нужно.
Аноним 05/11/21 Птн 11:53:42 #161 №2203629 
Пацаны как искать удаленнку через ИП и как пендосам грить шо через ОП онли?
Аноним 05/11/21 Птн 13:27:57 #162 №2203673 
В какой среде можно клепать хтмл, цсс и жв и сразу выводить что происходит в браузере?
Аноним 05/11/21 Птн 13:43:09 #163 №2203686 
>>2203673
В любой
Аноним 05/11/21 Птн 13:50:06 #164 №2203694 
>>2203673
советую vs code или платный webstorm
Аноним 05/11/21 Птн 14:30:40 #165 №2203724 
>>2203673
Внезапно в браузере и можно.
Аноним 05/11/21 Птн 15:15:16 #166 №2203744 
>>2203673
Оппост прочитай.
>>2200419 (OP)
Аноним 05/11/21 Птн 15:25:29 #167 №2203755 
Есть jquery и есть радиобатоны. Как адекватно выполнить действие в зависимости от выбранного радио? Сейчас так но это как-то стремно:
let chkd = $('input[name=bar]:checked', '#foo-opts');
if (chkd.is($('#rb1'))) {...}
else if(chkd.is($('#rb2'))) {...}
else if(chkd.is($('#rb3'))) {...}
}
Аноним 05/11/21 Птн 15:27:08 #168 №2203756 
>>2203755
Обернуть в form и получать её value каждый раз, когда нужно выполнить какое-то действие. Даже жиквара не нужна
Аноним 05/11/21 Птн 16:12:25 #169 №2203779 
Сап двощь. А возможно ли в реакте реализовать некую append only структуру, как пример тот же тред на двачике, или ререндер даже 1к компонентов в принципе по производительности не ударит?
Аноним 05/11/21 Птн 16:14:18 #170 №2203780 
>>2203779
Ожидания от структуры?
Аноним 05/11/21 Птн 16:16:28 #171 №2203782 
>>2203755
Какой бля жиквери? Перекатывайся на реакт срочно.
Аноним 05/11/21 Птн 16:20:17 #172 №2203786 
>>2200619
Добавь файл .env.local и напиши туда FAST_REFRESH=false
Аноним 05/11/21 Птн 16:26:58 #173 №2203793 
>>2203782
Чел на жикваре формы сделать нормально не может, а ты ему реакт советуешь...
Аноним 05/11/21 Птн 16:27:46 #174 №2203794 
>>2203779
>ререндер даже 1к компонентов
На таком количестве компонентов бутылочным горлышком станет сама структура DOM в браузере, а не vDOM из реакта
Аноним 05/11/21 Птн 16:49:24 #175 №2203820 
Как лучше передавать пропсы? Засовывать в один объект или по-отдельности лучше писать (ну если это не массив, тогда то понятно)?
Если в один объект засунуть, то проще передавать дальше, но наверное выглядит менее очевидно.

То есть например
<Хуй хуйГовно = "ждпюгшою" пиздаГовно = "djythdg" джигурдаГовно = "дгнборпык" />
он возвращает
<Пизда пиздаГовно = {props.пиздаГовно } джигурдаГовно = {props.джигурдаГовно} />
а это возвращает
<Джигурда джигурдаГовно = {props.джигурдаГовно} />

Или лучше

<Хуй хуйГовно = "ждпюгшою" пиздаДата = { говно: "djythdg", джигурдаДата: { говно: "дгнборпык"}} />
<Пизда пиздаГовно = {props.пиздаДата.говно} джигурдаДата = {props.пиздаДата.джигурдаДата} />
<Джигурда джигурдаГовно = {props.джигурдаДата.говно} />
Аноним 05/11/21 Птн 16:50:34 #176 №2203823 
>>2203820
а бля, там скобочки одни проебал, но понятно наверное
Аноним 05/11/21 Птн 17:09:31 #177 №2203836 
>>2203820
Зависит от компонента. Но в целом метасвойства и опции компонента пихай в пропсы, а его наполнение - отдельным объектом.
Аноним 05/11/21 Птн 19:26:42 #178 №2203937 
>>2200419 (OP)
Есть простое реакт приложение, есть большая мускл бд с которой мне нужно это связать, сделать регистрацию, вход, роли и прочую ебалу
Какими тулзами мне это лучше делать? Хочу что-то с нодой, но как мне это с фронтом связать?
Дали делать бэхэнд, а у меня вообще понимания по нему нет мне пиздец
Аноним 05/11/21 Птн 20:15:30 #179 №2203967 
>>2203937
>Хочу что-то с нодой
>Есть простое реакт приложение
next.js
Аноним 05/11/21 Птн 20:48:21 #180 №2203997 
Устал. Решил напиться.
Аноним 05/11/21 Птн 21:33:34 #181 №2204027 
Ну всё. Напился.

Каждый раз как напиваюсь, вспоминаю, что ни с кем не общаюсь в обыденность уже лет десять, и сразу эта ебучая одинокость накатывает.

Аноним 05/11/21 Птн 21:36:00 #182 №2204031 
>>2204027
Реакт или ангуляр?
Аноним 05/11/21 Птн 21:40:23 #183 №2204035 
>>2204031
Я на жс пишу 20 лет.
Ванила разумеется.
Аноним 05/11/21 Птн 21:58:32 #184 №2204043 
>>2204035
Двачую. Еще надо туда жиквару с парой десятков плагинов и select2.
Аноним 05/11/21 Птн 21:59:05 #185 №2204044 
>>2203997
Что употребил?
Аноним 05/11/21 Птн 22:08:15 #186 №2204048 
>>2204043
Зачем. Ничего не надо. Ванилы хватает на все. Веб-компоненты нативны и полнофункциональны. Современный CSS покрывает 99% вопросов визуализации.
Аноним 05/11/21 Птн 22:09:05 #187 №2204049 
>>2204044
Кефир.
Аноним 05/11/21 Птн 22:11:06 #188 №2204052 
yoba.PNG
да можно ещё себе шаблончиков, сниппетов, модулей наделать на ваниле вместо уёбищнх фреймворков
Аноним 05/11/21 Птн 23:27:39 #189 №2204095 
>>2204048
>полнофункциональны
А стилизация в них работает без применения жопаскрипта?
Аноним 06/11/21 Суб 02:20:59 #190 №2204239 
>>2200419 (OP)
Аноны, есть приложение на JS. Вопрос - есть ли способ определить, как часто выполняется та или иная функция в нем? Хочу пооптимзировать код, и хочется начать с того, что чаще исполняется.
Аноним 06/11/21 Суб 02:31:46 #191 №2204243 
>>2203967
>next.js
+ Prisma ORM
Аноним 06/11/21 Суб 02:38:24 #192 №2204246 
>>2204243
Тру няшные кунчики использую TypeORM
Аноним 06/11/21 Суб 02:38:52 #193 №2204247 
>>2204239
>есть ли способ определить, как часто выполняется та или иная функция в нем?
Есть.
Аноним 06/11/21 Суб 02:42:07 #194 №2204249 
>>2204247
Тогда второй вопрос - как определить, как часто выполняется та или иная функция в JS?
Аноним 06/11/21 Суб 02:51:36 #195 №2204251 
image.png
image.png
>>2204249
Через devtools вставь в функцию нужный тебе фрагмент кода
Аноним 06/11/21 Суб 03:00:11 #196 №2204254 
Блять, месяц назад смотрел вакансии на джуна фронтендера и почти везде требовался React. Смотрю сейчас и большинство вакансий требует Vue. Что за хуйня такая, пиздец! И вакансий будто меньше стало на хх + требования повысились. Видимо я никогда себе работу не найду.
Аноним 06/11/21 Суб 03:08:37 #197 №2204255 
>>2204254
>большинство вакансий требует Vue
Нет.
>Видимо я никогда себе работу не найду.
С таким подходом - точно.
Открою секрет, если ты придешь на вакансию вьюдераста будучи реактодебилом , то вполне можешь его пройти, ибо они очень сильно похожи
Аноним 06/11/21 Суб 03:28:58 #198 №2204259 
>>2204255
Ну я вот ввожу "Frontend Junior"/"Javascript Junior" и во-первых, вакансий меньше сотни даже на хх (было больше), а во-вторых в некоторых даже PHP еще требуют. Мне что, еще и пхп учить?
Аноним 06/11/21 Суб 03:29:32 #199 №2204260 
>>2204246
>Тру няшные кунчики
Не трогают мускуль.
Аноним 06/11/21 Суб 03:40:26 #200 №2204262 
>>2204251
Да это же на каждую функцию писать.
Может лучше CallStack смотреть?
Аноним 06/11/21 Суб 03:41:43 #201 №2204263 
>>2204255
>они очень сильно похожи
Не надо лгать, после реакта вью неприятен.
Аноним 06/11/21 Суб 03:42:47 #202 №2204264 
Привет, анчоусы. Решил начать делать свою платформу для обучения людей фронтенду в том формате в котором я это вижу.

Буду рад любым отзывам https://frontendly.dev/

Пока только начал, так что только один урок доступен
Аноним 06/11/21 Суб 03:45:05 #203 №2204265 
>>2204259
> я вот ввожу
>Junior
Ждун, мидл и синьор это грейды компании, разные компании выдвигают разные требования.
Ищи просто вакансии, грейды указывать в вакансии необъективно, что считай как не совсем адекватно.
Смени хх на линкедин.
Аноним 06/11/21 Суб 03:59:45 #204 №2204269 
image.png
image.png
>>2204264
Доктайп пропустил в первой теме.
Переход к CSS непонятный.

Не хватает оглавления с гиперссылками по урокам.
Адаптивности нет у сайта.
Без интерактива обучение никакое, большинство просто промотает уроки.

Загляни как другие это реализовали, например в гугл сторе есть куча приложений по обучению.
Аноним 06/11/21 Суб 04:35:03 #205 №2204276 
>>2204269
Спасибо, за развернутый ответ
Аноним 06/11/21 Суб 04:37:42 #206 №2204277 
>>2204262
Может и лучше
Аноним 06/11/21 Суб 04:43:22 #207 №2204279 
>>2204269
>Без интерактива обучение никакое

А про какой интерактив речь? Глянул пару приложений в апп сторе. Ну там сухая теория в основном, то от чего я хочу уйти и проекты какие-то за подпиской скрытые сходу.
Аноним 06/11/21 Суб 07:42:52 #208 №2204315 
>>2204265
а на линкедине разве не только англоговорящие?
Аноним 06/11/21 Суб 12:23:42 #209 №2204389 
>>2203779
Если у тебя пост это компонент, то при добавлении нового поста никакого перерендера не будет, будет именно аппенд.
Аноним 06/11/21 Суб 12:29:52 #210 №2204399 
>>2204263
Согласен. Неприятно что на вью та же задача требует в 2 раза меньше кода И осознание проебанного времени на реакте.
Аноним 06/11/21 Суб 12:31:43 #211 №2204401 
>>2204399
Типичный вьюдебил.
Аноним 06/11/21 Суб 12:35:17 #212 №2204405 
>>2204095
Да.
Аноним 06/11/21 Суб 12:42:02 #213 №2204408 
>>2204259
>вакансий меньше сотни даже на хх
Из-за локдауна
Аноним 06/11/21 Суб 12:57:29 #214 №2204422 
Посоветуйте ссылку, где самый удобоваримый материал по паттернам ООП на typescript.
Аноним 06/11/21 Суб 13:01:12 #215 №2204426 
>>2204264
Ты молодец, подошел к обучению с практической стороны, обрати внимание на html academy. Можешь много фишечек подчерпнуть. Прогрессбары, ачивки, но самое главное интерактивный редактор.
Аноним 06/11/21 Суб 13:11:33 #216 №2204442 
Гребу на галере за $800, естественно неофициально. Как скоро налоговая схватит меня за очко? Как сделать так, чтобы не схватила?
Аноним 06/11/21 Суб 13:15:13 #217 №2204445 
>>2204442
стек, город? На удаленке что ли? Че не сменишь работодателя?
Аноним 06/11/21 Суб 13:18:06 #218 №2204450 
>>2204442
Кстати, вдогонку вопрос к другим рабам, которые официально работают, вы как легализовали доходы? Самозанятость? Я вряд ли буду не на наш рынок работать, но для общего развития интересно.
Аноним 06/11/21 Суб 13:19:29 #219 №2204452 
>>2204442
>$800,
> Как скоро налоговая схватит
Схватит, пожалеет, докинет 1200$ и в губы поцелует.
Аноним 06/11/21 Суб 14:08:08 #220 №2204499 
да кто такие эти ваши вебворкеры, а точнее где они используются?
Аноним 06/11/21 Суб 14:19:39 #221 №2204506 
>>2204445
JS / React, мухосрань, удалёнка. Потому что набираюсь опыта на первой работе
Аноним 06/11/21 Суб 14:21:10 #222 №2204509 
>>2204452
>докинет 1200
Это значит что я пидор что всем похуй, покуда я не гребу миллионами?
Аноним 06/11/21 Суб 14:30:26 #223 №2204515 
WebAssembly лол, придётся си учить скоро пасаны
Аноним 06/11/21 Суб 16:21:22 #224 №2204593 
>>2204405
Нихуя себе, покажи как.
Аноним 06/11/21 Суб 16:22:12 #225 №2204594 
>>2204515
>WebAssembly
хуйня для юнити и фигмы, больше ни на что не годится
Аноним 06/11/21 Суб 16:22:43 #226 №2204595 
>>2204499
В гугле поищи, там все есть
Аноним 06/11/21 Суб 18:35:36 #227 №2204695 
>>2204509
Знаю парня, который пару лет 600 в месяц делает, налоговая пока не ебет.
Аноним 06/11/21 Суб 19:34:14 #228 №2204749 
>>2204442
Если не будешь сам нарываться типа в политике копрозицией заниматься они и смотреть на тебя не будут.
Аноним 06/11/21 Суб 20:00:45 #229 №2204775 
Стоит молодому почти ждуну учить typescript? В принципе мне вроде как нравится эта тема, что невозможно обосраться с типами данных и вот эти все подсказочки, но вроде и без этого норм живется на обычном JS. Я +- знаю JS, ща дрочу рякт (начал неделю назад) и вот шарясь по вакансиям вижу много у кого в требованиях typescript. Стоит того, чи не?
Аноним 06/11/21 Суб 20:31:31 #230 №2204807 
>>2204775
да
Аноним 06/11/21 Суб 20:37:04 #231 №2204810 
>>2204775
Меня обоссали на собесе, когда узнали, что я не знаю TS
Аноним 06/11/21 Суб 20:39:42 #232 №2204811 
>>2204810
Тебя обоссали на собесе, потому что ты не знаешь отличий var от let.
Мимо собеседующий
Аноним 06/11/21 Суб 20:54:01 #233 №2204820 
>>2204807
>>2204810
Услышал вас, тогда надо будет задрочить. А есть какие-нибудь документации на русском,? А то по английской буду в 2 раза дольше его изучать.
Аноним 06/11/21 Суб 21:24:54 #234 №2204845 
>>2204820
Если ты не можешь изучить документацию на наглийском, то ты не годишься на должность разработчика
Аноним 06/11/21 Суб 21:59:56 #235 №2204868 
В общем. Код билдится в ./dist изменить этого возможности нет. нужно сделать так что бы после билда бандлы переносились в ./docs попутно очищая одну папку и не трогая другие файлы которые нет необходимости заменять. Чем это проще и удобнее сделать?
Аноним 06/11/21 Суб 22:20:55 #236 №2204882 
>>2204868
npm run build && mv -v ./dist/* ./docs/
Аноним 06/11/21 Суб 22:33:16 #237 №2204891 
>>2204882
Очистит все подпапки разве нет?
Аноним 06/11/21 Суб 22:44:19 #238 №2204894 
>>2204891
Нет, выкинет ошибку если уже есть директория или файл с таким же именем.
Аноним 06/11/21 Суб 22:55:10 #239 №2204898 
>>2204845
Я могу, просто хуже дается понимание, на родном языке проще понять.
Наверняка ведь что-то есть, аноны не жмитесь!


Алсо, как я понимаю, тайпскрипт это просто про указание типов? А всё остальное это обычный ЖС?
Аноним 06/11/21 Суб 23:01:40 #240 №2204901 
>>2204898
>тайпскрипт это просто про указание типов?
Ну там еще компилятор есть, но его использую в основном только для ноды, на фронт компилирует babel. А так да, в целом он просто про указание типов.
Аноним 06/11/21 Суб 23:14:16 #241 №2204914 
>>2204898
>Наверняка ведь что-то есть, аноны не жмитесь!
https://www.google.com/search?q=typescript+уроки
Аноним 07/11/21 Вск 00:05:39 #242 №2204939 
>>2204901
Спасибо!
>>2204914
Это конечно очевидно. Я думал есть крутые гайды от аноны для анона какие-нибудь.

Алсо, заебал уже вас вопросами, да сегодня на гитхаб запушил 3 раза изменения в файлах, а в квадратиках активности у меня тупо 0. Как это вообще работает?
Аноним 07/11/21 Вск 00:08:27 #243 №2204942 
>>2204939
Репозиторий если что приватный и пушил я в собственно-созданную ветку dev, а master простаивает.
Аноним 07/11/21 Вск 00:24:18 #244 №2204949 
>>2204942
>Репозиторий если что приватный
this
Аноним 07/11/21 Вск 00:32:08 #245 №2204957 
Всем привет. Возможно, это заранее бесполезно, но все-таки. Есть тут люди, которым нравится менторить? Очень хочу лампового ментора, который проведет меня за ручку по этому тернистому пути, а в некоторых моментах - будет ставить на колени, чтоб не тупых ошибочек не было)0
Не за бесплатно(по цене договоримся) + общение.
Аноним 07/11/21 Вск 00:37:21 #246 №2204963 
>>2204868
Добавить `postbuild` скрипт, в котором можешь очищать хоть свою мамашу.
Аноним 07/11/21 Вск 00:39:57 #247 №2204966 
>>2204775
>и без этого норм живется на обычном JS
Ты в курсе, что все эти подсказочки в жс файлах в вскоде - результат работы тайпскрипта? Без него ты бы хавал пофайловый жсдок без всяких подсказок лол.
Аноним 07/11/21 Вск 00:47:52 #248 №2204969 
>>2204966
Так раз это реализовано на уровне IDE, то нахуя мне самому изучать тайпскрипт?
Аноним 07/11/21 Вск 01:06:30 #249 №2204978 
>>2201681
бамп
Аноним 07/11/21 Вск 02:18:21 #250 №2205001 
https://habr.com/ru/post/587254/
Почитал комменты и хочу спросить, жсеры, вы почему такие конченые?
Аноним 07/11/21 Вск 02:24:56 #251 №2205003 
3x (1).gif
Ура, доделал код тудушечки легендарной. Ну теперь скоро будут 300кк литься. Так неохота css делать нормальный, прям каждая секунда в тягость.
Думаю сначала уже дочитать Кантора (сейчас на 2/3), потом захерачить что-нибудь мощщщное на тайпскрипте.
https://ferrisbuellerscodeday.github.io/todo/
Аноним 07/11/21 Вск 04:48:01 #252 №2205043 
>>2204969
Тому что вс код будет тебе подсказывать только в пределах одного файла.
Аноним 07/11/21 Вск 05:13:25 #253 №2205048 
>>2205003
>Думаю сначала уже дочитать Кантора
Дурачёк что ли? Какой Кантор? Лучше бы учебные материалы гугла почитал и то больше пользы.
https://web.dev/
https://developers.google.com/web/
Аноним 07/11/21 Вск 07:05:36 #254 №2205059 
>>2204957
> Есть тут люди, которым нравится менторить? Очень хочу лампового ментора
Если ты тян, то иииизейшая задача, тебя с руками и ногами оторвут опытные кодеры песдалисы. Если ты кун, то уже сложнее, чтоб тебя бесплатно менторили надо, чтоб ты был альфаЕрохиным. Только для баб и для альфаЕрох всё бесплатно и везде дорога. Если ты не из них, то вероятно придется платить баблоу.
Аноним 07/11/21 Вск 07:10:04 #255 №2205061 
>>2204957
А ещё ты можешь как-нибудь тяном прикинуться. Придумай что-нибудь. Я вот во втентаклии сидел в одной какой-то беседе для вкатунцов и для тех кто уже вкатился, там когда парни какие-то вопросы задают, то другие на них лениво и пассивно-агрессивно отвечают, типа загугли ёпта. А там одна тёлка начала жаловаться, что до диплома чуть-чуть осталось, а она не сделала на Реакте приложуху. Так там сразу нарисовался олд Одмен 35+ лвл. и бесплатно за вечер ей всё накодил.

Так что притворись тяном и тебе всё сделают от и до.
Аноним 07/11/21 Вск 10:14:31 #256 №2205082 
Screenshot20211107-101339.png
>>2205003
Der Porridge.
Аноним 07/11/21 Вск 10:29:13 #257 №2205085 
>>2204969
Тебе, чтобы эти подсказочки читать, один хуй синтаксис тайпскрипта нужно знать.
Аноним 07/11/21 Вск 11:53:08 #258 №2205111 
>>2205061
Я и так тян. Мне претворяться не надо)
Но и прошу сделать это за бесплатно. У всего своя цена должна быть, иначе челик просто однажды сольется.
Есть вар, конечно, попиздовать на сайтики менторов, но там оверпрайс пиздец. Отдавать за занятие по 3.5-5к - пока возможности нет, я не наносек.
Аноним 07/11/21 Вск 12:04:52 #259 №2205117 
>>2205111
>Я и так тян
>Но и прошу сделать это за бесплатно
Значит от желающих учить отбоя не будет.
Аноним 07/11/21 Вск 12:05:50 #260 №2205118 
>>2205111
Песдалисы скорее сами платить будут, чтоб учить тяна.
Аноним 07/11/21 Вск 12:06:47 #261 №2205120 
>>2205111
>>2205117
Блин!! Я ошиблась!! НЕ ЗА БЕСПЛАТНО.
Ну а где этих желающих искать? На лджс оставила объяву - спустя месяц никто не отписал.
Аноним 07/11/21 Вск 12:17:26 #262 №2205127 
>>2205111
Допустим, ты не семен. Какая у тебя цель? (Например, хочу знать это и это, через столько времени) Какая у тебя база? (Что ты уже знаешь и на сколько ты оцениваешь свои текущие знания?)
Аноним 07/11/21 Вск 12:24:30 #263 №2205131 
>>2205127
Если глобально - хочу сменить текущую работу и забыть как страшный сон. Если по факту - хочу на данном этапе делать сайтики(по типу как с awwwards, там челы такое месиво устраивают, на их шизоидном расстройстве можно очень хорошо набить руку) или браузерные приложения. (мечта освоить реакт(натив же да) и перейти в моб. разработку, но это потом как-нибудб)
Что умею? Это вопрос интересный, по стандарту уже неплохо ориентируюсь в html, css. По лерн ява скрипт начала изучать переменные, объекты, массивы, условия. Дальше пока не прошла.
Аноним 07/11/21 Вск 13:09:55 #264 №2205160 
>>2205082
Шо? Код избыточный или че?
Аноним 07/11/21 Вск 13:18:34 #265 №2205165 
>>2205048
Хороший справочник. Прошелся по нему быстренько и потом уже знаешь, что нужно и где быстро посмотреть.
За ресурсы спасибо, посмотрю.
Аноним 07/11/21 Вск 13:34:27 #266 №2205173 
image.png
Как исправить эту ошибку? В гугле ничего толкового не нашел, там все решается назначением типов каждому из элементов массива, но я не знаю заранее сколько их будет.
Аноним 07/11/21 Вск 13:38:55 #267 №2205177 
>>2205131
На вебкам иди, какого хуя в айти забыла
Аноним 07/11/21 Вск 14:16:08 #268 №2205209 
>>2205173
unknown[]
Аноним 07/11/21 Вск 16:03:34 #269 №2205278 
>>2205131
Покупаешь/скачиваешь курс Creative JavaScript от Dev Ed. По JS можно также глянуть курсы от Brad Traversy и Net Ninja. Я не помню их названия, на udemy/рутрекере есть.

Когда посмотришь 3 разных курса по JS, то начнешь нормально ориентироваться в языке. Алсо я бы не выбирал курсы длительностью больше 25 часов.
Дальше смотришь этого чувака - https://frontendmasters.com/teachers/will-sentance/
Начни с Hard Parts, v2. Если денег на подписку нет - рутрекер или GitHub Student Developer Pack.

Затем Creative React and Redux от того же Dev Ed и снова Frontend Masters уже по Реакту. Обязательно чтение документации. Вопросы в @react_js в телеге.

Менторы не нужны, вырабатывай навык самостоятельного поиска информации и правильного задавания вопросов.
Аноним 07/11/21 Вск 16:05:30 #270 №2205279 
>>2205131
Алсо можешь записаться сюда - https://rs.school/js-stage0/
Там будут менторы. Сообщество у них классное.
Аноним 07/11/21 Вск 16:26:30 #271 №2205296 
>>2205160
. Нестрогое равенство.
. Используешь лет, хотя ничего не меняешь.
. Глобальные переменные.
. Все строится на ифов.
*. Не стрелочные в аддевентлистере.
По скриншоту это. Если лень самому вёрстку делать, пизди готовые решения, выглядит как кака.
Аноним 07/11/21 Вск 16:56:05 #272 №2205316 
>>2205296
Не стрелочные анонимки хотел сказать? Листенеру тащемта похуй, какие функции передевать, хоть ассинхронные.
Аноним 07/11/21 Вск 17:00:24 #273 №2205318 
>>2205173
аргумент с рест оператором должен быть последним
Аноним 07/11/21 Вск 17:14:54 #274 №2205325 
image
Аноны есть задача, не могу ее решить, задавал на StackOverflow, но мне не помогли. Может я вопрос как аутист задал, не знаю.
https://ru.stackoverflow.com/questions/1346833/js-jquery-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D0%BF%D0%B0%D0%BF%D0%BA%D0%B8-%D0%BD%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80-php
Аноним 07/11/21 Вск 17:17:57 #275 №2205327 
>>2205325
>Может я вопрос как аутист задал, не знаю.
Разумеется - тяночкой не притворился и ещё ждал какой-то помощи
Аноним 07/11/21 Вск 17:19:40 #276 №2205328 
>>2205325
> https://ru.stackoverflow.com
На эту парашу вообще кто-то заходит кроме таких дурачков как ты?
Аноним 07/11/21 Вск 17:20:09 #277 №2205329 
ламповая тян.mp4
>>2205327
я тян, вот пруфы
Аноним 07/11/21 Вск 17:20:40 #278 №2205330 
image.png
написал функцию как добавлять текстовы поля.

как написать функцию которая удаляет послее добавленное поле??
Аноним 07/11/21 Вск 17:20:43 #279 №2205331 
>>2205328
Ну, в свое время мне там помогли
Аноним 07/11/21 Вск 17:23:45 #280 №2205333 
>>2205330
>как написать функцию
Ну тыкаешь на кнопочки на твоей клаиватуре и пишешь код, так же как с первой функцией.
Аноним 07/11/21 Вск 17:36:27 #281 №2205347 
>>2205003
Валидации нет, при удалении/добавлении таска перерисовывается заново весть лист, если будет 1000 тасков? Добавь хотябы id = Math.random() и удаляй не по индексу, а по id
Аноним 07/11/21 Вск 17:37:29 #282 №2205349 
>>2205296
> Нестрогое равенство.
Видимо вспомнил об этом на середине или в конце и забыл в остальных местах поменять.
>. Используешь лет, хотя ничего не меняешь.
Переделаю на конст.
>. Глобальные переменные.
Засунуть всё в одну глобальную функцию считается за нормальную альтернативу?
>. Все строится на ифов.
Наверное я как-то неправильно понял делегирование событий.
Лучше просто по id кнопок назначить листенеры, раз кнопок мало?
>*. Не стрелочные в аддевентлистере.
Это действительно глаза мозолит? Или есть какая-то практическая польза в данном случае?

В любом случае спасибо коммент.
Аноним 07/11/21 Вск 17:42:53 #283 №2205353 
image
>>2205325
бамп вопросу
Аноним 07/11/21 Вск 17:48:52 #284 №2205361 
>>2205347
Да что там валидировать, это же записульки. Ну максимальную длину ограничу.
Ну я хотел точечно перерисовывать, потом подумал, что тут никто не будет 1000 тасков делать и сделал сяк.
>Добавь хотябы id = Math.random() и удаляй не по индексу, а по id
Мне нужно будет иметь коллекцию с id и проверять её при генерации нового id? Хочется чего-то более элегантного, чем рандом id, буду думать.
Аноним 07/11/21 Вск 17:50:12 #285 №2205363 
Смотрела видео по собесам, конкретный ступор на задачах возникает. Если юзать кодварс активно, прорешать там все вдоль и поперек, на собесе будет легче?
Аноним 07/11/21 Вск 17:51:52 #286 №2205367 
>>2205361
>Хочется чего-то более элегантного, чем рандом id, буду думать.
crypto.randomUUID()
Аноним 07/11/21 Вск 17:52:30 #287 №2205368 
>>2205363
Посыпишься на вопросе отличия var от let.
Аноним 07/11/21 Вск 18:02:01 #288 №2205375 
DearestWelltodoCassowary-sizerestricted.gif
>>2205367
>crypto
Спасибо. А он уникальный будет, потому что на основе времени генерит?
Аноним 07/11/21 Вск 18:09:13 #289 №2205388 
image.png
>>2205375
Аноним 07/11/21 Вск 18:18:15 #290 №2205411 
image
>>2205353
Последний бамп, меня кто нибудь слышит?
Аноним 07/11/21 Вск 18:23:34 #291 №2205417 
>>2205368
Это ж селёдочка, её за такое ласково пожурят и возьмут на работу чтобы "вот заодно и научишься"
Аноним 07/11/21 Вск 19:04:29 #292 №2205472 
1628189454295.png
>>2205347
> при удалении/добавлении таска перерисовывается заново весть лист, если будет 1000 тасков?
Это же важно только если как он на чистом js через innerHTML, а если реактом, то наоборот нужно вверх всю хуйню поднимать?
Аноним 07/11/21 Вск 19:18:30 #293 №2205486 
>>2205472
>Это же важно только если как он на чистом js через innerHTML
Если ты юзаешь innerhtml, то там в любом случае будет полная перерисовка всех элементов, т.к. все старые элементы удаляются и создаются заного. Обработчики при это тоже теряются
Аноним 07/11/21 Вск 19:54:06 #294 №2205543 
code.png
Делаю таймер на рякте, Есть state stop по умолчанию false. По клику на кнопочку state stop = true;
В это время крутится функция, где посекундно с помощью (setTimeout) убавляется значение currentValue (запрошенное время - new Data.getTime()).
Далее есть условие если currentValue меньше 1 сек или меньше 0, то clearTimeout.
Думал, что с кнопочкой будет изи, просто добавил в условие еще и stop, т.е. if (currentValue < 1000 && currentValue > 0 || currentValue > 0 || stop) -> clearTimeout
Но.. нихуя. Кнопочку жму, state stop становится true, а функция как продолжала крутиться так и крутится. Гуглил, ничего дельного не нашел, обращаюсь к вам, аноны.

Что делать? Куда копать?
Аноним 07/11/21 Вск 20:34:02 #295 №2205585 
>>2205486
> Обработчики при это тоже теряются
При хорошо заделигированных компонентах элементы списка в обработчиках не нуждаются.
Аноним 07/11/21 Вск 20:37:30 #296 №2205589 
>>2205543
stop пологай в своем timer'е
Аноним 07/11/21 Вск 20:38:46 #297 №2205591 
>>2205543
Таймеры всякие надо в useEffect делать.
Аноним 07/11/21 Вск 20:46:38 #298 №2205598 
>>2205411
Да напиши ты в гугле на инглише и пиздуй на нормальный стопкапереполнена
Аноним 07/11/21 Вск 20:50:23 #299 №2205602 
>>2205585
Расскажи пж как будешь делигировать обработчики событий наведения мыши без просадки производительности, я посмотрю.
Аноним 07/11/21 Вск 20:50:33 #300 №2205603 
>>2205591
Закинул в useEffect, тоже самое.

>>2205589
Когда таймер идёт пишет false, т.е. всё правильно. Далее когда жму на кнопочку логает true, а после продолжает крутиться отсчитывая секунды (но будто как-то немного ускоренно) и логает уже stop: false.
Аноним 07/11/21 Вск 20:51:51 #301 №2205605 
>>2205602
>Расскажи пж как будешь делигировать обработчики событий наведения мыши без просадки производительности, я посмотрю.
:hover
Аноним 07/11/21 Вск 20:53:10 #302 №2205609 
>>2205605
Как мне сделать тултип над элементом списка, который не выезжает за границы экрана, если список находится рядом с границей?
Аноним 07/11/21 Вск 21:02:18 #303 №2205618 
>>2205609
Как у тебя мобилкоюзеры увидят такие тултипы?
Аноним 07/11/21 Вск 21:21:03 #304 №2205630 
>>2200419 (OP)
Есть ли смысл заказывать менторство, через Foxminded, например? Интересует не теория, курсы и прочее с чем сам разбираюсь/разберусь, интересует именно обратная связь своих навыков и умений от опытных разрабов + если есть возможность поработать над реальным проектом, пусть и на роли червя пидора, то тоже неплохо. Или менторство уже никому не нужно в 2к22?
Аноним 07/11/21 Вск 21:27:42 #305 №2205638 
Если я буду генерировать ключи для новых элементов в списке при помощи Date.now(), этож будет достаточно уникально? Я понимаю что реалистично мне этого естественно хватит, но как вообще ровные пацаны делают?
Аноним 07/11/21 Вск 21:30:58 #306 №2205640 
>>2205638
Для демки вполне норм.
Аноним 07/11/21 Вск 21:38:28 #307 №2205646 
>>2205603
Ебался из-за одной строчки 5 часов, пиздец.

В общем решение было в том, чтобы закинуть всё в useEffect, дать зависимости на stop/start и сделать return () => clearTimeout(timeout);

Я так и не понял как это работает, но это работает. Можете пояснить?

У меня в useEffect 3 функции (инициализации таймера - проверка на ошибки и т.п, если всё ок - запускает саму функцию таймера, внутри этой функции в конце выполнения лежит setTimeout, который обновляет функцию каждую секунду, пока не будет неких условий).

А в конце самого хука useEffect этот return. Но я кажется уже понял как работает.

На любое изменение зависимостей он выполняет код, указанный после return и выходит из этого хука?

Аноним 07/11/21 Вск 21:43:42 #308 №2205652 
>>2205618
Не меняй тему. Лови еще вопрос: как мне при наведении на элемент списка (допустим, это ссылка) сделать предазгрузку какого-либо ресурса (по аналогии с докой реакта)?
Аноним 07/11/21 Вск 21:45:17 #309 №2205654 
>>2205638
>этож будет достаточно уникально?
А ты подумал, что будет, если у тебя два ключа сгенерируются в пределах 1 мс? так и будет, если у тебя не совсем некропекарня используй crypto.randomUUID или https://www.npmjs.com/package/uuid
Аноним 07/11/21 Вск 21:56:36 #310 №2205659 
>>2205638
Просто сделай обычную переменную и увеличивай ее при создании элемента списка, наркоман.
Аноним 07/11/21 Вск 21:56:38 #311 №2205660 
>>2205654
Вообще не будет, вряд ли пользователь успеет забить два пункта за миллисекунду, но вообще спасибо. а как сделать чтобы https было? или это тупа от сервера зависит?
Аноним 07/11/21 Вск 22:02:08 #312 №2205664 
>>2205646
>Можете пояснить
Без кода и пояснять нечего
Аноним 07/11/21 Вск 22:08:41 #313 №2205667 
>>2205664
Да просто, что делает return в useEffect? У меня как-то в голове не укладывается, чтобы в этом хуке был return.
Аноним 07/11/21 Вск 22:12:18 #314 №2205671 
>>2205652
>Не меняй тему.
Никто тут не меняет тему, это ты тут создаёшь проблемы, а потом решаешь их говнокодом.
>как мне при наведении на элемент списка (допустим, это ссылка) сделать предазгрузку какого-либо ресурса
Какую нахуй предзагрузку при наведении? Ты так и не ответил на вопрос, как мобилкоюзеры будут твои оухенные ховеры активировать?
Аноним 07/11/21 Вск 22:19:38 #315 №2205682 
>>2205667
Хук useEffect(() => setInterval(() => updateTodoState(todoId), 1000), [todoId]) будет выполняться заново каждый раз при смене todoId, например когда пользователь перешел со страницы одной тудушки на другую. И очевидно каждый раз будет создаваться новый такой таймер и висеть на странице бесконечно, когда он нахуй не требуется. Чтобы такого не случалось, нужен способ убрать за собой говно, т.к сам реакт не может догадаться, как ты насрал и где. И если реакту нужно выполнить указанную useEffect функцию заново(например при ре-рендере), то сначала он выполнит функцию, которая вернулась и хука на предыдущем рендере, потому что подразумевается, что ты в эту функцию положишь логику, которая будет убирать за собой насранное в useEffect, например удалит созданный таймер.
Аноним 07/11/21 Вск 22:21:53 #316 №2205683 
>>2205682
Отлично, спасибо за охуенное объяснение, всё встало на свои места!
Аноним 07/11/21 Вск 22:29:26 #317 №2205690 
>>2205660
>а как сделать чтобы https
Если ты через localhost или 127.0.0.1 заходишь, то браузер считает, что это https.
А в других случаях надо на сервере сертификаты юзать.
>>2205671
>Какую нахуй предзагрузку при наведении? Ты так и не ответил на вопрос, как мобилкоюзеры будут твои оухенные ховеры активировать?
Пчел, изначально был кейс, в котором ты решил выебнуться охуенным знанием жопаскрипта и предложил вместо событий использовать псевдоклассы в цсс. Я тебе вопросами намекаю, что ты тут неправ и псеводоклассами некоторые достаточно частые кейсы нельзя решить.
Аноним 07/11/21 Вск 22:30:25 #318 №2205692 
>>2205690
>>2205660
>то браузер считает, что это https.
Ну не совсем так конечно, но он включает все фичи, доступные только для https
Аноним 07/11/21 Вск 22:42:54 #319 №2205702 
>>2205048
мдн уже не катит?
Аноним 07/11/21 Вск 22:43:31 #320 №2205703 
>>2205702
Катит, но скорее как справочник. Учебник из него такой себе.
Аноним 07/11/21 Вск 23:03:26 #321 №2205748 
У меня возникло два необычных вопроса.

1. Знание Redux может пригодиться Angular-разработчику?
2. Знание RxJS может пригодиться React-разработчику?
Аноним 07/11/21 Вск 23:09:21 #322 №2205763 
>>2205748
1. Ngrx
2. Redux-observable
Аноним 08/11/21 Пнд 01:55:30 #323 №2206237 
>>2205702
Катит. Собственно какая разница и гугл и мозилла - оба выпустили браузеры. Они могут рассказать о своих же браузерах в миллион раз больше, чем абстрактный кантор.

Вся разница - у одного хром, у другого файрфокс. Всё.
Аноним 08/11/21 Пнд 01:57:35 #324 №2206243 
>>2205660
>Вообще не будет, вряд ли пользователь успеет забить два пункта за миллисекунду
Пользователь мб и не успеет, а event-loop, который будет отрабатывать события пользователя вполне может. Так что лучше сделай сразу по нормальному, либо на бэке изначально прописывай каждой тудухе уникальный id, либо делай это на клиенте
Аноним 08/11/21 Пнд 01:58:57 #325 №2206247 
Недавно открыл для себя codewars, там в основном все сводится к регулярным выражениям. В разделе ещё пишут про leetcode. Стоит ли обращать внимание обычному js прогеру из Web? Или это скорее для суровых с++ и java?
Аноним 08/11/21 Пнд 02:03:18 #326 №2206257 
>>2206247
> скорее для суровых с++ и java
Это для суровых олимпиадников из <anyLanguageName>. Если хочешь задрочить алгоритмы и научиться в оптимизацию то можешь закатываться на любом языке.
Аноним 08/11/21 Пнд 03:30:27 #327 №2206312 
Хочу к своему java spring пету прикрутить UI на JS. Никогда на нем ничего не делал, кроме лаба3.js, что посоветуете годного, чтобы потом если что самонадеянно писать что я фулл стек? Короче что пригодится бэкендеру?
Аноним 08/11/21 Пнд 03:49:48 #328 №2206327 
image.png
>>2200419 (OP)
Аноним 08/11/21 Пнд 03:54:02 #329 №2206331 
Есть библиотека на жквери, я поправил саму библиотеку в node_modules, все работает прекрасно, но если кто обновит фронт, то все.
Нормальна ли практика создания своей библиотеки на основе той с правками или это пиздец? Подключил бы свою библиотеку с правками и жил бы не тужил, а так что-то сложно.
Аноним 08/11/21 Пнд 03:54:52 #330 №2206332 
>>2206312
>что посоветуете годного, чтобы потом если что самонадеянно писать что я фулл стек
Если хочешь накостылить фастом и что бы работало - Vue 3, если хочешь разобраться и именовать себя фулстеком - React
Аноним 08/11/21 Пнд 03:55:52 #331 №2206333 
>>2206331
>ормальна ли практика создания своей библиотеки на основе той с правками или это пиздец
Да.
Аноним 08/11/21 Пнд 04:17:00 #332 №2206341 
>>2206327
От того, что разраб не додумался сделать проверку на валиданость координат никакой тайпскрипт не спасет.
Аноним 08/11/21 Пнд 10:18:28 #333 №2206477 
>>2205630
Аноним 08/11/21 Пнд 11:05:19 #334 №2206512 
>>2206331
Ты начинаешь что-то подозревать о папке lib.
Аноним 08/11/21 Пнд 11:44:38 #335 №2206558 
Аноны, есть какая нибудь статья о том, как работает атрибут autocomplete в разных боаузерах? Например, autocomplete="off" не отключает автокомплит полностью. Спрашиваю, чтобы знать нюансы
Аноним 08/11/21 Пнд 12:20:08 #336 №2206592 
Я не могу придумать какое приложение сделать
Аноним 08/11/21 Пнд 12:21:34 #337 №2206594 
Пасанята, слух, я вообще из другого раздела, нам недавно завезли новый UI фреймворк, и там всё крутится вокруг State, тип когда стейт изменяется то интерфейс обновляется, и сегодня я видел странный сон, что мне нужно зайти в раздел к вебмакакам и спросить про реакт. Якобы в реакте то же всё завязано на стейте. И ещё надо спросить, как вы считаете, что круче Реакт нейтив или реакт rx?
Аноним 08/11/21 Пнд 12:30:56 #338 №2206606 
>>2206594
state = состояние
Аноним 08/11/21 Пнд 12:36:22 #339 №2206615 
image.png
вот так вроде это выглядит, стейт - это как отдельный контейнер с информацией
Аноним 08/11/21 Пнд 13:13:10 #340 №2206653 
>>2206615
Как же вас жаль с ващими говностейтами.
Мимо ангуляр-господин.
Аноним 08/11/21 Пнд 13:41:18 #341 №2206693 
>>2206653
А у вас как там все устроено?
Аноним 08/11/21 Пнд 13:50:58 #342 №2206707 
>>2206693
Храним всё в переменной, но называем её по-другому.
Аноним 08/11/21 Пнд 14:00:41 #343 №2206724 
>>2206707
а переменная какого типа?
Аноним 08/11/21 Пнд 15:13:57 #344 №2206834 
>>2206724
Сам подумой. Какие переменные есть в тру ООП?
Аноним 08/11/21 Пнд 16:08:25 #345 №2206892 
323.png
Поясните, нужен ли return в том месте, где стрелка? Если не нужен, то почему?

new под капотом будет возвращать объект this функции UserCreator?
Аноним 08/11/21 Пнд 16:21:58 #346 №2206905 
>>2206834
интеджер и флоат
Аноним 08/11/21 Пнд 16:24:13 #347 №2206909 
>>2206892
>unless the function returns its own alternate object, the new-invoked function call will automatically return the newly constructed object.
Аноним 08/11/21 Пнд 16:43:35 #348 №2206944 
>>2206834
>Какие переменные есть в тру ООП
Циклы, операторы, ключевые слова, комментарии?
Аноним 08/11/21 Пнд 16:54:25 #349 №2206965 
Объясните пожалуйста в чем отличие между emotion и styled-components? Расплодилось что-то этого всего. Еще MUI какой-то есть...
Аноним 08/11/21 Пнд 17:09:46 #350 №2206979 
>>2206965
шо то говно, шо это. Истинные синьор-пиздаболы 300кк/нс использую css модули или scoped стили.
Аноним 08/11/21 Пнд 18:24:07 #351 №2207071 
>>2206979
Харкачерирую. Истинные синиоры используют БэЭнВэ
Аноним 08/11/21 Пнд 18:32:16 #352 №2207081 
>>2206592
prilozenieDlyaVkata.js

Внутри конкурентные запросы на апи GET anal/job/

Фронт должен слать 150 запросов в минуту в виде ворд документа, все должны обработаться.
Если респонс 200 { ok: ok, message: posholnahuy } , то инстанс Vkatun помечается как zopaGorit и фетчит страницу job.ru/piza-delivery.

Все должно быть паралельным и асинхронным.
Бек должен парсить док, если там есть строчка "zaEdu", то с вероятностью 1% / количество запросов с "zaEdu" за последний час, отправлять "vi priniaty".
Аноним 08/11/21 Пнд 18:33:06 #353 №2207083 

>>2205349
>Это действительно глаза мозолит? Или есть какая-то практическая польза в данном случае
Меньше писать, меньше читать, выглядит опрятнее, модно молодежно, а не как у этих вот, это как писать свой велосипед сортировки пренебрегая использованием метода сорт.
Аноним 08/11/21 Пнд 18:48:29 #354 №2207103 
>>2205411
Я тебе по секрету скажу, что если нужна помощь тут, сначала надо кратко написать его суть, а потом уже ссылку. Или же просто копипаст сюда сделать.
Иначе это выглядит как "требуется розраб, все подробности в личку", естественно любой нормальный человек скипнет долбоеба.
Аноним 08/11/21 Пнд 19:29:01 #355 №2207144 
>>2206979
>Истинные синьор-пиздаболы 300кк/нс использую css модули
А нахера вообще придумали эти эмоциональные стулед css в js, чем привычный подход с прикручиванием CSS так плох был?
Аноним 08/11/21 Пнд 20:00:48 #356 №2207184 
Сап тайпоскриптеры, есть ли смысл вообще дрочиться со следующим?
Условно есть
type RgbColor = string
type HexColor = string

Из-за структурной типизации понятное дело тайпчек идёт нахуй, какие есть выходы из данной ситуации, и если их нет, то нужно ли вообще типы оставлять как хинты для девов (ну типа тайпчека нет, но ты же не дурак 'hello world' передавать), или просто в комменте к функции описать и не тратить время на это?
Аноним 08/11/21 Пнд 20:14:19 #357 №2207192 
>>2207184
Хз. Но глянь тута https://github.com/microsoft/TypeScript/issues/6579#issuecomment-710776922
Аноним 08/11/21 Пнд 20:20:53 #358 №2207196 
1427199314na-kodovom-zamke-vidno-kakie-knopki-nazhimat.jpg
Atom или WebStrorm?
Аноним 08/11/21 Пнд 20:23:13 #359 №2207198 
>>2207196
Лада гранта или форд транзит?
Аноним 08/11/21 Пнд 20:32:34 #360 №2207201 
Что нужно знать перед изучением Angular?
Аноним 08/11/21 Пнд 20:38:22 #361 №2207203 
Как думаете, в будущем добавят в браузеры интерпретаторы для typescript, или js навечно?
Аноним 08/11/21 Пнд 20:48:43 #362 №2207206 
>>2207201
TypeScript, асинхронный JS, RxJS, английский язык.
Аноним 08/11/21 Пнд 20:50:02 #363 №2207207 
>>2207203
А зачем?
Аноним 08/11/21 Пнд 20:53:15 #364 №2207210 
изображение.png
>>2203271
Ух, спасибо братва, разобрался. Оказывается при срабатывании события в обработчик попадает очень дохуя инфы, огромный массив содержащий целиком всю карту, это очень дорогостоящая операция и чтобы такого не происходило нужно было этот planeBuffer нарезать на много отдельных буфферков, тогда при клике в обработчик попадет лишь небольшой массив. Ебать я дебик
Аноним 08/11/21 Пнд 21:10:23 #365 №2207220 
>>2207206
>английский язык
Зачем?
Аноним 08/11/21 Пнд 21:18:13 #366 №2207231 
>>2207220
Чтобы вместо позиции "анальная макака" у кабан кабаныча иметь возможность работать на позиции "anal monkey (contractor)" на джона бора. на самом деле чтобі кабан кабаныч мог тебя дороже джону продать очевидно же
Аноним 08/11/21 Пнд 21:57:26 #367 №2207266 
Есть один инпут
<input type="text" value={value} onChange={inputHandler} onKeyPress={keyHandler}/>
И у него есть
const keyHandler = (event) => {
if (event.key === "Escape") {
alert(event.key);
}
if (event.key === "Enter"){
alert(event.key);
}
}
Чому с энтером работает, а с эскейпом нет? Как сделать чтобы работало?
Аноним 08/11/21 Пнд 22:08:22 #368 №2207277 
>>2207220
Качество гугления в разы выше как минимум. Да и намного короче можно прямо подробно сформулировать запрос и найти быстро че надо.
Аноним 08/11/21 Пнд 22:16:35 #369 №2207285 
>>2207277
Гугл запросы составлять умею, но читать не всегда, так как некоторые конструкции и слова не понимаю.
Аноним 08/11/21 Пнд 22:18:10 #370 №2207287 
>>2207266
А с onKeyDown работает, нахуя оно выёбывается?
Аноним 08/11/21 Пнд 22:27:30 #371 №2207291 
Дайте нормальный урок по HTML и CSS, постоянно забываю. js знаю, а эта хуета вылетает из головы
Аноним 08/11/21 Пнд 22:31:12 #372 №2207294 
>>2207291
Ну распечатай себе читШит
https://www.google.com/search?q=html+css+cheatsheet&rlz=1C1GCEA_enUA966UA966&source=lnms&tbm=isch&sa=X&ved=2ahUKEwiYm6azwIn0AhVEhf0HHWxeB-IQ_AUoAXoECAEQAw&biw=2048&bih=1042&dpr=1.25
Аноним 08/11/21 Пнд 22:33:17 #373 №2207296 
>>2207294
Нихуя.
Аноним 08/11/21 Пнд 22:58:54 #374 №2207310 
>>2207266
'keypress' эвент надо вешать на window
Аноним 09/11/21 Втр 00:09:54 #375 №2207339 
>>2207291
Сверстай пару макетов, 2-3 дня потрать и запомнить навсегда.
Аноним 09/11/21 Втр 01:14:46 #376 №2207393 
Screenshot20211109-011157.png
Поставь себе ыорматтер, по нажатию на сохранение или на сочетание клавиш твой код становится красивее, добавляются нужные отступы, удаляются лишним отступы. Поможет в ксс, хтмл, жс и другое.
Мимо тот же придирчивый анон.>>2205349
Аноним 09/11/21 Втр 01:24:27 #377 №2207399 
IMG20210929130344921.jpg
Никто не хочет практики? У меня на галере есть проект, который сейчас временно приостановили, если кто из вкатышей Анонов хочет попробовать себя на реальном говнопроекте, могу покидать задачек, поменторю. Проект на нативе + бэк ларавел.
Аноним 09/11/21 Втр 02:41:39 #378 №2207413 
>>2207399
А на работу возьмете?
Аноним 09/11/21 Втр 02:48:39 #379 №2207415 
>>2207413
Что можешь?
Аноним 09/11/21 Втр 03:10:46 #380 №2207417 
>>2207399
Напиши в телегу, пожалуйста.
@twinkam22
Покажу портфолио, расскажу о себе.
Аноним 09/11/21 Втр 09:04:02 #381 №2207544 
Как "собрать" пропсы конкретного базового ряктовского HTML элемента в один интерфейс, который можно экстендить?
Допустим у дива пропсы выглядят так:
DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>

Пока я ничего сложнее создания DivProps extends DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> не придумал. Но ведь это костыль, плюс придётся писать новый интерфейс на каждый компонент с новым HTML элементом. Наверняка же можно просто по строчному ключу ссылаться на JSX.IntrinsicElements и получать новый манятип без импортов всяких HTMLAttributes.
Аноним 09/11/21 Втр 10:31:48 #382 №2207638 
>>2207544
Таки всё намного проще оказалось: достаточно ComponentPropsWithoutRef<"div">. Всё равно нужно создавать новый интерфейс на каждый пук. Как сделать так, чтобы условный BaseProps<K> выбирал из заданного списка валидных HTML тэгов и вставлял результат в ComponentPropsWithoutRef<K>? Где-то в доме хранится же этот список хотя бы словарём.
Аноним 09/11/21 Втр 11:51:11 #383 №2207673 
Подскажите, next js используют в качестве сервера, без express-а? Теоретически ведь можно, но почему тогда существует стек next js + express, причем обычно так и используют.
Аноним 09/11/21 Втр 11:59:32 #384 №2207677 
>>2207673
Потому что пока ты залезешь в базульку и выполнишь бекенд действия на нексте, ты будешь тормозить 1000000 юзеров, которые просто ждут от веб-сервера статику
Аноним 09/11/21 Втр 12:03:09 #385 №2207679 
https://habr.com/ru/company/piter/blog/587888/

Почему кто-то всерьез обсуждает исползовать var или let/const в 2021? Вроде как Серьезные Пацаны уже давно порешали, что использующий var сразу же объявляется чуханом, переезжает под шконарь и теряет доступ к общаку
Аноним 09/11/21 Втр 12:04:17 #386 №2207680 
>>2207677
Падажжите, люди для статики используют эксперс вместо нжинкса? В чем смысл?
Аноним 09/11/21 Втр 12:07:26 #387 №2207681 
У меня есть хук
const [items, setItems] = useState([]);
Потом items я передаю как пропс <ItemIndex items = {items} ... />
А внутри ItemIndex я использую props.items.map(...)
И всё работает!

Я собрал это вебпаком, загрузил на гитхаб и оно блядь пишет что TypeError: t.items is null когда пытается вызвать map видимо.
Че за хуйня? Я обосрался с настройкой вебпака?
Аноним 09/11/21 Втр 12:13:16 #388 №2207682 
>>2207681
Так мб не props.items.map, а просто items.map?
Аноним 09/11/21 Втр 12:13:53 #389 №2207683 
>>2207294
Какой из них, ссылка не кидает на конкретный
Аноним 09/11/21 Втр 12:14:27 #390 №2207684 
>>2207682
Чому? Я в пропсах передаю же.
Но это не важно, оно же работает, я не понимаю почему одно работает, а другое — нет.
Аноним 09/11/21 Втр 12:17:25 #391 №2207685 
>>2207673
Под капотом у него экспресс. А насчёт отдельного сервера - так это норма на бэкенде плодить сервера, микросервисы же. И если условный API сервер не отдаёт статику - то ему нахуй не сдался весь некстовский вагон в зависимостях. Плюс некстовский сервер можно делегировать до полноценного вротенд сервера, без всяких запросов в бд.
Аноним 09/11/21 Втр 12:23:17 #392 №2207687 
>>2207673
Так запрос в базу не синхронная операция. А во вторых вряд ли запрос в базу тормозит статику, я конечно не знаю что там внутри, но вроде солидный фреймворк, неужели они такой проблемы не решили.
Аноним 09/11/21 Втр 12:24:06 #393 №2207688 
>>2207677
>>2207687
Аноним 09/11/21 Втр 12:27:45 #394 №2207689 
То есть когда я вызываю "webpack serve --mode=development" всё работает.
А когда "webpack build --mode=production", то что получилось кидает ошибку.
Аноним 09/11/21 Втр 12:28:04 #395 №2207691 
>>2207689
>>2207681
Аноним 09/11/21 Втр 12:28:28 #396 №2207692 
>>2207685
Ну так и зачем нексту тогда функционал бэка? Какая область применения?
Аноним 09/11/21 Втр 12:34:33 #397 №2207694 
Кстати а что такое микросервисы, это когда для каждого эндпоинта по серверу? А как же переиспользование кода?
Аноним 09/11/21 Втр 12:37:27 #398 №2207695 
image.png
image.png
Сап мне нужно было чтобы после ввода в инпут при клике на голубой фон изменения сохранялись (соответственно onBlur) и инпуты превращались в обычный параграф, но при клике на textarea чтобы onblur не срабатывал, а срабатывало изменение textarea.
Я как-то запилил через mouseDown костыль, насколько хуево (алсо в итоге я типом присваиваю элемент как инпут хотя он на самом деле textarea, по другому typescript Ругается?
Аноним 09/11/21 Втр 12:55:11 #399 №2207703 
image.png
>>2207695
Ладно я пофиксил, вместо всего этого добавил условие в onBlur хендлере
Аноним 09/11/21 Втр 13:01:13 #400 №2207711 
>>2207694
На каждую комбинацию параметров по сервису.
И на каждый день в году тоже - баланс лоадинг, слышал?

не для каждого. переиспользование - версионированные шейрд либы в пакете
микросервисы говно
Аноним 09/11/21 Втр 13:02:55 #401 №2207715 
>>2207711
Хуй сосешь?
Аноним 09/11/21 Втр 14:17:57 #402 №2207792 
>>2207689
>>2207681
А, я понял, я подгружал items из local storage, а так как там ничего не было, оно сувало туда null, а обычно я этого не замечал, потому что писал туда до этого что-то и там был пустой массив.
Аноним 09/11/21 Втр 14:46:23 #403 №2207817 
>>2207792
>У меня есть хук
>И всё работает!
ошибку свою понял?
Аноним 09/11/21 Втр 14:56:51 #404 №2207830 
>>2207817
Нет, а шо?
Аноним 09/11/21 Втр 15:21:29 #405 №2207857 
https://habr.com/ru/post/532432/

JS на числодробилке с простыми числами пососал у С++ лишь на 25%. Все остальные (за исключением ГОвна) - в разы. Как так?
Аноним 09/11/21 Втр 15:24:24 #406 №2207861 
image.png
let a = [1,2](function() { alert(a) })()

каким боком это работает объясните, т.е. мы пытаемся присвоить к переменной массив, а после него идёт вызов функции, ошибка пикрелейтед выскакивает
Аноним 09/11/21 Втр 15:34:09 #407 №2207873 
>>2207861
Ты пытаешься вызвать массив как функцию, в которую передаёшь другую функцию. Потом результат вызова первой функции еще раз пытаешься вызвать как функцию и уже её результат присваиваешь переменной.
Аноним 09/11/21 Втр 15:39:30 #408 №2207881 
>>2207857
Не знал что Go быстрее крестов.
Аноним 09/11/21 Втр 15:46:37 #409 №2207890 
>>2207857
жиды процессоры пилят под жс очевидно же
Аноним 09/11/21 Втр 15:52:03 #410 №2207896 
>>2207873
ниче не понял, [1,2] - это массив, а потом идёт iife, в каком моменте я вызываю массив как функцию?
Аноним 09/11/21 Втр 15:53:50 #411 №2207900 
>>2207896
JS это не твое. Иди читай как вызывается функция, потом еще раз перечитай и только потом задай вопрос сюда.
Аноним 09/11/21 Втр 15:54:09 #412 №2207901 
>>2207861
Почему просто не поставить ;?
Аноним 09/11/21 Втр 15:54:33 #413 №2207902 
>>2207896
>iife
Тут нет iife, ты вызываешь массив как функцию.
Аноним 09/11/21 Втр 15:57:22 #414 №2207905 
image.png
>>2207861
Че работает? Ниче ж не пашет
Аноним 09/11/21 Втр 16:02:25 #415 №2207909 
>>2207900
аааа кажись дошло, а почему жс может вообще подумать, что я вызываю массив как функцию? он не может мне написать vi dalbaeb error
Аноним 09/11/21 Втр 16:12:55 #416 №2207919 
>>2207909
Потому, что в ЖС благодаря ООП ты можешь расширить массив таким образом, что он может работать как функция.
Аноним 09/11/21 Втр 16:38:11 #417 №2207947 
>>2207919
>благодаря ООП
Хуй будешь?
Аноним 09/11/21 Втр 16:39:04 #418 №2207949 
>>2207947
>Хуй будешь?
Конечно, я же ангулярщик.
Аноним 09/11/21 Втр 17:10:14 #419 №2207990 
пудж кинул hook
Аноним 09/11/21 Втр 18:01:28 #420 №2208063 
Где почитать че это за пакеты такие? Че за npm?
Аноним 09/11/21 Втр 18:28:29 #421 №2208106 
>>2208063
документация ноды идеально объясняет всё на мой взгляд
Аноним 09/11/21 Втр 18:40:18 #422 №2208127 
>>2208106
О, нашел, спасибо. Не сразу понял где у них там что.
Аноним 09/11/21 Втр 19:52:29 #423 №2208211 
Есть спарсенный текст из pdf, вроде всё окей, но некоторые блоки текста имеют вид "хуйняГОВНО". Как их можно разъединить пробелом?
Аноним 09/11/21 Втр 19:54:14 #424 №2208215 
>>2208211
Хуй его знает, тут не верстальщики пдээфов сидят.
Аноним 09/11/21 Втр 20:06:31 #425 №2208242 
>>2208215
Да мб регулярка какая нужна, я не шарю в них просто.
Аноним 09/11/21 Втр 20:30:53 #426 №2208269 
image.png
Объясните дурачку. Есть index.js в реакте, туда я импортирую main.css из папки styles, в main.css у меня идут импорты: global.css, reset.css, variables.css. В reset.css есть обнуление margin: 0 у многих элементов. Проблема такая: в css модуле компонента Filter.module.css я элементу ставлю margin-bottom: 2rem, НО нихуя не меняется. В панели разработчика в хроме эти 2rem перечеркнуты, то есть получается переписаны, да? Насколько я понял, они переписаны обнулением в reset.css... или нет? Тоже самое я делал и с scss, но проблема не пропадала, так че за хуйня то? Пробовал reset, global и variables в один файл кидать и уже его импортить в index.js, но проблема не пропадает... Жопа дико горит из-за этих непоняток или из-за того, что я тупой...
Аноним 09/11/21 Втр 20:42:58 #427 №2208279 
>>2208269
>или нет?
Возьми да посмотри
Аноним 09/11/21 Втр 20:57:15 #428 №2208293 
>>2208269
Блять сбилди свою сбор очку и посмотри, что там у тебя в CSS высирается. Вангую ты в индексе импортируешь стили после всех остальных импортов, так что они у тебя идут последними в сборке.
Аноним 09/11/21 Втр 22:09:49 #429 №2208354 
image.png
оправдывайтесь
Аноним 09/11/21 Втр 22:10:37 #430 №2208355 
>>2207715
Нет. Я не пропагандирую микросервисы.
Аноним 09/11/21 Втр 22:15:08 #431 №2208358 
>>2208242
мб и нужна, нам то откуда знать?
>>2208354
Эта хуевина от мелкософт SSR уже научилась поддерживать хотя бы для реакта? Тогда какой смысл от этих сухих циферок?
Аноним 09/11/21 Втр 22:19:21 #432 №2208362 
>>2208358
>Эта хуевина от мелкософт SSR уже научилась поддерживать хотя бы для реакта? Тогда какой смысл от этих сухих циферок?
Смысол в бекенде. SSR а от майков я вообще не помню для ЖСных либ.
Вы SSR юзерам отдаете?
Аноним 09/11/21 Втр 22:20:43 #433 №2208363 
>>2208362
>Смысол в бекенде.
Как будто на серьезных проектах используют ноду как бекенд, лол.
>Вы SSR юзерам отдаете?
Да
Аноним 09/11/21 Втр 22:23:47 #434 №2208364 
>>2208363
>Как будто на серьезных проектах используют ноду как бекенд, лол.
Справедливо.
>>Вы SSR юзерам отдаете?
>Да
Хм. А зачем? Это же, вроде бы, для ботов только, не?
Аноним 09/11/21 Втр 22:25:02 #435 №2208365 
>>2208364
>А зачем?
Строгие требования к времени FCP
Аноним 09/11/21 Втр 22:27:53 #436 №2208366 
>>2208365
Увожаемо.
Ну, теоретически, это легко вынести в отдельный кластер. Да и SSR это не дев, а инфраструктурная задача .
Кешируете резалты или не?
Аноним 09/11/21 Втр 22:28:12 #437 №2208367 
>>2208364
>Хм. А зачем? Это же, вроде бы, для ботов только, не?
Гугл тебя нахуй пошлёт с бот-онли серверным рендером.
Аноним 09/11/21 Втр 22:29:33 #438 №2208370 
>>2208366
>Кешируете резалты или не
Ну у нас этим основой бек занят в виде пыхи, нода ререндерит каждый раз с нуля по сути. да и похуй, там в пике 10% загрузка процессора
Аноним 09/11/21 Втр 22:30:26 #439 №2208371 
>>2208367
>Гугл тебя нахуй пошлёт с бот-онли серверным рендером.
Чойта? Он пошлет нахуй только если у тебя существенно контент с SSR отличается от контента с CSR
Аноним 10/11/21 Срд 09:25:08 #440 №2208586 
Щас проще верстальщиком устроиться или React разрабом?
Аноним 10/11/21 Срд 09:28:42 #441 №2208589 
>>2208586
На зарплату, кстати, похуй. Главное вкатиться и опыт получить, а дальше уже разберемся
Аноним 10/11/21 Срд 09:31:35 #442 №2208591 
>>2208293
хорошо вангуешь, пасиба!
Аноним 10/11/21 Срд 09:37:49 #443 №2208592 
Как создать шаред либу в js, чтоб использовать ее в нескольких проектах? Ее через гит заливать на проекты или нужно как то в npm засунуть?
Аноним 10/11/21 Срд 10:45:43 #444 №2208623 
>>2208586
Реакт разрабом, сейчас верстальщиков полноценных мало кто ищет, все пилиться на готовых либах.
Аноним 10/11/21 Срд 10:51:38 #445 №2208627 
Стикер
>>2208363
>серьезных проектах
Аноним 10/11/21 Срд 10:54:44 #446 №2208628 
>>2208623
скорее ушлые кабаны считают нахуя платить еще и верстале еще фронт и сам нахуярит он ж хтмл и кцц сам знает
Аноним 10/11/21 Срд 10:56:15 #447 №2208631 
>>2208623
>готовых либах
Каких например?
И еще пара вопросиков: откуда инфа? Ты сам работаешь вообще?
Аноним 10/11/21 Срд 10:58:38 #448 №2208633 
>>2208631
либы то может и готовые а кастомные конфиги для вебпака писать будешь сам
Аноним 10/11/21 Срд 11:16:31 #449 №2208639 
>>2208631
>Каких например?
Да блять миллион их. Ant, Quasar, тот же Bootstrap.
>ы сам работаешь вообще?
Да, я премидол реактодебил
>>2208633
>кастомные конфиги для вебпака писать будешь сам
Как будто ты их каждый день будешь писать.
Аноним 10/11/21 Срд 12:19:21 #450 №2208675 
>>2208592
Создавай отдельную репу под либу и подключай её гит-модулем в нужные проекты. Так ты можешь пердолить фиксы для либы, не засирая историю коммитов в этих проектах. NPM пакет это уже более поздняя стадия, когда у либы есть устаканненый воркфлоу и правила версирования.
Аноним 10/11/21 Срд 13:03:46 #451 №2208696 
мувисёрчер на реакте и беке на файрбейсе должен ужасно лагать? он фетчит все с тмдб апишки, больше ничего не делоет
Аноним 10/11/21 Срд 13:18:45 #452 №2208701 
Хаха зумерок-лукист сам страшный с тормознутой говнонодой бомбит:
>>2208627
Аноним 10/11/21 Срд 13:19:35 #453 №2208702 
>>2208696
Фетчай бекграунд воркером, не?
Аноним 10/11/21 Срд 13:20:54 #454 №2208704 
>>2208701
Бумерок спок.
Аноним 10/11/21 Срд 13:23:55 #455 №2208709 
>>2208704
бумерок то прав, крупняк на ноде не пишут, мелкое, среднее запросто за счет скорости разработки, доступности погромистов и более-менее нормальной работе, а на хайлоаде нода обосрется
Аноним 10/11/21 Срд 13:26:11 #456 №2208715 
>>2208709
Какой "крупняк", дедуль? У нас 2021 на дворе, микросервисы во все щели
Аноним 10/11/21 Срд 13:26:52 #457 №2208717 
>>2208709
Давай пример недостижимого хайлода на неноде.
Аноним 10/11/21 Срд 13:36:57 #458 №2208734 
>>2208702
поподробней
Аноним 10/11/21 Срд 13:45:59 #459 №2208745 
>>2208717
любая потоковая обработка видео, генерация картинок и прочий процессинг нода не сильно любит и производительность там так себе, не говоря уж о нейронках. когда тестируешь асинхронных код в8 любить чудить, а если уж кодовая база большая ну его нахуй.
Аноним 10/11/21 Срд 13:48:23 #460 №2208747 
>>2208715
Что тяжелее: киллограм ваты или килограм гвоздей?
Аноним 10/11/21 Срд 13:50:30 #461 №2208748 
>>2208715
на микросервисах не обязательно 100% один язык, а тут затирают про монолит
Аноним 10/11/21 Срд 13:54:20 #462 №2208751 
>>2208745
А разве для решения подобных проблем там не используются C++ аддоны и N-API?
Я не доебаться хочу, просто мимо проходил
Аноним 10/11/21 Срд 13:54:33 #463 №2208752 
>>2208734
Отедльный сервис, который с какой-то периодичностью будет собирать данные.
Вообще красиво - когда сторонник сервис тебе на вебхук все обновления пиздолит.
Аноним 10/11/21 Срд 13:55:36 #464 №2208753 
>>2208751
используются, но разговор то был что де нода прям ебет любую задачу аж шуба заворачивается
Аноним 10/11/21 Срд 14:50:04 #465 №2208800 
Есть ли смысл такой юнит тест писать ради заголовка или это слишком мелко?
Аноним 10/11/21 Срд 14:50:24 #466 №2208802 
image.png
>>2208800
Аноним 10/11/21 Срд 15:13:15 #467 №2208837 
Есть среди Анонов вкатунов желающие поверстать за деньги?
Аноним 10/11/21 Срд 15:15:43 #468 №2208842 
>>2208837
Да мне жс и вся хуйня проще даётся чем эти ваши цсс.
вкатун
Аноним 10/11/21 Срд 15:15:58 #469 №2208843 
>>2208837
Я хочу
Аноним 10/11/21 Срд 15:41:27 #470 №2208882 
>>2208802
>>2208800
Есть. Тащемта все тесты и должны быть подобного вида
Аноним 10/11/21 Срд 16:06:00 #471 №2208909 
>>2208882
Нэт. Самые бесполезные это как раз happy path тесты, потому что ломают чаще граничные случаи. А 2 + 2 = 4 никто не сломает, особенно если архитектура нормальная не хрупкая и у тебя 2 + 2 = 4 не случайно получилось и ты на этом довольный остановился, а твердо и четко 2 + 2 = 4.
Аноним 10/11/21 Срд 16:09:38 #472 №2208911 
>>2208909
Так есть ли смысл или нет в итоге?
Аноним 10/11/21 Срд 16:12:55 #473 №2208919 
>>2208745
Пчел, в подобных задачах требующих жесткого риалтайма в принципе ничего кроме С++ и хитрожопых удаленных параллельных вычислений не придумать. Никаких блять жав/хуяв/шарпов тут не засунуть

Все остальные задачи изи тянутся Нодой, которая имеет дохуя либ, легко поддерживаема и ебет по производительности львиную долю маняязыков
Аноним 10/11/21 Срд 16:14:53 #474 №2208924 
>>2208909
Ну так а вдруг какой-нибудь вкатун переделает компонент? Или потом реакт каким-то хуем обновится таким образом, что это название пропса станет зарезервированным под какое-нибудь действие внутри реакта?
Аноним 10/11/21 Срд 16:35:31 #475 №2208952 
>>2208919
>маняязыков
а че у нас самое популярное для больших проектов, спринговая жаба да сисярп, это они то маняязыки, да в них десять раз меньше дырок чем в ноде, но они дороже в разработке.
всякая эзотерика юзается в фаангах, но там они знают зачем ее используют, да редкими энтузиастами, пушто кто его потом поддерживать будет.
ты пойми василий, я не против ноды, на ней замечательно гавнякаются небольшие и средние проекты, как и на рубях, как и на пыхе, когда в хуй не уперлось разворачивать монструозные спринги с дотнетами, но если что то крупное, что потом надо будет масштабировать и поддерживать я ноду не возьму, оно потом в поддержке это латание дырок выйдет дороже, всплывут вопросы перформанса, безопасности, большой кодовой базы, сложность тестирования, оно того не стоит.
Аноним 10/11/21 Срд 16:49:40 #476 №2208968 
>>2208952
Дырка у тебя в жопе
А в ноде это фича
Аноним 10/11/21 Срд 16:54:04 #477 №2208970 
>>2208968
не баг, а фича ага
Аноним 10/11/21 Срд 17:16:57 #478 №2208995 
Стикер
>>2208952
>всякая эзотерика юзается в фаангах, но там они знают зачем ее используют
Аноним 10/11/21 Срд 17:23:02 #479 №2208999 
>>2208995
если у тебя есть специалисты, то че бы не использовать, если кабаны не могут себе позволить держать редких погромистов не значит что языки плохие
Аноним 10/11/21 Срд 18:46:07 #480 №2209078 
>>2208843
Пиши то или фейк почту.
Аноним 10/11/21 Срд 18:46:42 #481 №2209080 
>>2209078
>то
тг.
Аноним 10/11/21 Срд 18:55:45 #482 №2209083 
>>2209078
[email protected]
Аноним 10/11/21 Срд 20:26:34 #483 №2209128 
>>2209083
Написал.
Аноним 10/11/21 Срд 23:12:29 #484 №2209213 
code.png
Ну, так было у меня
Аноним 10/11/21 Срд 23:13:02 #485 №2209214 
>>2209213
Как я вообще в этот тред запостил?
Аноним 11/11/21 Чтв 02:37:37 #486 №2209317 
>>2208800
>>2208802
Не забудь тест на каждый геттер/сеттер написать.
Такую хуитку имеет смысл писать, если тебе нужно что-то трансформировать и собрать результат обратно в оригинальное значение. Самый очевидный пример - шифрование.
В остальных случаях просто тратишь время впустую, попутно добавляя оверхеда к разработке.
Аноним 11/11/21 Чтв 09:48:11 #487 №2209401 
>>2208675
Спасибо в следующий раз так сделаю, а сейчас уже создал NPM пакет.
Аноним 11/11/21 Чтв 11:41:24 #488 №2209480 
estas-ganando-papa-are-you-winning-dad-padre-coraline015958[...].jpg
Аноним 11/11/21 Чтв 12:58:35 #489 №2209512 
Вкатываюсь в ноду, поделал круды, основные концепции вроде бы более-менее понял. Сейчаc придумал идею для небольшого пет-проекта по типу интернет-магазина.

У пользователей есть три уровня доступа
1) Покупатель
2) Продавец
3) Админ

Покупатель может

Регистрироваться, менять настройки профиля, восстанавливать пароль через смски, просматривать список товаров, добавлять в закладки товары, пополнять кошелек (простенькую систему фейковых платежей думаю через еще один сервак запилить) делать покупки, переписываться в чате с продавцом

Продавец может

Офорлять заявки на поставку товаров на склад (вручную или csv), на рекламные акции и программы лояльности, отвечать покупателям в чате и блокировать им доступ к своим товарам.

Админ

Управляет заявками от продавца, может смотреть статистику по пользователям и различным категориям товаров

Что еще можно добавить к этой постановке, чтобы в процессе реализации охватить все основные особенности ноды?
Аноним 11/11/21 Чтв 14:35:34 #490 №2209553 
>>2209512
>Покупатель может
Дохуя смешанной логики напихано, заебёшься потом реализовывать. Это как минимум 3 уровня - Посетитель (нету прямой привязки к бд), Пользователь (привязка к бд в виде аккаунта) и Покупатель (совершил как минимум одну покупку, необязательно успешную).
>Продавец может
Если будут чаты, то тут нужна прослойка из модераторов. Продавец должен своё говно толкать Покупателям, а не чистить чаты вилкой и блокировать пользователей. Максимум он может репорт кинуть на токсичного пользователя, а там уже модер решит. А если не решит, то порешает админ.
>Админ
Типичный и швец, и жнец, и на дуде игрец. Тут нужна прослойка из какого-нибудь бизнес-анал итика, который разбирается в товарах и прочей юридической лабуде, но необязательно в технической части сайта. Поначалу конечно админ будет и анал итиком, но в определённый момент количество барыг будет расти быстрее, чем админ сможет их перебрать. Так что разделение между ковырятелем нжинкса и серверов и перебирателем макулатуры очень поможет при расширении.

И естественно вся эта система должна быть реализована на уровне скоупов, то есть одна абстрактная сущность можеть обладать неколькими ролями. Ты же пишешь на смузи-стэке, так что там будет сорт OAuth'а, который оперирует на скоупах.
Аноним 11/11/21 Чтв 14:38:00 #491 №2209554 
Как мне создать конструктор html страниц? хочу упростить работу дизайнерам в создании страниц для электронных писем.
Аноним 11/11/21 Чтв 14:39:20 #492 №2209555 
>>2209554
знаю react.js
Аноним 11/11/21 Чтв 14:51:05 #493 №2209560 
>>2209554
>упростить работу
>страниц для электронных писем
Выбери одно.
Аноним 11/11/21 Чтв 15:03:33 #494 №2209575 
>>2209560
в общем идея ясна, нужен конструктор страниц
Аноним 11/11/21 Чтв 15:06:48 #495 №2209578 
>>2209554
WYSAWYG редактор это не хухры мухры, на всяких тильдах делают кучу сайтов и такие проекты реальное бабло зарабатывают.
Аноним 11/11/21 Чтв 15:10:29 #496 №2209581 
2021-06-0920-29-17-4670028874c34a32b7cda09a82b73460.png
Подскажите как пилить CSS анимацию для реакта? Нормальная практики использовать аттрибут key для перерендера компонента , чтобы опять проигралась анимация? Во vue.js так норм.
Аноним 11/11/21 Чтв 16:59:18 #497 №2209662 
hyper turn head.jpg
>>2209581
Ебать, гениально кстати

Я обычно делаю примерно вот так. Надо попробовать твой способ

[animationState, setAnimationState] = useState({
stage: 'animateThis' | 'animateThat' | null
})

<div

className={`${styles.animatable} ${
stageToAnimationClassName(animationState)
}`}

onClick={() => setAnimationState(something)}
/>

function stageToAnimationClassName() {
switch case huemoe return cssclassname
}
Аноним 11/11/21 Чтв 17:02:50 #498 №2209666 
>>2209662
Ну и в useEffect'е по таймеру убираешь animationState.stage, ну ты понял
Аноним 11/11/21 Чтв 18:10:33 #499 №2209714 
image.png
Сап, аноны, сейчас смотрю видео по джаваскрипту для вкатывания (https://www.youtube.com/watch?v=Bluxbh9CaQ0&t=4950s&ab_channel=%D0%92%D0%BB%D0%B0%D0%B4%D0%B8%D0%BB%D0%B5%D0%BD%D0%9C%D0%B8%D0%BD%D0%B8%D0%BD) и уже больше 2 часов просмотрено, а он ни разу еще не показал как это работает на практике, выводит все данные в консоль и поясняет за основы.

Есть ли настолько же подробные видосы, но с кучей практических примеров, чтобы сделать что-то и сразу видеть как это будет работать на странице? Мне ведь писать простой калькулятор скоро, а я умею только вот такую хуйню выводить на страницу
Аноним 11/11/21 Чтв 18:27:48 #500 №2209717 
>>2209714
Минин очень плох с точки зрения академики.
Канал ниже тоже не академический идеал, но намного лучше имхо
Попробуй, мб зайдёт
https://youtube.com/c/itgid
Аноним 11/11/21 Чтв 18:33:24 #501 №2209719 
>>2209714
учи кантора как отче наш, лучше пока ниче нет
Аноним 11/11/21 Чтв 19:04:35 #502 №2209733 
>>2209666
Да знаю я, добавь таймер, убери таймер, пиздец охуеваю после vue.js Способ рабочий и в реакте и во вью, просто интересуют подводные камни вдруг в реакте хуяня какая всплывает.
Аноним 11/11/21 Чтв 19:17:30 #503 №2209735 
>>2209733
>>2209666
Вроде один минус есть, с key компонент полностью перерисовывается, а с таймером нет. Если компонент шибко большой, то могут быть проблемы с производительностью.
Аноним 11/11/21 Чтв 19:50:47 #504 №2209756 
>>2209662
>[animationState, setAnimationState] = useState({
>stage: 'animateThis' | 'animateThat' | null
>})
Блядь. Анимации (уровень презентейшена) в стейт запихивать, вы ебанулись уже со своими редаксами окончательно или мне кажется?
Мимо не реактер
Аноним 11/11/21 Чтв 20:26:04 #505 №2209787 
>>2209554
Тащемта если ты вкатун (а судя по таким вопросам ты как раз он и есть), то ты нихуя не сделаешь.
Аноним 11/11/21 Чтв 20:27:56 #506 №2209789 
>>2209662
>строка | строка | null
Вкатун, плиз. Для реализации отсутствия инициализации у переменной примитива нельзя использовать объекты. используй undefined или пустую строку
Аноним 11/11/21 Чтв 20:29:19 #507 №2209791 
>>2209735
>Если компонент шибко большой, то могут быть проблемы с производительностью.
Реактопетухи вновь пососали у вьюгигачедов и свелте-богов. Когда это уже кончится?
Аноним 11/11/21 Чтв 20:30:23 #508 №2209793 
>>2209714
>с кучей практических примеров, чтобы сделать что-то и сразу видеть как это будет работать на странице?
Зайди на codepen, там дохуя подобных шаблоньчиков и сразу потыкать можно.
Аноним 11/11/21 Чтв 20:33:29 #509 №2209795 
>>2209756
Ну тащемта в этих реактах не завезли нормальной поддержки анимаций. Во вью есть, но там тоже все через бойлерплейт в виде отдельного компонента с применением жс.
Аноним 11/11/21 Чтв 20:34:26 #510 №2209796 
>>2209317
А на что нужно тогда писать
Аноним 11/11/21 Чтв 20:35:36 #511 №2209797 
>>2209714
https://learn.javascript.ru/
Аноним 11/11/21 Чтв 20:47:10 #512 №2209799 
>>2209795
Где тут бойлерплейт? Все в один компонент заворачивается, ни строчки js кода <transition name="bounce"> <p v-if="show">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris facilisis enim libero, at lacinia diam fermentum id. Pellentesque habitant morbi tristique senectus et netus.</p> </transition>
Аноним 11/11/21 Чтв 20:50:55 #513 №2209802 
>>2209791
Да на vue если key поменять тоже будет принудительно перерендера, но во vue хотябы есть поддержка анимаций и этот хак можно не использовать.
Аноним 11/11/21 Чтв 20:51:58 #514 №2209804 
>>2209793
Премного благодарю, анонче
Аноним 11/11/21 Чтв 20:55:00 #515 №2209807 
>>2209799
>Где тут бойлерплейт?
>name="bounce"
Аноним 11/11/21 Чтв 21:02:27 #516 №2209817 
>>2209799
>Где тут бойлерплейт?
А ты сиэсэс забыл приложить.
Аноним 11/11/21 Чтв 21:21:46 #517 №2209824 
>>2209817
В реакте точно такой же css, к тому же есть css библиотеки анимаций. 847512
Аноним 11/11/21 Чтв 21:23:30 #518 №2209826 
>>2209796
Не на что, продолжай проверять, что аргумент таки передался в функцию.
Аноним 11/11/21 Чтв 21:30:41 #519 №2209831 
>>2209789
Ты обосрался, null это примитив
Аноним 11/11/21 Чтв 21:44:12 #520 №2209835 
https://docs.google.com/document/d/1Y5N5lUI0ljszcMu-lMHCGC-0pq_Gf2k_9NiT8_bRsjE/edit# не слишком ли жесткое тестовое для джунчика? Я вот растерялся, стоит ли тратить время, анон?
Аноним 11/11/21 Чтв 21:45:04 #521 №2209836 
image.png
аноны, как сделать так, чтобы блоки были постоянно снизу, но еслди в них добавлять контент они расли вверх и если они занимают весь экран, то прокрутка вверх прождолжалась бы, а низ блоков уходил бы вниз?
Аноним 11/11/21 Чтв 21:52:02 #522 №2209839 
>>2209835
Пчел, там нет ограничений по используемым либам, поэтому изи.
Было бы ограничение - ябы сразу нахуй слал таких кабаньчиков.
Аноним 11/11/21 Чтв 21:58:00 #523 №2209842 
>>2209836
Литералли гуглиться за пару секунд.
https://codesandbox.io/s/ecstatic-bassi-vlou1?file=/src/styles.css
Аноним 11/11/21 Чтв 22:02:54 #524 №2209844 
>>2209836
https://codepen.io/stozen-spb/pen/dyzqPMx
Аноним 11/11/21 Чтв 22:03:10 #525 №2209845 
16006407680350.jpg
>>2209842
Благодарю, я наверное не те запросы забивал, мне такое не выдает
Аноним 11/11/21 Чтв 22:13:30 #526 №2209849 
>>2209844
ООО, да, охуенно, Спасибо!!!
Аноним 11/11/21 Чтв 22:14:28 #527 №2209850 
image.png
image.png
>>2209844
Аноним 11/11/21 Чтв 23:30:46 #528 №2209899 
>>2209756
И что такого?
Весь фронт это вообще одно большое представление
Стейт - это же СОСТОЯНИЕ нашего фронтенд-приложения
И вот мы хотим, чтобы после нажатия кнопки пару секунд она была в состоянии (СТЕЙТЕ) анимации
Аноним 12/11/21 Птн 00:08:24 #529 №2209915 
16347432116620.jpg
Новичку, Минин или Хауди?
Аноним 12/11/21 Птн 00:58:33 #530 №2209922 
>>2209915
Кантор.
Аноним 12/11/21 Птн 02:17:03 #531 №2209934 
>>2209915
/pr/
Аноним 12/11/21 Птн 09:50:44 #532 №2209990 
>>2209915
Оба. Еще курсы от инстаблогеров нужно штук 10.
Аноним 12/11/21 Птн 11:37:36 #533 №2210041 
Как в тайпскрипте сделать массив определенного типа определенной длины? Я только Tuple нашел, но там нужно каждый элемент описывать, а у меня они все одного типа и их много.
Аноним 12/11/21 Птн 11:49:40 #534 №2210048 
>>2209915
В рот или в жопу?
Аноним 12/11/21 Птн 11:50:35 #535 №2210051 
image.png
Как вам идея? В первом блоке будут добавляться счетчики и они станут появляться в третьем, он соответственно будет расти вверх по наполнению и образовывать небоскреб
Аноним 12/11/21 Птн 12:25:12 #536 №2210086 
>>2210041
ТупеСкрипт: чтобы создавать проблемы на ровном месте из ничего
Аноним 12/11/21 Птн 12:27:51 #537 №2210091 
ПЕРЕКАТ >>2210088 (OP)
ПЕРЕКАТ >>2210088 (OP)
ПЕРЕКАТ >>2210088 (OP)
Аноним 12/11/21 Птн 12:51:56 #538 №2210128 
>>2209899
Ясно, реактеры настолько обезумели, что уже не видят, где представление с моделью смешивается.
comments powered by Disqus

Отзывы и предложения