Вы видите копию треда, сохраненную 28 января 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в Ад.
Для программирования на HTML https://jsfiddle.net/
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Руководство для вката:
https://pastebin.com/9yRADC0s
const textForRole = (roles, textLines) => roles.map(role => `${role}:
${textLines.split('\n').reduce((acc, curr, i) => curr.split(':')[0].trimStart() === role ? [...acc, `${i+1}) ${curr.split(': ')[1]}`] : acc , []).join('\n')}`).join('\n\n');
встал от этой картинки
(.youtube.com.[a-zA-Z2-9]$)
он найдет:
https://www.youtube.com/channel/UCrpQ4p1Ql_hG8rKXIKM1MO5
но не найдет:
https://www.youtube.com/channel/UCrpQ4p1Ql_hG8rKXIKM1MO0
Мне нужно находить все, кроме строк оканчивающихся на 1, как в мое выражении еще и 0 добавить? У меня включены цифры только с 2 по 9, а как сделать с 0 по 9, пропустив 1?
Выдрочил вёрстку, js, react, ноду. На какую зп можно сейчас рассчитывать если я без опыта и вышки?
В зависимости от жирности гитхаба и реальной выдроченности (которая значительно меньше чем ты думаешь, учитывая отсутствие опыта) на 50-100к в ДС.
ну норм так-то, че ты хотел этим показать не совсем понимаю
Ок, в конкурсе на самый всратый импорт из лоудеша ты победил.
Понятно, спасибо, а то и запятую подставлял и фигурные скобки, все не то.
Так не чел, тут же не особо много сложности. Если тебе надо кучу строк конкатенировать - самое то. И там не то чтоб прям жопа, цикл и пуш. Ну рили.
>>1746280 →
Да это уже погрешности наверно. Там ж вроде одна и та же операция делается.
https://pastebin.com/aQWQX3TD
Вот. Нужно короче чтоб первый в массив лёг пятый(так как раньше всех заканчивает), и then взывался когда последний залетел. Как это сделать?
Ты хочешь чтобы результаты были отсортированы по времени выполнения или что? Сформулирую задачу нормально.
По времени выполнения. Да я уже понял, вроде для этого как раз AllSettled
https://pastebin.com/dCNDWffz
[ 5, 4, 3, 2, 1 ]
Ты документацию-то к Promise.allSettled почитай.
Задача решается через кастомный аналог Promise.all, где ты навешиваешь then ка каждому промису, который складывает результаты в массив и потом возвращает его.
всё что нужно знать о реакте в одной картинке
пишу под material-ui - та же хуйня. Когда подключаю redux еще такая же простыня подтягивается
А как сделать так чтобы:
let array = [1, 2, 3, 4, 5];
function doSomeStuff(array) {
let results = []
array.forEach((elem) => {
results.push(doStuff(elem))
});
// Задачи должны выполняться одновременно, и по завершению пушиться в массив.
return bestResult(results); //Возвращает один из элементов массива, какой функция решитb estResult будет лучше.
}
// Сама функция doSomeStuff должна быть полностью синхронной, но запускать array.length ассинхронных задач.
>Сама функция doSomeStuff должна быть полностью синхронной, но запускать array.length ассинхронных задач.
Как ты себе это представляешь вообще?
Ну то есть функция принимает массив. Для каждого элемента этого массива делает X, потом когда все функции готовы она джойнит результат в массив результатов и делает ретурник.
В джаве с thread.join'ами вообще на изи.
Ты понимаешь, что ты пытаешь запихать асинхронную функцию в синхронную? Остальной-то код, что должен делать по-твоему? Перестать выполняться в это время? Тогда все синхронное получается.
Если функция запускает асинхронные задачи, и завершается только после выполнения, таких задач, то она не синхронная.
Используй await
Хорошо, давай так.
let array = [1, 2, 3, 4, 5];
function doSomeStuff(array, callback) {
let results = []
array.forEach((elem) => { results.push(doStuff(elem)) }
// А когда результаты готовы
callback(bestResult(results);
}
Или так тоже нельзя?
Ну а как это сделать чтоб по-нормальному было? Ты сорян шо я туплю, я прост не явоскриптер нифига.
const get doSomeStuff = (array) => new Promise((resolve, reject) => {
const result = [];
// do your async shit with array and push to result, if error call reject(error)
resolve(result);
});
Весь код писать за тебя не буду, сорян. Хотел разобраться с промисами — разбирайся сам.
Не хотел зря грузить человека.
посоветуйте какие-нибудь курсы, желательно на русском, но если таковые отсутствуют, могу и англ осилить
поисковик выдаёт только минина, которого кто только не хуесосил
Этот код ничего не сортирует по времени выполнения, doSomeStuff в нем вообще бессмысленная обертка.
https://pastebin.com/EhVJgrYa
Спасибо. Перепишу на async. У меня самого пока получилось вот так. Выглядит как говно, но вроде работает. Результат не 45 секунд жду.
Еще год назад начал клепать сайты на чистых html и css для себя, потом стал добавлять туда интерактивности с помощью самопальных скриптов на ванильном жс. Сейчас приспичило установить левую либу из npm, как ее "поставить" в мои html страницы? Вот скачал я пакеты в папку node_modules а дальше что?
подключаешь min.css или min.js из папки в node_modules или чё там у тебя. вообще на сайте библы можешь глянуть
Ты имеешь в виду как подключить библиотеку, скаченную через npm?
В свой САМОПАЛЬНЫЙ скрипт сделай import =)
В целом, да, но можно написать в сто раз короче: https://jsbin.com/qaxetupaga/5/edit?js,console
Это уже детали реализации. Добавь в возвращаемое значение Date.now и сравни их в then функции Promise.all
Можно в мак устроиться. лол. Без шуток сейчас. Чтобы попасть джуном хоть куда-то, тебе должно просто ебически повести, если ты не из дс. Большинство сейчас минимум год дома кодит, а потом пытается вкатиться на мидлов. Вкатышей слишком много и от них не т профитаю. То что ты будешь делать за неделю недомидл сделает за 10 минут. Только платить тебе придется почти столько же.
Мужик, не сталкивался ли ты с проблемой, что бодипарсер в NestJS не может считать входящий xml в пост запросе? Я уже 2ой день думаю как с бубном это можно решить. Левые бодипарсеры не работают тоже, он тупо конвертит хмл в жсон.
Они учатся за пару вечеров. И что ты на js делать собрался без них? Ну если только бек на ноде. А на фронте чистый js сейчас и не нужен.
Если лень ебаться с вебпаком и пишешь самопальные лишь бы работало, то добавь <script> с src на либу, у всех популярных есть ссылки на них, они объявят глобальные переменные со всеми функциями.
Дома пишу на нём со всеми ламповыми .innerHTML, appendChild, addEventListener, - сплошное удовольствие и работает в тыщураз быстрее всей этой остопиздевшей реактопараши.
Помню мы как-то правили хуитку для телевизера, которая была на ЖЕЕСЕ с DOM блять, и там было такое некрожелезо что приходилось замерять что быстрее работает. Так вот, ничего быстрее, чем напердолить весь хтмл в строку и захуярить в верхний контейнер через innerHTML до сих пор нет.
Нахуй тебе редакс это во-первых нахуй тебе ахсиос это во-вторых нахуй тебе зены это в-третьих почему ты не деструктурируешь пропс это в-четвертых ты долбаеб сувать экшен хттп реквеста куда-то в чайлд дёргающий мутацию стейста через хендлер в перент элементе это в-пятых
Спасибо, анон.
А на работе ты что делаешь? Я вот настолько заебываюсь что вне работы кодить вообще не хочется.
хотя вероятно я неосилятор и это не мое, гы
Вне работы коротаю время чтобы наступил новый день чтобы работать. Нечего делать вне работы.
А потом при каждом изменении всю страницу чтобы перепидорашивало. И обработчики события руками каждый раз вешать или веселиться с деоегированием. Хорошо придумал.
Так большинство сайтов и работает.
Выебал бы кота с пикчи
Держи сотню нефти
Просто веб снова должен стать простым. Тулчейны должны максимально похудеть. Уровни абстракций снизиться до максимума. Нужно просто все выкинуть и начать с нуля. Не опираясь на другие инструменты. Веб стал максимально не консистентным, начиная со встроенных апи и дальше. Но js тем и хорош, что он позволяет полностью переделать всю объектную модель окружения в рантайме. С этого и надо начинать.
Учи основы и вали на бесплатные курсы в епам, оттуда джунами попадают в лабу, а после лабы уже знаний будет достаточно чтобы куда-то устроиться.
Делай без бека вообще. Как на торрентах - инфа хранится сразу у всех и качает другу у друга.
Пиши валидацию перед отправкой.
При снятии чекбокса проверяешь, сколько чекбоксов остаось выбрано. Если один - делаешь его disabled. Если больше одного делаешь все enabled
>Если один - делаешь его disabled. Если больше одного делаешь все enabled
Если ноль - показываешь сообщение. Если больше одного скрываешь сообщение
Блокируй кнопку отправки и пиши сообщение, если выбрано ноль.
Material bootstrap design
Я предпочитаю Fluent UI от майкрософта и Grommet. Имхо, лучшее из того что есть. По дизайну очень нравятся Carbon Components и Backpack UI, дизайн уровня бог, но реализация через жопу, имхо. Думаю форкнуть и переписать их с нуля. Из годноты ещё хочу попробовать Gestalt и Evergreen.
Ant design - китаёзное поделие, сделанное блять через жопу, со стилями в less, половина доков на лунном. Нахрен в реакте нужен лесс - непонятно.
Material design - замусоленный и приевшийся всем дизайн, который знает каждая собака, все эти тени, отскоки и прочее.
Bootstrap - ещё один мегапопсовый дизайн, его ещё допиливать и допиливать, чтобы он выглядел интересно и неизбито. Поэтому и не использую.
мимо-реактер
Вкатыши это наоброт хорошо для рыночка. Тк когда на вакансию джуна пытаются попасть люди, которые не могут в html, ценность мидлов только повышается.
Эм, а мб пояснишь почему лесс в реакте не нужен? Ты ещё скажи что препроцессоры в принципе не нужны? Всякие бутстрапы стоит тянуть в одном случае - у тебя нет макетов/дизигнера и ты не в состоянии/лень писать стили самому, все эти материл десигны весят дохуя, даже с тришейкингом.
Двачую, устроил к себе джуна, не потому что тянет по знаниям, а потому что меня заебало проводить собесы и отбирать говно.
джуну повезло что я устал
а зачем тебе вообще компоненты чужие?
ты что, не в силах написать 6 базовых компонентов?
выпадающий список, чекбокс, кнопка, инпут, радио.
вот что для жизни нужно, и ради этого тянуть либу чужую?
>Эм, а мб пояснишь почему лесс в реакте не нужен?
Из-за особенностей самого реакта, препроцессоры в нем не нужны.
Мне не нужен весь ant например. Мне понравилось к примеру два компонента - кнопка и дропдаун, а мне придется тащить стили всех 100500 компонентов. Дополнительные 100-200 кб к весу каждой страницы.
Нет той гибкости, которая есть у styled components/emotion. Как вариант - CSS-модули.
Что ты подразумеваешь под гибкостью? Ну последний раз когда чекал что там у вас в реакт, там и паг при желании в jsx интегрируется. Препроцессоры упрощают жизнь и время затраты в пару раз, не юзать их в 2020 очень странная практика. Анон выше акже был прав по поводу интуп/чекбоксов/радио. Хоть раз сделав самому вышеуказанные компоненты - ты их реюзаешь постоянно, меняя условные стили при чекед/дизейблед. А ты вместо этого тянешь ебейшие по размеру библиотеки
Глупый вопрос по-моему, написать-то я всё что угодно напишу. Мне не хватает лишь хорошего дизайна. У меня куча сайтов на реакте, в том числе достаточно сложные, с 100+ компонентов. С хорошим UI они выглядят гораздо выигрышнее, чем если я сам на коленке сделаю эти дропдауны, списки, кнопки и т.д. То есть работать-то оно будет, но не будет выглядеть стильно. Для меня овчинка стоит выделки. Стоит свою либу запилить, если планирует ещё 5-10 стартапов на ней сделать.
да что там в дизайне то у этих компонентов?
рамки сделать фон и парочка шрифтов стырить как в UIkit microsoft?
хз, никогда не понимал людей которые берут UIkit для продакшен проектов.
я обычно брал что бы просто накидать админку кривую, но с работающим API
О, а покажи какой-нибудь из своих сайтов со сложной структурой и 100+ компонентов на реакте? А то все примеры всегда приводят либо искусственные вроде тудушки, либо какие-нибудь фб/инстаграм.
BEM вообще мертвая технология, но к сожалению есть люди которые ее еще используют и верят что именование классов - это очень круто и гибко
Слушай, я эти препроцессоры использую уже много лет. Ещё когда compass в sass только появился. Знаю это дерьмо как облупленное. Ты мне серьезно говоришь, что они упрощают жизнь? Ну камон. С препроцессорами у тебя 90% CSS-стилей будет висеть мертвым грузом на каждой странице. CSS-in-JS либы генерят CSS динамически, стили изолированы в компонентах и на страницах нет ничего лишнего.
Кому-то sass/less в реакте заходит. Мне - нет.
>>47922
>да что там в дизайне то у этих компонентов?
См. их оффсайты, там наглядно показано
https://developer.microsoft.com/en-us/fluentui#/controls/web
https://www.carbondesignsystem.com
Если тебе не кажется это стильным, тогда не знаю.
Этот udemy мне бинарные опционы напоминает
Не проецируй. По нексту контента в сравнении с реактор очень мало, всякие статьи на медиуме с хелловорлдом да видео на ютубе где его к вордпрессу подключают. Чтобы тот же редакс на него поставить нужно ебаться с васяно-библиотекой. Я хочу чтобы все и сразу было в одном месте, а не собирать информацию по крупицам, и готов за это заплатить
>готов платить за курсы в 99% которые - высеры Васянов, которые вчера еле "писали" на жукверике
>ряяяяя не хочу читать доки и искать инфу, пусть мни всё расскажуть
>не считает себя лохом
Кекнул с тебя
Нищук с ПЕРЕПЛАТОЙ, ты? Если ты никогда не смотрел курсы, то откуда вообще что-то знаешь об их качестве? Иди дрочи все по докам, не еби людям мозг.
Трехлетней давности? Ну охуеть теперь. Давай-ка, покажи мне где лежат свеженькие видосы с egghead.
Во-первых: когда я вкатывался первое время мне тоже казалось что курсы это охуенный источник информации, куда проще чем доки, но ,поскольку я не долбаёб, то понял довольно быстро: они дают лишь ложный эффект знания, эта информация всегда воспринимается намного хуже.
Во-вторых: как сказал чел выше - если ты слишком когнитивно слаб - и тебе без курсов никуда - они во фри доступе
Иди селект с автодополнением нормальный напиши. И чтобы с клавиатуры хорошо управлялся и на мобилках работал еще.
А потом календарь с масками такой же.
Как-будто готовые есть со всем, что написал и без говна.
Я другой анон ваще. Вкатывал по курсам, покупал подписку на тимтрихаус, потом на эггхед, когда на Реакт Амстердам ездил в том году закатился на воркшопы Доддса и Стробера (хули, компания платит). Все это было охуенно круто и полезно, в доках нет и половины техов которые используются на практике. Так что про когнитивную слабость иди своей мамке заливай.
С ней все так, просто сейчас есть более удобные средства изоляции CSS — модули, CSS-in-JS и т.п.
Пчел, мне показалось или ты сравниваешь воркшопы, конфы и менторство от не даунов с очередными курсами от индусов? Ты никаких противоречий не видишь в этом? И что-то мне подсказывает что вкатываться по видосикам != смотреть видосики от топ пчелов, когда у тебя уже есть представление и база, а от них ты перенимаешь бест практис, не?
>вот год назад делали хуево, а вот сейчас точно хорошо сделоли, ты попробуй!!
Ты либо получаешь с покупки этих курсов долю, поэтому решил тут прорекламить, либо долбоеб.
Где в треде вообще фигурировали курсы от индусов? Ясен хуй, что надо смотреть отзывы и покупать нормальные, а не рандомую хуйню.
>>48258
Чувак, ты странный какой-то. Зачем ты вообще участвуешь в этой дискуссии, есть никакие курсы ты никогда не покупал и, видимо, даже не скачивал и тебе совершенно нечего сказать по теме? Очень хочется долбоебом кого-нибудь назвать? Ну иди в б, он для этого и предназначен.
>С препроцессорами у тебя 90% CSS-стилей будет висеть мертвым грузом на каждой странице.
У тебя говнокод на реактовском жыэсе будет на несколько порядков больше груза вешать, особенно если пердолишься с инлайн-стилями.
>У тебя говнокод на реактовском жыэсе будет на несколько порядков больше груза вешать
ГДЕ???? ПРУФ что он подгружает на насколько порядков больше? 32 КИЛОБАЙТА блять! Где несколько порядков, я хочу видеть.
выпадающий список пишется за 2 часа со всеми примочками что ты описал. поиск по вхождению и отображение вхождению внизу в дивах - это 1 строка кода.
календарь подольше.
я так понимаю ты из за этих 2 компонентов тянешь Uikit, может тебе проще их отдельно выкачать и все?
Я просто видел ваши UI кит, они потом на 90% переебаны , что кода на выходе больше если писали бы сами.
возьми ты отдельно себе 2 компонента, чисто заточенные под календарь и выпадающий список и кастомизируй их, коли сам не можешь написать
>>48284
почему вы беспокоитесь за килобайты?
у меня когда приложуха доросла до 50мб.
сделал сплиттинг.
когда каждый модуль начал весить до 1мб, сделал кеширование, и сжатие.
когда и этого стало мало: уволился с работы и начал новый проект в новой компании и мой проект весит сейчас 500кб, дойдет до 60 мб - уволюсь
нахуя вы переживаете за килобайты?
>выпадающий список пишется за 2 часа со всеми примочками что ты описал
Если никогда сам такого не писал, так другим хоть сказки мне не рассказывай. Там над одним управлением фокусом можно несколько часов ебаться. И еще столько же чтобы заставить все нормально работать на iOS. Одна строка кода, кек.
Но я уже тебя понял, 6 компонентов на все про все у него, ага.
>а по каким критериям ты определяешь, что годнота, а что - нет?
Критерии простые:
Минимальное количество зависимостей, чтобы bundle size был как можно меньше. Тот же carbon components тащил в проект зависимостей где-то на мегабайт. Какие-то левые календари, иконки, хотя я ничего из этого не использовал, у меня была парочка компонентов из всего этого разнообразия. Написал разработчикам багрепорт, частично исправили.
Не на базе некро-библиотеки, типа radium или glamorous или glamor. Тот же Backpack UI написан на базе Radium. Мало того, что там через жопу работали @media queries, была беда с server-rendering'ом, так ещё был неудобный синтаксис. В итоге, у многих компонентов были мелкие баги, то фокус не работал, то ещё что. Сами разрабы бакпака признали, что радиум говно и лучше бы они изначально на styled-components писали.
Нет стилей захардкоденных в sass/less - объяснял выше почему.
Есть темизация - у того же grommet можно глобально стили менять у чего угодно, дописывать свой CSS компонентам.
Гибкий, компоненты можно настраивать как угодно под себя - посмотри https://v2.grommet.io/box там 100500 пропсов, этот box можно превратить во что угодно. Хоть в кнопку, хоть в собаку, хоть в аллаха.
Качество дизайна - само собой, хотя это уже вкусовщина.
> никакие курсы ты никогда не покупал и, видимо, даже не скачивал
Покупал и скачивал. Да, в скачанном виде их можно применять, но только для закрепления уже существующих знаний, которые ты получил из книг. Покупка может быть только из-за незнания, либо умственной отсталости, как в твоём случае.
Потому что если у тебя не сервис на 1,5 калеки и не бэкофис, где у людей выбора нет, каждая задержка на 50-100ms в TTR/TTI может стоить тонны нефти для бизнеса. Подтверждалось неоднократно разными компаниями экспериментально (в т. ч. Amazon, например)
И это я еще про SEO ничего не сказал.
{id:1, name:"Москва", selected: false},..,
Просто отображаешь массив, по клику на элемент меняешь флаг selected
поиск делается в 1 строку через includes
какой блять фокус? с фокусом все просто и решается так же в 1 строку.
от силы у тебя компонент получится в 30 строчек кода.
>поиск через includes
О, а вот и разрабочики дерьма на реакте, которое грузится по 5 минут, подъехали.
Мне даже противно вспоминать о том, что я их покупал. Хорошо хоть теперь поумнел, но осадок всё равно останется на всю жизнь.
Ну и нормально же. Главное, сделать выводы и идти дальше.
>О, а вот и разрабочики дерьма на реакте, которое грузится по 5 минут, подъехали.
ты из тех долбаебов которые вместо map reduce используют for на 10 элементах массива, код превращается в кашу зато выигрывают в 0.00000000001ms ?
Скорее просто вкатыш, который не знает, что линейный поиск в определенных моментах более уместен, чем какой-нибудь мержсорт.
Но искать через includes то что будет использоваться частом == быть долбоебом. Для поиска есть ключ:значение
Я про сам код говорю, ебло.
Твои пердоленья c CSS в ЖС только добавляют лишний шаг в виде выдёргивания кода из ЖС и перетаскивания его в CSS. Там где ты только добавляешь/меняешь класс, который меняет свойства по заранее заданным правилам в CSS, поделие на ЖС как минимум дёргает свойство домовского элемента style, а в реакте так ещё и объектный литерал создаётся для этого.
>какой блять фокус? с фокусом все просто и решается так же в 1 строку.
Ты не понимаешь о чем о говоришь. Не вижу смысла продолжать общение.
Ну можно и книгу, конечно, но они просто намного реже обновляются. У меня есть, например, Кантелона, но там 18 год. Я и до доков бы добрался ради всех нюансов, но мне б сначала структурированно получить представление - что, как, в каком порядке
Объясни проблему фокуса, у тебя скорей всего там говно код.
вам даже forwardRef сделали
я тебе решение подскажу в 1 строчку кода
const abu = [1,2,3,4,5,6,7,8,9,10];
есть массив из 10 элементов, тебе нужно получить массив где не будет числа 5, т.е. как бы удалить его, как решишь задачу?
С помощью функции clone() из jQuery клонирую большой элемент. Все события, уже навешанные на этот элемент, успешно клонируются вместе с ним, но вот одно, по виду ничем не отличающееся от других, клонироваться не хочет (точнее клонируется, но не работает). Есть ли какие-нибудь быстрые методы выяснить, что не так?
мдяяяяяяяяя
хватит уже умничать, прочитал мантру что алгоритм должен быть быстрый, но не понимаешь где это уместно.
ты будешь прав, если эти действия выполняются в 1 промежуток времени. Но если у тебя на странице 100 выпадающих список, и ты открываешь 1 , потом закрываешь его, открываешь второй, то тебе поебать вообще.
> 1) jquery мертв
Это вопрос к тем, кто его использовал в создании сайта. Мне лишь нужно пофиксить одну ошибку в этом куске дерьма.
> 2) отладка
А вот неясно, как к этому вообще подступиться. Там webflow, я даже не могу найти, где это событие добавляется.
const ebal = () => {
if(chislo===1) {
return [2,3,4,5,6,7,8,9,10]
}
if(chislo===2) {
return [1,3,4,5,6,7,8,9,10]
}
}
ebal();
Че он орет?
За битьё ебала денег не платят. Впрочем, в недрах гугла я таки отыскал магическую строчку, которая выполняет переинициализацию этого ебучего webflow, теперь всё работает.
какая?
"тебе нужно получить массив где не будет числа 5"
не сказано какой, новый или нет, значит на свое усмотрение
лучше получить новый, так принято в фронтенд мире ))
Так и нужно делать.
filter новый массив возвращает, оставляя предыдущий без изменений. Поэтому если тебе из const arr = [1,2,3,4,5,6] нужно убрать 4, то со своим фильтром ты только нахуй пойти можешь
const xuy = [1,2,3,4,5,6,7,8,9,10].filter(el => el !== 5)
что не так?
я другой анон
это самое лучшее решение что бы удалить 1 элемент по значению.
Он у тебя уже есть, читай оригинальный пост. Что не так - на пикриле.
>const abu = [1,2,3,4,5,6,7,8,9,10];
И самое медленное. И лишний массив в результате. Если так много раз делать = куча лишних массивов.
это не медленно, это стандартно.
Если мне скажут что в массиве будет 500 000 элементов, то я с тобой соглашусь.
но для фронт задач аля 1000-5000 элементов - это хорошо.
я сказал, а ты не показал.
а то как вы там будете организовывать переменные никого не ебет.
самое читаемое решение это filter , если вы делаете по другому то ты вы не фронт разраб, а какое-то чмо залетное из С++
> задача звучит как: удалить 1 элемент из массива
>filter
>не удаляет элемент из массива, а создает новый
Задача не решена.
мы удалили этот элемент из массива, было 10 стало 10.
но технически не удалили.
твой вариант тоже не удаляет элемент из массива, он очищает байт.
и еще на то пошло у нас нет массива вообще))0000
В общем, всем известно, что у событий есть аттрибут, что они триггернуты пользователем, а не кодом. И его нельзя подделать.
Собственно, мне нужно нечто подобное, но для консоли devtools. Тобишь, чтобы некторое апи было доступно только пользовательскому вводу. Есть идеи как чекнуть, что какой-то код выполняется именно из консоли?
Сотру элемент в редакторе кода.
Я почему спрашиваю, на работе пишем на AdonisJS, а там cli и строгая структура папок.
>В общем, всем известно, что у событий есть аттрибут, что они триггернуты пользователем, а не кодом.
Ты про свойство ивента isTrusted?
>И его нельзя подделать.
Как минимум он определяется рантаймом, следовательно, как и весь клиент-сайд код, может быть скомпрометирован.
Да, про него, и да я знаю. Это лишь как пример.
По существу я хочу иметь возможность чекать кем вызвана функция. Точнее вызвана ли она пользователем из консоли инструментов разрабочика (если говорить о браузере).
>как и весь клиент-сайд код, может быть скомпрометирован.
Это вообще не имеет отношения к делу.
Задача предоставить пользователю апи от библиотеки, котрое недоступно коду, кроме как запущенному из консоли. При этом без каких-либо расширений в браузере. То есть поставляется это апи с самой библиотекой.
Точно. Забыл совсем про старый добрый стек трейс. Спасибо, анон.
Потому что color1 у тебя объект, а color2 примитив
Используй метасимволы, если тебе надо.
Кек, что ещё можно ожидать от очередного реакто-блядка. Даже мне очевидно что сложную бизнес логику, вычисления и все что сложнее фильтрации небольшого массива данных надо делать на бэке и тянуть с помощью апи. У тебя даже ssr в моде, рендеринг на сервере, как думаешь почему? Впрочем не отвечай, среди реакто вкатышей крайне мало адекватных.
мимо вью демигод
блин ну скажи что изучать лучше, я давно уже хотел вкатится в программирование, почему схлопывется, щас же век технологии все же ток развиваться должно
Предложение намного превышает спрос. И у меня нет здесь шкурного интереса, давно вкатился.
>Твои пердоленья c CSS в ЖС только добавляют лишний шаг в виде выдёргивания кода из ЖС и перетаскивания его в CSS
Блять, узнай уже наконец, что существует server side rendering и статичные фреймворки типа gatsby, где это делается на этапе сборки проекта и клиенту подается в готовом виде на блюдечке, в хтмлечке.
Троглодит, открой пожалуйста исходники https://www.gatsbyjs.org/ и взгляни на <head>. ГДЕ, КАКОЙ ЛИШНИЙ ШАГ???
>Там где ты только добавляешь/меняешь класс, который меняет свойства по заранее заданным правилам в CSS
Окей, на классах решил всё делать, да? Ну давай посмотрим... Вот у этого компонента https://v2.grommet.io/box 28 пропсов. Как ты это будешь делать на классах? НУУУУКААААА, реализуй мне хотя бы одно свойство border. Мне жутко интересно как ты будешь пердолить classnames)))) Удачки тебе написать классы для каждого случая - .border-size-xsmall, .border-size-small, .border-size-medium... Вот это уж эффективность так эффективность))
> Аноны, /web/ мёртв, а больше спросить не у кого.
Нипизди, он не мертв, просто там меньше людей. Я там отвечаю постоянно. Ты ничего не спрашивал.
>Блять, узнай уже наконец, что существует server side rendering и статичные фреймворки типа gatsby, где это делается на этапе сборки проекта и клиенту подается в готовом виде на блюдечке, в хтмлечке.
Мы не про SSR говорим, бэкэндер штопанный. И лишнее дёрганье это не отменяет, ты его просто будешь на серваке дёргать заместо клиента. Неудивительно, что в пример gatsby привёл, который для бложиков используют.
>>48760
>Вот у этого компонента https://v2.grommet.io/box 28 пропсов.
Ссылку не смотрел, но если у тебя 28 пропсов в одном компоненте, то это твои проблемы, особенно учитывая что реакт любит дробление компонентов.
>Удачки тебе написать классы для каждого случая - .border-size-xsmall, .border-size-small, .border-size-medium...
И как это отменяет дёрганье DOM'а, дебилоид? Однохуйственно как ты задаёшь эти значения, стиль из кода всегда будет медленее стиля из CSS просто потому что код сперва дёргает DOM чтобы дёрнуть CSS и чтобы дёрнуть DOM опять.
>в пример gatsby привёл, который для бложиков используют
>для бложиков
Понятно, ты некомпетентен. Затирать тебе про статические генераторы это всё равно что алкашам с соседнего подъезда объяснять теорию струн. Какие нахуй бессерверные технологии, какой jamstack, какие headless cms, эта вся хуйня придумана для бложеков.
>если у тебя 28 пропсов в одном компоненте, то это твои проблемы
Ахахахаха, ну ладно.
>стиль из кода всегда будет медленее стиля из CSS
Я нихера не понял, что за хуйню ты несешь. Ты только в предыдущем своем сообщении распевался как соловей, мол как удобно и приятно добавлять/менять CSS-классы у элемента. Тебе привели конкретный use case, с обилием свойств и предложили реализовать на классах. Давай просто - ты сделаешь со статичными css-стилями в отдельном css-файле. А я сделаю на styled-components и мы потом сравним читабельность, объем кода, его производительность. Идёт?
>дёрганье
За анус себя дёрни.
>Какие нахуй бессерверные технологии, какой jamstack, какие headless cms, эта вся хуйня придумана для бложеков.
Таблетки прими, мы тут только реализации стилей обсуждаем, а не все мокрописьки, о которых ты знаешь. И gatsby используют в основном для бложиков, что как бы намекает на его масштабируемость. А ты собираешься в него пихать методику, которая срёт объект литералами на каждое изменение состояния.
>Я нихера не понял, что за хуйню ты несешь.
Ясен хуй не понимаешь, ты же не знаешь как DOM и манипуляции с ним работают, просто хуяришь по шаблонам и подключаешь сторонние либы, чтобы покрасить квадраты. Всё равно не задержишься на работе до стадии, где надо будет разгребать твой говнокод.
>Давай просто - ты сделаешь со статичными css-стилями в отдельном css-файле. А я сделаю на styled-components и мы потом сравним читабельность, объем кода, его производительность. Идёт?
Давай ты пройдёшь нахуй. На чём ты там собрался производельность мерять, дебич, на квадратах в вакууме? Даже доки реакта говорят, что инлайн-стили медленее отдельного файла, Абрамов наверно хуйло с двача забыл спросить.
>За анус себя дёрни.
Эксперта по дёрганью DOM'а забыли спросить.
>И gatsby используют в основном для бложиков, что как бы намекает на его масштабируемость
Ой бля, тяжелый случай. Дурак и не лечишься.
>На чём ты там собрался производельность мерять, дебич, на квадратах в вакууме?
Дурак чтоли ёпты, элементарно в хроме меряется. Не, не слышал?
https://www.youtube.com/watch?v=E4KAWf_fKbM
>Даже доки реакта говорят, что инлайн-стили медленее отдельного файла, Абрамов наверно хуйло с двача забыл спросить.
Наркоман чтоли сука? Причем здесь вообще инлайн-стили? Какое они отношение имеют к текущей дискуссии?
Все решилось, оказалось, что у окон неуникальные id, подтираю за собой, всем спасибо.
Перечитал всю дискуссию - ХУЙНИ-ТО НЕ НЕСИ, ДОЛБОЁБ!!!!
Инлайн-стили != CSS-in-JS
Учи матчасть, css-in-js либы НЕ МЕНЯЮТ И НЕ ТРОГАЮТ атрибут style элемента! Styled-components лишь вычисляют имя CSS-класса с помощью мурмур хеша (https://www.wikiwand.com/en/MurmurHash) и инжектят <style> с кастомными классами в <head>. Всё!
Короче научись отличать inline css от css-in-js. Так и хочется учебник подарить, чтобы ты матчасть изучал на досуге. Всё, дальше всё с тобой в принципе ясно.
дс. react
Сотка
Deno + ts
>Дурак чтоли ёпты, элементарно в хроме меряется.
Мы говорим об архитектурной разнице. Вот если перепишешь полный проект с CSS на инлайновые стили/твою любимую писечку, тогда и возвращайся. Своими девтулсами можешь хоть усраться микросекунды в песочнице считать.
>>48889
>Styled-components лишь вычисляют имя CSS-класса с помощью мурмур хеша (https://www.wikiwand.com/en/MurmurHash) и инжектят <style> с кастомными классами в <head>. Всё!
Ага, пересчитывание хэша на каждый компонент и инжект его в голову документа быстрее отдельного файла стилей. Ты типичный педант блять, доебался до дерева, полностью проигнорировав лес.
Пчел, тебе описали как работают стайлд компоненты, на клиенте они не инжектятся, все скромные ресурсы на это тратятся во время SSR и выплёвывается клиенту уже результат. Юзер получает плюс в виде более быстрого времени до появления контента за счет сср, ты хуяришь удобные компоненты инкапсулируя стили в них. Тянуть весь css файл через весь проект - параша. А если ты захочешь из засплитить - это может оказаться ещё тот гемор, для этого и существуют стайлд компоненты.
мимо
https://hh.ru/vacancy/37774133
>>48975
Не за что.Там все примерно такого уровня. Можешь просто запилить резюме на хх и написать там что работал где-то пару лет. Тебе за вечер штук 20 накидают.
я такое за час джуном решаю с окладом 50к
>Ага, пересчитывание хэша на каждый компонент и инжект его в голову документа быстрее отдельного файла стилей
Да похеру, если придется пожертвовать 50 миллисекундами на пересчет хешей, но разработка будет в 10 раз удобнее - я всегда выберу удобство. А ты трясись дальше из-за лишней миллисекунды парсинга.
>Вот если перепишешь полный проект с CSS на инлайновые стили
Несколько уже есть, на styled-components/emotion.
>>48963
Я ему примерно так и объяснил.
>>48950
В том, что ты тратишь время на левую нонейм контору без какой-либо компенсации, с минимальным шансом найма. Они даже не наняв тебя, уже нагружают заданиями, представь что будет, когда наймут. Тогда придётся молиться на них, и в ножки кланяться. Спасибо хозяин, что даете мне деньги за мою работу.
>В том, что ты тратишь время на левую нонейм контору без какой-либо компенсации, с минимальным шансом найма. Они даже не наняв тебя, уже нагружают заданиями, представь что будет, когда наймут. Тогда придётся молиться на них, и в ножки кланяться. Спасибо хозяин, что даете мне деньги за мою работу.
Их вполне можно понять. Посмотри резюме тех, кто откликается на вакансии. Там 99% это вкатыши уровня "Мне 28 лет. Я работал таксистом, потом прошел курсы от Айти Бороды. Вот ссылка на мой гитхаб, где три кривые тудушки и сфорканый код с комментариями на китайском и комитами 123772347247ready". Всех невозможно отсобеседовать. Норм человек сделает тестовое уровня круда из jsonа на реакте за +- час и его уровень сразу можно будет оценить + отсеится больша часть мусора.
А что для тебя значит мусорные? По факту сейчас все оформляются по Тк, то есть зарплату тебе будут платить в любом случае. Если не брать совсем дно уровня вебстудий уВасяна.веб, которые делают заказы с fl.ru, работать ты тоже будешь в нормальных условиях. Как минимум на уровне обычных офисных работников.
стек устаревший или кривой.
пример: если react и они используют redux - такая компания считается мусорной, потому что используют устаревший стек
нет ts == еще плюсик в карму мусорности.
Компания тебе не друг. Она не действует в твоих интересах. У неё нет цели "сделать вон тому куну заебись". Я тебя уверяю, любая компания перед тем как нанять, прочекает несколько десятков резюме, подробно изучит все биографии, выберет самую низкую цену и только потом наймет.
Поэтому не надо им сочувствовать, умейте говорить "нет". Подыгрывая им, вы делаете себе же хуже. Вас будут использовать, если вы легко соглашаетесь на всё. Наймут, скажут - Васян, иди вон той секретарше настрой компьютер. Или - ой, а у нас проект горит! Васян, останься сегодня подольше. А как зарплату платить, так ой, у нас щас напряг с деньгами, подожди ещё пару недель.
Отказываться от парашных тестовых заданий, если тебе не хочется этого делать - это нормально.
Если другой чел получит доступ к компу, то пользователю уже ничего не поможет. Вычисляй хэш (из пароля + еще какой-то информации, которую сложно подобрать) на стороне клиента и проверяй его на сервере.
google authenticator?
Подскажите, есть опыт в вёрстке (исключительно html+css). Необходимо подтянуть JS и вопрос следующий. Выбирать JS как первый ЯП и дрочить его до конца жизни это нормальный вариант?
Проблем не будет с освоением и пониманием программирования в целом?
ЯП это всего инструмент и это понимаю, но выбрал фронт и хочу развиваться в этом направлении, соответственно все силы буду вкидывать в JS. По десятибальной шкале насколько хуёво брать этот язык первым? (мне 24, благодаря вузу знаю БАЗОВЫЙ синтаксис питона, джавы и C#/C++). Под базовым я имею в виду циклы, массивы, условия (ООП как таковое проебал)
Что за ебанутый вопрос? На фронте тебе в любом случае придётся дрочить JS, если ты конечно в какой-нибудь мелгомягкий вендорлок не планируешь вкатиться.
так вопрос в том, что я ссыкуюсь взять джс как первый язык и на нем разбирать ооп и прочую поебистику (программирование в целом). поэтому и спрашиваю, насколько это хуёво
в js не классическое ООП, а на прототипах, если ты не даун то тебе ничего не помешает освоить "нормальное" ооп другого языка потом
я так и так джс возьму, бля, я просто наслышан о том, что брать джс как первый яп полная хуета
тогда ебашь сразу на TS и никаких проблем не будет
А нахуя тебе другой язык первым брать, если тебе все равно знания жс нужны, ну выучишь паттерны, которые в жс не используются и че дальше. А так в жс спокойно в ООП можно писать, никакой разницы нету какой язык первым учить.
Ты побольше всяких пердоликов слушай.
Ну тогда не бери, хуле ты тут расплакался, слышал он.
>джс как первый язык
Javascript - один из самых популярных языков в мире. 1.300.000 библиотек на npm. Миллион библиотек, Карл! На любой чих выдает тысячи результатов. Я просто вбил "pagination" и он мне выдал 105 страниц результатов. Чего тебе ещё надо, собака? Тебе блять даже программировать не надо, всё программирование сводится к нахождению нужной либы.
Ладно бы ты спросил "стоит ли изучать R как первый язык программирования", но JavaScript! Блять, он легчайший просто. Тебе должно быть стыдно за то что ты задаешь такие вопросы.
https://www.youtube.com/watch?v=OxIDLw0M-m0&list=PL4cUxeGkcC9ij8CfkAY2RAGb-tmkNwQHG
>да, а какой сложный?
Любые специализированные, научные. Как тот же haskell или R для статистических расчетов. Ассемблер. На C++ код может быть очень сложным. Зависит от области применения.
> и дрочить его до конца жизни
Нет, долбик шолей. Нормальные погромместы всегда несколько языков знают и у них несколько основных есть.
Дрочить один язык не получится. Изучи лучше функциональщину, си и кресты (если тебе нет необходимости вкатываться сразу), потом учи жс и прочее.
> Наркоман чтоли сука? Причем здесь вообще инлайн-стили? Какое они отношение имеют к текущей дискуссии?
Ты же сам писал
> клиенту подается в готовом виде на блюдечке, в хтмлечке.
вот, инлайн же. в ангуляре так было раньше, пиздец проигрывал
Но это не в хтмле, а происходит генерация css на этапе ssr.
Если это не генерируется один раз при сборке, а при каждом ssr - бессмысленная и ебанутая практика. Нахуй такое дерьмо. Нахуй. Нахуй и впизду.
Дока ≠ учебник. Ты же будешь учить машиностроение по чертежу и инструкции эксплуатации автомобиля.
У тебя инвалид. Машиностроение ≠ строительство автомобиля.
Чисто визуальное наблюдение холиваров в сетевом пространстве, указывает на то, что людям начинающим с прототипного ООП, ничто не мешает освоить и классовое. Ровно как начинающим с динамической типизации, освоить статическую. Ничинающим со слабой, освоить сильную(строгую). А вот наоборот бывает крайне редко.
Вот только зачем? Намного профитнее выдрочить что-то одно и сидеть на этом все карьеру, чем поступать как типикал двачеры и учить все, но плохо. ЗАТО ФУЛСТАК. По факту с 10 годами погромирования на каком-нибудь мертвом Objective-C можно без задней мысли попасть в какой-нибудь facebook с минимальной конкуренцией. Со стаком js, php, wordpress, opencart, sql, laravel, python, django, vue, linux, c++ максимум это несколько тысяч $ в вебстудии "уВасяна.веб", хотя времени на изучение уйдет столько же. Только на самом дне нужно знать много чего, но плохо. Шарить нормально во все физически невозможно.
Я тот чел, что спросил про изучение джса как первого и единственного языка. Сори, я не хотел устраивать холливара, просто в программировании у меня намного меньше опыта, чем у "здешних".
Хочу работать во фронте. Мне 24 и я уже дохуя проебал времени. Нет у меня времени изучать все языки, понимаете? Во фронт вкатиться тяжело - знаю, НО вот эту всю хуйню (html, css, js, vue, react, препроцессоры, галпы-хуялпы я буду учить осознанно без мысли типа: "БЛЯ ЩА БЫСТРО ДЖС ПОДУЧУ НА РЕАКТЕ ЧО НИТЬ ЕБАНУ И ПОЙДУ ДЖУНОМ"). Нет, по вечерам после дно-работы буду 2-4 часа уделять верстке и джсу. Просто хочу освоить программирование С ПОМОЩЬЮ джса. И хотел у вас у опытных узнать, как вы считаете, хуёво ли начинать с джса, может я совершу ошибку и буду говнокодить из-за того, что не вкусил "классику" - си и прочую хуету. Это всё. За холливар прошу прощения - не хотел!
>Хочу работать во фронте.
>Мне 24
>по вечерам после дно-работы буду 2-4 часа уделять верстке и джсу
Классический старый вкатывальщик. Если ты лох на свой работе, чому думаешь, что не будешь лохом в погромировании, где такая же говноработка?
А что мне после работы делать?
Нынешняя работа нравится абсолютно во всём. Играть и смотреть сериалы, чтобы отдохнуть от работы надоело. Вкачусь фронтом в 25 в твою компанию и выпру тебя к хуям собачьим оттуда просто потому, что я адекватнее и солиднее тебя, ребёнок
Не знаю насчет него, но мне тоже уже очень хуево от осознания, что до сих пор не вкатился. Давит пиздец.
22 лвл древний лич
Слыш охуел, мне уже очень хуево от осознания, что до сих пор не выкатился. Мне бы твои 22 лол
32 лвл пердун
Ну ты хоть что-то делал наверное в свои годы, а я после отчисления из говновуза просто дрочил и проебал пять лет.
Ну я серьезно. Интересно же. Тут много раз уже засирали хх и говорили, что там ничего годного нет. Неужели все через линкед устраиваются?
Какая разница между классами и прототипами помимо имен?
statement это блок кода.
keyword это зарезервированное ключевое слово, которое распознается компилятором для того чтобы сделать что-либо с кодом, который ты написал.
>Какая разница между классами и прототипами помимо имен?
Лучше не раскрывать эту тему, если ты первый вопрос задаешь. Просто запомни, что если хочешь ООП, то нужно использовать Typescript, а не велосипед вида прототипов и сырое дерьмо вида классов.
> Лучше не раскрывать эту тему
А ты раскрой. Пока разницы вообще не вижу. Просто в одном случае говорят объект <- класс, а в другом объект <- прототип.
Ты не поймешь, потому что в JS-е, как и любом другом языке с динамической типизацией, нет возможности применить ООП. Чтобы ты понял, тебе нужен опыт программирования на ООП языках типа Java/С++/C#, но ты ведь даже JS тольком не знаешь.
Все я знаю. Это ты не знаешь и потому не можешь ответить и стрелки переводишь.
Ха, смотрите на него, он не знает!
>Какая разница между классами и прототипами помимо имен?
Смотря о чем ты спрашиваешь. В общем смысле существует классовое и прототипное наследование. В JS реализованно именно прототипное. Отличие в том, что в прототипном подходе по умлочанию наследование реализуется делегирование. Ссылки на функции, реализующие методы класса (и свойства), могут не храниться в экземпляре класса, а при обращении к ним ищутся в цепочке прототипов этого объекта. При этом эта цепочка в целом может быть изменена в любой момент времени. При классовом подходе каждый инстанс ссылается на фиксированную таблицу таких свойств и методов, что практически то же самое, что каждый инстанс хранит в себе все свои методы и свойства и ни с кем их не делит.
Если ты спрашиваешь разницу между прототипами и констракцией class, то - конструирование объектов в js опиарется на две сущность - это конструктор и прототип. Прототип - это объект или null, который есть у каждого объекта. При обращению к объекту, если у него не найдено какое-то свойство, оно ищестя в прототипе, не найено в прототипе, иется в прототипе прототипа, пока эта цепочка не дойдет до null. Конструктор для формирования объекта не обязателен. Конструктор это такая функция, которая занимается инициализацией объекта. Если упрощено - происходит создание пустого объекта - ему устанавливается какой-то объект в качестве прототипа, потом к этому объекту применяется функция, у которой this - это только что соданный объект, с уже установленным прототипом. Изначально, с первых версий языка, конструкторы и прототипы были незаивисмыми сущностями на уровня синтаксиса. Конструктором могла быть почти любая функция, при этом она же могла быть вызвана и не в качестве конструктора (без ключегвого слова new). Прототип, который будет использоваться при инициализации бъекта определенным конструктором - записывается в своейство с именеме prototype этого конструктора. Конструкция class является синаксическим сахаром над этим всем, объединяя на уровне синтаксиа конструктор с пртотипом, и обмазывая это все дескрипторами доступа и прочими мелочами.
>Какая разница между классами и прототипами помимо имен?
Смотря о чем ты спрашиваешь. В общем смысле существует классовое и прототипное наследование. В JS реализованно именно прототипное. Отличие в том, что в прототипном подходе по умлочанию наследование реализуется делегирование. Ссылки на функции, реализующие методы класса (и свойства), могут не храниться в экземпляре класса, а при обращении к ним ищутся в цепочке прототипов этого объекта. При этом эта цепочка в целом может быть изменена в любой момент времени. При классовом подходе каждый инстанс ссылается на фиксированную таблицу таких свойств и методов, что практически то же самое, что каждый инстанс хранит в себе все свои методы и свойства и ни с кем их не делит.
Если ты спрашиваешь разницу между прототипами и констракцией class, то - конструирование объектов в js опиарется на две сущность - это конструктор и прототип. Прототип - это объект или null, который есть у каждого объекта. При обращению к объекту, если у него не найдено какое-то свойство, оно ищестя в прототипе, не найено в прототипе, иется в прототипе прототипа, пока эта цепочка не дойдет до null. Конструктор для формирования объекта не обязателен. Конструктор это такая функция, которая занимается инициализацией объекта. Если упрощено - происходит создание пустого объекта - ему устанавливается какой-то объект в качестве прототипа, потом к этому объекту применяется функция, у которой this - это только что соданный объект, с уже установленным прототипом. Изначально, с первых версий языка, конструкторы и прототипы были незаивисмыми сущностями на уровня синтаксиса. Конструктором могла быть почти любая функция, при этом она же могла быть вызвана и не в качестве конструктора (без ключегвого слова new). Прототип, который будет использоваться при инициализации бъекта определенным конструктором - записывается в своейство с именеме prototype этого конструктора. Конструкция class является синаксическим сахаром над этим всем, объединяя на уровне синтаксиа конструктор с пртотипом, и обмазывая это все дескрипторами доступа и прочими мелочами.
>Пока разницы вообще не вижу. Просто в одном случае говорят объект <- класс, а в другом объект <- прототип.
В js это вообще разные сущености на уровне семантики. Начнем с того, что и объект и класс и прототип - это все объекты. (исключение составляет null). Это как скрипач, музыкант и коля - это все люди.
У всех объектов есть прототипы. Классы в js - это объекты. Функции это тоже объекты. У классов и у функций есть прототипы. Прототипы это почти всегда тоже объекты. Классы - это связь определенного объекта-прототипа и объекта-функции. При инициализации класса, получается новый объект, у которого прототипом является этот протип из той связки, и который конструируется той функцией из той связки. Такой объект наызвается экземпляром класса.
Коля - это человек. Человек - это класс. Коля - это экземляр класса Человек.
Коля - это понятие. Человек это тоже понятие. Класса - это тоже понятие. И коля, и класс и человек - это все понятия.
Bump вопросу
В дс2
Хорошо ты про statement и keyword написал.
> При этом эта цепочка в целом может быть изменена в любой момент времени
То есть единственное отличие это то, что я могу прототипы в любой момент менять, а классы нет? Это понятно, я просто искал что-то более серьезное.
>>49816
>объект и класс и прототип - это все объекты
Класс это функция же. Функция-конструктор.
>Класс это функция же. Функция-конструктор.
Функция это тоже объект. Это семантически разные понятия. Разные уровни абстракций.
Конструктор, Класс, Инстанс - это один уровень
Функция - это другой уровень, более низкий
Объект - это еще боле енизкий уровень абстракции
Я тебе пример про колю не просто так привел.
Скрипач - это музыкант. Стоматолог - это врач. Но и стоматолог и скрипач и музыкант и врач - это люди.
>То есть единственное отличие это то
Из этого единственного отличия вытиекает множество нюансов. В общем случае классы быстрее прототипов. На протипы влияет длина цепочки наследования. При этом на прототипах можно эмулировать классоев наследование - копированием при инициализации. На классовом в общем случае протипное эмулировать можно только концептуально, полностью выбросив синтаксис (но с таким подходом на любом тьюринг полном языке можно эмулирвоать что угодно).
А есть еще такие вещи как множественное наследование, композиция вместо наследования, интерфейсы (где-то с реализацией, где-то без), абстрактные классы, миксины/трейты/примеси и прочее прочее прочее. И это все разные уровни абстракций. А ты уже спотыкаешься на трех понятиях.
>Функция это тоже объект
Не в жсе.
>>49835
> множественное наследование, композиция вместо наследования, интерфейсы (где-то с реализацией, где-то без), абстрактные классы, миксины/трейты/примеси и прочее прочее прочее
Все это спокойно делается и на прототипах.
В общем какой-то существенной разницы нет.
>Не в жсе.
Именно в жсе это и объект.
У всех объектов есть внутрение поля [[Call]] и [[Construct]]
Функция, это объект, у которого одно или оба из этих полей не пустое.
>This answer is done as a special shorthand for Functions, though every Function constructor is derived from Object constructor.
>Functions are regular objects with the additional capability of being callable.
typeof null тоже 'object' , что дальше?
Наебать тебя пытается отрицание того, что типы могут наследоваться, если говорить о понятии типа в целом.
А если говорить о js, то тут есть только два типа - примитивный и объект. При этом любой примитивный тип концептуально можно рассматривать, как объект-синглтон.
Нет, я запрещаю.
>вот, инлайн же
Инлайн стили в реакте:
<div style={{
background: 'gray',
borderRadius: 5,
position: 'relative'
}}>
Test
</div>
И это тоже инлайн стили, только уже в html:
<style>
background: gray;
border-radius: 5px;
position: relative;
</style>
Тот наркоман затирал про первый вариант, мол как же медленно всё через style работает, это всё берется из JS, потом обновляется DOM, куча говнокода и т.д. и т.п. Да ещё вдобавок, мы эти стили в объекте храним.
Но к css-in-js это не относится, т.к. они атрибут style не трогают.
Второе это не инлайн. Инлайн - это когда стиль прописан в самом элементе. В аттрибуте style.
Хм, ну так-то да.
> И это тоже инлайн стили, только уже в html:
Нет, это не инлайн.
> <style>
Это медленно тому что html большой. Туды делают заглушки, чтобы красиво было.
Лучше отдельными файлами css хуярить.
> мол как же медленно всё через style работает,
Я хз почему это медленно работает, но инлайн кал это ебаный пиздец по производительности.
> Но к css-in-js это не относится, т.к. они атрибут style не трогают.
Смотря какая реализация.
>document.getElementById
Вообще лучше не использовать в 2020. Есть же топовый querySelector. https://reactjs.org/docs/refs-and-the-dom.html , но почти всегда можно без них обойтись. Тк у тебя значение или заранее известно, или идет от сервера/через инпут.
Вопрос не в том, что "не нашел". Работу то там куча, но в основном это совсем дно.
>Нет, это не инлайн.
Инлайн в переводе с английского "встроенный", встроенные стили в данном контексте звучит приемлимо.
>Это медленно тому что html большой
Спорное утверждение, у меня страницы со стилями вбитыми в html получаются порядка 50 кб, это типа много? Примеры:
https://www.gatsbyjs.org/ - 92 кб
https://spotify.design/ - 43 кб
https://www.designsystems.com/ - 16 кб
Это по-твоему много? Ну окей.
>Лучше отдельными файлами css хуярить.
CSS-in-JS стили генерируются динамически для каждой страницы отдельно. CSS страницы = сумма стилей всех компонентов на странице. Значит если у тебя 100 страниц на сайте, нужно 100 CSS-файлов генерировать. Этим ты максимум килобайт 30 со страницы разгрузишь, выигрыш так себе.
Если мне память не изменяет, у linaria и jss стили в отдельном файле. Хотя я могу ошибаться.
>Смотря какая реализация.
Мы сейчас говорим про живые на данные момент либы. Styled components, emotion, jss, linaria, fela, ну и ещё парочка. Ни один из них атрибут style не трогает.
Из строки весьма пиздато вычитается число
Можно обращаться к несуществующим элементам массива, у массива длиной 2 можно запросить 1000й элемент и исключения не будет
Можно обращаться к несуществующим атрибутам объекта
Но также есть специальное объявление const, чтобы указанная переменная не дай бох не была изменена пограмиздом! А то кровь, кишки, распидорасит. Сама блять логичность
Хочу в дочернем компоненте скрыть вкладку через изменение пропса. Для этого надо распарсить JSON объект.
Код: https://pastebin.com/bR19nMCZ
Recived message {"isTest":false}
Parsed JSON object {isTest: false}
Что не так:
1) Какого-то хрена пропс не реагирует на изменение, например, с false -> true на основном компоненте, только на дочернем (при этом скрытие работает);
2) Как проверить, есть ли в JSON искомая строка? Т.е. if(json.key == "isTest")
> Инлайн в переводе с английского "встроенный", встроенные стили в данном контексте звучит приемлимо.
Чел похуй как звучит там у тебя в голове. Инлайн стили это style=
> это типа много?
Это типо однопоточно на клиенте и ты кинул страницы на которых нихуя нет.
> нужно 100 CSS-файлов генерировать. Э
Че несешь нахуй? Всё это генерируется в один файл, который исключает любое дублирование, при сборке. Это - нормально. Генерировать css каждый раз на сервере, при каждом запросе - ебланство. Можешь дальше не продолжать че-то там нести.
Вижу пропсы прописаны,а темплейт app кинь, где там твой дочерний , ты точно передаёшь в него?
Люблю систематизировать и каталогизировать разное дерьмо, хочу парсить различные интернет параши по запросам и сливать дату оттуда, выявлять закономерности. Может запилить потом на своем сайте свою базу данных на основе этой даты.
Опыт программирования - ноль. Насколько подходит сишарп для таких задач, или мне в другой тренд?
А в анализе изображений какой язык может помочь? Возьмем скажем абстрактный пример - есть 100 фотографий, нужно проанализировать их и скачать данные по фотографиям где человек пострижен коротко. Если не касаться нейронок конечно.
Погуглил, сегодня курс курсеры начинается.
https://www.coursera.org/learn/html-css-javascript-for-web-developers/
Присоединился туда вольным слушателем, все правильно зделал?
Не знаю. Как пройдешь - расскажешь.
> Опыт программирования - ноль. Насколько подходит сишарп для таких задач, или мне в другой тренд?
Питон нужен. Там заебись быстро прогать и парсить.
> А в анализе изображений какой язык может помочь?
Питон.
> Присоединился туда вольным слушателем, все правильно зделал?
Есть хтмлакадемия, больше не нужно. Курсы по пистону сам найдешь.
Не слушай дурака. У петухона синтаксис уебищный. Для него меньше сотронних библиотек и фреймворков чем для JS. Да, ты можешь написать свой распознаватель изображений, но он будет либо очень кривой, либо ты потратишь на это больше времени, чем если бы выучил JS и воспользовался существующими API распознавателей, выбор которых очень богат. И у петухона проблемы с асинхронностью, она в нём максимально уебищна, особенно если ты новичок.
А на пожрат, 40к хотя бы, про 70,80,100к+ мы не говорим, с js легко выйти если после забавы захочется и денюжку поиметь?
Точно легче чем с петухоном.
Руле оф э тамб: врубать троттлинг, делать лиснеры на ивентах пассивными, завязываться в цикл рендерера (я хз во что рендерит box2d, но думаю, в канвас. Можно завязаться на фидбэк с ФПС канваса).
>Какая разница между классами и прототипами помимо имен?
Как минимум, жс классы нельзя вызывать как функции, нужно обязательно инстанцировать их.
Классы, по сути, используются как синтаксический сахар прототипов. То есть кода намного меньше становится - и понимание проще. В некоторых случаях всё же нужны прототипы, но в большинстве - классов достаточно.
> поехавший рассказывает что у пистона синтаксис хуже чем в жс
> что жс лучше для парсинга и распознавания
@
> ну я не поехавший, у вас аргументы плохие прост, вы все школьники рооояяяя!11
))
>>50298
У тебя ускорение и масса на объекте выключены?
А то ваще-то у объектов есть масса и они не могут ускоряться мгновенно. Либо отключаешь массу/ускорение, либо используешь гостколижен или типо того.
>поехавший рассказывает что у пистона синтаксис хуже чем в жс
В JS синтаксис похож на другие языки. У петухона он похож только на синтаксис петухона. Т. е. изучив синтаксис JS тебе легче будет освоить другой язык, в том числе и петухон, потому что в нём просто убрали то что есть в других. Изучив петухон, тебе будет сложение изучать другие языки, потому что писать придётся то, что ты раньше не писал.
>что жс лучше для парсинга
Да, зная JS тебе легче изучать цель парсинга, потому что все сайты, представь себе, написаны на JS. Зная петухон ты будешь знать петухон, и бегать в этот тред, спрашивать "бля, вот я гружу страницу, там есть данные, а когда я через петухон её загружаю в проге, то там этих данных нет, памахите!!!".
> и распознавания
Много ты программ для распознавания написал, клоун? Все библиотеки для распознавания есть и в JS, но даже они не нужны, так как легче использовать уже готовые API. Или может быть у тебя человек, который парсингом занимается, использует не уже готовые решения, а начинает свою нейросеть писать чтобы отличить фото с машиной от фото с медведем?
Достаточно аргументировано? Теперь жду от тебя такой же аргументации, либо очередного пука гринтекстом как замену "да, ты прав".
> поехавший думает что кто-то задел его любимый жс и нужно срочно копротивляться простынями
Хуле таблетки не выпил?
Возможно, я что-то путаю или не так делаю.
Вот родительский компонент - App.vue целиком, в нём дочерний компонент - Navbar, в котором я пытаюсь управлять видимостью вкладок: https://pastebin.com/CXZr0WHt
Вот дочерний компонент - Navbar.vue: https://pastebin.com/piFfJX6x
и хули у тебя в дочернем компоненте нет пропса connected? Ты в пустоту передаешь из родительского :connected="ws.connected", пчел, ты рофлишь?
Я не его пытаюсь передать, а Stagotip.
Екма это только фантазии, интерпретатор не гарантирует полное следование этим спекам.
Не понятно, с чем ты споришь.
> интерпретатор не гарантирует полное следование этим спекам
Так-то да, но именно интерпретатор и определяет, какие объекты являются вызываемыми, а какие - нет.
Вопрос по react-redux
Функцию connect обязательно прописывать для каждого компонента, который использует редаксовский стейт?
Бочу будешь писать на жс. Хуй вместо зарплаты, все же мы тут люди, вконце концов.
Тут столько срачей было на тему, что лучше - контекст или редакс.
Выходит что разница лишь в названиях функций: useSelector, useDispatch вместо useContext и Provider вместо ContextName.Provider
Вопрос по п.2 снят. Удалось зогуглить.
Всем спасибо.
if('isStagotip' in json ) {
this.ws.stagotip = json.isStagotip;
console.log("New value of stagotip is", this.ws.stagotip)
}
Насколько я понимаю, useReducer используется для управления стейтом одного отдельно взятого компонента, а не контекста
Ридакс сага
В реализации итераторов, например.
В фп для do нотации, например.
https://github.com/russellmcc/fantasydo
Ну и не забывай о поддержке async/await синтаксиса в таргетах ниже ES7. Например, через Regenerator Runtime.
Спорно, я видел людей которые вкатились и в 40.
там от везения зависит все ну и от ЧСВ.
например готов ли ты чаи носить 20 летним синьерам будучи джуном в 40
мне не посрать
В няшном костюме горничной из аниме про кошкодевочек?...
Сильно не бейте по лицу, начал тут вкатываться учить этот ваш джаваскрипт, и решил под это дело взять ноут, чтобы кодить лежа на диване.
Собственно вопрос - где-то в каком-то месте я могу столкнуться с нехваткой производительности, если возьму вот прямо минимальный набор необходимого железа, буквально чтобы vscode + браузер запустить на этом - https://aliexpress.ru/item/4000419565279.html ?
Т.е. где-то на бекэнде например? Или тут буквально мощности нужно чтобы блокнот открыть и уже хватит? А то везде вижу вебдевов с макбуками, но не особо понимаю для чего там производительность нужна, ну разве что 300к/наносек по другому и не кодят. Но честно говоря для меня все ноуты, которые не выглядят тонкими это какой-то сатанизм
Как вариант, вместо всего этого взять 3-й монитор для мощного стационарного компа, чтобы на одном уроки смотреть, на другом кодить, а не третьем браузер открытым держать и смотреть что за хуйню я там понаписал.
Вообще любую хуйню бери. Я вкатываюсь на некропк, который родители купили ещё в нулевых. Единственная проблема - вскод каким-то образом засирает память если его не трогать, так что когда отхожу отдохнуть от вкатывания то приходится его перезапускать.
Тормозить может из-за сборщика, если проект жирный и нужно например поднять сервер, фронт и ещё пару сервисов, то будет тормозить. Или если дизайн будет в фигме и тебе постояно нужно будет держать вкладку с ней, то она подвешает систему.
А мы на бекенд, в ноду! Про нее вроде инфоцыгане еще не знают.
Обязательно ссд и желательно побольше оперативы.
> NTSC/N4100/8Гб/
Ты охуел что ли, это уже настоящая пекарня, у которой всё нормально с производительностью.
Единственная проблема будет - клава маленькая, ниудобна.
> Тормозить может из-за сборщика
Понаустанавливают себе всяких нодежс вместо сервера, а потом 4 ядра тормозит. Пиздец просто!
Парни, вкатываюсь потихоньку, вот в тестовом задании нужно изменить язык страницы используя JS, в гугле ничего толком нет, если не трудно киньте ссылку или что-то подобное, благодарю.
i18n
document.write("Давайте не общепонятном, ёпта.");
просто справочник сделай и все.
но пизды могут дать конечно за такое решение
const qqqq= {"name" : {de:"efefw", en:"name", ru:"Офффф"}}
Лол введи в гугл draggable carousel js. Превьюхи можешь сам допилить, это 5 минут.
ты не понял, я ищу!
Но хочу выучить жс и ангуляр/реакт, еще не решил, да и пока не горит без основного языка
Когда-то что-то минимально делал, но лучше исходить, что ничего из жс не знаю
Есть какие-то видеогайды чтоб под работу/перед сном себе смотреть одним глазом да прокрастинировать с минимальной пользой? Ясное дело, что потом надо будет нормально уже дочитывать и писать код, но мне нужно какое-то введение и база
>Есть какие-то видеогайды чтоб под работу/перед сном себе смотреть одним глазом да прокрастинировать с минимальной пользой?
Айти камасутра/Айти борода
Хочу создать приложение на телефон, на джаваскрипте пушо я его уже месяц активно изучаю уже дошел до промисов, но DOM не касался + есть знания html и css. Я так понял это можно сделать на react native, верно ведь?
Вообщем, мне пришла гениальная идея. Интервальное повторение для изучения формул математики и геометрии, физики и химии, занчения производной и интегралов, значения тригонометрии. Что-то похожее есть для изучения для изучения инглиша в плей маркете. Это можно реализовать?
Спасибо за идею, анон! Сел реализовывать, через пару недель ищи в апсторе приложуньку.
Я имею ввиду, что не знаю как в js с этим взаимодействовать, пока что
У них разные назначения. Редукс нужен чтобы хранить список дилдаков на странице, а контекс чтобы не ебаться с переносом текущей темы. Чекай документацию.
список дилдаков на странице можно и без редакса хранить
Верстак, скорее всего.
>во что бабель транспилирует async await
Если таргет ниже ES7 - то в генераторы на базе жирного рантайма Regenerator Runtime (или во что-то подобное).
> fetch
> xhr
Вообще отношения к асинк/эвейту не имеют никакого.
Ну и зачем по-твоему асинхронный таймер мне буде транслироваться в xhr или fetch?
Ты даже контексты бесед передввать не умеешь и вопросов не понимаешь. Какое теье нахуй программирование.
>Оказалось что в xhr
Чигоблять? В генераторы он async\await транслирует. Нет разве?
Вообще что за вопрос, кого это ебет, ты в команду разработки бабеля устраивался?
В промисы.
Нужно вынести значения всех инпутов в стейт и брать их из стейта.
Говновопросы на говнособесах про говнобабел. Async await траспилится в xhr? Ты шо дурак штоле блять?
Т.е он прям двигается вместе с речью спикера, умеет выделять текст и т.д. Есть ли в JS возможность делать свой курсор на сайте, который будет уметь делать все что может обычный курсор? Выделять текст и т.д.?
Блин, помогите долбоебу-бэкендеру. Я в жс слабо шарю, но нужно отправить на сервер данные через POST, а потом получив redirect перейти по нему, запилил вот это:
https://pastebin.com/FBbQcPZz
Данные на серв передаются, но когда доходит до редиректа он мне в консоли пишет response.redirect is not a function (там undefined). Как это фиксится?..
Пока самое "гениально" до чего я додумался это ебануть еще один костыль:
function goAway(){
window.location.replace("/")
}
setTimeout(goAway, 700);
на питоновском фласке блин (я сам его толком не знал недавно, но пришлось хуярить)
Это просто див, который они анимируют с left top ну сука есть же translate специально для анимаций, какого хуя, бери и делай также
В смысле если у клиента, то сетевые запросы надо асинхронно хуярить. Если я понял правильно, то у тебя response.redirect() вызывается сразу же после фетча, который даже не завершился.
Да, только возвращать будет все равно промис.
Устал от крудов и формошлепства, что бы такого написать или где посмотреть, чтоб прям сложная система событий, чтоб научится держать в голове больше сущностей и видеть архитектуру целиком. Короче, вопрос скорее как вырасти и вырасти правильно с хорошими навыками, а не набить себе дебильные навыки по незнанке.
Да нет, я люблю на досуге поковырять что нибудь, главное чтоб интересно было, эффектно и эффективно, ну а если мотивации хочется, то следствием такого роста будет зп.
Ребятушки, всем привет.
Как мне сделать такую штуку в html-форме, когда при вводе данных в неё символы распределяются в некую удобную форму прям на ходу. Такие штуки мы обычно видим, когда вводим номер телефона. Например, перед нами форма:
+7 () - -
но как только яначинаю что-то вводить символы красивым образом распределяются и в нужных местах автоматически проставляются нужные символы. Такая штука затем отправляется на сервер.
Как это называется? Как такое сделать?
Спасибо.
Сделай простую реалтаймовую онлайн-игру на сокетах с авторитарным сервером. Возни с асинхронностью хватит на год вперед.
спасибо
Делал и так и так. Посмотрел что выдает объект Response и внутри у него начинка из: type, url, redirected, status, statusText, headers и bodyUsed
redirected: true стоит, однако метода redirect почему-то нет. В поле url сидит как раз url который нужен мне, как по нему перейти? Вот эту же херню через window.location.replace мутить? Так вообще делают?
Всё в вебе хуйня, кроме различных редакторов и игрунек. Но на жс такое, как правило, не пишут. В жс и васм транслируют.
Этот >>52647 дело говорит. Пиши онлайн 3D редактор (опционально - коллаборативный CAD инструмент, пусть самый простейший) и/или игруньку. Ебаться будешь долго, если хватит мотивации.
А что нужно для SSR делать? Загонять компоненты в стейт и на клиенте чекать стейт, чтобы они на клиенте второй раз не рендерились?
Как это вообще должно работать в теории?
>redirected: true стоит, однако метода redirect почему-то нет
потому что redirected стоит boolean, каким магическим образом по-твоему бул должен стать методом? Ты на каком языке программист до этого?
1) к реакту это не имеет никакого отношения
2) объекты в жс - ссылочные типы
2) Object.assign({}, o1, o2)
>Салам реактивистам, почему при изменении переменной, которой было присвоено значение стейта, меняется и сам стейт?
Не мутируй стейт епт. И вообще лучше ничего не мутируй.
Алсо, Object.assign для дедов. Давно уже завезли спред-оператор:
const nextValues = { ...oldValues, ...someStuff, foo: 'bar' };
Бамп
Спасибо за ответ, анон, но я имел ввиду курсор мыши., который умеет симулировать нажатия, выделять текст где хочешь. Он иногда переводит курсор мышки в этот минибраузер и там выделяет текст, иногда в самом редакторе monaco что-то выделяет, или ставит текстовый курсор. Я нашел курсор мыши (он с классом PointerView __mount pointer, но мне все равно не понятно как он симулирует эти нажатия. Нельзя как то див заставить кликнуть на предмет, над которым он находится?
Можно. У всего есть событье onclick, и соответсвенно метод click(). Высчитать элемент, над которым находится дугой элемент можно множеством способов. Но в твоем случае все проще - там изначально была сделаана запись перемещения курсора и необходимых событий, когда и на чем их вызывать.
Насколько я понимаю, хер экшн выполнится, т.к. они без thunk'a выполняются синхронно, а thunk как раз и нужен, чтобы вернуть не экшн, а функцию-обертку, которая выполнится в then'e
Не не не. Суть немного в другом. Вот допустим есть условный диспатч setData. Мы делаем
axios.get(url).then(res=>setData(res))
и все выполняется нормально. То есть мы диспатчим уже полученную инфу, а не промис. Зачем тащить еще одну либу, если можно просто делать так и это работает?
Ты обосрался с решением
Это значит, что если засунут случайное число, то получат верный результат. Что неясного? Три теста: заранее известный тебе, который ты проверил, заведомо квадраты чисел и случайные числа, которые могут быть как квадратами, так и нет.
Приводи Math.sqrt(n) к целому.
Блин, ну ты хоть логически подумай. У тебя там вообще с точки зрения математики вообще всегда true должно быть, кек. Я бы более математично решал задачу на твоем месте. Почитай про свойства квадратных чисел и на их основе решение делай, а не этот добро, которое может давать кучу ложных результатов на пустом месте.
Вуя на клиенте у тебя будет обращаться к фласку через XMLHttpRequest. Фласк с сервера будет отдавать вуе на клиент всякие данные. Вуя будет их обрабатывать и строить приложение.
Опционально SSR - вуя на сервере, в ноде, делает странички некоторые отдает их в кэш фласка и он при заходе на сайт выдает эти кэшированные странички.
Как-то так. Сервер один. Только фласк (и нода, если нужен ssr) работают на нём. SSR не особо нужен, да, можешь не париться.
В ашот-студии я бы уверенно шел, готовый нашлепать форму или что то подобное, но тут ниибаца компания-лидер-в-отрасли-в-рф, возможна что нибудь изъебистое я хз вообще
Джуны не нужны. Джунов никто не берет. Берут либо студентов, чтобы обучить их самостоятельно как надо, а они за еду и опыт пахали или мидлов, которые уже могут.
Куча возможных вариантов. Но будь морально готов, что тебя не возьмут. На джунов лютейшая конкуренция и толпы вкатышей. Если ты не с ДС, найти первую работу это просто ебовийший квест
По меньшей мере знай, как работают хуки. Не просто, как вызывать, а как подобную систему реализовать самостоятельно:
https://medium.com/swlh/how-does-react-hooks-re-renders-a-function-component-cc9b531ae7f0
https://medium.com/the-guild/under-the-hood-of-reacts-hooks-system-eb59638c9dba
Знай порядок рендеринга древовидной структуры компонентов.
Алсо не проебись, назвав VDOM Шедоу ДОМом, кек.
Спасибо, буду пробовать!
Ааааа! Мои глаза, пиздетс!!! Fetch функция асинхронная, её результат нельзя вот так просто возвращать через знак равно. Потому что возвращается promise, а не сам результат действия. За такую хуйню в джаваскрипт сообществе принято загонять под шконку.
Правильный вариант:
а) Либо через .then(), типа
fetch('твой_урл', {...}).then(response => {
console.log(response.json);
window.history.pushState('page2', 'Страница', '/урл-для-перехода');
});
б) Либо через async await, типа
const fetchData = async (url, redirectTo) => {
try {
const response = await fetch(url, {...});
console.log(response);
window.history.pushState('page2', 'Страница', '/урл-для-перехода');
} catch(err) {
console.error(err.message);
}
}
Ну и т.д., учи асинхронность короче.
>что бы такого написать или где посмотреть, чтоб прям сложная система событий
Организуй сайт любителей-жопотрахов. Напишешь скрапер, который будет чекать дилдаки и страпоны на амазоне каждые 5 минут. Если страпон жестко подешевеет, рассылаешь всем СМСки - СРОЧНО ЗАКУПАЕМСЯ, СТРАПОНЧИК ПОДЕШЕВЕЛ!!! В итоге у тебя будет двойной профит - и шекели целы и жопа довольна. ПОДУМОЙ.
>А что нужно для SSR делать?
НИЧЕГО, обычно на автомате всё как нужно делается. Только делаешь полифиллы для window, websockets, localStorage, и проч. То есть что тебе нужно.
Смотри как это работает. Найти норм мидла рили трудно, а для большинства компаний вообще невозможно. Единственный вариант это набрать джунов и молиться, что один из них через полгода-год станет человеком. Раньше брали вообще всех, кто говорил, что хочет кодить и не был похож на совсем уж отброса. Сейчас появилось куча всяких курсов от АЙТИ БОРОДЫ и каждый второй хочет вкатиться. В итоге есть 100 желающих вкатиться. Из них представляют ценность 1-3 человека. Хрюша смотрит резюме всех ста. Отбрасывает самый шлак типо 30 летних бывших таксистов без знания английского. Остальных остматривают уже уважаемые люди. У них нет цели найти человека на работу прямо сейчас. Вакансии могут годами висеть. Один адекватный джун, который будет ебашить, окупит все расходы. Кстати, слишком амбициозным тоже нельзя себя показывать, если это не топовая работа. Я так в свое время ходил по вебстудиям. Все было ок, но не перезванивали. Потом пошел в норм место и получил оффер на 140к дс через два часа после собеса.
Адекватный подразумевает что человек может и хочет развиваться, а не просто сидеть на зп и в свободное время играть в доту. Вкатыши же в основном вообще ничего не хотят делать. Для них зарплата джуна-недомидла в тысячу с небольши долларов это уже успех и потолок. Даже по треду видно. Человек пишет что ему 4 месяца платят зп, а он ничего не делает и ему все советуют продолжать в том же духе. На то что за эти 4 месяца он мог бы апнуть свои скиллы и получать процентов на 30% больше всем поебать.
Получаю тысячу далларов ровно, самая моя большая зп из всех работ, работаю в крупной региональной нефтяной конторе, сижу на ангуляре, челы в команде вообще не але, не увлекаются миром технологий, до сих пор пишут в каждом методе const that = this, чтоб контекст, не дай Боже, не потерялся. Ощущение, что сижу в луже, не развиваюсь, на все инициативы говорят, не надо, это мы не используем, это лишнее. В итоге в качестве стейт стора, у нас локал стор. Хотел бы перекатиться в сильную команду с большей зп, на прошлом месте работы за под года подтянулся больше, чем тут за год, потому что были сильные коллеги.
Хм. А поч не перекатишься? У тебя же вроде норм опыт. Можно спокойно в какой-нибудь дс перебраться и получать под 200к, с учётом твоего опыта, ну или на удаленку перейти в норм компанию, если не хочешь переезжать.
вообще лучше избегать компаний связанных с государством. Платят меньше потому что для многих работать в Сбере или Газпроме это само по себе достижение. "Престижно" же. Соответственно все люди с амбициями бегут и, как ты мог заметить, все скатывается в болото
Да не, компоненты же по идее будут второй раз рендериться на клиенте. Не? Должны. Скрипт должен как-то узнать что всё уже отрендерено, но я не понимаю через что он узнает.
Или всякие реакты и вуи весь dom сканируют? Вроде не.
Что-то тут не то.
Блджад. Читай про гедрацию/дегидрацию данных и синхронизацию стейта. Ререндер после начальной загрзуки - верный признак того, что ты делаешь что-то не так. Начальное состояние должно быть заинжекчено в приложение.
https://github.com/johannschopplich/plain-spa
Прост я это говно взял и нихуя не понимаю по коду как построить ssr. Типо мне нужно в стейт загнать состояния компонентов навроде mount/unmount, которые можно получать через гидратацию? Или прост через https://github.com/luwes/sinuous/tree/master/packages/sinuous/hydrate это говно всё будет работать?
> Начальное состояние должно быть заинжекчено в приложение.
Да понятно, но. Блядь. Я не понимаю.
Наверн нужно сначала разобраться в цикле рендера этого синуса soooqa blyad
Ты ебанутый? Тебе уже объяснили - SSR ,как неожиданно, исходит из названия рендеринг блять на сервере, а это значит весь условный рендеринг, состояния, вычисления и подстановка данных ВСЁ происходит по средстам ноды на сервере, если ты явно не укажешь чтобы он рендерил на клиенте, всякие там хуерусели, и прочих шлак. Он выплёвывает готовую разметку, затратив при при этом на обработку твоего говнокода ресурсы сервера, а не клиента, блятьб.
Никому неизвестную хуйню какую-то притащил. Что ещё за синиус я хрен его знает. Полная поебень.
Планы были, потом корона, дёргаться не стал, потом на новостях про сокращение прикинул сколько мидлов/сеньоров пойдут со мной на рынок и что то расхотелось, у меня и так постоянно синдром самозванца и неуверенность в своих силах, а тут ещё конкуренция вырастет, подожду пока пройдет паника и пойду искать.
Под диспатчем ты понимаешь функцию, которая вернет редьюсеру нужный экшн или тупо метод компонента?
Ты не понял, его беспокоит возможный триггер ре-рендеринга, когда реактус инициализируется на клиенте. Это не просто SSR, это гибридное приложение, когда скомпиленная страница отдается только раз, а затем уже навигация и обновление состояния работают локально.
>>53610
Смотри сорцы реактуса, это наилучший источник информации.
Алсо, можешь читнуть здесь: https://joshwcomeau.com/react/the-perils-of-rehydration/
но за достоверность не ручаюсь.
1)Насколько в рашкинском айти вообще принято торговатья по поводу зп? На апворке я видел что белые люди обычно предлагали процентов так на 20-25% меньше, чем была минимальная планка на которую они изначально расчитывали. То есть фраза уровня "Сорри, но я не индус" в ответ на предложение сразу же повышала рейт раза в полтора. В рашке это также, или цифры в оффере имеют хоть какое-то обоснование?
2)В целом их изначальное предложение было адекватным, чуть больше рынка для моего уровня. Я правильно понимаю, что если откажутся повышать на 5% лол, значит на них не стоит тратить время?
Торговаться надо было до офера, Вась. Ты не мог сразу нормально сформулировать сколько ты стоишь? После это уже чистый неадекват.
Суть такая - я пытаюсь сделать роутинг, у меня есть 1 компонент который рендерит лист из массива, и 3 массива под каждый путь роутинга. Как сделать так, чтобы при смене юрл источник данных для компонента менялся?
Хуйню несешь
Пиздос, и после этого ты еще недоволен? Ты назвал сумму, тебе к ней накинули десятку сверху, а ты ебало скрючил и еще больше хочешь? Это реально неадекватное поведение, братюнь.
Со стороны ты выглядишь мелочным ушлёпком. Бля, а чёж только на 5%, а не на процент или пол-процента выше? Особенно эта фраза, сделали бы мне приятно))) Ржу))) Переговорщик из тебя никудышный.
>Бля, а чёж только на 5%, а не на процент или пол-процента выше?
На печально известные «2% дерьма» повыше поднимите, плес.
class MyClass {
constructor(private router: Router) {
router.events.subscribe((val) => {
// делаешь тут всякие проверки на совпадение УРЛ, например
console.log(val instanceof NavigationEnd)
});
}
}
В учебниках приводят примеры, типа создать объект-пользователя, потому от него других пользователей с разным полномочиями. Но ведь на фронте пользователи не создаются. Это же бэк. Зачем вообще на фронте создавать объекты и наследовать их?
Ну типа ООП, а какое же ООП без классов и newHui = new Hui?
В Ангуляре и в Реакте вроде до 16.8 компоненты являются классами. Я хуй знает как ты без классов в эти параши бы вкатился
Кстати, бэк тебе любую хуйню может прислать, и маппить ее тебе возможно придется уже в свои объекты
Как не создаются. А личный кабинет у тебя вот есть на сайте. Как ты будешь управлять сущностью пользователь га фронте?
Для того же для чего и на беке
> Ты ебанутый?
Нет, ты, лол. Даже не в курсе зачем нужен ssr и какие юзкейсы у него.
>>53683
Ты охуел, это самая быстрая либа, сравнимая с ванилой. Три килобайта нахуй.
>>53745
> Смотри сорцы реактуса, это наилучший источник информации.
Хм, об этом я не подумал даже. Наверное действительно наилучший выход чтобы понять.
> Алсо, можешь читнуть здесь: https://joshwcomeau.com/react/the-perils-of-rehydration/
Окей, ужечитаю.
Потом выкачу итт пост с тем что понял и хуле в такой ситуации делать. Вроде как вот эта гидратация нужна, но ебать, её явно недостаточно.
>Ты охуел, это самая быстрая либа, сравнимая с ванилой. Три килобайта нахуй.
Просто прекрати это дерьмо. Размер либы ничего не говорит о скорости, если в нем нет виртуального DOM'а и контроля ре-рендеринга. 600 звезд на гитхабе какбе намекают... что это никому неизвестная поебень. Svelte примерно столько же весит, только в отличии от твоей хуйни вполне известна в определенных кругах с 35к звездочек https://github.com/sveltejs/svelte
Светлый научился в типизацию. Алиллуйя!
> Просто прекрати это дерьмо. Размер либы ничего не говорит о скорости,
Размер либы это время выполнения жс, в большинстве случаев.
> что это никому неизвестная поебень.
Да поебать вообще, главное что она сранима с ванилой по скорости. Известность, чего нахуй? Кому не похуй.
> Svelte
> 35к звездочек
Не удивлюсь что они все 35к накрутили. Ну и это соевая хуйня, которая нинужна и опасна.
Ладно-ладно, хорошо, только убери от меня свою соевую светле подальше. Блевать тянет.
>Известность, чего нахуй? Кому не похуй.
Известная = штабильная, больше расширений и плагинов, лучше документация, как правило.
> 80% проектов на работе с использованием ssr в том или ином виде
> Нет, ты, лол. Даже не в курсе зачем нужен ssr и какие юзкейсы у него.
Как скажешь, вкатышек обыкновенный
https://twitter.com/sharifshameem/status/1284095222939451393
Сделал, но немного по-другому. Спасибо все равно большое.
А я даже вкатится не успел. сука.
с первой частью такого не было, все схватывал очень быстро, а структуры данных задрочил просто охуенно - за пару недель надрочил 4 куи на коудворс
Ты ебанутый? Охуеешь все методы и свойства DOM в голове держать, особенно если учитывать совместимость браузеров.
А как по-другому? Мне пару месяцев назад в этом же треде проясняли, что нужно знать и понимать структуру дома, помнить что от чего наследуется етц.
>>54376
Мб, но на моем текущем уровне я не могу сесть и начать писать свой петпрожект, т.к. пока не знаком ни с событиями, ни с формами. Очевидно, что на практике все усваивается гораздо лучше, но ресурсов типа коудворс с задачками на дом я не нашел.
За такое не обоссут на собесе? Просто мне самому неудобно, когда я хочу что-то реализовать, но не знаю какие методы для этого использовать.
Это неправильно.
Надо просто писать код. Чем больше пишешь, тем больше откладывается. Конспекты нахуй не нужны.
Можно не знать точного названия метода или его сигнатуру (порядок, количество аргументов, тип возвращаемого значения, исключения). Но то, что нужный тебе метод вообще существует запомнить не сложнее, чем запомнить что есть какое-то вот пиво, но я не помню его названия - пойду в магазин по этикетке вспомню.
Решая задачу держишь по друкой справочник. Не лекции кантора, а справочник. Справочник для программиста, это как словарь. Учиться работать надо не с конспектами и лекциями, а со справочниками. быстро в них ориентироваться и назодить что тебе надо. Ну и вообще, учить находить.
А того что у тебя конкретно на пике - там интуитивные методы во-первых. Во вторых, они черт возьми, все уже законспектированы в тех самых справочниках, ровно так же, как ты их описал. Просто открываешь справочник и учишься им пользоваться.
> не могу запомнить все
Ты с этим не будешь работать. Жс это попёрдывание в продакшине на каком-нибудь среакте или прочем дерьме.
С этим работают разработчики реакта, например. Таких ни в этом треде нет, ни на работах, а по всей рашке наберется сотня разве что.
Забыл добавить. Вообще тебе это пригодится, да, ничего не зря, годная хуйня, часто будешь юзать как грязные хаки, например. Или на какой-нибудь сложной работке, если попадётся такая. Вполне полезно, но кроме конспектов нужно больше погроммеровать и изучать фреймворки. Если это делаешь - вообще заебок.
В этом мало смысла. Польза на уровне просмотров видосов Айти Бороды. Лучше на каждую главу пили отдельную приложеньку. Прошел всякие appendы и тоглы - делай тудшку. Прошел fetch - делай тудушку через jsonplaceholder. Ты так намного быстрее будешь развиваться. Еще оч рекомендую если что-то не получается гуглить вот прям совсем сразу. Я сам когда начинал сидел и часами лепил велосипеды. На первоначальном этапе практически любой код со стаковерфлоу будет лучше, чем то что можешь написать ты сам. Главное пытайся понять что он делает и как работает. это через года полтора ты поймешь, что там большую часть ответов от индусов и по факту можно делать в разы лучше
Нахуя? Тебе один хуй англюсик нужен, чтобы кодить. Если это конечно не какой-нибудь 1С
Это и был ответ, тебе в 1С тред с такими вопросами, тут англоговорящие JS-господа сидят.
Используй webstorm по первых, во вторых - настрой отступы и редакторе и линтере.
читал code style на сайте vue там говоритса шо точки с запятой и запятые не обязательны, но eslint орет на них, лучше всё таки использовать?
Он же пишет "16 errors potentially fixable", их можно фиксить автоматом же. Открываешь настройки:
1. Настройки (Ctrl+Alt+S)
2. Открываешь Languages and Frameworks > JavaScript > Code Quality Tools > ESLint.
3. Смотришь чтобы правильно был установлен Node.
4. Смотришь чтобы правильно был установлени ESLint.
5. Выставляешь галочку "Run eslint --fix on save".
Всё, он будет при сохранении делать eslint --fix и фиксить отступы.
ЛИБО
Правой кнопкой кликаешь в редакторе > Fix all ESLint errors (ну или как-то так, должен быть похожий пунктик).
Причем здесь code style на сайте vue? Конфиги берутся из .eslintrc и из .prettierrc. Где можно стиль полностью заточить под себя.
Не, с теми отступами я понял уже, я интересовался какой стиль юзать, но я уже понял шо проще придерживаться eslint и не париться
Ебантяй чтоли? Зачем тебе тормознутый вебшторм? Чтобы под него ещё кряки искать каждый месяц? Ставь visual studio code, он абсолютно бесплатный, весь нужный функционал в нем присутствует. Отсутствующие функции элементарно плагинами добиваются.
>>54719
>Я интересовался какой стиль юзать
Самые адекватные конфиги у Airbnb, ими многие пользуются, в том числе я. Из vue имеет смысл подключить vue strongly recommended правила
https://eslint.vuejs.org/rules/#priority-b-strongly-recommended-improving-readability-for-vue-js-3-x
Вышка не нужна. Нужна додикам чтобы на минимал оклад упасть со вторых курсов.
Петы в гите нужны обязательно.
30-60к
скочял уже с ftuapps.com 2020 для линухи вебсторм ну и крякать там 1 раз всего надо, опыт есь, вскод тож стоит, скажи какие расширения юзаешь
>крякать там 1 раз всего надо
Нет, она слетает раз в месяц наверно. Особенно после обновления.
>скажи какие расширения юзаешь
Зависит от проекта, лично я использую ESLint, Import Cost, AWS Toolkit, AWS Boilerplate Snippets, GraphQL, Debugger for Firefox
https://ftuapps.dev/jetbrains-webstorm-2019-3-1-build-193-5662-54-for-win-macos-linux-license-key-74243/
ну я качаю с ftu, кряк не слетает шо на венде шо линуха. а так да, вс код тоже годнота + фришная
У тебя на пятитысячной строке кода будет ошибка и хуй ты её найдешь.
Или какой-нибудь пидорас-программест из этого итт треда хуйню напишет, с уверенностью что он дохуя прав, ни скем не посоветовашись, а тебе просматривать тысячи строк кода чтобы оно работало.
Пиздец короче, нихуя не рекомендую.
Окей. Вот допустим в первый день меня со всеми познакомят и пояснят что к чему. Я прихожу на второй. Все уже работают. Не поздороваться как-то не вежливо. Отвлекать людей тоже не оч. Как принято делать?
Рычи и двигай тазом, чтобы показать свою доминантность в стае.
идешь на своё рабочее место и по пути здороваешься если зометили
Первая неделя в тюрьме самая тяжелая в отбывании наказания. Особенно, если это твой первый срок. Ты не знаешь всех тонкостей культуры, законов и порядков тюремного быта.
Когда нового заключенного заводят в барак он должен обязательно поздороваться с другими ЗЕКами. Нельзя говорить "Здоров, мужики"/"Здоров, пацаны".
Лучшие варианты "Здравствуйте", "Добрый день", "Доброго здравия". Популярные фразы типа "Часик в радость, чифир в сладость", "Мир вашей хате" и другие также не стоит использовать если вы отбываете срок впервые.
Не нужно сразу же здороваться со всеми вокруг за руку, так как в тюрьме есть масти с которыми здороваться нельзя (петухи). Нельзя молчать, нужно вести себя в меру сдержанно и вежливо.
Интеллигентов тут не любят, поэтому чрезмерно корректным тоже не стоит быть. Если кто-то бычится на тебя - обязательно нужно ответить. Если при прописке проявить слабину - гнобить будут до конца срока.
Так я про второй день спросил. Мне кажется, если я скажу, что новенький на след день после того, как нас всех познакомили, это будет оч странно
Я медленно достаю свой яваскрипт и показываю питону все скобки
Это понятно, но наверное под разные меню немного разные подходы. Где что убрать, чтобы пользователь сразу все понял, где добавить. Просто я иногда бываю очень дотошным, делаю кучу настроек, типо чтобы точно можно было под себя настроить, хотя зачастую это нахуй не надо. Мне вообще это не очень нравится. Хочу быстрее бэк начать делать
Ну я хочу чтобы там как минимум был выбор размера поля и режима игры вдвоем. По умолчанию поле случайное и соответственно хуй попадешь на поля на которых результаты уже есть (игра на время) , поэтому хочу добавить галочку "Играть на известных картах". Тогда карта случайным образом выбирается из тех, на которых уже играли и результат игры записан. Ну а по умолчанию можно не вводить ничего, но тогда ты будешь на случайной карте с дефолтным размером.
Ну епт, придумай что-нибудь чтобы не надо было ничего выбирать. Режимы игры, галочки какие-то. Сделай нормально один режим и одну карту. Или прогрессию какую-то очевидную. У тебя еще прототипа нет, а ты уже все усложнил адски.
WebGL не лагает
Я сделал возможность играть с указанием размера карты (можно не указывать, тогда он будет дефолтный) . Дальше не знаю как делать, потому что не вижу как это будет целиком выглядеть.
Так вот и в чем проблема. Я просто не знаю как все расположить чтобы это было удобно и понятно для другого человека
Ты какого совета-то ждешь? Просто берешь и раскладываешь пока не получится что-то вменяемое.
Как увеличить толщину вот этух линий показывающих отступы, и как сделать выделенные фигурные скобки пожирнее? Как руками редактировать темы знаю, но вот как это называется в них среди миллиардов строк стилей я не знаю.
>Лучшие варианты "Здравствуйте", "Добрый день", "Доброго здравия".
НЕ лучшие, достаточно плохие.
Сначала игру придумай, дизайн потом натянуть можно!
>>54858
Научиться в поисковик!
https://developer.mozilla.org/ru/docs/Games/Ввод
>>54216
Реакт не все приложение делает, а только фронт
>>54897
>вот этух линий показывающих отступы
https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow
>как сделать выделенные фигурные скобки
https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer-2
Вообще найди все плагины что сделают твою работу удобнее!
Иди на фриланс биржи, заказывай за дошик у лоха без отзывов дизайн, если просто пет проект то можешь посмотреть в вк играх, мобильные игры - те же самые веб игры, тоже можно вдохновиться.
>Вообще найди все плагины что сделают твою работу удобнее!
Я эти плагины как раз уже видел, но спасибо. В итоге нашел названия и поправил их в самой теме
Сразу после того как сделаю дизайн
+box2d
ПЕРЕКАТ >>1755059 (OP)
ПЕРЕКАТ >>1755059 (OP)
ПЕРЕКАТ >>1755059 (OP)
ПЕРЕКАТ >>1755059 (OP)
ПЕРЕКАТ >>1755059 (OP)
ПЕРЕКАТ >>1755059 (OP)
ПЕРЕКАТ >>1755059 (OP)
ПЕРЕКАТ >>1755059 (OP)
ПЕРЕКАТ >>1755059 (OP)
>В итоге нашел названия и поправил их в самой теме
Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
А не, это у меня макаба/кукла поехала и писала что тред недоступен. Или это шедубан какой-то? Хуй знает.
Вы видите копию треда, сохраненную 28 января 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.