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

JS Thread #244 /js/

 Аноним 15/02/22 Втр 15:16:06 #1 №2297966 
16313000548100.png
Предыдущий тред: >>2290355 (OP)

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

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

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

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Аноним 15/02/22 Втр 15:21:50 #2 №2297974 
>>2297676 →
>>2297816 →
Бамп вопроса.
Аноним 15/02/22 Втр 15:40:00 #3 №2298004 
>>2297974
Боже, какие красивые скрины, это я так понял в макоси делается, но как без всего лишнего и с такой тенью приятной?
Аноним 15/02/22 Втр 15:45:28 #4 №2298011 
>>2298004
Расширение Polacode для VSCode.
Аноним 15/02/22 Втр 15:54:07 #5 №2298020 
Объясните, чому некоторые в конфигах пишут path.resolve(__dirname, './dist'), если можно функция resolve() и так добавит абсолютный путь до директории? Так: path.resolve('./dist'). Более того, зачем вообще эту функцию вызывать, зачем относительную ссылку превращать в абсолютную? Можно же просто строкой './dist' передать, и все работает. Объясните, я ничего не понимаю.
Аноним 15/02/22 Втр 15:55:13 #6 №2298021 
>>2298020
если можно функция resolve() и так
Аноним 15/02/22 Втр 16:01:04 #7 №2298031 
>>2298020
Я проебался, в конфигах вебпака нужен абсолютный путь. Но первый вопрос все еще в силе, зачем нужен этот __dirname
Аноним 15/02/22 Втр 16:06:44 #8 №2298042 
А в реакте ивентлисенеры надо удалять если были созданы вне useEffect?
Аноним 15/02/22 Втр 16:07:32 #9 №2298043 
>>2298042
Надо удалять, если они не нужны, как бы они не были созданы
Аноним 15/02/22 Втр 16:09:01 #10 №2298044 
>>2298043
Dzięki
Аноним 15/02/22 Втр 16:45:45 #11 №2298094 
Как с легасипомойной битриксогалеры бежать?
Аноним 15/02/22 Втр 16:51:15 #12 №2298104 
>>2298094
Зачем с нее бежать?
Аноним 15/02/22 Втр 16:54:48 #13 №2298111 
>>2298094
Откликаться на вакансии и бежать когда возьмут.
Аноним 15/02/22 Втр 16:59:30 #14 №2298119 
>>2298031
Чтобы получить путь файла и нормализовать его. Технически join по __dirname то же самое, но с резолвом очевидно, что вернёт абсолютный путь. Если так корёжит от дирнейма, сохрани в отдельном модуле абсолютной путь к корневой папке в переменную и лепи остальные пути джоином с ней.
Аноним 15/02/22 Втр 17:03:10 #15 №2298122 
>>2298104
Я хочу, чтобы при работе, я становился лучше в жиесе и фронент разработке - а по факту я становлюсь лучше в битриксе, а в остальном стагнирую. Ещё и на проекте работы по фронту застопорились - я сижу какой-то лажей занимаюсь.
Я готов поверить в крутые современные проекты на битриксе, но мой не такой - он огромный, на нём хорошие рабочие процессы, но вот сама разработка, это боль.

>>2298111
Звучит, как план.
Аноним 15/02/22 Втр 17:12:03 #16 №2298133 
>>2298122
Ты только это, реакт освой, с битриксом тебе залупой по губам проведут, возьмут на другую битриксогалеру.
Аноним 15/02/22 Втр 17:12:39 #17 №2298134 
>>2298122
> но вот сама разработка, это боль.
В том числе из-за меня, кстати. Сейчас то я преисполнился, а год-полгода назад лютый говнокод выдавал и теперь с ним надо работать. Когда я уйду, меня будут проклинать.
Аноним 15/02/22 Втр 17:13:25 #18 №2298136 
>>2298133
Я вью освоил. На битрикс больше не хочу.
Аноним 15/02/22 Втр 17:19:20 #19 №2298140 
>>2298122
>Я хочу, чтобы при работе, я становился лучше в жиесе и фронент разработке
Ты и так становишься лучше (хотя может у конкретно твоей должности своя специфика). Пхп, битрикс и жекверя вечны, они будут актуальны всегда. А реакты, вуи, ангуляры это скоротечное говно, лет через пять никто не вспомнит про них.
Аноним 15/02/22 Втр 17:33:24 #20 №2298152 
>>2298140
Почему ангуляр от гугла скоротечное говно, а биртикс от один ас вечен? Потому что запад все?
Аноним 15/02/22 Втр 17:41:11 #21 №2298166 
>>2298152
Потому что это старые проверенные технологии. А битрикс в россиюшке больше актуален. Ангуляр кстати первый кандидат на свалку истории. От него уже сейчас отказываются в пользу реакта. Через несколкьо лет реакт станет никому не нужен, появится очередной новомодный фреймворк. И так по кругу.
ПАМАГИТЕ!!! Аноним 15/02/22 Втр 17:42:04 #22 №2298168 
Снимок экрана 2022-02-15 в 17.39.54.png
Почему так может происходить? Я ничего не понимаю...
https://qna.habr.com/q/1116024
Аноним 15/02/22 Втр 17:45:59 #23 №2298176 
>>2298166
Гугол перейдет на реакт? Ты фантазер?
Аноним 15/02/22 Втр 17:49:07 #24 №2298179 
>>2298140
Вот ты на чём пишешь? Почему не на битриксе/жквери? М?
Аноним 15/02/22 Втр 18:01:53 #25 №2298200 
>>2298168
Можете не помогать, все решилось
Аноним 15/02/22 Втр 19:33:44 #26 №2298310 
14412356737741.jpg
>>2297938 →
бамп

Посоветуйте где учиться нормально проектировать архитектуру для телеграм ботов.
Аноним 15/02/22 Втр 19:43:30 #27 №2298317 
>>2298310
Лучше посоветуйте, где почитать нахуя они вообще нужны и где на практике применяются, что нубы так носятся с их изучением.
Аноним 15/02/22 Втр 20:04:14 #28 №2298334 
>>2298317
Очевидно же чтобы деньги на лохах стричь биткоиноаферами.
Аноним 15/02/22 Втр 20:10:43 #29 №2298338 
бут.png
бут1.png
Подключил в реакте через index.html бутстрап и font awesome.По какой причине они могут не работать?Другие стили сработали , а иконки почему то нет
Аноним 15/02/22 Втр 20:25:31 #30 №2298351 
>>2298338
>fortawesome
Аноним 15/02/22 Втр 20:27:43 #31 №2298353 
>>2298317
Собственно только нубы наверно и не понимают зачем может быть нужен телеграм бот. Это платформа где за тебя уже половина всего реализована и роль фронта выполняет самый популярный в снг мессенджер.

А по теме >>2298310 ты просто доку https://github.com/yagop/node-telegram-bot-api/blob/master/doc/usage.md внимательно прочитай и часть вопросов сама отпадет.
Аноним 15/02/22 Втр 20:32:14 #32 №2298355 
>>2298353
Ну вот скажи мне несколько самых полезных ботов, которыми ты пользуешься. Очень интересно.
Аноним 15/02/22 Втр 21:23:57 #33 №2298402 
Кто-нибудь шарит за firebase? можно ли с помощью поля reference получить данные из другой коллекции? все ответы которые находил старые и не выходят у меня либо я тупой.
Если будет понятнее, то делаю плеер с возможностью создания плейлистов из общей числа треков, может вообще нахуй этот firebase и с чем то другим работать?
Аноним 15/02/22 Втр 21:26:55 #34 №2298408 
>>2297966 (OP)
Я могу как-то в переменную получить ссылку на "нестандартную" канву (например, создаваемую svgtoolkit, fabric.js или canvas2svg от gliffy), чтобы потом передать ее другой либе, и она все рисовала в ней, думая что это обычная канва?

НЕ СЕТКУ ПИКСЕЛЕЙ

Задача: конвертнуть векторизуемые элементы canvas (всякие круги, квадраты, градиенты) в svg не через массив пикселей, а через "парсинг" и "трансляцию" правил рисования канвы в правила рисования svg.

Умеющие такую магию библиотеки требуют, чтобы я рисовал свою канву в объекте их класса (например, var ctx = new C2S(500,500); для http://gliffy.github.io/canvas2svg/), и мне надо как-то изобразить для библиотеки, которая собственно предполагаемую к конвертации канву и рисует (к примеру тот же fabric.js или к примеру не умеющая рендерить svg, только канву https://www.chartjs.org/, или например вот этих парней https://codepen.io/wildminder/pen/wJgbLb), что она рисует на обычной канве, чтобы уже затем успешно конвертировать результат. Если что, исходник canvas2svg
https://cdn.jsdelivr.net/gh/gliffy/canvas2svg@master/canvas2svg.js
На кодепене выше можно поиграться, добавив ее.
Аноним 15/02/22 Втр 21:38:59 #35 №2298412 
image.png
Анон обоссы не бей, почему это не работает ? Как вообще из этих аяксов получать данные.
Я залетный с бека , просто оч нужно однуштуку написать
Аноним 15/02/22 Втр 21:40:50 #36 №2298413 
>>2297966 (OP)
Господа сеньоры, ну поясните уже. Вебпак всё? Перекатываемся на esbuild?
Аноним 15/02/22 Втр 21:44:57 #37 №2298415 
>>2298413
Тащемта уже перекатываются на Rome и SWC.
Аноним 15/02/22 Втр 22:22:08 #38 №2298452 
>>2298119
path.resolve(__dirname, './dist')
и
path.resolve('./dist')
возвращают одно и то же.
Аноним 15/02/22 Втр 22:46:45 #39 №2298488 
>>2298412
Во первых юзай fetch
Во вторых у тебя фигня какая-то вместо урл-а. Это же http запрос, ему нужен путь, куда он будет запрашиваться. А у тебя вместо него 'get_number_of_clicks'
Аноним 15/02/22 Втр 23:18:43 #40 №2298524 
>>2298452
https://nodejs.org/api/path.html#pathresolvepaths
>If, after processing all given path segments, an absolute path has not yet been generated, the current working directory is used.
То, что в твоём хелловорлде это один и тот же путь, не значит, что в сетапах посложнее они будут равны.
Аноним 15/02/22 Втр 23:53:02 #41 №2298542 
>>2298415
Сколько можно перекатываться? Этому придет конец?
Аноним 16/02/22 Срд 00:09:36 #42 №2298551 
>>2298488
ну он же дрисывает путь так localhost:post/url(который ты написал) У меня кст этот вариант заработал. Надо было просто датаТайп указать текст.
Аноним 16/02/22 Срд 12:27:17 #43 №2298740 
Аноны, хелп плиз. В режиме просмотра с телефона, при изменении размеров экрана все подстраивается кроме img. В чем может быть причина и как решить?
Аноним 16/02/22 Срд 12:30:51 #44 №2298747 
>>2298740
Куда подстраивается, к твоей жопе?
Аноним 16/02/22 Срд 12:33:50 #45 №2298749 
1.PNG
2.PNG
>>2298747
Вот так
Аноним 16/02/22 Срд 12:36:32 #46 №2298750 
>>2298749
Ты в курсе что у картинки css-стили существуют, weight, height, нет не слышал?
Аноним 16/02/22 Срд 12:37:36 #47 №2298751 
>>2298749
Походу нет, пиши в css : img { max-width: 100%; height: auto }
Аноним 16/02/22 Срд 12:37:58 #48 №2298753 
Реквестирую стек для сайта суши бара, блюд мало, меньше 100. MERN норм? Монга вообще подходит для серьезных разработок? Слышал что для прототипов сайтов хорош, но серьезно его никто не юзает.
Аноним 16/02/22 Срд 12:38:41 #49 №2298755 
>>2298751
>height: auto
нахуя?
он и так авто.
мимо
Аноним 16/02/22 Срд 12:39:15 #50 №2298756 
>>2298755
Не факт
Аноним 16/02/22 Срд 12:39:56 #51 №2298758 
>>2298753
Любая cms-ка для магазина хоть вордпресс. нафиг заморачиваться?
Аноним 16/02/22 Срд 12:41:23 #52 №2298759 
>>2298758
>вордпресс
А как на нем суши бар написать? Плагины какие-то знаешь?
Аноним 16/02/22 Срд 12:42:45 #53 №2298760 
>>2298759
Про ТЗ ты видимо не слышал
Аноним 16/02/22 Срд 12:44:02 #54 №2298762 
>>2298760
Какой еще тз? Я это для себя пишу.
Аноним 16/02/22 Срд 12:46:12 #55 №2298764 
>>2298762
Для себя тоже с налету ничего не делают. вначале определись что будет на сайте потом уже думай на чем. это же просто сайт скорее всего с каким-нибудь каталогом меню формой и корзиной. для этого готовых решений до жопы.
Аноним 16/02/22 Срд 13:07:19 #56 №2298779 
Что из себя вообще представляет удаленка фронтендера? Получиться удаленно работать, если я в час иду в колледж, и в 3 возвращаюсь домой? В некоторые дни вообще не иду.
Аноним 16/02/22 Срд 13:37:57 #57 №2298801 
Безымянный.png
1.png
Создал функцию SCSS с делением. Использовал обычное, мне вебпак посоветовал использование math.div(). Включил его, получил ошибку. В док-ции функция использована схожим образом.
Что не так?
Аноним 16/02/22 Срд 13:40:04 #58 №2298803 
>>2298801
С calc работает. Для всех math нужен какой-то отдельный модуль?
Аноним 16/02/22 Срд 13:41:41 #59 №2298806 
Двачик, нужно при клике на картинку менять адрес в браузере(без перезагрузки, как navlink) как это реализовать?
Аноним 16/02/22 Срд 14:19:14 #60 №2298839 
Стикер
Анонии. Не подскажете, где можно почитать про баг браузеров при высчитывании элементов position: absolute? Т.е. изначально элементы с position: absolute корректно отображаются. Проблемы начинаются, когда надо зумить экран. Тогда они встают не совсем корректно и где то есть пробелы. Я долгое время знал про эту проблему, но не видел ни одного issue с этим. В интернете не нашёл.
Аноним 16/02/22 Срд 14:19:21 #61 №2298840 
>>2298801
Ну так импортируй math.div сперва.
https://sass-lang.com/documentation/modules
Аноним 16/02/22 Срд 14:46:59 #62 №2298874 
>>2298806
window.location.hash = "huy"
Аноним 16/02/22 Срд 14:50:32 #63 №2298879 
>>2298840
Спс.
Аноним 16/02/22 Срд 14:52:21 #64 №2298885 
>>2298839
Да я тебе так объясню, если координаты заданы в пикселях при зуме возникнут дробные значения и из за округления при отрисовке могут возникать пробелы
Аноним 16/02/22 Срд 14:59:53 #65 №2298895 
Сап, двач. Вкатился в макаки-наносеки 1,5 года назад. Работаю в небольшой аутсорс конторе на удаленке, сама контора в моем родном Мухосранске, живу в Дс2, пишу на Реакте, Редаксе, немного на шарпе, немного пайплайны ci/cd настраиваю, немного конфиги докера пишу для всего для чего можно и для чего нельзя и т.д.

Суть в том, что мой тимлид считает, что я уже крепкий мидл и иду в сеньеры постепенно, но по моим субъективным ощущениям я тяну максимум на крепкого джуна и то смотря где.

Проблема ещё в том, что у нас особо никто не шарит во фронте, на мне сейчас 3 джуна-фронтендера, которые просто делают, что я им скажу, от этого такое чувство, как будто я сам стою на месте и делаю какую-то хуйню, т.к. тупо нет людей вокруг от которых можно услышать конструктивную критику.

Так вот, теперь вопрос. Есть шансы с таким бэкграундом вкатиться в нормальную контору Дс2 на ставку хотя бы 120к-130к чистыми (моя текущая зп с учетом годовой премии)?
Аноним 16/02/22 Срд 15:05:55 #66 №2298905 
>>2298895
>по моим субъективным ощущениям я тяну максимум на крепкого джуна и то смотря где
Пройди собес на вакансию, где обтекаемо должность написана вроде "мидл+/синьор", там тебе пояснят, на кого ты тянешь.
Аноним 16/02/22 Срд 15:09:31 #67 №2298912 
>>2298895
> с учетом годовой премии
Откажешься от премии, ради свободы Донбасса?
Аноним 16/02/22 Срд 15:18:56 #68 №2298920 
>>2298905
>Пройди собес на вакансию, где обтекаемо должность написана вроде "мидл+/синьор", там тебе пояснят, на кого ты тянешь.
Не хотелось ходить на собесы, пока на этом месте ещё работаю, а то вроде и люди все нормальные, приятно с ними работать, но для себя не вижу перспектив здесь, только деградация... видимо придется на собесы ходить так, действительно, чтобы понять на что я тяну перед тем как увольняться...
Аноним 16/02/22 Срд 15:21:16 #69 №2298923 
>>2298905
Да, ещё забыл написать, что я в тестирование вообще не умею, пытался у нас его внедрить по гайдам Кента Доддса, но хуйня полная получилась с кучей дублирования кода... потом тупо времени не было вникнуть.
Аноним 16/02/22 Срд 15:44:30 #70 №2298940 
Стикер
>>2298885
Эвоно как. А есть возможность как-то обойти такую проблему оперируя пикселями? Кто-нибудь задавал данный вопрос на той же bugzilla или bugs.chromium.org, чтобы получить более детальную информацию?
Аноним 16/02/22 Срд 16:02:54 #71 №2298947 
>>2298923
Тестирование фронта - тот ещё анал-карнавал. А уж если натягивать это дело на кодовую базу без тестов (а значит и пайплан без них), то там можно и вешаться.
Вот тебе кстати и детектор синьора, TDD в мире вротенда - это марксизм-ленинизм позднего совка. То есть никто в него не верит и не практикует, но все его лекалы должны от зубов отскакивать и ты должен рассказывать о пользе TDD на интервью.
Аноним 16/02/22 Срд 16:04:00 #72 №2298950 
>>2298940
так я тебе детально объяснил
Аноним 16/02/22 Срд 18:19:52 #73 №2299104 
Можно ли принудительно ограничить intput type datetime-local до 4 символов года? И в целом зафиксировать формат независимо от локали?
Аноним 16/02/22 Срд 18:56:20 #74 №2299149 
Ну вот я сижу учу ваши жс,кссы и реакты уже пол года. Открыл хх, а там везде еще пхп нужен. Как вкатиться на галеру то? Помогите а то мамка выгонит если работу не найду
Аноним 16/02/22 Срд 19:11:37 #75 №2299168 
>>2299149
Добавь к реакту ларавел и mysql. На ларке пет сделай с очередями. За 40-60k реально устроится на небольшую галеру для начала
Аноним 16/02/22 Срд 19:15:27 #76 №2299173 
>>2299149
>а там везде еще пхп нужен
Где, лол, почти не встречал, а где встречал то вордпресная битриксная параша.
Аноним 16/02/22 Срд 19:23:37 #77 №2299184 
>>2299173
Хуя ты теоретик. Ларки полно в мелких галерах
Аноним 16/02/22 Срд 20:16:25 #78 №2299236 
image2022-02-16201358.png
Хуле это дерьмо не работет. Вы бы еще больше всякой хуйерги на крутили. Для работы нужно знать React, но вот незадача, модули в браузере не работают, тебе нужен вебпак, Что говоришь?,Вебпак искаробки с реакт не работает, тебе нужен Babbel, что и бабел не работает, так у тебя какого то лодера нету.
Пиздец вам там заняться нечем, хуле это дерьмо из каробки не работает.
Где взять этот ебучий лоадер, чтобы вебавк понимал JSX синтаксис. Как же мне печёт ни одного нормального гайда на ютубе.
Аноним 16/02/22 Срд 20:18:12 #79 №2299240 
>>2299104
input.addEventListener("input", (event) => {
value = event.target.value;
event.target.value = transformDate(value)
})
Аноним 16/02/22 Срд 20:18:44 #80 №2299241 
>>2299236
А чего файлы не в формате jsx?
Аноним 16/02/22 Срд 20:21:19 #81 №2299244 
>>2299236
>Как же мне печёт ни одного нормального гайда на ютубе.
Видосикодебилы должны страдать. Тебе нужно копать в сторону babel-loader.
Аноним 16/02/22 Срд 20:22:12 #82 №2299246 
>>2299241
Да я не знаю. ток React открыл. Кручу верчу. Мне бы чтобы эта хуерга. Для начала хотя бы запустилась.
Аноним 16/02/22 Срд 20:26:24 #83 №2299250 
23123.png
>>2299244
babel-loader. это отдельный файл, или часть webpack.config.js или часть package.json.
Аноним 16/02/22 Срд 20:33:48 #84 №2299258 
Безымянный.png
>>2297966 (OP)
Подскажите пожалуйста как это говно заставить работать, есть инпут в него записываются данные нужно чтоб данные брались с дома и вводились ниже инпута
Аноним 16/02/22 Срд 20:35:17 #85 №2299259 
babel-loader - Google Search.png
>>2299250
Сам подумой. С русиком кстати далеко не уедешь, так как все гайды по ручной нстройке реакта даже на англюсике устарели. И это ещё вебпак даже на ESM не мигрировал.
Аноним 16/02/22 Срд 20:35:49 #86 №2299261 
Безымянный.png
>>2299258
и конкретно вот это не понятно
Аноним 16/02/22 Срд 20:44:37 #87 №2299273 
>>2299258
>>2299261
>если наш филд имеет value
Это пишется коротко, if (field.value)
Ну и внутри аппенд пиши свою переменную, куда ты записал результат функции "создать задачу"
Аноним 16/02/22 Срд 20:54:51 #88 №2299284 
>>2299259
>>2299259
Я все на инглише исчу. Почти.
Кароче у меня все заработало. Но я точно не смогу объяснить как я это сделал, если у меня попросят помочь.
ну я по сути гуглил ошибки. Добавил какую то хуергу в webpack.config.
Аноним 16/02/22 Срд 21:40:01 #89 №2299331 
>>2299258
Попробуйте установить React
Аноним 16/02/22 Срд 22:11:02 #90 №2299355 
стоит вкатываться? сколько времени учить до джуна, сколько в среднем до первого офера?
Аноним 16/02/22 Срд 22:21:28 #91 №2299360 
>>2299355
3 года
Аноним 16/02/22 Срд 22:25:31 #92 №2299362 
>>2299355
Дрочу уже почти год, до сих пор без оффера, и это при том, что я молод и с вышкой. Но возможно это потому что я тупой, у тебя все обязательно получиться за полгодика.
Аноним 16/02/22 Срд 22:27:23 #93 №2299365 
>>2299362
вышка по программированию или левая?
Аноним 16/02/22 Срд 22:31:25 #94 №2299368 
>>2299365
Информатика и вычислительная техника, брат.
Аноним 16/02/22 Срд 22:33:46 #95 №2299371 
>>2299355
Месяц попробуй потратить на это. Я скоро год как дрочу, но мне в процессе начало нравиться, когда после верстки начал жс дрочить.
Сейчас начал пет-проект на реакте и тайпскрипте, как доделаю, начну откликаться на все подряд.
Аноним 16/02/22 Срд 22:41:32 #96 №2299375 
>>2299371
сколько времени тратишь в день?
Аноним 16/02/22 Срд 22:45:04 #97 №2299379 
>>2299375
6 часов минимум трачу, брат.
Аноним 16/02/22 Срд 23:06:40 #98 №2299396 
Начав делать тестовые, заметил что очень сильно плаваю по серверной части (api, запросы, реквесты, JWT и т.д.). Вообще не понимаю, приходиться копипастить чужие решения. Как можно вкатиться в бекенд, будучи фронтендером?
Аноним 16/02/22 Срд 23:21:14 #99 №2299408 
>>2299371
Че за пет если не секрет?
Аноним 16/02/22 Срд 23:21:38 #100 №2299409 
>>2299408
мувисерчер
Аноним 16/02/22 Срд 23:37:34 #101 №2299418 
>>2299375
Тролль какой-то за меня отвечает, рака жопы ему.
У меня около 6 часов в день свободно, но я не могу после работы мгновенно переключиться, еще и работаю удаленно, т.е. тупо RDP отключить и запустить вебшторм это сложно, я ем, смотрю видосик какой-нибудь, плюс производительность невысокая, т.к. после работы учиться сложно.
>>2299408
С апишки дергаю данные и картотеку делаю, чтобы показывало несколько карточек и при клике на нее буду делать роутинг на полную информацию. Но я выбрал неудачное апи (pokemon), так что другое что-то поищу.
Аноним 17/02/22 Чтв 01:41:02 #102 №2299515 
>>2299418
>>2299362
Хуёво резюме составил, не умеешь себя продавать
Аноним 17/02/22 Чтв 02:50:57 #103 №2299524 
>>2299515
> Хуёво резюме составил,
Написал что я закончил, свой стек. Написал, что я, якобы, делал работы для студентов на заказ и что у меня B1 английский. Описал по каким курсам у меня есть сертификаты. Оставил ссылку на гитхаб и самый сложный свой проект. В конце добавил, как у меня горят глаза и как я хочу дорасти до миддла. И что не так?
> не умеешь себя продавать
Это правда, я до этого никогда себя не продавал. Понятие не имею как это делать.
Аноним 17/02/22 Чтв 11:42:01 #104 №2299683 
>>2299362
Ты мз ДС?
Аноним 17/02/22 Чтв 11:55:53 #105 №2299705 
Гутен таг, господа. Пытаюсь освоить webpack. Пока сборка работает, однако есть вопрос: зачем нужен index.js? У меня там лишь одна строка с импортом стилей. Что-то там ещё следует добавлять?
Аноним 17/02/22 Чтв 12:17:31 #106 №2299725 
Есть массив объектов, у объектов есть поле id нужно получить самое большое значение id среди них. Как это сделать?

P.s метод length не сработает, тк айди идут не по порядку
Аноним 17/02/22 Чтв 12:20:11 #107 №2299727 
>>2299725
>массив
Array.sort по значению id.
Либо же пройтись по массиву, сравнивая и сохраняя наибольшее id.
Аноним 17/02/22 Чтв 12:20:44 #108 №2299730 
>>2299725
Все вопрос закрыт, я долбаеб айди итак правильно получал, забыл добавить онклик для кнопки ;)
Аноним 17/02/22 Чтв 12:22:43 #109 №2299735 
>>2299705
Что значит "импорты стилей"?
Аноним 17/02/22 Чтв 12:23:44 #110 №2299736 
тестовое.PNG
Что думаете о тестовом на джуна?

Мне HR сказала что его обычно за пару часов делают, я уже часов 12 ебусь, осталось ток рефакторинг сделать. Его вообще реально(джуну) за пару часов замутить?
Аноним 17/02/22 Чтв 12:24:17 #111 №2299737 
>>2299168
А сколько времени изучение пхп лапавел займет? Вернее именно знание и понимание бэкенда. Я из бэкенда знаю толтко как хттп работает, какие бывают заголовки и код ответа.
Аноним 17/02/22 Чтв 12:25:32 #112 №2299738 
>>2299725
const maxID = Math.max(...arr.map({ id } => Number(id)))
Аноним 17/02/22 Чтв 12:33:47 #113 №2299742 
>>2299736
Тут зависит от того, сталкивался ли ты с похожими задачами или нет. Я бы наверно справился, здесь нет ничего такого, что я не делал.
Аноним 17/02/22 Чтв 12:36:20 #114 №2299744 
>>2299683
Да
Аноним 17/02/22 Чтв 12:37:51 #115 №2299745 
>>2299736
Накинь по часу за каждый пункт, уже 6 часов получится. За пару дней реально сделать, за два часа точно не
Аноним 17/02/22 Чтв 12:40:16 #116 №2299748 
>>2299745
Ну учитывая что я джун, то с большинством нет, много всего приходилось по ходу гуглить
>>2299742
Ну вот прям взять все время что я кодил + гуглил, убрать время на покурить и залипание, то где-то 8 выходит, плюс рефакторинг нужно сесть делать, это думаю займет пару часов еще. крч 6-12 часов более реальная цифра. А то я прям охуел и думал это я такой долбаеб медленный
Аноним 17/02/22 Чтв 12:40:47 #117 №2299749 
перепутал ответы, ну да хуй с ним
Аноним 17/02/22 Чтв 12:48:00 #118 №2299756 
>>2299748
С настроенным пайплайном можно и за два часа. Вот только если у тебя есть настроенный пайплайн, то ты уже мидол. Так что скорее всего хрюша передала то, что мидол ей сказал.
Аноним 17/02/22 Чтв 12:48:07 #119 №2299757 
Помогите с гитхабом пожалуйста. Создаю в нем репозиторий. Скидываю на комп командо git pull <адресс репа>.
Делаю все нужные изменения. Делаю коммит. И хочу залить обратно. Делаю командой git push <адрес репа>. Но какого то хуя он создает новую ветку в репозитории. Основная ветка main а та которую заливаю master. Как сделать чтобы сразу в main заливались файлы?
Аноним 17/02/22 Чтв 12:53:14 #120 №2299762 
>>2299757
git push <адрес репа> main
Аноним 17/02/22 Чтв 13:03:22 #121 №2299784 
>>2299762
Пишет
error: src refspec main does not match any
Аноним 17/02/22 Чтв 13:13:41 #122 №2299798 
>>2299735
Глобальных.

import './theme/styles.scss';
Всё. Больше там ничего нет.
Аноним 17/02/22 Чтв 13:29:44 #123 №2299818 
upa.png
Есть какая нибудь удобная либа для создания подобных элементов?
Аноним 17/02/22 Чтв 13:31:05 #124 №2299821 
>>2299818
npm install @zaebis/counter
Аноним 17/02/22 Чтв 13:38:23 #125 №2299827 
>>2299818
canvas + что-нибудь для его обертки
Аноним 17/02/22 Чтв 13:38:29 #126 №2299828 
>>2299784
git pull адрес main.
Потом прост git push адрес
Аноним 17/02/22 Чтв 13:45:22 #127 №2299837 
react flow.png
>>2299736
> Мне HR сказала что его обычно за пару часов делают
Пиздит.

Есть вопрос по реакту. Вот решил я значит весь такой правельный, делать максимально чисто по гайдам. Верстраем значится виджет, есть у нас корневой компонент который держит весь стейт и логику его обработки, внутри от него по дому уже идут функциональные компоненты без состояния.
Но ведь если в условном компоненте Ж, произойдет событие, состояние корневого компонента изменится, и реакт после изменения состояния заререндерит всех потомков заного? Чего бы я там себе в голове не на мемоизировал, это его дефолтное поведения и я должен сказать спасибо, ведь соседние виджиты не заререндерелись?
Аноним 17/02/22 Чтв 13:46:31 #128 №2299839 
>>2299757
>master
♂♂♂ прямо в ASS

>>2299818
>подобных элементов
Это называется gauge.
Аноним 17/02/22 Чтв 13:55:01 #129 №2299851 
>>2299837
Хуйня у тебя гайды, стейт приложения надо выносить из компонентов, если он используется в нескольких местах и объявлять в самом компоненте, если он используется только в нем, иначе будет всё дерево ререндерится на каждое изменение стейта, если не мемоизировать всё через React.memo.

"Функциональные компоненты без состояния" - это тоже звучит как что-то из древнего прошлого, сейчас всё пишут на функциях и компоненты с состоянием и без, классы нужны только в особых кейсах типа ErrorBoundary.
Аноним 17/02/22 Чтв 13:58:11 #130 №2299853 
>>2299837
Пихай значит всё в редух, там не нужно ничего перерендеривать, всё саамо делается.
Аноним 17/02/22 Чтв 14:17:46 #131 №2299873 
>>2299839
>gauge
Мне не только такие, разные формы телеметрии
Аноним 17/02/22 Чтв 14:19:16 #132 №2299877 
upa2.png
>>2299827
Попробовал такой же нарисовать с помощью canvas, хуево как то выглядит
Аноним 17/02/22 Чтв 14:30:59 #133 №2299889 
Безымянный.png
1.png
Попытался настроить вебпак так, чтобы он компилировал разные блоки в разные файлы.

Появилось два файла. Я посмотрел. В двух файлах много похожего кода. Так и должно быть или я что-то неправильно сделал?
Аноним 17/02/22 Чтв 14:32:41 #134 №2299895 
>>2299851
> иначе будет всё дерево ререндерится на каждое изменение стейта
Разве рякт не умный и не проверяет че там изменилось перед тем как ререндерить?
Аноним 17/02/22 Чтв 14:38:28 #135 №2299905 
>>2299851
> и объявлять в самом компоненте, если он используется только в нем
Но ведь он может быть очень сложным, какая-нить хуебуга которая оперирует несколькими объектами предметной области. И на пулреквесте можно хуев насобирать из-за нарушения separation of concern принципа.

Алсоу, вопрос был, будет ли он ререндерить все компоненты, или только те, пропсы которых поменялись? На сколько я понял из доки, отререндерятся все, чего бы я там не хотел.
Аноним 17/02/22 Чтв 14:51:07 #136 №2299918 
>>2299889
Конечно нет, потому что ты не читал вебпаковский гайд для вкатунов.
Аноним 17/02/22 Чтв 14:54:15 #137 №2299919 
>>2299905
>Но ведь он может быть очень сложным, какая-нить хуебуга которая оперирует несколькими объектами предметной области.
Ты очевидно не знаешь о чём говоришь, так что можешь не кривляться про прдементные области.
>И на пулреквесте можно хуев насобирать из-за нарушения separation of concern принципа.
Какие нахуй пулл реквесты, ты блять компоненты не можешь скопозиционировать. Оуть, сейчас бы разметку делать учётом потенциальных пулл реквестов.
Аноним 17/02/22 Чтв 14:56:07 #138 №2299920 
>>2299919
Если не знаешь ответа на вопрос, так бы и сказал. Зачем агрессируешь на вкатуна?
Аноним 17/02/22 Чтв 15:07:12 #139 №2299937 
>>2299918
Где оно? По ссылке ОП-поста есть ссылки на ролики про вебпак 15-го года.
Аноним 17/02/22 Чтв 15:21:41 #140 №2299973 
>>2299920
Ответы на дебильные вопросы никто не знает.
>>2299937
https://webpack.js.org/guides/getting-started
Аноним 17/02/22 Чтв 16:26:56 #141 №2300026 
Киньте пожалуйста годные ссылки по тайпскрипту
Аноним 17/02/22 Чтв 16:40:31 #142 №2300041 
Редакс ВСЕ
https://www.youtube.com/watch?v=6D7IqSjCgiI
Аноним 17/02/22 Чтв 17:02:44 #143 №2300059 
>>2300041
Рекойлу 200 лет, его уже пора менять на что-то поновее
Аноним 17/02/22 Чтв 17:05:55 #144 №2300061 
>>2300026
На рутрекере вбей тс + фреймворк который хочешь использовать. Любой курс с удеми тебе подойдёт.
Аноним 17/02/22 Чтв 17:10:13 #145 №2300066 
>>2300026
https://www.typescriptlang.org/
https://metanit.com/web/typescript/1.1.php
https://typescript-handbook.ru/
Аноним 17/02/22 Чтв 17:24:48 #146 №2300082 
>>2300059
https://github.com/pmndrs/jotai
Во всём лучше. Меньше размер, интерфейс, лучше тупскрипт и т.д.
Аноним 17/02/22 Чтв 17:35:26 #147 №2300095 
Можно ли как-то скомпелириовать стили из разных папок при помощи webpack, не импортируя их руками в файл стиля.

Почему-то он видит один файл стилей, но не видит стили в разных папках.
Аноним 17/02/22 Чтв 17:40:05 #148 №2300100 
>>2300095
Если подробнее, то сперва настроил вебпак. Был файл один файл стилей, который он воспринимал, и js файл, который импортировал стили.

Добавил папку с блоком. В блоке был также код стилей и файл js с импортом стилей. Файл JS он проигнорировал, стили не скомпилировал.
Пришлось руками импортировать стили в самый первый файл стилей.

Аноним 17/02/22 Чтв 17:43:28 #149 №2300104 
>>2300100
Сделай импорт блока
Аноним 17/02/22 Чтв 17:51:13 #150 №2300114 
>>2300100
Бля, как ты думаешь вебпак знает, какие файлы являются частью бандла, а какие нет? Он блять импорты анализирует.
Аноним 17/02/22 Чтв 17:51:33 #151 №2300115 
1.png
Безымянный.png
>>2300104
Блок и так есть на странице.
Стилей нет. Импорт через JS файл не работает.
Единственная возможность подключить стили — напрямую импортировать их в другой scss файл, стили которого вебпак почему-то видит и применяет. Однако что-то мне подсказывает, что это не лучший подход.

Почему-то он один файл компилирует, а другой игнорирует.
Аноним 17/02/22 Чтв 17:55:14 #152 №2300119 
Безымянный.png
Безымянный1.png
1.png
image.png
>>2300114
И почему он один импорт видит, а другой нет? Хотя у обоих есть js файл, который их импортирует. Я не вижу между ними разницы. Вебапк же отказывается видеть один из фйлов вовсе.

Первый файл он видит. Третий он не видит.
Аноним 17/02/22 Чтв 18:01:52 #153 №2300126 
>>2300119
И как он у тебя увидит импорт блока, если он не импортирован во входную точку?
В стилях он его у тебя "видит", потому что за импорт стилей отвечает отдельный лоадер.
Аноним 17/02/22 Чтв 18:03:41 #154 №2300128 
>>2300126
>И как он у тебя увидит импорт блока, если он не импортирован во входную точку?

Я импортировал, заработало. Но разве это сильно отличается от ручного импорта в те же стили?

Почему нельзя просто написать один импорт и ебись оно всё конем?
Аноним 17/02/22 Чтв 18:12:54 #155 №2300141 
>>2300128
>Я импортировал, заработало. Но разве это сильно отличается от ручного импорта в те же стили?
В какие стили блять? Ты импортируешь джаваскрипт модули, которые включают в себя в том числе стили.
>Почему нельзя просто написать один импорт и ебись оно всё конем?
Бля, как ты думаешь вебпак знает, какие файлы являются частью бандла, а какие нет? Он блять импорты анализирует.
Если тебе так охото говнокодить, то вебпак не нужен. Просто складывай свои скриптики в папку public и ссылайся на них в шаблонах.
Аноним 17/02/22 Чтв 18:18:57 #156 №2300149 
>>2300082
>Во всём лучше.
Jotai делает не пейсбук, а значит он не нужен.
Аноним 17/02/22 Чтв 18:20:46 #157 №2300153 
Безымянный.png
>>2300141
> Просто складывай свои скриптики в папку public и ссылайся на них в шаблонах.
Не, я нашёл и скомуниздил эту срань. Стыдно, что код уворовал, но такие времена.
Аноним 17/02/22 Чтв 18:24:52 #158 №2300161 
>>2300153
MAXIMUM GOVNO
Тебе не нужен вебпак, проследуй в gulp
Аноним 17/02/22 Чтв 18:34:23 #159 №2300168 
image.png
>>2300161
>MAXIMUM GOVNO
Почему?
Аноним 17/02/22 Чтв 18:40:46 #160 №2300175 
>>2299895
Есть рендер, как изменение dom-дерева, а есть render, как изменение virtual-dom и то и то может вызывать тормоза. dom-дерево реакт ререндерит только если что-то изменилось, virtual-dom на каждый чих, если плохо понимать, что делаешь
Аноним 17/02/22 Чтв 18:48:42 #161 №2300182 
>>2299877
Потому что он тебе хуйню посоветовал, такие вещи через svg делаются
Аноним 17/02/22 Чтв 19:00:01 #162 №2300194 
>>2300115
Не в тему, но советую pugbem поставить еще, удобнее элементы писать без прописывания названия блока
.page
  ._header
вместо
.page
  .page__header
Аноним 17/02/22 Чтв 19:41:38 #163 №2300230 
>>2300161
>GOVNO
Почему говно?
Аноним 17/02/22 Чтв 19:46:29 #164 №2300233 
Безымянный.png
1.png
>>2300194
А как на паге сделать так, чтобы тег в разметке имел класс как элемента блока, так и сам был блоком? Вот так <header class="page__header header"></header>
При этом, чтобы бок был вынесен в отдельную папку и не содержал ничего лишнего.

Я только дошёл до этого, но это же извращение и боль для глаз.
Аноним 17/02/22 Чтв 19:58:41 #165 №2300251 
А этот ваш pug имеет какой-то смысл если я рякт использую?
Аноним 17/02/22 Чтв 20:02:21 #166 №2300259 
>>2300251
Нет.

Он нужен для того, чтобы руками много хтмл кода не писать.
Аноним 17/02/22 Чтв 20:16:11 #167 №2300275 
>>2300153
И чем это лучше импорта? И там и там тебе нужно ссылаться на файл строчным литералом. Вот только то, что ты использовал, никакой статический анализатор не поймёт, так как это мокрописечка вебпака.
Аноним 17/02/22 Чтв 20:19:01 #168 №2300279 
>>2300275
>И чем это лучше импорта?
Предполагается множество папок и файлов. Импортировать каждый по отдельности лень.
Аноним 17/02/22 Чтв 20:24:38 #169 №2300283 
>>2300279
Ты с таким говном очень быстро пососёшь хуйца на рекурсивных зависимостях.
Аноним 17/02/22 Чтв 20:27:32 #170 №2300287 
>>2300279
Множество папок и файлов подразумевается в любом проекте. Как потом собираешься к этим модулям обращаться? Мокрописить то, что тебе вернул `requireAll()`? Или будешь всё в глобал скоупе хранить? Для последнего вебпак только вредить будет.
Аноним 17/02/22 Чтв 20:30:46 #171 №2300290 
>>2300287
Получается, стоит импортировать каждый файл по-отдельности?
Аноним 17/02/22 Чтв 20:40:05 #172 №2300296 
>>2300290
В смысле стоит? Так ES модули работают.
Аноним 17/02/22 Чтв 20:40:26 #173 №2300297 
>>2300290
Руками вообще ничего не стоит импортировать, стоит юзать ts и автоимпорт.
Аноним 17/02/22 Чтв 20:43:55 #174 №2300301 
>>2300233
Я так сильно не делю. Есть блок - выношу в компонент. Элементы в блоке всегда, нечего их туда-сюда таскать.
Хотя я на самом деле уже член положил на паг, т.к. реакт изучаю, там это не нужно все, а разметку маленького компонента за 5 минут несложно сделать.
Аноним 17/02/22 Чтв 20:46:59 #175 №2300303 
>>2300301
>Я так сильно не делю. Есть блок - выношу в компонент.
Быстро соснёшь с таким подходом, когда элемент будет одновременно являться несколькими блоками.
Аноним 17/02/22 Чтв 23:19:08 #176 №2300416 
Подскажите как вкатиться в бэкенд. Через фронтенд или как еще(чисто год поработать)?
Аноним 17/02/22 Чтв 23:38:49 #177 №2300427 
>>2300416
Так ты особо бэк не будешь учить, когда во фронт вкатишься. В свободное время разве что. Но зачем учиться на фронта, а потом учить бэк, если можно учить бэк?
Аноним 17/02/22 Чтв 23:53:41 #178 №2300440 
>>2300416
Идешь в пхп тред. учишь пхп, устраиваешься, получаешь опыт, при желании переучиваешься на другой язык.
Аноним 18/02/22 Птн 07:01:35 #179 №2300516 
image.png
Аноны, тыкаю ради интереса один курсик, делаю примитивную браузерную игрушку, словил какое-то говно когда делал кнопку резета игры, объясните плз, почему когда я делаю for от 0 до 1 у меня просто нихера не срабатывает, а когда я убираю for и вручную дублирую все строки с нулем и единицей (пикрил) все срабатывает. Мне кажется что-то совсем глупое в синтаксисе делаю не то, но что - не пойму.
Аноним 18/02/22 Птн 07:04:02 #180 №2300517 
>>2300516
Ну т.е. иными словами почему закомменченный код не работает, а незакомменченный который делает те же вещи, но в большее количество строк работает.
Аноним 18/02/22 Птн 07:33:46 #181 №2300520 
>>2300517
for(let i = 0; i < 2 ; i++ )
Аноним 18/02/22 Птн 07:51:52 #182 №2300521 
>>2300520
Спасибо, заработало. А я рылся, думал все ломается из-за того, что я пытаюсь на всякий случай убрать класс, которого может и не быть. А в чем принципиальная разница между i<2 и i===1 в данной ситуации?
Аноним 18/02/22 Птн 08:27:59 #183 №2300524 
>>2300521
Ты бы хоть основы языка выучил прежде чем пукать
for выполняется пока i удовлетворяет условию
Аноним 18/02/22 Птн 10:27:11 #184 №2300560 
>>2300521
Чел, даже чисто визуально
>let i = 0; i === 1
>ноль равен одному?
>let i = 0; i < 2
>ноль меньше двух?
Мм, да, в чем же принципиальная разница между этими принципиально разными условиями, загадка, ебать.
Аноним 18/02/22 Птн 11:31:53 #185 №2300623 
>>2300560
Да сел после большого перерыва, начинал изучать месяц назад и забросил из-за ковида, сейчас чутка в себя пришел и вспоминаю, вот и тупанул.
Аноним 18/02/22 Птн 13:13:14 #186 №2300673 
>>2300623
Да всем поебать куда ты там сел и как давно. Тем более в интернете. Ты пытаешься оправдать себя перед самим собой, что первопоказательно твою низкую мотивацию и заинтересованность.

Всем глубоко похуй вкатишься ты или нет. Понимаешь ты что или нет. На тебя вообще всем насрать. Это тебе должно быть не все равно. Поэтому вместо того, чтобы сопли размазвать и подбирать причины собственных неудач займись уже собой.
Аноним 18/02/22 Птн 14:14:51 #187 №2300735 
>>2300673
двачую этого мотивационного тренера
Аноним 18/02/22 Птн 16:33:03 #188 №2300873 
Я могу как-то в переменную получить ссылку на "нестандартную" канву (например, создаваемую svgtoolkit, fabric.js или canvas2svg от gliffy), чтобы потом передать ее другой либе, и она все рисовала в ней, думая что это обычная канва?

НЕ СЕТКУ ПИКСЕЛЕЙ

Задача: конвертнуть векторизуемые элементы canvas (всякие круги, квадраты, градиенты) в svg не через массив пикселей, а через "парсинг" и "трансляцию" правил рисования канвы в правила рисования svg.

Умеющие такую магию библиотеки требуют, чтобы я рисовал свою канву в объекте их класса (например, var ctx = new C2S(500,500); для http://gliffy.github.io/canvas2svg/), и мне надо как-то изобразить для библиотеки, которая собственно предполагаемую к конвертации канву и рисует (к примеру тот же fabric.js или к примеру не умеющая рендерить svg, только канву https://www.chartjs.org/, или например вот этих парней https://codepen.io/wildminder/pen/wJgbLb), что она рисует на обычной канве, чтобы уже затем успешно конвертировать результат. Если что, исходник canvas2svg
https://cdn.jsdelivr.net/gh/gliffy/canvas2svg@master/canvas2svg.js
На кодепене выше можно поиграться, добавив ее.
Аноним 18/02/22 Птн 17:14:35 #189 №2300922 
>>2300873
Нахуй так жить. И мы еще смеемся над абстрактными фабриками, вон сами полиморфизм слоями наворачиваем.
Аноним 18/02/22 Птн 17:25:37 #190 №2300947 
>>2300516
Что за игра?
Аноним 18/02/22 Птн 17:29:38 #191 №2300957 
>>2300922
А какие варианты? Переписать половину кодовой базы библиотеки чтобы вытащить наружу движок рисования и надеяться, что сделал это без багов?
>>2300922
> вон сами полиморфизм слоями наворачиваем
Так сам по себе полиморфизм не что-то плохое, как раз вот для подобных задач, только я не уверен, что он тут применим, классы-то "неродственные" могут быть.
Аноним 18/02/22 Птн 17:39:34 #192 №2300975 
Файрфокс скоро ФСЁ
Аноним 18/02/22 Птн 17:43:03 #193 №2300983 
>>2300975
Пруфы?
Аноним 18/02/22 Птн 17:46:08 #194 №2300991 
>>2300983
Доля в 5% и бабки от конкурента,чем не ФСЁ?
Аноним 18/02/22 Птн 17:48:10 #195 №2300995 
>>2300991
Чем это отличается от ситуации год-два-три назад, и почему тогда было не фсе?
Аноним 18/02/22 Птн 17:50:07 #196 №2300999 
>>2300995
Доля падает,чехарда в руководстве и технологиях.
Скоро хромиум станет окончательным монополистом
Аноним 18/02/22 Птн 17:52:51 #197 №2301002 
>>2300999
Насколько скоро? До или после того, как умрет пхп с жабой? Хочу быть готовым просто.
Аноним 18/02/22 Птн 17:54:02 #198 №2301005 
>>2301002
А пхп и джава каким тут боком?
Аноним 18/02/22 Птн 17:54:44 #199 №2301006 
>>2300999
>Доля падает,чехарда в руководстве и технологиях.
Опять же, чем это отличается от ситуации... Да вообще за последние 10 лет
Аноним 18/02/22 Птн 17:56:30 #200 №2301008 
>>2300999
>бабки от конкурента
будут продолжаться, чтобы местная антимонопольная не набутилила за
>хромиум станет окончательным монополистом
Аноним 18/02/22 Птн 17:57:19 #201 №2301009 
>>2301005
Они тоже скоро фсе, ты разве не знаешь? Уже лет десять умные люди об этом твердят, а ты все еще не в курсе.
Аноним 18/02/22 Птн 17:59:49 #202 №2301010 
>>2301009
Скока там сайтов исп пых,а тырпрайз джаву?
И твоя анология не верна
Аноним 18/02/22 Птн 18:03:58 #203 №2301014 
>>2301010
Я не желаю слышать претензии к моим аналогиям от того, кто на серьезных щщах спорит с таким жирным сарказмом.
Аноним 18/02/22 Птн 18:05:31 #204 №2301016 
>>2301014
Ну как там,заменил джаву в тырпоайзе?
А мозилла скоро заменят вообще
Аноним 18/02/22 Птн 18:07:25 #205 №2301017 
>>2301016
Кажется, у кого-то уже началась весна.
Аноним 18/02/22 Птн 18:21:43 #206 №2301041 
>>2301017
Есть что сказать по делу?
Аноним 18/02/22 Птн 19:24:00 #207 №2301108 
я тупой

let array = [1,2,3];
let secondArray = [];

array.forEach(еl => {
secondArray[еl] = 'test';
})

console.log(secondArray)
> [undefined ,"test" ,"test" ,"test"]

возвращает аррай где первый елемент пустой, как этого избежать?

Аноним 18/02/22 Птн 19:25:00 #208 №2301109 
>>2301108
блять, я понял
забейте

можно оббосать, мамка куртку постирает
Аноним 18/02/22 Птн 22:28:14 #209 №2301240 
Безымянный.png
>>2297966 (OP)
Друзя, подскажите как это реализовать. Тудушка на ваниле. конкретно не понятно, как добавить чекбокс к появляющейся таске и вообще как правильно это написать по данному гайду. Заранее спасибо
Аноним 19/02/22 Суб 01:11:06 #210 №2301346 
>>2301240
Просто не забудь сделать append
Аноним 19/02/22 Суб 12:37:23 #211 №2301468 
16156687543660.jpg
>>2301240
>велью инпута
>прокидывает объект
Аноним 19/02/22 Суб 12:57:03 #212 №2301476 
>>2301240
Не понял архитектуру твоей тудушки, но допустим будет типа такого

function createTask(){

//тут мы создаем DOM элемент таски
let task_element = document.createElement("DIV");
let task_text = document.createElement("SPAN"); task_text.textContent = "Я таска."
let task_checkbox = document.createElement("INPUT"); task_checkbox.setAttribute("type", "checkbox");
task_checkbox.classList.add("status"); // добавляет ебаный статус как хочет автор гайда, получите, распишитесь.
task_element.append(task_checkbox); // тот самый апенд чекбокса к таске.
task_element.append(task_text);

// навешиваем листенер с реагированием на клик и функцией completeTask
task_checkbox.addEventListener("click", completeTask);

}

function completeTask(event){
// проверяем чекнут ли чекбокс или нет event.target.checked true/false
}

Но мне непонятно зачем делать срабатывание чекбокса по клику, а не по change.
Аноним 19/02/22 Суб 13:36:40 #213 №2301499 
Аноны, какая сейчас зп у мидлов?
Цены выросли неслабо, есть ощущение что застоялся и мало повышаю, но и наглеть не хочу.
Сколько получаете? Что делаете на работе? Как устраивались?

Сам получаю 2500, 1.5 лет опыта фулстак node\vue
Аноним 19/02/22 Суб 15:46:02 #214 №2301587 
Нужно ли для вката на react-джуна учить redux-saga?

Часто ли в реальной жизни saga применяется? Или в 99% случаев можно обойтись thunk'ом?
Аноним 19/02/22 Суб 18:54:56 #215 №2301705 
image.png
Не душите сильно за нубские вопросы голова просто пухнет и простейшая инфа иногда ставит в тупик.

Тыкните носом пожалуйста, почему при нажатии кнопки не срабатывает функция?
Аноним 19/02/22 Суб 19:05:54 #216 №2301713 
>>2301587
Бля, от проекта ж зависит, чо ты
Достаточно просто знать, на собесе один хуй будешь отвечать, что a.getUser() вернет undefined))0)
Аноним 19/02/22 Суб 19:15:14 #217 №2301715 
>>2301705
All убери и работай нормально, как с единичным элементом.
Если много кнопочек и всем надо листенер, for of юзай.
Аноним 19/02/22 Суб 19:23:49 #218 №2301717 
1545501624339.png
1517751519036.png
>>2301705
Хз, выглядит как будто должно работать. И у меня работает.
Аноним 19/02/22 Суб 19:45:51 #219 №2301744 
image.png
>>2301715
В том и дело что без ALL работает(на пикче), я просто не понимаю почему с ним не хочет.

>Если много кнопочек и всем надо листенер, for of юзай.
Спасибо, возьму на вооружение.

>>2301717
Хм, спасибо что попробовал, повтыкаю еще, полюбому же я где то что то запорол.

Аноним 20/02/22 Вск 07:54:15 #220 №2302034 
Я на ютубе курс нашел слегка староватый по реакту, там redux redux-thunk применяется в уроках.

Подскажите, насколько сложно переделывать код с redux на redux-toolkit?
Аноним 20/02/22 Вск 11:58:31 #221 №2302150 
>>2302034
>с redux на redux-toolkit
Так они же одинаковые
Аноним 20/02/22 Вск 12:14:49 #222 №2302185 
image.png
Подскажите, почему код не работает?
Аноним 20/02/22 Вск 12:22:06 #223 №2302202 
>>2302185
Потому что ты выводишь (и возвращаешь) свойство checkProp, чтобы вернуть свойство по значению checkprop использую квадратные скобки.
Аноним 20/02/22 Вск 12:26:21 #224 №2302217 
>>2302202
>ты выводишь (и возвращаешь) свойство checkProp, чтобы вернуть свойство по значению checkprop
Так object.property и должно возвращать значение свойства, разве нет?
Аноним 20/02/22 Вск 12:29:31 #225 №2302231 
>>2302185
return obj["checkProp"]
Аноним 20/02/22 Вск 12:33:09 #226 №2302238 
>>2302217
Когда обращаешься как a.b оно думает что существует реальный ключ b, а не подставляет реальное значение переменной, поэтому тебе нужно a["b"]
мимо
Аноним 20/02/22 Вск 12:33:12 #227 №2302239 
>>2302231
obj[checkProp]
Аноним 20/02/22 Вск 14:50:06 #228 №2302418 
Зачем подключать скрипт в самом конце body, если можно подключить в head с атрибутом defer, чтобы он его предзагрузил и выполнтл после загрузки dom?
Аноним 20/02/22 Вск 15:05:46 #229 №2302433 
>>2302418
Потому что подключатор старый гайд прочитал.
Аноним 20/02/22 Вск 15:18:38 #230 №2302440 
>>2302433
Объясни, пожалуйста, как всё-таки правильнее делать
Аноним 20/02/22 Вск 15:20:57 #231 №2302443 
>>2302440
Правильнее делать в хэде с type="module".
Аноним 20/02/22 Вск 18:12:23 #232 №2302681 
Подскажите, как подписаться/отписаться на стрим в уже существующем вебсокете? Подключаюст через ws:

const WebSocket = require ("ws")
const ws = new WebSocket(URL)

ws.onopen = () => {
ws.send(JSON.stringify(Данные для подписки));
}

ws.onmessage = (message) => {
console.log(message.data, message.message)
}
ws.onclose = () => {
console.log("Disconnected..")}

ws.onerror = (error) => {
console.log(`WebSocket error: ${error}`)
}
Аноним 20/02/22 Вск 18:20:28 #233 №2302699 
>>2302681
Очевидно же отправлять сообщение на сервер и реагировать на ответно сообщщение.
Аноним 20/02/22 Вск 18:39:40 #234 №2302734 
>>2302699
Но как? сокет запущени по ws.send подучена подписка, как отписаться или добавить еще одеу?
Аноним 20/02/22 Вск 18:49:13 #235 №2302763 
>>2302734
Ну так гугли API сервера и посмотри, как поменять "подписку" на существующем сокете.
Аноним 20/02/22 Вск 18:51:16 #236 №2302767 
>>2302763
Я знаю, что нужно отправить. Как это сделать, в рамках уже запущенного сокета? Если есть туториалы, отправте туда, я почитаю.
Аноним 20/02/22 Вск 18:54:19 #237 №2302773 
>>2302767
>Я знаю, что нужно отправить.
Ну так отправляй.
>Как это сделать, в рамках уже запущенного сокета?
Очевидно же если сервер не поддерживает твою фантазию, то никак.
Аноним 20/02/22 Вск 18:58:14 #238 №2302778 
>>2301109
>>2301108
Почему?
Аноним 20/02/22 Вск 19:08:24 #239 №2302791 
>>2302773
>Ну так отправляй.
Ну так как? Ответы уровня двача, лол.
Аноним 20/02/22 Вск 19:14:38 #240 №2302798 
>>2302791
>Ну так как?
Так же, как ты отправляешь все другие сообщения на сервер через вебсокет.
>Ответы уровня двача, лол.
Какой вопрос, такой и ответ.
Аноним 20/02/22 Вск 19:32:05 #241 №2302820 
>>2301476
спсибо вот https://telegra.ph/Pishem-Todo-List-Gajd-dlya-zelenyh-09-08
Аноним 20/02/22 Вск 20:35:55 #242 №2302873 
Безымянный.png
>>2301476
хмм почем то чекбокс так и не появляется
Аноним 20/02/22 Вск 20:40:20 #243 №2302878 
>>2302873
>textContent
Аноним 20/02/22 Вск 20:54:41 #244 №2302893 
>>2302873
Тебя так и не смущает ничего на 19-й строке? Там ведь даже подчеркивается.
Аноним 20/02/22 Вск 22:07:24 #245 №2302943 
Фронтендеры, посоветуйте рецепты смузиков для вката в ИТ.
Аноним 21/02/22 Пнд 01:42:24 #246 №2303058 
image.png
аноны, привет, почему код в then работает правильно только если я оборачиваю его в async/await, разве сам then уже не должен мне гарантировать что код будет выполнен асинхронно?

Аноним 21/02/22 Пнд 03:16:38 #247 №2303069 
>>2302943
Имеешь нужные скилы
@
Вертишься в нужных кругах

Всё как и везде, анон.
Аноним 21/02/22 Пнд 06:23:53 #248 №2303093 
Пасаны такой вопрос. Сказали что разрешат мне вкатиться если быстро освою NEXT js. Насколько он сложен в сравнении с обычным реактом?
Аноним 21/02/22 Пнд 06:26:57 #249 №2303095 
>>2303093
Чуток сложнее, если ты при макакинге реакта не понял HTTP.
Аноним 21/02/22 Пнд 06:28:42 #250 №2303096 
>>2303095
Понял, бэкенд изучал, не так хорошо как фронт конечно но помокакить получалось. Значит попробую, спасибо.
Аноним 21/02/22 Пнд 07:20:43 #251 №2303103 
изображение.png
>>2303058
Отвечает Александр Друзь синтаксис языка / справочник на главе async/await / однострочник в консоли для проверки. А, нет, обознался, в 22к2 году это уже не модно, лучше кидать скрины с кодом на двач и ждать ответа часами.
Аноним 21/02/22 Пнд 08:39:28 #252 №2303115 
>>2303103
>Александр Друзь
Назвался Друзем - полезай отвечать
Аноним 21/02/22 Пнд 10:58:52 #253 №2303199 
image.png
Не могу установить vue-cli, на каком-то этапе ошибка. Написано, что из-за проблем с сетью, но интернет нормально работает. В браузере ссылку нормально открывает. Что за хуйня и как лечить?
Invalid response body while trying to fetch https://registry.npmjs.org/graphql-subscriptions: Socket timeout
Аноним 21/02/22 Пнд 13:31:50 #254 №2303315 
>>2303103
Анон, двач это единственное сообщество где я могу задать вопрос, больше я нигде не сижу, так что да, всю свою головную боль я несу сюда. И, нет, ты не прав, я погуглил справочники но ответа на мой вопрос там не нашел.
Аноним 21/02/22 Пнд 13:35:44 #255 №2303326 
>>2303315
Тогда описывай буковками нужное тебе поведение, прикладывай код который не работает, прикладывай код который работает
Аноним 21/02/22 Пнд 16:33:54 #256 №2303490 
Подскажите, как в реакте можно при изменении url'а возвращать позицию скролла в начальное состояние?
Аноним 21/02/22 Пнд 17:56:57 #257 №2303608 
image.png
Где можно найти темплейт или хотя бы пример реализации таблицы на html + jqery + bootstrap 5 со страницами, поиском, фильтрами и сортировкой?
Аноним 21/02/22 Пнд 18:15:24 #258 №2303628 
>>2303490
Начальное состояние чего?
Аноним 21/02/22 Пнд 18:51:31 #259 №2303669 
image.png
image.png
>>2303315
>ответа на мой вопрос там не нашел
Пиздобол. Первая же ссылка в гугле, пятое предложение от начала статьи.
Не говоря уже о том, что сделать ctrl+c ctrl+v аргумента в нодную/браузерную консоль - дело пяти секунд.
Аноним 21/02/22 Пнд 19:59:29 #260 №2303724 
>>2302893
дружище глянь плс https://telegra.ph/Pishem-Todo-List-Gajd-dlya-zelenyh-09-08 как прировнять филд велью к пустйо строке?
Аноним 21/02/22 Пнд 20:36:24 #261 №2303745 
Безымянный.png
>>2297966 (OP)
так и не получается повешать чекбокс на таску ._.
Аноним 21/02/22 Пнд 20:51:05 #262 №2303757 
>>2303608
>jqery + bootstrap 5
А нахуя жквери, если ее в 5 версии бутстрапа вырезали?
Аноним 21/02/22 Пнд 21:07:35 #263 №2303759 
>>2303724
Приравнять это значит поставить одно равно. Одно равно обозначает переопределение переменной.
Когда ты пишешь два равно, это проверка, равны ли два операнда, в результате возвращается ложь или истина, т.е. у тебя эта часть по-другому работает.
Аноним 21/02/22 Пнд 21:16:18 #264 №2303765 
Не бейте палками, я бекендер, решил поучиться на электроне поделать. Как рут проекта определить, от которого можно уже ссылаться на другие каталоги с шаблонами и прочими вещами?
Аноним 21/02/22 Пнд 22:16:05 #265 №2303821 
>>2303765
Открой документацию, бэкендер.
Аноним 21/02/22 Пнд 22:17:01 #266 №2303823 
image.png
>>2303745
Тебе выше указали на строчки, где у тебя ошибка, которая затирает чекбокс. Если программа работает не так как ожидается, пиши в сомнительных строчках console.log(peremennaya) чтобы отследить как меняется значение нужной тебе переменной, или освой дебаггер жса в DevTools в своём браузере.
Аноним 21/02/22 Пнд 23:04:27 #267 №2303878 
>>2303821
Открыл, т.к. знал что высер будет примерно такой. Странно что целый час ждал, а не через 3 минуты появился
Аноним 22/02/22 Втр 08:06:33 #268 №2303992 
5EE20170-A236-4B6B-986B-B96BF18402CA.jpeg
Аноним 22/02/22 Втр 08:14:27 #269 №2303993 
>>2303765
Хранить каталоги в SQLite, так как один хуй при билде пути будут другие, особенно если балуешься вебпаком.
Аноним 22/02/22 Втр 13:33:41 #270 №2304214 
изображение.png
Сколько просить в вакансии реакт макаке? Стек: React, Typescript, Mobx, webpack/vite, axios/graphql, небольшой опыт работы с Docker. В свободное время пилю фуллстак проект, стак MERN + Next на фронте. Опыт работы год.
Аноним 22/02/22 Втр 13:58:41 #271 №2304248 
16336510894230.png
Рекатобояре. Есть стейт. В нем есть массив из обьектов. Как манипулировать этим стейтом (круд операции)? В интернете прочитал, что в рекате изменение состояния происходит путем полного замещения, а не слияния. Т.е если я хочу добавить новый обьект в массив, я должен скопировать состояние (через спред или Object.assign) добавить в массив мой новый обьект (через метод пуш) и обновить состояние (setState). Енто так?
Аноним 22/02/22 Втр 14:16:03 #272 №2304268 
>>2304214
>React, Typescript
>Опыт работы год
От 90
Аноним 22/02/22 Втр 15:27:22 #273 №2304311 
>>2304248
const newState = oldState.concat(newItem)
Аноним 22/02/22 Втр 16:22:37 #274 №2304340 
изображение.png
изображение.png
Аноны, я в js совершенно ничерта не понимаю, но тут скачал проект сайта с гитхаба, и хочу его запустить по крайне мере локально. Сама папка с проектом имеет такое содержимое - Пик 1, на втором пике папка src. Собственно как всё это дело заставить показывать сайт?
Аноним 22/02/22 Втр 16:27:45 #275 №2304344 
D473FCEC-2E18-444A-A245-9E2CE867EC18.jpeg
Как вы первый раз заработали на javascript?
Аноним 22/02/22 Втр 16:31:51 #276 №2304347 
>>2304344
На работе зарплату получил. Полностью черную
Аноним 22/02/22 Втр 16:31:58 #277 №2304349 
>>2304344
не снимая свитер
Аноним 22/02/22 Втр 17:02:15 #278 №2304374 
pR2KGjW1LEM.jpg
Сколько просить в вакансии Vue макаке? Стек: ХТМЛ, Цсс, Ванильный Жабаскрипт, Vue, webpack/vite, axios, небольшой опыт работы с Docker. В свободное время душу питона и смотрю Владилена Минина. Опыт работы 3 месяца.
Аноним 22/02/22 Втр 17:12:37 #279 №2304379 
>>2304374
А ты няшный?
Аноним 22/02/22 Втр 17:34:40 #280 №2304392 
>>2304340
В пакаге.жсон должна быть команда чтобы всё это запустить на дев сервере или собрать. Наверное ноду нужно будет поставить https://nodejs.org/en/ /
Аноним 22/02/22 Втр 17:49:15 #281 №2304401 
Кто использует styled components? Внутри бэктиков приходится вручную CSS вбивать, автозаполнение не работает. Как это исправить можно?
Аноним 22/02/22 Втр 17:52:41 #282 №2304403 
>>2304379
Да, а как это к прогерству относится?
Аноним 22/02/22 Втр 18:09:56 #283 №2304411 
Поясните за мемоизацию в реакте. Вот есть у меня тудушка в реакте. Есть главный компонент (App.js), этот компонент рендерит список задач (ul) и форму ввода задачи. Каждая задача имеет кнопку 'удалить'. Когда нажимаю на эту кнопку происходит рендер как и список задач так и формы. Это же не ок, что при изменении списка у меня заодно и рендерится форма, с которой я никак не взаимодействовал.
Причем форма инпута перерендывается из-за того, что я передаю в нее функцию добавления новой записи в App.js (из самого же компонента дергаю эту фунцию в качестве пропса)
Ну я тут прочитал про мемоизацию, да и обернул функцию добавлению в useCallback да и сам компонент формы в memo.
И тут вопрос: я все правильно сделал? Это не выстрел в голову? Ведь сейчас, когда я взаимодействую со списком (меняю чекбокс, удалаю элемент) рендер формы не происходит, только самого списка?
Аноним 22/02/22 Втр 18:19:31 #284 №2304418 
>>2304401
Поставить ide/плагин к редактору
Аноним 22/02/22 Втр 18:28:46 #285 №2304426 
>>2304374
От 65-70.
Про Минина только не говори ничего и не смотри его желательно. Он многое объясняет не так, как оно работает, а так, как он понял. И понял он не всегда правильно. Почему он не может открыть доку, трудно сказать.
Аноним 22/02/22 Втр 18:57:50 #286 №2304433 
изображение.png
>>2304392
Нашёл вот это. Что с ним делать? Ноду поставил
Аноним 22/02/22 Втр 19:02:56 #287 №2304434 
>>2304433
пиши в консоли node run dev-server
или node run build
В зависимости от твоих целей
Аноним 22/02/22 Втр 19:06:34 #288 №2304436 
>>2304433
А и node install сначала чтобы зависимости были.
Аноним 22/02/22 Втр 19:08:54 #289 №2304438 
>>2304436
>>2304434
Бля, не node, npm конечно.
Аноним 22/02/22 Втр 19:09:48 #290 №2304439 
>>2304436
Это сделать в директории программы или system32? Или разницы нет?
Аноним 22/02/22 Втр 19:11:02 #291 №2304440 
>>2304439
в директории хуйни с пакаге.жсон
Аноним 22/02/22 Втр 19:11:38 #292 №2304441 
изображение.png
Поставил короче в system32 с флагом -g
Вот такое пишет
Аноним 22/02/22 Втр 19:14:08 #293 №2304444 
>>2299736
На какую зп? Вакансия был с опытом или без?
Аноним 22/02/22 Втр 19:30:16 #294 №2304453 
16031722700870.jpg
>>2304426
А че так много?

Про владилена - я на самом деле тоже плох в доке, учился с самого начала тупо на примерах, потому что непонятно куда эти куски кода вставить, как их использовать, как изменять. А когда на примере, то сразу понятно что и где. Короче другой подход, наверное. Некоторые только доку прочитав уже начинают проекты пилить, а я походу тугой.

Спасибо за ответ, кстати
Аноним 22/02/22 Втр 19:39:41 #295 №2304464 
>>2304453
>А че так много?
Я перепутал, у тебя тайпскрипт не указан, поэтому на 5-10к срезай минимальную планку.
Не работайте блядь за 40к, вы ебанулись что ли. Особенно с коммерческим опытом более месяца.
Аноним 22/02/22 Втр 19:45:01 #296 №2304469 
>>2304464
Спасибо, пойду смотреть в сторону тайпскрипта.

А насчет месяца как-то непривычно, это же всего месяц, вообще непривычно, что новички могут получать даже 40 к, при том без специального образования и все такое

офигеваю, короче
Аноним 22/02/22 Втр 19:50:32 #297 №2304476 
>>2304441
Бамп. Что делать?
Аноним 22/02/22 Втр 19:50:59 #298 №2304477 
>>2304469
Если не знаешь, сколько попросить, просматривай вакансии, где указан доход и примерно среднее число проси.
Ну или доверься данным хабр карьеры, у них джуны во фронте 50к в среднем зарабатывают.
Алсо, ты 3 месяца отработал и продолжаешь работать, просто ищешь место потеплее? Или уже уволился и ищешь новое? Сколько получал или получаешь?
Аноним 22/02/22 Втр 20:14:51 #299 №2304497 
>>2304477
20 получаю, это вообще первая работа, до этого месяца 3 пилил мелкие проектики и учился, потому еще есть ощущение, что вообще ничего не могу. Даже 20 к на этой галере стыдно было поначалу получать.

А думаю о вакансиях, потому что в этйо компании платят 50 к "бате бекендеру"...(который кстати меня и дрочит по люббой мелочи в коде, что тоже иногда заставляет задуматься) Ну типа это несерьезно же для человека, работающего 4 года. Я о зарплате.

А насчет наездов конечно понятно, что это помогает развиваться, но когда человек может потратить полчаса времени просто чтобы подушнить в стиле - а ты доку читал, а вот этот раздел изучал, а вот тут тогда у тебя что - и там такая мелочь, о которйо можно сказать и мне даже никаких объяснений не нужно будет, чтобы исправить, тупо забыл удалить один консоль лог, который был прописан чисто для моего удобства во время разработки. И вот после таких мелочей лекция по полчаса.

Ой, чет я много написал
Аноним 22/02/22 Втр 20:27:30 #300 №2304508 
>>2304497
Бля, жизненно, только получаю еще меньше. 18 лвл, пилю интернет-магазин на реакте и ноде. Считай, фуллстеком за еду работаю. Но с ментором повезло, славный парень, за несколько месяцев столько информации в меня вбил.
Аноним 22/02/22 Втр 20:35:20 #301 №2304516 
>>2304497
>>2304508
Пиздец, это из-за вас столько наглецов, предлагающих бесплатные 3-месячные стажировки и требующие дохуя за нихуя.
Немедленно обновляйте резюме и откликайтесь, за зарплату меньше 45 харкаете в ебало и идете дальше.
Аноним 22/02/22 Втр 20:43:35 #302 №2304520 
>>2304516
> за зарплату меньше 45 харкаете в ебало
Да я бы с радостью, но живу в ДНР, тут такие копеечные зарплаты буквально у всех. Посижу еще хотя бы полгода на этом месте, окрепну как джун, пет какой-нибудь сделаю и буду пытаться в российские компании на удаленку устроиться.
>>2304508 -кун
Аноним 22/02/22 Втр 20:45:48 #303 №2304521 
>>2304520
Как там у вас сейчас? Почему не переехал?
Аноним 22/02/22 Втр 20:52:59 #304 №2304529 
>>2304521
> Как там у вас сейчас?
Херово. Непонятно, что дальше будет. На улице ополченцы молодых парней ловят и отправляют воевать с невидимым врагом.
> Почему не переехал?
Некуда, да и у родителей столько денег нет. Планирую копить на переезд.
Аноним 22/02/22 Втр 20:54:53 #305 №2304530 
>>2304476
Ладно, с этим разобрался. Как понять, какой jsx файл за какую страницу отвечает?
Аноним 22/02/22 Втр 21:00:28 #306 №2304536 
>>2304520
Так ты наверное и сейчас на удаленке стажируешься? Или все таки локальный айти бизнес в днр еще шевелится?
Аноним 22/02/22 Втр 21:06:47 #307 №2304540 
>>2304530
Нет, в офис хожу. Айти это громко сказано, у нас даже такого отдела нет, просто "отдел продаж". А так, программистов, ученых и прочих головастых тут не любят. Зато 100500 вакансий а-ля таскать мешки или город обустраивать. Ну или вояки.
Аноним 22/02/22 Втр 21:16:51 #308 №2304548 
>>2304529
Пыня же там кого-то эвакуировал, не?
Аноним 22/02/22 Втр 21:23:32 #309 №2304551 
>>2304548
Да, есть такое, сейчас эти эвакуировавшиеся хуй без соли доедают вдалеке от дома. Не так много людей эвакуировалось, на самом деле.
Аноним 22/02/22 Втр 21:37:14 #310 №2304555 
Сегодня знакомился с коллективом. Взяли на джуна. Одни блядь армяне в компании. В отделе со мной из 10 человек 4 армяна. Откуда их столько в it? Притом что некоторых лет по 40 и такой вид у них словно еще вчера арбузами на рынке торговали.
Аноним 22/02/22 Втр 21:49:13 #311 №2304561 
Безымянный.png
>>2303823
>>2303759
спасибо большое исправил, но вот именно в этом коде если таск. текст контент велью оставльять то таска пишется но нет чекбокса если убрать велью то стакается чекбокс но таска не пишется. хочется понять что хочет именно этот автор гайда https://telegra.ph/Pishem-Todo-List-Gajd-dlya-zelenyh-09-08
Аноним 22/02/22 Втр 21:59:50 #312 №2304572 
8619723b3f52c210c4133.png
>>2304561
Huh.
Аноним 22/02/22 Втр 22:08:06 #313 №2304576 
Анончики! Программисты, ну что же вы? Триста тыщ в микросекунду, неужто не поможете вкатунцу риактридаксовскому переменную объявить?
Аноним 22/02/22 Втр 22:10:21 #314 №2304578 
>>2304555
Деанон по количеству армян в команде
Аноним 22/02/22 Втр 22:20:46 #315 №2304590 
>>2304555
Зависит от твоего места жительства. На Кубани вероятнее всего будет куча армян, в ДС тоже может повезти, а вот в Сибири.....
Аноним 23/02/22 Срд 00:10:04 #316 №2304646 
Какой видеоплеер лучше всего?
Аноним 23/02/22 Срд 00:34:10 #317 №2304655 
Использует кто recoil на галере? Пожалели, что отказались от классики или все гладко?
Аноним 23/02/22 Срд 07:17:30 #318 №2304683 
>>2304646
plyr
Аноним 23/02/22 Срд 07:39:57 #319 №2304688 
>>2304590
ДС. А так в целом не мешают. Думал начнутся смехуечки типа "гыыыы 30 лет и только джун" но наоборот только поддержали типа только долбоеб смеется над ищущими свой путь людьми.
Аноним 23/02/22 Срд 08:17:10 #320 №2304691 
>>2304530
Бамп.
Ещё попытался поднять сайт на firebase, но у меня ничего не выходит, хотя делал по инструкции. Сам сайт - https://github.com/itfeelsharsh/shop
Буду очень благодарен, если вы мне поможете. Там ниже есть инструкция, я делаю по ней, потом по инструкции firebase:
firebase login
firebase init
firebase deploy
Пишет, что deploy успешен, но при открытии ссылки ошибка, и в firebase версия проекта не появляется.
Аноним 23/02/22 Срд 09:23:56 #321 №2304716 
>>2304692
пошел нахуй, репорт
Аноним 23/02/22 Срд 10:28:39 #322 №2304741 
>>2304530
https://github.com/itfeelsharsh/shop/blob/main/src/routers/AppRouter.jsx
https://github.com/itfeelsharsh/shop/blob/main/src/constants/routes.js
Аноним 23/02/22 Срд 10:58:56 #323 №2304750 
Господа, есть следующая проблема. В зависимости от размера страницы, нужно навешивать класс на body, чтобы отрегулировать поведение выпадающего меню. На больших размерах достаточно ховера, на малых нужен клик по меню для его открытия.

Есть код, который изначально проверяет размер экрана и вешает нужный класс. Однако это не помогает при изменении размера экрана. Т.е если изначально был открыт десктоп, то его класс будет висеть и при уменьшении размера экрана до мобильного.

Нужно, чтобы класс также менялся и при изменении экрана. Желательно, ниже определённого размера. Такое только с resize() можно решить? Есть какие-нибудь решения лучше?
Аноним 23/02/22 Срд 11:22:04 #324 №2304762 
>>2304750
>Так как события изменения размера могут срабатывать с высокой скоростью, обработчик событий не должен выполнять дорогостоящие операции, такие как модификации DOM.

Навесить класс дорогая операция?
Аноним 23/02/22 Срд 11:39:44 #325 №2304775 
>>2304750
А ты без классов сделай через адаптив
а в js уже смотри размер экрана и в зависимости от этого навешивай события. при window.width<768 например события для моб.версии а при большем для обычной
Аноним 23/02/22 Срд 11:49:29 #326 №2304782 
Безымянный.png
Код не слишком плохой с точки зрения той же производительности?

>>2304775
Поведение прописано в стилях в зависимости от того, какой класс есть. Собственно, там и был адаптив. Проблема была в том, что если я меняю экран через инструменты браузера, то первоначальный класс не менялся.

Событие клика срабатывает при наличии элементов для клика и нужного класса.
Аноним 23/02/22 Срд 11:55:52 #327 №2304787 
>>2304782
https://stackoverflow.com/questions/45905160/javascript-on-window-resize-end
тут описывается как сделать что-то вроде resizeend
хотя хз нахер надо. оно ж у тебя все равно выполнится 1 раз при загрузке сайта. или ты думаешь пользователь будет сидеть окошко браузера менять? это делаешь только ты.
Аноним 23/02/22 Срд 11:58:26 #328 №2304788 
>>2304782
https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Testing_media_queries
Аноним 23/02/22 Срд 12:04:12 #329 №2304795 
Безымянный.png
Почему не находит переменную, если она есть?
Аноним 23/02/22 Срд 12:08:51 #330 №2304799 
>>2304795
Экспортировать значение в виде еще одной переменной нельзя.
Аноним 23/02/22 Срд 12:15:07 #331 №2304804 
>>2304799
https://css-tricks.com/getting-javascript-to-talk-to-css-and-sass/

Как тут тогда работает?
Аноним 23/02/22 Срд 12:22:54 #332 №2304812 
>>2304804
А ты вебпак точно так же настроил? Может он компилирует до экспорта в жс.
Аноним 23/02/22 Срд 12:26:14 #333 №2304818 
>>2304561
https://jsfiddle.net/m7L9d4bf/
Аноним 23/02/22 Срд 12:37:25 #334 №2304827 
Безымянный.png
>>2304812
Порядок лоадеров тот.
style - css - sass
Аноним 23/02/22 Срд 13:00:58 #335 №2304835 
>>2304795
Ты не показал, как его импортируешь.
Аноним 23/02/22 Срд 13:16:53 #336 №2304849 
Безымянный.png
>>2304835
Аноним 23/02/22 Срд 13:18:24 #337 №2304851 
>>2304835
>его импортируешь
Кого именно его?
Я просто с вебпаком плохо лажу.
Аноним 23/02/22 Срд 13:47:06 #338 №2304862 
>>2304849
Так что там возвращается? Попробуй import {default as variables} from "..path".
Аноним 23/02/22 Срд 15:20:26 #339 №2304908 
1645539460127610898.jpg
https://www.youtube.com/watch?v=Uo3cL4nrGOk
даже старые мемесы переписываем и транспайлим
Аноним 23/02/22 Срд 15:39:53 #340 №2304914 
>>2304691
Бамп
>>2304741
Спасибт
Аноним 23/02/22 Срд 15:46:52 #341 №2304922 
>>2304914
>Спасибт
Спасибо, фикс
Аноним 23/02/22 Срд 15:51:18 #342 №2304927 
>>2303069
Спасиб, это всё есть. Рецепт смузи хотелось...
Аноним 23/02/22 Срд 20:16:20 #343 №2305127 
>>2304818
огромнейшее спасибо анонче что потратил время!, очень поможет, есть что обмазговать
Аноним 23/02/22 Срд 23:23:54 #344 №2305243 
каким хуем удержать столько знаний в голове.
Аноним 23/02/22 Срд 23:47:31 #345 №2305258 
Подскажите интересную идею для веб приложения.
Аноним 23/02/22 Срд 23:48:59 #346 №2305261 
в js все массивы по дефолту это массивы переменной длины? как они расширяются, мы же не задаем размер массива сами
Аноним 24/02/22 Чтв 00:00:43 #347 №2305273 
>>2305243
Тоже интересно
Аноним 24/02/22 Чтв 00:03:30 #348 №2305277 
>>2305243
Каких знаний?
Аноним 24/02/22 Чтв 00:05:03 #349 №2305278 
>>2305277
По вротэнду
Аноним 24/02/22 Чтв 00:08:28 #350 №2305282 
>>2305278
Опыт уже решённых каких то задач и проблем
Аноним 24/02/22 Чтв 01:35:04 #351 №2305376 
Есть тут знатоки vue? Вопрос по добавлению готовых компонентов.

Допустим создано 3 компонента:
- в первом кнопка добавления
- во втором пустое поле
- третий - это тот компонент, который нужно добавить внутрь второго

В первом(с кнопкой) прописываю вот такую функцию, она срабатывает и третий компонент создается, но естественно появляется только один компонент

methods: {
ShowComponent() {
createApp(component3).mount('#component2')
}
}

Каким образом создать список одинаковых компонентов, чтобы при каждом нажатии добавлялся еще один
Аноним 24/02/22 Чтв 04:52:02 #352 №2305399 
>>2305376
Документация, раздел рендеринг списков.
Алсо,
>createApp внутри уже работающего приложения
Поправляйся скорее.
Аноним 24/02/22 Чтв 08:55:37 #353 №2305437 
>>2305261
Длина задаётся через сеттер.
Аноним 24/02/22 Чтв 11:49:37 #354 №2305530 
есть функция
function getPersistence(num) {
let i = 0;
let number = num;
while (number > 9) {
i++;
let [a, ...b] = number.toString();
for (const k of b) {
a *= k;
}
number = a;
}
return i;
}
линтер ругается что б должна быть константой, как пофиксить?
Аноним 24/02/22 Чтв 11:52:05 #355 №2305532 
>>2305530
Задать b константой.
Аноним 24/02/22 Чтв 11:54:34 #356 №2305533 
>>2305532
куда ее задать? все решение по пизде идет
Аноним 24/02/22 Чтв 12:21:10 #357 №2305555 
>>2305533
>куда ее задать?
В лексический скоуп.
>все решение по пизде идет
Ну охуеть, заместо одно строчки придётся использовать две, кокой ужос.
Аноним 24/02/22 Чтв 12:32:06 #358 №2305562 
>>2305555
я не понимаю о чем ты, какой лексический скоуп?
Аноним 24/02/22 Чтв 13:15:28 #359 №2305578 
>>2305562
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures#lexical_scoping
Аноним 24/02/22 Чтв 13:42:20 #360 №2305603 
Бля пацы помогите плиз. Пытаюсь запихнуть в реакт факл с firebase. И пишет такую ошибку

Uncaught ReferenceError: Cannot access '__WEBPACK_DEFAULT_EXPORT__' before initialization

С чем связано?
Аноним 24/02/22 Чтв 14:37:15 #361 №2305658 
>>2305603
Пытаешься вызвать переменную до её инициализации.
Аноним 24/02/22 Чтв 14:47:26 #362 №2305662 
Объясните зачем нужны замыкания и где они вообще используются? Везде вижу пиздежь, что замыкания супер важны, то нигде не виду примеров тх использования на практике. В каких соучаях они незаменимы?
Аноним 24/02/22 Чтв 14:56:28 #363 №2305670 
>>2305662
Реакт один большой пример замыканий
Аноним 24/02/22 Чтв 14:59:02 #364 №2305673 
>>2305662
Напиши-ка обработчик события без замыканий, наркоман.
Аноним 24/02/22 Чтв 15:09:12 #365 №2305676 
>>2305662
Любая ф-ция в жс замыкание, чел.
Аноним 24/02/22 Чтв 16:44:29 #366 №2305702 
>>2305673
>>2305676
Можно писать всю эту хуйню не зная замыканий.
Аноним 24/02/22 Чтв 16:49:42 #367 №2305703 
>>2305662
Счетчик лайков, просмотров
Аноним 24/02/22 Чтв 16:59:26 #368 №2305706 
>>2305702
конечно можно, за 30к где-то. На большее тебя никуда не возьмут без выдроченной теории
Аноним 24/02/22 Чтв 17:09:52 #369 №2305716 
>>2305706
> 30к
За 60к.
Аноним 25/02/22 Птн 08:56:36 #370 №2306045 
>>2305676
>Любая ф-ция в жс замыкание, чел.
Чего? Замыкание не функция, это более широкое понятие.

https://ru.wikipedia.org/wiki/Замыкание_(программирование)

>>2305673
>Напиши-ка обработчик события без замыканий, наркоман.
Легко. Взял пример с MDN и сделал без замыкания. Мой код:

https://jsfiddle.net/zLn5vwkt/

Оригинальный код:

https://jsfiddle.net/vnkuZ/7726/

>>2305706
>конечно можно, за 30к где-то. На большее тебя никуда не возьмут без выдроченной теории
Какой еще теории?
Аноним 25/02/22 Птн 09:02:43 #371 №2306049 
>>2306045
>Взял пример с MDN и сделал без замыкания.
Почему не работает без замыкания? Фактически код делает то же самое.
Аноним 25/02/22 Птн 09:52:55 #372 №2306068 
>>2306045
Не уверен что такое замыкание, но по-моему ты вообще не понимаешь что ты нахуй пишешь.
Аноним 25/02/22 Птн 11:03:20 #373 №2306103 
>>2306045
>Легко. Взял пример с MDN и сделал без замыкания. Мой код:
Так он у тебя и не работает. Самоотсос засчитан.
Аноним 25/02/22 Птн 12:31:52 #374 №2306149 
el-risitas-laughing.gif
>>2306045
>обработчик события без замыканий
>Легко
>в теле обработчика берет document из внешнего скопа
Аноним 25/02/22 Птн 13:05:35 #375 №2306180 
>>2306149
>в теле обработчика берет document из внешнего скопа
Не гони, Вась. Должно работать. Разберусь с этим позже. С какого внешнего? Если не возвращать функцию из функции, то ничего не меняется по факту.
Аноним 25/02/22 Птн 13:13:07 #376 №2306190 
>>2306180
Ща меня сеньоры поправят, но я понял что зымакание это про то,что функция запоминает необходимые данные на момент создания и если они изменятся вне этой функции, то функция не узнает об этом, беря документ из внешней области видимости, ты не можешь гарантировать актуальность свой функции на момент ее вызова.
Аноним 25/02/22 Птн 13:13:24 #377 №2306192 
>>2306180
Ща меня сеньоры поправят, но я понял что зымакание это про то,что функция запоминает необходимые данные на момент создания и если они изменятся вне этой функции, то функция не узнает об этом, беря документ из внешней области видимости, ты не можешь гарантировать актуальность свой функции на момент ее вызова.
Аноним 25/02/22 Птн 13:22:39 #378 №2306202 
>>2306049
Тут не в замыкании дело, не работает оно потому что обработчик событий ожидает колбэк с аргументом `Event`, а процидурки он уже выполнил. Так что делает он не то же самое.
Аноним 25/02/22 Птн 13:23:52 #379 №2306204 
>>2306180
У тебя функция makeSizer ничего не возвращает. Поэтому у тебя в переменных size12, size14 и size16 будет храниться undefined.
И потом ты эти undefined-ы присваиваешь атрибутам onclick. Это же пиздец, ну.
Аноним 25/02/22 Птн 13:36:46 #380 №2306223 
>>2306190
Замыкание - простая херня. Но с далеко идущими следствиями. Замыкание состоит из 2 важных моментов. Но во многих "умных" объяснениях делают упор только на одном моменте. Поэтому многие путаются.

2 момента:
1. функция имеет доступ к внешним переменным
2. Эти переменные "существуют" пока существует функция

1. В примере с MDN внутри функции, которая возвращается из makeSizer доступна переменная size, т.к. она является для этой функции "внешней" переменной.
2. Эта переменная остается существовать (оказывается замкнутой) пока существует функция, которая ее "видела".

И собсна все, это и есть замыкание. Функции, которые "видели" эту переменную size присваиваются атрибутам onclick и в момент вызова используют значения из этих переменных size.

Нахуя оно нужно? Тоже просто. Нужно для того, чтобы не срать в общий скоуп переменными size, но иметь к ним доступ для тех ф-ций, для которых эти переменные требуются.
Аноним 25/02/22 Птн 14:33:10 #381 №2306261 
изображение.png
Хочу выцепить вкшный токен из адресной строки. Но ебучий линт меня нахуй посылает при попытке подцепить парсер на hashchange. Я это делаю как-то "неправильно" и надо по-другому?
Аноним 25/02/22 Птн 15:11:04 #382 №2306280 
>>2306261
window.addEventListener
Аноним 25/02/22 Птн 17:09:23 #383 №2306387 
>>2306202
>>2306204
Оригинальный пример на локали не работает вообще.
Аноним 25/02/22 Птн 17:16:49 #384 №2306391 
Пацаны, я осознал почему бывает больно с динамическими языками, особенно со слабой типизацией. Этот >>2306045 код не работает у меня на локали и я даже не знаю как это дебажить. Хотя в jsfiddle все работает.
Аноним 25/02/22 Птн 17:24:04 #385 №2306394 
202002051304IMG6245.JPG
Я тут сайтик погоды написал, оцените, насколько все плохо...
Такое можно показывать в портфолио?

Сайтик в работе: http://178.62.218.79:3001
Код: https://github.com/vertically-challenged/weather
Аноним 25/02/22 Птн 17:28:45 #386 №2306399 
>>2306394
Мне нравится. Только динамики нет никакой. Графику сам рисовал? Интересная.
Аноним 25/02/22 Птн 17:32:09 #387 №2306401 
>>2306399
>динамики нет никакой
А какая должна быть?

>Графику сам рисовал?
Нет, отсюда взял https://icons8.ru/icon/set/погода/dusk
Аноним 25/02/22 Птн 17:37:08 #388 №2306406 
>>2306401
>А какая должна быть?
Ну чтоб что-нибудь кликалось. Можно сделать выбор города из списка при клике на поле ввода и автодополнение там же.

>Нет, отсюда взял https://icons8.ru/icon/set/погода/dusk
Такие ламповые, аж детство вспомнил.
Аноним 25/02/22 Птн 17:46:45 #389 №2306418 
>>2306394
Неплохо, но не хватает какого-то информирования, если я ввел вместо города белиберду
Аноним 25/02/22 Птн 18:05:05 #390 №2306434 
>>2306391
Где-то накосячил значит. Должно работать.
И динамическая типизация не запрещает дебажить, дебажь на здоровье.
Аноним 25/02/22 Птн 18:35:29 #391 №2306460 
>>2306434
>Где-то накосячил значит. Должно работать.
JS исполнялся до полной загрузки страницы.

>И динамическая типизация не запрещает дебажить, дебажь на здоровье.
Ну и как? Из-за выполнения JS до полной загрузки страницы, функция возвращала null. Как такое дебажить?
Аноним 25/02/22 Птн 18:41:18 #392 №2306470 
>>2306460
Выполняй его после загрузки страницы. Охуеть блять, динамический язык ему в жопу насрал.
Аноним 25/02/22 Птн 18:46:00 #393 №2306474 
>>2306470
Вася, как дебажить если null? Он может быть по разным причинам.
Аноним 25/02/22 Птн 18:55:32 #394 №2306479 
>>2306474
Так ты же сказал причину:
>Из-за выполнения JS до полной загрузки страницы
Аноним 25/02/22 Птн 19:20:46 #395 №2306501 
-4Ih8RiljrA.jpg
Сап, анон, я вкатун, то есть ни разу продакшен не делал, так что нужна помощь.
Суть такова:
Написал приложение на react native, замутил ему простенький бэк на ноде + экспресс, и теперь мне нужно заставить их работать. Насколько я понял мне нужен VPS/VDS сервер, на который я с помощью докера или просто руками закину приложение, затем на этом сервере нужно запустить node app.js, а в приложении на native делать запросы по ipшнику сервера, так? Возникает пара вопросов:
1) Насколько это дебильный костыль? В продакшене в нормальных компаниях так и делают или я хуету какую-то неандертальскую придумал?
2) Если же даже я сделаю так, то как лучше реализовать перезапуск бэка если VPS перезагрузится или с ним еще какая хуйня произойдет?

С меня как всегда, парни.
пикрандом
Аноним 25/02/22 Птн 19:28:41 #396 №2306509 
>>2306501
>1) Насколько это дебильный костыль? В продакшене в нормальных компаниях так и делают или я хуету какую-то неандертальскую придумал?
Ты типичную клиент-серверную архитектуру дебильным костылём назвал? Ну храни тогда секретные ключи и запросы в БД на мобилке юзера, зато недебильно будет.
> 2)Если же даже я сделаю так, то как лучше реализовать перезапуск бэка если VPS перезагрузится или с ним еще какая хуйня произойдет?
Так это не проблема бэка, а инфраструктуры, которая этот бэк шатает. И однострочного ответа на этот вопрос нету, иначе бы девопс не был бы отдельной профессией.
Аноним 25/02/22 Птн 19:34:37 #397 №2306523 
>>2306501
При перезагрузке vps системд загружает докер, а докер поднимает обратно контейнеры, которые не были остановлены.
Аноним 25/02/22 Птн 19:46:06 #398 №2306535 
>>2306509
Да я не назвал ее дебильной, а лишь поинтересовался является ли она дебильной. Просто привык уже к тому что учишь что-нибудь, делаешь, а потом выясняется что это хуета и так никто не делает уже. Я так читал про http, сделал сервер, сижу довольный с мыслями типа "Ну и нихуя тут сложного!" и только после узнал что просто http уже никому нахуй не упал, давай блять сертификаты для https, хуё моё!

>>2306523
То есть мне скрипт на баше написать какой нибудь или все из каробки так работает?
Аноним 25/02/22 Птн 20:05:57 #399 №2306544 
>>2306535
> То есть мне скрипт на баше написать какой нибудь или все из каробки так работает?
https://docs.docker.com/config/containers/start-containers-automatically/
Аноним 25/02/22 Птн 21:20:15 #400 №2306576 
>>2306479
>Так ты же сказал причину:
Не морочь голову. Это сейчас по этой причине, а вообще если null, то как дебажить?
Аноним 25/02/22 Птн 21:23:31 #401 №2306578 
>>2306501
>Насколько это дебильный костыль?
Уже ответили.

>как лучше реализовать перезапуск бэка
Демонизация.

https://www.8host.com/blog/podgotovka-prilozheniya-node-js-k-proizvodstvu-v-ubuntu-20-04/
Аноним 25/02/22 Птн 21:27:04 #402 №2306580 
>>2306576
Дебажат всегда одинаково. При любой типизации. Почитай про команду debugger и дебажь как батя.
Аноним 25/02/22 Птн 22:11:38 #403 №2306596 
>>2306576
Действительно, в каких случаях Document.getElementById() может возвращать null?
Аноним 25/02/22 Птн 22:35:42 #404 №2306601 
>>2306180
Речь не про то, должно работать, или нет, а про то, что ты воспользовался замыканием, сам того не подозревая, перед этим сказав, что легко этого избежишь.
Аноним 25/02/22 Птн 22:50:02 #405 №2306603 
>>2306580
>Почитай про команду debugger и дебажь как батя.
Спасибо, испробую.

>>2306596
>Действительно, в каких случаях Document.getElementById() может возвращать null?
Так в каких же?

>>2306601
>Речь не про то, должно работать, или нет, а про то, что ты воспользовался замыканием, сам того не подозревая, перед этим сказав, что легко этого избежишь.
Не могу понять зачем там замыкание. Мне кажется можно обойтись без него, но пока не понял как.
Аноним 25/02/22 Птн 23:13:39 #406 №2306615 
>>2306509
>>2306544
>>2306578
От души, парни, буду делать.
Аноним 26/02/22 Суб 00:53:22 #407 №2306661 
Посоны, война войной, а дебильные задачи по расписанию. В прошлый раз не ответили, извините, репощу.

Я могу как-то в переменную получить ссылку на "нестандартный" canvas (например, объект канвы/контекста, создаваемый либами типа svgtoolkit, fabric.js или canvas2svg от gliffy), чтобы потом передать созданную переменную с канвой другой либе, и вот эта вторая либа все рисовала в ней, думая что это обычная канва? Такой типа полиморфизм.

НЕ СЕТКУ ПИКСЕЛЕЙ, НЕ КОПИЮ СОДЕРЖИМОГО КАНВЫ и т. д.

Задача: конвертнуть векторизуемые элементы canvas (всякие круги, квадраты, градиенты) в svg не через массив пикселей, а через "парсинг" и "трансляцию" правил рисования канвы в правила рисования svg.

Умеющие такую магию библиотеки требуют, чтобы я рисовал свою канву по правилам канвы, но не в любой канве, а строго в объекте их класса (например, var ctx = new C2S(500,500); для http://gliffy.github.io/canvas2svg/), и мне надо как-то изобразить для этой библиотеки, которая собственно предполагаемую к конвертации канву и рисует (к примеру тот же fabric.js или к примеру не умеющая рендерить svg, только канву https://www.chartjs.org/, или например вот этих парней https://codepen.io/wildminder/pen/wJgbLb), что она рисует на обычной канве, чтобы уже затем успешно конвертировать результат. Если что, исходник canvas2svg
https://cdn.jsdelivr.net/gh/gliffy/canvas2svg@master/canvas2svg.js
На кодепене выше можно поиграться, добавив ее.
Аноним 26/02/22 Суб 04:52:32 #408 №2306674 
image.png
>>2306661
>конвертнуть векторизуемые элементы canvas (всякие круги, квадраты, градиенты) в svg не через массив пикселей, а через "парсинг" и "трансляцию" правил рисования канвы в правила рисования svg.
Бери и конверти, зачем тебе для библиотеки изображать что она рисует на обычной канве? Ну сделай вторую канву, на первой библиотечной ты рисуешь круги и она их конвертит в свг, но одноврменно рисуешь и на второй своей канве для своих нужд. Но зачем?
Аноним 26/02/22 Суб 07:43:48 #409 №2306681 
>>2306603
>Не могу понять зачем там замыкание
Чел, ты шиз какой-то, без обид. Тебе указали на медицинский факт - ты хотел избежать замыкания и жидко это не получлось. И ты в ответ нас спрашиваешь "зачем оно там"?
Ну как бы, чтобы работало, не? Это просто показывает очередной раз, что бОльшая часть функций в жиэсе есть замыкания, даже когда вкатыши-диссиденты теории утверждают обратное.
>можно обойтись без него
Без замыкания у тебя получится функция уровня (a,b) => a+b. Ебаться с аргументом обработчика, чтобы получить из него то, что и так доступно из внешнего скопа, никому не уперлось и никто так не пишет.
Аноним 26/02/22 Суб 08:23:30 #410 №2306687 
>>2306045
Как кстати такая хуйня назвается? Похоже на каррирование, но там же типа когда несколько аргументов, а остается меньше. А тут один аргумент и всё убирается полностью.
Аноним 26/02/22 Суб 09:45:26 #411 №2306702 
>>2306603
> Не могу понять зачем там замыкание. Мне кажется можно обойтись без него, но пока не понял как.

Тебе же написали для чего. Прочитай по слогам:
> Нахуя оно нужно? Тоже просто. Нужно для того, чтобы не срать в общий скоуп переменными size, но иметь к ним доступ для тех ф-ций, для которых эти переменные требуются.
Аноним 26/02/22 Суб 10:16:25 #412 №2306704 
>>2306681
>бОльшая часть функций в жиэсе есть замыкания
Правильно говорить функция с замыканием.

>>2306687
Не совсем понял о чем ты.

>>2306702
Так наоборот же получается. Чтобы не цеплять глобальный скоуп, нужно чтобы все переменные в функции были связанными. Но ведь в замыкании всё наоборот, в нем все переменные не связанные.

>>2306681
>>2306702
Вы оба сами замыкание не понимаете. Научились только копировать код с замыканиями, а что, зачем, почему и как, вы не понимаете и не знаете.
Аноним 26/02/22 Суб 10:27:30 #413 №2306708 
Про замыкания
http://dmitrysoshnikov.com/ecmascript/javascript-the-core-2nd-edition/#closure
объёмная и сложная, но очень годная выжимка.
Прям ща даже ещё раз перечитаю всю.

алсо
https://www.kinopoisk.ru/film/1162915/
>Старшеклассница мечтает избавить мать от пьющего отчима-абьюзера. Якутская драма о зарождении ненависти
на вечер субботы
Аноним 26/02/22 Суб 10:35:35 #414 №2306709 
>>2306704
> Но ведь в замыкании всё наоборот
Нет, не наоборот. Любая переменная находится в определенном лексическом окружении. Либо глобальном, либо локальном. Замыкания находятся в локальных лексических окружениях, недоступных в глобальном скоупе никак иначе, кроме как через ф-цию, на которую они были «замкнуты».

В этом смысл. В глобальном окружении «суслика не видно, но он есть»
Аноним 26/02/22 Суб 10:53:44 #415 №2306713 
>>2306704
>Вы оба сами замыкание не понимаете
Но написать обработчик без замыкания почему-то не можешь именно ты, иронично.
Аноним 26/02/22 Суб 10:57:33 #416 №2306714 
тест
Аноним 26/02/22 Суб 10:58:14 #417 №2306715 
>>2306709
Ты не понял. Функция с замыканием, это та функция, у которой нет связанных переменных. Все переменные в ее теле не связанные. По простому, это значит, что в эту функцию не передаются аргументы, все переменные берутся из вышестоящего окружения.

Не правильно когда функция зависит от внешних для себя переменных. Использовать несвязанные переменные нужно осторожно. В функция должна зависеть только от входных данных. Короче, такой способ программирования приводит к бардаку.

>>2306713
Я пока и не пытался.
Аноним 26/02/22 Суб 11:06:11 #418 №2306719 
>>2306708
>объёмная и сложная, но очень годная выжимка
Есть целая книга на эту тему {Вы пока еще не знаете JS} Область видимости и замыкания
На либген есть.
Аноним 26/02/22 Суб 11:31:53 #419 №2306727 
>>2306715
> Функция с замыканием, это та функция, у которой нет связанных переменных
Нет. Функция с замыканием это функция с доступом к внешнему скоупу (поэтому все ф-ции в js это ф-ции с замыканием). Есть ли у нее связанные переменные или нет - вообще не важно.
Аноним 26/02/22 Суб 11:32:12 #420 №2306729 
>>2306715
>Не правильно когда функция зависит от внешних для себя переменных. Использовать несвязанные переменные нужно осторожно. В функция должна зависеть только от входных данных. Короче, такой способ программирования приводит к бардаку.
Ну так напиши обработчик события без замыканий, посмотрим какой там небардак будет.
Аноним 26/02/22 Суб 11:42:50 #421 №2306733 
>>2306715
Вообще тебе стоит определиться со своей позицией.
Ты либо не знаешь, что такое замыкание и зачем оно нужно и тогда тебе пояснят. Либо ты знаешь что такое замыкание и заявляешь, что «оно нинужно». Тогда тебя просто пошлют нах, чего с психом дискутировать.
Аноним 26/02/22 Суб 11:57:28 #422 №2306738 
>>2306727
Ты не знаешь что такое замыкание.

Замыкание (англ. closure) в программировании — функция первого класса, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции в окружающем коде и не являющиеся её параметрами.

>>2306729
Обязательно напишу, хотя бы попробую.

>>2306733
Я знаю что такое замыкание. Но у меня нет опыта работы с DOM. Я не вижу его необходимости в работе с DOM.

Ты тоже не знаешь что такое замыкание как и он >>2306727
Аноним 26/02/22 Суб 12:01:14 #423 №2306739 
>>2306727
>Функция с замыканием это функция с доступом к внешнему скоупу
Любая функция имеет доступ к вышестоящему окружению. Будь то функция, в которой она объявлена, или же глобальное окружение модуля. Ты не понимаешь замыкание, да и многие вещи вообще.

>поэтому все ф-ции в js это ф-ции с замыканием
Не правильно. Функция с замыканием это функция ссылающаяся на свободные для себя переменные. То есть те, которые ей не были переданы как аргументы.

Во всех языках программирования функции имеют доступ к вышестоящему окружению. Но это не делает их функциями с замыканием.
Аноним 26/02/22 Суб 12:05:40 #424 №2306742 
>>2306738
> Я знаю что такое замыкание. Но у меня нет опыта работы с DOM. Я не вижу его необходимости в работе с DOM.
Ему показали где используется - а он все равно не видит. Охуеть история :D
Ну допустим. Где же тогда, по твоему, нужны замыкания? В дом, как мы поняли, ты считаешь, что не нужны. А где нужны?
Аноним 26/02/22 Суб 12:08:21 #425 №2306743 
>>2306739
> Функция с замыканием это функция ссылающаяся на свободные для себя переменные
Ты говоришь слова, значение которых не знаешь. Что по твоему значит, что функция «ссылается» на переменную?
Аноним 26/02/22 Суб 12:27:58 #426 №2306748 
>>2306743
>Что по твоему значит, что функция «ссылается» на переменную?
Там же в одном предложении все четко объяснено.

Ссылается это значит использует в своем теле. При этом переменная не является параметром. Он взята из внешнего по отношению к этой функции окружения. Это не обязательно глобальное окружение.
Аноним 26/02/22 Суб 12:36:57 #427 №2306752 
>>2306748
Если ты все это понимаешь, то вообще не ясно, как ты не видишь смысл замыкания в мдн примере. И пишешь свою нерабочую версию без функции высшего порядка, возвращая из нее undefined. Ты хоть где-то ранее использовал замыкания?
Аноним 26/02/22 Суб 12:47:40 #428 №2306757 
>>2306752
Но ведь функция высшего порядка - архетипичный пример использования замыканий, даже похлеще дёрганья глобала.
Аноним 26/02/22 Суб 13:09:59 #429 №2306768 
>>2306752
>без функции высшего порядка
В коде с MDN нет функции высшего порядка. Ты короче плаваешь во всех темах.
Аноним 26/02/22 Суб 13:27:23 #430 №2306774 
>>2306768
Убей себя, дебил.
function makeSizer(size) {
return function() {
document.body.style.fontSize = size + 'px';
};
}
Аноним 26/02/22 Суб 13:40:24 #431 №2306781 
Вот я вкатун простой, хочу работать за две еды. Если я возьму рандомные макеты разной сложности, с какого нибудь сайта фриланса например, и исполню их это сойдёт за ПЕТ ПРОЕТЫ?
Этого хватит что бы меня хотя бы поговорить пригласили? Своих идей нет, могу только чужие исполнять.
Аноним 26/02/22 Суб 13:41:32 #432 №2306782 
>>2306768
Нет ты.
Функция высшего порядка - это функция, которая принимает или возвращает другую функцию. Это и происходит в примере мдн. Если ты этого не видишь, то даже не знаю чем тебе помочь.
Аноним 26/02/22 Суб 13:46:26 #433 №2306789 
>>2306781
Для устройства в гугл - нет, не хватит. Для устройства на работу в какие-нибудь нижние перды - может легко хватить. Тут уже от нижних перд зависит, какие тебе попадутся.
Аноним 26/02/22 Суб 13:48:01 #434 №2306790 
>>2306781
>Если я возьму рандомные макеты разной сложности, с какого нибудь сайта фриланса например, и исполню их это сойдёт за ПЕТ ПРОЕТЫ?
Да.

>Этого хватит что бы меня хотя бы поговорить пригласили?
Да.

>Своих идей нет, могу только чужие исполнять.
Да. Идеи не нужны. Научись копировать.
Аноним 26/02/22 Суб 13:59:04 #435 №2306793 
>>2306774
>>2306782
Затупил, да это ФВП. Все равно не вижу зачем нужно возвращать функцию, если можно выполнить все то же самое в самой функции.
Аноним 26/02/22 Суб 14:01:28 #436 №2306795 
>>2306781
>рандомные макеты разной сложности, с какого нибудь сайта фриланса например
В телеге каналов полно, сиди выбирай, намного лучше же верстать то, что понравилось и тема которого интересна.
Верстать сайты с вагинальными тренажерами успеешь в бою
Аноним 26/02/22 Суб 14:05:23 #437 №2306800 
>>2306789
Я написал, что работать за две еды желаю, а не в Гугл ну только если когда-нибудь во мне проснется кабанчик
>>2306795
Дайте каналы тогда, пожалуйста. И если есть каналы для вкатунов с вакансиями, то и их давайте.
Аноним 26/02/22 Суб 14:05:39 #438 №2306801 
>>2306793
>Затупил, да это ФВП. Все равно не вижу зачем нужно возвращать функцию, если можно выполнить все то же самое в самой функции.
В какой функции, наркоман?
Аноним 26/02/22 Суб 14:11:18 #439 №2306809 
>>2306793
> Все равно не вижу зачем нужно возвращать функцию
Для чего, по твоему, нужны ФВП? Вот для этого она и используется в примере мдн
Аноним 26/02/22 Суб 14:13:28 #440 №2306812 
image.png
>>2306800
>Дайте каналы тогда, пожалуйста
Чел, ты
Аноним 26/02/22 Суб 14:17:37 #441 №2306814 
>>2306812
Да,я. Я даже не знал что в телеге есть поиск.
Аноним 26/02/22 Суб 14:33:35 #442 №2306830 
>>2306801
Дураком не прикидывайся

>>2306809
>Для чего, по твоему, нужны ФВП?
Для того чтобы оперировать не только примитивными данными, но и целыми функциями.
Аноним 26/02/22 Суб 14:36:04 #443 №2306832 
>>2306830
>Дураком не прикидывайся
Прикидываешься тут дебилом ты, так как пиздишь про обработчик без замыканий, но так и не смог его высрать.
Аноним 26/02/22 Суб 14:38:04 #444 №2306837 
>>2306832
Ты делаешь вид, что понимаешь что-то, а сам только копипастить можешь. Если ты понимаешь зачем там возвращать функцию, то объясни зачем. Можешь? Сомневаюсь.
Аноним 26/02/22 Суб 14:39:15 #445 №2306840 
>>2306800
> Я написал, что работать за две еды желаю, а не в Гугл
Все будет зависеть от твоих зарплатных ожиданий. За 30к устроишься почти наверняка. Если фартовый и/или харизматичный, то есть шанс и на 60к залететь. Больше - уже вряд ли. Если только совсем повезет.
Аноним 26/02/22 Суб 14:43:02 #446 №2306846 
>>2306840
>За 30к устроишься почти наверняка.
Что нужно уметь для этого? Можно ли на удаленку?
Аноним 26/02/22 Суб 14:43:37 #447 №2306847 
>>2306830
> >Для чего, по твоему, нужны ФВП?
>Для того чтобы оперировать не только примитивными данными, но и целыми функциями.
Нет, не для этого. Они нужны (среди прочего) для того, чтобы реализовать отложенный вызов. В примере с мдн это и происходит. ФВП возвращает функции, которые будут отложенно вызваны в момент обработки события с параметрами, замкнутыми в них.
Аноним 26/02/22 Суб 14:47:47 #448 №2306852 
>>2306846
Это тебе расскажут уже на месте, я не нанимаю)
Как повезет. Может будут просить просто говнокодить на жкверях, может еще будут просить шкафы из кабинета в кабинет переставлять. Как добазаришься короч.
За 30к имхо многого просить от работника грешно. Не вредит - уже хорошо лол
Аноним 26/02/22 Суб 14:58:07 #449 №2306864 
>>2306847
>Они нужны (среди прочего) для того, чтобы реализовать отложенный вызов.
Это частный случай оперирования целой функцией вместо примитивных данных.

>ФВП возвращает функции, которые будут отложенно вызваны в момент обработки события с параметрами, замкнутыми в них.
Здесь ключевое не замкнутые переменные, а отложенный вызов. Как ты узнал, что будет отложенный вызов? Где об этом написано, что в таких случаях это происходит?
Аноним 26/02/22 Суб 15:00:22 #450 №2306866 
>>2306837
>Если ты понимаешь зачем там возвращать функцию, то объясни зачем.
Я уже обьяснил, так твой твой обосрамс засчитан.
Аноним 26/02/22 Суб 15:02:04 #451 №2306868 
>>2306864
Дебил, прочитай уже сигнатуру Event.addEventListener() и хватит тут срать в тред своей тупизной.
Аноним 26/02/22 Суб 15:07:27 #452 №2306877 
>>2306866
>пук

>>2306868
>кукарек

В общем, как и ожидалось.
Аноним 26/02/22 Суб 15:17:39 #453 №2306888 
>>2306877
Да, твой жиденький обосрамс ожидаем.
Аноним 26/02/22 Суб 15:20:59 #454 №2306894 
>>2306864
> Как ты узнал, что будет отложенный вызов?
Какой-то странный вопрос. Есть событие, которое ты хочешь обработать. Если оно произойдет - будет и вызов. Если не произойдет - не будет. Все просто.
Аноним 26/02/22 Суб 15:28:55 #455 №2306897 
>>2306894
Но там нет колбека.
Аноним 26/02/22 Суб 15:39:12 #456 №2306909 
>>2306897
> Но там нет колбека
Он там есть. Неявно в атрибуте onclick и явно в методе addEventListener. Любая обработка события использует именно колбеки.
Аноним 26/02/22 Суб 17:08:38 #457 №2306991 
1530890160203.png
Объясните популярно как проверить имплементирует ли некий объект интерфейс?
Я правильно понимаю что тайпскрипт сам так не умеет и нужно писать функцию с is, которая вручную будет проверять че там и как, а потом возвращать булеан, типа проверило?
Аноним 26/02/22 Суб 17:09:14 #458 №2306993 
Антуаны, тупой вопрос. Есть 2 страницы, которые представляют собой 2 разных компонента. Нужно получить данные по API. Ествественно, URL разные.
Получается, мне для каждого компонента надо писать componentDidMount и в нем заново писать запрос? Или это бред?
Аноним 26/02/22 Суб 17:10:38 #459 №2306995 
>>2306991
То есть это конечно работает, но чет оче громоздко выглядит. Или это типа так чтобы компилятор мог легко откинуть всё тайпскриптовое и не добавлять проверку сам?
Аноним 26/02/22 Суб 17:31:30 #460 №2307016 
>>2306991
>>2306995
Все верно. Компилятор и не будет добавлять никаких проверок, потому что их слоган "мы не будем добавлять никаких проверок".
Чтобы не делать это вручную можно взять либу типа runtypes
Аноним 26/02/22 Суб 17:36:05 #461 №2307020 
>>2306991
>Объясните популярно как проверить имплементирует ли некий объект интерфейс?
Писать джейсон-схему для объекта и по ней валидировать объект.
>>2306993
Бля я в шоке от этого вопроса. Нет конечно же, загружай вообще всё при открытии любой страницы.
>>2306995
Имплементация интерфейса не про валидацию в рантайме. Конкретно "имплементация интерфейса" существует только в контексте классов и тайпскрипт тебя будет по рукам бить если твой условный class Zalupa implements IZalupa {} неправильно реализует конструктор для интерфейса.
А за пределами классов это более гибкая замена жсдоковским тайпдефам.
Аноним 26/02/22 Суб 17:46:50 #462 №2307030 
>>2307020
> джейсон-схему
Чо это? Типа
{
zalupa: function (value){return isZalupa(value),
huinya: function (value){return isHuinya(value)
}
?
Аноним 26/02/22 Суб 17:53:57 #463 №2307038 
>>2307030
Нет, вот это:
https://json-schema.org
Аноним 26/02/22 Суб 23:47:41 #464 №2307202 
>>2306204
Понял. А что должно возвращать по идее?
Аноним 26/02/22 Суб 23:59:09 #465 №2307204 
>>2307202
Ну и вопросы у тебя. Функция должна возвращать то, для чего ее написали и для чего собираются использовать. Если ее используют для генерации колбэков - очевидно, она должна возвращать функции. В примере мдн она должна возвращать функции, что она и делает.
Аноним 27/02/22 Вск 00:33:22 #466 №2307214 
>>2307204
Почему она должна возвращать именно функцию? Ты гонишь не по теме.

<button type="button" onclick="document.getElementById('id1').style.color = 'red'">
Нажми меня!
</button>

Вот рабочий код. Есть событие, оно меняет стили. Не нужно никаких колбеков, никаких возвратов функций. Даже объявлять или вызывать отдельную функцию не нужно. Так теперь объясни почему нужно возвращать функцию, фанатик?
Аноним 27/02/22 Вск 00:52:26 #467 №2307217 
>>2307214
Не, не фанатик. Просто знаю матчасть.
Ты не знаешь как работает инлайн атрибут событий в теге. Когда ты присваиваешь инлайн-атрибуту выражение, оно под капотом оборачивается в функцию, которая будет вызвана при обработке данного события. Если же назначать обработчик не в инлайне тега, а в свойстве объекта - там ничего дополнительно не происходит и сразу присваивается ф-ция.

Подробнее можешь почитать, например, у Кантора.
Аноним 27/02/22 Вск 01:13:11 #468 №2307227 
>>2307217
Почему так не работает событие? При загрузке страницы функция срабатывает автоматически, а при событии не срабатывает. Ее можно выполнять из консоли, все будет работать, но не в событии.

function test(size) {
document.body.style.fontSize = size + 'px';
}

document.getElementById('test').onclick = test(20);

Если же изменить функцию, чтобы она возвращала другую функцию, то событие работает.

function test(size) {
return function () {
document.body.style.fontSize = size + 'px';
}
}
Аноним 27/02/22 Вск 01:44:59 #469 №2307234 
>>2307227
Потому что ты плохо учил программирование и невнимательно читаешь ответы, которые тебе пишут.
Еще раз - в поле onclick должна храниться функция. Эта функция будет автоматически вызвана при возникновении события. Если вместо функции в onclick записать ее вызов, то в onclick, что очевидно, будет сохранено значение, которая эта функция возвращает. Поэтому в первом случае у тебя ничего не работает, а во втором работает.
Вообще же, это весьма детские вопросы. Все они пропадут, как только почитаешь какой-нибудь учебник.
Вертска Аноним 27/02/22 Вск 03:48:16 #470 №2307252 
Вкатываюсь в JS и, естественно, начинаю с верстки.
Прошел 2 темы пока что в freecodecamp в Responsive Web Design
Поделился с другом, который сам вкатывается, но уже больше 7 месяцев, говорит, что вертска на фрикодкэмпа устарела и смысла сейчас там ее проходить нет. Так ли это и стоит ли забить на фрикодкэмп и осваивать другие источники?
Аноним 27/02/22 Вск 08:57:01 #471 №2307275 
>>2307234
>в поле onclick
В свойстве

>Еще раз - в поле onclick должна храниться функция.
В обоих случаях у меня функция.

>>2307234
>Если вместо функции в onclick записать ее вызов, то в onclick, что очевидно, будет сохранено значение, которая эта функция возвращает.
У меня в обоих случаях вызов присвоен onclick. Просто не дописал такую же строку document.getElementById('test').onclick = test(20); для второй функции.

Разница в этих двух функциях в том, что первая просто присваивает css атрибуту значение, а вторая возвращает функцию, которая присваивает css атрибуту значение. Непонятно почему первая не работает на событии, а при принудительном вызове работает.
Аноним 27/02/22 Вск 08:58:05 #472 №2307276 
>>2307252
>говорит, что вертска на фрикодкэмпа устарела
Не слушай умника. Таких пол России. Диванные эксперты.
Аноним 27/02/22 Вск 09:06:03 #473 №2307278 
>>2307275
>У меня в обоих случаях вызов присвоен onclick. Просто не дописал такую же строку document.getElementById('test').onclick = test(20); для второй функции.
Ты просто дебил блять, пиздуй уже на завод.
Аноним 27/02/22 Вск 09:53:07 #474 №2307291 
>>2307275
> В обоих случаях у меня функция
Нет. Учи матчасть, чем отличается функция от ее вызова. Это снимет твой вопрос.
Аноним 27/02/22 Вск 10:00:15 #475 №2307294 
>>2307252
там бета версия этой темы есть, вот там не устаревшая, можешь ее попробовать, если ты обычную проходил
Аноним 27/02/22 Вск 10:06:28 #476 №2307300 
>>2307291
Не тупи. Вот 2 функции

function test1(size) {
return document.body.style.fontSize = size + 'px';
}

function test2(size) {
return function() {
return document.body.style.fontSize = size + 'px';
}
}

Вот 2 вызова на событии

document.getElementById('test').onclick = test1(20);

document.getElementById('test').onclick = test2(20);

Почему первая не работает на событии? Он выполняется при загрузке страницы или если вызвать вручную в консоли.
Аноним 27/02/22 Вск 10:20:24 #477 №2307305 
>>2307300
> Не тупи
> Почему первая не работает
Потому что ты не знаешь самых базовых вещей. Не знаешь настолько, что даже не понимаешь ответы на свои вопросы. Читни кантора, рили, сразу попустит
Аноним 27/02/22 Вск 10:21:46 #478 №2307307 
>>2307300
>Не тупи. Вот 2 функции
Тупишь тут ты, уебан.
Что возвращает первая функция?
>Вот 2 вызова на событии
Это не вызовы.
Аноним 27/02/22 Вск 10:36:53 #479 №2307322 
1604524061688.png
>>2307300
Чел, посмотри что возвращает твои функции и какой из результатов больше похож на что-то, что должно стоять в onClick. Напиши вот это в консоли и помедитируй над результатами.
Аноним 27/02/22 Вск 10:55:11 #480 №2307328 
>>2307322
Я не знаю что должно быть в onclick. Первая функция не возвращает, но она переписывает css. Вторая возвращает функцию, которая переписывает css.
Аноним 27/02/22 Вск 10:57:02 #481 №2307329 
>>2307328
>Первая функция не возвращает
То есть возвращает, но я пробовал без возврата просто переписывать css. На событии не срабатывает, а срабатывает при загрузке страницы.
Аноним 27/02/22 Вск 11:17:44 #482 №2307346 
>>2307328
>Я не знаю что должно быть в onclick
https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onclick
>Первая функция не возвращает, но она переписывает css.
Она не переписывает css, она присваивает значение ключу style элемента body.
Аноним 27/02/22 Вск 11:29:08 #483 №2307357 
>>2307328
> Я не знаю что должно быть в onclick
Функция, которая будет вызвана если случится событие.
Аноним 27/02/22 Вск 11:34:43 #484 №2307365 
>>2307346
>она присваивает значение ключу style элемента body
??? Изменяется font-size тега body.

>Она не переписывает css
Почему это? Значение меняется, шрифт увеличивается. Только это происходит не по событию клик, а в момент загрузки страницы.

>>2307357
>Функция, которая будет вызвана если случится событие.
Значит у меня все правильно. Почему тогда не работает?

document.getElementById('test').onclick = test(20);
Аноним 27/02/22 Вск 11:35:54 #485 №2307367 
>>2307328
> Я не знаю что должно быть в onclick
Что мешает узнать? Мамка запретила?
Аноним 27/02/22 Вск 12:16:18 #486 №2307397 
>>2307365
>??? Изменяется font-size тега body.
Показывай тогда как там у тебя в "стилях" что поменялось.
>Почему это? Значение меняется, шрифт увеличивается. Только это происходит не по событию клик, а в момент загрузки страницы.
Да что ты говоришь?
>Значит у меня все правильно. Почему тогда не работает?
Что возвращает твоя функция, уебан?
Аноним 27/02/22 Вск 12:52:19 #487 №2307404 
>>2307397
Ну на смотри https://jsfiddle.net/seym8pzt/
Если кликнуть run, то сработает моя функция test. Если потом нажать 12, 14 или 16, то сработает событие с функцией makeSizer. Функция тест рабочая, но не работает на событии, а только при загрузке страницы. Все здесь орали, что она не может работать. Вот смотрите, она работает, шрифт становится 30px если нажать run. Она не возращает функцию, а возвращает напрямую изменение атрибута css.
Аноним 27/02/22 Вск 12:53:58 #488 №2307406 
>>2307367
Уже узнал, у меня там всё правильно.

document.getElementById('test').onclick = test(30);
Аноним 27/02/22 Вск 14:03:41 #489 №2307467 
image.png
>>2307406
Где функция, dolboeb?
Аноним 27/02/22 Вск 14:08:58 #490 №2307471 
>>2307406
Good for you
Аноним 27/02/22 Вск 14:21:46 #491 №2307478 
>>2307404
Смотри, вас тут двое - ты и жс. И кто-то из вас тупой пидор. Если ты говоришь, что у тебя все правильно, значит можешь расслабиться - тупой пидор тут жс, а ты мамин пирожочек
Изи
Аноним 27/02/22 Вск 14:51:38 #492 №2307495 
>>2307478
Дуру не гони. В onclick должен присваиваться вызов функции? Да, и у меня в этом все правильно document.getElementById('test').onclick = test(30);

test(30) это вызов функции и эта функция корректно работает без события. Так что научись выражать свои мысли. Если ты хотел что-то другое сказать, то говори на нормальном языке.
Аноним 27/02/22 Вск 14:57:30 #493 №2307500 
>>2307495
В onclick присваивается функция, пидор.
Аноним 27/02/22 Вск 14:59:31 #494 №2307504 
>>2307495
Че ты меня уговариваешь, я на твоей стороне. Ебучий жс говно в жопу заливает, очевидно же. Держись брат
Аноним 27/02/22 Вск 15:14:35 #495 №2307523 
>>2307467
Алё, Вася. Я не знаю почему после присваивания document.getElementById('test').onclick = test(30) в document.getElementById('test').onclick оказывается null. Это не ко мне вопрос. Если в консоли ввести document.getElementById('test').onclick = test(30), то увидишь, что возращает "30px" и при этом произойдет увеличение шрифта на странице до этих самых 30px.

>>2307500
>В onclick присваивается функция
Ещё один. А это по твоему что? document.getElementById('test').onclick = test(30)
Это присваивание результата функции. Вы короче сами не шарите вообще.

>>2307504
Ok. Прорвёмся!
Аноним 27/02/22 Вск 15:22:17 #496 №2307533 
Испытываю дежавю, кажется, в каком-то соседнем треде тоже недавно видел подобный жыр тупостью.
Аноним 27/02/22 Вск 15:30:57 #497 №2307547 
Функция test(30) возвращает "30px". Как может после присваивания её вызова в document.getElementById('test').onclick = test(30) возвращаться null? Что за тупость?
Аноним 27/02/22 Вск 15:35:44 #498 №2307550 
>>2307547
UPD. Есть подозрения, что в onclick нужно присваивать не просто вызов функции, а ссылку. Но этого местные фанатики конечно же не знают.
Аноним 27/02/22 Вск 15:52:07 #499 №2307559 
>>2307533
Соглы, выглядит уныло. Конечно бывают совсем отшибленные пОциенты, но с ними обычно интересней
Аноним 27/02/22 Вск 15:53:34 #500 №2307562 
>>2307523
>Если в консоли ввести
Так мне и тебе не надо чтобы в консоли, надо чтобы по клику
Аноним 27/02/22 Вск 15:54:47 #501 №2307563 
>>2307550
> Но этого местные фанатики конечно же не знают
Куда уж им. Слава богу ты с нами и в случае чего сможешь всем пояснить!
Аноним 27/02/22 Вск 15:55:53 #502 №2307566 
>>2307495
Функция и вызов функции это разные вещи если что.
Аноним 27/02/22 Вск 15:58:14 #503 №2307569 
image.png
Хм
Аноним 27/02/22 Вск 16:00:58 #504 №2307573 
>>2307569
Ой, что это
Аноним 27/02/22 Вск 16:01:23 #505 №2307575 
>>2307569
Какое хм? Там всё прекрасно написано
Аноним 27/02/22 Вск 16:01:49 #506 №2307578 
>>2307569
Какое хм? Там всё прекрасно написано
мимо
Аноним 27/02/22 Вск 16:02:27 #507 №2307579 
>>2307547>>2307550
Кстати, на этом примере полностью показано, как нас зомбируют по теме js. До этих ваших v8 все программировали на самом правильном движке js - IE5.5. А нам говорят, что мы научились программировать только с приходом node и нынешних браузеров. Только у IE5.5 был js, а все остальные программировали на FORTRAN.
Я поэтому и говорю, что с присваиванием вызова функций нас опять обманули. Потому что если вы, как программист, то вы должны знать присваивание вызовов функций древнего js:
void function{} with typeof === document new this return
Так присваивали наши предки! А когда нам придумал гугл с эплом js липовый, с этого началась подмена программирования. Фальшивый js. На нем программировать - только обманывать и ограблять DOM.
Аноним 27/02/22 Вск 16:04:23 #508 №2307583 
>>2307579
Дед, таблетки
Аноним 27/02/22 Вск 16:08:25 #509 №2307588 
>>2307559
Ну тут-то начиналось все за здравие, а потом, не вынеся бремени задачи "напиши обработчик без замыкания", он решил скатить все в клоунаду. Но позора ему все равно не избежать, анонимус все помнит, у меня все скриншоты треда нотариально заверены.
Аноним 27/02/22 Вск 16:12:29 #510 №2307589 
>>2307583
Ты че, пес, я в самом расцвете сил, не нравится про программирование - могу про историю рассказать. А вот ты знаешь, например, что Украину Ленин изобрел?
Аноним 27/02/22 Вск 16:16:15 #511 №2307591 
>>2307588
Может еще чего придумает, подождем посмотрим
Аноним 27/02/22 Вск 16:18:18 #512 №2307592 
image.png
>>2307589
Лучше бы твой Ленин commi js изобрел, чтобы все были равны
Аноним 27/02/22 Вск 16:18:43 #513 №2307593 
>>2307589
Двачую адеквата
Ленен изобрел украину и жс
Поэтому все так как есть а будет еще сильнее
Аноним 27/02/22 Вск 16:18:48 #514 №2307594 
>>2307579
Липовый дед спалился по строгому сравнению в выражении.
Аноним 27/02/22 Вск 16:26:02 #515 №2307599 
>>2307594
То, что ты не узнал оператор битовой деструктуризации события, говорит исключительно о том, что тебя зомбировали, а ты и не заметил.
Ну ничего, мне больше void-ушек достанется.
Аноним 27/02/22 Вск 16:35:10 #516 №2307605 
>>2307592
Вот да, налицо неразрешимые противоречия js. Для построения комми-js предлагаю пока временную меру в виде
#define false true
, тогда принципы всеобщего равенства будут достигнуты в масштабах отдельного движка. И назовем это социал-джаваскрипт.
Аноним 27/02/22 Вск 16:48:45 #517 №2307612 
>>2307566
Я то знаю, но ты определись, нужно присвоить функцию или вызов.
Рейт резюме Аноним 27/02/22 Вск 16:54:03 #518 №2307615 
201907111919IMG5252.JPG
С таким резюме уже можно стучаться на разные вакансии джуна или стажера, или пока рано и нужно сделать что-то получше?

https://vertically-challenged.github.io
Аноним 27/02/22 Вск 16:58:39 #519 №2307616 
>>2307588
>Ну тут-то начиналось все за здравие, а потом, не вынеся бремени задачи "напиши обработчик без замыкания", он решил скатить все в клоунаду.
Я сделал. В этом примере без замыкания https://jsfiddle.net/mxa7d4uo/1/
Аноним 27/02/22 Вск 17:01:55 #520 №2307617 
>>2307615
Задачи с какой то книги или сам придумывал?
Аноним 27/02/22 Вск 17:02:58 #521 №2307618 
>>2307616
Как это без, если с замыканием.
Что тут происходит?
мимо
Аноним 27/02/22 Вск 17:06:28 #522 №2307620 
>>2307618
Пчел не может в сигнатуру ивент листенеров, а насрал в жопу джавакрипт.
Аноним 27/02/22 Вск 17:07:00 #523 №2307621 
>>2307617
Сам, что в голову приходило, то и писал
Аноним 27/02/22 Вск 17:13:47 #524 №2307622 
>>2307615
Чел, может ты уже попробуешь вместо того, чтобы спрашивать, готов ли ты?
Аноним 27/02/22 Вск 17:16:03 #525 №2307623 
>>2307622
Сам я уверен, что совсем не готов, но вдруг кто-то скажет, что уже и с этим можно, тогда бы я попробовал
Аноним 27/02/22 Вск 17:17:47 #526 №2307624 
>>2307618
>Как это без, если с замыканием.
Это не замыкание. Просто анонимная функция.

document.getElementById('test').onclick = function() { document.body.style.fontSize = '30px'};

>>2307620
>ивент листенеров
Какая взаимосвязь?
Аноним 27/02/22 Вск 17:19:25 #527 №2307625 
>>2307620
>Пчел не может в сигнатуру ивент листенеров
Я смог. Потому что можно функциональное выражение. Это легально. Вот и доказательство, что можно без замыкания. Шах и мат!
Аноним 27/02/22 Вск 17:22:23 #528 №2307628 
>>2307623
Если ты уверен, что не готов, значит у тебя есть четкое представление, что делать, чтобы стать готовым. Следовательно, делаешь все, чтобы стать готовым.
Но скорее всего это просто самоедство, которое в случае успешного устройства на работу перейдет в стадию вечного синдрома самозванца. Короче таблетки прими
Аноним 27/02/22 Вск 17:23:10 #529 №2307629 
>>2307624
А если десять колбэков нужно будет навешать, будешь десять функций писать? И кстати я не вижу document в параметрах твоей функции.
Аноним 27/02/22 Вск 17:29:55 #530 №2307632 
Нормально что в проекте на гитхабе будет лежать апи ключ? Я не хочу пока бэкэнд пилить.
Аноним 27/02/22 Вск 17:38:45 #531 №2307636 
>>2307624
>Это не замыкание. Просто анонимная функция.
>function makeSizer(size) {
> return function () {
> document.body.style.fontSize = size + 'px';
> }
>}
Сайз не захвачена, понял
Аноним 27/02/22 Вск 17:56:47 #532 №2307653 
>>2307628
>четкое представление, что делать, чтобы стать готовым
А что делать, если вообще не понятно какой уровень требуется, чтоб считать себя готовым? Что если пройтись по собеседованиям и там спросить какой уровень требуется для того, чтоб взяли работать? Ибо тексты вакансий нихуя не дают инфы из-за того, что в абсолютном большинстве случаев просто навалено дохуя технологий , и если пытаться освоить все, то ты должен в домашних условиях стать фуллстэк сеньором.
Аноним 27/02/22 Вск 17:58:17 #533 №2307656 
>>2307636
В предыдущих сериях уже определили, что поциент не понимает, что такое замыкания и даже глядя на него в упор не сможет его увидеть
Аноним 27/02/22 Вск 18:02:18 #534 №2307659 
>>2307632
Давай ты ключик пока подержишь в .env файле тогда
Аноним 27/02/22 Вск 18:03:56 #535 №2307662 
>>2307653
> Что если пройтись по собеседованиям и там спросить какой уровень требуется для того, чтоб взяли работать?
Именно это грамотно будет, когда тебе при отказе дадут фидбек, чего не хватает в знаниях, подтянешься. Просто еще же и компании разное хотят, где-то пролезешь, где-то нет.
Аноним 27/02/22 Вск 18:21:03 #536 №2307666 
>>2307579
>void function{} with typeof === document new this return
Между прочим, довольно складная считалка, для распределения тасок между фронтанами самое то.
Аноним 27/02/22 Вск 18:28:52 #537 №2307671 
>>2307659
Это конечно можно, но мне же потом на гитхаб пагес это заливать, там то он один хуй будет виден.
Аноним 27/02/22 Вск 18:51:49 #538 №2307677 
>>2307671
Положишь ключик на страницу СИКРЕТИКИ на гитхабе.
Естественно его будет видно в нетворке, но хотя бы вид то надо сделать что ты знаешь что делаешь
Аноним 27/02/22 Вск 19:29:31 #539 №2307682 
>>2307666
???
Аноним 27/02/22 Вск 23:09:16 #540 №2307777 
>>2306674
Так я-то откуда знаю, какая команда подается первой канве? Мне нужно сконвертить нарисованную либой канву в свг в случаях, когда сама либа этого не умеет делать. Есть другие способы конвертации произвольной канвы в векторный (!) свг? Не конвертация массива пикселей, а в настоящий как угодно скалируемый свг?
Аноним 27/02/22 Вск 23:44:09 #541 №2307790 
>>2307777
>Так я-то откуда знаю, какая команда подается первой канве?
Та которой ты рисуешь, у тебя ведь либа не с готовым рисунком, ты сначала даешь ей этот рисунок а потом уже она его конвертирует.
>в случаях, когда сама либа этого не умеет делать.
Если не умеет, значит возвращает ошибку, детектишь ифом и передаешь рисунок в другую либу, если не получится, в третью и тд, рисунок хранится отдельно от всех либ.
Аноним 28/02/22 Пнд 02:14:51 #542 №2307850 
>>2306661
Все твои либы принимают canvas/context. Просто передаешь в них свой специальный канвас, проблемс?
Аноним 28/02/22 Пнд 10:35:13 #543 №2307986 
ПЕРЕКАТ >>2307985 (OP) ПЕРЕКАТ >>2307985 (OP) ПЕРЕКАТ >>2307985 (OP)
Аноним 19/03/22 Суб 22:31:23 #544 №2319571 
>>2307850
>>2307790
КАК? Можете пример на жсфиддле или кодепене кинуть? Пробовал, не получается нихуя. Пишу в удаленном треде
comments powered by Disqus

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