24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Объясните, чому некоторые в конфигах пишут path.resolve(__dirname, './dist'), если можно функция resolve() и так добавит абсолютный путь до директории? Так: path.resolve('./dist'). Более того, зачем вообще эту функцию вызывать, зачем относительную ссылку превращать в абсолютную? Можно же просто строкой './dist' передать, и все работает. Объясните, я ничего не понимаю.
>>2298031 Чтобы получить путь файла и нормализовать его. Технически join по __dirname то же самое, но с резолвом очевидно, что вернёт абсолютный путь. Если так корёжит от дирнейма, сохрани в отдельном модуле абсолютной путь к корневой папке в переменную и лепи остальные пути джоином с ней.
>>2298104 Я хочу, чтобы при работе, я становился лучше в жиесе и фронент разработке - а по факту я становлюсь лучше в битриксе, а в остальном стагнирую. Ещё и на проекте работы по фронту застопорились - я сижу какой-то лажей занимаюсь. Я готов поверить в крутые современные проекты на битриксе, но мой не такой - он огромный, на нём хорошие рабочие процессы, но вот сама разработка, это боль.
>>2298122 > но вот сама разработка, это боль. В том числе из-за меня, кстати. Сейчас то я преисполнился, а год-полгода назад лютый говнокод выдавал и теперь с ним надо работать. Когда я уйду, меня будут проклинать.
>>2298122 >Я хочу, чтобы при работе, я становился лучше в жиесе и фронент разработке Ты и так становишься лучше (хотя может у конкретно твоей должности своя специфика). Пхп, битрикс и жекверя вечны, они будут актуальны всегда. А реакты, вуи, ангуляры это скоротечное говно, лет через пять никто не вспомнит про них.
>>2298152 Потому что это старые проверенные технологии. А битрикс в россиюшке больше актуален. Ангуляр кстати первый кандидат на свалку истории. От него уже сейчас отказываются в пользу реакта. Через несколкьо лет реакт станет никому не нужен, появится очередной новомодный фреймворк. И так по кругу.
>>2298317 Собственно только нубы наверно и не понимают зачем может быть нужен телеграм бот. Это платформа где за тебя уже половина всего реализована и роль фронта выполняет самый популярный в снг мессенджер.
Кто-нибудь шарит за firebase? можно ли с помощью поля reference получить данные из другой коллекции? все ответы которые находил старые и не выходят у меня либо я тупой. Если будет понятнее, то делаю плеер с возможностью создания плейлистов из общей числа треков, может вообще нахуй этот firebase и с чем то другим работать?
>>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 На кодепене выше можно поиграться, добавив ее.
>>2298412 Во первых юзай fetch Во вторых у тебя фигня какая-то вместо урл-а. Это же http запрос, ему нужен путь, куда он будет запрашиваться. А у тебя вместо него 'get_number_of_clicks'
>>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. То, что в твоём хелловорлде это один и тот же путь, не значит, что в сетапах посложнее они будут равны.
>>2298488 ну он же дрисывает путь так localhost:post/url(который ты написал) У меня кст этот вариант заработал. Надо было просто датаТайп указать текст.
Реквестирую стек для сайта суши бара, блюд мало, меньше 100. MERN норм? Монга вообще подходит для серьезных разработок? Слышал что для прототипов сайтов хорош, но серьезно его никто не юзает.
>>2298762 Для себя тоже с налету ничего не делают. вначале определись что будет на сайте потом уже думай на чем. это же просто сайт скорее всего с каким-нибудь каталогом меню формой и корзиной. для этого готовых решений до жопы.
Что из себя вообще представляет удаленка фронтендера? Получиться удаленно работать, если я в час иду в колледж, и в 3 возвращаюсь домой? В некоторые дни вообще не иду.
Создал функцию SCSS с делением. Использовал обычное, мне вебпак посоветовал использование math.div(). Включил его, получил ошибку. В док-ции функция использована схожим образом. Что не так?
Анонии. Не подскажете, где можно почитать про баг браузеров при высчитывании элементов position: absolute? Т.е. изначально элементы с position: absolute корректно отображаются. Проблемы начинаются, когда надо зумить экран. Тогда они встают не совсем корректно и где то есть пробелы. Я долгое время знал про эту проблему, но не видел ни одного issue с этим. В интернете не нашёл.
>>2298839 Да я тебе так объясню, если координаты заданы в пикселях при зуме возникнут дробные значения и из за округления при отрисовке могут возникать пробелы
Сап, двач. Вкатился в макаки-наносеки 1,5 года назад. Работаю в небольшой аутсорс конторе на удаленке, сама контора в моем родном Мухосранске, живу в Дс2, пишу на Реакте, Редаксе, немного на шарпе, немного пайплайны ci/cd настраиваю, немного конфиги докера пишу для всего для чего можно и для чего нельзя и т.д.
Суть в том, что мой тимлид считает, что я уже крепкий мидл и иду в сеньеры постепенно, но по моим субъективным ощущениям я тяну максимум на крепкого джуна и то смотря где.
Проблема ещё в том, что у нас особо никто не шарит во фронте, на мне сейчас 3 джуна-фронтендера, которые просто делают, что я им скажу, от этого такое чувство, как будто я сам стою на месте и делаю какую-то хуйню, т.к. тупо нет людей вокруг от которых можно услышать конструктивную критику.
Так вот, теперь вопрос. Есть шансы с таким бэкграундом вкатиться в нормальную контору Дс2 на ставку хотя бы 120к-130к чистыми (моя текущая зп с учетом годовой премии)?
>>2298895 >по моим субъективным ощущениям я тяну максимум на крепкого джуна и то смотря где Пройди собес на вакансию, где обтекаемо должность написана вроде "мидл+/синьор", там тебе пояснят, на кого ты тянешь.
>>2298905 >Пройди собес на вакансию, где обтекаемо должность написана вроде "мидл+/синьор", там тебе пояснят, на кого ты тянешь. Не хотелось ходить на собесы, пока на этом месте ещё работаю, а то вроде и люди все нормальные, приятно с ними работать, но для себя не вижу перспектив здесь, только деградация... видимо придется на собесы ходить так, действительно, чтобы понять на что я тяну перед тем как увольняться...
>>2298905 Да, ещё забыл написать, что я в тестирование вообще не умею, пытался у нас его внедрить по гайдам Кента Доддса, но хуйня полная получилась с кучей дублирования кода... потом тупо времени не было вникнуть.
>>2298885 Эвоно как. А есть возможность как-то обойти такую проблему оперируя пикселями? Кто-нибудь задавал данный вопрос на той же bugzilla или bugs.chromium.org, чтобы получить более детальную информацию?
>>2298923 Тестирование фронта - тот ещё анал-карнавал. А уж если натягивать это дело на кодовую базу без тестов (а значит и пайплан без них), то там можно и вешаться. Вот тебе кстати и детектор синьора, TDD в мире вротенда - это марксизм-ленинизм позднего совка. То есть никто в него не верит и не практикует, но все его лекалы должны от зубов отскакивать и ты должен рассказывать о пользе TDD на интервью.
Ну вот я сижу учу ваши жс,кссы и реакты уже пол года. Открыл хх, а там везде еще пхп нужен. Как вкатиться на галеру то? Помогите а то мамка выгонит если работу не найду
Хуле это дерьмо не работет. Вы бы еще больше всякой хуйерги на крутили. Для работы нужно знать React, но вот незадача, модули в браузере не работают, тебе нужен вебпак, Что говоришь?,Вебпак искаробки с реакт не работает, тебе нужен Babbel, что и бабел не работает, так у тебя какого то лодера нету. Пиздец вам там заняться нечем, хуле это дерьмо из каробки не работает. Где взять этот ебучий лоадер, чтобы вебавк понимал JSX синтаксис. Как же мне печёт ни одного нормального гайда на ютубе.
>>2297966 (OP) Подскажите пожалуйста как это говно заставить работать, есть инпут в него записываются данные нужно чтоб данные брались с дома и вводились ниже инпута
>>2299250 Сам подумой. С русиком кстати далеко не уедешь, так как все гайды по ручной нстройке реакта даже на англюсике устарели. И это ещё вебпак даже на ESM не мигрировал.
>>2299258 >>2299261 >если наш филд имеет value Это пишется коротко, if (field.value) Ну и внутри аппенд пиши свою переменную, куда ты записал результат функции "создать задачу"
>>2299259 >>2299259 Я все на инглише исчу. Почти. Кароче у меня все заработало. Но я точно не смогу объяснить как я это сделал, если у меня попросят помочь. ну я по сути гуглил ошибки. Добавил какую то хуергу в webpack.config.
>>2299355 Дрочу уже почти год, до сих пор без оффера, и это при том, что я молод и с вышкой. Но возможно это потому что я тупой, у тебя все обязательно получиться за полгодика.
>>2299355 Месяц попробуй потратить на это. Я скоро год как дрочу, но мне в процессе начало нравиться, когда после верстки начал жс дрочить. Сейчас начал пет-проект на реакте и тайпскрипте, как доделаю, начну откликаться на все подряд.
Начав делать тестовые, заметил что очень сильно плаваю по серверной части (api, запросы, реквесты, JWT и т.д.). Вообще не понимаю, приходиться копипастить чужие решения. Как можно вкатиться в бекенд, будучи фронтендером?
>>2299375 Тролль какой-то за меня отвечает, рака жопы ему. У меня около 6 часов в день свободно, но я не могу после работы мгновенно переключиться, еще и работаю удаленно, т.е. тупо RDP отключить и запустить вебшторм это сложно, я ем, смотрю видосик какой-нибудь, плюс производительность невысокая, т.к. после работы учиться сложно. >>2299408 С апишки дергаю данные и картотеку делаю, чтобы показывало несколько карточек и при клике на нее буду делать роутинг на полную информацию. Но я выбрал неудачное апи (pokemon), так что другое что-то поищу.
>>2299515 > Хуёво резюме составил, Написал что я закончил, свой стек. Написал, что я, якобы, делал работы для студентов на заказ и что у меня B1 английский. Описал по каким курсам у меня есть сертификаты. Оставил ссылку на гитхаб и самый сложный свой проект. В конце добавил, как у меня горят глаза и как я хочу дорасти до миддла. И что не так? > не умеешь себя продавать Это правда, я до этого никогда себя не продавал. Понятие не имею как это делать.
Гутен таг, господа. Пытаюсь освоить webpack. Пока сборка работает, однако есть вопрос: зачем нужен index.js? У меня там лишь одна строка с импортом стилей. Что-то там ещё следует добавлять?
Мне HR сказала что его обычно за пару часов делают, я уже часов 12 ебусь, осталось ток рефакторинг сделать. Его вообще реально(джуну) за пару часов замутить?
>>2299168 А сколько времени изучение пхп лапавел займет? Вернее именно знание и понимание бэкенда. Я из бэкенда знаю толтко как хттп работает, какие бывают заголовки и код ответа.
>>2299745 Ну учитывая что я джун, то с большинством нет, много всего приходилось по ходу гуглить >>2299742 Ну вот прям взять все время что я кодил + гуглил, убрать время на покурить и залипание, то где-то 8 выходит, плюс рефакторинг нужно сесть делать, это думаю займет пару часов еще. крч 6-12 часов более реальная цифра. А то я прям охуел и думал это я такой долбаеб медленный
>>2299748 С настроенным пайплайном можно и за два часа. Вот только если у тебя есть настроенный пайплайн, то ты уже мидол. Так что скорее всего хрюша передала то, что мидол ей сказал.
Помогите с гитхабом пожалуйста. Создаю в нем репозиторий. Скидываю на комп командо git pull <адресс репа>. Делаю все нужные изменения. Делаю коммит. И хочу залить обратно. Делаю командой git push <адрес репа>. Но какого то хуя он создает новую ветку в репозитории. Основная ветка main а та которую заливаю master. Как сделать чтобы сразу в main заливались файлы?
>>2299736 > Мне HR сказала что его обычно за пару часов делают Пиздит.
Есть вопрос по реакту. Вот решил я значит весь такой правельный, делать максимально чисто по гайдам. Верстраем значится виджет, есть у нас корневой компонент который держит весь стейт и логику его обработки, внутри от него по дому уже идут функциональные компоненты без состояния. Но ведь если в условном компоненте Ж, произойдет событие, состояние корневого компонента изменится, и реакт после изменения состояния заререндерит всех потомков заного? Чего бы я там себе в голове не на мемоизировал, это его дефолтное поведения и я должен сказать спасибо, ведь соседние виджиты не заререндерелись?
>>2299837 Хуйня у тебя гайды, стейт приложения надо выносить из компонентов, если он используется в нескольких местах и объявлять в самом компоненте, если он используется только в нем, иначе будет всё дерево ререндерится на каждое изменение стейта, если не мемоизировать всё через React.memo.
"Функциональные компоненты без состояния" - это тоже звучит как что-то из древнего прошлого, сейчас всё пишут на функциях и компоненты с состоянием и без, классы нужны только в особых кейсах типа ErrorBoundary.
>>2299851 > иначе будет всё дерево ререндерится на каждое изменение стейта Разве рякт не умный и не проверяет че там изменилось перед тем как ререндерить?
>>2299851 > и объявлять в самом компоненте, если он используется только в нем Но ведь он может быть очень сложным, какая-нить хуебуга которая оперирует несколькими объектами предметной области. И на пулреквесте можно хуев насобирать из-за нарушения separation of concern принципа.
Алсоу, вопрос был, будет ли он ререндерить все компоненты, или только те, пропсы которых поменялись? На сколько я понял из доки, отререндерятся все, чего бы я там не хотел.
>>2299905 >Но ведь он может быть очень сложным, какая-нить хуебуга которая оперирует несколькими объектами предметной области. Ты очевидно не знаешь о чём говоришь, так что можешь не кривляться про прдементные области. >И на пулреквесте можно хуев насобирать из-за нарушения separation of concern принципа. Какие нахуй пулл реквесты, ты блять компоненты не можешь скопозиционировать. Оуть, сейчас бы разметку делать учётом потенциальных пулл реквестов.
>>2300095 Если подробнее, то сперва настроил вебпак. Был файл один файл стилей, который он воспринимал, и js файл, который импортировал стили.
Добавил папку с блоком. В блоке был также код стилей и файл js с импортом стилей. Файл JS он проигнорировал, стили не скомпилировал. Пришлось руками импортировать стили в самый первый файл стилей.
>>2300104 Блок и так есть на странице. Стилей нет. Импорт через JS файл не работает. Единственная возможность подключить стили — напрямую импортировать их в другой scss файл, стили которого вебпак почему-то видит и применяет. Однако что-то мне подсказывает, что это не лучший подход.
Почему-то он один файл компилирует, а другой игнорирует.
>>2300114 И почему он один импорт видит, а другой нет? Хотя у обоих есть js файл, который их импортирует. Я не вижу между ними разницы. Вебапк же отказывается видеть один из фйлов вовсе.
>>2300119 И как он у тебя увидит импорт блока, если он не импортирован во входную точку? В стилях он его у тебя "видит", потому что за импорт стилей отвечает отдельный лоадер.
>>2300128 >Я импортировал, заработало. Но разве это сильно отличается от ручного импорта в те же стили? В какие стили блять? Ты импортируешь джаваскрипт модули, которые включают в себя в том числе стили. >Почему нельзя просто написать один импорт и ебись оно всё конем? Бля, как ты думаешь вебпак знает, какие файлы являются частью бандла, а какие нет? Он блять импорты анализирует. Если тебе так охото говнокодить, то вебпак не нужен. Просто складывай свои скриптики в папку public и ссылайся на них в шаблонах.
>>2300141 > Просто складывай свои скриптики в папку public и ссылайся на них в шаблонах. Не, я нашёл и скомуниздил эту срань. Стыдно, что код уворовал, но такие времена.
>>2299895 Есть рендер, как изменение dom-дерева, а есть render, как изменение virtual-dom и то и то может вызывать тормоза. dom-дерево реакт ререндерит только если что-то изменилось, virtual-dom на каждый чих, если плохо понимать, что делаешь
>>2300115 Не в тему, но советую pugbem поставить еще, удобнее элементы писать без прописывания названия блока .page ._header вместо .page .page__header
>>2300194 А как на паге сделать так, чтобы тег в разметке имел класс как элемента блока, так и сам был блоком? Вот так <header class="page__header header"></header> При этом, чтобы бок был вынесен в отдельную папку и не содержал ничего лишнего.
Я только дошёл до этого, но это же извращение и боль для глаз.
>>2300153 И чем это лучше импорта? И там и там тебе нужно ссылаться на файл строчным литералом. Вот только то, что ты использовал, никакой статический анализатор не поймёт, так как это мокрописечка вебпака.
>>2300279 Множество папок и файлов подразумевается в любом проекте. Как потом собираешься к этим модулям обращаться? Мокрописить то, что тебе вернул `requireAll()`? Или будешь всё в глобал скоупе хранить? Для последнего вебпак только вредить будет.
>>2300233 Я так сильно не делю. Есть блок - выношу в компонент. Элементы в блоке всегда, нечего их туда-сюда таскать. Хотя я на самом деле уже член положил на паг, т.к. реакт изучаю, там это не нужно все, а разметку маленького компонента за 5 минут несложно сделать.
>>2300301 >Я так сильно не делю. Есть блок - выношу в компонент. Быстро соснёшь с таким подходом, когда элемент будет одновременно являться несколькими блоками.
>>2300416 Так ты особо бэк не будешь учить, когда во фронт вкатишься. В свободное время разве что. Но зачем учиться на фронта, а потом учить бэк, если можно учить бэк?
Аноны, тыкаю ради интереса один курсик, делаю примитивную браузерную игрушку, словил какое-то говно когда делал кнопку резета игры, объясните плз, почему когда я делаю for от 0 до 1 у меня просто нихера не срабатывает, а когда я убираю for и вручную дублирую все строки с нулем и единицей (пикрил) все срабатывает. Мне кажется что-то совсем глупое в синтаксисе делаю не то, но что - не пойму.
>>2300516 Ну т.е. иными словами почему закомменченный код не работает, а незакомменченный который делает те же вещи, но в большее количество строк работает.
>>2300520 Спасибо, заработало. А я рылся, думал все ломается из-за того, что я пытаюсь на всякий случай убрать класс, которого может и не быть. А в чем принципиальная разница между i<2 и i===1 в данной ситуации?
>>2300521 Чел, даже чисто визуально >let i = 0; i === 1 >ноль равен одному? >let i = 0; i < 2 >ноль меньше двух? Мм, да, в чем же принципиальная разница между этими принципиально разными условиями, загадка, ебать.
>>2300623 Да всем поебать куда ты там сел и как давно. Тем более в интернете. Ты пытаешься оправдать себя перед самим собой, что первопоказательно твою низкую мотивацию и заинтересованность.
Всем глубоко похуй вкатишься ты или нет. Понимаешь ты что или нет. На тебя вообще всем насрать. Это тебе должно быть не все равно. Поэтому вместо того, чтобы сопли размазвать и подбирать причины собственных неудач займись уже собой.
Я могу как-то в переменную получить ссылку на "нестандартную" канву (например, создаваемую 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 На кодепене выше можно поиграться, добавив ее.
>>2300922 А какие варианты? Переписать половину кодовой базы библиотеки чтобы вытащить наружу движок рисования и надеяться, что сделал это без багов? >>2300922 > вон сами полиморфизм слоями наворачиваем Так сам по себе полиморфизм не что-то плохое, как раз вот для подобных задач, только я не уверен, что он тут применим, классы-то "неродственные" могут быть.
>>2297966 (OP) Друзя, подскажите как это реализовать. Тудушка на ваниле. конкретно не понятно, как добавить чекбокс к появляющейся таске и вообще как правильно это написать по данному гайду. Заранее спасибо
>>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.
Аноны, какая сейчас зп у мидлов? Цены выросли неслабо, есть ощущение что застоялся и мало повышаю, но и наглеть не хочу. Сколько получаете? Что делаете на работе? Как устраивались?
>>2302202 >ты выводишь (и возвращаешь) свойство checkProp, чтобы вернуть свойство по значению checkprop Так object.property и должно возвращать значение свойства, разве нет?
>>2302217 Когда обращаешься как a.b оно думает что существует реальный ключ b, а не подставляет реальное значение переменной, поэтому тебе нужно a["b"] мимо
>>2302767 >Я знаю, что нужно отправить. Ну так отправляй. >Как это сделать, в рамках уже запущенного сокета? Очевидно же если сервер не поддерживает твою фантазию, то никак.
>>2302791 >Ну так как? Так же, как ты отправляешь все другие сообщения на сервер через вебсокет. >Ответы уровня двача, лол. Какой вопрос, такой и ответ.
аноны, привет, почему код в then работает правильно только если я оборачиваю его в async/await, разве сам then уже не должен мне гарантировать что код будет выполнен асинхронно?
>>2303058 Отвечает Александр Друзь синтаксис языка / справочник на главе async/await / однострочник в консоли для проверки. А, нет, обознался, в 22к2 году это уже не модно, лучше кидать скрины с кодом на двач и ждать ответа часами.
Не могу установить vue-cli, на каком-то этапе ошибка. Написано, что из-за проблем с сетью, но интернет нормально работает. В браузере ссылку нормально открывает. Что за хуйня и как лечить? Invalid response body while trying to fetch https://registry.npmjs.org/graphql-subscriptions: Socket timeout
>>2303103 Анон, двач это единственное сообщество где я могу задать вопрос, больше я нигде не сижу, так что да, всю свою головную боль я несу сюда. И, нет, ты не прав, я погуглил справочники но ответа на мой вопрос там не нашел.
>>2303315 >ответа на мой вопрос там не нашел Пиздобол. Первая же ссылка в гугле, пятое предложение от начала статьи. Не говоря уже о том, что сделать ctrl+c ctrl+v аргумента в нодную/браузерную консоль - дело пяти секунд.
>>2303724 Приравнять это значит поставить одно равно. Одно равно обозначает переопределение переменной. Когда ты пишешь два равно, это проверка, равны ли два операнда, в результате возвращается ложь или истина, т.е. у тебя эта часть по-другому работает.
Не бейте палками, я бекендер, решил поучиться на электроне поделать. Как рут проекта определить, от которого можно уже ссылаться на другие каталоги с шаблонами и прочими вещами?
>>2303745 Тебе выше указали на строчки, где у тебя ошибка, которая затирает чекбокс. Если программа работает не так как ожидается, пиши в сомнительных строчках console.log(peremennaya) чтобы отследить как меняется значение нужной тебе переменной, или освой дебаггер жса в DevTools в своём браузере.
Сколько просить в вакансии реакт макаке? Стек: React, Typescript, Mobx, webpack/vite, axios/graphql, небольшой опыт работы с Docker. В свободное время пилю фуллстак проект, стак MERN + Next на фронте. Опыт работы год.
Рекатобояре. Есть стейт. В нем есть массив из обьектов. Как манипулировать этим стейтом (круд операции)? В интернете прочитал, что в рекате изменение состояния происходит путем полного замещения, а не слияния. Т.е если я хочу добавить новый обьект в массив, я должен скопировать состояние (через спред или Object.assign) добавить в массив мой новый обьект (через метод пуш) и обновить состояние (setState). Енто так?
Аноны, я в js совершенно ничерта не понимаю, но тут скачал проект сайта с гитхаба, и хочу его запустить по крайне мере локально. Сама папка с проектом имеет такое содержимое - Пик 1, на втором пике папка src. Собственно как всё это дело заставить показывать сайт?
Сколько просить в вакансии Vue макаке? Стек: ХТМЛ, Цсс, Ванильный Жабаскрипт, Vue, webpack/vite, axios, небольшой опыт работы с Docker. В свободное время душу питона и смотрю Владилена Минина. Опыт работы 3 месяца.
>>2304340 В пакаге.жсон должна быть команда чтобы всё это запустить на дев сервере или собрать. Наверное ноду нужно будет поставить https://nodejs.org/en/ /
Поясните за мемоизацию в реакте. Вот есть у меня тудушка в реакте. Есть главный компонент (App.js), этот компонент рендерит список задач (ul) и форму ввода задачи. Каждая задача имеет кнопку 'удалить'. Когда нажимаю на эту кнопку происходит рендер как и список задач так и формы. Это же не ок, что при изменении списка у меня заодно и рендерится форма, с которой я никак не взаимодействовал. Причем форма инпута перерендывается из-за того, что я передаю в нее функцию добавления новой записи в App.js (из самого же компонента дергаю эту фунцию в качестве пропса) Ну я тут прочитал про мемоизацию, да и обернул функцию добавлению в useCallback да и сам компонент формы в memo. И тут вопрос: я все правильно сделал? Это не выстрел в голову? Ведь сейчас, когда я взаимодействую со списком (меняю чекбокс, удалаю элемент) рендер формы не происходит, только самого списка?
>>2304374 От 65-70. Про Минина только не говори ничего и не смотри его желательно. Он многое объясняет не так, как оно работает, а так, как он понял. И понял он не всегда правильно. Почему он не может открыть доку, трудно сказать.
Про владилена - я на самом деле тоже плох в доке, учился с самого начала тупо на примерах, потому что непонятно куда эти куски кода вставить, как их использовать, как изменять. А когда на примере, то сразу понятно что и где. Короче другой подход, наверное. Некоторые только доку прочитав уже начинают проекты пилить, а я походу тугой.
>>2304453 >А че так много? Я перепутал, у тебя тайпскрипт не указан, поэтому на 5-10к срезай минимальную планку. Не работайте блядь за 40к, вы ебанулись что ли. Особенно с коммерческим опытом более месяца.
>>2304464 Спасибо, пойду смотреть в сторону тайпскрипта.
А насчет месяца как-то непривычно, это же всего месяц, вообще непривычно, что новички могут получать даже 40 к, при том без специального образования и все такое
>>2304469 Если не знаешь, сколько попросить, просматривай вакансии, где указан доход и примерно среднее число проси. Ну или доверься данным хабр карьеры, у них джуны во фронте 50к в среднем зарабатывают. Алсо, ты 3 месяца отработал и продолжаешь работать, просто ищешь место потеплее? Или уже уволился и ищешь новое? Сколько получал или получаешь?
>>2304477 20 получаю, это вообще первая работа, до этого месяца 3 пилил мелкие проектики и учился, потому еще есть ощущение, что вообще ничего не могу. Даже 20 к на этой галере стыдно было поначалу получать.
А думаю о вакансиях, потому что в этйо компании платят 50 к "бате бекендеру"...(который кстати меня и дрочит по люббой мелочи в коде, что тоже иногда заставляет задуматься) Ну типа это несерьезно же для человека, работающего 4 года. Я о зарплате.
А насчет наездов конечно понятно, что это помогает развиваться, но когда человек может потратить полчаса времени просто чтобы подушнить в стиле - а ты доку читал, а вот этот раздел изучал, а вот тут тогда у тебя что - и там такая мелочь, о которйо можно сказать и мне даже никаких объяснений не нужно будет, чтобы исправить, тупо забыл удалить один консоль лог, который был прописан чисто для моего удобства во время разработки. И вот после таких мелочей лекция по полчаса.
>>2304497 Бля, жизненно, только получаю еще меньше. 18 лвл, пилю интернет-магазин на реакте и ноде. Считай, фуллстеком за еду работаю. Но с ментором повезло, славный парень, за несколько месяцев столько информации в меня вбил.
>>2304497 >>2304508 Пиздец, это из-за вас столько наглецов, предлагающих бесплатные 3-месячные стажировки и требующие дохуя за нихуя. Немедленно обновляйте резюме и откликайтесь, за зарплату меньше 45 харкаете в ебало и идете дальше.
>>2304516 > за зарплату меньше 45 харкаете в ебало Да я бы с радостью, но живу в ДНР, тут такие копеечные зарплаты буквально у всех. Посижу еще хотя бы полгода на этом месте, окрепну как джун, пет какой-нибудь сделаю и буду пытаться в российские компании на удаленку устроиться. >>2304508 -кун
>>2304521 > Как там у вас сейчас? Херово. Непонятно, что дальше будет. На улице ополченцы молодых парней ловят и отправляют воевать с невидимым врагом. > Почему не переехал? Некуда, да и у родителей столько денег нет. Планирую копить на переезд.
>>2304530 Нет, в офис хожу. Айти это громко сказано, у нас даже такого отдела нет, просто "отдел продаж". А так, программистов, ученых и прочих головастых тут не любят. Зато 100500 вакансий а-ля таскать мешки или город обустраивать. Ну или вояки.
Сегодня знакомился с коллективом. Взяли на джуна. Одни блядь армяне в компании. В отделе со мной из 10 человек 4 армяна. Откуда их столько в it? Притом что некоторых лет по 40 и такой вид у них словно еще вчера арбузами на рынке торговали.
>>2303823 >>2303759 спасибо большое исправил, но вот именно в этом коде если таск. текст контент велью оставльять то таска пишется но нет чекбокса если убрать велью то стакается чекбокс но таска не пишется. хочется понять что хочет именно этот автор гайда https://telegra.ph/Pishem-Todo-List-Gajd-dlya-zelenyh-09-08
>>2304590 ДС. А так в целом не мешают. Думал начнутся смехуечки типа "гыыыы 30 лет и только джун" но наоборот только поддержали типа только долбоеб смеется над ищущими свой путь людьми.
>>2304530 Бамп. Ещё попытался поднять сайт на firebase, но у меня ничего не выходит, хотя делал по инструкции. Сам сайт - https://github.com/itfeelsharsh/shop Буду очень благодарен, если вы мне поможете. Там ниже есть инструкция, я делаю по ней, потом по инструкции firebase: firebase login firebase init firebase deploy Пишет, что deploy успешен, но при открытии ссылки ошибка, и в firebase версия проекта не появляется.
Господа, есть следующая проблема. В зависимости от размера страницы, нужно навешивать класс на body, чтобы отрегулировать поведение выпадающего меню. На больших размерах достаточно ховера, на малых нужен клик по меню для его открытия.
Есть код, который изначально проверяет размер экрана и вешает нужный класс. Однако это не помогает при изменении размера экрана. Т.е если изначально был открыт десктоп, то его класс будет висеть и при уменьшении размера экрана до мобильного.
Нужно, чтобы класс также менялся и при изменении экрана. Желательно, ниже определённого размера. Такое только с resize() можно решить? Есть какие-нибудь решения лучше?
>>2304750 >Так как события изменения размера могут срабатывать с высокой скоростью, обработчик событий не должен выполнять дорогостоящие операции, такие как модификации DOM.
>>2304750 А ты без классов сделай через адаптив а в js уже смотри размер экрана и в зависимости от этого навешивай события. при window.width<768 например события для моб.версии а при большем для обычной
Код не слишком плохой с точки зрения той же производительности?
>>2304775 Поведение прописано в стилях в зависимости от того, какой класс есть. Собственно, там и был адаптив. Проблема была в том, что если я меняю экран через инструменты браузера, то первоначальный класс не менялся.
Событие клика срабатывает при наличии элементов для клика и нужного класса.
Есть тут знатоки vue? Вопрос по добавлению готовых компонентов.
Допустим создано 3 компонента: - в первом кнопка добавления - во втором пустое поле - третий - это тот компонент, который нужно добавить внутрь второго
В первом(с кнопкой) прописываю вот такую функцию, она срабатывает и третий компонент создается, но естественно появляется только один компонент
есть функция 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; } линтер ругается что б должна быть константой, как пофиксить?
Объясните зачем нужны замыкания и где они вообще используются? Везде вижу пиздежь, что замыкания супер важны, то нигде не виду примеров тх использования на практике. В каких соучаях они незаменимы?
>>2306149 >в теле обработчика берет document из внешнего скопа Не гони, Вась. Должно работать. Разберусь с этим позже. С какого внешнего? Если не возвращать функцию из функции, то ничего не меняется по факту.
>>2306180 Ща меня сеньоры поправят, но я понял что зымакание это про то,что функция запоминает необходимые данные на момент создания и если они изменятся вне этой функции, то функция не узнает об этом, беря документ из внешней области видимости, ты не можешь гарантировать актуальность свой функции на момент ее вызова.
>>2306180 Ща меня сеньоры поправят, но я понял что зымакание это про то,что функция запоминает необходимые данные на момент создания и если они изменятся вне этой функции, то функция не узнает об этом, беря документ из внешней области видимости, ты не можешь гарантировать актуальность свой функции на момент ее вызова.
>>2306049 Тут не в замыкании дело, не работает оно потому что обработчик событий ожидает колбэк с аргументом `Event`, а процидурки он уже выполнил. Так что делает он не то же самое.
>>2306180 У тебя функция makeSizer ничего не возвращает. Поэтому у тебя в переменных size12, size14 и size16 будет храниться undefined. И потом ты эти undefined-ы присваиваешь атрибутам onclick. Это же пиздец, ну.
>>2306190 Замыкание - простая херня. Но с далеко идущими следствиями. Замыкание состоит из 2 важных моментов. Но во многих "умных" объяснениях делают упор только на одном моменте. Поэтому многие путаются.
2 момента: 1. функция имеет доступ к внешним переменным 2. Эти переменные "существуют" пока существует функция
1. В примере с MDN внутри функции, которая возвращается из makeSizer доступна переменная size, т.к. она является для этой функции "внешней" переменной. 2. Эта переменная остается существовать (оказывается замкнутой) пока существует функция, которая ее "видела".
И собсна все, это и есть замыкание. Функции, которые "видели" эту переменную size присваиваются атрибутам onclick и в момент вызова используют значения из этих переменных size.
Нахуя оно нужно? Тоже просто. Нужно для того, чтобы не срать в общий скоуп переменными size, но иметь к ним доступ для тех ф-ций, для которых эти переменные требуются.
Хочу выцепить вкшный токен из адресной строки. Но ебучий линт меня нахуй посылает при попытке подцепить парсер на hashchange. Я это делаю как-то "неправильно" и надо по-другому?
Пацаны, я осознал почему бывает больно с динамическими языками, особенно со слабой типизацией. Этот >>2306045 код не работает у меня на локали и я даже не знаю как это дебажить. Хотя в jsfiddle все работает.
>>2306434 >Где-то накосячил значит. Должно работать. JS исполнялся до полной загрузки страницы.
>И динамическая типизация не запрещает дебажить, дебажь на здоровье. Ну и как? Из-за выполнения JS до полной загрузки страницы, функция возвращала null. Как такое дебажить?
Сап, анон, я вкатун, то есть ни разу продакшен не делал, так что нужна помощь. Суть такова: Написал приложение на react native, замутил ему простенький бэк на ноде + экспресс, и теперь мне нужно заставить их работать. Насколько я понял мне нужен VPS/VDS сервер, на который я с помощью докера или просто руками закину приложение, затем на этом сервере нужно запустить node app.js, а в приложении на native делать запросы по ipшнику сервера, так? Возникает пара вопросов: 1) Насколько это дебильный костыль? В продакшене в нормальных компаниях так и делают или я хуету какую-то неандертальскую придумал? 2) Если же даже я сделаю так, то как лучше реализовать перезапуск бэка если VPS перезагрузится или с ним еще какая хуйня произойдет?
>>2306501 >1) Насколько это дебильный костыль? В продакшене в нормальных компаниях так и делают или я хуету какую-то неандертальскую придумал? Ты типичную клиент-серверную архитектуру дебильным костылём назвал? Ну храни тогда секретные ключи и запросы в БД на мобилке юзера, зато недебильно будет. > 2)Если же даже я сделаю так, то как лучше реализовать перезапуск бэка если VPS перезагрузится или с ним еще какая хуйня произойдет? Так это не проблема бэка, а инфраструктуры, которая этот бэк шатает. И однострочного ответа на этот вопрос нету, иначе бы девопс не был бы отдельной профессией.
>>2306509 Да я не назвал ее дебильной, а лишь поинтересовался является ли она дебильной. Просто привык уже к тому что учишь что-нибудь, делаешь, а потом выясняется что это хуета и так никто не делает уже. Я так читал про http, сделал сервер, сижу довольный с мыслями типа "Ну и нихуя тут сложного!" и только после узнал что просто http уже никому нахуй не упал, давай блять сертификаты для https, хуё моё!
>>2306523 То есть мне скрипт на баше написать какой нибудь или все из каробки так работает?
>>2306180 Речь не про то, должно работать, или нет, а про то, что ты воспользовался замыканием, сам того не подозревая, перед этим сказав, что легко этого избежишь.
>>2306580 >Почитай про команду debugger и дебажь как батя. Спасибо, испробую.
>>2306596 >Действительно, в каких случаях Document.getElementById() может возвращать null? Так в каких же?
>>2306601 >Речь не про то, должно работать, или нет, а про то, что ты воспользовался замыканием, сам того не подозревая, перед этим сказав, что легко этого избежишь. Не могу понять зачем там замыкание. Мне кажется можно обойтись без него, но пока не понял как.
Посоны, война войной, а дебильные задачи по расписанию. В прошлый раз не ответили, извините, репощу.
Я могу как-то в переменную получить ссылку на "нестандартный" 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 На кодепене выше можно поиграться, добавив ее.
>>2306661 >конвертнуть векторизуемые элементы canvas (всякие круги, квадраты, градиенты) в svg не через массив пикселей, а через "парсинг" и "трансляцию" правил рисования канвы в правила рисования svg. Бери и конверти, зачем тебе для библиотеки изображать что она рисует на обычной канве? Ну сделай вторую канву, на первой библиотечной ты рисуешь круги и она их конвертит в свг, но одноврменно рисуешь и на второй своей канве для своих нужд. Но зачем?
>>2306603 >Не могу понять зачем там замыкание Чел, ты шиз какой-то, без обид. Тебе указали на медицинский факт - ты хотел избежать замыкания и жидко это не получлось. И ты в ответ нас спрашиваешь "зачем оно там"? Ну как бы, чтобы работало, не? Это просто показывает очередной раз, что бОльшая часть функций в жиэсе есть замыкания, даже когда вкатыши-диссиденты теории утверждают обратное. >можно обойтись без него Без замыкания у тебя получится функция уровня (a,b) => a+b. Ебаться с аргументом обработчика, чтобы получить из него то, что и так доступно из внешнего скопа, никому не уперлось и никто так не пишет.
>>2306045 Как кстати такая хуйня назвается? Похоже на каррирование, но там же типа когда несколько аргументов, а остается меньше. А тут один аргумент и всё убирается полностью.
>>2306603 > Не могу понять зачем там замыкание. Мне кажется можно обойтись без него, но пока не понял как.
Тебе же написали для чего. Прочитай по слогам: > Нахуя оно нужно? Тоже просто. Нужно для того, чтобы не срать в общий скоуп переменными size, но иметь к ним доступ для тех ф-ций, для которых эти переменные требуются.
>>2306702 Так наоборот же получается. Чтобы не цеплять глобальный скоуп, нужно чтобы все переменные в функции были связанными. Но ведь в замыкании всё наоборот, в нем все переменные не связанные.
>>2306681 >>2306702 Вы оба сами замыкание не понимаете. Научились только копировать код с замыканиями, а что, зачем, почему и как, вы не понимаете и не знаете.
алсо https://www.kinopoisk.ru/film/1162915/ >Старшеклассница мечтает избавить мать от пьющего отчима-абьюзера. Якутская драма о зарождении ненависти на вечер субботы
>>2306704 > Но ведь в замыкании всё наоборот Нет, не наоборот. Любая переменная находится в определенном лексическом окружении. Либо глобальном, либо локальном. Замыкания находятся в локальных лексических окружениях, недоступных в глобальном скоупе никак иначе, кроме как через ф-цию, на которую они были «замкнуты».
В этом смысл. В глобальном окружении «суслика не видно, но он есть»
>>2306709 Ты не понял. Функция с замыканием, это та функция, у которой нет связанных переменных. Все переменные в ее теле не связанные. По простому, это значит, что в эту функцию не передаются аргументы, все переменные берутся из вышестоящего окружения.
Не правильно когда функция зависит от внешних для себя переменных. Использовать несвязанные переменные нужно осторожно. В функция должна зависеть только от входных данных. Короче, такой способ программирования приводит к бардаку.
>>2306708 >объёмная и сложная, но очень годная выжимка Есть целая книга на эту тему {Вы пока еще не знаете JS} Область видимости и замыкания На либген есть.
>>2306715 > Функция с замыканием, это та функция, у которой нет связанных переменных Нет. Функция с замыканием это функция с доступом к внешнему скоупу (поэтому все ф-ции в js это ф-ции с замыканием). Есть ли у нее связанные переменные или нет - вообще не важно.
>>2306715 >Не правильно когда функция зависит от внешних для себя переменных. Использовать несвязанные переменные нужно осторожно. В функция должна зависеть только от входных данных. Короче, такой способ программирования приводит к бардаку. Ну так напиши обработчик события без замыканий, посмотрим какой там небардак будет.
>>2306715 Вообще тебе стоит определиться со своей позицией. Ты либо не знаешь, что такое замыкание и зачем оно нужно и тогда тебе пояснят. Либо ты знаешь что такое замыкание и заявляешь, что «оно нинужно». Тогда тебя просто пошлют нах, чего с психом дискутировать.
Замыкание (англ. closure) в программировании — функция первого класса, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции в окружающем коде и не являющиеся её параметрами.
>>2306727 >Функция с замыканием это функция с доступом к внешнему скоупу Любая функция имеет доступ к вышестоящему окружению. Будь то функция, в которой она объявлена, или же глобальное окружение модуля. Ты не понимаешь замыкание, да и многие вещи вообще.
>поэтому все ф-ции в js это ф-ции с замыканием Не правильно. Функция с замыканием это функция ссылающаяся на свободные для себя переменные. То есть те, которые ей не были переданы как аргументы.
Во всех языках программирования функции имеют доступ к вышестоящему окружению. Но это не делает их функциями с замыканием.
>>2306738 > Я знаю что такое замыкание. Но у меня нет опыта работы с DOM. Я не вижу его необходимости в работе с DOM. Ему показали где используется - а он все равно не видит. Охуеть история :D Ну допустим. Где же тогда, по твоему, нужны замыкания? В дом, как мы поняли, ты считаешь, что не нужны. А где нужны?
>>2306739 > Функция с замыканием это функция ссылающаяся на свободные для себя переменные Ты говоришь слова, значение которых не знаешь. Что по твоему значит, что функция «ссылается» на переменную?
>>2306743 >Что по твоему значит, что функция «ссылается» на переменную? Там же в одном предложении все четко объяснено.
Ссылается это значит использует в своем теле. При этом переменная не является параметром. Он взята из внешнего по отношению к этой функции окружения. Это не обязательно глобальное окружение.
>>2306748 Если ты все это понимаешь, то вообще не ясно, как ты не видишь смысл замыкания в мдн примере. И пишешь свою нерабочую версию без функции высшего порядка, возвращая из нее undefined. Ты хоть где-то ранее использовал замыкания?
Вот я вкатун простой, хочу работать за две еды. Если я возьму рандомные макеты разной сложности, с какого нибудь сайта фриланса например, и исполню их это сойдёт за ПЕТ ПРОЕТЫ? Этого хватит что бы меня хотя бы поговорить пригласили? Своих идей нет, могу только чужие исполнять.
>>2306768 Нет ты. Функция высшего порядка - это функция, которая принимает или возвращает другую функцию. Это и происходит в примере мдн. Если ты этого не видишь, то даже не знаю чем тебе помочь.
>>2306781 Для устройства в гугл - нет, не хватит. Для устройства на работу в какие-нибудь нижние перды - может легко хватить. Тут уже от нижних перд зависит, какие тебе попадутся.
>>2306781 >рандомные макеты разной сложности, с какого нибудь сайта фриланса например В телеге каналов полно, сиди выбирай, намного лучше же верстать то, что понравилось и тема которого интересна. Верстать сайты с вагинальными тренажерами успеешь в бою
>>2306789 Я написал, что работать за две еды желаю, а не в Гугл ну только если когда-нибудь во мне проснется кабанчик >>2306795 Дайте каналы тогда, пожалуйста. И если есть каналы для вкатунов с вакансиями, то и их давайте.
>>2306793 >Затупил, да это ФВП. Все равно не вижу зачем нужно возвращать функцию, если можно выполнить все то же самое в самой функции. В какой функции, наркоман?
>>2306832 Ты делаешь вид, что понимаешь что-то, а сам только копипастить можешь. Если ты понимаешь зачем там возвращать функцию, то объясни зачем. Можешь? Сомневаюсь.
>>2306800 > Я написал, что работать за две еды желаю, а не в Гугл Все будет зависеть от твоих зарплатных ожиданий. За 30к устроишься почти наверняка. Если фартовый и/или харизматичный, то есть шанс и на 60к залететь. Больше - уже вряд ли. Если только совсем повезет.
>>2306830 > >Для чего, по твоему, нужны ФВП? >Для того чтобы оперировать не только примитивными данными, но и целыми функциями. Нет, не для этого. Они нужны (среди прочего) для того, чтобы реализовать отложенный вызов. В примере с мдн это и происходит. ФВП возвращает функции, которые будут отложенно вызваны в момент обработки события с параметрами, замкнутыми в них.
>>2306846 Это тебе расскажут уже на месте, я не нанимаю) Как повезет. Может будут просить просто говнокодить на жкверях, может еще будут просить шкафы из кабинета в кабинет переставлять. Как добазаришься короч. За 30к имхо многого просить от работника грешно. Не вредит - уже хорошо лол
>>2306847 >Они нужны (среди прочего) для того, чтобы реализовать отложенный вызов. Это частный случай оперирования целой функцией вместо примитивных данных.
>ФВП возвращает функции, которые будут отложенно вызваны в момент обработки события с параметрами, замкнутыми в них. Здесь ключевое не замкнутые переменные, а отложенный вызов. Как ты узнал, что будет отложенный вызов? Где об этом написано, что в таких случаях это происходит?
>>2306864 > Как ты узнал, что будет отложенный вызов? Какой-то странный вопрос. Есть событие, которое ты хочешь обработать. Если оно произойдет - будет и вызов. Если не произойдет - не будет. Все просто.
>>2306897 > Но там нет колбека Он там есть. Неявно в атрибуте onclick и явно в методе addEventListener. Любая обработка события использует именно колбеки.
Объясните популярно как проверить имплементирует ли некий объект интерфейс? Я правильно понимаю что тайпскрипт сам так не умеет и нужно писать функцию с is, которая вручную будет проверять че там и как, а потом возвращать булеан, типа проверило?
Антуаны, тупой вопрос. Есть 2 страницы, которые представляют собой 2 разных компонента. Нужно получить данные по API. Ествественно, URL разные. Получается, мне для каждого компонента надо писать componentDidMount и в нем заново писать запрос? Или это бред?
>>2306991 То есть это конечно работает, но чет оче громоздко выглядит. Или это типа так чтобы компилятор мог легко откинуть всё тайпскриптовое и не добавлять проверку сам?
>>2306991 >>2306995 Все верно. Компилятор и не будет добавлять никаких проверок, потому что их слоган "мы не будем добавлять никаких проверок". Чтобы не делать это вручную можно взять либу типа runtypes
>>2306991 >Объясните популярно как проверить имплементирует ли некий объект интерфейс? Писать джейсон-схему для объекта и по ней валидировать объект. >>2306993 Бля я в шоке от этого вопроса. Нет конечно же, загружай вообще всё при открытии любой страницы. >>2306995 Имплементация интерфейса не про валидацию в рантайме. Конкретно "имплементация интерфейса" существует только в контексте классов и тайпскрипт тебя будет по рукам бить если твой условный class Zalupa implements IZalupa {} неправильно реализует конструктор для интерфейса. А за пределами классов это более гибкая замена жсдоковским тайпдефам.
>>2307202 Ну и вопросы у тебя. Функция должна возвращать то, для чего ее написали и для чего собираются использовать. Если ее используют для генерации колбэков - очевидно, она должна возвращать функции. В примере мдн она должна возвращать функции, что она и делает.
Вот рабочий код. Есть событие, оно меняет стили. Не нужно никаких колбеков, никаких возвратов функций. Даже объявлять или вызывать отдельную функцию не нужно. Так теперь объясни почему нужно возвращать функцию, фанатик?
>>2307214 Не, не фанатик. Просто знаю матчасть. Ты не знаешь как работает инлайн атрибут событий в теге. Когда ты присваиваешь инлайн-атрибуту выражение, оно под капотом оборачивается в функцию, которая будет вызвана при обработке данного события. Если же назначать обработчик не в инлайне тега, а в свойстве объекта - там ничего дополнительно не происходит и сразу присваивается ф-ция.
>>2307217 Почему так не работает событие? При загрузке страницы функция срабатывает автоматически, а при событии не срабатывает. Ее можно выполнять из консоли, все будет работать, но не в событии.
function test(size) { document.body.style.fontSize = size + 'px'; }
>>2307227 Потому что ты плохо учил программирование и невнимательно читаешь ответы, которые тебе пишут. Еще раз - в поле onclick должна храниться функция. Эта функция будет автоматически вызвана при возникновении события. Если вместо функции в onclick записать ее вызов, то в onclick, что очевидно, будет сохранено значение, которая эта функция возвращает. Поэтому в первом случае у тебя ничего не работает, а во втором работает. Вообще же, это весьма детские вопросы. Все они пропадут, как только почитаешь какой-нибудь учебник.
Вкатываюсь в JS и, естественно, начинаю с верстки. Прошел 2 темы пока что в freecodecamp в Responsive Web Design Поделился с другом, который сам вкатывается, но уже больше 7 месяцев, говорит, что вертска на фрикодкэмпа устарела и смысла сейчас там ее проходить нет. Так ли это и стоит ли забить на фрикодкэмп и осваивать другие источники?
>Еще раз - в поле onclick должна храниться функция. В обоих случаях у меня функция.
>>2307234 >Если вместо функции в onclick записать ее вызов, то в onclick, что очевидно, будет сохранено значение, которая эта функция возвращает. У меня в обоих случаях вызов присвоен onclick. Просто не дописал такую же строку document.getElementById('test').onclick = test(20); для второй функции.
Разница в этих двух функциях в том, что первая просто присваивает css атрибуту значение, а вторая возвращает функцию, которая присваивает css атрибуту значение. Непонятно почему первая не работает на событии, а при принудительном вызове работает.
>>2307275 >У меня в обоих случаях вызов присвоен onclick. Просто не дописал такую же строку document.getElementById('test').onclick = test(20); для второй функции. Ты просто дебил блять, пиздуй уже на завод.
>>2307300 > Не тупи > Почему первая не работает Потому что ты не знаешь самых базовых вещей. Не знаешь настолько, что даже не понимаешь ответы на свои вопросы. Читни кантора, рили, сразу попустит
>>2307300 Чел, посмотри что возвращает твои функции и какой из результатов больше похож на что-то, что должно стоять в onClick. Напиши вот это в консоли и помедитируй над результатами.
>>2307322 Я не знаю что должно быть в onclick. Первая функция не возвращает, но она переписывает css. Вторая возвращает функцию, которая переписывает css.
>>2307328 >Первая функция не возвращает То есть возвращает, но я пробовал без возврата просто переписывать css. На событии не срабатывает, а срабатывает при загрузке страницы.
>>2307365 >??? Изменяется font-size тега body. Показывай тогда как там у тебя в "стилях" что поменялось. >Почему это? Значение меняется, шрифт увеличивается. Только это происходит не по событию клик, а в момент загрузки страницы. Да что ты говоришь? >Значит у меня все правильно. Почему тогда не работает? Что возвращает твоя функция, уебан?
>>2307397 Ну на смотри https://jsfiddle.net/seym8pzt/ Если кликнуть run, то сработает моя функция test. Если потом нажать 12, 14 или 16, то сработает событие с функцией makeSizer. Функция тест рабочая, но не работает на событии, а только при загрузке страницы. Все здесь орали, что она не может работать. Вот смотрите, она работает, шрифт становится 30px если нажать run. Она не возращает функцию, а возвращает напрямую изменение атрибута css.
>>2307404 Смотри, вас тут двое - ты и жс. И кто-то из вас тупой пидор. Если ты говоришь, что у тебя все правильно, значит можешь расслабиться - тупой пидор тут жс, а ты мамин пирожочек Изи
>>2307478 Дуру не гони. В onclick должен присваиваться вызов функции? Да, и у меня в этом все правильно document.getElementById('test').onclick = test(30);
test(30) это вызов функции и эта функция корректно работает без события. Так что научись выражать свои мысли. Если ты хотел что-то другое сказать, то говори на нормальном языке.
>>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) Это присваивание результата функции. Вы короче сами не шарите вообще.
Функция test(30) возвращает "30px". Как может после присваивания её вызова в document.getElementById('test').onclick = test(30) возвращаться null? Что за тупость?
>>2307547>>2307550 Кстати, на этом примере полностью показано, как нас зомбируют по теме js. До этих ваших v8 все программировали на самом правильном движке js - IE5.5. А нам говорят, что мы научились программировать только с приходом node и нынешних браузеров. Только у IE5.5 был js, а все остальные программировали на FORTRAN. Я поэтому и говорю, что с присваиванием вызова функций нас опять обманули. Потому что если вы, как программист, то вы должны знать присваивание вызовов функций древнего js: void function{} with typeof === document new this return Так присваивали наши предки! А когда нам придумал гугл с эплом js липовый, с этого началась подмена программирования. Фальшивый js. На нем программировать - только обманывать и ограблять DOM.
>>2307559 Ну тут-то начиналось все за здравие, а потом, не вынеся бремени задачи "напиши обработчик без замыкания", он решил скатить все в клоунаду. Но позора ему все равно не избежать, анонимус все помнит, у меня все скриншоты треда нотариально заверены.
>>2307583 Ты че, пес, я в самом расцвете сил, не нравится про программирование - могу про историю рассказать. А вот ты знаешь, например, что Украину Ленин изобрел?
>>2307594 То, что ты не узнал оператор битовой деструктуризации события, говорит исключительно о том, что тебя зомбировали, а ты и не заметил. Ну ничего, мне больше void-ушек достанется.
>>2307592 Вот да, налицо неразрешимые противоречия js. Для построения комми-js предлагаю пока временную меру в виде #define false true , тогда принципы всеобщего равенства будут достигнуты в масштабах отдельного движка. И назовем это социал-джаваскрипт.
>>2307588 >Ну тут-то начиналось все за здравие, а потом, не вынеся бремени задачи "напиши обработчик без замыкания", он решил скатить все в клоунаду. Я сделал. В этом примере без замыкания https://jsfiddle.net/mxa7d4uo/1/
>>2307620 >Пчел не может в сигнатуру ивент листенеров Я смог. Потому что можно функциональное выражение. Это легально. Вот и доказательство, что можно без замыкания. Шах и мат!
>>2307623 Если ты уверен, что не готов, значит у тебя есть четкое представление, что делать, чтобы стать готовым. Следовательно, делаешь все, чтобы стать готовым. Но скорее всего это просто самоедство, которое в случае успешного устройства на работу перейдет в стадию вечного синдрома самозванца. Короче таблетки прими
>>2307628 >четкое представление, что делать, чтобы стать готовым А что делать, если вообще не понятно какой уровень требуется, чтоб считать себя готовым? Что если пройтись по собеседованиям и там спросить какой уровень требуется для того, чтоб взяли работать? Ибо тексты вакансий нихуя не дают инфы из-за того, что в абсолютном большинстве случаев просто навалено дохуя технологий , и если пытаться освоить все, то ты должен в домашних условиях стать фуллстэк сеньором.
>>2307653 > Что если пройтись по собеседованиям и там спросить какой уровень требуется для того, чтоб взяли работать? Именно это грамотно будет, когда тебе при отказе дадут фидбек, чего не хватает в знаниях, подтянешься. Просто еще же и компании разное хотят, где-то пролезешь, где-то нет.
>>2307579 >void function{} with typeof === document new this return Между прочим, довольно складная считалка, для распределения тасок между фронтанами самое то.
>>2307671 Положишь ключик на страницу СИКРЕТИКИ на гитхабе. Естественно его будет видно в нетворке, но хотя бы вид то надо сделать что ты знаешь что делаешь
>>2306674 Так я-то откуда знаю, какая команда подается первой канве? Мне нужно сконвертить нарисованную либой канву в свг в случаях, когда сама либа этого не умеет делать. Есть другие способы конвертации произвольной канвы в векторный (!) свг? Не конвертация массива пикселей, а в настоящий как угодно скалируемый свг?
>>2307777 >Так я-то откуда знаю, какая команда подается первой канве? Та которой ты рисуешь, у тебя ведь либа не с готовым рисунком, ты сначала даешь ей этот рисунок а потом уже она его конвертирует. >в случаях, когда сама либа этого не умеет делать. Если не умеет, значит возвращает ошибку, детектишь ифом и передаешь рисунок в другую либу, если не получится, в третью и тд, рисунок хранится отдельно от всех либ.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript