Вы видите копию треда, сохраненную 10 января 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
На асесменте была тема про оптимизации/деоптимизации vm. Чего они хотели, как это гуглить хоть?
>Посмотрел TIOBE и гугл тренды. ЖС где-то на днище, году вообще не видно. Помираем, пацаны
Тебе рейтинги или работу?
Количество джоб офферов на жс самый топ, более чем у programming languages. And that's is it. По факту.
На пайтоне в рф/снг особо работу не найдешь, за исключением если уже ха́рдовый спэ́ц.
Вкатывающимся, на жс велики шансы успеха, если не лениться.
Так проблема была не в самом gcc, а в том что погромисты на своих сайтах, которые я гуглил СКОМПИЛИРОВАТЬ ФОРТРАН НА ВЕНДЕ указывают ссылки на какое-то говно, которое непонятно что вообще значит. Я потом просто загуглил Mingw отдельно, на википедии была ссылка на рабочий сайт с явной ссылкой на рабочий установщик синем по белому.
Это не грамматические ошибки.
Кошаку соболезную. Хозяин-попрошайка - горе в семье
А кто тебя заставляет? Пасте 100 лет в обед и все это вместо того, чтобы найти работу. Задумайся просто
Но зачем?
Подобная хуйня вообще используется в реальном коде? или это чисто по рофлу, смотрите как можем?
Конкретно эти задания - конь в вакууме. Но забросив их, ты будешь быстрее решать рабочие задачи, так как все это там встречается
если недостаточно инфы, то могу скинуть скринов ещё
Мне надо запилить экран пикрелейтед на котором куча элементов сверху и снизу, а посередине зона n-ной длины со скроллом. Эту самую середину сделал с помощь flex: 1 1 auto;, все заебись, она растянулась. Но так понимаю для скролла нужно знать точное значение высоты, чтобы если за него вылезло собственно появлялся скролл? Можно ли как-то вычислить по высоте родителя?
Знаю про calc, но заебусь пиксели считать, без него можно обойтись?
Когда можно искать работу на реакте? Что нужно знать/уметь?
JS, верстка, Редаксь и TypeScript.
Вангую запрлату 50к.
Да, ставишь фиксированную высоту или max-height и overflow: scroll;
Высоту можно указать в vh, которые подстраиваются под высоту окна. Или в em. Или сделать minmax(), если у тебя препроцессор или ещё дохуя способами
Я знаю, что обычно css идет отдельным файлом, но через тег <style> стили тоже должны работать, разве нет? В чем тут проблема?
Разобрался, код из старой книжки, видимо style тегу теперь тип не нужен. Простоите за флуд
Там ничего не добавляется.
Сначала курс абрамова
https://egghead.io/lessons/react-redux-implementing-combinereducers-from-scratch
Потом ищешь на ютубе какую нибудь тудушечку или каунтер на реакте и редаксе чтобы закрепить. Только на чистом редаксе без редакс тулкита.
Потом уже собственно изучаешь редакс тулкит. Хотя как по мне он еще мозгоебнее чем обычный редакс.
function getLocation(coordinates, commands) {
let x = coordinates[0];
let y = coordinates[1];
for (let i = 0; i < commands.length; i++) {
if (i === 'forward') {
y++;
}
if (i === 'back') {
y--;
}
if (i === 'right') {
x++;
}
if (i === 'left') {
x--;
}
}
return [x, y];
function compareRobots(firstRobotResults, secondRobotResults) {
let firstSum = 0;
let secondSum = 0;
for (let x = 1; x < firstRobotResults.length; x++) {
firstSum = firstSum + i;
}
for (let n = 1; n < secondRobotResults.length; n++) {
secondSum = secondSum + n;
Ты зачем-то сравниваешь число i от нуля до commands.length со строками и используешь ифы вместо свичей.
Да, я там исправил уже, но не работает. На входе массивы со значениями. Нужно собрать их суммы по отдельности и сравнить.
Я ещё до свичей не дошёл.
>Ты зачем-то сравниваешь число i от нуля до commands.length со строками
А как нужно? Через i прогоняется перебор массива commands и под него подгоняются координаты.
Спасибо
А я ебу какой у тебя код?
На этот случай на любую хуйню делают по 100500 throw new Error('ваша хуйня сломалась');
оборачивают всё в try{}catch{}
Поставь брейкпоинт в дебаггере и клацай, и по шагам смотри где ломается
Сап, вот уже как месяц работаю фронтендером на первой работе. Хожу в офис.
И чувствую что не являюсь частью тусовки, внутри нашей команды и со смежных некоторые челы как бы вместе собираются, ходят обедать и все такое, шутят с HR`ами, в общем веселятся.
Еще после 1 месяца работы была встреча с главным HR`ом, где она спросила есть ли у меня личная жизнь, я как дурак честно ответил что Нет.
И сейчас как-то стремно после этого, все веселятся, а я просто работаю, чувствую себя неудачником, хотя пиздец как хотел войти в айти.
Ну вот вошел, а хули толку?
Ну так базарь с людьми.
Найми фотографа, зарегайся на сайте знакомств, деньги то на кафешку у тебя есть теперь если что
А зачем вообще бежать из джавы куда-то?
Либо
function compareRobots(firstRobotResults, secondRobotResults) {
let firstSum = 0;
let secondSum = 0;
for (let i of firstRobotResults) {
firstSum = firstSum + i;
}
for (let i of secondRobotResults) {
secondSum = secondSum + i;
}
console.log(`${firstSum} ${firstSum > secondSum ? '>' : '<'} ${secondSum}`)
}
либо
function compareRobots() {
console.log([...arguments].map(v => v.reduce((a, c) => a + c)).sort((a, b) => b - a).join(' > '))
}
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/for...of
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Functions/arguments
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/map
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/join
>>487835
Аналогично: либо сравнивай элемент commands по индексу i (commands[і]), либо перепиши на for of.
Свичи в будущем используй, на собесах по рукам бьют за лесенки ифов/тернарников.
https://developer.mozilla.org/ru/docs/Learn/JavaScript/First_steps/Arrays#получение_и_изменение_элементов_массива
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/for...of
>>487840
Смотри, где у тебя динамически адрес меняется, вангую, где-то проебланил с фетчем, не заэвейтил переменную с адресом и сунул куда-то.
>>487863
Забей или начинай социоблядить.
Либо
function compareRobots(firstRobotResults, secondRobotResults) {
let firstSum = 0;
let secondSum = 0;
for (let i of firstRobotResults) {
firstSum = firstSum + i;
}
for (let i of secondRobotResults) {
secondSum = secondSum + i;
}
console.log(`${firstSum} ${firstSum > secondSum ? '>' : '<'} ${secondSum}`)
}
либо
function compareRobots() {
console.log([...arguments].map(v => v.reduce((a, c) => a + c)).sort((a, b) => b - a).join(' > '))
}
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/for...of
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Functions/arguments
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/map
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/join
>>487835
Аналогично: либо сравнивай элемент commands по индексу i (commands[і]), либо перепиши на for of.
Свичи в будущем используй, на собесах по рукам бьют за лесенки ифов/тернарников.
https://developer.mozilla.org/ru/docs/Learn/JavaScript/First_steps/Arrays#получение_и_изменение_элементов_массива
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/for...of
>>487840
Смотри, где у тебя динамически адрес меняется, вангую, где-то проебланил с фетчем, не заэвейтил переменную с адресом и сунул куда-то.
>>487863
Забей или начинай социоблядить.
Набирайся опыта и уебывай туда где тебе понравится. И не ставь вопрос как понравиться другим. Так ты ставишь себя в ведомое положение. Я прямо всем говорю что ебал в рот семейные отношения и я одиночка и что срать хотел на ожидания других.
Часто больше. Мидл у каждого свой и в некоторых компаниях эту лычку дают полным дебилам. Потом они идут в нормальные компании и становятся снова джунами, так что тут все очень не однозначно
Проще за год набраться опыта веслания и перейти в другую контору, сразу на мидла.
Ты прогерством нахуй занимаешься то? Тебе на РАБотке надо впитать по максимуму инфы и ебашить на РАБотку с зарплатой побольше. Зачем запариваться о том, что не вошел в коллектив?
>сравнивай элемент commands по индексу i (commands[і])
for (let i = 0; i < commands; i++)
Не работает. Как правильно записать? Не могу понять в чём разница с for of.
for (let i = 0; i < commands.length; i++)
for (let i of commands)
В первом случае у тебя i это числа от 0 до последнего индекса массива commands.
Во втором случае у тебя i это элемент массива commands.
То есть for of именно элементы массива перебирает? А как с первым записать так, чтобы перебирал массив?
Вкатышу профитнее переходить из галеры на галеру раз в полгода-год, постоянно наглея и завышая планку ожидания, чем копошиться годами на одной позиции с языком в жопе.
Даже челик с полугодом опыта может устроиться на позицию с $3+к и релоком, если есть мозг, умеет пиздеть и ему повезло с работодателем.
Ну как минимум годик ему надо повеслать там, один хер. И лучше, если он там нормально со всеми будет общаться.
1280x720, 0:08
>Тебе на РАБотке надо впитать по максимуму инфы и ебашить на РАБотку с зарплатой побольше. Зачем запариваться о том, что не вошел в коллектив?
Тоже так думал, типа это правильно, надо ебашить, главное опыт, работа.
А после того вопроса от HR хз уже, девушки нет, можно сказать и не было, не листва, ну вы поняли.
Смотрю на ребят они не просто работают, но и веселятся.
Еще момент подкосил, я одну девушку типа хотел подколоть, а она открыто сказала "Ты мне не нравишься".
>>487867
>Найми фотографа
Думал об этом, в рабочем чатике стоит простое селфи на не очень хорошую камеру.
>>487870
Легко сказать.
Нет, полгода - это средний джун в лучшем случае. Максимум сможет припиздеть, что крепкий джун, не более.
>Вкатышу профитнее переходить из галеры на галеру раз в полгода-год, постоянно наглея и завышая планку ожидания, чем копошиться годами на одной позиции с языком в жопе.
Правильно ли я понимаю, что для тебя джун-мидл-сеньор - это про зарплату, а не навыки и компетенции?
>Даже челик с полугодом опыта может устроиться на позицию с $3+к и релоком, если есть мозг, умеет пиздеть и ему повезло с работодателем.
То есть ты предлагаешь практиковаться не в ИТ, а в пиздобольстве?
Общался с кадром, который вкатился в первую попавшую галеру и полтора года сидел на окладе 500$, не понимая, почему его не повышают и почему у него ощущение деградирования на работе.
>>487912
Навыки и компетенция. Но если сидеть-пердеть и не двигаться, то застрянешь на лепке формочек и написании крудов.
Навык пиздабольства и нетворкинг не менее важны, чем хардскиллы.
Спасибо
>Но если сидеть-пердеть и не двигаться, то застрянешь на лепке формочек и написании крудов.
Потише со своими проекциями, парень. Не все лепят формочки и пишут круд. Есть множество увлекательных проектов, где можно проявить себя и набираться опыта работая там годами
>Навык пиздабольства и нетворкинг не менее важны, чем хардскиллы.
Ты сейчас о своей жизни или об ИТ? Я вот на текущем месте работы два месяца и ни разу не пришлось врать. Ты точно программистом работаешь?
Учись блядь не быть ссыклом. Это дело практики.
А я думал про другое. Я полгода работаю и ощущение, что я больше не учусь ничему, потому что мозгов не хватает. Я быстрее стал закрывать какие-то простые задачи, но задачи с более сложной логикой тупо не осиливаю. Я думал вечный джун - это как раз такой чел, которому не хватает мозговых ресурсов расти дальше, но которого и с работы выгонять жалко, так как лепит формы норм.
Вот сейчас проекциями занимаешься ты, выдавая за норму хорошие продуктовые компании с отделами на десяток людей за среднее по больнице. В то время как сегодня для вкатышей, особенно с хуёвым английским, основное доступное — это либо крупные аутсорсные галеры, в которых всем похуй друг на друга, либо кабанчики с битриксами и вордпрессами.
Пиздабольство, про которое говорю я, это, например, выдать свой пет-проект и опыт работы со стеком, который ты в нём использовал, за коммерческий.
>>487925
Главное не сдавайся и проси иногда подкидывать таски посложнее. Всё от лени, вызванной комфортом текущего положения.
>Вот сейчас проекциями занимаешься ты, выдавая за норму хорошие продуктовые компании с отделами на десяток людей за среднее по больнице
Я говорю, что они есть и у любого есть шанс туда попасть. Скорее всего, ты такие не встречаешь, потому что практикуешься в
>Навык пиздабольства и нетворкинг не менее важны, чем хардскиллы.
В хороших компаниях в почете люди которые хотят помогать бизнесу, а не создавать видимость работы
>В то время как сегодня для вкатышей, особенно с хуёвым английским, основное доступное — это либо крупные аутсорсные галеры, в которых всем похуй друг на друга, либо кабанчики с битриксами и вордпрессами.
Нет никакого сегодня и вчера. Всегда существуют как галеры где на тебя похуй, так и номральные компании. Нужно только напрячься и поискать.
>Пиздабольство, про которое говорю я, это, например, выдать свой пет-проект и опыт работы со стеком, который ты в нём использовал, за коммерческий.
Я принимаю участие в собеседованиях. Рассматривается опыт как он есть, а не какой-то абстрактный коммерческий опыт. Если ты выполнил тестовое задание лучше остальных и ответил на все вопросы на собеседовании, то ты будешь в приоритете при найме
У меня наверно основная проблема - в декомпозиции задач. Вот с этим плохо. Пытаюсь гахрапом решать, а не делить на кусочки.
>Дефайн "хорошие компании"
Там где о тебе будут заботиться, учитывать твои интересы в дальнейшем развитии, не обделять зп, обучать, помогать работать над своими ошибками, не пиздить палкой если ошибаешься, и тд
>или пиздобол.
Ты правда ни разу такого не встречал? Я сменил 8 мест работы и ни одной галеры, все интересные проекты и отличные компании. Только одна веб-студия в начале карьеры, но и там было вполне уютно
>Нет никакого сегодня и вчера
Есть до 24 февраля и после, чел.
>Я принимаю участие в собеседованиях
Так ты только в технических участвуешь. Чтоб до тебя допустили, сначала нужно хрюше в уши ввести какой ты охуенный и почему ты достоин технического собеса.
Стоит ли долго работать в компании где не дают бесплатный ДМС для лечения зубов?
Учитывая что это первая работа в ИТ и зубы в не очень хороше состоянии?
>Есть до 24 февраля и после, чел.
Таких " 24 февраля" было уже несколько тысяч. Что, думаешь это первая война? Или может быть финансовых кризисов не было раньше?
>сначала нужно хрюше в уши ввести какой ты охуенный и почему ты достоин технического собеса.
Ты с таким подходом только портки свои обоссать сможешь. Лгунишки выкупаются на раз. Что тебе мешает говорить правду и быть лучше остальных?
Просто ищи параллельно другую работу и работай тут. ДМС - это довольно приятный бонус, но не критический, если тебя все остальное устраивает. Просто чисти зубы чаще и пользуйся зубной нитью/ирригатором
Никто не мешает проходить собесы параллельно работая. Просто уходить в никуда не стоит.
>>487947
Это первая война, изолировавшая целый регион от международного рынка труда. Выйди из пузыря, лично твои условия это не условия всех вокруг.
>Ты с таким подходом только портки свои обоссать сможешь
Ты точно с хрюшами общался?
>Лгунишки выкупаются на раз. Что тебе мешает говорить правду и быть лучше остальных?
Мешает отсутствие коммерческого опыта с тем или иным стеком, от которого будет зависеть зарплатная вилка. Оклад определяется не на техническом собесе.
Мы вообще говорим сейчас про вкатунов, у которых в принципе никакого коммерческого опыта нет либо он минимальный на уровне стажировок.
>Это первая война, изолировавшая целый регион от международного рынка труда.
В твоей жизни в смысле? Ну тут я не спорю. Я-то говорю о всемирном историческом процессе. Были катаклизмы пострашнее и ничего, развиваемся дальше
>Выйди из пузыря, лично твои условия это не условия всех вокруг.
Компания где я работаю, продолжает хантить людей, а за привлечение специалиста нам, по реферальной программе, платят $2к если не ошибаюсь. Я лишь говорю о том, что мои условия могут стать и твоими (или кого-то еще), если постараться. Не обязательно идти на галеру
>Ты точно с хрюшами общался?
Говорю же, сменил 8 мест работы и везде говорил правду. Ни разу не соврал. Не удивлюсь, если передо мной приходили ребята, думали, что главное поднаврать побольше, а потом им не перезванивали
>Мешает отсутствие коммерческого опыта с тем или иным стеком
Примеры есть?
>Оклад определяется не на техническом собесе.
Технический собес - это логическое продолжение собеседование с НR. И оклад определяется по итогу всего процесса собеседования. То есть, компания понимает сколько они тебе готовы заплатить
>Мы вообще говорим сейчас про вкатунов, у которых в принципе никакого коммерческого опыта нет либо он минимальный на уровне стажировок.
Создается впечатление о том, что мы с тобой говорим об инвалидах каких-то. Кто мешает выполнить у себя на компьютере git clone hui_zalupa_from_github и потренироваться на реальном проекте?
Полазил по Изучение веб-разработки в мозилле - вкатывательная база из HTML, CSS, Java Script, и чет уже плохо стало. Как это осилить? Допустим, я выучил весь код, всю информацию о работе всех операторов, объектов и так далее. Как этим всем управлять из головы в реальных задачах?
Мы живём в это время и в этом регионе, а не в историческом процессе в вакууме. Большинство итт сидящих будут искать работу в этом изолированном регионе. Тем из них, кто сейчас будет искать работу, нужно иметь в виду нюансы рынка труда в этом регионе в текущей ситуации.
Если у тебя всё хорошо и твоя компания хантит по рефералке, то лучше оставь свои контакты для тех, кто сейчас будет искать работу, а не выёбывайся.
>Примеры есть?
Даже если есть — как я тебе их приведу?
>Кто мешает выполнить у себя на компьютере git clone hui_zalupa_from_github и потренироваться на реальном проекте?
Это всё равно не считается за опыт работы на работной работе, это просто твои личные потуги в свободное время. Вбросить что-то типа "на прошлом месте работы мы в одном внутреннем проекте использовали то-то и то-то" проще, чем мэкать в попытках объяснить свою причастность к попенсорсному проекту с гитхаба. Иногда это может стоить килобакса-другого.
Воспринимай знания как кирпичики. Ты сейчас попытался все свалить в кучу, но это так не работает. Тебе надо построить систему знаний в голове, где основание - это база, а на нем уже строится что-то более конкретное. Начни с теории программирования в целом, а на нее уже понемногу наворачивай то, что ты там выше в кучу накидал
Выполняй учебные проекты, тестовые таски, со справочником набивай руку, пока до автоматизма не доведёшь. Только практика поможет.
>Мы живём в это время и в этом регионе, а не в историческом процессе в вакууме
Именно потому что не в вакууме, потому и надо рассматривать всю историю как целое, а не выхватывать какие-то единичные события. Я, например, вкатывался между кризисами 2008 и 2014 лет, когда весь мир трясло. Сейчас по сути тоже самое и просто это происходит непосредственно с тобой, вот ты и обращаешь большее внимание на это. Водички попей и успокойся. Все наладится
>Большинство итт сидящих будут искать работу в этом изолированном регионе
Ну красавцы! Как только найдут, поднаберутся опыта, там и рецессия закончится, можно будет сменить работу на что-то более приятное
>Если у тебя всё хорошо и твоя компания хантит по рефералке, то лучше оставь свои контакты для тех, кто сейчас будет искать работу, а не выёбывайся.
Оставлял уже несколько раз в wrk треде по js. Так никто и не пришел. Если интересно, иди сюда https://miro.com/careers/
>Даже если есть — как я тебе их приведу?
Ну текстом напиши. Ты же какой-то пример из своей жизни приводил, я думал ты о нем сможешь рассказать
>Это всё равно не считается за опыт работы на работной работе, это просто твои личные потуги в свободное время. Вбросить что-то типа "на прошлом месте работы мы в одном внутреннем проекте использовали то-то и то-то" проще, чем мэкать в попытках объяснить свою причастность к попенсорсному проекту с гитхаба. Иногда это может стоить килобакса-другого.
Ну тебе виднее
>Я начал сомневаться, что это возможно без специального образования. Тут, очевидно, нужно очень много практики, которой самому взять негде. Не хочется просто набить инфой голову, которая не сможет иметь применение.
Практики сейчас хоть отбавляй. Тебе надо научиться пользоваться интернетом и что самое главное, своей головой. Если ты решил стать программистом, то компьютер должен стать продолжением твоего мозга (кроме шуток)
Как у меня это работает: я не помню почти ничего, но зато я четко формулирую вопросы и хорошо делю задачи на более мелкие составляющие. Далее я просто все это нагугливаю, записываю куда-то (ну там в тетрадь или в кратковременную память в голове) и уже созерцая эту информацию решаю свою задачу.
То есть ты по факту, после того как там задрочишь ведь js/html/css будешь знать в моменте больше меня, но так как я буду пользоваться информацией в интернете лучше, работодатель будет платить деньги мне.
Понятно обхясняю?
>Я начал сомневаться, что это возможно без специального образования. Тут, очевидно, нужно очень много практики, которой самому взять негде. Не хочется просто набить инфой голову, которая не сможет иметь применение.
Иди в тестирование, за месяц вкатишься.
Тащемта полгода ебланище после увольнения, сейчас подорвался работу искать.
Лет 11 вроде, но целенаправленно обучаться начал только в последние пару лет и то, совсем слабо
>То есть ты по факту, после того как там задрочишь ведь js/html/css будешь знать в моменте больше меня, но так как я буду пользоваться информацией в интернете лучше, работодатель будет платить деньги мне.
Почему? Большая часть времени будет уходить на гугл. В основном это самое демотивирующее и сложное - не только что-то не понимать, но и тратить всё время на поиск понимания помимо самой работы. Такими темпами уйдут годы.
>Там где о тебе будут заботиться, учитывать твои интересы в дальнейшем развитии, не обделять зп, обучать, помогать работать над своими ошибками, не пиздить палкой если ошибаешься, и тд
То есть манямир.
>Ты правда ни разу такого не встречал? Я сменил 8 мест работы и ни одной галеры, все интересные проекты и отличные компании. Только одна веб-студия в начале карьеры, но и там было вполне уютно
Ну если ты никогда такого не встречал, то значит так и есть. Статистика ведь так работает.
>Почему?
В реальном бою (на работе) требуются другие вещи, а быть справочником по js - это путь в никуда, ведь есть под рукой настоящий справочник
>В основном это самое демотивирующее и сложное
Это ты еще не столкнулся с тем, что все что ты там выучил - устарело. Вот тогда совсем взорвешься
На курсах любых, есть неплохие даже бесплатные. Вроде у Сбера был бесплатный курс, у ЕПАМа (RS), у Яндеха чёто. Есть фриКодКэмп, там можешь почекать лекции с примерами. В целом по Ютабу полазь, посмотри какие типичные проекты делают.
g: js учебные проекты
Тестовые таски дают при откликах на вакансии. Заполняешь резюмеху, ищешь вакансии, апплаишься, если резюмеха норм - вышлют тестовое. Выполняешь, если не осиляешь - скопируй тз себе и делай после проёба дедлайнов, всё льёшь на свой Гитхаб.
>Полазил по Изучение веб-разработки в мозилле - вкатывательная база из HTML, CSS, Java Script, и чет уже плохо стало. Как это осилить?
Чел...это не вся вкатывательная база. Хотя я ещё НЕ вкатился, поэтому моё мнение может быть хуйня, учти это,
НО хтмл, цсс и нативного джаваскрипта недостаточно.
Ещё нужно писать цсс с препроцессором и применять все приёмы адаптивной и кроссбраузерной вёрстки, чтобы твоя страница была резиновой и везде работала. А это значит хорошее знание флексов, гридов (а не по верхам), всё писать в относительных единицах, с медиазапросами и проверкой поддержки всех твоих хуёвин, браузером.
И конечно надо уметь работать с командной строкой и npm - как инициализировать проект, как устанавливать пакеты, как потом это собирать, префиксировать, полифилить и как написать тзь скрипты для этого, как заливать на гит и как деплоить в мир.
По джаваскрипту надо пиздец сколько знать. Как минимум идеально знать манипулирование ДОМ и как юзать асинк эвейт и фетч, и прорешать алгоритмические задачки, чтобы на лету юзать циклы и методы массивов, чтоб доставать нужные данные из любой хуйни.
Ну и по верхам хоть чуть чуть знать какой-то фреймворк, а лучше уметь самому написать хотя бы ТудуЛист. Хотя с другой стороны на фреймворке это делать легче, чем на нативном джаваскрипте, но учить там тоже дохуя.
И для подтверждения знания всего этого заверстать пару пиздатых полностью адаптивных страниц с анимациями и какое-то веб приложение и задеплоить их на нетлифай, чтобы подвязать в резюме.
Тогда можно на что-то расчитывать, я думаю.
Но повторюсь, я сам вкатун. Это у меня понимание такое и 0 опыта.
>Я, например, вкатывался между кризисами 2008 и 2014 лет, когда весь мир трясло.
Ахаха бля, нихуя себе, ты вкатывался, когда требования были на уровне "с какой стороны подойти к компьютеру". Можешь уёбывать в /b/ со своими советами, там таких любят.
Ух как взорвался. Ты там был?
Это самоирония такая тонкая, что я ее не выкупаю просто? Ты в одном посте сначала отрицаешь то, что существуют описанные мной компании, а потом пишешь это:
>Ну если ты никогда такого не встречал, то значит так и есть. Статистика ведь так работает.
Если ты не понял, я не отрицаю существование галер. Я лишь говорю, что их работы в них можно избежать, что я и сделал
Компании, которым отдают работу на аутсорс продуктовые компании.
На галере ты буквально гребешь, таска за таской, как на конвейере. Компания часто тебя стремится выжать как тряпку, чтобы максимизировать прибыль
И как избежать этих галер? На стеке реакта хоть берут в нормальные компании или там тоже на нем все делают?
>И как избежать этих галер?
Не отправляй туда резюме, очевидно
>На стеке реакта хоть берут в нормальные компании или там тоже на нем все делают?
Да берут. Реакт очень много где применяется
Как также сделать в vscode? Это какой-то плагин или просто особенность ide?
Продуктовые, это как раз куда надо идти. Это значит у них есть продукт (ну там приложение какие-то или сервис или еще что) и ты будешь его разрабатывать
Раскрой мысль. Где там веселье на галере?
Просто изучи сайт компании или что они там у себя на хх понаписали. Если просто льют воду и никакой конкретики, значит тебя хотят затянуть на аналог кирпичного завода от мира ИТ ну или они сразу напишут, что являются галерой
Добрый день, коллеги, сейчас внутри компании дискуссия по внедрению husky, интересен ваш опыт
Мы хотим чтобы в репозитории был код, стилизованный по единым правилам. Рассматриваем 2 варианта пре-хука в IDE:
Я нафигачил код, не всегда правильно по форматированию. Делаю коммит, проверяю код в окне коммита, все ок. Нажимаю вкоммитить.
1 вариант хука: В ходе пре коммита код сам отформатируется, и в коммит пойдет уже чистый код, отпретифаенный и отлинтованный
2 вариант хука: В ходе пре коммита IDE говорит мне, что у меня плохо с форматированием, и мне надо их поправить. Я выполняю команду форматирования, еще раз проверяю в окне коммита и комичу.
Вопрос:
Использовали ли вы первый или второй вариант, какой показал себя лучше?
1 Использовал оба, лучше 1
2 Использовал оба, лучше 2
3 Использовал только 1, и мне нравится
4 Использовал только 1, но кажется 2й лучше
5 Использовал только 2, и мне нравится
6 Использовал только 2, но кажется, что 1й лучше
Также интересен ваш опыт в разработке и размеры проектов в которых это использовалось.
Спасибо!
Насколько понимаю, линтер может не только ворнинги по поводу форматирования кидать, но и по поводу некорректного кода, например, console.log может быть запрещен и тогда автоматический вариант не сможет уже поправить код - надо удалять руками
Вообще, надо просто совместить автоматический линтер с вариантом, где остальные ошибки правятся руками
Все так, но галера это делает чаще и лучше. Продуктовые компании реже, так как их сотрудники чаще обладают уникальными знаниями и их (знания внутри сотрудников) надо беречь
3
Для единообразного и читабельного кода лучше всего не подпускать тупых кожанных мешков к его формативанию. И, обязательно, делать проверку линтером.
Может нам всем пора на си переходить? (
Что думаете?
Никаких там двух вариантов, при первом варианте у тебя коммит зафейлится из-за изменения стейджед файлов. А второй будет только работать, если IDE правильно пропердолена.
Автоматическое форматирование нужно только при пулреквесте в основную ветку. За пределами оно только дрочить будет.
Пользовательские интерфейсы всё равно останутся, а js для рисования кнопочек подходит больше жабы или c#, поэтому работа по идее будет за еду
>переучиваться
Нужно учить базовые знания, которые не меняются уже многие года. В контексте программирования это: парадигмы программирования, паттерны проектирования, структуры данных и теория алгоритмов
Если освоишься там, будешь переключаться между языками программирования на изи. Захотел написал что-то на js, захотел, переключился на go и так далее без напряга
Сколько часов в сутки работает типичный фронтендер джун?
>арадигмы программирования, паттерны проектирования, структуры данных и теория алгоритмов
Но ведь на фронте нет всей этой хуйни.
А что непонятно-то? Из двух редусеров, тебе дают одну функцию, которая их применяет и возвращает резвультат в объексте с соответствующим их именам ключами.
Мы вам перезвоним
Этого куда меньше, чем на той же джаве, но на собесах уже давно справшивать начали.
Значит у тебя база js хуевая, иди доучивай. По сути действий смотри пикрил.
Так это вим в терминале. Чет отвалилось опять, линуксопроблемы.
Наоборот фронтенд это будущее. Уже можно с фронта напрямую дергать базу через графкули с орм. Бэкодебилы скоро останутся не у дел, потому что любое приложение - это прежде всего интерфейс.
Идти и учиться
Не могу понять вот эти вот state['upReducers'], У каждого редусера ведь свой стейт. У меня на пике только два редусера и у обоих стейт по умолчанию равен 0. А в сombineReducers уже пустой объект в качестве стейта в который мы пропихиваем ключи которые создали через Object.keys(). Но каким образом возвращаются мои нули из этих двух редусеров?
И за пределами конторы эти знания не нужны никому. И хорошо еще если на каком-то более менее актуальном стеке пишешь. Чаще всего там будет какое-нибудь легаси или какие-то не часто используемые технологии (вроде того же GraphQL). И весь твой опыт останется релевантным только внутри этого продукта.
Это с jquerry. Если есть более простой способ, готов и на него перейти
Ещё попытался со стаковерфлоу взять код и переделать под себя, но он также не заработал.
(а ещё, какой более адекватный способ отправлять код, скриншотами неудобно, кодблоков тут тоже нет)
css('style') скорее всего работает не так, как ты ожидаешь. В дебагере посмотри или трейсов расставь.
Конкурентам нужны
Попробую разобраться, сейчас прочитал, но не до конца ещё понял как трейсы работают.
Речь про различные архитектурные решения, а не про знания фреймфорков, лол
Тут буквально три строчки со стаковерфлоу, которые я кое-как пытаюсь прикрутить к своей задаче. Я ещё не придумал что тут логгировать
Тут буквально три строчки со стаковерфлоу, которые я кое-как пытаюсь прикрутить к своей задаче. Я ещё не придумал что тут логгировать
>Уже можно с фронта напрямую дергать базу через графкули с орм.
Секреты тоже будешь с клиента передавать?
Блять, и в чём задача?
Не понимаю зачем про это спрашивать, если за такой код можно получить пизды от самого же спрашивающего.
Так это по хтмлу вопрос, а не жаваскрипту.
function Parent(): ReactElement {
const [Up, setUp] = useState(<></>)
return <><Outlet value={{ setUp }} /> <Up /></>
}
function Child(): ReactElement {
const { setUp } = useOutletContext()
setUp(<div>Example</div>)
return <div>Example</div>
}
При прокидывании через контекст в стейт родителя элемента, тайпскрипт материться, что JSX.Element не вызываемый. Проверял без ts - все работало. Как же надо присваивать тип?
"Бэк на ноде" это в первую очередь мешанина из фреймворков с пердолингом фронта поверх, вакансии с нестом надо под микроскопом искать.
Через Object.assign удается превратить первый массив в object, но вложенные так и остаются массивами. Можно преобразовать все массивы включая вложенные в объект?
Ты за ключи используешь индексы в массиве?
Перед преобразованием, проходись через .map по массиву, проверяй, является ли элемент массивом и вызывай рекурсивно функцию, если да. После прохода ретёрнь своё преобразование.
Помогите, пожалуйста, а то ВУЗ требует дохуя, а дает нихуя.
Можно ли как-нибудь фиксировать изменения в текстовом поле формы(<input type="text">)? Нужно сделать калькулятор стоимости заказа, который отображает цену в реальном времени в зависимости от выбранного типа, количества и т.п. Собственно, типы я реализовал через чекбоксы\радиокнопки\селект, а с количеством застрял. Обновление в реальном времени реализовал, как на пике. Пытался провернуть подобное с текстом(количеством) - не получилось. Такое вообще возможно реализовать?
Спасибо, анонче!
Тебе готовое решение нужно?
Вопрос закрыт. Вариант все же рабочий. Была ошибка в коде, которую, как это всегда и бывает, я не увидел раз 10, перед созданием поста
ахуеть, а я и не знал.
Вопрос в другом немного.
Мне надо сделать чтоб текст и картинка располагались правильно, а у меня чёто все ебется.
<картинка-бокс>
<перс враппер>
<элемент>
<фотка перса>
<текст перса>
</>
</>
<перс враппер>
<элемент>
<фотка перса>
<текст перса>
</>
</>
</>
И че? Предлагаешь мне за тебя всё написать? Мой рейт 20$/час для тебя это будет в 2 раза больше.
grid-template
display: grid;
grid-template-columns: repeat(4, 25vw);
grid-template-rows: 25vh;
@media only screen and (max-width: мобилка) {
grid-template-columns: repeat(2, 25vw);
grid-template-rows: repeat(2, 25vw);
}
В хтмле у контейнера 4 потомка должно быть, естественно для этого
Я правильно понимаю, что самостоятельно это неприподъёмно или же уйдут годы, тогда как курсы вкатывают за 2 месяца? Я просто пытаюсь учить сам, стоят ли мои усилия чего в принципе или это как гонять мяч во дворе, мечтая стать футболистом хотя бы в команде своего города?
Отвечает тот же ВКАТЫВАЮЩИЙСЯ, поэтому ко мнению моему относись скептически.
>Я правильно понимаю, что самостоятельно это неприподъёмно или же уйдут годы
Если для тебя это не страсть, если тебе НЕ интереснее делать это, чем играть в игрульки и смотреть сериалики, то да.
Если вообще не дропнешь от досады, что нихуя непонятно, и нету знакомств, то С ПОЛНОГО НУЛЯ на вкат уйдёт не меньше года. Это железно.
А скорее 1,5 - 2.
>тогда как курсы вкатывают за 2 месяца?
Я не уверен что курсы вкатывают за 2 месяца. Думаю максимум можно версталу за два месяца натаскать, да и то сомневаюсь что он успеет хорошо постичь анимации, препроцессор, и адаптивность. Это будет личинка верстальщика, которая жс вообще не знает, даже готовый слайдер не подключит.
Но с другой стороны обучение в аудитории с преподавателем и другими учениками раз в 5 эффективнее, чем удалённые курсы с преподом, и раз в 10 эффективнее, чем ковыряние самому. Аудитория дисциплинирует, создают среду для азарта и конкуренции между учениками, помогает со знакомствами.
Часто с этих курсов лучших учеников и рекомендуют куда-то своим знакомым, как я слышал, в том числе в этом треде.
>Я просто пытаюсь учить сам, стоят ли мои усилия чего в принципе или это как гонять мяч во дворе, мечтая стать футболистом хотя бы в команде своего города?
Усилия будут стоить, если ты их не оставишь. Я например дропал несколько раз. Изначально я курс по джаве прошёл года четыре назад, конспектировал в тетрадку, а потом просто бросил к хуям и всё, потому что не понимал что с ним делать.
Потом взялся за фронт. Вёрстка, немного жса, потом реакт, понял что нихуя не понимаю и надо вернуться к жсу. Вернулся. Потом вёрстку более углублённо. Сейчас опять подошёл к реакту, уже гораздо легче.
И всё это я дропал на пол года, на три месяца, потом ещё раз на три, делал перерывы. В общем через сраку всё делал.
А надо было хотя бы по 2-4 часа каждый день заниматься и ничего не дропать.
Если у тебя никаких знакомых, которые помогут советом и тебе это всё не прям АХУЕННО ИНТЕРЕСНО, что можешь сам педалить с неугасающим интересом, то я бы подумал о каких-то курсах с преподом.
Если нет денег и не можешь достать - превозмогай как я. Верь в себя. И в мою веру в тебя))
Отвечает тот же ВКАТЫВАЮЩИЙСЯ, поэтому ко мнению моему относись скептически.
>Я правильно понимаю, что самостоятельно это неприподъёмно или же уйдут годы
Если для тебя это не страсть, если тебе НЕ интереснее делать это, чем играть в игрульки и смотреть сериалики, то да.
Если вообще не дропнешь от досады, что нихуя непонятно, и нету знакомств, то С ПОЛНОГО НУЛЯ на вкат уйдёт не меньше года. Это железно.
А скорее 1,5 - 2.
>тогда как курсы вкатывают за 2 месяца?
Я не уверен что курсы вкатывают за 2 месяца. Думаю максимум можно версталу за два месяца натаскать, да и то сомневаюсь что он успеет хорошо постичь анимации, препроцессор, и адаптивность. Это будет личинка верстальщика, которая жс вообще не знает, даже готовый слайдер не подключит.
Но с другой стороны обучение в аудитории с преподавателем и другими учениками раз в 5 эффективнее, чем удалённые курсы с преподом, и раз в 10 эффективнее, чем ковыряние самому. Аудитория дисциплинирует, создают среду для азарта и конкуренции между учениками, помогает со знакомствами.
Часто с этих курсов лучших учеников и рекомендуют куда-то своим знакомым, как я слышал, в том числе в этом треде.
>Я просто пытаюсь учить сам, стоят ли мои усилия чего в принципе или это как гонять мяч во дворе, мечтая стать футболистом хотя бы в команде своего города?
Усилия будут стоить, если ты их не оставишь. Я например дропал несколько раз. Изначально я курс по джаве прошёл года четыре назад, конспектировал в тетрадку, а потом просто бросил к хуям и всё, потому что не понимал что с ним делать.
Потом взялся за фронт. Вёрстка, немного жса, потом реакт, понял что нихуя не понимаю и надо вернуться к жсу. Вернулся. Потом вёрстку более углублённо. Сейчас опять подошёл к реакту, уже гораздо легче.
И всё это я дропал на пол года, на три месяца, потом ещё раз на три, делал перерывы. В общем через сраку всё делал.
А надо было хотя бы по 2-4 часа каждый день заниматься и ничего не дропать.
Если у тебя никаких знакомых, которые помогут советом и тебе это всё не прям АХУЕННО ИНТЕРЕСНО, что можешь сам педалить с неугасающим интересом, то я бы подумал о каких-то курсах с преподом.
Если нет денег и не можешь достать - превозмогай как я. Верь в себя. И в мою веру в тебя))
https://cloudflare-ipfs.com/ipfs/QmTBXUenar85eAaxas6xe1pHrFvyLrPpikSVhYsjScaVCj/proxy-ssl.js
Анончики, как стать более продуктивным?
Есть идеи всяких пет проектов, но дальше не идёт.
Смотрю всякие видосики, читаю отрывочно гайды, но это ведь всё хуйня. Нужно как то набраться сил и сделать что-то серьезное. Хз как
>Нужно как то набраться сил и сделать что-то серьезное. Хз как
Сначала делаешь несерьёзное. Какую-то хуету типа туду листа (не под диктовку).
Потом ещё какой-то баян. И ещё.
После каждого баяна знания складываются в систему и легче придумать что-то интересное.
>Анончики, как стать более продуктивным?
Нужно проанализировать то, на что ты тратишь время и выкинуть все лишнее. Далее просто выделяешь время под обучение или что-то связанное с тем куда ты хочешь быть продуктивным и вуаля, через как-то время ты уже более прокачан
Часто достаточно просто убрать двачи и выпилиться из соц сетей
Как изменить стили на двоще. Например если post__number = 191 то добавить этому посту мой css класс или <style>.
document.querySelector('#post-2489680').style.background = 'red'
document.querySelectorAll('p').forEach(el => {
if (el.style.display === 'none') {
el.style.display = 'block';
}
})
Только зачем 'p', если элемент 'ul'?
И лучше такое делать через CSS в расширении, подключающим CSS
Это ты для себя пишешь или на работе требование такое, что надо в браузере валидность проверять?
Для себя, и не валидность, а для передачи путей, так как мне нужна прослойка с доступом к путям на файловой системе хоста, но в браузере.
Опиши как это должно работать. Не очень понятно зачем это делать на клиенте, когда всегда можно отправить данные на ножу и там уже обработать
>Опиши как это должно работать.
Клиент отправляет путь и сервер возвращает контент этого пути.
>когда всегда можно отправить данные на ножу и там уже обработать
Нихуя себе ты Америку открыл. Какие "данные" ты там собрался "обрабатывать" при работе с путями, кроме самих путей?
С сервера просто дерево папок возвращай и на клиенте только кликан по паркам куда хочешь зайти. Это наиболее правильный вариант
Хз зачем тебе регулярка на клиенте, если ты все равно будешь отправлять путь на сервер
>С сервера просто дерево папок возвращай и на клиенте только кликан по паркам куда хочешь зайти.
И что же будет происходить при клике по папке, сам догадаешься?
>Хз зачем тебе регулярка на клиенте, если ты все равно будешь отправлять путь на сервер
Путь боженька будет из воздуха создавать?
>И что же будет происходить при клике по папке, сам догадаешься?
Ты будешь отправлять на на сервер id пути, а не сам путь
Это безопасно, так как отправка абсолютного пути - это огромная уязвимость
>Путь боженька будет из воздуха создавать?
Клиенту не нужно знать где там и по какому пути хранятся данные. Иначе этим воспользуется злоумышленник
>Ты будешь отправлять на на сервер id пути, а не сам путь
У тебя облачная биг дата головного мозга. Особенно учитывая, что даже облачные сервисы жрут стандартные пути, а значит их на клиенте нужно собирать.
>Это безопасно, так как отправка абсолютного пути - это огромная уязвимость
На локалхосте огромная уязвимость?
>Клиенту не нужно знать где там и по какому пути хранятся данные. Иначе этим воспользуется злоумышленник
Злоумышленник на локалхосте?
Какой-нибудь хуяндекс-диск спокойно пути хавает прямо в ссылке, а локальный сервер прям побегут ломать. Одна история охуительней другой.
1. Путь на яндексе логический, а не то как это на диске хранится. Ты не сможешь туда отправить ../../../ и выйти на уровень выше
2. Не привыкай говнокодить. Петпроджекты как раз призваны, чтобы неспеша освоить нормальные практики
>1. Путь на яндексе логический, а не то как это на диске хранится. Ты не сможешь туда отправить ../../../ и выйти на уровень выше
И выйдёт он на уровень выше, что дальше?
>2. Не привыкай говнокодить. Петпроджекты как раз призваны, чтобы неспеша освоить нормальные практики
Еблан, советующий ебашить свою систему с айдишниками поверх файловой системы в локальном окружении, что-то там про говнокодинг и нормальные практики заливает.
Не гори так, дурачок. Суть моего предложения в том, чтобы получать структуру папок с сервера, чтобы не надо было на клиенте каждый раз его руками вбивать и проверять по неведомой регулярке
Нет. Бэк - это прежде всего джава и пхп (ну может еще шарпы). Все остпльное там в порядке исключения.
>Не гори так, дурачок. Суть моего предложения в том, чтобы получать структуру папок с сервера
Нихуя ты гений. Ты в курсе, что итерация по папкам - далеко не бесплатное занятие? Нахуя дрочить файловую систему всей структурой папок, если клиент может смотреть только 1(ОДНУ) в единицу времени и их состояние может поменяться между переходами?
>чтобы не надо было на клиенте каждый раз его руками вбивать и проверять по неведомой регулярке
Жопочтец as is.
>Ты в курсе, что итерация по папкам - далеко не бесплатное занятие?
Проиграл с этого хозяйственного программиста. Во крику будет, когда узнает, что любая операция - это не бесплатное занятие
Если через эффекты не работает, то никак, только свой кастомный днд накатить. HTML Drag'n'Drop API супер хуевое, говенно специфицированное и до сих пор хуево поддерживаемое (в лисе например нельзя сделать батон драггабельным)
Да, также не работает. Тестирую на Edge
Да, понимаю. Если и делать, то, наподобие как в interact js, где ты элементы реально перетаскиваешь с помощью transform + можно кастомизировать курсор. Фиг знает что ещё можно сделать?
>в лисе и сафари
Под рукой только сафари, но там это правда не работает так как ожидается. Но там вообще какая-то йоба с поведением: если даже установить курсор до начала драга, на mousedown, он сначала устанавливается, а потом слетает на дефолтный
В общем, я бы забил хуй на эту задачу и написал, что это бага браузера
>задетектить у себя ваджайну
А так все достаточно просто.
Очевидно что устроиться в продуктовую компанию, а не в бодишоп.
Учитесь объяснять работодателям что данная задача - хуйня
Ну, а если вы это делаете сами, то учитесь выстраивать приоритеты
Это ты клиенту будешь объяснять, почему у него вместо курсора отображается хуй и превью перетаскиваемой хуйни не отображается. Яблочной парашей, к сожалению, пользуются многие, поэтому HTML DnD непригоден ни для чего, кроме самых простых кейсов, либо когда есть договоренность, что поддерживаться будут только конкретные браузеры. Эта параша:
- не позволяет в лисе перетаскивать <button> элементы - то есть уже сразу на помойку улетают либо % пользователей, использующих лису, либо семантическая верстка, придется ебучую кнопку переделывать на <a>, а если еще и есть требование, чтобы верстка оставалась нетронутой - тогда пиши пропало
- не позволяет в обработчике dragover и многих других получить данные из dataTransfer - соответственно, становятся недоступны целые классы визуальных drag эффектов, приходится выкручиваться путем хранения перетаскиваемых данных где-то сбоку, то есть за что боролись, на то и напоролись
- не позволяет кастомизировать прозрачность превью при перетаскивании
- имеет сверхупоротую спецификацию, где дефолтное поведение каждого DnD хэндлера - это не делать ничего, и чтобы сделать что-то, нужно отменить ничего-не-деланье через event.preventDefault()
- dragenter и dragleave названы по аналогии с mouseenter и mouseleave, хотя работают нихуя не аналогично
Посмотрел. Не, такая же хуйня. При перемещении браузер свои курсоры вставляет (курсор запрета, курсор copy). А мне нужно именно их и переопределить, но, видимо это вшито внутри браузера.
Ты и не сможешь их переопределить, ты можешь через эффекты только указать, какого типа эффекты могут быть для данного элемента или данной дроп-зоны. А маппинг типа эффекта к фактической иконке курсора происходит под капотом и к этому у тебя доступа нет.
> А маппинг типа эффекта к фактической иконке курсора происходит под капотом и к этому у тебя доступа нет.
Вот мне бы найти где об этом говорится, я уже всю developer mozilla облазил, но там просто нет таких кейсов и они не обсуждаются.
Тогда нахуй нужны эти эффекты, если визуально этот эффект не отображается?
Объяснять что-то другим - это в том числе твоя работа. Если ты не можешь этого сделать, то это уже другая проблема
Оно отображается, просто в implementation-specific манере, то есть в одном браузере иконка одна, в другом другая, в третьем вообще никакой нет. Нахуй они нужны - большой вопрос, и очередное подтверждение тому, что HTML DnD API - убогое недоделанное говно, которое пригодно к использованию максимум для физбазза.
Ну пошло ля-ля, я посмотрю на тебя, объясняльщик ты наш, когда ты будешь работать на проекте, где все общение с командой клиента происходит даже не через PO, а через старшего помощника младшего говноеда, к PO и менеджменту доступа даже близко нет и не предвидится, а говорящая голова, через которую вы ведете общение, способна сказать либо "я не знаю" либо "я знаю, но мне похуй". Сам работал на подобных проектах, и в подобных условиях ты либо делаешь то, что от тебя просят, либо ебешь себе мозга в попытках что-то объяснить людям, которые принципиально настроены тебя не слушать.
Нет разницы как это происходит. В данном случае ты говоришь:
Здарова! У нас тут два стула:
1. Не делать кастомный курсор и сэкономить время/деньги
2. Потратить неделю времени команды (20к рублей) на то, чтобы сделать чтобы это было "красиво" и с нужным нам курсором
Выбирайте
Все, далее ты просто ждешь и делаешь то, что они там выберут. Твоя работа - это объяснить сложность
Кому ты говорить-то будешь в данной ситуации? Говорящей голове-чурке, единственная функциональная нагрузка которой - сказать "вот твое задание на следующие две недели, раб, метнись мухой делать"? Есть такие проекты и такие клиенты, которые считают, что разработчик на аутсорсе - это что-то между крепостным крестьянином и крабом на галере, и нехуй свое немытое пролетарское рыло совать в наши гениальные дизайн-системы и уебанские трехсоттонные монолитные бэкенды на коболе, из-за которых действие "дернуть ручку" превращается в запуск шаттла.
Фронт джун который недавно вкатился в ИТ в 30 лет репортинг ин
Недавно отписывался в старых тредах, но тут решил более подробно выговориться.
Ну в общем 30 лет, вкатился без опыта, зп 70к. До этого дно работы за 20к.
Вроде бы все нормально, прошло уже почти 2 месяца, но я не счастлив как-то. Мне уже 30 лет, не листва, но постоянной девушки НИКОГДА не было, я никогда ни с кем не встречался, всего было несколько перепихонов за жизнь.
Хз как это объяснить, вот иду по улице, рядом красивые тни или какая нить счастливая парочка и у меня в груди что-то сжимается, горечь прет, желание все бросить, в голове голос "Нахуя это все, если нет тни, ты никому не нужен".
На дейлике сегодня сидел на похуй и думал об этом, кто-то просто счастливый, а я как уебан в 30 лет без серьезных отношений.
Вот зубрил пол года ЖС, стремился, вкатился, а щас выть хочется когда вижу красивую девушку на улице, но понимаю что ничего не могу сделать.
Просто нахуя это все?
Пилю своего пета на базе CRA. Полмесяца не трогал, а вернувшись нашел сломавшейся его сборку: npm start работает как надо, а npm build нет. Из-за сокращения, уродования и прочих оптимизаций кода любые сообщения об ошибках теряют смысл. Как понять что не так?
Я делал сборки для двух разных homepage-маршрутов. Сейчас с обоих получаю ошибки. Первая пикча - ошибки при нахождении сайта в подкаталоге (html загружается, жабаскрипт нет), а второй случай - прямо на домене.
Да я уже, щас вот последние две недельки дорабатываю и съебываю. Ну справедливости ради, такая хуйня там именно из-за клиента, а не из-за моей галеры. Клиент бомжик, и пиздец какой жадный, поэтому с ним абсолютно все через жопу.
Ну у тебя там файлы не те. Хз в чем дело, но у тебя загружаются не те файлы. Что там скрывается под npm build?
Ты где-то с методом filter обосрался.
Уже давно юзаю. Ноль ошибок в коде и npm start работает отлично. Тут со сборкой что-то не то.
>>490807
Хеши в именах файлов отличаются, наверное, из-за пересборок под разные homepage-пути.
npm run build - эджекнутый cra-скрипт. С момента последней успешной сборки ничего в нём не менял. От дефолтного отличается вынесением настроек postcss в отдельный файл.
сап,
я учусь в шараге специальность радиотехника и нас е6ут просто жесть, свободного времени почти нет
Денег едва хватает и хочу вкатиться к лету в жс разрабы
Короче что важнее для удачного поиска работы - алгоритмы, всякие литкоды, сортировочки и тд?? Либо фичи языка, знание реакта, вестки.., ?Либо тупо проекты сделать, а алгоритмы и библиотеки потом подтянутся?
>фичи языка, знание реакта, вестки
This + демонстрационные пет-проекты. Напиши что-нибудь тупое с точки зрения идеи, тот же калькулятор, но добавь туда максимальное количество выкрутасов: инфиксная-префиксная-постфиксная нотации, память, кастомные функции, формулы, системы счисления, настройки какие-нибудь, сохранение в локал сторадж, рест апишку, авторизацию и сохранение на бэкенд. Ну и покажи, насколько круто ты умеешь юзать либы и шарить на концепты - реакты, редаксы, иммутабилити всякая и т.д.
Лол блять отношения. Поговори чтоли с пчелами, которые прошли через развод (а заодно посмотри статистику разводов), сразу протрезвеешь насчёт отношений.
Проблемы надо решать, а не избегать их. По той же логике в ИТ лучше не вкатываться, потому что людей, бывает, увольняют
Если речь о родителях, то через одни. Свои отношения, к счастью, я спас, хотя были на грани.
Что именно тебе там не понятно? Дерево видел когда-нибудь?
тоже самое чувство, но в ИТ уже 3 года, не знаю как развиваться дальше. отношача никогда не было. Сейчас перебираюсь в мск из мухосрани, думаю как начать заново и не проебать жизнь до 30. если есть совет помоги!
Понимаю, но тут сам факт в том что любая ошибка в эффекте даже в самом маленьком компоненте мне может синий экран показать не сильно нравится, да и для лендоса понятное дело если какая-то анимация на сафари 10.3 не отработала то это не повод убивать всю страницу и анмаунтить всё дерево
>>491132
Я на нексте делаю и генерирую статику, получается классический статический сайт только с оверхедом в минимум 100кб жса, но всё это перекрывается тем что сам сайт я сделаю намного быстрее, и главное мне будет приятно его пилить
Так в чем твоя проблема-то? Если хочешь дергать браузерные объекты и делать фоллбэк, если их нет - делаешь хук useRequestAnimationFrame, внутри которого проверяешь, торчит ли из window нужный объект, если торчит - продолжаешь business as usual, если не торчит - выполняешь свой фолбэк. Если у тебя логика завязана на то, чтобы requestAnimationFrame непременно был и отработал - тогда только пилить два варианта страницы, один для наличия этой функции, другой для ее отсутствия. Если это тебе так критично, я бы вообще в самом начале скрипта проверял бы, присутствуют ли все необходимые объекты, и если нет - слал бы пользователя нахуй с предложением обновить браузер до версии из этого тысячелетия.
Алсо, если тебе ок, что какой-то компонент зафейлится, просто ты не хочешь при этом обрушать всю приложуху - оборачиваешь его в error boundary.
Это ок когда мне нужно от компонента или всё или ничего, у меня ща 99% кейсов это отрисовать какой-то блок, и в эффекте навешать кучу говна на ховеры, позицию скролла и т.д., поэтому в данном случае наверное придется враппер с трайкеч сделать.
>слал бы пользователя нахуй с предложением обновить браузер до версии из этого тысячелетия.
Я за гуманизм и за то чтобы австралопитеки с пятым айфоном тоже смогли прочитать почту для контактов на сайте если им интересна услуга
https://tailwindcss.com/docs/preflight#disabling-preflight
Он подрубает ресет, нужен чтобы в разных браузерах всё одинаково было, его можно выключить если тебе не нужно (для учебного проекта мб и не нужно)
Спасибо, помогло.
Т.е. это буквально не баг, а фича. А как с таким работать? Т.е. может есть там официальный порядок, по которому ты в два клика устанавливаешь унифицированную для разных браузеров тему от таилвинда, и от нее уже пляшешь (чисто чтобы понятно было, что заголовок - это заголовок, кнопка - кнопка (и она нажимается) и т.д.)?
И еще такой вопрос, если в курсе: мне в app.css варнинги кидает. В интернете пишут просто добавить их в игнор - норм так делать?
>Лол блять отношения. Поговори чтоли с пчелами, которые прошли через развод (а заодно посмотри статистику разводов), сразу протрезвеешь насчёт отношений.
Дойти бы сперва до простых отношений...
>>491153
>тоже самое чувство, но в ИТ уже 3 года, не знаю как развиваться дальше. отношача никогда не было. Сейчас перебираюсь в мск из мухосрани, думаю как начать заново и не проебать жизнь до 30. если есть совет помоги!
Тут наверное не мне советы давать. Хз. У кого-то как-то просто получается, тяжело смотреть на счастливые парочки проходя мимо, чувствуешь себя долбоебом каким-то.
>>490869
>Вроде бы все нормально, прошло уже почти 2 месяца, но я не счастлив как-то. Мне уже 30 лет, не листва, но постоянной девушки НИКОГДА не было, я никогда ни с кем не встречался, всего было несколько перепихонов за жизнь.
Ну ты даже не листва так-то. По меркам этой доски и всего двача это уже достижение.
>>491153
> но в ИТ уже 3 года, не знаю как развиваться дальше.
Это норма. В ойти обычно за 3-4 года анон набирает все знания, а потом стагнирует и деградирует.
>отношача никогда не было. Сейчас перебираюсь в мск из мухосрани,
Ну вот если ты переберёшься в мск, то тогда уже точно инцелом останешься.
пару лет назад была цель вкатиться, но осознанности как таковой не было, по итогу js как и само прогерство стало чем-то вроде хобби, которым занимался когда очередной раз шило в жопе играло, начинал с динамики на ваниле, в процессе решал чето на кодеварс (4 куи), сейчас умения на уровне: хорошо знаю ванилу с промисами-хуемисами, но в бабл и прочее не углублялся, реакт и жсикс, редакс на тулките (ковырял ванильный редакс, но как только увидел тулкит сразу перешел), сверстал себе интерактивный редактор графов с алгоритмом дийкстры, рисовалку типа пэинта, с кэшем в виде datauri, еще пару залуп по фану
сам работаю оператором загрузки (короче грузчик, но гружу поддоны с товаром на погрузчике), получаю в принципе хорошие деньги для своей беларусской мухосрани
но встал вопрос можно ли монетизировать мои знания и умения екмаскрипта, кроме него ковырял сишарп, паскаль(ой бля), сижу на арчлинуксе, с компуктером уже работаю онли через шелл
можно ли вкатиться и что требуется из знаний конечно же
720x1280, 0:20
Мне они кажутся просто макаками, которые там что-то тыкают наугад и нихера не понимают, ничего не знают.
Половину их баг репортов можно сразу реджектить, сами не понимают как должна работать система.
Примеры таких ремонтов есть?
Почему вместо разговоров с ними или руководителем, ноешь в треде?
Имею такой же кю на кодварс и тоже не углублялся в ванилу, но платят больше 300к. Главное правильно продать себя
Тебе тогда надо не реактом обмазываться, а вкурить graceful degradation. Тогда будет тебе и поддержка австралопитеков, и все остальное. А ты пытаешься впихнуть невпихуемое сейчас, что типа у нас тут реакты и аппликейшны, но если у пользователя говно мамонта вместо юзерагента, то типа магически надо все приложение превратить в какую-то доступную для него тыкву. Это так не работает, делай тогда лендинги с серверным рендерингом, где по дефолту предполагай, что у юзера вообще нихуя не работает, включая CSS и картинки, а дальше уже обмазывай слоями энхансментов. Профит такого подхода заключается в том, что ты изначально отталкиваешься от наихудшего сценария, и навешиваешь дополнительные плюшки, если они поддерживаются
В говноконторах так и есть. На одной из предыдущих галер девочка-тестировщица вообще не парилась и просто заводила миллиарды тикетов на фронт, потому что ей было НИПАНЯТНА, как открыть девтулз и хотя бы посмотреть код статуса запросов. В итоге мне приходилось работать и за себя, и за нее, по полдня разгребая ее высеры и распределяя тикеты между фронтом и бэком. Ещё она любила высирать просто какую-то отсебятину из жопы, что чето там работает вот так и в принципе всех устраивает, но вот было бы круто чтобы оно ещё и вот так могло, и сяк, и раком. контора сковырнулась через полгода после того, как я ливнул, с чего бы это
Думаешь, все только и ищут знакомого, которому бы могли заплатить за проебы? Лол
Чё ты вообще несёшь, дебил? Знакомства позволяют "продать себя" выше себестоимости и работают даже на уровне государства. Впрочем от таких знакомств и появляется манямирок о собственной охуенности. Думаешь условный Сечин или Усманов видят себя мордорскими орками?
>Знакомства позволяют "продать себя" выше себестоимости
Себестоимости, лол. Ладно, предположим ты хотел сказать "выше того, что тебе предложат без знакомства", но с хуя ли?
Когда за тебя кто-то ручается, спрос в том числе будет с него, если ты долбоеб, который не может работать на ту зарплату, на которую тебя наняли. Захочет ли кто-то нести за тебя ответственность? Ну может быть в твоем менямире
>Думаешь условный Сечин или Усманов видят себя мордорскими орками?
Вообще кек. Они охуенно справляются с теми обязанностями, которые от них требуются (охуенно распиливают и откатывают), так что, они буквально профи своего дела. Их и искали для этой работы. Или ты хочешь сказать, что по знакомству ты будешь откатывать тому, кто помог тебя устроить? Ну так это вообще кринж
Что такое полгода в масштабе проекта? Если компания буквально сковырнулась, значит все это началось еще до того как ты был уволен. В чем я не прав?
>Себестоимости, лол. Ладно, предположим ты хотел сказать "выше того, что тебе предложат без знакомства", но с хуя ли?
Какое предположим? "Правильно продать себя" это и есть продать выше себестоимости.
>Когда за тебя кто-то ручается, спрос в том числе будет с него, если ты долбоеб, который не может работать на ту зарплату, на которую тебя наняли.
Ты видишь знакомства как сорт круговой поруки. Я говорю про знакомства, которые позволяет проскочить нижнюю цепочку козлов отпущения, особенно если окажешься в ней без них.
>Они охуенно справляются с теми обязанностями, которые от них требуются (охуенно распиливают и откатывают), так что, они буквально профи своего дела. Их и искали для этой работы. Или ты хочешь сказать, что по знакомству ты будешь откатывать тому, кто помог тебя устроить?
Пошли манявры. Ссуть в том, что они себя не видят распильщиками и откатчиками, а дохуя просвещёнными линдонцами, которые выше всех этих смрадных мордорцев. А уж квалификация как минимум у Усманова была видна, когда он ролик в ответ Навальному записал, в котором он с трудом связывал слова. Такой-то профессиональный обкашливатель вопросиков, просто охуеть.
Это я к тому, что набор "по знакомству" - в первую очередь отрицательный отбор. А те, кто пиздят за дохуя ответственность - пусть пиздуют в /b/ рассказывать свои прохладные.
>себестоимости
Ты бы хоть загуглил что это значит, лол
>Ты видишь знакомства как сорт круговой поруки.
А ты видишь знакомства как отделение красного креста, где бездомным инвалидам помогают? Это работа и если кто-то за тебя как за специалиста, ведь им ты и должен являться, спрашивать будут с того, кто тебя привел
>Я говорю про знакомства, которые позволяет проскочить нижнюю цепочку козлов отпущения, особенно если окажешься в ней без них.
Извини, думал ты позиционируешь себя как специалист. Теперь вопросов нет
>Пошли манявры
Окружение Путина - это его родственники и друзья-знакомые из детства. Рил думал, что это всем известно
>Ссуть в том, что они себя не видят распильщиками и откатчиками
Откуда тебе знать как они там себя видят? Вот сейчас без шуток. Лично с ними знаком или это все твой дар чтения мысли?
>А уж квалификация как минимум у Усманова
Он же вор-предприниматель обычный. Его квалификация подтверждается количеством нулей на его банковском счету. Проверять ее по тому как он разговаривает - это пушка просто
А еще более смешно то, что ты его зачем-то сейчас вообще приплел
Аргументы будут? Ты ведь писал там код, значит будущее компании - это следствие того, что ты делал там
Какие аргументы? Ты несёшь какую-то бессвязную чушь. По твоему, компании могут разориться только благодаря говнокодящим программистам?
>Какие аргументы?
К своей точке зрения
>Ты несёшь какую-то бессвязную чушь.
Это то как видишь это ты. Я же просто демонстрирую тебе причину и следствие
>По твоему, компании могут разориться только благодаря говнокодящим программистам?
По моему, если компания продуктовая, ты как непосредственный творец этого самого продукта, являешься буквально тем, кто творит будущее самой компании
Но давай вернемся к сказанному тобой:
>контора сковырнулась через полгода после того, как я ливнул, с чего бы это
Что ты хотел этим "с чего бы это" сказать? То, что ты делал большую работу и компания, пока ты не уволился, держалась на этом?
Ты уже определись, или ты ни на что там не влиял, или "уволился и все развалилось, с чего бы это"
Оказалось, виноват фетч-запрос в реакт-роутерском лоадере страницы. Почему-то вместо джейсона, лежащего по пути "/api/*" на этом же сайте, возвращается корневой хтмл-документ.
хз, я только знакомплюсь с тс, и единственное что понял - он упрощает отладку со всей своей типизацией
Чтобы не плодить конструкции вида decorator(decorator2(decorator3(() => {}))) прямо в методах класса. В тайскрипте есть мокрые писечки, которые хотели запилить в своё время, но спека екмаскрипта ушла в другом направлении и на их поддержку забили.
Не все так плохо, но действительно есть такая проблема, что тестировщики не умеют нормально в кодинг и автотесты. С беком еще болиелимение, а вот фронт тестить в целом нетривиальная задача. Мало кто из девов идеть в тестеры, наверное потому что ЗП там меньше предлагают. А раз так, то бизнесу норм.
Лучше расскажи как работа проходит. Я тоже вкатился в тридцадку лет, работаю пару месяцев, но походу уже просто на пределе. Когда устраивался в конторе был ментор, который и за задачи пояснял, и помогал норм и вообще был классным челом. Потом он свалил и начали кидать все подряд таски, задавать вопросы почти некому, я делаю все просто супер медленно. Последние недели просто лютый непрекращающийся стресс из за тасок, просыпаюсь от какой-то паники каждый день в 6 утра, с мыслями что опять нихуя не сделаю и не пойму как сделать. Тут вообще у кого-то было такое?
пока проблема не переросла в кал, поговори с менеджером
А во что конкретно это может перерасти? Мне вообще казалось, что это должно пройти со временем (если не уволят нахуй).
Я не он, но все это по итогу перерастет в замедление прогресса и выгорание. Пока ты не научился учиться сам, тебе нужен ментор. Без него ты:
1. Наделаешь хуйни
2. Потратишь время зря, которого у тебя и так не так много
Вкатываться без менторства еще можно себе позволить, когда тебе 20 (сам так делал), но оно тебе надо? Выбери, что лучше: через два года получать в три-пять раза больше или в полтора-два и делай выводы
А что вообще конкретно должен делать ментор? Может я с руководством обговорю этот момент, чтоб кто-то из старших товарищей взялся. Поидее проблем не должно быть, просто я хз что нужно.
>А что вообще конкретно должен делать ментор?
Как минимум делить опытом решения типовых задач. Ты можешь потратить месяцы и годы в поисках нормального решения какой-то простой хуйни. Набьешь десяток шишек, разоришь две компании своими велосипедами и только тогда сформируешь нормальное видение ситуации у себя в голове. А мог бы просто правильный вопрос ментору задать и сэкономить себе полгода труда.
Если тебе конкретные ситуации интересны, то вот из моей практики: мы запилили свой аналоговнет инструмент, слили на его разработку и поддержку весь бюджет компании и тупо разорили ее тем, что не хватило сил поддерживать и основной проект и тот вспомогательный. Денег на программистов дополнительных не было и лавочку просто прикрыли, и все это в то время, когда конкуренты продолжали делать то, что нужно и захватывать аудиторию. Что я из этого вынес? То, что надо понимать когда можно и когда нельзя пилить велосипеды. Ты же этого ощущения не знаешь и можешь получить его только или от ментора или из практики.
>Может я с руководством обговорю этот момент, чтоб кто-то из старших товарищей взялся
Тебе не нужен 24/7 ментор, достаточно обговорить формат взаимодействия в команде, когда вы просто помогаете обкашлять возникшие вопросы
Алсо можно ли телегу свою в тред скинуть опять же для критики или просто советов.
В шапке не написано, что что-то из этого воспрещается, но я на всякий случай спросил, поэтому не бейте если вопросы слишком наглые
На github pages закинь. Но тут больше тред про жабаскрипт, а не про верстку.
Неси новые фото. Как там котофей?
>Лучше расскажи как работа проходит
> тоже вкатился в тридцадку лет, работаю пару месяцев, но походу уже просто на пределе. Когда устраивался в конторе был ментор, который и за задачи пояснял
>Последние недели просто лютый непрекращающийся стресс из за тасок, просыпаюсь от какой-то паники каждый день в 6 утра
Правильно тебе посоветовали поговорить с менеджером/СТО/лидом и кем нить еще
А что до меня, я как-то уже вообще поник, как-то похуй стало что-ли, сегодня пофиксил пару багов и нихера не делал.
В голове только одни мысли - а какой смысл? Работа - дом - работа, 30 лет, тянки нет и считай не было, хули это работа вот? Эти тасочки ебаные? Постоянные фиксы какой нить хуйни.
Шел с работы, на остановке как всегда куча красивых зумеров парами, стоят луркуют, а меня еще в руках сумка от ноута - нахуй я ваще ее взял?
Апатия полная. Заебало.
Короче главный вопрос как лучше вкатится в фреймворки js, стоит ли сразу идти на курсы, или попробовать самому? Как стать специалистом который уже может выполнять работу? Как делали это вы, хотелось бы услышать ваши истории вкатов, и рекомендации. Всем чай
Перед вкатом в фреймворк тебе всё равно нужно ванильный JS но норм уровне знать, иначе моментально загнёшься на условных сагах.
Курсы по факту - просто инфоциганство, где ты сделаешь просто 1 проект и проебёшь деньги.
Лучше самому через ютуб+рутрекер
Вот уже третий год пойдёт.
Всё осваивал сам через статьи + ютуб, где расшифровывали как js под капотом работает. Потом реакт + редакс ебал эту парашу в рот, чутка typescript.
а почему курсы хейтишь? просто в моем понимании фирмы таким способом отбирают адекватных людей и уже пытаются с них сделать специалистов и так можно найти первую паботу, но в том что там высокий риск просто проебать бабло я с тобой скорее согласен
Все познается в сравнении. Я до этого где только не работал, и могу с уверенностью сказать, что кодинг, со всеми его издержками, гораздо лучше. Даже если бы платили ниже средней по рынку, я бы один хрен остался в погромировании. Все остальное - просто мрак, за очень небольшими исключениями.
Потому что сейчас большая часть курсов - это растянутый гайд с ютуба о том, как сверстать свой сайт/написать туду-лист.
Ты потратишь два месяца на то, что можно самому сделать за 2 недели.
Тем более сейчас на рынке наоборот стажёров которые прошли подобные курсы сразу отсеивают т.к. чаще всего это показатель одного проекта в портфолио + пара заученных фраз.
Может не стоит, если даже это непонятно?
Да, любые видеокурсы.
Есть курсы при фирме, где сначала вступительный экзамен, потом обучение, потом собесы на проекты и потом выходишь на стажировку. Отсюда могут отчислить, если будешь хуи пинать.
А есть курсы где ты заплатил деньги и инфоцыгане тебе рассказывают то, что есть в открытом доступе, может даже устаревшую инфу. Сам препод максимум мидл в "Рога и копыта", отчислять тебя не будут, пока платишь бабки, максимум - не будут переводить на следующий курс.
Расскажи хоть на что тратишь деньги. Много присылают? Только честно
>отсортировать массив, сделать из объекта массив и тому подобное
Разве этого мало на кодварсе? Просто бери самые простые там и все
понял, а как вообще за свою практику, встречал подобных людей которые перекатились с курсов, но при этом откровенно не тянут ту должность на которой работают?
children типизирован как ReactNode, className не является дефолтным пропом, key вообще такой себе проп, и если я правильно помню, TS не даст тебе хуйнуть в него рандомное говно вроде объекта
Уже сам нашёл, хотел переписать по-человечески FC, чтоб можно было в женерик пихать интерфейс с кастомными пропсами и иметь доступ к дефолтным. key есть, но он описан только в ReactElement и требуется при использовании маппинга того же массива данных в элементы.
Чувствую себя человеком. А то заебало на каждый компонент свой интерфейс пропсам расписывать и повторять то, что Реакт искаропки может.
type BaseProps<T extends keyof JSX.IntrinsicElements> = ComponentPropsWithoutRef<T>;
Оно тогда матюкается на неявное any в пропсах. А портянка из моего extends используется в дефолтных тегах. Хотя твоё красивее.
>Оно тогда матюкается на неявное any в пропсах.
Ну так не передавай any в пропсах. Используй unknown и в проблемных местах комментируй с @ts-expect-error, чтобы конпелятор матерился на отсутствие ошибки, когда с типами разберёшься.
let x = 12;
let y = 23;
let z;
if (x = 1) {
if (y = 2) {
z = 3;
x = 11;
y = 22;
}
}
alert("Значение переменной z составляет: " + z);
alert("Значение переменной x составляет: " + x);
alert("Значение переменной y составляет: " + y);
Ой, блять, действительно, спасибо. Надо же было писать ==, а не =. Постоянно об этом забываю.
if (x == 1)
if (y == 2)
Хотя может вообще надо писать ===? Но конкретно в этом примере это не играет роли, походу, можно писать и ==, и ===.
Хуйню какую-то несёшь, если честно. Ты заметно повысил себя шансы заиметь тянучку, но почему-то не понимаешь этого. И я не говорю, что все тни - шлюхи, просто на месте бабы я бы тоже дважды подумал прежде, чем лезть в серьёзный отношач с микрочеликом с дно-работы. Хочется всё-таки жить, а не выживать.
Я прекрасно понимаю, что именно за состояние ты описываешь, но еще я понимаю, что без вменяемого источника дохода нормальные отношения не сложатся. Так что, блять, радуйся, потому что теперь тебе ничего не мешает заиметь бабу. В отличие от меня.
А вообще, спасибо за это сообщение, анон. Очень мотивирует. Я уже думал бросать, но теперь, пожалуй, продолжу заниматься.
мимо-31-год-хиккан-месяц-учу-js
У меня еще вопрос.
Зачем вкладывать одно "если" в другое, если можно объединить их в одну строку вот так?
if (x == 12) (y == 23); {
z = 3;
x = 11;
y = 22;
}
Читай про логические операторы.
Доку прочитал.
Я собеседую людей на проект после курсов из первого примера. Всречал посильнее и послабее, совсем дурачков не видел.
На главной странице есть карточки с юзерами доп. инфо по каждому имени.
По клику на каждую карточку должна модалка всплывать или диалоговое окно с более подробной информацией о каждом юзере.
У меня при клике на карточку выводит информацию о последнем имени. Вероятно он мапается по всему массиву и сразу все модалки по клику показывает, поэтому видно только последний.
Как сделать так, чтобы информация выводилась по юзеру, по которому кликаешь? Все это на react\redux пишу.
Я новичок в этом деле и заранее прошу прощения за такой глупый вопрос. Помогите, пожалуйста, люди добрые!
Вот что происходит, когда нанимаешь человека окончившего курсы
По сути вопроса: проблемы ты описал, а вот код не принёс. Хз что там у тебя не так раьотает. Тебе надо id польщователя передавать и по нему показывать информацию, а как ты это там делаешь - не понятно
Благодарю за ответ.
Курсы ещё не окончил. Код прилагаю.
Пока не понимаю, как этот айдишник туда прокинуть.
Вероятно проблема в методе handleOpen
Править именно твой код не хочу, хочу сказать что все модалки должны быть ближе к корню документа и рендериться по условному стейту из глобального контекста.
Если модалки делать на одном уровне с карточками, рано или поздно возникают проблемы со слоями.
Тогда компонент карточки должен выглядеть так
export const UserCard = ({ name, phone, email }) => {
__const { openWithUserData } = useContext(ModalContext)
__// типа контейнер карточки
__return <div onClick={() => openWithUserData({ name, phone, email })}></div>
}
>Пока не понимаю, как этот айдишник туда прокинуть.
Потренируйся на более простых примерах:
Пойми как вообще прокидываются параметры в компонент. Просто что-то супер простое сделай, чтобы один div в компоненте и просто циферку внутри него выводи
Какое же токсичное жс комьюнити
Спросил на одном тематическом форуме про библиотеку на жс. Вместо совета начали давать минусовать, охуенные ответы что лучше изобретать свои колёса чем искать готовое, что реквест пакетов вообще к кодингу не относится.
В итоге по делу ответил какой то индус и то его заминусовали вместе с моим вопросом. Остальное это поток шизобреда
Хз, сообщество программистов в целом душные токсичные пидорасы, как мне кажется. Того душнилу с ФАЕРВОЛ НЕЛЬЗЯ ПОЧИНИТЬ из Deus Ex: Human Revolution с них и рисовали, походу.
В цикле отрендери.
>bands.map((band, index) => (<Band key={index} />))
Если ты не будешь обновлять коллекцию bands после рендера - index нормальный идентификатор, если с обновлениями - ищи идентификатор получше.
Старайся лучше.
Не все такие
Очень ламповое комьюнити перловщиков, там даже за тупые вопросы которые задают каждую неделю не гонят. Мода на общение в чатиках (слаке), например была взята с них.
Библиотека, я так понимаю, была для складывания двух чисел? Или для паддинга строки? Правильно заминусовали, я бы за такое вообще убивал нахуй. Понаставят говна в ноде_ходули, а говнецо ещё своих говнозависимостей понатащит, бац и у тебя полинтернета в зависимостях
Форма делает шлёп-шлёп
Ты из фаанг? нет? тогда нахуй ради вашей залупы готовиться к интервью? Я вот год назад когда устраивался, помнил про солид, сейчас хуй вспомню, лишь что залупа для ооп.
>ни один не смог обойти дерево
Обычной рекурсии хватило бы?
Сколько вообще платите, если не секрет
Ещё ингриш нужен, хотя бы на уровне пук-среньк делаю таску по феатуре #1.
>>497438
>>497538
Мне тащемта похуй на то, расшифруешь ли ты буквы и вызубрил ли ты определения. У нас дохуища мест, где используется инъекция зависимостей через конструктор, всякие еба-иерархии классов и т.д., поэтому мне надо от кандидата, чтобы он не обосрался в этом сам и не обосрал все вокруг себя: чтобы реализации интерфейсиков были взаимозаменяемые, а зависимости не создавались явно в конструкторе или ещё хуй пойми где. Конкретно про эти вещи и спрашивал, с примерчиками блять, и нихуя.
>>497459
Да, я блять начинал разговор с того, знает ли товарищ вообще что такое дерево (один уже на этом моменте обосрался), предлагал просто обойти, хоть как-нибудь, рекурсивно, похуй на порядок, просто блять обойди и выведи узлы в консоль.
Платит клиент моей галере, а я просто техлид, фильтрую кандидатов
Сам клиент платит около $45/h, галера отжирает свою нихуевую долю, ну и получается да, в районе 280 килорублей
>где используется инъекция зависимостей через конструктор
>чтобы реализации интерфейсиков были взаимозаменяемые, а зависимости не создавались явно в конструкторе или ещё хуй пойми где
Лоблядь. Типичное ООП поделие.
Ебать братишка, тяжело наверное ООП-говноедом быть, да? Сочувствую конечно с таким проектом.
>>497676
Ебать, подъехали любители функци-анального погромирования. К слову, половина проекта писалась как раз вот таким жс-мудаком, как вы, вот там заебок, возвращается функция, в которую дополнительно впидорашен десяток каких-то пропертей, все это без типов разумеется. А там, где есть типы, они зачастую ложные, написано "принимаю строку, мамой клянусь", а на самом деле дальше аргумент приводится к any и используется как объект, а на вход вообще передается массив, тоже типизированный как any разумеется.
>возвращается функция
>дополнительно впидорашен десяток каких-то пропертей
>на вход
Эта оопешка сломалась, несите новую.
>К слову, половина проекта писалась как раз вот таким жс-мудаком, как вы, вот там заебок, возвращается функция, в которую дополнительно впидорашен десяток каких-то пропертей, все это без типов разумеется.
Типы проебываются и при иньекции зависимостей, что сказать-то хотел?
>А там, где есть типы, они зачастую ложные, написано "принимаю строку, мамой клянусь", а на самом деле дальше аргумент приводится к any и используется как объект, а на вход вообще передается массив, тоже типизированный как any разумеется.
А ООП внезапно запрещает в жсе передавать any? Ебать манямирок.
Да пиздит он. Местный фантазирующий шизик, какую-то очередную хуиту выдумал. Он же даже в программировании не понимает, посмотри только что он несёт. Что-то там принимается, какие-то проперти, типы с инъекциями, он буквально не понимает что говорит.
Хуй знает, какой-то джун-шизик хотел выебнуться представив себя сеньёром, наверное. Ничего, сейчас его опустят и он неделю-другую тут отсвечивать не будет, вытирая свои потные ручки и вспоминая как над ним весь тред проигрывал.
Ты сам-то что сказать хотел, убогий? Я показываю не примеры неправильного ФП/ООП, а косорукость джаваскриптизерских анальников вроде тебя, которые ни дерево обойти не могут, ни даже типами свою парашу обвесить, и считают нормой вернуть функцию с дополнительными пропертями на ней, вместо того, чтобы вернуть объект с функцией и пропертями. Твой тупой пердеж в лужу только подтверждает вышесказанное.
Если ты не в курсе, что такое инъекция зависимостей через конструктор, то сочувствую. Попробуй выбрать другую профессию, например свободная касса во вкусе очка. Программирование это не твое.
Извини, по петушиному не понимаю.
>инъекция зависимостей через конструктор
Ещё пару раз это повтори и тебя точно сеньром посчитают.
Он про это говорит. Удобная штука, кстати. Но там не всегда через конструктор можно инжектить, конечно
>>497822
Да я в курсе что такое инъекция, чел. Суть в том что у него это как мантра какая-то, слово в слово повторяет мантру. Видно же что чел какой-то джун-жаба-дерьмоед, дерьмо вроде спринга ложкой жрёт и сидит тут фантазирует рассказывает про свою абстрактную лапшу.
Чувачка проткнули недавно, пришел чтобы ещё ему в ротеш дерьма напихали ещё побольше, попутно обсираясь с конструкторами, типами, какую-то боль от фп приплёл. Шизик натуральный.
> Удобная штука, кстати.
Удобная когда ты как этот джун и пишешь какую-то джуновскую хуйню на тысячу строк. В _реальном _проекте _отжираются _тонны _дерьма чтобы просто написать часть логики. Переписывание всяких калструкторов и проебы с зависимостями - это та причина по которой легаси-говнину никто трогать не хочет и просто каждый раз переписыват с нуля.
Сходи в больничку проверься, у тебя явно какое-то расстройство на теме ООП. Тебя когда-то в юности джавист в жопу отъебал что ли?
Алсо, ИНЪЕКЦИЯ ЗАВИСИМОСТЕЙ ЧЕРЕЗ КОНСТРУКТОР, я же знаю, как у тебя попка бобо от одного упоминания этого.
>В _реальном _проекте _отжираются _тонны _дерьма чтобы просто написать часть логики. Переписывание всяких калструкторов и проебы с зависимостями - это та причина по которой легаси-говнину никто трогать не хочет и просто каждый раз переписыват с нуля.
Ну это ты просто не сталкивался с проблемами, которые решаются DI подходом.
Вот как ты будешь тестировать код, когда у тебя нет DI, но вместо какого-то дохуя сложного класса надо инициализировать код-заглушку в unit тесте? Что будешь использовать и как вместо обычного DIService.register(HuiZalupeFakeService)
Он наверное тесты пишет на уровне "дерну функцию, если не выкинулся экспешн, то уже неплохо, тест прошел", как типичная джаваскриптизерская псина.
Поехавший формошлеп, эта джава сейчас с тобой в одной комнате? Пррррр, посрал смачно тебе в форму, иди чисти скриптосом на 10000 строчек спагетти
>>497876
>>497892
Кек, джавист продолжает рваться. Маловато тебя сегодня кста опустили, обычно опускают больше.
>>497896
>Поехавший формошлеп
>в одной комнате?
Что и требовалось доказать. Какой-то дегенерат из плюмопаблика вкатываетсяв джаву, попутно обсираясь и высираясь итт, фантазируя себя сеньёром.
Больное животное, что взять.
>>497880
Любой сложный класс у меня это модуль с интерфейсом/версиями интерфейсов.
>Любой сложный класс у меня это модуль с интерфейсом/версиями интерфейсов.
Ты на вопрос не ответил. Представь, что у тебя несколько калссов и последний из них использует первые два. Как ты будешь его инициализировать в тесте?
> Представь, что у тебя несколько калссов
У меня нет несколько классов, очевидно же. Зачем мне ссаные классы выдумывать ради ссаных классов? Это не имеет никакого смысла.
> последний из них использует первые два.
Что значит использует? Не понимаю терминологии оопешной лапши.
> Как ты будешь его инициализировать в тесте?
Каждый модуль отвечает за конкретное преобразование данных. Просто берёшь и тестируешь модули и функции из библиотеки на данных. Можно математически доказать каждый модуль, кста.
>Полазил по Изучение веб-разработки в мозилле - вкатывательная база из HTML, CSS, Java Script, и чет уже плохо стало. Как это осилить?
За одну две недели ты должен осилить ОБЩЕЕ понимание всей это хуйни. Чтобы иметь представление что гуглить.
CSS и HTML просто учить - абсолютно бессмысленная хуйня. Ты ничего не запомнишь, инфа 100%. Плюс сам CSS понять можно только на практике. Ибо он абсолютно нелогичен с первого взгляда. Придумываешь себе петпроекты, не обзятально даже сложные. И верстаешь. Можно даже без JS на первых порах.
Сам же JS мне кажется лучше всего задрачивается на литкоде и кодварсе. И необязательно там решать сложные или средние задачи. Берёшь самый лоу уровень и уже спустя сотню задач будешь понимать и знать основные механизмы JS.
Это будет базовый уровень на который ты потратишь несколько месяцев. Зависит от того сколько будешь в день времени этому уделять.
>У меня нет несколько классов
>Не понимаю терминологии
>Можно математически доказать каждый модуль
Понятно, борщехлеба опустили на собесе вопросом про инъекцию зависимостей, и борщехлеб прибежал на сосач и начал бросаться на белых людей, как бешеная псина.
>У меня нет несколько классов, очевидно же. Зачем мне ссаные классы выдумывать ради ссаных классов? Это не имеет никакого смысла.
ООП - это инструмент, как и ФП. Где-то лучше и правильнее применить ФП, где-то ООП. Ты сейчас характеризуешь себя как не профессионала
>Что значит использует? Не понимаю терминологии оопешной лапши.
Хз, если не тралишь, то я в шоке
>Каждый модуль отвечает за конкретное преобразование данных
Как и в ООП, впрочем
>Просто берёшь и тестируешь модули и функции из библиотеки на данных.
Да это я понял. Но как ты будешь тестировать модули, которые не являются чистыми функциями?
>Можно математически доказать каждый модуль, кста.
Как и в ООП, впрочем
>Что и требовалось доказать
Пока что ты доказал только то, что ты либо жирная зелень, либо ебанат.
КАК ФП-МАНИ ОРГАНИЗОВЫВАЮТ КОД В СЛОЖНЫХ ПРОЕКТАХ НА 1МЛН+ СТРОК КОДА?
Они плодят сложнейшую структуру из папок или что?
>ФП-мани
>организовывают код
А ты шутник. Посмотри ради хохмы как в швитом хачкеле выглядят мало-мальски крупные проекты, как там у них дела с организацией кода.
Тут есть те, кто самостоятельно, без универов/колледжей, вкатывался во фронтенд с полного нуля? Сколько времени у вас ушло от начала вката до первой работы? Сколько часов в день тратили на обучение? Было сложно? По каким материалам учились? Нужен ли продвинутый матан для фронта? Расскажите о своих попытках/успехе.
Известно как - у них есть папочка УТИЛС, а в ней находится абсолютно все, начиная от капитализации строк и заканчивая апишками и какими-нибудь мудацкими генераторами генераторов шаблонов стилей (если речь про фронт). При этом, естественно, фп-чмондели стараются делать каждую утилиту максимально ОБЩЕЙ и ПЕРЕИСПОЛЬЗУЕМОЙ, что особенно потешно выглядит, когда фактически эта утилита - кусок весьма специфической бизнес-логики, вырванный из контекста и изуродованный. Сама же бизнес-логика оказывается размазанной тонким слоем по всей папочке с утилитами, и в конце концов склеивается воедино таким образом, что за тонной вызовов ОБЩИХ и КОНФИГУРАБЕЛЬНЫХ функций теряется собственно смысл происходящего вообще. В общем, все стандартно - набрать полный рот говна и залезть на пальму, лишь бы не использовать результаты прогресса последних 50 лет.
>ООП - это инструмент, как и ФП. Где-то лучше и правильнее применить ФП, где-то ООП.
Конечно, кто же спорит. ООП это инструмент для менеджеров и джунов, чтобы вкатуны не изучали компухтер сцаенс, а сразу пердолили дерьмокод. Хуякс-хуякс и в продакшн. Именно для этого ООП сделали.
Изначально, конечно, ООП был вполне себе няшным, просто объекты друг-другу данные отсылали, это уже потом успешные менеджеры, которые не понимают в кудахтерах, начали хуйню делать.
>Ты сейчас характеризуешь себя как не профессионала
Да я и не говорю что профессионал, так себе, знаю немного.
>Хз, если не тралишь, то я в шоке
Всегда имел дело с данными и совершаю действия над данными. Когда ты говоришь "использует" я буквально не понимаю что ты имеешь ввиду, он использует какие-то данные? Или что?
>Как и в ООП, впрочем
В твоём примере один класс не отвечает за конкретное преобразование данных, что-то там с другими классами происходит, поведение которых зависит от других данных. А значит это уже не отвечает "конкретному преобразованию", потому что используются какие-то внешние состояния для класса.
> Да это я понял. Но как ты будешь тестировать модули, которые не являются чистыми функциями?
Интеграционное тестирование, так же как в ООП. У меня это легче, потому что подобных модулей очень мало и они иногда даже математически доказаны. В ООП-лапше интеграционное тестирование для каждого пука нужно.
> Как и в ООП, впрочем
В ООП только функцию можно доказать а дальше уже хер там, потому что типы проёбываются, абстрактные интерфейсы и прочее дерьмо. Хз вообще, это можно математически доказать? Наверное да.
Покажи плиз, на гитхабе хотя бы один серьёзный проект полностью написанный в ФП стиле
Да похуй мне на твоих протыкателей из секты ФП, челидзе.... ФП это кусок кала по причине хуевое быстродействие, такая же попытка сбежать от сложностей комухтер ссаенс как и ООП.
Хуй знает чего ты вообще порвался и про какое-то ФП начал кудахтать, у меня процедурка, императивка, немного чистых функций и акторы.
>Тут есть те, кто самостоятельно, без универов/колледжей, вкатывался во фронтенд с полного нуля?
Ну я. Даже особо не читал ничего, просто брал и гуглил че там как происходит. Фронт не советую, сейчас как бы приложения все делают, там деняк больше. Но фронт тоже неплох, если ты угораешь по сайтикам.
>Сколько времени у вас ушло от начала вката до первой работы?
Полгода.
>Сколько часов в день тратили на обучение?
Иногда двачевал целыми дням, иногда по 12 часов въебывал и писал.
>Было сложно?
Сложно с дисциплиной. Дисциплину осилишь - сможешь всё.
>По каким материалам учились?
Просто делал красивые сайтики и прикольные штуки. Гуглил когда что-то не получалось.
Рекомендую найти онлаен курс, прочитать пару книжек и точно так же начать делать сайтики и прикольные штуки, в процессе разберешься. Погугли правила хорошего кода, чтобы не чмырили.
>Нужен ли продвинутый матан для фронта?
Смотря что делать будешь. Если с графоном работать - немного нужен, но в гугле всё есть, разберешься. Если просто сайтики - почти никогда нет, но если где-то нужен то гугл и сложностей почти нет.
>Расскажите о своих попытках/успехе.
Просто берёшь и делаешь. Дисциплину пофикси.
Успеха никакого не жди, это всё удача, включая твои мысли и твоё мировоззрение. Тебе запросто может не повезти с этим со всем, на дворе не коммунизм с гарантированной занятостью. Но попытаться стоит, хотя бы шансы увеличишь.
Это я. В юношестве игрался с компьютером: бейсик, делфи, ассемблер. Потом перекатился в веб. После армии, в 20 лет, просто пошел в офис, в веб-студию и вот я, спустя 10 лет, software engineer в международной компании. Если оценивать по времени весь путь, то может лет 15-16 прошло со времени знакомства с компьютером и до вката
Вкатун, хватит уже обсираться. В ФП всегда создаются новые данные, новые списки и новые массивы. Это полный пиздец по производительности. Ещё можно вспомнить кэши проца, в которые попадает один мусор.
По сути ФП попадает в самое серьезное бутылошное горлышко современных пека - быстродействие памяти. Даже ООП можно хоть как-то скомпоновать чтобы оно обсиралось чуть меньше (обсираться ООП всё равно будет, как не старайся), но ФП пофиксить нельзя вообще.
Могу поспорить, ты не сможешь пруфануть свои фантазии. Правильно построенная программа основанная на immutable структурах будет часто быстрее подобной программы работающей с mutable при прочих равных (если ты понимаешь как с ними работать, офк). Immutable это база хайлоада с его распараллеливанием и прочими инструментами
Чел, че несёшь-то. Ты не можешь сделать всю программу/сервер immutable потому что существует i/o.
>но вместо какого-то дохуя сложного класса надо инициализировать код-заглушку в unit тесте?
Если тебе надо "заглушки" писать для ёба функций (которые, как и полагается у жабадебилов, ну совсем-совсем невозможно разбить на множество мелких), то это уж не юнит тест. Повышаешь его до уровня интеграционного/e2e и там уже в тестовом окружении без всяких заглушек тестируешь.
Гайз я понимаю как это звучит но ответьте плиз.
Думаю подтягивать ли матан, на это уйдет год, за который вполне уже можно вкатиться
Нет, не нужен
Красиво стелишь, но на деле, даже сами фреймворки для unit тестирования имеют mock функционал
+ unit тест требует наименьшее количество ресурсов и если речь идет о действительно большом проекте, то это в том числе и про деньги: чтобы организовать окружение для e2e тестов тебе понадобится на порядок больше денег просто потому, что надо на каждый тест запускать браузер (ведь о фронтенде говорим) + это будет занимать на порядок больше времени на выполнение
Список новостей должен автоматически обновляться раз в минуту без участия пользователя
Через сетинтервал норм реализовать?
1. Когда вкладка в фоне новости обновлять не обязательно. Особенно если открыто несколько вкладок
2. Таймер для setTimeout/setInterval, когда вкладка в фоне, замедляется
Я бы сделал так:
1. Раз в секунду вызываешь функцию проверки
2. Функция проверки сначала чекает не находится ли вкладка в фоне, и если она активно, сравнивает время с последним обновлением
3. Если последнее обновление происходило более минуты назад делаешь load
Вроде так должно работать
За какие структуры данных? В ФП неизменяемые данные превращаются в новые данные путём бесконечного копирования куска данных в новые и новые выделенные ячейки памяти. Постоянная работа GC. Постоянная работа аллокатора. В ФП это никак нельзя обойти, ебля бутылочного горлышка в всяких каложурах задумана бай дизайн.
Чтобы с ФП нормально всё делать нужно отойти от практик ФП и производить вычисления над данными, чистые функции читают данные, используя кэши процессора на полную, проводят вычисления и складывают всё в заранее выделенные участки памяти. Такое ФП работает, будет список последовательных функций над последовательными данными. Оно работает оче хорошо, например на советских процессорах такая архитектура была и по тем временам это было довольно быстро.
>>498303
Юнит тестами ты никак не протестируешь взаимодействие нескольких классов с di и прочей ооп-хуитой. Каждый класс, из-за смешивания управления и данных, производит кучу поведения которое без интеграционного тестирования невоспроизводимо, di может спускаться по иерархии в какие-то десятки и сотни слоев вниз. Юнит тесты в такой ситуации тестируют воздух.
>Красиво стелишь, но на деле, даже сами фреймворки для unit тестирования имеют mock функционал
И этот mock функционал отпадает при любом апдейте фреймворка, движка, зависимостей и кода (то есть постоянно). Я уже навернул говна с одной репой, в которой хотел обновить только ЖЕСТЬ до новой версии и внезапно юнит-тестики наебнулись, как раз из-за моков. Потом ещё в другом проекте навернул говна с апдейтом реакта, так как одна из зависимостей написала юнит-тестики на какой-то мешанине ензима и жести, несовместимой с 18-м реактом. Зато ковераж и бест девелопмент практис.
> + unit тест требует наименьшее количество ресурсов и если речь идет о действительно большом проекте, то это в том числе и про деньги: чтобы организовать окружение для e2e тестов тебе понадобится на порядок больше денег просто потому, что надо на каждый тест запускать браузер (ведь о фронтенде говорим) + это будет занимать на порядок больше времени на выполнение
Да это не вопрос, что манагеры любят юнит-тестики из-за красивых галочек и циферок покрытия. И я говорил как раз про небраузерные сетапы, типа запуска докеровского стэка для бд/стора/сервера.
С браузерами всё намного печальней, так как фронтенд код пишется как минимум для трёх браузерных вендоров, так что юнит-тесты имеют смысл только в контексте облегчения интеграционного тестирования, а не как вещь в себе. Ещё непонятно, как вообще можно проводить юнит-тесты классов, методы у которых могут дёргать его контекст по любому пуку и мутировать всё, что в нём находится.
В общем настоящее ООП и TDD - два сапога пара.
> Да это не вопрос, что манагеры любят юнит-тестики из-за красивых галочек и циферок покрытия
Мы вам перезвоним
Кому ты там перезванивать собрался? Пиздуй писать тесты полей, а то кабанчик выебет за красные 99.97%.
нужно ли учиться хорошо верстать на ванильных html/css, если собираюсь на реакте писать все?
> Фронт не советую, сейчас как бы приложения все делают, там деняк больше
А ты видел сколько сейчас вакух на андроид в рф? И как в треде жалуются на то, что устроится не получается? Сам на фронте все еще?
Рынок мобилок побольше будет, чем рынок сайтиков. Хотя хуй знает так-то, по идее фронта должно быть дохуя и сейчас и проседать он не должен. Но прибыль в аппах явно больше
У меня вообще свои проекты, поебать вообще что там происходит.
Самое смешное, что ты даже допустить не можешь, что юнит тесты могут что-то тестировать
Все на что у тебя ума может хватить. У меня в проекте - это работа с разными кодировками текста или, например, преобразование бинарных данных, геометрические преобразования, и тп
Понимаю, ты ничего сложного не пишешь, но так не везде
Чувачок, ты в курсе, что на любом ЯП юнит-тесты будут тестировать твой код в контексте компилятора/интерпретатора/операционной системы/архитектуры процессора? Не надо делать вид, будто в браузере код вендор-зависим, а на всех остальных платформах магическим образом независим. Не говоря уже о том, что, например, JS-код во всех современных браузерах выполняется одинаково, да даже в ссаном DOM API уже отличия между браузерами минимальны.
Но ведь действительно любят. Вон, пикрелейтед написан в июле 2022.
> допустить не можешь, что юнит тесты могут что-то тестировать
Могут, но из-за любви менеджеров в % покрытия пишут и вот такое говно.
Да, я 2 недели назад в галеру попал, тут с нуля сайт когда делаешь, его никто кроме тебя не верстает
Ну пишут и пишут. Некоторые не брезгуют говном обмазаться и подрочить. Неужели нужно жить с оглядкой и на этих товарищей?
Тесты ради тестов и цифр покрытия - это удел неквалифицированных программистов. Если ты видишь такого, направь его в нужном направлении лучше
>Тесты ради тестов и цифр покрытия - это удел неквалифицированных программистов.
Это троллинг тупостью? Тебе же выше ясно написали, что это в первую очередь дрочь менеджмента на графики и галочки. Нахуя ты перекладываешь это на программистов?
Как ты заебал уже, а. Успокойся и иди дальше пиши свой хэлловорд, вкатун ебаный.
> Нахуя ты перекладываешь это на программистов?
А кто с этим говном соглашается, не программесты?
Именно вкатунки-долбоебики-жависты-оопешки и соглашаются, "покрывая" тестами любую срань, не отдавая себе отчёта в том что они делают.
Ну иди откажись покрывать тестами, прям к менеджеру подойти и харкни ему в ебало, скажи "не буду я вилкой писать тесты!". Долбоеб блять, ты еще иди продавщицу в говнерочке обвини в том, что молоко просроченное попалось.
Чел, у меня трудовой стаж почти 12 лет уже. Я правда удивлён тем, что ты пишешь тесты ради цифр покрытия и облиняешь в этом кого-то другого
Если я в чём-то не прав, не агонист и спокойно объясни свою позицию
Так я и отказался, лол. Менеджер стал что-то попукивать, хуй знает, я не слушал, просто нахуй послал. Потом кста сам с работы ушёл, спиздив всю базу клиентов, мне не понравилось что директор выебывался доухя.
Хуй знает, а ты что, не можешь так же делать?
>>499045
>Чел, у меня трудовой стаж почти 12 лет уже.
Ты вкатун-жабаскриптер, не пизди уж, сколько раз палился итт.
>Хуй знает, а ты что, не можешь так же делать?
Могу, только нахуя? Мне платят мои жирные 5к, я пишу код, зеленые галочки крутятся, релизы мутятся. Нахуй мне играть в революционера за свои же деньги без выхлопа?
1280x720, 0:27
Джон Бор ставит требование:
>хочу рот в говне
Моя задача ему подсказать, что привкус ему не понравится, но если он настаивает - я соглашаюсь. При этом я отчетливо осознаю последствия, однако, как указал >>499062 деньги-то платят.
>>499015
Инициатива от менеджмента ради циферок. Заканчивай вилять жопой, уже гринтекст пошел жду >пук следующим постом
>Меня на работе в хуй не ставят и мое мнение ничего не значит
>Следовательно это не я виноват в том, что я пишу говно
Твое мнение может играть роль в рязанском ООО "Рога и копыта". Попробуй продавить свое видение в Fortune 100 компании, лол.
Путаешь продуктовое видение и техническое. Именно техническое (ведь об этом идет речь) во всех нормальных компаниях двигают программисты/архитекторы/тех. лиды
Зелёные галочки напротив тестов - это видение менеджера, которому нужны какие-то численные метрики, которые он сможет отрапортовать наверх. Это во первых. Во вторых, зачастую это требование идёт не от одного rogue-менеджера, а с самого верха, буквально от CTO, у которого полиси, гайдлайны и бест практис головного мозга. Если со своим локальным менеджером ты ещё можешь бодаться и пытаться что-то ему объяснить, то с CTO ты почти наверняка этого сделать не сможешь
>>499125
Был однажды проект в ОАЭ на onsite. Так арабы нахватались базвордов модных и хотели их себе на проект. Попытки убедить, что им это не нужно воспринимались как попытки наебать и откосить от сложной работы и сделать хуйню вместо этого. В итоге получили, что хотели работало нормально. И переубеждать их точно не стоило, денег платили просто дохуя и можно было их потерять просто отстаивая своё видение.
Численные метрики у менеджеров в Fortune 100 это OKR/OLA, например, а на покрытие тестами сегодня только каргокультисты дрочат
Если именно на покрытие ради покрытия, то интересно было бы посмотреть на такие тесты. Было бы посмотреть на такое. Сам работаю в компании куда захантили несколько человек из гугла и они как раз все нормально делают
базовые вещи типо верстануть макет полностью, гриды и флексбоксы всякие.
> Джон Бор ставит требование:
Че он там ставит, епта. Пошел он нахуй. Пусть к индусам обращается, если ему не нравится что-то.
>Моя задача ему подсказать
Это не задача программеста/тимлида/директора, это задача менеджеров. Если менеджер не справился с задачей и не объяснил клиенту что его поехавшие желания к техническим деталям никого не ебут - проблемы менеджера. Конечно если желания нормальные, то почему бы и нет, всегда приятно делать что-то пиздатое. Наказывать менеджера никто не будет (через полгода будут), но премии за проект явно не будет.
Так в США по-старому почти все компании работали, вопщем-то самая адекватная методология работы. Менеджер отвечает за связь с клиентом, а не диктует условия работы. Потом эту модель срыночек порешал, программесты долбоебы и не создают профсоюзы, руинят отрасль, снижают сами себе зарплаты. Впрочем и похуй, ненужны скоро будут.
>>499120
Как раз в Рога и Попыты ставят всякие ООП, бесконечные юнит-тесты и прочую хуиту поехавшую. Нормальные компании, которые не заросли родственными связями менеджеров и прочей партократией из совета директоров, такую хуйню не поддерживают.
1.А как active на disabled поменять, компоненты в Semantic UI.
2. Если active это просто булиан, то почему если я впишу true, то работать нихера не будет? как это работает, че это за ключевое слово active от которого нахуй он работает
Это ведь даже не пропс, а хуй пойми что.
https://react.semantic-ui.com/elements/loader/#states-active
ай ладно я видимо еблан, я хз зачем они 2 разных компонента делают с дизейблд и актив, но похуй.
Просто буду убирать из дом дерева через display:hidden эту залупу.
Но я не понял как всё равно они сделали ключевое слово active
ой display:none,
у меня короче кнопка рефреша и я хочу при клике на стрелочку, чтобы у меня была прогрузка на экране, а как закончится загрузка вернется стрелочка
короче так забабахал, пока что через секунду после клика будет прогрузка заканчиваться.
Кошка умерла?
Так я в самом начале скинул скрин.>>498894
> несколько человек из гугла и они как раз все нормально делают
Если им не сыпать баксы в карман и при этом ставить идиотские требования - они их будут выполнять. Если сыпать, но требования не ставить - ну да, будут делать нормально, про это и разговор.
>Пошел он нахуй.
Пошел ты на хуй, аноним, а Джон Бор мне деньги платит.
>Это не задача программеста/тимлида/директора
Так менеджеру нравятся красивые графики. Он на них и покрытие и рост покрытия покажет, для него все заебись.
>его поехавшие желания к техническим деталям никого не ебут
Сынок, для тебя специально видео релейтед>>499106. И что бы ты понимал, требование к ЯП - это тоже технические детали. Ну-ка, попробуй выебнись и скажи менеджеру, что клиенту похуй, на чем микросервис, на го, на ноде, на пхп или на хаскеле, лишь бы работал - так тебе быстро твое место укажут.
Ну скрине хуйня какая-то (извини). С таким именем тест никто через ревью не пропустит. Там же из названия непонятно что за тест и в чем его смысл
>Ну скрине хуйня какая-то (извини)
Можешь не извиняться, это не я писал. А по сабжу - Fortune 500 компания ну да, не 100, всем похуй, лишь бы покрытие было.
>Там же из названия непонятно что за тест и в чем его смысл
Так он для покрытия, для галочки, для графика, а не чтобы что-то тестировать.При этом в соседнем репозитории или даже папке могут лежать вполне приличные и юнит и е2е тесты, но вот такое говно всплывает.
Эта хуйня не пройдёт ревью даже в рога-копыта сегодня. А если прошло - это натуральный саботаж и подтверждение непрофессионализма каждого кто приложил руку, начиная с менеджера и заканчивая теми кто аппрув ставил к реквесту. Как оправдание подобные пики использовать = себя не уважать
> Пошел ты на хуй, аноним, а Джон Бор мне деньги платит.
Да я же не запрещаю тебе сосать.
Запрещаю тебе продвигать хуиту, которую высрал твой господин, как необходимость. Рассказывай про юнит-тесты, ООП и прочий кал где-нибудь у другом месте.
>Так менеджеру нравятся красивые графики. Он на них и покрытие и рост покрытия покажет, для него все заебись.
Ты-то зачем рассказываешь про свои юнит-тесты?
> Сынок, для тебя специально видео релейтед>>499106.
Какие вебемки? Ты опять в /b/ в аниме-треде пересидел и начал вебемками общаться?
>И что бы ты понимал, требование к ЯП - это тоже технические детали.
Технические детали которые определяют специалисты, а не менеджеры.
>Ну-ка, попробуй выебнись и скажи менеджеру, что клиенту похуй, на чем микросервис, на го, на ноде, на пхп или на хаскеле, лишь бы работал - так тебе быстро твое место укажут.
Всегда говорил что хотел говорить, ты просто себя не ценишь и не можешь гнуть свою линию. В нормальную компанию устройся, в которой тебя не держат за говно и всё в порядке будет.
Пчел, индусам нужно показать графики - они делают хуйню и потом показывают графики. Про саботаж ты правильно сказал, но если ты начнешь эту хуйню выносить,то они начнут играть в политику, чтобы вынести тебя. А поскольку в политику они играют лучше, чем пишут код - исход неудовлетворителен. Но изначально это они делают, потому что кто-то над ними думает, что покрытие на что-то влияет.
>>499202
Протри свои глаза от мочи, ты меня путаешь с любителем DI и не можешь отличить вебм от мп4.
>Всегда говорил что хотел говорить
Это значит, что хотел только удобное.
1. И тем и другим, это нужно чтобы показать графики менеджменту выше.
2. Профи смотрят на хайлвл архитерктуру или в мониторинг тулзы, а не лазят за индусами в тестах к редьюсерам говно чистить. Права на апррув или мерж могут быть не только у тебя, так что вахтёром поработать не получится.
>Протри свои глаза от мочи, ты меня путаешь с любителем DI
Ну хорошо тогда, всё равно неплохо посрались.
>Это значит, что хотел только удобное.
Естественно, нахуй неудобно работать.
>Про саботаж ты правильно сказал, но если ты начнешь эту хуйню выносить,то они начнут играть в политику, чтобы вынести тебя.
Бля, это трустори. Работал какое-то время на очень вкусном по деньгам забугорном проекте с несколькими чуваками. Чуваки натурально саботировали работу во всем, тупо специально делали максимально ублюдочные технические решения, чтобы усложнить и растянуть разработку настолько, насколько это возможно, и дальше героически превозмогали над проблемами перформанса, привнесенными ими же самими. Я такую хуйню пиздец не люблю, начал чето там пытаться объяснять, выяснять, разговаривать с менеджментом - и в итоге пришлось ливнуть, т.к. атмосфера раскалилась очень сильно и работать стало физически некомфортно в таких условиях. Короче, если поляна уже кем-то занята, то пытаться там чето поменять и улучшить себе дороже, начнется война, в которой скорее всего победишь не ты, а чувак, который на проекте с самого начала, который внедрил все эти трудности и оверинжиниринг, и навешал менеджменту лапши на уши, став в их глазах героем года и рыцарем на белом коне.
SUQAAA
Просидел пол ночи за маняпроектом, зато сегодня внезапно охуеть как продвинулся в написании кода.
На РАБоту вставать через 3 часа, буду опять охуевать от недосыпа.
мимо вкатываюсь в айти, работяга 28 лвл
> зато сегодня внезапно охуеть как продвинулся в написании кода.
Везёт. Я две недели сижу и ничего не делаю, потому что не понимаю нихуя и всё что делаю выглядит как дерьмище полное.
12 лет стажа айтихуйни.
Всё надо знать. Ищи примеры макетов на фигме и верстай по ним.
От джуна уже будут ждать, что ты с макета сможешь что-то на верстать.
>Таких долбоебов, которые тесты ради тестов пишут, сразу бы на мороз выкинули
Я поражаюсь твоей твердолобости. Полтреда толкую о том, что кодеры эти тесты эти пишут, потому что с них их требуют. И нет, менеджмент не выкинет на мороз сам себя.
>Как хорошо, что у нас в компании такого нет
Пример был из Fortune 500 компании, видел такое же в Fortune 100. Так что если у тебя такого нет - не значит, что ты такое никогда не увидишь.
>Полтреда толкую о том, что кодеры эти тесты эти пишут, потому что с них их требуют
Требует менеджер-долбоеб, а программист-долбоеб его поддерживает. Обоих на мороз
Спроси себя лучше о том, кто их там будет держать, когда все это дойдет до менеджеров более высокого уровня. Если ты знаком с большими компаниями и тем как там устроена работа, ты должен понимать, что в компании целая многоуровневая иерархия и над менеджерами есть еще несколько уровней менеджеров уже с другими метриками. То о чем говорим сейчас мы - это работа низкоуровневых менеджеров и программистов. Никто на высоком уровне не думает о покрытии кода, там рассуждают уже о другом
>Никто на высоком уровне не думает о покрытии кода, там рассуждают уже о другом
Да, там думают об эффективности работы, которая выражается в графиках и галочках. График при этом обязательно должен расти, и как минимум сверхлинейно.
Там думают о финансовых показателях, которые выражаются в деньгах. У нас в компании это ARR и если он не растет, уже разбираются в причинах (недостаточно галочек в тестах и прочее)
>Там думают о финансовых показателях, которые выражаются в деньгах.
Прямо сидят и хрустящие франклины перебирают, ага.
Они смотрит на цифры в финансовых отчетах. Куда ты вообще лезешь, если не понимаешь как такие компании работают?
>Если ты знаком с большими компаниями и тем как там устроена работа
Знаком - точно так же, как и везде, сидит орава бездельников и менеджит менеджеров менеджеров, проводит весь день на звонках о звонках о менеджменте менеджеров менеджеров, отвлекает людей от нормальной работы, в лучшем случае играя роль ретранслятора информации. Писать тесты на геттеры после этого выглядит не самой идиотской и бесполезной работой на свете
Манямир у тебя в жопе.
Ну расскажи тогда, что полезного делают твои двадцать VP? Что полезного делает твой ПМ хотя бы? Кроме того, что бегает взад-вперед между тобой и клиентом/более высшим манагером, и лезет во все дыры, нихуя не понимая в том, куда лезет?
>Они смотрит на цифры в финансовых отчетах.
Ну да, цифры это другое!
>Куда ты вообще лезешь, если не понимаешь как такие компании работают?
Сам дохуя CEO в такой компании? Или стремящийся?
А главное, что вся эта менеджерская мразь, скрам-мастера, коучи и прочие обсуждатели обсуждений инновационных инноваций менеджмента менеджмента отжирают огромный сука кусок от моей зарплаты, и до меня доходит дай бог половина от того, что за меня платит клиент.
В компании где тружусь я, все выполняют свою часть работы. У каждого трудовые обязанности четко прописаны в отдельном документе (там же про грейды). Ты сейчас транслируешь какую-то шизу из компании рога-копыта, а выдаешь за авторитетное мнение, якобы, это происходит в Fortune 100/500. Ты по факту ничего по сути вопроса не написал, кроме отрицания того, что другие тоже работают
>>499605
>Сам дохуя CEO в такой компании? Или стремящийся?
Хз как там в других компаниях, но там где тружусь я, все открыто и прозрачно. Буквально вижу как работают другие, да
Ля-ля-ля, грейды-шмейды, договоры-шмоговоры. Ты выхлоп покажи от их работы. Если выкинуть нахуй весь менеджерский подзалупный сыр, что изменится? От моей работы выхлоп виден - добавляются новые фичи, фиксятся старые баги, приложеньку можно запустить, потыкать, что-то поделать. Покажи, что меняется от "работы" VP после его напряженного рабочего дня, проведенного в гугл мите с такими же ушлепками-бездельниками?
>>499611
И что? У меня не должно гореть от того, что бесполезный скам отъедает у меня львиную часть зп, не принося никакой пользы?
>Ты выхлоп покажи от их работы
Прибыль компании где я работаю, удваивается уже пятый год подряд. Не плохой выхлоп, как по мне
>сли выкинуть нахуй весь менеджерский подзалупный сыр, что изменится?
Работа встанет. Я лишь пишу код, а вся остальная работа на них
>бесполезный скам
Ты сам-то что делаешь кроме написания кода?
>Прибыль компании где я работаю, удваивается уже пятый год подряд. Не плохой выхлоп, как по мне
То есть продукт из разряда влажных менеджерских маняфантазий в разряд реально работающего приложения переводишь ты, но при этом прибыль, заработанная на этом продукте - это выхлоп работы менеджерского сыра?
>Работа встанет. Я лишь пишу код, а вся остальная работа на них
Какая остальная работа? Есть разработчики, есть дизайнеры, есть аналитики, продажники и т.д. Каждый из них вносит какой-то осязаемый вклад в результат. Повторю вопрос: какой конкретно вклад вносят в результат работы двадцать VP и сотня ПМов?
Все так, кушать очень хочется. Но это ни разу не отменяет того факта, что менеджерский подзалупный творожок нахуй не нужен и ничего не производит.
Если бы они работали как надо, то давно бы уже уволили всех писателей бессымсленных тестов. Спасибо им скажи
Если бы они работали как надо, бессмысленные тесты писать бы не приходилось в принципе.
Если бы ты мог работать, а не писать бесполезные тесты, давно бы уже нашел работу где можно трудиться как белый человек, а не вот это вот все. Но это сложно, ведь тогда придется учиться и превозмогать. Я ничего против не имею, все профессии важны и писателям тестов геттеров тоже нужна работа. В ИТ денег сегодня хватит всем
С чего ты вообще взял, что я пишу тесты? Я сказал, что писать тесты по сравнению с обсуждением митингов по менеджменту менеджеров - не самая идиотская и бесполезная работа. Но да, тесты пишу, но конкретно за покрытие меня никто не дрочит, поэтому покрываю только то, что считаю нужным
Ты сам признался, что твои менеджеры
>менеджерский подзалупный сыр
Значит и задачи тебе ставятся соответствующие
Не мои менеджеры, а любые менеджеры. Задачи мне ставятся не менеджерами, а бизнесом, после чего проходят хуиллиард промежуточных менеджерных звеньев. Зачем?
>Не мои менеджеры, а любые менеджеры
Говорить ты можешь только за своих, извини. Иначе как-то глупо получается: доказательств не приводишь + делаешь ультимативные выводы. Про своих говори что угодно, так как работал с ними и знаешь что там да как
>Задачи мне ставятся не менеджерами, а бизнесом, после чего проходят хуиллиард промежуточных менеджерных звеньев
Это тебе так только кажется. Именно менеджеры формируют видение и общаются с заказчиком, а уже потом декомпозируют задачи и разделяют их между программистами
Если бы ты там один работал, я бы мог поверить, что бизнес к тебе приодит и что-то там ставит. А на деле же ты там один из тысячи гребцов и задачи вам ставят именно менеждеры-погонщики
>Задачи мне ставятся не менеджерами, а бизнесом
-- Братан, здравствуй. Узнал меня? Это я, владелец бизнеса с >$7b revenue. Напиши еще парочку тестов вот для этого геттера, плиз. Так нравится на эти зеленые галочки смотреть, пиздец!
лол
>Именно менеджеры формируют видение и общаются с заказчиком, а уже потом декомпозируют задачи и разделяют их между программистами
Что мешает команде выбрать одного из членов в качестве общателя с заказчиком и формирователя видения? Тем более, что такой человек, скорее всего, уже и так есть - тимлид/техлид. ПМ здесь тупо лишняя сущность.
Здарова, Эрик. Говно вопрос, сделаю. Писать буду день, так что с тебя тогда еще полкосаря, по стандартному рейту.
>Что мешает команде выбрать одного из членов в качестве общателя с заказчиком и формирователя видения?
Поздравляю, ты только что менеджера
>Тем более, что такой человек, скорее всего, уже и так есть - тимлид/техлид
Обязанности тимлида гугли
>ПМ здесь тупо лишняя сущность.
Ты в самом первом предложении буквально его обязанности расписал. А теперь пишешь, что он лишний. Определись
1280x720, 1:46
> когда все это дойдет до менеджеров более высокого уровня
Что это? Что блять дойдет до них? Они откроют код и посмотрят на тесты, а потом такие
>да, вот это пиздец конечно
Когда начинается пиздец они или спрашивают менеджеров пониже, что у них там идет не так или привлекают внешний или внутренний аудит. Внутренний аудит почти всегда межменеджерские разборки, куда лучше не лезть. Внешний аудит от консалтинга я ещё не видел, но по идее может быть весело, как на видо релейтед.
Опять пуки гринтекстом. Просто у тебя представления как у джуна мидла в лучшем случае. Что какрй-то синьёр или техлид придет, заглянет в код и даст пизды виноватым.
А когда выше тебя уже EM, а он уже в код не смотрит, а налажала другая команда другога ЕМа и тебе нужно собирать митинг, к которому полтора дня готовится и диаграммы рисовать и РОС писать, чтобы показать, где именно они обосрались - проще на дваче поныть.
>пук-срень ты ничего не понимаешь. А я понимаю
Вот это аргумент! Действительно, чего это я каким-то там гринтекстом тебя передразниваю. Ты ведь даже повода не давал
>какой-то
>другого
>готовиться
Так, что-то я обосрался больше, чем мысль изложил. Ну штош, лучше уже не распишу, понимание нашел, пора закругляться.
На каком-то форуме или где можно поискать? Просто гугление не даёт результатов.
Суть вообще в чём.
Вот сайт https://online.mfa.gov.ua/application
1. Нужно выбрать страну
2. Решить гугл капчу (решаемо, вроде статьи есть какие-то в инетике)
3. Выбрать опции ещё в трёх формах
4. И если активируется формочка с датами, то выбрать дату, время и нажать ДАЛЕЕ
Но по 4-му пункту, я не знаю что именно делать, потому что у меня всё время "МЕСТ НЕТ, ПОПРОБУЙТЕ ПОЗЖЕ" я даже не могу посмотреть какие там опции есть.
Эта задача вообще технически решаема?
Мне нужно устанавливать ноду и запускать код на серваке? Я сам не особо шарю, вроде клики имитировать я могу, запуская код в браузере. Насчёт капчи не пойму, но вроде там просто запросы отправляются и делать это можно тоже в браузере. Но мне то надо, чтобы скрипт работал сутки и проверял доступность каждые пару минут, а браузер этого не даст сделать.
Где поискать готовое решение?
Почему я не могу запушить?
https://pastebin.com/m9QTgbqj
Uncaught (in promise) TypeError: Cannot add property 0, object is not extensible
at Array.push (<anonymous>)
Бля у меня обычный мать его объект, почему я не могу в свойство запушить. втф
ёбнуться можно. оказалось причина в dispatch'e . я нихуя не понимаю блять как оно работает
Айти всё.
Планка всё выше, уже повсеместно в требованиях образование математика/информатика/физика, отличное знание алгоритмов и структур данных. Это помимо самого жс и фреймворков.
Спасибо, пыпа, вкатился в айти
Нахух ты then() используешь в асинхронных функциях?
1. Тебе вообще не должны платить на стажировке, так как ты ничего не умеешь и тебя там обучают
2. После стажировки зп увеличивается. Но раз ты не готов на такое, значит просто не веришь, что пройдёшь ее
Ебать у тебя намешано дерьма. Рекомендую ещё раз прочитать и понять что такое промисы и такую хуитищу не писать.
https://learn.javascript.ru/promise-chaining
https://learn.javascript.ru/async-await
Хотя бы это прочитай и пойми всё что там написано.
>>499945
Начинай читать что такое промисы и евенты, лол.
Давай посмотрим тобою написанное:
- синхронная функция, которая вызывает внутри себя синхронный метод массива, но передаёт ассинхронный колбэк в него, в этом колбэке вызывается промис, но при этом не эвэйтится, вместо этого вызывается метод промиса и почему-то эвейтится
- any в ебаной сигнатуре аргумента функции, хотя там очевидно как минимум (string | number)[]
- переменная называется с заглавной буквы, подразумевает множественное число, но при этом не хэш-таблица/массив.
- запрос идёт в getOne() эндпоинт, но при этом логика функции - getMany(), так что ты ещё и сервер по ссылке дудосишь.
- ну и претти принт в параметрах запросах - отдельная пушка, так как ты один хуй парсишь и десериализуешь результат, то есть с претти принтом никак не взаимодействуешь.
- функциональное выражение заместо функционального обьявления.
Пиздуй короче на MDN читать гайд вкатуна. У тебя код не работает, потому что ты нихуя не понимаешь, что делаешь.
>1. Тебе вообще не должны платить на стажировке, так как ты ничего не умеешь и тебя там обучают
Кабаныч из ООО Рога и Копыта? Иди нахуй.
>Прибыль компании где я работаю, удваивается уже пятый год подряд.
Хахаха блять, что я и говорил про график сверхлинейного роста.
То есть вместо аргументов и обоснования того, почему тебе должны заплатить, ты просто обвиняешь собеседника в предвзятости и посылаешь его на хуй? Ты же только что доказал, что ты чмоня без навыков, лол
Нехуя ты умный. Вот я вообще не понял что он написал, просто выглядит как непонятное дерьмо без логики и смысла. Асинхронные-синхронные намешаны, понять невозможно, не стал пытаться.
Кинул тебе за щеку, проверяй.
>- запрос идёт в getOne() эндпоинт, но при этом логика функции - getMany(), так что ты ещё и сервер по ссылке дудосишь.
что это значит? как не дудосить? Мне по разным айди надо получить 100 постов, поэтому я так реализовал
Я немного пофиксил кста)))
я его чисто делаю чтобы подождать функцию которая внутри getDataAPIJson
>Мне по разным айди надо получить 100 постов
Отправляй сразу все 100 айдишников в одном запросе и получай данные сразу для всех
Мм, не знал что так можно. надо посмотреть мож в апи документация по этому есть.
Зачем тебе map, если он ничего не возвращает.
>в мапе делать асинхронный колбек?
Не знаю, что ты там делаешь, но это выглядит странно.
Алсо await внутри колбека map не остановит основное выполнение кода. Так что твой console log выведет то что до map
Не тогда, когда у него промис в колбеке. Map можно синхронизировать вернув промисы, в Promise.all, например. Гугли матчасть в общем.
На сайте есть туториал с самых основ, который в том числе позволяет навернуть говна с ванильным редаксом. Но без этого процесса ты не поймёшь ссуть тулкита.
Че расскажите? планирую откликнуться на все вакансии в рф на верстальщика, сработает?
Сделаю пару работ для резюме и в бой. Фроентнд пока не могу изучать без денег на счету.
верстальщиков как говна, нужно либо быть гением этой области либо сразу идти во фронтенд, чтобы хоть чуть чуть отсеять конкуренцию. Что значит нет денег? если не можешь найти сливы или бесплатные курсы, то ты не туда пошел, тебе на завод к станку надо
Я бы не против на заводе поработать, но ты думаешь вкатуна 25 лет без вышки и опыта возьмут туда?
Нет денег на еду буквально, то есть времени на обучение, а курсы то скачаны уже!
Нужно месяца 3-4 перекантоваться на каокй-нить работе, желательно не курьером, чтобы оставались силы хотя бы.
Жаль что апворк уже не вариант, хз че делать.
попробуй охранником куда нибудь уткнуться, времени будет вагон, как раз на работе сможешь курсы проходить, это лучший вариант.
Да не хочу об охранника шквариться, мне гопоту гонять чтоли?)
Я знаю английский, офис софт, реакт, неужели ниче нельзя найти с такими скилами, даже дистанционно?
Ну что-то печально как-то это совсем.
>Я знаю английский, офис софт, реакт, неужели ниче нельзя найти с такими скилами, даже дистанционно?
Ну ищи тогда, чего ты ждёшь, подавай заявки куда только можно.
>Ну что-то печально как-то это совсем.
Просто вместо поиска работы ты мог бы охранником работать и за полгода надрочить рякт до уровня джуна-мидла, со всеми алгоритмами и фишками, включие сортировки, быстрый доступ через нейминг, эффективные реализации алгоритмов, компонентые подходы. А потом сразу же заехать с первого собеса.
Блять сука пизда блять нахуй. Я уже все ногти вырвал бля, ёбанная дрочь.
Как мне быть с одинаковыми значениями в перебираемом массиве/строке? Хули оно берёт первое из повторяющихся и его тычет везде, как это организовать нормально? Я блять не знаю даже как это загуглить, весь стаковерфло забит однотипными "как удалить одинаковые значения", "как найти одинаковые значения", "как заменить одинаковые значения", но никто не задался вопросом.
...
Пока бугуртил переделал логику обхода. Теперь мой массив мутирует, на каждой итерации сжирая итем реплейсом на неулавливаемую условием хуйню. Так и надо, или есть умный способ?
Для начала дефайн "одинаковые значения". Пример выше работает только для примитивных значений.
> Как мне быть с одинаковыми значениями в перебираемом массиве/строке? Хули оно берёт первое из повторяющихся и его тычет везде
Ты на условия проверяешь и делаешь break что ли? Ну так не делай break. И условий не делай, сделай объект с всеми обработчиками и в каждом цикле просто вызывай по ключам функции в объекте.
Вообще хуй знает что ты делаешь, показывай код и ТЗ, задачка явно интересная и нужная дохуя. Возможно там нужен даже какой-то конечный автомат.
> Теперь мой массив мутирует, на каждой итерации сжирая итем реплейсом на неулавливаемую условием хуйню. Так и надо, или есть умный способ?
Один из вариантов, так делают, да. Можешь сохранять индекс при переборе. Каждый перебор создаёт свой индекс.
Но можно придумать без всякой записи в память в цикле, только чтение, это будет умно, но такое не всегда возможно и даже слишком умно и бесполезно.
Антены, как вы думаете, проекты на других яп считаются, на них вообще кто-нибудь смотрит?
Я сейчас делаю небольшой проект на перл.
Перл конечно знаю так себе, но достаточно чтобы писать на нём.
Сет точно нет, мне же надо сохранить порядок значений, даже если они повторяются.
>>501330
>>501337
>>501349
Упростил до пикрила, вот такого типа задача, тоже решил изменением логики. Взбугуртнул, потому что второй раз сталкиваюсь и второй раз велосипедирую. Хотя действительно, как можно промаркировать примитивы в массиве? Да никак, только параллельно вести счётчик неуникальных значений, но ведь это же ебанёшься на больших масштабах. Есть идея сделать свой тип данных под такую хуйню, но пока не думал как реализовать. В общем ваше мнение по данной ситуации.
Ну так и ебашь охранником, мозги в порядок приведёшь за это время и нормас ещё рякта навернешь. Время-то дохуя будет. Ты не забывай что у тебя нет денег на еду. Вона, писатели типо Джека Лондона работали посудомойками и никогда не считали что они зашкварились. Если что не факт что ты найдёшь работу охранником так-то.
А вообще звони во всем контроки на позицию жс-мидла-версталы на рякте или тупо ищи любые работы в которых нужно в какой-нибудь говнософт тыкать. Найдёшь может. Но охранник это пиздато - еда и свободное время.
Да, да, играть в Мартина Идена в 21 веке значительно проще. Книги покупать не надо, еда дешёвая, жить можно в пердях на копейки - саморазвивайся не хочу. Ну так вот все и не хотят )))))))))))))))))))
Да, я забываю, что это еще не я выбираю куда идти, и нужно быть благодарным что мне протягивают руку помощи. Ну жить на 30к более чем реально, конечно.
В него играть не стоит, всё же ты двачер который может и с шизой в башке жить, попивая джек дениелс и вкушая пиццу в дотатреде.
Не хотят саморазвиваться потому что это ебать как сложно и отстойно, обучающие материалы скорее деградировали с времён Джека Лондона, нежели развивались. Да и в социальной и экономической жизни прогресс не особо заметен.
>>501472
Именно так, не факт что у тебя выбор будет. Конечно выбрать ты явно сможешь, ибо есть и инглиш и знания рякта, но не при коммунизме живём, не стоит об этом забывать. Сначала ты ебашишь до уровня сеньёра-помидора, потом вальяжно отклоняешь все офферы меньше 400кк/наносек.
Ебашь по конторкам свои резюме, отлично будет, составь план развития, не особо допускай дерьма в голове. Со временем справишься.
Не, братик, я щас не осилю кодить 8 часов в день, недостаточно знаний, это очень радужно ты напрогнозировал, для 2015 пошло бы, для 2023 нужно посильнее быть, я даже хенгмана не напишу щас, ну или неделю это делать буду. Думаю на рынке есть спецы посильнее, не буду пытатьяс даже.
>Хотя действительно, как можно промаркировать примитивы в массиве?
Это как раз очень просто, создаёшь мапу, в которой ключи - значения массивов, а значения - массивы индексов этих значений. А там уже делай, что хочешь.
Ты всё равно будешь на позициях джуна-стажёра пилить какие-нибудь говномодули и кнопочки делать, ни на что другое не посадят или сам скажешь что пока ещё не готов. В теории это даже лучший вариант, развиваться будешь сразу на рабочем месте. На практике конечно ебать как напряжно наверное будет, охранник + задрачивание и только после этого кнопочки получше будут.
Ну было бы идеально, еслиб меня взяли, но эт нужно что-то из себя предсталвять для этого, а я пока неликвид.
Так, чот я не понял твоих условий.
Тебе обязательно проходить по всем элементам массива, или ты хочешь просто найти одинаковые элементы с конечным?
Алсо, тебе элементы обязательно с самого начала проходить или ты можешь с конца?
Как ты собрался схожие элементы потенциально мутировать без прохода по всему массиву?
В смысле можно просто пройти с конца массива и сравнивать каждый элемент с конечным, если тебе ничего с остальными элементами делать не нужно.
Вряд ли неликвид. Рякт и англюсик норм уже. Можешь в менеджеры или помошники податься даже, там где с аключик нужен.
https://docs.google.com/document/d/1X9zMnAAU9vvEzdYtSEeeram8Kur5o-py5ChKlK5TIa8/edit#
ну вот тестовое на ИНТЕРНА)
я такое не сделаю, еще тайпскрипт и ТЕСТАМИ покрыть нужно
Но конечный элемент может быть и первым, так что всё равно нужно обходить весь массив.
Ага, редюсером. Обойти можно и форичем, даром что доступ к последнему элементу всегда будет.
>мне же надо сохранить порядок значений
>пик
Сразу бы так сформулировал задачу.
const mapLastElementDuplacates = (e, i, arr) => arr[arr.length - 1] === e ? `${e} - last` : e
arr.map(mapLastElementDuplicates)
С кастомным коллбеком:
const mapLastElementDuplacatesWith = (callback = (el) => el) => (e, i, arr) => arr[arr.length - 1] === e ? callback(e) : e
arr.map(mapLastElementDuplacatesWith((e) => `${e} - last`))
Ну да, точно, ебать затупил.
>Тебе обязательно проходить по всем элементам массива
Да, там в зависимости от условий разные элементы преобразовываются по-разному, там в оригинале коллбека много разных условий для разных элементов. Просто я понял, что проще всего не трогать крайние элементы, преобразовать всё на глухую, а первый-последний уже потом отдельным шагом заменить.
>>501513
Без разницы в общем-то
>>501588
Пикрилы
Ну на исходной картинке результат такой же, второй элемент маркируется последним всё равно.
А, лол, тебе наоборот нужно избавиться от этого?
const mapLastElementWith = (callback = el => el) => (e, i, arr) => arr.length - i > 1 ? e : callback(e)
let arr2 = arr.map(mapLastElementWith(e => `${e} - last`))
Или чтобы не дрочить циклом:
const replaceLastElementWith = (arr, callback = el => el) => {
if (arr.length) {
let res = arr
res[res.length - 1] = callback(res[res.length - 1])
return res
}
return arr
}
let arr2 = replaceLastElementWith(arr, e => `${e} - last`)
Алсо
>там в зависимости от условий разные элементы преобразовываются по-разному, там в оригинале коллбека много разных условий для разных элементов
Лучше всё делать за один .map, иначе говнокод. Просто сделай пачку проверок по условиям.
На выходных, особенно перед сном сильное чувство одиночества. Мысли что я никому не нужен, девушки нет, какое-то опустошение. Пробую смотреть сериалы или фильм какойнить, но тупо не идет, понимаю что это все не то.
Когда вкатывался такого не было, была цель. Может я надеялся во время вката, что все как-то поменяется.
А щас работа - дом - работа.
Во время работы то норм, а вот вне ее - нет. Особенно, когда видишь в магазе у дома красивую кассиршу, думаешь что-то, а потом видишь как к ней приходит ее парень.
Сорри что пишу сюда, просто какое-то опустошение накатило.
Тоже самое, ток я не вкатился еще. 27 лвл. Сижу СУТКАМИ дома в одиночестве, делать абсолютно нехуй, буквально с ума схожу от безделья, мыслей о нищете, и такое чувство что вкатываться уже и нет смысла, вся жизнь позади, в будущем одно превозмогание просто чтобы не умереть. Очень депрессивно, прям 10/10 по хуевости. Ну по крайней мере можешь путану снять, хз, все же трицадка - не конец!
А сколько ты вкатывался по времени?
И сколько уже работаешь?
>А сколько ты вкатывался по времени?
Пол года
>И сколько уже работаешь?
Почти 3м, испытательный скоро закрывать
как учился? были накопления? кем до этого работал?
сколько откликов и собесов до получения работы?
>>501674
До вката где-то 2 года не работал, сидел дома, жил с мамой. До этого так же жил с мамой, на работал почти 2 года продавцом.
>были накопления?
Нет
>как учился?
Хаотично, бывали перерывы по 2-3 недели. Потом как-то собрался и целенаправленно изучал.
>сколько откликов и собесов до получения работы?
Где-то 300 откликов, из них 3 собеса, 1 оффер.
Бля, написал это и как вспомнил, я реально долбоеб какой-то. До 30 жил с мамой, социально деградировал, тогда тянок тоже не было. Пиздец как-то стремно стало, пока все жили, что делал я?
https://codesandbox.io/s/pedantic-wozniak-zl80su?file=/src/index.js
Держи анон, это максимально умный способ который я смог нахуячить. Умнее хз даже есть или нет.
>>501679
>До 30 жил с мамой, социально деградировал, тогда тянок тоже не было. Пиздец как-то стремно стало, пока все жили, что делал я?
А в чем проблема-то?
>Бля, написал это и как вспомнил, я реально долбоеб какой-то. До 30 жил с мамой, социально деградировал, тогда тянок тоже не было. Пиздец как-то стремно стало, пока все жили, что делал я?
Сейм, те же чувства щас убивают просто.
>>501681
Проблема в отсуствии жизненых экспириенсов, бро)
ты знаешь, что зумеры ебутся с 17 лет уже по 10 раз на дню? и так всю жизнь? Как думаешь, есть ли люди, которые сожалеют о том, что они всю молодость ебались и тусили, а не сидели в интернете играли в игры/читали чтото?
Очевидно, никто не будет жалеть об этой рейвинг-молодости, которой вот у нас не было. Теперь только компенсировать в 30 то, чем должен был быть период 16-25. Хз как коупиться с этой мыслью.
> Проблема в отсуствии жизненых экспириенсов, бро)
Нахуй они тебе нужны? Попытаться наполнить свою бессмысленную жизнь эксприенсами? Дрочи математику и программирование, в перерывах между спуском спермы в пизду тянучки и всё.
> Как думаешь, есть ли люди, которые сожалеют о том, что они всю молодость ебались и тусили, а не сидели в интернете играли в игры/читали чтото?
Да, встречал таких. Люди без стержня.
> Теперь только компенсировать
Не компенсируй, это попытки сбежать от себя.
> Хз как коупиться с этой мыслью.
Чел, епта. У тебя задач допизды. И у меня тоже. Делать нужно, а не ныть. Правда мне нужно придумывать новые алгоритмы и это ПИЗДЕЦ КАК БЛЯДЬ СЛОЖНО, у тебя явно не такие задачи, так что пиздуй нах работать.
>Нахуй они тебе нужны? Попытаться наполнить свою бессмысленную жизнь эксприенсами?
Чеел) как раз таки наполнять свою жизнь программирвоанием и математикой это и есть бессмысленость.
Ты дрочишь свою карьерную леснтицу чтобы быть более валуебл в иерархии и в глазах тяночки, и все!
А у нормисов все это есть по дефолту.
То есть, ты должен плыть против течения с двойными усилиями, чтобы быть на ровне со всеми.
Конечно, у тебя из альтернатив только лечь и умереть, но вот отпустить эти мысли и больше не париться об упущенном прошлом очень хотелось бы - уж очень много занимает оперативной памяти это дерьмо. Не говоря уже о сенсорной депривации и о том, что каждый человек заслуживает внимания/любви.
>Да, встречал таких. Люди без стержня.
Кто блять сожалеет о веселом времяпровождении?
>Не компенсируй, это попытки сбежать от себя.
Нету никаких себя чел, есть социум, ты либо плаваешь в нем как рыба в океане, либо лежишь на берегу выброшеный и ноешь/умираешь в буквальном смысле. Никто не существует сам по себе. Я лично так это вижу. Нету сил уже на САМОРАЗВИТИЕ/КАРЬЕРУ. хз как так выгореть можно было.
>>501685
>>501693
Да в целом пох на время, просто понять не могу что со мной не так, почему к 31 году нет девушки? Не понимаю как так деградировал, если до 23 был как-то активным еще, а потом сычевание, алкоголь, жизнь с мамой до 30...
Просто хуево, особенно когда видишь на работе молодых спецов 25 лет, кто скиловее тебя, реально шарят ребята и при этом не задроты, у них красивые бабы, есть личная жизнь и тд. Это пиздец как обидно, даже проскакивают мысли подлянку на работе сделать, уволиться.
Какая подлянка на работе, чел, спок.
А что непонятного? Ты болен ментально, и все. Ходи к психотерапевту и пытайся let it go. Все, опций нет. Время только вперед идет, начало не поменяешь, конец - можно.
И завидовать хватит)
Вообще да, но там вариации в частностях. Дерево недавно сделол с правильными ссылками на сущности. Сейчас ебаные евенты в парадигме DOD пытаюсь сделать. Там разделение частей идёт, которые в цикле рендера вне, через евентов с псевдоакторами. И многопоточность. Некомфортно.
>>501693
>Чеел) как раз таки наполнять свою жизнь программирвоанием и математикой это и есть бессмысленость.
Нет, ведь тогда у тебя будет хоть что-то из умений которыми ты можешь менять мир.
>Ты дрочишь свою карьерную леснтицу
Свои проекты делаю.
>чтобы быть более валуебл в иерархии
Нет, чтобы создать собственный завод.
>Кто блять сожалеет о веселом времяпровождении?
Люди без стержня в жопе.
>Нету никаких себя чел, есть социум, ты либо плаваешь в нем как рыба в океане, либо лежишь на берегу выброшеный и ноешь/умираешь в буквальном смысле. Никто не существует сам по себе. Я лично так это вижу.
Ну да, социум. И что? Работать пиздуй и свои скилы улучшать.
>Нету сил уже на САМОРАЗВИТИЕ/КАРЬЕРУ. хз как так выгореть можно было.
Это опять оправдание своей лени и нежелания свою отсутствующую дисциплину пофиксить. Не буду мешать тебя оправдываться.
>Да в целом пох на время, просто понять не могу что со мной не так, почему к 31 году нет девушки?
А ты искал?
>Просто хуево, особенно когда видишь на работе молодых спецов 25 лет, кто скиловее тебя, реально шарят ребята и при этом не задроты, у них красивые бабы, есть личная жизнь и тд. Это пиздец как обидно, даже проскакивают мысли подлянку на работе сделать, уволиться.
Работай больше, изучай больше, развивайся, читай книги, найди себе смысл и цель. Перестань быть пассивным говном.
>Нет, ведь тогда у тебя будет хоть что-то из умений которыми ты можешь менять мир.
Так а мир ты не для социума меняешь типа? Чтобы себя почувствовать полезным?)
>Свои проекты делаю.
Круто!
>Нет, чтобы создать собственный завод.
Зачем, если не для иерархии и заработка денег?
>Ну да, социум. И что? Работать пиздуй и свои скилы улучшать.
Ну тут прав, наверн.
>Это опять оправдание своей лени и нежелания свою отсутствующую дисциплину пофиксить. Не буду мешать тебя оправдываться.
Чеел) если бы люди знали, как свои проблемы преодолеть, никто бы не задавал вопросов и все были бы успешные.
>Тоже думал об этом. Но как-то стремно говорить тетке что тебе 31 и у тебя нет девушки, и непонятно почему.
Блять какая разница че о тебе подумают, это твоя судьба и жизнь, и твои проблемы, которые ты пытаешься пофиксить с чужой помощью, и готов за это заплатить еще. Пускай люди, заточенные на решение этих проблем этим и занимаются. Ты листва? Я - да, тоже ебет щас это почему-то, хотя раньше похуй было.
>Так а мир ты не для социума меняешь типа? Чтобы себя почувствовать полезным?)
>Зачем, если не для иерархии и заработка денег?
Для себя и для важных для меня людей, конечно же. И в целом это интересно, доставляет кайф, атмосфера, всё такое.
>Ну тут прав, наверн.
Конечно прав. За работу.
>Чеел) если бы люди знали, как свои проблемы преодолеть, никто бы не задавал вопросов и все были бы успешные.
Да, вот тебе решение проблемы - иди работай и повышай свою дисциплину. Начинай прямо сейчас.
>>501702
>Как-то пытался знакомиться, были отказы. Потом хиккование.
Иди сначала на сраную работу, заимей побольше денег, заимей цель улучшить свои навыки в программирование, алгоритмах и С (чтобы крутым быть, девушки любят людей которые на си программеруют) и всё нормально будет, базарю.
Может придумаешь какой-нибудь свой проект и станешь бохатым и свой проект развивать будешь.
>Да, вот тебе решение проблемы - иди работай и повышай свою дисциплину. Начинай прямо сейчас.
Чел, я работу ищу и паралелньо вкатываюсь, и не с кем не общаюсь, кроме двачей, где мне еще долю социализации заиметь?
Никто не может 24\7 учиться/импрувиться, нужен отдых. Вот я и пытаюсь отдохнуть, паралельно ищу ответы.
>Ты листва? Я - да, тоже ебет щас это почему-то, хотя раньше похуй было.
Не листа, но отношений с тян ни разу не было. Из-за этого думаю что со мной что-то не так.
Стремно было еще что ХР на работе спрашивала про личную жизнь, видать заметно это все.
Вот ещё упрощённая хуйня и хуйня без выебонов и всяких интерфейсов.
Мне не нравится ебучее условие. Сделать это ещё умнее - это избавиться от этого ебучего условия, оно руинит производительность. Но я тупой и понятия не имею как это сделать. Но как-то сделать явно можно, тут должна существовать какая-то магия.
Примерно такая же задача есть, но я даже не решал её и забил. Без всяких условий и ещё более производительнее это решается перестроением данных т.е. не в один массив складывать, а в разные массивы, в зависимости от того какие и как данные пришли. Работает если ты контролируешь поток данных. Нихуя это не написал правда, маняфантазирую.
>>501870
Нахуя сравнивать строки, если можно сравнивать undefined? Хз как там движок жс работает, но выглядит это как проверка типов или типо того, наверняка быстрее сравнения сраных строк.
Алсо, можно ещё так сделать. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining но я хз че там по производительности, лень проверять.
Перебор в смысле вот так сделать, без всяких условий получается.
Хуй знает, нужно посмотреть как там в V8 эти цепочки преобразовываются, может там какая-то сверхбыстрая проверка есть, хз как найти вообще отличия в производительности и байткоде.
>сравнивать undefined
У тебя в add методе нет проверки на тип fn параметра и в теории туда можно закинуть все что угодно, и в этом случае код будет падать
Что-то я не сразу даже это понял. Ну дя, так заебись будет, если есть подозрения на кривые руки.
Короче положняк такой.
if (rule === undefined) {} else {}; если нужно ловить отсутствие правил и маняфантазировать о производительности без пруфов.
if (typeof rule === "function") {} else {}; если нужно ловить отсутствие правил, писать лаконичнее и автоматически исправлять кривые руки, не париться об производительности.
rule[key]?.(i); если ловить ничего не нужно и хочется маняфантазировать о производительности без пруфов (ща пруфы поищу, но в гите v8 не понимаю как искать, реквестирую анонов).
Так бля. Опшионал чайнинг генерирует хуету.
if (rule[key] !== undefined) {} будет явно производительнее этой хуеты. Ну и if (typeof rule === "function") {} если чуть снизить производительность на полторы наносекунды (а может и гораздо больше), при перечислении массива размером в тысячи будет влиять.
>явно производительнее
В чем смысл так беспокоиться о производительности? Если ты не выполняешь код в цикле десятки тысяч раз, это просто бессмысленно
Это нормально вообще-то, ресурсы не бесконечные, доступ к памяти конечен, а каждая инструкция снижает заряд батареи.
И это код в цикле так-то. У меня вообще никаких проверок не будет в такой ситуации, ибо данные постараюсь сформировать правильно, ещё и цикл буду разворачивать вероятнее всего.
Игры и йоба-приложения с 3d по парсингу данных. Вернее сейчас фреймворк пытаюсь сделать для этого всего.
Да и вообще это просто хорошая практика, писать простой, понятный и эффективный код.
>>501750
Короче держи анон, первый пик максимально производительная версия, но не очень удобная. Второй пик это версия с интерфейсами, но с одним лишним вызовом функций, очевидно, что очень незначительно по сути.
Пиздатый паттерн получился, вряд ли пригодится, конечно.
На втором пике this.rule проебан в use(), кста.
>писать простой, понятный и эффективный код
Тогда почему не используешь нативный Map, а пишешь его аналог, который десять раз медленнее будет работать?
В общем какая ситуация: у меня есть страница с роутом типа "/product/:product_slug", я делаю такую штуку чтоб типа админ мог отредактировать информацию на этой странице, то есть там есть кнопка, при нажатии на которую открывается модальное окно с полями и оно отправляет патч запрос, если он успешен, то снова запускает функцию, которая фетчит информацию с сервера об этом товаре, чтоб типа обновилась информация.
Ну вот, но суть в том, что у меня сервер автоматически генерит слаг на основе названия и если я меняю в этой форме название, то слаг уже недействительный получается. Как я могу заменить в адресной строке урл с типа site.ru/product/product1 на site.ru/product2?
Я нашел в документации вроде как прям такую штуку https://router.vuejs.org/guide/essentials/dynamic-matching.html#reacting-to-params-changes но оно как-то говено работает. То есть оно работает как надо, но когда я ухожу с этой страницы товара, на какую-нибудь вообще другую, то этот вотчер тоже срабатывает и отправляет запрос /product/undefined.
Ну я написал так, пикрил. Я бы вообще хотел прост взять и перейти на страцицу с новым слагом, но типа так нельзя делать, да? Типа если я делаю роутер пуш на тот же роут, то оно не работет и надо вот так ебаться, я правильно понимаю?
>site.ru/product/product1 на site.ru/product2?
Используй id, который никогда не меняется
site.ru/product/1
Раньше все ок было, теперь выебуется.
Я понимаю что он там хочет пробел, но я не хочу 1000 строк редактировать ради этой дуры.
Парсел кстати нормально собирает, без выебонов.
Ну так не красиво как-то выглядит типа. Какой-то блин дебилизм просто, хренли нет просто функции, которая перейдет по адресу епта, не трахая мне мозги типа не хочу перезагружать тот же роут. Пусть перезагрузит, я согласен.
Можно использовать this.$router.push(), но у тебя будет ебанутая история в браузере и когда он нажмет кнопочку "назад", ты его отправишь на невалидную уже страницу. Как раз это и есть некрасиво, а вот использование id = база
Если ide показывает ошибку, а компилятор нет, значит они используют разные правила для проверки синтаксиса (линтера). Ищи как его настроить
Ну так пуш не работет вроде по причине, которую я описал. Так-то там есть реплейс, который не сохраняет историю, но он тоже не работает.
Ну слаги использовать - это же нормальная штука, на всех сайтах таких, где товары какие-то есть, всегда слаги. Вот я так тоже сделал.
При просмотре товара - да, но ты вроде админку пишешь + нередактируемый слаг - это моветон и часто он является просто одной из настроек, для того, чтобы можно было СЕО настраивать. Зачем он тебе в админке - я хз
>>502095
Вот тебе пример с озона
https://www.ozon.ru/category/testery-dlya-kompyuternyh-komplektuyushchih-35299/
Вот те циферки в конце - это id товара и он неизменный, а
>testery-dlya-kompyuternyh-komplektuyushchih
можно менять на что угодно
>>502099
Ну блен, мне там тогда дохера чего на бекэнде переписывать надо чтоб оно с айди работало. Там не админка, а просто обычная страница, но кнопка редактирования только для админа показывается. Ну в принципе как бы не критично да, потому что обычный пользователь в такую ситуацию не попадет.
>Там не админка, а просто обычная страница, но кнопка редактирования только для админа показывается.
КРАСИВО
А как это будет работать, если, например, будет добавлено два товара с одинаковыми названиями, но разным описанием?
Ну слаг делается из названия бренда + название товара. У одного бренда не может быть товаров с одним названием. У брендов не может быть двух брендов с одинаковым названием.
Супер странное ограничение. Ты это как петпрожект пилишь или на продажу? Или на дядю работаешь?
Пет. Ну плюс вдруг мб понравится кому, а то анаговнет.
А че странного? В одном бренде и не должно быть одинаковых названий товаров. Это сайт для отзывов про жидкости для вейпа. Бренд - это название линейки, название - это название вкуса. Если в один бренд добавят два одинаковых названия, то это дубликат будет.
>А че странного?
Ты додумываешь за продавца, что и как там должно быть. URL адрес страницы плотно используется в seo и ты заставляешь менять название товара просто чтобы эксперементировать с url
>В одном бренде и не должно быть одинаковых названий товаров
Выше уже написал почему может быть
>Это сайт для отзывов про жидкости для вейпа
Представь, кто-то сохранил ссылку на страницу с отзывом, а потом раз и url меняется, просто потому что там была опечатка в названии или что-то такое
Мил чек, а ты как данные хранишь? На бэке есть бд или ебёшь фс на каждый запрос?
За какого продавца? Это мой сайт я тут один нахуй
Ну и так-то слаг можно поменять в админке вручную. Это если название поменять, то поменяется слаг.
>Представь, кто-то сохранил ссылку на страницу с отзывом, а потом раз и url меняется, просто потому что там была опечатка в названии или что-то такое
Ну да, значит и в слаге опечатка была. Это не так уж часто должно происходить. Просто че мне нужно самому слаг вручную вводить каждый раз? Или ещё хуже, пользователю? (у меня есть предложка типа, где пользователи могут добавлять на сайт жижи)
>Ну да, значит и в слаге опечатка была
Ну все, ссылки, которые люди себе сохранили и выложили на свои сайты теперь 404. Зато опечатку исправили
>Ну так если название нужно будет поменять, то слаг тоже изменится энивей?
Смотри как это работает:
Допустим, ты добавляешь жижу и генерируется url вида
>sire.ru/item/super-puper-jija-123/
"super-puper-jija" - сгенерированный слаг
"123" - ид в базе
Когда человек переходит по ссылке ты даже не смотришь что там у тебя в слаге и сразу же берешь только id === 123 и загружаешь данные по нему. Даже если кто-то перейдет по адресу
>sire.ru/item/hui-zalupa-123/
Ты все равно загрузишь товар под ид 123
Понятно?
Тогда какие проблемы с работой с айдишниками может быть, если база нормализированна и в ней все элементы имеют ключ-уид?
Ну хз, я смотрел на сайты вейпшопов самых топовых, везде просто слаги используются. Я это делаю просто для своего удобства, чтобы не лазать в админку джанговскую, когда кто-то добавил жижу новую, а прям на месте мог что-то исправить. Подразумевается, что я это исправлю ещё до публикации или вскоре после неё и больше не буду трогать (если не админ добавляет жижу, то она не публикуется сразу, а я её должен одобрить). Ну и плюс мб в будущем добавлю модераторов, у которых не будет доступа в админку офк.
>>502160
Ну типа чтоб урл был красивый а не просто с цифрами, лел. Я прост смотрел на других сайтах подобной тематики, везде так.
Я тебе просто озвучил проблему: любая смена названия товара делает ссылку, которая была до этого невалидной. Это может быть критичным. Также я тебе предложил решение, но ты можешь придумать свое
Если на тех сайтах не как на Озоне/Али, где главное в адресе это айди, как говорит >>502158, то это значит, что, скорее всего, магаз наполняется вручную контент-манагером и адреса страниц определяются им же. Чтобы сделать универсальный маркетплейс, тебе придётся либо привязываться к айди, либо курить редиректы, реез-статусы (301 в твоём случае) и блокировать создание новой страницы по ранее использованному адресу, чтоб по ресту.
Пока как костыль можешь использовать router.replace().
Алсо держи идею: вместо фетчинга инфы просто фиксируй изменения карточки на фронте и показывай идентификатор обновления патч-запроса - если успешно, меняешь на галку, если ошибка, то выводишь кнопку повторной отправки.
Проснулся рано. На работу пришел на час раньше. И начал тупо ебашить, 4 часа без отвлечений хуярил, доделал таску и сразу на дейлик, там похвалили. Весь рабочий день на позитиве в общем.
С работы решил на трамвае поехать, на улице дождь. Захожу, заметил двух тянок, нормальная внешность, симпатичные, видно что не гламурные, но красивые, пересеклись взглядами и бля, как же мне плохо стало, что-то в животе прожгло "Вот же он шанс, вот оно", в итоге стоял и палился в окно всю дорогу, и мысли что нихера не будет, что я долбоеб 31 летний.
Ваще нет мотивации работать, мысле "и че толку с этого ИТ?"
Реально как задрот какой-то, айти, айти.
Страшно что я всю жизнь так и проживу, нихера не сделав...
Ну еслиб я вкатился, то тянку бы моментально нашел. Я и сейчас могу подкатить, но я сразу сливаюсь, потому что чмом работаю и мне стыдно вообще с женщиной разговаривать.
В чём трудность? Регистрируешься в тиндере каком, в соц зайди на крайний случай. Списываешься с бабой, зовешь гулять в кафе какое-нибудь или бар пиздатый. Говоришь там, что ты ойтишник и всё. Че ещё надо? Лучше в бар чтоб пизделось нормально, а то будешь молчать как даун. От пары пивасов язык подразвяжется. Купи там одежду нормальную, ты же айтишник. Даже я могу купить неплохую и с тянками гулять, хотя у меня зп 30-40к. Квартиру сними, ты же айтишник, че у тебя нет на аренду? У меня-то от бабки, но был бы я айтишником, ещё бы ремонт сделал пиздатый. Хотя и так никто не смущался.
Ну вот погуляешь с ней, потом в следующий раз зови к себе домой кино смотреть (ты же айтишник и у тебя есть деньги на большой телевизор и диван). Там и поебетесь, ну или прост пообнимаетесь хотя бы.
Такой манямир. Если ты не интересен как человек, то никакая, даже самая лучшая в мире работа, не сделает из тебя другого человека
Ну тогда хуйня получается, да. Унаследуй интерфейс для session и определи свой, в котором есть свойство user, ну и, конечно, используй его вместо стандартного. Я хз как это там вообще происходит, так как ты код не принес, но лучше всего, если ты используешь ts, все же пользоваться им, а не писать такие вот костыли
Я вот так уже сделал 1 пик лол, но этот засранец ругается
А нахера тебе быть другим человеком? Женщин вообще-то примерно столько же, сколько и мужчин. Найти бабу - это не в лотерею выиграть, это просто обычная потребность и у каждого нормального человека есть такая возможность. Чтобы понравится женщине, нужно оказывать ей внимание и развлекать её. Это как друг с пиздой и всё. Если ты даун-аутист, но при этом айтишник, то не проблема, просто зови её в интересные места, где тебе не нужно будет из своей башки её развлекать. В красивый ресторан, на концерт, в кино. То есть ты как бы компенсируешь свой аутизм деньгами. Если ты не наркоман, не алкоголик, без психиатрического диагноза, добрый, имеешь нормальную работу, то ты уже епта лучше огромного количества мужчин. А если ещё при этом и не урод (что намного менее критично и легче пофиксить, чем бабе), то блядь ты лучше 90% конкурентов.
> Тогда почему не используешь нативный Map, а пишешь его аналог,
Мап медленный. Очень.
> который в десять раз медленнее будет работать
Такое невозможно, по причине невозможно. Мап это надстройка над объектами, она не может быть быстрее объектов.
Ну если ты без нормальной работы, то ты уже не сильно лучше огромного количества мужчин, лел. Не можешь компенсировать аутизм деньгами.
Ты уже не сильно лучше только потому, что допускаешь такие мысли
>Это нормально вообще-то, ресурсы не бесконечные
Большинство ресурсов отжирается на загрузку самой страницы в своём контексте. Если нужна производительность, то тебе надо копать в сторону воркеров, а не дрочиться с сортами цикла.
>доступ к памяти конечен
На уровне клиентского скрипта доступа к работе с памятью нет, плюс твои пропуки - капля в океане, создаваемом рекламными модулями.
>>501956
>понятный
>эффективный
Выбери одно. Любая залупа с for циклами - априори непонятное говно с сайдэффектами и без типизируемой сигнатуры. А ты ещё и ООП говнеца поверх накинул.
В нынешнем году только ассинхронный for котируется, так как ассинхронные методы массивов не завезли.
1. Обновляем страницу
2. Инициализируем хранилище
3. Через несколько секунд запускаем супер простой тест
Результаты пикрил. Каждый тест выполнялся изолированно
Сейчас немного тесты сделол, геты выполняет быстрее на недавнем обновлении. На старой ноде наоборот.
Вероятнее всего они переписали всё что относится к мапе и теперь это не объекты, а отдельный слой данных? Хуй знает, раньше оно точно использовало объекты.
Тогда ты прав в целом, но у тебя на пике хуйня, у меня в 2-3 раза геты и сеты мапы быстрее объекта.
Заебись тогда, перепишу половину своего говнокода на мапы вместо объектов.
У меня на работе методичка есть и мы там давно уже упоминаем Map/Set в контексте высокой производительности + на кодревью все узкие места на него переписываем
Хуй знает когда это случилось и не понимаю схуев это произошло. Это же объекты, как они могут быть быстрее чем мапа?
У них переменные это какие-то элементы класса в C++, должны работать в fast mode буквально на уровне си.
Мне нужно отойти, но вот куда можно копать: на пиках байт-код, который генерится из код (тоже будет на пиках). Там где байт-кода больше - это Map, там где поменьше - object
В исходниках V8, насколько я понимаю, можно найти то как интерпретируется каждый код
> уменьшение кол-во вычислений нинужно
Типичный дрочер на фор циклы. Оно и понятно, переписывать своё говнецо на многопокпок - слишком сложно. Ещё сложнее - всё это тестировать. Плюс какие-то ещё типы и сигнатуры шизики заставляют писать. А фор луп хуяк-хуяк и циферки в консоли, как прадеды писали на Си.
>>502380
Да это же очевидно, почему быстрее: мапе не нужно по всей цепочке наследований итерироваться ради нахождения свойства. Тут надо сравнивать словарь с миллионом ключей против мапы с миллионом ключей.
В старых версиях она может и была объектом, как сейчас методы timersPromises.scheduler - простые обёртки над setTimeout().
Очевидно что это что-то с StaNamedProperty, который проверяет на корректность или защиту или что это вообще. Т.к. в мапе свойствами может быть что угодно - проверять корректность не нужно. Но вроде как раньше LdaNamedProperty было в объектах.
Нехуя сложная мотематика.
>Типичный дрочер на фор циклы.
Ну дя, я.
>Оно и понятно, переписывать своё говнецо на многопокпок - слишком сложно.
Ты имеешь ввиду воркеры что ли? У меня они есть уже давно, но там передача из воркера как дерьмо выглядит, у них же нету даже общих буфферов, не? Если есть то конечно прямо сейчас начну перепердоливать.
Не, я конечно функциональненошизенько, асинхронно и с поддержкой воркеров хочу ебануть систему евентов/мессажей/сигналов, но до сих пор не понял как это сделать.
>Ещё сложнее - всё это тестировать.
Зачем тестировать? У меня нет ошибок.
>Плюс какие-то ещё типы и сигнатуры шизики заставляют писать.
Для криворучек.
Так есть так критично к скорости выполнения, то зачем вообще js использовать? Он же не для этого. Возьми что-то, что и в многопоток удобно умеет и быстрое (Go?)
Ну в таких случаях надо делать на back и front. Собирать данные прямо в браузер - это просто неприлично. А что произойдет, если задача прервется? Данные же не сохранятся
>Не, я конечно функциональненошизенько, асинхронно и с поддержкой воркеров хочу ебануть систему евентов/мессажей/сигналов, но до сих пор не понял как это сделать.
Я про это и говорю: дрочить на семантику синхронных циклов намного проще, а воркеры слишком сложно и непонятно.
Всё это есть, данные на сервер отправляются вполне корректно. Но это всё равно всё медленно, много всякой залупной хуйни есть, например реднеринг шрифтов. Он есть в воркере как либа, нужно переписать его.
>>502423
Ладно-ладно, хорошо. Воркеры простые довольно, делал раньше простые мессажи и сигналы на них. Оче медленно. У них же sharedarraybuffer есть, забыл даже про него после того как его отключили нахуй на два года, да, нужно попробовать с ним поработать.
Но как построить евентовую мультипоточную и асинхронную систему всё ещё хуй знает, ты лучше предложи как.
>Оче медленно.
Ясен хуй медленно в консоли, так как это типичная ассинхронная многопоточная залупа, приправленная браузерной паранойей поверх.
Но сам подумой, что быстрее - пробегать твой сверхважный цикл на каждой странице (которые все на главном покпоке работают), или пробегать его на воркере, а на потребляющие страницы отправлять джейсоны/буферы?
>Но как построить евентовую мультипоточную и асинхронную систему всё ещё хуй знает
Воркеры по дефолту на других потоках работают и взаимодействие с ними ассинхронное, так что пиздуй свою прослойку писать для менеджмента неймспейса операций с воркерами. Заодно и поймёшь нужность типизации.
>это типичная ассинхронная многопоточная залупа, приправленная браузерной паранойей поверх.
Ну так-то если в шаред писать то это очень быстро. Просто немного синхронизации и всё.
>Но сам подумой, что быстрее - пробегать твой сверхважный цикл на каждой странице (которые все на главном покпоке работают), или пробегать его на воркере, а на потребляющие страницы отправлять джейсоны/буферы?
У меня уже так. Кроме системы сообщений, офк, просто немного синхронизации накинуто.
>так что пиздуй свою прослойку писать для менеджмента неймспейса операций с воркерами.
Действительно. Можно просто погуглить что там другие высрали, наверняка будет несколько пиздатых паттернов.
>Заодно и поймёшь нужность типизации.
Нинужно.
>Пока как костыль можешь использовать router.replace()
Ну кстати да, оно меняет урл в адресной строке. Но this.$route.params.brand_slug остается старым. Выходит остается прост заменить данные из ответа патч запроса на новые.
В 3d объектах, текстурки делаю, пребразование CSS выходят гораздо хуже. Но думаю это явно нужно нахуй выкинуть, слишком много ресурсов.
А как это происходит? Почему не использовать простую схему, когда ты отрисовываешь текст с заданным шрифтом на canvas и его уже используешь. Как ты его вообще там рендеришь?
Редакс не нужен с появлением контекста.
Неконтролируемые компоненты легаси-рак и при правильном написании компонентиков не нужны.
В функциональных компонентах можно использовать много разных стейтов, но в классовых только один.
Аналогично в функциональных компонентах можно нахуячить много эффектов под разные переменные, а в классовых только один общий коллбек с лестницей ифов на разные свойства стейта/пропсов.
Как такового SSR искаропки нет, когда запускаешь билд с ключами и датасетом и получаешь пачку статики, нужен именно сервер типа Экспресса или Неста.
Всё так?
> А как это происходит?
> Как ты его вообще там рендеришь?
Передаю все параметры по которым нужно отрендерить текст, рендерю на проце, получаю несжатые ргб данные, меняю uv если нужно, пиздует всё в буфер видяхи, обработка шейдером, текст. Это один из вариантов, там больше вариантов есть и больше схем работы. Ещё предстоит всё стандартизировать и переделать.
Лень даже вспоминать даже, нужно об евентной системе думать, она сложнее чем ссаный текст рендерить.
> Почему не использовать простую схему, когда ты отрисовываешь текст с заданным шрифтом на canvas и его уже используешь.
Кал говна, а не текст получается, очевидно. И кроме этого много проблем, канвас очень медленный пиздец просто.
>Кал говна, а не текст получается, очевидно
В смысле разрешения не хватает?
>И кроме этого много проблем, канвас очень медленный пиздец просто.
Наоборот быстрый же, так как там код на С, а у тебя реализация на js, насколько я понял
Хелпаните последний разок молю.
Реализую вложенные комментарии, древовидные.
Мне надо чтобы после фетча элемента по айди рендерился компонент <CommentsKid/>
При моём способе как на 1 скрине у меня сайт ложится, причем как всегда нихера не понятно что за ошибка.
Так, как я делаю, это неправильно? в чем ошибка
Вынеси итем в отдельный компонент со стейтом, в который через сетСтейт будешь устанавливать в .then данные фетча по айди из пропсов.
Ок, попробую, спасибо
Я короче так сделал.
То есть там в data должен объект который хранит данные с фетча, но нихуя не работает и всё валится.
аааааааааааааааааааа
> будешь устанавливать в .then данные фетча по айди из пропсов.
этого я не понял если честно что это значит
Разобрался, надо было сначала отфетчить потом в зене за сетстейтить. утром лучше думается
Оно работает, но вешает нахуй мой ПК.
Я вроде-бы даже кулдаун добавил чтобы оно не вешало, но всё равно всё зависает.
Как это правильно делается?
вот код:
https://onecompiler.com/javascript/3ymnxqurx
>В смысле разрешения не хватает?
Потому что канвас не даёт такого контроля который даёт собственный код. Субпиксельный рендер, например, различные размытия и прочая чушь. Канвас в такое не может.
>Наоборот быстрый же, так как там код на С,
Не, там падает производительность когда дохуя элементов и текста. Может там чо исправили уже, но хуй знает, вряд ли.
>а у тебя реализация на js, насколько я понял
Жс сравним в си в численных задачах по заполнению буфера, если чисто числодробилка.
Мань, любой субпиксельный реднер выполняется на цпу. И хром тоже делает на цпу и мозила тоже и шинда и даже макось. Таковы особенности рендера субпиксельной хуйни.
А, забейте, вроде понял:
https://onecompiler.com/java/3ymnzf87h
Вероятно это можно было бы сделать значительно компактнее, но главное что работает
>Мань, любой субпиксельный реднер выполняется на цпу. И хром тоже делает на цпу и мозила тоже и шинда и даже макось.
Дада, ты просто не можешь использовать ГПУ для рендера твоей суперважной субпиксельной хуйни.
Действительно работает.
А мне казалось что в случае с асунком он запустит по потоку на каждую кнопку, на каждой будет отдельный кулдаун и ничего не сработает.
Буду ещё изучать как оно работает, я читал, но сложилось другое представление :/
Я и говорю, что у тебя пиздец какой важный субпиксельный код в браузере, что сами законы вселенной не позволяют писать что-то сложнее фор лупов в основном потоке. Ну или ты просто поехавший пердолик со стокгольмским синдромом от Си.
Асинхронность это не многопоточность, читай про эвент луп. А асинк эвейт нужны чтобы писать асинхронный код так, как будто это синхронный код.
>субпиксельного рендера
Что это вообще значит? Гуглится только это https://en.wikipedia.org/wiki/Subpixel_rendering
Именно что гуглится то и значит. Рендер в соседних пикселях в разных цветовых пространствах.
Это просто одна из небольших задачек, похуй вообще на это, обычный субпиксельный рендер.
Да, это через атлас, там цвета не сохраняются. Сравни с тем что на вики написано, например.
Да не похуй? Это просто был пример в котором нужно на цп что-то делать, таких примеров дохуя и оптимизация там требуется явно.
В любом клиентский код не получится писать функционально и с неизменяемыми данными - I/O требует сохранения состояния. Тут лишь вопрос в том как это всё правильно синхронизировать для мультипотока и с какого момента начинаются асинхронные функции.
>Зачем писать что-то сложнее for и while?
Конечно не надо, ты же особенный. Как кривая вилка по сравнению с прямой.
>Это низкоэффективно, больше кода, больше вызова функций, сам код гораздо объемнее.
Это как раз про for и while.
>Зачем ты хочешь делать больше работы, если можно меньше?
Да я уже имел опыт работы с одним пердоликом, который "писал меньше кода". Всё было "просто и понятно" без всяких типов, и поэтому контекст фронтовых шаблонов нужно искать в файлах миграций, а циклы уходили на 7 уровней вложенности, в которых одновременно крутились хттп/БД/фс запросы, с потугами обрабатывать ошибки всего этого прямо в цикле. Дебаг любой проблемы правда как минимум месяц занимал и он каждый год переписывал огромные куски кода, так как сам не понимал, как он работает.
>>503087
>Да не похуй? Это просто был пример в котором нужно на цп что-то делать, таких примеров дохуя и оптимизация там требуется явно.
Мопед не твой, ты просто назвал словечко, которое услышал?
>В любом клиентский код не получится писать функционально и с неизменяемыми данными - I/O требует сохранения состояния.
Пошли манявры говнокодера.
>Тут лишь вопрос в том как это всё правильно синхронизировать для мультипотока и с какого момента начинаются асинхронные функции.
Для этого нужно организовывать систему дискриминированных юнионов, а это уже типизацией попахивает.
Зачем ты это всё пишешь?
Лучше напиши паттерны для системы сообщений или какую евентную систему, функциональную, асинхронную. Ты же знаешь как создавать что-то подобное, верно?
Лол, я в 28 тоже начал пытаться вкатиться. Сейчас 32 и нихуя не вкатился.
Потому что не пытаться надо, а вкатываться. ИТ - это такая же профессия как и все остальные и надо просто обучиться
В каком таком? Главное чтобы задачи решал, которые ему дают, похуй сколько ему там лет
Голова, возьми на работу.
А как ирл? Не берут, значит по проф навыкам не подходишь
Ты просто пиздабол прочитал мой вопрос и вывел логическую хуйню или реально знаешь?
планировал 1-2 пета сделать на реакте и аплаится на все вакансии мира
Да
Что он делает, если очень простыми словами?
Например, если я хочу сделать подпись для каких-то данных, я делаю тупо так:
crypto.createHash("sha256").update(myData).update(secretKey).digest("hex")
чем это отличается от
crypto.createHmac("sha256", secretKey).update(myData).digest("hex")
?
Hmac как-то более сэйфово вмешивает ключ в данные или чо?
Блять, там чтото интересное ваще будет или нет? Нахуя я это все учу
Неужели вся работа будет работой с формами, сортировкой, получить какуюто инфу через фетч а потом ее отобразить на сайте? Бля, ну хуй знает. Может ваще кто сказать какие у вас задачи были на работе из последних? Мне лень даже туду лист писать, как же сложно из головы каждую строчку доставать, вспоминать зависимости, типы данных. РОТ ЕБАЛ. МОЖЕТ СТЕК НЕ МОЙ ПРОСТ?
>учит язык для отрисовки данных в бровзере
>жалуется что нужно формочки шлёп-шлёп
Чел, ты…
Чего ты хотел? С нейронками играться или с криптой? Тогда тебе не сюда. Точнее, с криптой тут тоже можно взаимодействовать, но без базы ниасилишь.
Весь говнокодинг это про обработку информации.
Зачем меня учат методу фильтрации данных в теге option, если весь подобный код уже написан тыщу раз в раных проектах? буквально нужно заучить сниппеты, и знать в каком месте исправить название переменной и куда вставить это все. Это действительно все? Ну и откуда я мог знать, какой это язык, не начав с ним знакомиться. Познакомился - сделал вывод, интересуюсь теперь, правильный ли?
Я не знаю чего хотел, хотел разбиораться в чужом коде, копировать его, и для своих нужд каких-то использовать. Ну и думал что сайты писать круто. Ну, 2 года назад так казалось, сейчас уже не кажется. Воистину деньги платят людям здесь за то, что они готовы терпеть это дерьмо, готовы аутировать перед моником. Ну, может это не так уж плохо, но мне чего-то не хватает, чтобы проглотить эту концепцию и успокоиться.
Тебя обучают базе, чтобы ты от сложности с ума не сошел. Хочешь рокетсаенс? Ну зайди на гитхаб и посмотри что там люди делают в интересных проектах: кто-то с графикой работает, кто-то по перформансу упарывается (да-да, в браузере), кто-то еще что-то делает. И если чувствуешь, что готов им составить уже конкуенцию, то иди и составляй, тебе много денег заплатят
Чем занимается сеньер тогда, если джун/трейни будет заниматься сортировкой поисковой строки?
Это делается за 10 минут, зачем нужны такие рабочие руки?
Смотря о чем мы вообще говорим. Например, в компаниях типа рога-копыта вообще не нужны сеньоры, там и крепкого мидла достаточно, который знает что и как применять, чтобы не наделать говна. А вот сеньоры - это уже про проектирование и создание качественного продукта. Если нужны примеры, просто зайди на figma/miro и посмотри что там фронтендеры-сеньоры наворотили.
>Если нужны примеры, просто зайди на figma/miro и посмотри что там фронтендеры-сеньоры наворотили.
Add frames from Figma onto a Miro board that's seamless for every team member to access and use ― making it simple to brainstorm and collaborate cross-functionally on your designs.
ну и что это? зачем это придумано? была фигма, все пользовались, челы сделали мод для фигмы, которая ЧТО? упрощает ЧТО?
ну написали это фронтендеры, ок, я даже не буду пытаться понять насколько сложно это было сделать, да и не важно это
тебя вот это вдохновляет хочешь сказать?
Ты спросил что делают сеньоры, я ответил. К чему ты это все вообще сейчас написал?
я уже ответил, что я не знал во что ввязываюсь, ты типа знал на берегу когда находился?)
ну и вопрос актуален еще: что вы находите в этом интересного
>ПРОСТО ЛЮБОПЫТНО
>пытаюсь понять все картину
>даже не буду пытаться понять насколько сложно это было сделать
Ghjbuhfk
>>502371
Короче епты бляяяядь. Провёл я тестирование. Лень было заморачиваться, так что какое есть.
На маленьких размерах различия в пользу объекта и массива минимальны. Время доступа от размера объектов нихуя не завсит. В целом мапа всегда медленне. Всегда. Минимум на 10-20%, максимум в два раза примерно. На удаление поебать вообще, в 2к22 году удаляют только дебилы.
Конечно это уебищно пиздец, просто ебучий доступ столько времени занимает. Ебануться просто. Какое же дерьмище ебаное, 11 микросекунд доступ к 70 объектам. Хуй знает даже, может нахуй эти объекты и нужно проверить сколько времени занимает аналогичный доступ к локальным переменным.
Жс-дрисня ещё один из самых простых недоязыков, по лёгкости близкий к пехопе. Если тебе
>сложно из головы каждую строчку доставать, вспоминать зависимости, типы данных
то кодинг в целом не твоё. Для работы с беком или десктопом нужно ещё больше всякой хуйни в голове держать.
Что в этом интересного? Мне в каеф делать интересные графонистые штуки, работающие в бровзере, т.е. практически на любом устройстве. Интересно переизобретать флеш.
Хз как тестировать, но очень интересно и непонятно получается. Ниже пикрил два теста над объектом:
1. Я закомментировал все кроме одного теста
2. По тому же принципу оставил два теста
Параметры запуска одни и те же, но смотри как меняется время выполнения первого теста (стабильно увеличивается в 3-4 раза когда в след за ним идет другой тест)
Предположу, что это хитрый v8 в случае, когда мы работаем с известным количеством элементов (которое меньше количества ячеек в объекте), просто инициализирует только часть обхекта
А вот и первое преимущество Map перед object - Map корректно обрабатывает ситуацию, когда внутри него заканчивается место: у меня поместилось 16 777 216 элементов и вылетел exception, который можно отловить через try-catch, когда как с object просто упала node с ошибкой
Это же браузер. В ноде измеряй, в браузере во-первых нельзя измерять временные промежутки, во-вторых ебучий компенлятор жс дохуя умён, а я слишком туп чтобы его наебать. Вот недавно всё было заебись, а теперь нихуя. Сейчас попробую ещё немного.
Тестирование жс впринципе очень сложная хуита.
>>504434
>Хз как тестировать, но очень интересно и непонятно получается.
Там ещё артефактов очень дохуя получается, да, непросто.
>1. Я закомментировал все кроме одного теста
По сути set в объектах делать нужно как можно реже. Да и нахуя вообще что-то делать, ради полиморфизма какого? Его можно через данные делать, а не через объекты, запись 5 интов явно будет быстрее чем такой полиморфизм.
А вот как раз гет гораздо чаще происходит и его нужно тестировать больше. Только я ебал и не понимаю что с тестом случилось, недавно он точно нормально работал в браузере.
>Предположу, что это хитрый v8 в случае, когда мы работаем с известным количеством элементов (которое меньше количества ячеек в объекте), просто инициализирует только часть обхекта
Не, там же случайный доступ идёт.
>>504443
>Map корректно обрабатывает ситуацию, когда внутри него заканчивается место:
Бессмысленная ситуация котороя никогда не произойдёт.
>Не, там же случайный доступ идёт.
Ну я о том и говорю, что когда нет случайности, компилятору известен диапозон с которым ты будешь работать, а как только подключается случайность, он уже весь объект инициализирует
Вот еще пару интересных скринов
У тебя выборки здоровые, ты поближе к реальному использованию тестируй, какие там у тебя объемы случаются в проде.
На скрине артефакты компилятора. Цифры туда-сюда измени чтобы оно примерно нормально отрабатывало. Внезапно, размер объекта и размер доступа видимо как-то там учитывается. Пиздец шиза конечно такое "тестирование".
Дело раскрыто!
Map работает быстрее, когда key - string и наоборот, object быстрее когда key - integer
>object быстрее когда key - integer
Но тогда вопрос: а зачем использовать object, когда есть массив?
>Но тогда вопрос: а зачем использовать object, когда есть массив?
Сам задал вопрос и сам отвечаю: когда индексы данных непоследовательны, например, если они сразу начинаются с 100000 элемента, например.
В общем, положение такое:
1. Map - если индексы не числовые
2. object - если индексы числовые и не последовательные
3. array - если индексы числовые и последовательные
Запомните и козыряйте этим на собеседованиях
Хуй знает, на стринги мне поебать, объекты, массивы и мапы нужны только как фасады с доступом по инту.
Осталось только наебать v8 и запустить в браузере тест, но не особо важно и лень вообще, ебал я в рот эти "тесты".
>>504454
>>504456
Всё так. И по сути массив это такой же объект и отличий нихуя. Хотя должно быть. А по факту нет.
> В общем, положение такое:
Ещё важно как можно более линейно доступ использовать и set и get. Работает и на массивах и на объектах. С хуев на объектах работает? Хуй знает. Ну и похуй. А ещё запись один и тех же данных быстрее чем их чтение, ну это только ленивый не знал.
Ещё осталось чекнуть лучше ли arrayBuffer в set/get 32 чисел чем массивы/объекты и локальные переменные vs this.
>и локальные переменные vs this.
Чет подумал и понял что дристанул под себя. Это вообще некорректно сравнивать и это впринципе не работает, вернее работает, но не так.
Удачи считать количество значений в объекте.
https://code.visualstudio.com/updates/v1_73#_rounded-corners-on-input-ui
Ну оживи его интересным разговором
Ну так подумай своей тыквой, в чём отличие в доступе к ключу мапы и ключу объекта.
>то кодинг в целом не твоё.
я тоже так думаю, ток не знаю энивей что с жизнью делать. думал на мотивации вкатиться куда угодно, но похоже это так не работает
ну или в продажи идти, все же не ток в айти бабло!
Ага, хэш-таблицы, производительность которых проседает, если использовать разные типы ключе. Держи в курсе
>Ага, хэш-таблицы, производительность которых проседает, если использовать разные типы ключе.
У объектов нет "разных" типов ключей.
А не, все норм, в другом месте обосрался
Нехуя, вкатун. Там хидден класс работает, а хэш таблицы работают только в слоу моде, когда ты там всякие ключи в стринге как-то мтуишь. Хз как и когда они включаются, в v8 проверка объектов через %HasFastProperties(). И в чмозиле, и в сасари есть аналогичные хуйнюшки, такие же хидден классы или ещё чего.
Вероятнее всего объекты просто так же оптимизируются хидден классом как и массивы, потому что массивы это те же объекты.
Хэш таблицы медленные впринципе, чобы обеспечить быстроту существуют всякие залупы и приколюхи в калмпиляторе.
https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
Алсо по производительности можно этого навернуть, но я прочитал блог v8 и нехуя не понял. Теоретически они там хранят инты в простом массиве и идёт простое сопоставление. Но что это значит понятия не имею вообще. Но смысл тут явно есть.
>когда ты там всякие ключи в стринге как-то мтуишь
Да ты что? И что же делает конструкция obj[var], сам догадаешься?
Чегоблядь? Речь не про obj[var], а про obj[1+"string"], смешение типов всякое, которое приходится разбирать компенлятору прямо при доступе к свойствам. obj[var], где var = 1+"string" не влияет вероятнее всего
Ты просто не в теме, анон. Под капотом там все намного сложнее, чем тебе это кажется
Можешь назвать, но зачем?
(function hui(){console.log(1)})()
Я кста придумал зачем, так можно рекурсию писать.
прекратите ломать жаваскрипт немедленно
что сейчас в конторах принято использовать для стилей в реакте?
столько всякой ебулды - styled Components, css in js, css modules, старые добрые препроцессоры
какой инструмент самый популярный?
Опытные кодеры уже догадались, что моя ошибка вместо обработки сразу улетает в последний catch, что делать с ней?
Сегодня как бы выходной, но офис открыт, да и еду там можно заказывать бесплатно, так что пошел.
В офисе были еще люди, социобляди собрались на кухне где весь день сидели и гагакали, было неуютно.
Отработал часов 5 утешая себя мыслями что я пришел работать, а не социоблядствовать (как же это нелепо пиздец)
По пути домой снова накрыло, куча красивых баб, куча всяких парочек счастливых, а я иду угрюмый, чувство что ничего такого не будет.
И нахуй работать?
Просто мотивация исчезает, работа, работа, айти, айти. Сука, до вката была бешенная мотивация, где-то в глубине души я думал, что если вкачусь, то и тянки появятся в моей жизни, что я начну жить по другому...
Как же хочется кричать, пиздец вы бы знали...
>Сука, до вката была бешенная мотивация, где-то в глубине души я думал, что если вкачусь, то и тянки появятся в моей жизни
Так это же лютый манямир.
ну очевидно навыки общения нужно качать, а если ты ещё и некрасивый, то гг вп
>Сука, до вката была бешенная мотивация, где-то в глубине души я думал, что если вкачусь, то и тянки появятся в моей жизни
Это троллинг? Айти и женщины малосовместимы. Ты хоть чужим людям не говори, что программист. Говори лучше, что дизайнер, это хоть не так зашкварно.
Хз чел, я не общаюсь с женщинами потому что они влюбляются часто, заебало пиздец такое, свои тела отсылают, снимают видео, постоянно вытаскивают гулять с намёками на поебушки, мне их жалко уже.
31 год, программирую на себя
Я тут решил поковырять реакт. Ну короче npx create... и у меня 300Мб node_modules. Совсем ку-ку? Без этого реакт не заведется? Я когда начинаю учить не хочу ничего лишнего иметь. Как этот ад почистить?
А если бы решил покодить на C#, IDE при первом запуске скачало был 10гб данных. Добро пожаловать
>ВЫ ЕБАНУТЫЕ?
>Я тут решил поесть говно. Ну короче ем короче ложкой.... и чувствую как говном воняет нахуй. Совсем ку-ку? Без запаха говна можно? Я когда начинаю есть говно не хочу чтобы воняло. Как есть говно чтобы не вонял?
Не ешь говно.
Берёшь и смотришь код каждой зависимости
Ты сравнил комбайн на базе реакта с полупокерным голым фреймворком. Так-то голый реакт тоже много не весит, вот только голый реакт нахуй не нужен.
>Нет, я не выбирал есть говно на 300 метров с кучей закладок.
Типичный потребитель недофреймворков.
Ну да, у меня рот не в говне, ты всё правильно понял.
В чем измеряется популярность?
Есть функция которая получает пропсы вроде
{
transform: 'translate(0px, 0px)',
}
(тип CSSStyleDeclaration)
функция делает вот что
for (const item in props) {
element.style.setProperty(item, props[item]);
}
КАК ЭТУ ЗАЛУПУ ОПИСАТЬ ТАЙПСКРИПТУ В АРГУМЕНТЕ ФУНКЦИИ ЧТО БЫ ОН НЕ РУГАЛСЯ!?!
Уже и так пытался
props: {
[key: Partial<CSSStyleDeclaration>]: string;
}
и так Partial<CSSStyleDeclaration | null>
Я просто не ебу сука, у меня очко сгорает к ебеням!! Помогите.
У него видите ли
Element implicitly has an 'any' type because index expression is not of type 'number'
CSSStyleDeclaration это уже интерфейс к объекту, в данном случае не нужно ничего с ним больше делать, ну кроме, наверное, применения к нему Partial
>CSSStyleDeclaration
А вообще, достаточно было открыть документацию и прочитать
https://developer.mozilla.org/ru/docs/Web/API/CSSStyleDeclaration
Ага, это я тоже затупил немного. В общем, смотри. Ты передаешь в функцию Partial то есть у него могут отсутствовать абсолютно все свойства (пусто объект) и твоя конструкция props[item], в теории, может вернуть undefined о чем он и сообщает в ошибке. Видишь на втором пике он показывает что в переменной prop может лежать undefined вот о том и речь
Решается проблема просто проверкой наличия значения как это я сделал, то есть просто выносишь в отдельную переменную и конкретно ее в if проверяешь
Да, работает, благодарю. Вот ебучий тс, описать недостаточно , надо ещё доп. ифов наплодить.
Можно описать свой тип у которого в значениях не будет undefined и тогда не понадобится проверка
Вот код без проверок, но:
1. почему-то setProperty не работает. Я хз почему, но приходится обращаться напрямую к свойству и только тогда он устанавливается
2. В песочнице ему что-то не нравится в key как параметре. Я хз что с этим делать
Вот правильный пик и ссылка на пример
https://www.typescriptlang.org/play?#code/GYVwdgxgLglg9mABMOcAUAHATnDBnALkQAUBDLWUgGwB4BhAZSagE8qBTAEXYivNNgIAfAEoiANzgwAJogDeAKETLEEBHiiJ2VRAF5E0uBBABbdmCgA6CFnYD2AUQ5mLaAOTSY4tyIVKVAPIARgBWPFbmUFgw7HiYOPgilihYDqQQABZoaADaANbsLAA0iOLUIOwAuiJ6QvL+Kiralhps7PmFlXql5eyIpHiIGtFgAOaIAD6IYCBUVA2IAL4iANwKi35qYBqIQeREZBQw1PRMDKwc3Lz8gmB1+oqNAF4AkmDS7AAeRG4AjAAM-wATG4iusFEA
Как сделать правильную систему евентов/сообщений/калбэков внутри приложухи? Раньше использовал либы, всякие стейты, а сейчас хочу сам всё напердолить. Данные будут хранится отдельно вне всяких стейтов, часть в arrayBuffer, часть просто в объектах.
Просто обсервер нахуярить? Или что вообще? Просто обсервер звучит слишком просто и тупо.
Я сделал с проверкой, и мне надо именно с setProperty, что бы передавать импортант. Ясерьёзно так пригорел из-за тса, что аж решил к анону за помощью обратиться, лол. Ну ты согласен, что ради банальной операции, приходится с бубном плясать?
Чет слишком просто, считай простой обсервер или вроде того. Такую хуйню уже давно сделол.
Какую хуйню ещё можно придумать? Может посложнее что?
const allData = useResult(result, null, (data) => data.allData);
Как теперь отправить allData потомкам? Сам Main рендерит только вью роутер. Через провайд/инжект? Не хочу ебаться со стейн менеджерами
Нахуй хранить на клиенте? Храни на сервере, что компаненту нужно пусть сам запрашивает у сервера, напердоль graphql с apollo для получения нужных данных
Аргуметы
>Ну ты согласен, что ради банальной операции, приходится с бубном плясать?
Тебе кажется, что ты пляшешь с бубном, потому что недостаточно знаний. На самом деле там у каждого действия есть объяснение. Вот если бы без объяснения все падало, тогда другое дело
>Нахуй хранить на клиенте?
Чтобы не запрашивать каждый раз, очевидно же. Нахуя мне у самого себя отнимать деньги с трафика-то.
>напердоль graphql с apollo
Мне нужно сделать свою минималистичную версию, а на брать этих монстров на килобайты хуйни.
Нет, надо просто иметь хотя бы 90 IQ. И не хуярить партиалы на каждый пук, а потом плакаться, что тайпскрипт в жопу насрал.
>Нахуя мне у самого себя отнимать деньги с трафика-то
Если ты аргументируешь что-то экономией, то нужно быть как минимум последовательным и понимать откуда берется эта экономия и экономия ли это на самом деле. То есть, чтобы написать этот супер-оптимизированный под трафик код ты должен затратить свое собственное время и тут оказывается, что уже не все так просто.
Сколько там стоит час твоего времени? Возьмем среднюю зп среднего программиста за 100к и окажется, что час твоего времени стоит 500-600р. Итого, затраты на написание кода - это 3-6к если просто по вечерам кодить пару дней, а 3-6к рублей - это сотни гигабайт трафика, которые ты вряд ли используешь хотя бы на десятую часть
В общем, экономия, если это не реально стоящая перед тобой задача, это такая себе затея
Не только экономия трафика, очевидно. Главная суть в том чтобы максимально продлить сессию на дерьмовых устройствах, чтобы они не начинали троклить и отваливаться от моего невьебенного графона в аппе.
Покажи пример данных, которые ты получаешь с сервера. Я тебе сейчас по хардкору поясню за снижение количества трафика
У меня уже половина данных бинарные нахой, некоторые пережатые, там улучшать нечего почти. Весто хттп вебсокеты есть.
Поясни лучше как сделать асинхронный мультипоточный обсервер или вроде того. А там ведь ещё синхронизация доступа должна быть для вебворкера, суукаа.
Давай начнем вот с чего: ты под какие платформы пишешь свое приложение? Понятно, что под все, раз используешь js, но где больше всего пользователей? Это мобильные устройства?
Браузеры и мобилки с браузером, очевидно. Натив почти не должен отличаться от браузерного говна по графонию и юи, по этому и пытаюсь сократить кол-во говнокода, чтобы это работало в 60 фпс.
Ты исследование какие-то проводил на тему того, что и сколько у тебя тратит ресурсов? Звучит так, как будто ты просто делаешь все до чего дотягиваешься, но именно представления и каких-то цифр нет. Как ты измеряешь эффективность своих решений и как планируешь то насколько будут эффективны будущие решения?
>Ты исследование какие-то проводил на тему того, что и сколько у тебя тратит ресурсов?
Логические рассуждения и немного тестов. Просто смотрел какой там граф зависимостей у библиотек получается и сколько говна вызывается на один запрос.
>Звучит так, как будто ты просто делаешь все до чего дотягиваешься, но именно представления и каких-то цифр нет.
Примерно так и делаю, в основном просто логика. Чем меньше кода - тем больше производительность.
По этому и ищу какую-нибудь пиздатую пиздюльку, чтобы как евентбас и обсервер, но лучше нахуй! Асинхронный нахуй! Мультитредовый нахуй! Сразу буду во все треды постить нахуй!
>Как ты измеряешь эффективность своих решений и как планируешь то насколько будут эффективны будущие решения?
Чем меньше загружен цпу, чем меньше операций чтения/записии, чем больше фпс, чем больше объектов в кадре, чем круче шейдеры - тем больше эффективности.
>не удобно верстать например, потому что нет подсветок синтаксиса
Есть примеры что он там не умеет подсвечивать?
Чел, ну ты цветов не различаешь чтоли? У тебя там слова в коде разными цветами буквально раскарашены, смотри на пики
бля я в ахуе, ну как так то они объясняют?
литерали в доке пример, который если ты вставишь в редактор, НЕ БУДЕТ РАБОТАТЬ
мне типа самому нужно компонент батон написать?
вы че ебанутые совсем чтоли?
КАКИЕ ЖЕ ПРОГРАМИСТЫ КОНЧЕНЫЕ, КАК ЖЕ ВСЕ УСЛОЖНЯЮТ БЕЗ НАДОБНОСТИ. ГОСПОДИ, КАК ЖЕ Я ЗОЛ.
И ОТКУДА СЛОВО STATIC ВЫСРАЛОСЬ ТАМ В КОНЦЕ?
тот, что идет после слов >Контекст позволяет избежать передачи пропсов в промежуточные компоненты:
Есть массив обьектов let xui=[{},{},{}]. Каждый обьект содержит дату и значение в виде unix time stamp, {date:1667737494}. Этих обьектов около 5к, нужно составить новый массив который собрал бы 7 полных дней начиная с самого первого элемента массива
В чем проблема юзать вью? Забыл нахуй как страшный сон это недорозумение, во вью свободно пушу в стейт делаю все что душе угодно. Завязывай с этим говном
Блять че ты у меня спрашиваешь в чем проблема? Я вкатун ебаный, ИЗУЧАЮ ТО ЧТО МНЕ ПРЕДЛАГАЮТ, ТО, НА ЧЕМ БОЛЬШЕ ВСЕГО ВАКАНСИЙ. Я НЕ ЕБУ ТЧО ТАКОЕ ВЬЮ. Я ВЫБРАЛ РЕАКТ И НИ НА ЧТО НЕ ОТВЛЕКАЮСЬ. ВОПРОС В ТОМ, ПОЧЕМУ В ДОКЕ ПРИМЕРЫ, КОТОРЫЕ НЕ РАБОТАЮТ? ВЫ УЕБАНЫ, ПРОГРАММИСТЫ?
и статик откуда слово?
поясните мне, я реально не пойму, почему так много вещей ПОДРАЗУМЕВАЮТСЯ, но не озвучиваются.
да что там показывать? если ты компонент батон не написал, то код работать не будет
В том, что они для своего примера не написали компонент и добавили этот пример в доку, подразумевая, что я еще сам должен код написать какойто.
Ну пускай подразумевают тогда что я должен написать фейсбук, почему нет то? Вроде все знания уже есть.
Пчел к тому моменту как дают этот контекст ты должен уметь писать этот компонент САМ
А что не так-то? Там выше по гайду описывается как писать всякие кнопки и прочую хуйню. Щелкни на "основные понятия".
Вот песочница с кодом.
https://www.typescriptlang.org/play?jsx=0#code/JYOwLgpgTgZghgYwgAgIILMA9iAKgTwAcIAeXAPmQG8AoZZMIiALmQGcwpQBzAbjuSE4+ADZY4AE1a5+AXxo1QkWIhQBlCAA9a9egAsArsFYgDAWwBG0ADQD6hYAC8JcE+atQa8mgHofyQG4QQDkQQEYQQAYQQHkQZEAREEBhEEBeEEAuEEAxEEAOEAiaBBwOZFA2aDBkAF5kAApXZDgQfGtkC1Yq-ABKYsodXSgIMAMoEErkAGo6uQUskBzOiQMkKGLkMnJyjGwQVnRMHAJiBZaitrtkMZyqBiZaoVFxCWRZOcQNkH4D4BgyxmJiopKAcgAJAFUAJIAfQAasCAAqAgBaABF-t8mu1dLo-MhAOIggCEQQB8IMh4mFACwguKJ4UATCCpTGAGRBaljcSFANIgyFJyEAsiA4wA8IMgQgFsYlAKwgyHZ8QFYVJOMS2PZgH4QAIU5BS7EEwCCIIkwoB2EDCARpOKZgmEYkk3wFfKVVOQStJ2MAnCCm0lhZCpNVM+lq7F2g4oo6FKiGYDnJwuW4lC4GiRPFEovIFUq+-3OOBNA7yWRPNGWzGsnGAZhBcaSXW6wgA6ZCAJBBAAIgioFUr5Zb5BM1yEAbCACgnN4Vl1ISzmpeKYmvRPk25BqPmaGiTabQEgaTSLZGnYisP5AsGQmHw762FEhq6seco32sACMW4j9gDFQADEmvImgA
Тс-анон, помоги, будь няшей.
мимо лоу ику
Можешь сам тему/синтаксис разрисовать по крайней мере в vs code можно. Я себе размалевал нахуй, методы, переменные (конст белый, лет и вар - красные), аргументы функций курсивом и т.д. Сразу по стилю понятно, к чем относится код.
>Просто они не договаривают по каким-то причинам, нахуя?
Нет никаких недоговоров. К этому моменты ты должен сам читать код и понимать что не так и что тебе нужно.
Конечно странный гайд, но неужели ты думал что этот гайд писали какие-то сверхлюди которые 25 лет изучали образовательный процесс в научных заведениях?
>javascript дает много свободы в написании кода
>return response.ok ? response : throw new Error('pizda')
>пук среньк Expression expected
Язык посмешище
>че несешь
Предпринял попытку донести до тебя всю глупость твоих претензий. В мануале обозначен основной код, который имеет смысл обсуждать. Если ты чего-то не понимаешь там, просто вернись на пару глав выше, подтяни знания
Я не понимаю почему они стали вместо 100% инструкций давать 80% со временем, и все. Ну наверное пытаются сократить, ладно. Энивей пригорел.
Потому что эти 20% не имеют смысла в контексте обсуждаемой темы, очевидно. Нет смысла тратить время на написание и поддерживание кода в примерах, который можно не писать (по причине смысловой нагрузки при изучении текущей темы)
Ты неправильно используешь дженерики: это инструмент для унификации, а ты в коде поля конкретного интерфейса используешь. Можно, конечно, сделать так как я на пике показал, но это откровенный говнокод.
>Почему не видит, прокинутый тип при вызове функции?
Ну и в рассуждениях немного некорректно. Ты никуда не прокидываешь тип, когда указываешь его в треугольных скобках на уровне выше, ты как бы на том же уровне делаешь так, чтобы было понятно с чем ты работаешь, а внутренности функции ничего не будут знать о том, что ты там указал
А как мне динамически прокидывать тип payload, если я не знаю точно, что я буду туда пробрасывать в разных местах кода, сейчас это Sex, потом может быть будет какое-то {value: number} и т.д? Я думал, что я тип идёт от reducer<сюда тип>() и он присвоится к payload. Можно реализовать такое поведение?
По type, например, и тогда можно кастовать тип данных прямо в строке там где это потребуется, ведь на каждый action_type у тебя конкретный тип данных
Значит у тебя не правильно построена логика раз ты не знаешь что получаешь, гугли дженерики
>as TypeA
>as TypeB
Вот этого я и хотел избежать своим нерабочим подходом. Видимо, надо делать так.
Если хочешь обрабатывать данные универсальными функциями, значит данные придется тоже унифицировать. Но сначала подумай, есть ли в этом вообще какой-то смысл
Много свободы !== возможность запускать невалидный код
С тем же успехом можно высрать что-то типа
return function new throw catch
И возмутиться, что компилятор тебя не понимает
Бля, ну вот так же делает redux toolkit
export type PayloadAction<
P = void,
T extends string = string,
M = never,
E = never
> = {
payload: P //ВОТ ЖЕШ
type: T
} & ([M] extends [never]
Я хотел сделать тоже самое и пробросить тип P и T при вызове функции с определённым объектом action. Возможно ли такое?
Вкинь полный пример и оформи его на https://www.typescriptlang.org/, если не сложно
Реально страшно пытаться вникать в недописанный код в формате поста на дваче
Вот ручками и заполняй эти дженерики, лол.
Красавчик. Тогда в 164 строке еще не со строкой сравнивай, а со значением из enum и вообще круто будет
Спасибо. Пол дня потратил, функционала не добавил нихуя, лол.
Уважаемые макаки, посоветуйте что-то для вката в тс, сам уверенный мидл, овер 3 года энтерпрайса, ООП знаю н а базовом уровне.
Настало время пересобирать проект, проект сам себя не пересоберёт.
Вот само задание: реализовать класс
для построения таблиц. Единственный обязательный критерий, чтобы у него был
реализован метод `print(): void`, осуществляющий красивый (на сколько это возможно)
вывод таблицы в терминал. В остальном, вы вольны делать всё что хотите
typescript node.js
Типа тебе console.table () нужно самому реализовать?
Очевидно же этот принт должен принимать заголовки и входные данные. Зная заголовки, ты сможешь построить таблицу хоть из массива объектов (по именам ключей), хоть из двумерного массива (по индексам вложенных массивов).
Уверенному милок хватило бы и родной документации по ts. Если программист не в состоянии найти базовую информацию для вката во что-то, значит он джун
Ведь именно джун, по определению, не может строить правильно планы на работу и развитие
>вообще не понимаю
От тебя хотят чтобы ты реализовал класс constructor(data), инстансы которого имеют метод print()
Когда ты делаешь new YourTable([{a: 1, b: 2}, {a:3, b: 4}]).print()
в консоли рисуется ASCII-арт с выводом данных в виде таблицы.
Твоя основная задача - написать обработку данных, и выводить ее правильно дополняя значения колонок пробелами, чтобы выравнивать ширину колонок в каждой строке. Расставить переносы строк и между каждой строкой выводить раздделитель строки.
>Есть вопросик по архитектуре, у меня на сервере есть допустим мидлвари (валидация) и мне нужно в одном моменте логику мидлвара вставить прямо внутри контроллера, это сильно плохо будет?
Выносишь логику валидации в отдельный модуль и используешь её в любом контексте.
> Ещё был такой же момент, но логику ошибки тоже прямо в контроллере обрабатывал, а так ошибки у меня отдельно обрабатываются в конце
Тут одиного совета нет, так как обработка ошибок полностью зависит от бизнес-логики. Контекст всяких Null Pointer Exception намного проще дебажить на первой же функции, которая её поймала, чем ковырять параграфы стека вызовов декораторов в конце. А всякие операции над файловой системой так и вообще требуют обработку ошибок на месте.
Какие нахуй доки, шиз? Программисты читают мануалы когда всё сломается. Код тоже никто не пишет, просто с стаковерфлоу копируют или с книг каких или форумов.
Чтобы вкатиться, нужно пару пет проектов. Или ты предлагаешь мне их скоприовать просто? Ладно, шиз, спок. Просто читать впадлу, писать впадлу, жить впадлу, ничем не хоечтся заниматься и вкатываться тоже. Как же пофиксить ето, господи. Все равно что попытаться самого себя тонущего за шкирку взять и вытащить.
>>508339
Проиграл, хотя и ожидал подобного прикола
https://www.typescriptlang.org/play?jsx=0#code/AQSwdgLgpgTgZgQwMZWAYQPY1QbwLABQwwMGGEA-AFzAASAKgLIAyAogDZQC2UkwAPsDABXdu0LAAvhInho8ZKgDyAIwBWUJBACCwKAA9oYACYBndFlwShCHjVMQY4AOYTpBWZFiIUwVRq0AIT1DXjMLbGB8ImAEZygaES4VWDcZIjlvRWAAZQgEaBCjcMxI6OIMdQBGGn9NHQAaa0q1ACZa9XrAtKIJJAwwB2AHAoS80eAAXijrUnJE0XYmmJaamZjiOYgFsWXiYjBbBOAAIgA5BAA3BHYwAE8T60k94Bb29f2SMm2hRZfiOLHADMTx6wGs-UGEGA8QgAHEjvQECpOAAFUgABymwAAPPQimFzABrKB3DBwXL5aAAPgAFCS7jR6ABKGjjaAAbXoAF0ptSPvtsBBhDAwMMqVAOQzuQBuUEeBWESFDUxQCDojBY6Z4gkmYmk8mU0Z0jGYpnMvnrJUDIbQBxVbGwhE8JEoqAajG002a5lyhUgCm0u0QKrM6IAenDwEAXCCABhBo8BAEIggGEQRPAQD8IIA+EEA3CDJwDiIIAOEETgBkQYCxwBMIInM9HM4AeEHT2aLwEAvCCx4CZwCCIM3M+XY82C4BWECTmcAzCCZ4B5qvAcuAaRBACwgsY7aZGnO9GO5FEIwaqADpCO5937CKr1ZjaQByVbn5mEW+KhXEIA
Для начала стоит понимать, что автокомплит будет только там, где появятся какие-то конкретные данные. То есть, если ты отправляешь конкретные данные в
>setProp('obj1')
То и автокомплит надо ждать там. А если хочешь его внутри функции, то надо просто внутри нее что-то конкретное использовать: смотри пик
К этому никак привыкнуть не могу. Надо разделить в голове поведение тса при вызове функции и при объявлении. Мне постоянно кажется, что я могу прям в объявлении ловить нужный мне автокомплит в зависимости от аргументов. Спасибо.
Как это мы с обсуждения мидла, который не мидл вовсе, перешли на меня? Ку-ку?
>Ведь именно джун, по определению, не может строить правильно планы на работу и развитие
Ты про малолетнего долбоеба школьника говоришь.
>Чтобы вкатиться, нужно пару пет проектов.
Не нужно.
>Просто читать впадлу, писать впадлу, жить впадлу, ничем не хоечтся заниматься и вкатываться тоже. Как же пофиксить ето, господи.
Регулярные занятия спортом, правильное питание, сладкое немношк жри перед работой.
Потому что состояние обновится только при следующем ререндере. Сохраняй значение в переменную и её передавай и логай.
типа так? а ререндер происходит когда вся функция выполнится?
Над setTime() создай переменную с new Date, и её уже передавай в setTime и в консоль.
Конечно, как думаешь реакт принимает решение ререндерить? Только после пробега по всем сайд эффектам.
И вообще в целом функции вида (func: (...args: any[]) => any) => void это всякие добавляторы в очередь задач (в большинстве случаев ещё и ассинхронные) и полагаться на то, что они обработают задачу сразу же после добавления не стоит. Конкретно этот хук путают с процедуркой, потому что в большинстве примеров значения передаются напрямую, но функция этого хука так же принимает колбэк вида (oldValue) => newValue.
Неосилил Component Lifecycle?
фронтенд боги двача, нужна помощь
Делаю свой тестовый проект на джанго, в ходе "делания" образовалась задача:
-нужно вернуть во фронт объект ditetime.timedelta (читай временной интервал)
-нужно увеличивать или уменьшать его в реальном времени, и лучше делать это силами js (ну типа чтобы секунды капали, потом минуты...)
Вроде бы просто звучит и просто гуглится, но:
- интервалы могут быть большими > года, в месяце разное количество дней, а хотелось бы запустить это все в формате прошло хх лет хх менясец ХХ дней хх часов...
- вроде бы moment.js может справиться с этим, но я реально хз, как подключить ее на джанго...
Подскажите способы попроще? Ну или как библиотеку подключить?
nmp или как его не качается через консоль...
в целом, наверное, я могу распарсить дату и просто обновлять её считай руками и обновлять эту дату раз в секунду, да и вроде для обновления распаршенного не потребуется какой-то учет, но... но это не кажется мне каким-то совсем не элегантным решением
Тебе надо о таймеру высчитывать дельту, а не просто по таймеру -1 делать (потому что браузер может таймер реже запускать чем это хочешь делать ты)
>-нужно вернуть во фронт объект ditetime.timedelta (читай временной интервал)
Никакого datetime.timedelta на фронте нет. Парси его в строку нужного формата перед передачей в контекст, а потом уже клиентским скриптом парси в нужный формат и там уже дёргай как хочешь.
>>508863
Для человекочитаемого форматирования один хуй говнолибу надо ставить. Или писать свой костыль над Intl (с вариативной поддержкой браузерами).
Разумеется, есть школьники, которые умеют планировать и распределять рабочие задачи. Но зачастую, во взрослой жизни, хочешь не хочешь но приходится распределять задачи и планы. В школьной/институтской жизни есть дз.
Не стоит лести, анон, я и так знаю
Ты уверен, что тебе именно нужно svg для этого? Чем обычная картинка, обёрнутая в span, не устраивает?
Потому что картинка - встраиваемый элемент.
>>509201
Волшебные байтики: https://en.wikipedia.org/wiki/File_format#Magic_number
Зависит от файла. Где-то внутри есть метаданные, где-то их нет. Что это вообще за задача такая, где надо принимать файлы без расширения?
Потому что это не блочный элемент.
Смотря как хочешь чтобы картинка была. Если как блок чтобы переносилась автоматически на другую строку, то в див
мимо
Ну и ты можешь. А задача у тебя какая? Двач принимает файлы в которых есть метадата. Ты что хочешь сделать? Я же хз даже какие файлы тебе нужны
А пользоваться этим кто будет и почему они будут отправлять файлы без расширения?
Тащемта у клиентского скрипта есть API, которая также и майм выковыривает с файла. Полагаться на инфу с клиента совсем не стоит, но если есть возможность подкрутить клиентский скрипт, то лучше эту инфу использовать.
Окно выбора файла фильтрует по расширении в имени, серверный код также может быть написан, чтобы на имя только смотреть. Ты хуйню написал
У меня на стороне клиента будет fetch работать, а сначала я сервер делаю. А разве нельзя в обход клиента запостить что-то на сервер?
>>509254
ну я начал делать и думаю чё будет если не будет расширений, а formidable кстати не видит ничего без расширения, могли бы и дописать функционал
>>509259
ну на дваче то не так
>и думаю чё будет если не будет расширений
Не забивай себе голову. Доделай до конца сначала просто чтобы работало с расширениями, а потом уже доработаешь
>Окно выбора файла фильтрует по расширении в имени
Это окно открывается операционной системой, на которой работает браузер. Причём здесь веб?
>У меня на стороне клиента будет fetch работать, а сначала я сервер делаю. А разве нельзя в обход клиента запостить что-то на сервер?
Можно, но если добавить mime-type как одно из требуемых полей в теле запроса, то валидация намного упрощается. Тебе в этом случае только нужно проверить, что файл соответствует переданному типу. Это намного проще и дешевле, чем угадывать тип хуй пойми какого набора байтов.
>Притом, что это в именно "веб" инициализирует это окно.
Фильтрацию проводит операционная система, а эти манятеги - не более чем подсказка для браузера, чтобы он мог подкрутить фильтры при запросе в операционную систему. Пользователь может положить туда что угодно и тебе опять на уровне скрипта нужно будет угадывать тип гаданием по расширению и байтикам.
Чел, js это скриптовый язык, а все на самом деле выполняет интерпретатор, находящийся на несколько уровней ниже. По твоей логике фронтенда не существует
>фронтенда не существует
Он начал о чём-то догадываться
Нихуя ты режим английского редукционизма включил. Ты вообще-то оспариваешь моё сообщение, что вебу поебать на расширения. Если это не так, то как браузер знает, какой тип файла у ссылки вида https://github.com/facebook/react ? Ныряет в файловую систему гитхаба и ищёт файл с похожим названием? Или всё-таки потому что гитхабовский сервер возвращает заголовок "content-type" со значением "text/html"?
1. Диалог про uploading файлов, гений
2.
>Ныряет в файловую систему гитхаба и ищёт файл с похожим названием?
Нет, получает расширение файла в заголовке (смотри пикрил)
>моё сообщение, что вебу поебать на расширения
Если бы было похуй, заголовок бы не понадобился, но он необходим для корректной интерпретации данных
>1. Диалог про uploading файлов, гений
Файлы через веб загружают, чтобы потом через этот же веб их смотреть. И какую инфу сервер должен знать для этого, не подскажешь, гений?
>Если бы было похуй, заголовок бы не понадобился, но он необходим для корректной интерпретации данных
Поехали манявры. Заголовок, значение которого майм тип - и есть источник истины для браузера, на "расширение" ему поебать. Как поебать и серверу. Отчасти поебать и даже самой операционной системе, так как расширения в ней - не более чем подсказка для ассоциации программ и файлов в ней.
>чтобы потом через этот же веб их смотреть
Когда у тебя iq < 100 и твой круг интересов ограничивается просмотром контента, то может быть так оно и кажется. В моем мире загрузка файлов - это загрузка файлов, а как их дальше используют, это уже одному богу только известно и "просмотр через веб" один из миллиона возможных вариантов
>И какую инфу сервер должен знать для этого, не подскажешь, гений?
Просто для загрузки файла - никакую. А вот чтобы его
можно было интерпретировать потом, должен знать его расширение.
Вот тебе пример из жизни:
1. Берем картинку. Я взял svg
2. Переименовываем в mp3
3. Отправляем сами себе по почте. Я использовал gmail
4. Результат пикрил
5. У тебя полный рот мочи
Что оно выебывается?
(let i = 0; i < 250; i++) {
await sleep(10);
console.log("${i} -250 500 750");
shape.setAttribute("viewBox", "${i} -250 500 750");
}
Консоль пишет это
js_svg.html:32 ${i} -250 500 750
Error: <svg> attribute viewBox: Expected number, "${i} -250 500 75…".
Как сделать как в Си snprintf?
1. Учись читать ошибки. У тебя там буквально написано что не так
2. Читай про интерполяцию строк
3. Там где используешь ${} в строке, используй кавычки вида ``
Спасибо. Синтаксис не особо понятен пока, я-то в js вообще сегодня первый день, считай.
Удачи
>Когда у тебя iq < 100 и твой круг интересов ограничивается просмотром контента, то может быть так оно и кажется.
Это конечно хорошо, что у тебя IQ ниже ста с ограниченным кругом интересов, но отношения к треду не имеет.
>В моем мире загрузка файлов - это загрузка файлов, а как их дальше используют, это уже одному богу только известно и "просмотр через веб" один из миллиона возможных вариантов
О, верующий в треде. Под просмотром я говорил любое показывание на фронте, то что ты это ассоциируешь исключительно с просмотром видосиков - конкретно твои проблемы.
>А вот чтобы его
можно было интерпретировать потом, должен знать его расширение.
К вебу отношения не имеет.
>3. Отправляем сами себе по почте. Я использовал gmail
Это уже заёбы конкретно гмайла, в стандарте расширения - "OS-specific".
https://en.wikipedia.org/wiki/MIME
>text plus attachments (multipart/mixed with a text/plain part and other non-text parts). A MIME message including an attached file generally indicates the file's original name with the field "Content-Disposition", so that the type of file is indicated both by the MIME content-type and the (usually OS-specific) filename extension
https://cloud.google.com/appengine/docs/legacy/standard/go111/mail/mail-with-headers-attachments
>The MIME type of an attachment is determined from the file's extension. The MIME type identifies the type of content that is being sent, and can determine how that data is transferred.
По стандарту мыло должно предоставлять и майм, и расширение. Но это же гугл, лол.
>4. Результат пикрил
Причём здесь браузер? Файл пытается открыть скрипт гуглдрайва, следуя майм типу, предоставленному гмейлом, который не следует стандарту. Скрипт видит майм "audio/mp3" в худшем случае или "audio/mpeg" в лучшем и проверяет сигнатуру файла, так как для mp3 их всего две. То есть ты опять доказал, что вебу на расширения поебать, найс самоотсос.
>файл интерпретируется некорректно после смены расширения
>вебу на расширения поебать
Мы вам перезвоним
Да?
Если честно, я нихуя не понял. Есть какой-нибудь пример с картинкой, ну или скажи, как загуглить
И еще: а если интервал проверки сделать, к примеру, 100мс, разве это не решит проблему?
>>509032
Ставить?
А есть вообще варианты на джанго поставить что-то нормальное?
Я просто хз, такое впечатление, что я не умею гуглить или никто на джанго с такой задачей не сталкивался.
Или там как-то элементарно
Все, у меня какая-то хуйня была сделано, теперь разобрался, я сделал невидимый relative блок после нужной ячейки, и от нее уже абсолютом этот зеленый прямоугольник
>я вообще про ваш язык ниче не знаю
>Но делаю выводы
Классика
Вот тебе аналогия чуть ближе к тебе, может так дойдет:
Зачем вообще нужны жаба разрабы, если можно готовую серверную часть взять с гитхаба, и обладая знаниями как у хлебушка запустить ее? Вопрос серьезный, я вообще про ваш язык ниче не знаю, пишу круды на жаба скрипте
Сайт можно. Приложение нет.
все фриланс площадки завалены заданиями от кабан кабанычей "сделать плагин на конструктор сайтов"
Ты дурачек? Где я что-то утверждал? Это был простейший вопрос, на который ты ответил тупейшей аналогией, заставляя в очередной раз задуматься об уровне ай си кью у разрабов жса. Объясняю, почему то, что ты высрал не котируется в данном случае: с гитхаба нельзя взять, потому, что проекты и задачи на всех легаси жаба-помойках слишком разные, их сложнее стандартизировать и поддерживать, из-за этого и нет подобных сервисов насколько я знаю под бэк. А вот дизайн и фичи современных сайтов плюс-минус одинаковые, отсюда и такое количество всяких конструкторов, которых за глаза хватит для самого обычного потребителя.
> проекты и задачи на всех легаси жаба-помойках слишком разные, их сложнее стандартизировать и поддерживать, из-за этого и нет подобных сервисов насколько я знаю под бэк.
Спринг, вкатун.
Что спринг? Спринг в первую очередь - фреймворк для внедрения зависимостей, а не то, о чем ты там себе надумал. Если ты имел ввиду какую-нибудь спринг дату, то она облегчает лишь процесс работы с базой, помимо этого есть куча других задач.
Чел ну я конечно не знаю что ты там на джаве пилишь, но вебсайт - это внешняя часть т.е. клиент + взаимодействие с базой данных + собственно сам сервак с логикой
>Где я что-то утверждал?
>можно сайт в конструкторе сделать спокойно, обладая знаниями как у хлебушка?
А блин ну да, ведь в конструкторе сайтов нельзя сделать сайт, а если даже можно, то для этого нужно обладать большими познаниями в предметной области ебле с твоей мамой
Вкатун, плиз.
Спринг это не просто фреймворк, это куча мелких фреймворков, приложений, библиотек и кучи прочего дерьма которое гигов на сто наверное, если не больше. Это и есть конструктор дерьма от мира жабадерьма.
>Зачем вообще нужны жопа скрипт разрабы, если можно сайт в конструкторе сделать спокойно, обладая знаниями как у хлебушка?
Смелое заявление от крудошлёпа, учитывая что бэк абсолютного большинства интернета работает на пыхе, потому что она идёт в комплекте с вордпресом, который комбайн-конструктор фронта и бэка сайтиков.
Уж что, так это бэк как раз легко заменяется безмозглым конструктором.
>Объясняю, почему то, что ты высрал не котируется в данном случае: с гитхаба нельзя взять, потому, что проекты и задачи на всех легаси жаба-помойках слишком разные, их сложнее стандартизировать и поддерживать, из-за этого и нет подобных сервисов насколько я знаю под бэк.
Легаси кода нет разве что на каком-нибудь расте, а уж про отсутствие стандартизации мог бы и не мычать, так как жс лёгко даст на клыка жабе в этом плане.
Ты блять понимаешь русскую речь и разницу между:
>В первую очередь для внедрения зависимостей
и
>Только для внедрения зависимостей
А так же между:
>Конструктор для хлебушков
И
>Консоруктор для разработчиков
>>509907
Те, кому нужны аналоги гитхаба тотальное меньшинство, это как правило крупный бизнес и там понятное дело конструкторы не вариант. Большинству нужна стандартная хуйня без выебонов, которую конструктор как по мне покрывает.
>это как правило крупный бизнес и там понятное дело конструкторы не вариант
В чем тогда суть спора? Ты прилетаешь, кричишь, что не понимаешь для чего нужен JS, а когда начинают называть примеры, сам соглашаешься с тем, что он все таки нужен. Таблетки пил сегодня?
Я изначально имел ввиду средний и малый бизнес и мне блять так никто и не пояснил, в чем преимущество оплаты услуг жопа скрипт разработчика, если есть конструкторы, которые намного дешевле быстрее и вносить правки там скорее всего намного легче, ну и не требует почти знаний как таковых.
>Я изначально имел ввиду средний и малый бизнес и мне блять так никто и не пояснил, в чем преимущество оплаты услуг жопа скрипт разработчика
В чём преимущество жабамакаки, когда быдлоадмин может на вордпресе поднять и держать целый сайт? В отличие от мутного пердолика, который даже SQL не знает, админ может ещё и кнопки рисовать.
>если есть конструкторы, которые намного дешевле быстрее и вносить правки там скорее всего намного легче
Ну так пиздуй собирать сайт на конструкторе, потом возвращайся сюда с горящей сракой и рассказывай, как тебе жабаскрипт в жопу насрал. А не вот эти вот "скорее всего" и "может быть".
Ну из моей практики:
1. Разработка трейдерской платформы (малый бизнес)
2. Разработка ПО для медицинских учреждений (средний бизнес)
3. Разработка ПО для пикрил аппаратов (там разные интеграции хитрые со сторонним ПО были)
Давай, расскажи на каком конструкторе это можно создать, а я пока подожду. И да, это было все js
>В чём преимущество жабамакаки, когда быдлоадмин может на вордпресе поднять и держать целый сайт?
На жабе и не пишут бэк для подобных сайтов, ты там совсем деградировал что ли пока кнопки взад назад двигал?
Смысле, жабадебилы это и есть хлебушки, которые просто берут спринг и делают какюу-то дикую оопешную хуйню, которая потом считается диким легаси калом.
Это ничем не отличается от калструктора сайтов, просто спринг нужно из доков переписывать, а не мышкой тыкать.
{% for f in format %}
А можно ли как-то провернуть такой for для двух переменных одновременно?
Гугл дал отрицательный результат
Или нужно сколачивать все в одну переменную?
>В html часто можно встретить
Так этот конструкт никакого отношения к html не имеет, это высерок серверного шаблонного языка и его семантика зависит от конкретной реализации.
>А можно ли как-то провернуть такой for для двух переменных одновременно?
Что значит двух переменных? Этот конструкт итерируется по коллекции, в нём логически невозможно иметь 2 переменные для одного элемента в цикле.
>Или нужно сколачивать все в одну переменную?
Если пишешь на говнеце типа джанги, то сколачивай переменные в питонокоде, а в контекст шаблона передавай результат. Иначе ебанёшься потом поддерживать статически неанализируемый код.
Поясни за кейсы. Там везде нода, которая выполняет этот жс? Я знаю есть даже библа для работы с ардуиной на жс, но там ардуина должна быть к ноде (соответственно к компу) подключена.
мимо интересно, где ещё жс можно нормально пользовать
>Трейдерская платформа
Там на js только фронтенд был (лк и графики всякие) + на react-native приложение для мобил. Компания поставляла готовое решение и клиенты могли по щелчку пальцев развернуть свою форекс-кухню на которую привлекали людей и зарабатывали процент с оборота средств
>ПО для медицинских учреждений
Компания подрядчик, которая разрабатывала ПО которое используется в поликлиниках для организации полного цикла документооборота начиная с записи людей на прием и заканчивая предоставлениями отчетов в минздрав
>ПО для пикрил аппаратов
Ну там вообще целый вагон разных примеров был. Это же по сути компьютер, который может использоваться в общественных местах: прием платежей, регистрация в очередях, информационные табло и много всего остального
Еще вспомнил, что приложения для ВК писал. И это тоже все было на JS
>Там везде нода, которая выполняет этот жс?
Ну не везде, но были и такие решения, когда ты что-то делаешь в интерфейсе, потом данные уходят на сервер, который на ноде, а он уже генерирует программу для управления устройствами
>где ещё жс можно нормально пользовать
JS это по сути скриптовый язык со всеми вытекающими - хочешь в браузере его выполняй, хочешь на устройстве и все ограничивается только фантазией. Вот анон выше, который на java пишет, по какой-то причине крайне ограничен, а по сути бери да делай любую программу, которая тебе в голову придет
>JS это по сути скриптовый язык со всеми вытекающими
>его выполняй, хочешь на устройстве
Ну в браузере есть v8, на компах (серверах) нода и аналоги. А как его выполнять где-то не на компе? Как терминалы на жсе работают? Типа тоже операционка а на ней нода/дено хуено?
>А как его выполнять где-то не на компе?
Либо это микрокоп, который в состоянии потянуть ноду, либо идет компиляция во что-то более низкоуровневое
>Как терминалы на жсе работают?
Это просто компьютер. На виду монитор, а внутри компьютер. Раньше на винде, но сейчас и линупс вроде допилили до высокой степени удобства работы с терминалами
>Типа тоже операционка а на ней нода/дено хуено?
Все так
Прнял. Спасибо.
>Как терминалы на жсе работают? Типа тоже операционка а на ней нода/дено хуено?
Там обычный ебаный x86 стоит с шиндой или ленуксом. У фаерфокса и хрома есть режим работы "терминал", либо через него, либо через всякие электроны и прочую муть.
Мужики, сейчас стартую обучение JS, начал с углубленного изучения html css
Дайте напутствие, расскажите как вы учились и что вам помогло?
Когда вы поняли, что вы уже профессионал
>Дайте напутствие
Строй полноценную программу обучения, не "ну я сегодня тут почитаю, завтра там". Ты идешь к цели и знания должны двигать тебя вперед, а не просто хуй пойми что
>Когда вы поняли, что вы уже профессионал
Ты обретаешь понимание, которое позволяет решить любую проблему: знаешь как ее декомпозировать, знаешь каких знаний не хватает и как их получить. По сути, эта суперспособность может быть далее применена к любой другой профессии
Не изучай это говно, лучше сразу ныряй в жабу, это практически то же самое, только без скриптов.
Жаба-дебил, ты чего в этом треде забыл?
Сам сервер (Пик_2)
Инстанс аксиоса (Пик_3)
И сама злаполучная кука (Пик_4), которая нормально устанавливается, но в обратном гет запросе её уже нема
То ли лыжи не едут, то я чего не понимаю. Кто сталкивался с подобным?
Там же в девтулз глянь отправляет браузер их вообще или нет. Может быть ты с областью видимости проебался и браузер их просто не отправляет
Вкладка network -> клик по запросу и там ищи
Мне вилку не сказали, спросили мои ожидания. Я ляпнул наобум 60к, сказали ок. Думаю попросить побольше, но не знаю, сколько
Яндекс, по слухам, платит чуть ниже рынка. Туда идут чисто ради опыта и записи в трудовой, которая смотрится лучше чем какое-то безымянное ооо
>Я ляпнул наобум 60к, сказали ок
Ну раз сказали
>Думаю попросить побольше, но не знаю, сколько
Такие переобувания не уважают. Лучше отработать там месяц-два и попросить повышение, чем сейчас как дебил торговаться
> Думаю попросить побольше, но не знаю, сколько
Такие переобувания не уважают. Лучше отработать там месяц-два и попросить повышение, чем сейчас как дебил торговаться
Мне позвонила HR после контеста, спросила про ожидания, я сказал 60к.
Сейчас я прошёл все собесы и кмк уже могу вежливо спросить, нельзя ли получать побольше.
Тем более это стажировка, я не думаю что тут будут повышать оплату. А продлится она 4.5 месяцев (если будет 30ч в неделю) или 6 месяцев (если 20ч в неделю), так в яндексе устроено
>Сейчас я прошёл все собесы и кмк уже могу вежливо спросить, нельзя ли получать побольше.
Имеешь в виду твоя ценность для компании как-то выросла за это время?
>Тем более это стажировка
Ну тогда проси. Скажи 80 хочу. Но вряд ли дадут
Спасибо, просто дегродом себя ощущаю щас. На интерцепторе не было хедеров для корса, вот они и не тянулись. Только зайдя в нетворк понял это, сравнив разные запросы
Тип переменной не должен меняться
Файл это массив байтиков, что ты несёшь?
Не особо понимаю логику, когда мы передаем в провайдер наш store, то мы имеем доступ к нему через функциональный компонент, но не через класс компонент, там нужно обращаться напрямую к store через импорт, а зачем мы тогда передаем наш store в провайдер, если мы и так можем обратиться к нему через напрямую
я думал прописывая store к провайдеру он будет доступен у всех компонентов сразу
Что я не так понял?
На прикрилах видно, что при первом рендере компонента должен сработать хук useEffect, задиспатчить состояние загрузки и сделать запрос. Вследствие чего по условию сначала должен отрендериться компонент загрузки, а при ответе, соответственно, отрендериться компонент с полученными данными.
Сам трабл в том, что useEffect игнорируется при первом рендере, поэтому в компонент данные не попадают. Так как проблема именно с хуком - функцию создания компонентов закомментил.
Знаю про то, что хук должен сработать именно после рендера, но сам видел аналогичный код, работающий нормально. Мог бы кто подсказать как можно решить проблему?
Наркоман, эффект запускается где-то там после первого рендера, а не сразу после вызова.
>Знаю про то, что хук должен сработать именно после рендера, но сам видел аналогичный код, работающий нормально.
Показывай этот "аналогичный, работающий нормально" код.
По дефолту выводи лоадинг, если есть данные — выводи страницу каталога, если ошибка получения данных — ошибку.
А вообще редакс там нахуй не нужен. Передавай во вьюху каталога ссылку на эндпоинт апи с нужными ключами, фетчи страницу, передавай пропсами в компонент страницы полученные данные, оттуда раскидывай пропсами по итемам. Тебе постоянно держать в редаксе каждый респонс нет смысла, представь, что у тебя на странице много итемов и нужна пагинация. Страницу отрендерил — выкинул данные.
Все, решил проблему. Изначально трабл был в том, что я в срезе по сути пушил массив данных в состояние с массивом данных, что вызывало ошибку внутри лист айтема. Исправил присваиванием. Когда дебажил консолью - въебал вызов console.log с возвратом этого вызова, отчего в срез теперь приходил undefined. Прошу прощения, ошибка была туповатая...
Проблема решена.
>А вообще редакс там нахуй не нужен
Ну вообще - я пишу этот пет именно для портфолио, так как в ближайшее время собираюсь пробовать трудоустроиться куда-то в нерезиновой. Поэтому въебал туда редакс, чтобы были видны какие-то мои практики работы с ним. Да и сама вещь довольно удобная, если честно. Для расширения в будущем сгодится.
>представь, что у тебя на странице много итемов и нужна пагинация
Извиняюсь, если ошибся в чем-то, но разве эта проблема не решается запросом с параметром лимита получаемых элементов и поочередными запросами на дополнительные данные по мере работы пагинации?
В классовом подходе вроде используется HOC в виде функции connect. Она оборачивает компонент и может в пропсы компонента пропихнуть диспатч или состояние. Возвращаемые данные из состояния настраиваются в параметрах вызова.
1 - Через таблицу
2 - Через li
3 - простой ввод
4 - Мог как-то работать с текстом, изменять цвет и т.д
Хотелось бы нагуглить примеры реализации но не могу найти
>1 - Через таблицу
Положить хуй и делать псевдотаблицы на гридах.
>2 - Через li
Положить хуй и делать псевдосписки на флексах.
>3 - простой ввод
Какой простой ввод? Ванильная форма загрузки положит твой сервер, если ты конечно не огородишь её требованием аккаунта.
>4 - Мог как-то работать с текстом, изменять цвет и т.д
Охуеть, а ещё расплывчатей нельзя? Ты же блять заднеприводный, должен уметь обьяснять, что хочешь.
Такие вещи нахрапом не реализуются (особенно еботня в виде разметки одновременно как таблицы и как списка). Сначала сделай форму, которая принимает файлы, а там уже мокрые писечки поверх прикручивай.
Мне зашел JS, думаю углубляться даже в него. изучать как работает внутри и т.д, но вот совсем не получается верстать, я банально страницу входа верстал 3 часа, и то получилось не адаптивно. Пройдет со временем? Просто нужно много очень верстать, или смотреть как верстают другие? Я удивляюсь как челы за 3 часа делают миллиард страниц адаптивно ещё и на высоком уровне.
Фронтедщики как часто вы верстаете на работе? Не знаю, просто голова не варит в верстке.
Я так-то планирую двигаться в фулл стак и как раз верстку надо подтянуть на хороший уровень
Работается вроде норм, время быстро летит, то тестер подбежит что-то спросит, то с аналитиком поговоришь, пара созвонов и день прошел.
Но вот после работы тоска. Столько девушек встречаешь красивых и стильно одетых, аж неловко становится за то что на тебе надето.
Некоторые уже начали обсуждать что будут делать на новогодние праздники, один рассказывал что с тянучкой на горнолыжный курорт. В такие моменты чувствуешь себя одиноко, очень одиноко, понимаешь что у тебя никого нет, тебе 31 год...
Спасаться от таких мыслей начал в играх, прихожу с работы и часа 4-5 до отруба играю. Но все равно очень одиноко.
>так-то планирую двигаться в фулл стак
В чем мотивация? Мозгоебли и ответственности на тебе будет больше, ЗП останется такой же. Ну и по стеку будешь идти чисто по верхам
На пайтон джуна вакансий нынче мало, нужно выбрать ещё одну область развития, решил изучать JS + тестирование, скоро как раз получу сертификат о тестирование.
Я просто хочу однажды стать на тот уже уровень разработки как люди, которые в соло могут и архитектуру приложения заебашить и бекендик с фротендом запилить и ещё девопсят в стороне. Завидую немного таким многосторонним ребятам.
Блядь, даун, иди в другое место пиздострадай, заебал.
background-image: attr(id url);
id - айдишка кнопки в которой путь в папке к файлу картинки
пишет "Недопустимое значение".
Проверяю пока на id атрибуте, потом запихну в датаатрибуты.
Делай кнопко-компонент который может в себя картинку вставлять и не еби мозг. ::after и ::before для этого использовать - ебучий костыль. И вообще отучайся картинки инлайнить через css, так как браузер этим путём не может избирательно и лениво их загружать.
>>511695
Какие гайды? Билди своё говно в статические файлы и комить в репу гитхуба. Для клиентского роутинга нужно покупать свой домен, который на все запросы будет возвращать индексовский html.
Та уже сделал два img в кнопке. Просто с псевдоэлементами было проще сделать 3д ротейшн в ротейшин ахаахах для кнопки, что бы с одной стороны была картинка из before а с другой из after, а сама кнопка пустая для меньшего html. Но похуй, уже сделал.
>На пайтон джуна вакансий нынче мало
Зато на сеньора дохуя. Не лучше ли найти выйти на джуновскую позицию и нормально прокачаться? Тем более в современном Python 3.10 куча advanced фич по-типу асинхронщины и дженериков.
Ну за девопса выступить будучи бекендером это нормально, т.к. это более близкие по компетенции зоны ответственности. Но задачи на фронте уже принципиально отличаются и по стеку и концептуально.
Собирать в массив цикле, а после цикла его джоинить.
Я крестовик по совместительству, я не умею.
Сними ты уже себе шлюху и успокойся. Благо можешь себе позволить няшную студенточку, а не старую корову.
https://www.typescriptlang.org/play?#code/LAKABAlgdgLgpgJwGYEMDGcwDkUFtMDeoYYSECAzjDvmAFxhULQDmANMY3GgPZQAmNOAyatiAX1DFo8ZOkwBBFoU4AjHghgALAJpwUCemCgBXXKsQdwYNCYQI4sBqfOIJxD+BmJUGMAHlVACtuGAUwImsoPGFsGPcQaVgfeQDg0IAhCM4UZQYlOASwJNlfTABlGBR4bOtoKERK6rgAfQBGBkCQtDCrEnrGqvgWgCZO9J6MhM5iXigqRiHhJpqAXlrOAYQV1rajSJISaPwGWsPDskpqGIYAcgUAGzgADzgAT1u+8645wRuwW44ABucAeUA+nBIkms4i+Wx2o3oB0OuViyPO6k0un0CAYbQAnAB2ABsX3OtnsjhgDAALMTIWBoVDpuApKzrHMFsoYABxGIAFRQqieAAUEDwAA5gdYAHn5YBe8AEFDAAGt3jwkGAdmwwABpBXPJX8FXqt6a7VLADa-IAugA+AAUZoY-N1EvFEoA-EY9QBKaX2s6HCBax0eyUB9GHBwwOxQRbNK1m21WiMS20MpkxuBxhAJqhJlMAbk40LZnJgYAcFBMDyr625fPwguFcDFksdt3hS1GnwBqNuftLiRANbrMAAdBSHLAR2yF6OSEA
Я отвлекаюсь на время на что-то другое, и забываю вообще как тс работает. я обязательно выучу тс.жпг
Ну он приблизился настолько, насколько смог, а дальше хуй. У тебя в коде ifelse и вот чтобы определить что там будет по итогу, надо выполнить код
>Как убрать эту ошибку, что бы result знал, какие в нём свойства?
Именно в этом коде никак. Ты его изначально пишешь таким образом, что у компилятора пространство для фантазии остается. Ты опиши проблему которую решаешь и уже всем тредом покумекаем над ней. Уверен, что она решается
Ну у меня есть стейт общий, в котором два/три вложенных объекта (в песочнице сделал 2), они в свою очередь объекты (описанные интерфейсами). Мне нужна функция которая будет принимать keyof State и возвращать этот стейт и соответственно автокомплит. Вот я пытаюсь вызвать result.current, а он говорит нет такого, а я знаю что есть, я же валидные данные передал в функцию.
Вообще эта функция, что бы слегка сократить путь к свойству объекта State. Что бы не было state[zalupa][hui].size, а getState('zalupa', 'hui').size;
Меня просто коробит //@ts-ignore в коде писать, хочу научиться.
Ну у тебя функция неправильно написана: она может вернуть или то или это и хуй ты определишь без выполнения кода что она возвращает. Пиши код так, чтобы он возвращал всегда что-то одно, в данном случае ты смешал две функции в одну:
1. getTable
2. getProp
Вот вариант с getTable, который как надо работает
>она может вернуть или то или это и хуй ты определишь без выполнения кода что она возвращает
Имею в виду это
>State[T] | State[T][K]
Это супер некорректно. За такое по рукам нужно бить. Но вообще, если говорить о возможностях ts, я уверен, что можно написать и такое. Просто я хз
>>512275
>в данном случае ты смешал две функции в одну
Так по этому и смешал, потому что в коде (контроллерах), где будет вызвана эта функция, дохулион логики. Что бы получать данные одним вызовом функции, а сейчас ещё и тсовской логики прибавится в контролерах.
Как тогда нормально обработать ситуацию, когда у меня на кнопке в одном ключе датасета например ключ свойства стейта, а в другом ключе датасета ключ внутреннего свойства стейта. И я по этим данным хочу получить объект из стейта, который на втором(или глубже) уровне вложенности?
Какие блядь уровни вложенности? Нормализуй всё это говно по хэш-таблицам и никакие вложенности не нужны. Или привыкай писать тайпгарды для каждого юниона объектов. Или создавай дискриминированный юнион.
Используй приведение типов и не усложняй. Если тебе нужен автокомплит, значит ты знаешь какие типы данных ожидать, значит можешь просто или через дженерик или явно через as привести ответ к нужному типу
По хорошему, тебе надо подумать над тем, зачем тебе вообще супер-конкретная функция, которая возвращает вложенные свойства. Это какой-то слишком немасштабируемый кейс. А что будет, если ты структуру данных изменишь? Будешь по всему коду с горящей жопой бегать и править вызов этой функции?
У меня есть два объекта стейта с одинаковой структурой (в одном больше свойств, соответственно, он может быть описан как часть второго), но они относятся к разным частям приложухи.
И есть экшн, который делает одно и то же с этим стейтом, зависит только от ключа (названия стейта). Так вот я не хочу писать if в обработке этого экшена, а хочу просто передать название стейта (а это название банально в датасете кнопки, которую нажимаю, что бы изменить стейт), по этому названию, функция, которую я пытался сделать в песочнице, возвращает нужный стейт и он изменяется новыми данными.
И так всё проще простого, но я заметил, что в который раз из-за того, что я не могу нормально удовлетворить тс, мне приходится хуй пойми что делать. На ваниле, я просто знаю, что у меня в датасет кнопки заносится только свойства стейта, и мне не надо нчиего обрабатывать, а тс надо описывать эту хуйню, вот я и пытаюсь разобраться, как такой кейс обрабатывать. Если выход - только if в обработке экшена, тогда ладно.
Если ts бьет тебя по рукам, значит ты выдумал какую-то хуйню. Бездушный ts оперирует моделью, которую ты описываешь в коде и если он говорит, что должна быть какая-то проверка, значит так оно и есть. А если ты считаешь, что ее там быть не должно, значит надо менять архитектуру и модель данных
Посоветуйте годную FOSS nocode/lowcode платформу, которая бы легко интегрировалась с фронтом на angular и бэком на ноде, которая бы облегчила задачу "выбрал сущности, выбрал их элементы, выбрал диапазон дат, получил на выходе экселевский файл с ними", с разбивкой по сущностям - каждая на своем листе. Сложные запросы к бд (pg) я напишу, но вот всё формочки нашлепать - ебнусь, а хотелось бы доступности конструктора "для менеджера" и экономии времени разработчика.
>Посоветуйте хороший пикер даты+времени, чтобы ни от чего особо не зависел, умел в разные форматы дат с разными разделителями, мог в валидацию (то есть можно было удобно ввести в форму руками, а можно выбрать), поддержкой мобильных устройств. В стандартном инпуте даже год через жопу выбирается. Бонусом если ещё будет уметь диапазон дат выбирать. Когда-то использовал флэтпикр, но там были проблемы с мобильной версией кажется.
Нихуя ты губу раскатал.
>экселевский файл
>с фронтом на angular и бэком на ноде
Ну так пиши декоратор статичной абстрактной фабрики инъекций прокси интерцептеров на ангуляре для этого, а там дальше всё само.
Их так много чтоли? Возьми, составь таблицу с требованиями, впиши туда топ 10 по популярности и посмотри что они умеют
Счастливые часов не выбирают.
Использовал когда-то давно, но так все быстро меняется, что я не уверен даже, что эти библиотеки все еще существуют
>Есть функция, в которой я использую один и тот же класс извне, мне нужно в параметр его вписывать? Это же хуйня получается не?
Зависит от юзкейса. Но если у тебя целый класс в неявных зависимостях этой функции, то потом заебёшься тестировать и дебажить проблемы с ней.
>А и ещё, у меня есть middleware, который парсит и картинки, и видео. И есть у меня ендпоинт отдельно под картинки. Нужно ли делать отдельный middleware только под картинки? Или использовать один и тот же?
Ебанутый? У парсинга картинок и видео разная логика. Запихивая в одну функцию, и тем более в эндпоинт, ты себе только лишние проблемы с дебагом создаёшь.
Блять я прям жопой чую там лютая хуйня получается, если выносить всё в аргументы
>>512685
Там парсинг с помощью мидлвера + мой костыль под мидлвер) Только сильно не надо меня песочить если что. Кароче вот код, тут ничего сложного не происходит, просто много боилерплейта
https://replit.com/@lolkaazhaha/DeafeningTriangularMemwatch#index.js
Нет, ApiError. Вообще меня всё устраивает, но только как будто хуйня выходит из-за того, что я 6 аргументов в функцию запихиваю + из них половина повторяется при вызове и я эту функцию нигде больше не собираюсь вроде бы использовать
Ну тогда по-порядку:
1. Функция называется checkFileType, а каким именно образом происходит проверка и в чем ее суть - не понятно. Поэтому сначала надо определиться с названием
2. После того как ты напишешь правильное название, появится понимание того что там за проверка внутри происходит. А по результатам проверки ты из функции должен возвращать какой-то ответ: true/false/или что-то еще, базовое. Но ни в коем случае не вызов внутри функции другой функции. это совсем крипота
3. Итак, функция переписана. Теперь, в коде мидлвари ты просто ее вызываешь и дальше через ifelse проверив результат что-то там выполняешь, что надо
4. Поздравляю, функция стала проще, теперь имеет понятное, осмысленное имя и мы удалили два ненужный параметра: apiError, next
Она ничего не возвращает, это обёртка, чтобы formidable прерывал закачку файлов при ошибке.
Кароче ты предлагаешь вынести блок if в функцию что ли? Но тогда там придётся повторять form._handlePart(file) и ошибку выкидывать, но наверное это правильно будет
не работай в офисе
ищи удаленку
Люди приходят в офис чтобы покрасоваться и повыебываться
больше от офиса смысла нет
Есть даже исследование, что перешедшие нормисы на удаленку стали хуже по успеваемости (перестали делать поблажки за внешность)
Сейчас мы тебе отрефакторим нормально. Вот так получается вызов функции будет происходить и обработка результата (пик два)
На первом пике просто обозначил код который исчезнет
Один хуй лучше отдельные эндпоинты под разные типы делать. И регуляр очки тоже посылать куда подальше. Под типом как я понимаю имеется в виду mime type, но он спокойно деструктурируется как const [type, subtype] = mimeType.split("/"), а там уже результат можно обрабатывать свитч кейсами/Array.includes().
>Один хуй лучше отдельные эндпоинты под разные типы делать
Если там только проверка типа, то нет смысла. А вот если какая-то еще логика будет, тогда да, лучше не смешивать, но и там есть нюансы
>А вот если какая-то еще логика будет
Вот именно что будет, как минимум у видео есть звуковая дорожка (а то и несколько) со своим набором типов. Разная форма метаданных. Да даже на фронте нужен другой элемент для отображения.
>>512778
Во-первых потенциальный ReDoS. Может нерелевантно конкретно в этом случае, но когда у тебя будет 100+ эндпоинтов с ними, то следить, что все они сконструированы правильно, уже намного сложнее. Регуляр очки для валидации входных данных можно использовать только если альтернативы ещё более бойлеплейтные и знаешь все подводные камни.
Во-вторых они быстро скатываются в нечитаемое неподдерживаемое говно.
Вот например эта регуляр очка:
/^[a-zA-Z0-9.!#$%&'+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)$/
Без гугла можешь определить, что она проверяет, и какая минимальная строка, проходящая валидацию? Даже если она будет сохранена в переменную вида zalupaMeasurements, ты уверен, что она замеряет залупы и случайно не пропускает пёзды в крайних случаях? If...else посередине в них не запихнёшь, в отдельную функцию часть проверки не вынесешь. Да и разбить их на части для тестов нетривиально.
>Без гугла можешь определить, что она проверяет, и какая минимальная строка, проходящая валидацию?
Кто в своем уме будет просто так вглядываться в регулярку? Нужно смотреть на название переменной. А если хочешь узнать что там и как, то или документация или юнит-тесты
Этого дебила >>512804 не слушай, а то станешь обычным говнокодером-закрывателем-тасочек, который потом будет плакаться на хабре и выйдёт в окно.
>>512805
>Нужно смотреть на название переменной.
Ну так регулярочка сверху проверяет залупы или нет? Вот например тебе пришёл баг репорт, что эндпоинт для залуп иногда пропускает пёзды. Как в этой регуляр очке проверить, какая из её частей фейлит? Брейки в дебаггере не поставить, да даже условный консоль лог не вызвать посреди выполнения. Человек, который её написал, просто решал проблемы по мере их поступления и уже давно съебал в луга позеленее, так что спросить у него советов тоже не вариант.
>а то станешь обычным говнокодером-закрывателем-тасочек, который потом будет плакаться на хабре и выйдёт в окно.
Наймут как раз того, кто будет решать проблему ровно настолько, насколько это требуется, то как это описано в поставленной ему задаче, а не того, кто будет над простейшей таской работать неделю, просто чтобы закрыть какие-то мифические требования, которые от него никто не просил
>Ну так регулярочка сверху проверяет залупы или нет?
Попустись, перфекционист, ты аргументируешь свою точку зрения довольно сложной регуляркой, когда как речь должна идти о простейшей регулярке. Это некорректно и выдает в тебе неуверенного омежку, который идет на все, лишь бы свою правоту доказать, даже вот на такие приемчики
Уже видел 5 разработчиков в своих галер которые пришли с алгоритмами а в итоге их уволили нахуй
- Иван ты почему не сделал задачу, нужно просто блять покрасить 1 кнопку, делается 10 минут, но мы тебе дали сутки
- Так это не правильно! нужно вынести все в шаблоны, а цвета в переменные
-Просто блять поправь цвет кнопки
- В будущем нам это не поможет, надо делать хорошо
- Может будущего проекта и не будет из-за таких как ты, уволен нахуй
В первую очередь тебе надо изучать то, что ты сможешь непосредственно в данный момент в своей работе использовать
1. Документация в react
2. Документация фреймворка или библиотеки, которую используете в работе дополнительно
3. Документация по TS
4. Грокаем алгоритмы (небольшая книга, которая поможет погрузиться в принципы построения и расчета сложности алгоритмов)
Да и все на первое время
И у меня проблема уже на первом же шаге.
Я не могу сделать апи запрос, потому что, насколько я понял, изначально в браузерах запрещён CORS
CORS можно выключить, но это не так просто, и я не хочу ничего выключать
Есть какой-нибудь способ?
Мне самому что ли перекатывать???
>>2513029 (OP)
>>2513029 (OP)
>>2513029 (OP)
>>2513029 (OP)
>>2513029 (OP)
Давно пора тред закрепить. Смысл пересоздавать каждую неделю?
Во-первых: попробуй mode: 'cors' (пикрил)
Во-вторых: погугли расширение для хрома, которое это ограничение убирает. Не имею в виду использование его, но просто посмотри по коду как оно это делает. Насколько я понимаю, плагину могут куда угодно стучаться
В-третьих: можешь написать бек на ноде, который по твоей указке будет стучаться куда твоей душе угодно
Ребята, привет.
Нужна помощь.
Делаю свой проект, нужно отразить лист дат (можно читать как запись). У дат (записей) есть некий приоритет
На главной будет 4 кнопки, в зависимости от нажатия будет показывать записи low, medium, high или все сразу. При этом нажатая сейчас кнопка будет подсвечена.
Почему-то не получается задачть свойство width: 200px; для этих кнопок, вообще никакие габариты. В консоли F12 оно перечеркнуто, но причина непонятна.
1) почему так? почему некоторые свойства игнорируются? Я же не переопределяю свойства, а у кнопки (input) есть такие свойства
2) налицо некое дублирование кода. Как лучше сделать? менять свойства через js?
Если есть какие-то наработки, как лучше сделать и как няшно сделать, то было бы круто.
https://pastebin.com/HkLunsta
>В консоли F12 оно перечеркнуто
Это значит их переопределяет другое правило с более высоким приоритетом
>на codewarse они неструктурированы по сложности
Нарк? Там напрямую указывается сложность от 8 до 1.
Если да, то что)
Я знаю про каты, что можно ставить уровень сложности, но мне даже в в 1 уровне многие задачи тяжко делать.
Я хз как обьяснить, вот допустим, я прохожу тему фуекций или массивов и я хочу задачи только с этой темой решать что б закрепить материал и спокойно идти дальше. В cw все рандомно это отнимает время и мотивацию
() => {} созраняет контекст this, а function() {} создаёт новый.
блядь чтобы сделать просто один элемент в хтмле надо 4 строчки кода. дебилы блядь
А сколько должно быть строчек?
>но мне даже в в 1 уровне многие задачи тяжко делать
Это значит, что у тебя проблемы с логикой, а не программированием
Что не так? Словами сформулируй. Ты сказал, что
>сделать просто один элемент в хтмле надо 4 строчки кода
Я тебе показал как его "сделать" одной строчкой. Что не так?
>document.body.innerHTML = '<div>Ne blagodari</>'
В чем прекол? Просто в боди добавить один элемент?
Как можно еще один элемент добавить?
document.body.innerHTML = '<div class = "MamuEbal" >Ne blagodari</>'
//ни так
var pizda = document.getElementsByClassName("MamuEbal");
pizda.innerHTML = '<div class = "Pososy" >Ne blagodari</>'
//ни так
document.class.MamuEbal.innerHTML = '<div class = "Pososy" >Ne blagodari</>'
алсо код из боди весь удалился)
Прикол в том, что ты ставишь кринжевые требования к задаче: "сделать что-то в одну строку"
Зачем перемешивать изначально разные действия: создание элемента, добавление его в dom, манипуляции со свойствами? Если у тебя есть нужда добавить несколько элементов, просто вынеси функционал создания/добавления в отдельную функцию и вызови ее несколько раз с разными параметрами
>"сделать что-то в одну строку"
Не, туплю, такого не было, но тебе не нравится то, что это все превращается в 4 строки
Также как и все остальное: от простого к сложному
Смотря где ищешь. Если данные уже загружены на клиент, то можно и на нем отсортировать, а если это поиск в БД, то очевидно на стороне сервера
чтобы учить ангуляр нужно учить rxjs
() => {}
да
Можно минифицировать весь код в одну строку.
Так-то тебе нужно создать, а потом добавить, а может еще что-то в элемент добавить. Это несколько действий. Описать это несколькими строками будет понятнее для чтения потом.
Это naming declaration и arrow function.
Ебашь function expression!
const name = function(){}
Для разных случаев по-разному.
Так это все еще arrow declaration
Я попытался передать, у меня передаётся пустой объект, прототип объект, а должна быть функция
Есть поле count у элементов массива с числовым значением. В поле передаётся число, однако JSON.parse() на это место одного из чисел ставит NaN.
При этом если вывести массив с целиком и вывести каждый элемент по отдельности, то результаты получаются разные.
Как так?
Есть один флексбокс, в котором рядком выстраиваются сгенерированные js-ом квадратики (пикрил 1). Очертил его рамкой для наглядности. На большом экране не заметно, но на маленьких устройствах косая поебота глаза режет.
Можно ли как-то попросить его няшно обернуть контент и центрировать относительно себя (пикрил 2)? Или тут стоило грид делать?
>нет треда верстальщиков
Очень недооцененная тема, кста. 9 из 10 фронтендеров верстают как аутисты и самый простой способ сейчас вкатиться в ИТ - это зайти со стороны верстки
Плюс в том, что карьерный рост до условного сеньор-верстальщика займет в 2-3 раза меньше времени, чем путь до сеньор программиста
Потому и треда, кстати, нет, что люди просто боятся нормально залетать в верстку. А почему боятся - хз
Плюсую. Вообще, годная тема, да и фронтам тоже стоит уметь.
>justify-content: center
Спасибо, пробовал. Наверное, я неправильно проблему описал.
Мне нужно выравнивание по левому краю как у текста в книге... Бля, пока писал, понял, что выглядеть так будет даже лучше. Пусть симметрично останется. Мерси.
Привет, анон!
Почему у меня не получается считать переданные в Vue компонент пропсы?
внутри делаю так:
@Component
export default class SomeComp extends Vue {
@Prop() readonly someText?: string;
@Prop() readonly someFlag?: boolean;
при вызове так:
<PageTitle :someFlag="someFlagResult" :someText="title" />
в других местах работает, а тут нет
PageTitle* ну тут SomeComp, ну ты понел, я не палюсь
Пока невозможно понять. Пока пытался не спалиться, что-нибудь потерял, либо просто синтаксис неправильный.
Ок, ещё раз. У меня есть некий компонент SomeOuterComp, внутри которого я вызываю другой компонент SomeComp вот таким образом:
<SomeComp :someFlag="someFlagResult" :someText="title" />
мне нужно передать в него некий текст и некий флаг, в зависимости от которого этот текст будет, например, обработан каким-то образом
внутри компонента SomeComp я объявляю принимаемые пропсы следующим образом:
<script lang="ts">
import { Component, Vue, Prop } from 'vue-property-decorator';
@Component
export default class SomeComp extends Vue {
@Prop() readonly someText?: string;
@Prop() readonly someFlag?: boolean;
}
</script>
а в теле темплейта этого компонента делаю примерно следующее:
<h4 v-if="someFlag" >
<span v-if="someText">{{
$t(someText)
}}</span>
</h4>
и вот оно не работает, если передать флаг тру и некий текст
Ок, ещё раз. У меня есть некий компонент SomeOuterComp, внутри которого я вызываю другой компонент SomeComp вот таким образом:
<SomeComp :someFlag="someFlagResult" :someText="title" />
мне нужно передать в него некий текст и некий флаг, в зависимости от которого этот текст будет, например, обработан каким-то образом
внутри компонента SomeComp я объявляю принимаемые пропсы следующим образом:
<script lang="ts">
import { Component, Vue, Prop } from 'vue-property-decorator';
@Component
export default class SomeComp extends Vue {
@Prop() readonly someText?: string;
@Prop() readonly someFlag?: boolean;
}
</script>
а в теле темплейта этого компонента делаю примерно следующее:
<h4 v-if="someFlag" >
<span v-if="someText">{{
$t(someText)
}}</span>
</h4>
и вот оно не работает, если передать флаг тру и некий текст
Это всё очень здорово, но ты повторил всё то же самое, что в предыдущем посте. Ты в ide свой непалящийся код пробовал писать? Потому что из твоих объяснений я понимаю, что ты делаешь что-то вроде.
<SomeComp :someFlag="true" :someText="Alice in wonderland" />
Но тогда очевидно, что ты пытаешься передать статические пропсы динамическим методом, но я всего кода не вижу, в отличие от ide.
В смысле? Это разный синтаксис для разных действий.
<SomeComp :someFlag="true" :someText="Alice in wonderland" />
Нет, ну по значению я делаю что-то вроде этого, туда приходит true либо false и некий текст, разный, в зависимости от ситуации. Но у меня там переменные, всё ок.
<SomeComp :someFlag="someFlagResult" :someText="title" />
при наведении на них мыши ide показывает SomeOuterComp.someFlagResult и SomeOuterComp.title
в этом смысле всё ок
Это всё очень хорошо, но я тебе больше помочь ничем не могу. Всё полезное, что можно было понять из твоего непалевного кода, я понял, и это тебе не помогло. Остальное сам.
Лучше сам сделай. Если какие-то темы пропускать, вся учеба идет по пизде и потом с ней вся жизнь. Будешь потом долбоебом за 30к всю жизнь работать. Тебе оно надо?
Там одни и те же принципы в основе лежат, так что, если правда хорошо знаешь vue, то никуда эти знания не пропадут, а только усилят тебя
>>515751
Добавлю: переключиться с одного фреймворка на другой, только чтобы подзаработать - это ок. Если что-то не пойдет, всегда сможешь вернуть обратно. Раздумывать надо, когда переключаешься на другой ЯП или другую платформу (с мобильной на фронт или наоборот), вот тогда да, стоит волноваться за будущее, а тут даже не парься
>>516018
Все понял, там выше по коду было if(blabla) return <Blabla>
когда поменял их местами стало нормально, не знал что так работает.
Кстати мб можете подсказать как эту тернарку покрасивее переписать, а то говнокодом попахивает?
const definedNodes = useMemo(() => {
return (filteredNodes.length
? filteredNodes
: filteredDataNodes.length
? filteredDataNodes
: skillNodesWithoutDuplicates)
}, [filteredDataNodes, filteredNodes, skillNodesWithoutDuplicates])
А теперь поясни в чем суть этой конструкции. Для чего она написана?
чем тебе свитч не нравится?
https://www.youtube.com/watch?v=YZzoDjfLyts&ab_channel=%D0%9B%D0%B0%D0%B1%D1%96%D1%80%D0%B8%D0%BD%D1%82%D0%97%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F
Пришлось на ноде написать автотесты, до этого вообще никогда не трогал ее.
в общем одна из задач которую нужно решить это послушать вебсокет 3 секунду, и если сообщение не пришло, то пульнуть false, если пришло, то true.
как блядь это сделать с помощью обычной библиотеки типа websocket. Такое ощущение, что нет ниодного нормального примера, где был бы реализован клиент нормально.
Основные проблемы:
Как мне в одном потоке подключиться к сокету, в том же потоке его слушать 3 секунды и в том же потоке вернуть при получении сообщения значение.
ТО что я нашел это пикрил
Даже по документации нихуя непонятно, уже второй день психую.
ВОт как мне блядь сделать так, чтобы все в один поток было и как мне в этом же потоке вернуть значение с клиента подключенного сокета в рамках одной функции
После подключения запускаешь таймер и по истечению просто проверяешь было ли сообщение
Если сообщение приходит, просто переменную какую-то в true переключаешь
Или это не то?
Суть в том, что 3 секунды это максимальное время, в идеале коннекшн должен закрыться через 200-300 миллисекунд с сообщение тру.
Ну и соответственно это все должно быть в один поток, как это сделать я вообще представления не имею
Последовательность условно такая
-скрипт посылает консольную команду на которую сервер должен среагировать
-цепляется к веб сокету
-слушает веб сокет до трех секунд и в течении этих трех секунд если пришло нужное сообщение то возвращает тру если не пришло то фолс
>должен закрыться через 200-300 миллисекунд
А если клиент не успеет отправить сообщение или проблемы с сетью?
>Ну и соответственно это все должно быть в один поток
Что такое поток для тебя? Насколько я понимаю, ведь js в одном потоке работает всегда
>-цепляется к веб сокету
Клиент цепляется к сокету на сервере, так?
>-слушает веб сокет до трех секунд и в течении этих трех секунд если пришло нужное сообщение то возвращает тру если не пришло то фолс
Кто слушает, клиент или сервер?
Ну в любом случае, просто ставь таймер и жди. Если сообщения нет, то закрываешь по таймеру, а если сообщение есть, закрываешь после его получения
Объекты по ссылке, примитивы по значению. Всё.
Да, ездил года 4 назад, если память не изменяет. Ничего особого учитывая сегодняшнее обилие видео на ютубе с конференций более высокого уровня. Стоит ехать только если ты хочешь непосредственно с кем-то заобщаться из выступающих или оставить свое резюме сразу в несколько компаний, которые там участвуют. Ну и просто как путешествие норм, а в целом хуйня без задач
Вопрос в том, верное ли у меня было представление или нет. Сначала нужны азы JS, чтобы что-то адекватное сверстать? Или перед переходом к JS нужно сверстать десятку макетов?
Извините, если глупый вопрос. Я запутался.
>В гайдах на ютубе
В этом твоя проблема. Документацию нормальную читай, а не инфоцыганское говно.
лол? иди нахуй со своими юзлесс эвентами, проектор ебаный
@
ДОБАВИЛ ХВОСТ ВЕТЕР В ПРИЛОЖЕНИЕ
@
ДИЗАЙНЕР ПРОСИТ УМЕНЬШИТЬ ОТСТУП НА 1PX
@
ПУК СРЕНЬК ВЫ НИПАНИМАЕТЕ У НАС ДИЗАЙН СИСТЕМА!!!
Пытаюсь прикостылить свистелки к отзывам на странице товара на aliexpress.ru При переключении страниц отзывов происходит не понимаю какая загрузка предыдущих\следующих отзывов, соответственно исчезают мои свистелки, добавленные по окончании загрузки window.addEventListener('load'. Подскажите (желательно конкретно), на что навесить выполнение функции, чтобы свистелки автоматически добавлялись для _каждой_ страницы отзывов.
Пока тупо вставляю кнопку, чтобы вручную каждый раз жмакать для добавления. Как вариант представляю, что можно при первоначальной загрузке страницы добавлять автоматически, а затем после нажатия на кнопки переключения страниц отзывов выполнять функцию по таймеру (но т.к. время прогрузки бывает разным, это плохой вариант; и пока мне не удалось добавить вызов моей функции поверх штатной функциональности кнопок переключения страниц).
Пробовал наугад делать addEventListener для различных event разных объектов в области отзывов (например addEventListener load картинки внутри "первого" отзыва, т.к. для onload Event вижу Supported HTML tags: <img> ); пробовал слушать monitorEvents($0) разных объектов в области отзывов - конечно, ничего не получилось и не увидел.
Дополнительный вопрос: на что завязать выполнение "после прогрузки всей страницы целиком", когда она действительно прогрузилась вся целиком? То есть вот этот window.addEventListener('load', function() {}) у меня конкретно на страницах алиру (рандомный пример https://aliexpress.ru/item/1005004546199711.html ) срабатывает раньше, чем фактически прогрузятся все куски страницы (типа тех же отзывов, см. пик). Поэтому сейчас у меня в него еще завернут таймер, так чтобы мой скрипт срабатывал в больше 50% случаев.
Самый простой вариант - это по таймеру просто проверять наличие перделок на странице и если они не найдены - инициализировать их
>"после прогрузки всей страницы целиком"
Нет такого понятия как загрузка целиком - там после загрузки основных файлов, указанных в html, начинает работать js и снова начинают выполняться запросы к серверу, и хуй ты стандартными средствами разберешь загрузилось или нет
Найди на странице какой-то маркер (или несколько) и на него ориентируйся - если он на странице - значит блок загружен
> MutationObserver
>А причём здесь слушать?
Тогда я не понимаю что ты этим хотел сказать. MutationObserver - это в первую очередь механизм для получения уведомлений об изменениях в DOM. То есть его буквально надо слушать получая от него события
Человек хочет отслеживать изменения в доме, чтобы в нужный момент добавлять свои элементы.
>MutationObserver - это в первую очередь механизм для получения уведомлений об изменениях в DOM
Ну, и как он поймет, что изменение произошло в нужном ему месте? Как он определит, что страница загружена полностью?
Хм, а просто принудительно применять переделки по таймеру будет экономичнее или нет, чем проверять их наличие? У меня комп небыстрый, и открываю сразу по десятку страниц, на которых это должно выполняться. А таймер придется ставить короткий, и проверка или применение будут долбить часто.
>>521070
>Найди на странице какой-то маркер - если он на странице - значит блок загружен
Идею понял, спасибо. Эти проверки наличия как экономичнее всего (или правильнее всего) делать? match или search или find или что-то другое?
>>521242
>MutationObserver
Спасибо, для листания отзывов выглядит как то что надо, буду разбираться.
Работал многократно. Пусть тот тип напишет, что хочет сделать и я напишу решение.
>экономичнее
Любой из вариантов можно сделать как быстрым, так и медленным. Так что обсервер будет получше, чем интервал.
>Эти проверки наличия как экономичнее всего (или правильнее всего) делать?
document.querySelector("<селектор твоего говна>") если для таймаута
и Element.prototype.matches("<селектор твоего говна>") для обсервера
Когда вы добавляет элементу класс, который уже есть у этого элемента - в девтулзах во вкладке с DOM можно увидеть, что никакие значения не изменяются, ничего не обновляется, что, логично. Я правильно понимаю, что где-то под капотом в нативном коде такая вещь мемоизирована и она проверяет наличие класса у элемента? Где про такое можно почитать?
Спасибо друг! Хз как ты это нашёл и откуда знал где искать, но, благодарю
>puppeteer
Не то, мне надо минимлку, т.е. что бы был определен window, глобальный WebSocket и localStorage (т.к. MQTT библиотека к ним явно обращается), а пупетир я так понял уже на уровень UI лезет с пдф и хтмл.
Спасибо.
Нихера не выходит. Как сделать что бы под nodejs было браузерное окружение, а именно: window, localStorage, ArrayBuffer, WebSocket. Я объявляю глобальные переменные, но библиотека которой они нужны все равно пишет ошибку.
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const window = JSDOM.window;
const localStorage = JSDOM.localStorage;
const WebSocket = JSDOM.WebSocket;
const ArrayBuffer = JSDOM.ArrayBuffer;
Ебанько, это не работает, нахуй ты лезешь с советами если не в теме? Абы вякнуть?
Ты просто криворукий долбоеб, все прекрасно работает.
cron
Можно не удалять, а просто показывать только те, которые по дате написания подходят. Намного проще, чем городить механизмы удаления
Понял
То что люди делают на реакт, можно сделать на vue, раза в 3 быстрее. Теперь весь в сомнениях, стоит ли учить его, если он по факту хуже того что я уже умею.
Так реально же кринж, что результат умножения от версии зависит (я не ебу че там у вас в пхп, но на этом сайте пишут что обе версии current, то есть это не какая-то хуевая версия, от которой отказались). Хз че тебе не понравилось.
>Сравнивает мажорные версии компилятора
>Удивляется мажорным изменениям
Вот где настоящий кринж, лол. Джуну невдомек, но:
1. Никто не обновляет просто так версии компилятора
2. Никто и никогда (ну джуны только мб) не обновляет компилятор на новую мажорную версию
>результат умножения от версии зависит
Скажу больше: так еще и синтаксис может отличаться
Почему мы возвращаем функцию отнимая от n единицу, и затем перемножая их.
1. function multiply(arr, n) {
let product = 1;
for (let i = 0; i < n; i++) {
product = arr;
}
return product;
}
2. function multiply(arr, n) {
if (n <= 0) {
return 1;
} else {
return multiply(arr, n - 1) * arr[n - 1];
}
}
как обои такие сделать?
Ну что касательно вопроса? Это простейшая рекурсия. Найди любой тутор по рекурсии в js и посмотри как там её на итерации раскладывают. Не поймёшь суть рекурсии, не поймёшь этот код.
Первый код у тебя, кстати не работает. Должно быть product = product * arr;, а не product = arr;
Хуйло пиздливое, там даже в описании сказано что с локальным хранилищем проблемы. Нахуй мне твой каловый jdгандон нужен если там все вручную собирать?
Когда пользователь подгружает форму с сервера ему приходит список продуктов (пара тысяч штук), они кладутся в отдельное поле. Надо чтобы юзер мог набирать в input поле текст и согласно ему продукты будут фильтроваться (оставаться только те в составе которых есть набранный текст - очевидно же). Как это делать? Простой перебор всех продуктов на каждом onkeydown event и установка hidden / not hidden норм тема? Или с производительностью могут быть проблемы?
Меня интересуют как небольшие проекты, так и прям полная подготовка как у яндекс практикума. Подскажите, что есть годного у англосаксов
Ноутбук в каком ценовом сегменте подойдёт для программирования на js? Смогу позволить себе что-то в районе 40-50к если подкопить месяц, но если совсем мало могу затрайхардить и подкопить еще, но будет адово.
В игры я играть не буду даже качать ничего не стану, прошел этот этап еще пару лет назад когда комп был и не вернусь. Помогите аноны.
40к тебе хватит, у меня ноут за 40к, для работы брал, сижу на нем работаю
Почему именно ноутбук? Если бюджет небольшой, то лучше (дешевле) собрать из б/у комплектующих системник, который будет в разы мощнее ноута за тот же прайс
Пара тысяч штук продуктов в "поле"? Те прям в виде каких-нибудь html тегов? Проблема с производительностью уже на этом этапе. Лучше вообще не загружать на клиентскую часть настолько огромные списки чего-либо, а подгружать их частями, по 50шт хотя бы и только когда это действительно нужно. А если сама задача требует решения именно в таком виде, то я бы скрывал ненужные продукты через display: none;, и делал перебор продуктов только через 1-2 секунды после введения последнего символа (те не делать перебор пока человек активно печатает)
Отсмотрел бОльшую часть курса Шварцмюллера по js, вроде более менее освоил БАЗУ, периодически применяю в работе, но зачастую не без гугла/стековерфлоу. По крайней мере простенькие скрипты теперь в состоянии писать/понимать + подключать и настраивать всякие свистоперделки. Помимо этого, есессна освоил кроссбраузерную верстку, хотя пишу в основном с помощью тейлвинда. Пробовал без него, получается, но пиздец насколько это медленнее, а сроки как правило горят всегда. В будущем возможно подтяну цсс и попробую вкатиться в препроцессоры. Суть не в этом.
Понял одно — в целом мне пиздецки скучно писать всякие слайдеры и подобное говно. Фетчить дату и парсить джейсоны, например, еще более менее интересно, но базовый фронт оказался довольно скучным. До этого немного пытался в реакт/некст, потому и пишу про работу с данными.
Короче досматриваю курс с болью, очень скучно, постоянно отвлекаюсь, когда нет практики — хоть вешайся, хз как часть про ооп смотреть, там вообще одна теория.
В связи с этим думаю попробовать потихоньку дрочить пыху. Стоит ли оно того? Думаю, что бэк будет поинтереснее, в т.ч. в связке с фронтом. На пыху выбор пал потому что это не настолько распиаренное говно как петухон, ей все еще довольно часто пользуются в СНГ + сам по себе язык показался несложным с довольно приятным с-подобным синтаксисом, очень похожим на js, а он мне по нраву.
Стоит ли перекатываться в очередной раз или все-таки досмотреть курс по js и потом трайхардить реакт, как я планировал ранее?
В идеале вкатиться бы в конторку, но мне и сейчас довольно часто стали заказы падать по верстке/вордпрессу, как начал этим плотно заниматься последние полгода.
Ну так раз некуда идти, значит остается только вкатываться
Вкатывающихся много потому что всё больше людей остаются без работы или просто хотят более "стабильную" работу на удалёнке. Из-за этого вкатунов много, но реально вкатываются единицы, потому что предложений больше, чем спроса.
Открой хх и просто посмотри на количество вакансий для ждунов/трейни в своём Мухосранске. Увидишь, что на одно место несколько десятков, а то и сотен вкатунов.
Тех кто по настоящему готов вкатиться единицы, остальная часть просто громче всех кричит что вот-вот и вкатиться, если готов принять тот факт что твои знания будут не актуальны уже через год то добро пожаловать в IT
>знания будут не актуальны
Ну это уже слишком. Часть знаний, офк, будут устаревать, но та часть, которая про паттерны, алгоритмы и парадигмы программирования не меняется почти уже несколько десятилетий. А то, что там синтаксис языка допиливают - это мелочи
Нашел https://github.com/keichi/binary-parser но он односторонний (только десериализация).
Дичайшее отторжение, было у кого? Как-то заставляли себя?
Год как вкатился на node js разраба на стажировку, а
после всего пиздеца весной пришлось съебаться на другую галеру, на схожий стек
Короче на новом месте все УЖЕ заебало до нельзя, процессов нет, дедлайны пиздец, тесты не пишутся, контроля качества 0, с деплоем и прочей девопс сракой разбираться приходится самому и прочие атрибуты должности «инженер-программист»в совковой госконторе.
Скиллы конечно подтянул, но работать в таком цирке доебало.
Короче че ваще в среднем хотят от мидлов по ноде?
Работал с експрессом, нестом, постгрей, кафкой ну и всем сопутствующим, реакт когда вкатывался задрачивал, но на фронт ваще не охота
Есть компонент, в который приходят пропсы, и контейнер к нему. В нем использую еще 2 мелких презентационных компонента.
Как будет правильнее?
1) Сделать каждому подкомпоненту свой контейнер;
2) Раскидывать нужные пропсы в каждый подкомпонент из родителя Сейчас у меня так и работает, но выглядит как-то настораживающе;
3) Сразу передавать полную копию пропсов в каждого дочернего.
1. Курсы от Кантора aka learn.javascript.ru
2. Отус
3. ИТ центр специалит в даунке
У первого очень приятная цена, плюс я уже знаком с этим сайтом, и преподают там доходчиво, в этом я уверен. У последнего есть очные занятия, как по мне они лучше дистанционки, хотя хуй знает. Насчет отуса не знаю вообще, говорят норм. Что посоветуете?
>1
>цена
В смысле? Там бесплатной инфы за глаза хватит. Многое для вката даже не нужно.
Дрочи его, и все. С архитектурой и прочими обвесами думаю разберешься, раз в магистратуре уже. Многие вещи интуитивны для инженера. Луркай примеры проектов и осваивай.
а го легкий чтоли?
я на реакте уже могу написать проект какой нить, просто мне поебать асболтюно на это, тошнит буквально...
Хочу отредактировать тему для tumblr.com. В частности там есть css файл к которому у меня нет доступа, я хочу скопировать все стили себе сохранить и просто на него сослаться. Выглядит вот так
<link rel="stylesheet" type="text/css" href="https://static.tumblr.com/j9zrgpw/MFon38qg7/style.css"/>
Вопрос. Как этот css также загрузить на tumblr, чтобы на него сослаться в href? Я не понимаю как бля на этот static.tumblr.com попасть.
Два часа тупил, но после того как написал быстро нагуглил. Проехали.
а где на схеме промис тогда, который сразу резолвится?
https://www.google.com/search?q=promise+vs+settimeout
В первом случае они создаются последовательно с задержкой, то есть и регистрация в event loop тоже происходит с задержкой. Во втором же случае они там все сразу создались и сразу зарегистрировались и будут выполняться, следовательно, тоже все вместе. Хз как там во втором случае отрабатывает await, но выполняются они асинхронно - это точно
Нет. Если страницу не перезагружать, по переход по компонентам работает. Если перезагрузить, то router-link становится текстом, а через href компоненты не открываются. Пересмотрел кучу роликов по вью, везде один и тот же копипаст и ни один из рассказчиков ни разу не обновлял страницу. У меня такое чувство, что дальше этих уроков никто не продвигался, тк ни одного похожего вопроса я находил в гугле.
Ну или я тупой.
Хз, как это работает, в angular с этим вообще не было проблем
какая-то знакомая ошибка, у меня в вебпаке нужно было поменять historyApiFallback, что-то такое
Спасибо, брат, постараюсь!!
Залей пример в котором повторяется ошибка в какую-нибудь песочницу. По твоему описанию вряд ли кто тебе тут поможет, надо код смотреть
Что ещё можно придумать? Как всё разделять нормально, блядь?
Сейчас сами данные, методы и евенты всяких текстовых полей и кнопок хранятся в массивах как объекты, объекты гуя. Рест через объекты-агенты-обсерверы, на которые подписываются объекты гуя.
Есть ссылочное дерево в виде массива с ключами объектов гуя, но хуй знает даже, оно вообще нужно? Оно почти полностью повторяет функционал скриптов инициализации по сути. Может через ссылочное дерево инициализировать и рендерить все объекты? звучит разумно, нужно посмотреть как это будет работать, хуле я раньше не догадался
Пиздец какая-то каша и я не понимаю вообще как всё организовать нормально чтобы заебись было и быстро перепроектируемо всё это. Как scheme-driven как-то, чтобы схема просто вставлялась в ссылочное дерево? А как создавать объекты-агенты-обсерверы тогда? Тьхфу, блядь, шизофрения.
Пишу себе простой лендинг. Задумал перевести его на английский.
Сделал select чтобы выбирать язык
Сделал два файла с содержимым текстов на русском и на английском
Но возникла странная проблема.
Когда сайт открываешь первый раз, он пустой (кроме картинок)
И только когда выберешь язык в селекте и обновишь страницу - все отрисуется
Да, перевод пихаю в localStorage
Я пробовал хуки жизненного цикла created() / mounted()
Но криейтед отключает селект почему-то, а маунтед тоже работает только после ф5, загружая исключительно пустой сайт.
И в том и в другом случае я внутри криейтед и маунтед складываю в локалСторадж русскую версию содержимого.
Короче, не работает. Как это сделать нормально? Как заставить сайт прогрузиться сразу?
Чюваки. Никто не знает, как пофиксить проблему с hover у drag and drop API?
Пример на гифке. После дропа элемента hover определяет неверную область наведения, т.е. применяется в элементе, откуда непосредственно начался drag. Пытался прыгать с классами и pointer events: none, но, видны глитчи. Есть возможность это как-то вылечить или это уже вшито в браузер? Подобные проблемы уже находил в интернете.
Если ты дохуя такой опытный, то в чем вообще вопросы? Открываешь спецификацию к языку и читаешь
Курить ECMA стандарт предлагаешь? Стандарт слишком абстрактно описан обычно, просто нормальных книг (как у Страуса для С++) про JS нет что ли?
>Курить ECMA стандарт предлагаешь?
Да. Полагаю, что книги с информацией размытой водой нужны только тем, у кого нет опыта в программировании. топ-мидлы и сеньоры вкатываются на раз-два через чтение спецификаций
Я рил просто не понимаю, что ты подразумеваешь под "нормальной книгой". Что именно там должно быть написано?
У тебя есть опыт программирования в другом языке, ты считаешь себя профи и надо просто немного другой синтаксис подтянуть у языка, который в то же парадигме программирования находится. Проблем возникнуть не должно
>Стандарт слишком абстрактно описан
Вообще-то нет ничего более конкретного чем стандарт. Ты что-то путаешь
>Полагаю, что книги с информацией размытой водой нужны только тем, у кого нет опыта в программировании.
Такие книги никому не нужны, т.к. это просто говно а не книги.
> топ-мидлы и сеньоры вкатываются на раз-два через чтение спецификаций
Это петухи из днище контор, нещитово. Эти питуха как вкатятся, так же и выкатываются т.к. нихуя не усвоили.
> Я рил просто не понимаю, что ты подразумеваешь под "нормальной книгой". Что именно там должно быть написано?
Потому что ты нормальных книг не читал ибо веб-макака. В нормальной книге материал излагается последовательно, определения даются предельно точно и полностью как в книжках по матану, а не как у кантора кторый сначала пытается показать на частных примерах, чем только запутывает суть дела пока пытаешься перевести с его языка на нормальный.
>>531627
Просто ты малограмотное ебанько, стандарт по определеню суть абстрактное понятие. Ты походу с уровнем мышления бабки не знаешь базовых понятий и поэтому обзываешь любую неведомую хуету страшным (для тебя) словом "абстрактной".
Где ты увидел тут личность? Просто ответил адекватно автору шизы.
Он тебе всё правильно написал, а ты шизик-вкатун малолетний, хуйню несёшь. Всегда все читал стандарты, никто никогда никаких книг по языку не читал, это просто не нужно и звучит это как бредятина ебаная.
Читаешь про алгоритмы, паттерны, архитектуры и взаимодействия @ пишешь на любом языке.
Если ты уже умеешь на каком-то языке писать - подразумевается что всё это ты знаешь и единственное что тебе нужно - конкретные спецификации и реализации в выбранном языке.
>читал стандарты, никто никогда никаких книг по языку не читал, это просто не нужно
Адекваты в JS треде
Не семени, вебмакака. Я ж не виноват что малограмотное ебанько. Вангую и стандарта ты в глаза не видел, а просто решил затралить тупостью.
>Читаешь про алгоритмы, паттерны, архитектуры и взаимодействия @ пишешь на любом языке.
Кстати, хорошая книга как раз должна быть в этих терминах а не жевать сопли. И ни одно описание формальной грамматики до этого не опускается (но местным дебилам в глаза не видевшим ни одной спецификации этого не понять).
У меня остался только один вопрос к местным ебанькам - это JS каличная технология что к ней нормальных книг не написали или местный коннгент такие долбоёбы? Поясните плиз.
https://blog.izs.me/2013/08/designing-apis-for-asynchrony/
Чего ты так трясешься, шиз? Правда думаешь что вокруг тебя одни недоброжелатели?
>>532481
> Кстати, хорошая книга как раз должна быть в этих терминах
Какая хорошая книга?
> JS каличная технология что к ней нормальных книг
Какая нормальная книга по js? Чего блядь ты несешь?
Ты думаешь в си/с++ и жс алгоритмы отличается? Это к языку программирования отношения не имеет вообще, применение паб/саб и всяких бинарных деревьев одинаково, ничем жс не отличается от других языков.
Тебе не по js книга нужна, тебе нужен вводный курс для вкатуна на пистоне. Хуй знает, погугли "алгоритмы и структуры данных" и найди курс на жс, Introduction to Algorithms или ещё какую хуйню. В любом случае, твои кукареки не к жс относятся, а к самому базовму вкатунству.
Ладно попробую почитать книги, тем более статьи эти пишут не всегда понятно
Зависит от того, как у тебя стор устроен.
Если у тебя данные для этих компонент лежат вместе, то можешь просто сделать один контейнер и в нём вытащить из стора данные и через пропсы прокинуть.
Если у тебя эти данные разделены (т.е. за одну группу данных отвечает один редьюсер, а за вторую другой), то тогда имеет смысл в каждой компоненте тащить отдельно. Если ты условно говоря тащишь одно значение и не делаешь с ним каких-то преобразований, то тебе и контейнер не нужен.
Можно просто массив.
Шизик, про алгоритмы не я писал, я ебанько вроде тебя выше. Просто было лень цитату долбоёба резать (много чести для долбоёба), я по факту отвечал на последующие тезисы про паттерны.
>Правда думаешь что вокруг тебя одни недоброжелатели?
Не не недоброжелатели а просто ебаньки и некомпетентные веб-макаки, коих как известно 95%.
auto fellation
>вкатун
Вкатил хуй твоей мамаше-шлюхе в пролапсовое очко.
>Ты не понимаешь основ программирования, ето факт
С точки зрения малолетнего долбоёба - безусловно.
> не понимать что все языки одинаковые
Только с точки зрения тебя - малолетнего дурачка сиречь веб-макаки.
Для начала какой нибудь ерланг или лисп освой а потом пизди, макака-резус.
> называть кого-то некомпетентным
Вещи нужно называть своими именами, а посему ты - тупое, малограмотное ебанько.
Зачем отдельный тред для этого?
https://developer.mozilla.org/en-US/docs/Web/JavaScript
Учишь доку, пишешь код, учишь доку, смотришь какую хуйню написал до этого, переписываешь - повторяй столько сколько нужно раз. Нет никакой единой, бля, книги по программированию.
Мне нужно написать код, который бы изменял макет в зависимости от параметров. На пикриле калькулятор расчёта стоимости изготовления рекламы. Нужно чтобы в верхней части в зависимости от введённых параметров формировался соответствующий макет. Вопрос в том, в какую сторону вообще копать? Если кто ответит, очень прошу поподробнее, ибо я не так давно вкатился во все эти ваши коды, голова кипит.
Код сайта прилагаю:
HTML: https://pastebin.com/nei7FwSC
CSS: https://pastebin.com/TM7uqh8h
JS: https://pastebin.com/FXC4EsQV
А что есть макет? Делишь его на составные части, определяешь как их сделать и проектируешь
Только сейчас понял, что недостаточно понятно объяснил. Ну, по идее в чёрном прямоугольнике вверху будет появляться в зависимости от введённых в калькулятор параметров разных форм прямоугольник. То есть пишу высота 100 ширина 200, и имею соответствующий вид вверху.
Так как это будет белая рамка, думаю не писать два контейнера прямоугольника (чёрный внутри белого), а сделать через изменение .svg картинки. Но я понимаю как изменить её хардкодом, или как сделать несколько хардкодовых внешних видом и менять их по срабатыванию функции. Чую где-то есть тема, чтобы изменять параметры элемента динамически, но пугает так глубоко лезть. Что скажите, в какое направление мне гуглить?
К тому же вольное изменение svg это не главная моя проблема, ибо имею приблизительное видение реализации. А вот чего я никак понять не могу, так это как разместить на модели LED. То есть к примеру пишем 100х100 квадрат, и 10 лампочек. И нужно чтобы эти лампочки с определённым расстоянием появились по контуру начиная с определённого угла. Для одной стороны я теоретически понимаю как сделать, но так, чтобы оно загибалось по всем сторонам - ни малейшего понятия. Возможно реализую через 4 контейнера по сторонам, которые между собой будут перекидываться переменными, но пока что основным вопросом для меня стоит изменение svg по заданным параметрам. Может их можно как-то в css передавать? Или вообще управлять внешним видом напрямую с js, было бы круто
svg не нужен - делаешь просто div и ему через стили задаешь размер и цвет/стиль бордера
>И нужно чтобы эти лампочки с определённым расстоянием появились по контуру начиная с определённого угла
https://developer.mozilla.org/en-US/docs/Web/CSS/border-image-repeat#:~:text=The%20border%2Dimage%2Drepeat%20CSS,border%2Dimage%2Dslice%20property.
Я бы хотел найти женщину секс ментора.
Всегда все читал стандарты, никто никогда никаких книг по языку не читал, это просто не нужно и звучит это как бредятина ебаная.
Читаешь про алгоритмы, паттерны, архитектуры и взаимодействия @ пишешь на любом языке.
Если ты уже умеешь на каком-то языке писать - подразумевается что всё это ты знаешь и единственное что тебе нужно - конкретные спецификации и реализации в выбранном языке.
>Читаешь про алгоритмы, паттерны, архитектуры и взаимодействия @ пишешь на любом языке
Вот этому чаю, но с одной оговоркой: нужно понимать, что ЯП делятся на разные парадигмы: пикрил. Офк, часто они сочетаются, но паттерны для ООП не подойдут для какого-нибудь SQL (декларативное программирование)
сорри я все понял.
Да, только после публикации понял. что если менять длину cvg, то булут растягиваться не только горизонтальные, но и вертикальные линии, так что хрень выходит. Реализовал через отдельный блок и:
document.querySelector('#sup_2ch').style.width = WP+'px';
document.querySelector('#sup_2ch').style.height = HP+'px';
ВП и ХП как сам понимаешь ширина и высота соответственно.
Конечно хотелось бы как-то изъебнуться и в один селектор засунуть сразу изменение высоты и ширины, но не осилил, буду благодарен за подсказку.
>>536039
Блябуду, спас. А я ещё бугуртил в голове, что ну должно же быть что-то подобное, не должен же я писать работу этой функции сам. Но в целом мыслил в верном направлении, и нагородил похожее, но через такие костыли, что плакали всем офисом.
Да, актуально.
Я хочу как-то сократить написанную мной херь (пик1) до двух querySelector (по количеству id). Видел реализацию через:
.style.cssText=
но это работает только для установления фиксированных значений через двоеточие, а мне нужно рассчитать значение в момент присвоения. Можно конечно поприсваивать значения переменным заранее, но тогда будут те же яйца только в профиль.
К слову видел реализацию через getElementById, а не querySelector как у меня. В чём прикол?
И нет, я не перегружу систему, это .svg 20х20 пикселей
Уже почти закончил, полирую и накачиваю фичами.
Двачую адеквата, это идеальный подход к созданию чего бы то ни было. Просто на тот момент я был маслёнком, который не вдуплял, что можно передать селектору css значение из html. Да и к тому же меня изначально послали по ложному пути шаблонизаторов и кодгенераторов, почитав за которые очко сузилось
Написано конечно красиво, но работать не хочет, ошибку прилагаю. Погуглил, какие-то там тайпскрипты, умные слова всякие. Помилуйте, я ещё маслёнок чтобы это понимать.
ЗЫ: А это точно JS? Больше похоже на обычную жабу как когда в андроид студии писал.
Писал на ts, в js можно превратить, если просто стереть типизацию. Он тебе там подсветил что надо удалить (:number и тд)
Везде пишут что это невозможно, при том на английском тоже.
Ну я покумекал, и изъебнулся сделав цикл, который заспавнивает блок полностью, ибо необходимое количество итераций рассчитывается отдельно.
Но ещё не закончил, ибо то что нужно мне - сложнее. Может кто поможет представить следующее в виде чего угодно, от блоксхемы из текста до готового кода?
По итогу будет скрипт для графического отображения калькуляции количества led елементов.
Есть 4 блока расположенные внутри по стенкам родительского, одна картинка, поле ввода и кнопка (и пару переменных ширины и высоты).
Количество лампочек задаётся полем ввода.
Нужно чтобы код сначала посмотрел, сколько можно вместить лампочек на первую грань. Размер лампочки по хардкоду.
Если общая длинна всех лампочек меньше размера первого блока, то просто выполнить и всё, а если все лампочки не вместятся, то вычесть из общего числа количество вместившееся в первый блок, и передать его во второй, и так пока не кончится. Для ограничения перед всем я задал, что если введено меньше-равно ноль, то ноль, но если больше N (где N это периметр делённый на ширину лампочки), то уменьшить до N. А сверху всего этого ещё и вставил чтобы содержимое блоков вычищалось, чтобы не было переполнения при повторном нажатии. Кароч хуйню я какую-то пишу, можно ведь логичнее сделать, а мозг тупит как именно
Ошибки нет, просто код ничего не выполняет. Ну или я тупой (100%)
Залил на пастбин, стили в хтмл закинул чтоб не плодить ссылки, так то он у меня отдельно лежит.
https://pastebin.com/Qbz45FEf
Ну работает же, просто криво. Вот сюда в следующий раз заливай: https://jsfiddle.net/42mu8qop/
Я там что-то потыкал и после нажатия кнопки размеры изменились. Придется тебе учиться отлаживать код
Пересекающиеся с направленностью компании в которую он вкатывается. Если компания специализируется на 3д, например, то это будет проект с использованием webgl или подобное
Вы видите копию треда, сохраненную 10 января 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.