Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Посоны, поясните по хардкору, 145к (с премиями 160-170, но их на 3-4 месяца обычно задерживают) это совсем дно для 2 лет опыта? Удаленка, по срокам никто не дергает, коллектив довольно хороший, но вот зп несколько беспокоит.
>>2392203 → >И у каждой интересоваться "как дела"?
в моём примере была одна асинхронная задача, конечно их может быть больше
>Но не интересуется у самой задачи о ходе её выполнения
ага а где я писал, что интересуются у самой задачи, что за бред?
>он просто берёт ближайшую задачу и выполняет (не "проверяет ход выполнения", а просто выполняет, когда надо), ни о чём её не спрашивая.
он проверяет есть ли задачи в очереди и нет ли задач в call stack, тогда добавляет их туда из очереди
>Но они выполняются синхронно. И их не называют "асинхронные задачи" (от этого только путаница в головах, как мы видим на твоём примере про бредовой фразе "интересоваться, завершилась ли асинхронная задача"), их называют микро-/макротасками, а выполняются они все синхронно.
не согласен, асинхронные таски выполняются асинхронно от общего потока, потому что после колстека (в него попадёт например setTimeout либо fetch-запрос) они уходят выполняться на браузер апи и уже потом от апишек приходят соответствующие функции-обработчики (таски) в очереди, потом они отправляются в колстек, если он пустой. насчёт микро/макро хз, вроде они так называются да. функции-обработчики синхронные
>>2392292 > ага а где я писал, что интересуются у самой задачи, что за бред? Была фраза "интересоваться, завершилась ли асинхронная задача". Даже если и не "у самой задачи", то всё равно ты говорил про "интересоваться о ходе выполнения", в этом главная проблема. Движок не интересуется о ходе выполнения, он просто выполняет.
> не согласен, асинхронные таски выполняются асинхронно от общего потока, К тому моменту основной поток уже завершился, его нет. С точки зрения движка, основной поток — такая же таска, как и остальные в очереди. Он выполняется синхронно, до конца, потом следующая задача выполняется точно так же синхронно, просто после него.
Асинхронность — это о том, как они добавляются в очередь. А выполняются они все синхронно.
> функции-обработчики синхронные Это, по сути, и есть таски. Выполняются синхронно, по очереди.
На некоторых сайтах при нажатии или наведении на элемент выполняется какой-нибудь скрипт, но как это работает, если в коде страницы нет эвента для элемента? Как это без эвентов работает?
>>2392245 (OP) Анончик, насколько хуевая затея для вкатуна немного надрочившись с css юзать какой-нибудь tailwind для своих пет-проектов, если сильно впадлу верстать на голом css? Насколько вообще это гиблое дело чуть сразу научившись центрить див браться учить подобные инструменты?
>>2392504 Просто хочу сосредоточиться на ебле с жсом, а не на ебле с версткой под каждое устройство, но, видать, слишком много хочу. В любом случае, добра, анон.
>>2392465 надо не просто код страницы смотреть, а текущий код DOM, ибо всякий говняк может динамически подгружаться. то есть юзай Ctrl+Shift+I вместо Ctrl+U
Коллеги, нужен совет. Вчера в очередной (третий) раз уволился с работы, в связи с чем стал актуальным вопрос — как с пользой для карьеры провести ближайшие пару-тройку месяцев.
Неиронично хочу претендовать на ЗП в 300к, а с текущими знаниями/опытом совесть не позволяет такие деньги просить. К слову об опыте, всю дорогу был рядовым разрабом, клепал тасочки из джиры. Хочется архитектурные скиллы подтянуть, чтобы из мешанины реакта/редакса/аксиос/юи-библиотек делать жизнеспособные большие приложения. Так же интересует тема с криптой/блокчейнами/дефи — сложилось впечатление, что там можно серьезные суммы рубить. Ну и в контексте политической обстановки, может вообще стоит искать релокейт, хотя этот вариант мне не очень нравится, но будущее айти (да и в целом) неоднозначно.
TL;DR: - какие (и где) скиллы в целом и по архитектуре в частности, в контексте реакт разработки подтянуть - стоит ли разбираться с блокчейнами, смартконтрактами. Какие перспективы для фронт-разраба в этом поле - стоит ли искать релокейт
Я вкатусик-мошенник, сделал цап-царап торрента штмл академии базовый интенсив по жамаскрипту. Там они начали с темы Canvas, дали задание нарисовать облачка и график очков в виде столбцов. Затем Canvas забросили и в конце показали анимацию снег и анимацию дождя из огурцов.
Объясните, пожалуйста, я так нихуя и не понял, вот что ждун жабаскриптер что должен уметь по части Canvas, чтоб найти работу?
>>2393247 Никаких, хают его поехавшие пердолики. Электрон обычно выбирают, когда выбор стоит между десктопным приложением или его отсутствием. В плане архитектуры у него очевидный косяк в том, что ты запускаешь среду, предназначенную быть огороженной от файловой системы для запуска сторонних скриптов, без этого огорождения, со всеми вытекающими последствиями. И костылить эти вытекания будешь ты. В плане разработ очки там кромешный пиздец из зависимостей, легко конкурирующий с CRA. Но как я говорил выше, выбора нет и существующий пиздец никак не сравнится с одновременной поддержкой кодовой базы веб-версии и какого-нибудь говнеца, слепленного на Qt.
>>2392958 > базовый интенсив по жамаскрипту. Там они начали с темы Canvas Базовый — т. е. с нуля? И они сразу на канвас перескочили? Хоть объяснили, что такое функции, как их вызывать, что такое объекты, как обращаться к свойствам и методам? А то без этого рисовать проблематично.
Как браузер считает width auto? Я убираю, ставлю 100% и элемент становится шире. в инете пишут, что связано с padding и margin, нет не связано. У него родитель с display: flex и position: relative
>>2393682 Ну значит мигрировывай существующую кодовую базу на тайпскрипт. Понимание фич имеет каскадные требования, например дженерики будут казаться перегруженным говном до тех пор, пока достаточно не наебёшься с организацией типов и интерфейсов без них. И так для большинства продвинутых фич.
>>2393961 По феласофии ты можешь диспатчить любые экшоны (AnyAction), даже те, которые никто не слушает. Задачка редюсера - чекнуть тип и брать пэйлоад правильно, а не неправильно Поэтому <LocalAction> в configureStore - это неверно
Я двигаюсь по гайдбуку из шапки php треда. В данный момент делаю финальную задачку про сайт для создания и прохождения тестов и понимаю, что упираюсь в js и ajax-запросы.
Так как гайдбук относительно старый, то использовать для решения задач предлагается jQuery. Я правильно понимаю, что jQuery сейчас нигде не использует и стоит сразу переходить к изучению фреймоворков? Я успею освоить за пару дней какой-нибудь реакт в степени достаточной для решения простых задач ?
>>2394153 Тут про написание воркбенча для опросников. Пока о таком даже не думаю, но возможно попытаюсь. От js мне банально нужна возможность обновления контента на странице без релоада и прочие мелочи.
>>2394176 зависит от твоих потребностей, php его примет или в $_POST, и тогда ничего не нужно парсить, или в php://input - тогда прийдется парсить, но опять же - зависит от того, в каком формате ты собираешься отправлять запрос. Если formdata - $_POST, если json - php://input
>>2392245 (OP) Помогите выбрать ORM (js) для PostgreSQL для старого проекта
Нужно хранить Объект в базе со вложенными полями. Большой йоба-объект, там вложенность 3-4го уровня будет и куча полей. Описывать всё это ручкам - ебанись, количество ошибок будет возрастать при каждом изменения поля. Меньше кода - лучше.
Поэтому, нужны миграция. Вот я описал схему в JS, и база данных должна попукивать в ответ, делая ALTER, ещё и безопасная проверка данных автоматически будет. И если это объект с вложенными полями, значит там будут JOIN в большом количестве, которые явно не хочется руками писать на каждый CRUD. Хочется простого интерфейса уровня object.create(JSON), object.update(JSON), object.remove(id) и тд и тп. Отправляю на либу JSON, а либа всё по sql-табличкам сохраняет консистентно. А также, в таблице SQL уже есть классическая "плоская" таблица, к которой бы надо привязать отношения по ключу.. Хотелось бы такой миграции, чтобы старые таблицы не разъебало, а добавлялись новые
>>2394928 Ну да лучше всю инфраструктуру насиловать, лишь бы строчки не писать. Нахуй ты тогда мигрируешь на постгрес? С говноорм производительность у него будет не лучше условной монги, а может даже и хуже.
>>2394936 Во-первых это фича вебпака. Во-вторых - нет, так как статический импорт в лупе - нонсенс. У вебпака есть костыль, который в реквайр может целую папку запихнуть, но там уже сам будешь это говно разматывать в коде. Менее костыльный способ - написать скрипт, который будет собирать все файлы в условной папке и создавать для них импорты в отдельном модуле. Там же можно их в коллекцию для итерации запихнуть.
>>2395086 >на каком жс-фреймворке можно писать андройд-приложения >что не SPA/веб У меня для тебя плохие новости, Нэйтив под андроид, но он вроде как спа.
если мне нужны 2 одинаковых гет запроса, но в одном есть параметры, мне лучше делать это одним запросом или двумя? И как лучше запилить? Я сделал как опциональные параметры, но как-то не очень наверно объект с undefined передавать
как можно получить цвет пикселя у элемента div? на пике я вожу курсором по вертикальному градиенту, получаю координаты относительно этого элемента и хочу по ним получить цвет. сам градиент в css задан как background.
я мог бы это сделать с помощью canvas, но тогда я все равно не смогу потом получать цвет на квадратном градиенте слева, потому что он представляет из себя 3 diva, вложенных друг в друга. самый первый слой d1 это просто однородный фон, d2 горизонтальный белый->прозрачный градиент, d3 вертикальный черный->прозрачный градиент.
такой подход позволяет достаточно быстро отрисовывать градиент путем изменения только цвета фона дива d1. с тем же canvasом у меня фризила отрисовка градиента.
вот тут https://cssgradient.io/ сделано по такому же принципу, через 3 слоя дива, но как получать в таком случае цвет пихеля я хз
>>2395739 >Каким образом? Попросился на собес у себя в компании написав руклю >Что спрашивали? Как отцентровать div без гридов и флексов, отличие let от var, че за useEffect ну и подобные простые вопросы.
>>2395829 >вот тут https://cssgradient.io/ сделано по такому же принципу Хуйню несешь. Там берутся координаты указателя и в зависимости от этих координат высчитывается цвет.
>>2395837 какую хуйню я несу? ф12 нажми, там 3 дива, у одного из них просто меняется цвет фона в зависимости от выбранного цвета. а то что потом через координаты можно получить итоговый цвет, зная цвет на этом ползунке, это и так понятно. не понятно как получить цвет на этом ползунке. а ползунок все тот же див с нарисованным через css градиентом
>>2395970 Создаешь две папки с именами "bolshoy_yoba" и "maly_yoba". В первую кидаешь все большие файлы (> 1000 строк), в первую - все маленькие. Так очень удобно оценивать качество кода: если в первой папке файлов больше чем во второй, значит код говно.
Я прыгнул выше головы. Начал делать проект, который чисто объективно мне пока не по зубам. Второй месяц ебусь с ним. Да, это пиздец прокачивает, но с каждой хуйней сил все меньше. Сегодня вот ни с хуя слетел корс. И мне даже не хочется разбираться почему. Это все выглядело как средний пет, но разрослось в пиздец. Я даже, бывает, начинаю путаться в папках и файлах, где какой кусок кода. По ощущениям сделано процентов 60. Код превращается в лапшу, чувствую что пишу хуйню. Пытаюсь сделать одну фичу, понимаю, что она тянет за собой 10 других, которые я не знаю как делать. Очень много затупов даже не в плане "как писать код", а в плане "как это лучше организовать", потому что я не знаю блять, у меня нет опыта, я понятия не имею как это делается в серьезных проектах. Хочется дропнуть нахуй и заняться чем попроще, а потом вернуться и все доделать. Что скажете?
>>2396136 >по блату Скорее, зарекомендовал себя. Ну и блатом я бы это не назвал, все равно я уже на протяжении нескольких лет плотно задрачивал JS и TS, значительно продвинулся вперед джунского уровня.
>>2396235 Чел, я работал все это время, но не должности разраба, периодически контактировал в связи со своими должностными обязанностями с командой разрабов, вот так и получилось.
>>2396271 Нет, не по блату. Блат - действие, ущемляющее интеерсы третьих лиц. Кого я ущемил, если я не говнокодю и вполне успешно выполняю таски из жиры? Или ты действительно думаешь, что намного лучше взять разраба-мимокрока чем разраба, который прекрасно знает в чем специфика проекта и прекрасно знаком с корпоративной культурой именно этой конторы?
>>2396273 >Блат - действие, ущемляющее интеерсы третьих лиц. Хуя манямирок. Блат - это когда ты без опыта на 100к попадаешь потому что ошивался возле команды разрабов. Возвращайся, когда пройдёшь собес на вакансию, выложенную в hh, со своим пук-среньк без опыта но учил ts. Ну или по крайней мере не манямиркуй здесь, а где-нибудь в /b/ или /wrk/. >Или ты действительно думаешь, что намного лучше взять разраба-мимокрока чем разраба, который прекрасно знает в чем специфика проекта и прекрасно знаком с корпоративной культурой именно этой конторы? Так это каноничный блат. Тут подскочил, здесь подлизался, а там и в дамки.
>>2396287 >Блат - это когда >Блат - (по Фасмеру - от идиш blat — «посвященный, согласный»; или польск. (воровск.) blat - «взятка», в свою очередь от нем. die Blatt - «бумажн. деньги»[1]) — жаргонное слово, широко распространённое на территории бывшего СССР, означающее знакомство или связи, используемые в личных целях и ущемляющие интересы третьих лиц. Еще раз. Чьи интересы я ущемил? Вкатун с двачей, которое не имеют понятия о корп культуре, но явно являются лучшим кандидатом, да? >без опыта Т.е. 2 года опыта верстания шаблонов на вордпрессе, параллельного самообучения, 5 лет работы в <компаниянейм>, из которых несколько лет непосредственного изменения бизнес процессами не являются опытом? > на 100к Дефолтная зарплата в МСК. Мог бы даже больше попросить. >Возвращайся, когда пройдёшь собес на вакансию, выложенную в hh, со своим пук-среньк без опыта но учил ts Проходил, и на миддла и на миддла+. Разрешаешь вернутся? >Так это каноничный блат. Т.е. то, что во всех более-менее конторах вакансии размещаются в первую очередь для сотрудников данных контор, а потом уже попадают на HH это блат, да?
>>2396421 >Еще раз. Чьи интересы я ущемил? Вкатун с двачей, которое не имеют понятия о корп культуре, но явно являются лучшим кандидатом, да? Вот про этот манямирок я и говорил. Ты, как очевидный приблатнённый, уже начинаешь фантазировать, что сам всего добился, а не сеть тебя пристроила. Это конечно хорошо, что ты пристроился, вот только воздержись от советов по трудоустройству, таких пиздоболов-советчиков полон двач. >Т.е. 2 года опыта верстания шаблонов на вордпрессе, параллельного самообучения, 5 лет работы в <компаниянейм>, из которых несколько лет непосредственного изменения бизнес процессами не являются опытом? Ты же тут >>>2393993 распинался, что вообще безопытный макакен, а теперь внезапно оказалось, что аж целых 7 лет опыта. Зато понятно, что пиздобольство является частью корпоративной культуры в вашей фирме, что ты аж на анонимном форуме не можешь не пиздеть. >Т.е. то, что во всех более-менее конторах вакансии размещаются в первую очередь для сотрудников данных контор, а потом уже попадают на HH это блат, да? Не поверишь...
>>2396435 > вот только воздержись от советов по трудоустройству Ладно, не буду советовать обзаводится связями, твоя правда. >распинался, что вообще безопытный макакен Где я распинался? Я вообще не писал там ни про опыт разработки, ни про опыт коммерческой разработки, ни про опыт работы в принципе. Ты себе там что-то нафантазировал и теперь срешь в тред. >7 лет опыта. У нигде не писал про 7 лет опыта. Но раз уж ты не понимаешь, дополню инфу про мой опыт работы: 1 год на червепидорской должности уровня курьера яндекс еды, параллельно обучение в вузе на комьютерсаенс очно-заочно 3.5 года работы манагером низшего звена. Именно менеджером в прямом смысле этого слова, а не продажником. Параллельно заканчивал обучение в вузе, где-то на середине начал пилить по заказам сайты на дефолтном кабанском стеке jquery select2 bootstrap bitrix потом перекатился на вордпресс. В последствии забил хуй и начал пилить пет проекты на TS, ванильном css и ванильных же веб компонентах. Параллельно дрочил задачки с codeforces синий ник кстати на с++ Ну и потом я получил диплом и устроился реакт макакой, дальше ты знаешь. >Не поверишь... Не поверю. Давай мне сюда определение того, что явялется блатом в твоем понимании. Сейчас ты только маняооправдания уровня "Это не это" можешь высрать.
Редакс тулкит не определяет мне тип initialstate, который я импортировал в другой модуль. У меня такое впервые, чтобы не я обосрался, а пакет, и ничего сделать нельзя
>Я без опыта костыливание на вордепрессе + jquery не идет в счет устроился реакт макакой за 100к/месяц год назад. >Т.е. 2 года опыта верстания шаблонов на вордпрессе, параллельного самообучения, 5 лет работы в <компаниянейм>, из которых несколько лет непосредственного изменения бизнес процессами не являются опытом?
>>2396576 Бессмысленный говнокод. Выше уже объяснили что this в этом контексте указывает на функцию-обработчик события. Писать надо было vertGradientColor.removeEventListener() а не this.removeEventListener()
>>2396753 >прекоммит хуков Это сеньры-помидоры настраивают и миддлы настраивают? Я просто хочу обычный пет-проект отрефаткорить, чтоб выглядело не совсем уж всрато.
>>2396090 >Что скажете? Ничего не скажу. Если бы ты просто книги читал, ты бы даже не знал что такая проблема существует. Все эти техники отрабатываются на практике. Написание проектов в большинстве своём - это бесконечное самосовершенствование. Вначале ты делаешь хуйню. Потом ты чуть улучшаешь. Потом ещё. И ещё. И ещё. И в конце превращается в годный продукт. Вопрос только в том, стоят ли усилия результата? То есть - стоит ли вообще возиться с этим проектом?
>>2396800 >У JS задача - получить числа, обработать, и вернуть другие числа Так, ладно, допустим, я шиз, который хочет так и сделать. Мне жс вернул что-то после манипуляций с апи, дальше как сделать так, чтобы в html поменялось текстовое наполнение блока и классы?
>>2392245 (OP) >В JavaScript нет GIL, однако, JS — это однопоточный язык Нипонял блять. Если в ЖС нет нужны в глобальной блокировке интерпретатора (которая есть в Петухоне например, для того чтоб данные не скорраптились во время сборки мусора) то какого хуя тут 1 поток? Почему нельзя запилить нормальную многопточку на Ноде? воркеры сразу нахуй лол, это же не тред а по факту отдельный интерпретатор жса поднимается
>>2397090 Прожорливая она только если тредов ну слишком дохуя, например счет пошел на несколько сотен (кстати если у тебя асинхронка на 1 потоке и дохуя тасок в ивент-лупе висит это не лучшим образом отражается на быстродействии сервака и сборке мусора). В Жаве например заранее создается пулл тредов и в случае нового коннекшна берется один из свободных, бесконечно они не плодятся, зато в таком случае ты используешь все ядра своей машины а помимо этого - не блокируешься на CPU-операциях, в ЖС если в твоей async-функции встретится блокирующая операция парсинга например или обработка пары десятков тысяч извлеченных строк из БД, весь твой мейн тред заблочится
>>2397108 Нода в первую очередь для IO пилилась, а хайлоад через пул потоков это рофл. Да, иногда бывает что вычисления тормозят основной трэд, но исключение и они решаемы.
>>2397111 Хайлоад это го. в основе которого лежат внезапно именно треды, правда легковесные Хайлоада на ноде без шаманства с горизонтальным масштабированием в принипе быть не может
>>2397284 >Постараюсь обьяснить подробнее Залипание клавиш - это фича винды такая, какое оно отношение к JS имеет? Олсо, >>2397358 прав. Ты либо описывай свою проблему так как написано в оппосте: >Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». либо гуляй.
злоебаное дерьмище как же сука тресет эта сука не соображает что надо пёхнуть когда эта параша апается
ну и плюс надо распидорашивать это говно перед добавлением, иначе оно заменяет нахуй весь дикт уууу блядь и дерьмище какое же убожество просто для ублюдков пиздец просто...
>>2397512 > редюсеры чего бля? я вашей скотопидарской терминалогии не понимаю и понимать не собираюсь (вместе со скотопидарскими ублюдскими ключевыми словами)
есть простое нерусское слово АККУМУЛЯТОР и я в душе не ибу как его здесь применить, а главное нахуя
я просто пытаюсь захуярить динамические опции и это должно быть проще простого, ведь у нас реактивность, а не хуй собаки, но это жсговно и надо ДЕЛАТЬ ПОПРАВОЧКУ
>>2397514 котей, ты пынямаешь разницу между написать и инсталлировать?
не хочу тебя обидеть, но у меня возникают сомнения на счет твоей проф пригодности..
>>2397518 Да все уже поняли, что ты пытаешься написать что-то на языке, которого не знаешь (результат немного предсказуем), отчего у тебя бомбит на весь тред.
Лучше ответь, что ты пытаешься сделать с помощью этой конструкции: > ...dict['name'] = { > vAxis:{ > title: 'ny i dermishe', > } > } ?
Функция твоя называется "add_to_opt", но ты с какого-то хуя пишешь "dict['name'] = ", это добавляет не в options, а перезаписывает свойство 'name' внутри 'dict'. Нахуя? Что ты вообще имел в виду этим?
>>2397518 > есть простое нерусское слово АККУМУЛЯТОР и я в душе не ибу как его здесь применить, а главное нахуя Редюсер — это функция, которая с этим аккумулятором и работает. Так что если твой options — аккумулятор, то нахуя ты в dict что-то записываешь?
>>2397550 > я показал ход мыслей, в питоняшке это добавление дикт айтема Внутрь dict? У тебя получилось добавление именно внутрь dict. Нахуя? У тебя есть аккумулятор options, в него и добавляй. А ты в dict зачем-то добавляешь, ишь чего выдумал.
> пиздец ты реально из-за своей духоты не понял что я это сделал для ПРИМЕРА Лол. Сам выдумал для примера хуйню, а потом: "как справится с этим дерьмом? (первый блок, второй работает все заебись)".
Предлагаю тебе ДЛЯ ПРИМЕРА написать в терминале "rm -rf", а потом приходить спрашивать "как справится с этим дерьмом?".
>>2397583 > > это функция > итератор При чём тут итератор?
> а ты должен был показать как надо, а не душнить здесь блядь анрилейтед хуетой Так нихуя ведь не понятно, что ты пытался добиться своей конструкцией. И раз во втором блоке всё работало нормально, то почему в первом сделано по-другому? Это как прийти и спросить: "Сап двач, пытаюсь пожарить котлеты. Когда провожу хуем по ободку раскалённой сковороды, то очень больно и котлеты не готовятся. Как справиться с этим дерьмом? (это в первом случае; а во втором случае, когда я фарш на сковороду кидаю, всё работает заебись)".
А на все вопросы о том, для чего вообще хуем по раскалённой сковороде водить, отвечать, что это ДЛЯ ПРИМЕРА, чтоб показать ход мыслей, а вы все должны объяснить, как правильно делать, а не душнить.
Есть мобх, тайпскрипт, реакт, я не понимаю как сделать логику фильтрации тудушек по их состоянию комплитед и через радио группу показывать списки нужных... пиздец я тупой похоже, никогда раньше не пробовал мобх, а тут дали тестовое. Если создавать дополнительный массив с отфильтрованными это же плохая идея?
>создавать дополнительный массив с отфильтрованными это же плохая идея Абсолютно. В сторе держишь нормализованные данные, всё остальное вычисляешь из них
>>2397728 это местная нейросеть, угадывается по словам "додик", "пиздорылый", "питоняша", "проф пригодность", "профнепригодный" и скринам размером 3440x1440
Есть реакт-компонент с кнопкой. По нажатию этой кнопки происходит редирект на главную страницу (react-router-dom). Нужно, чтобы после редиректа на главной странице вызывался алерт с текстом по типу:"%действие% выполнено". Узнал, что в хук useNavigate можно вписать кастомный стейт. Как из компонента главной страницы достать этот стейт?
>>2397742 >Есть реакт-компонент с кнопкой. По нажатию этой кнопки происходит редирект на главную страницу Сделать эту "кнопку" ссылкой, а текст показывать перед ней.
>>2397749 У меня после нажатия кнопки редирект происходит на главную страницу. Нужно юзеру показать, что его действие успешно завершилось. Нашел инфу, что стейт useNavigate можно отследить useLocation.
>>2397709 Я не знаю что такое селекторы (пиздец). Если я в самом компоненте делаю что-то типа const todotodisplay = filter === "all" ? todostore.todos : todostore.completedtodos и тд это же тоже самое что продублировать данные? Пиздец я даун.
>>2397753 >У меня после нажатия кнопки редирект происходит на главную страницу. То есть ссылка. >Нужно юзеру показать, что его действие успешно завершилось. Так и показывай это перед ссылкой.
>>2397784 Вроде того. Нихуя непонятно как структурировать всю хуйню, что в компоненте держать и как надо, ищешь что-то, а там написано для старых версий, жспараша
>>2397800 40к удаленка, разве сейчас для джунов требования не гига высокие везде в айти? >>2397808 Я вот про это и спрашиваю, это нормальная практика такие массивы делать с дублированием части данных?
>>2397818 >40к удаленка, разве сейчас для джунов требования не гига высокие везде в айти? не знаю, видимо. такто ты учишь весь базовый стек, а дальше уже учить не много нужно, поэтому наверное это правильно
>>2397742 Какое действие выполнено то нахуй? У тебя действие выполняется при нажатии на кнопку, там и выполняй действие и показывай пользователю нужную инфу.
>>2397826 Ну есть кнопка которая отправляет айди итема на бэк чтобы удалить его. Если мне придет ответ, что бэк удалил слово, нужно сделать редирект клиенту на главную. И на главной нужно показать попап или другую хуйню что итем удален.
Я конечно проигрываю, что тестовые пакеты - основной барьер массового переката на ESM. Это просто самые сливки TDD, про которые свидетели будут верещать, что это не TDD виновато.
>>2397882 Да я не знаю как в веб-параше это называется. Нужно просто вывести небольшой <div> в верхнем углу экрана с крестиком. В нем черным по белому написано: N элемент удален. Я с useNavigate({state:...}) отправляю клиента на главную, где отлавливаю стейт с useLocation. Все бы ничего, но при F5 на главной странице это уведомление снова появляется.
>>2397818 Нормальная практика. Если массив большой в usememo заверни или про селекторы погугли. Если там больше десятка элементов в принципе не бывает, то сортируй хоть каждый рендер.
>>2397890 Ну заведи себе глобальный стор, где будет список тостов. Сделай компонент который их рисует и добавь на главную. Не надо в стейт роутера ничего пихать без особой нужды.
>>2397890 Под твое описание попадает тост и снэкбар. >отправляю клиента на главную Еще раз поясняю для тупого вкатуна. Ты не должен отправлять клиента на главную твой порядок действий: 1) Юзер запускает действие 2) при ошибке - обрабатываешь ошибку 3) При успехе: создаешь тост/снэкбар и после этого делаешь редирект на главную. Тост при этом остается висеть на странице то таймаута/ручного удаления.
>>2397914 >Ну заведи себе глобальный стор, где будет список тостов Оверинжениринг. Пишется на ванилле в 10 раз короче и понятнее чем эта мешанина из стэйтов, сторов и контекстов.
>>2397890 >Я с useNavigate({state:...}) отправляю клиента на главную, где отлавливаю стейт с useLocation. Все бы ничего, но при F5 на главной странице это уведомление снова появляется.
У тебя роуты фейковые, там ничего не редиректится. Поэтому ты можешь смело оборачивать страницу в какой-нибудь лейаут и дальше делать так: <Layout> <Toast /> <MainPage /> </Layout>
и всё. Страница сорсит некий стор свыше, что хочешь и когда хочешь, то и размещаешь.
JavaScript runtime with Web APIs like fetch, WebSocket, and several more builtin. bun embeds JavaScriptCore, which tends to be faster and more memory efficient than more popular engines like V8 (though harder to embed) JavaScript/TypeScript/JSX transpiler JavaScript & CSS bundler Task runner for package.json scripts npm-compatible package manager
All in one fast & easy-to-use tool. Instead of 1,000 node_modules for development, you only need bun.
Bun.js uses the JavaScriptCore engine, which tends to start and perform a little faster than more traditional choices like V8. Bun is written in Zig, a low-level programming language with manual memory management.
Most of Bun is written from scratch including the JSX/TypeScript transpiler, npm client, bundler, SQLite client, HTTP client, WebSocket client and more.
>>2398044 >npm-compatible package manager >All in one fast & easy-to-use tool. Instead of 1,000 node_modules for development, you only need bun. Очень прохладно.
Если у меня есть карточки категорий товаров на фронте, то я должен из базы данных в стейт тащить их или база с категориями отдельно и карточки на фронт отдельно?
>>2398193 Так если был бы низкий, то как раз бы не заморачивался всякими хуками с контекстами и просто бы хуярил useEffect() с проп дриллингом колбэков. А так ты каноничный midwit.
хочется написать расширение для хрома для чтения текста вслух. какие подводные камни? передача текста в яндекс клауд, он возвращает аудио. звучит просто
Работяги и бездари, где искать материал по vue? На ру и англ ютубе все не очень, курсы на торентах зачастую по vue 2, а не 3. Порекомендуйте хоть что-то
>>2398605 Ничего, фронтомакаке такое знать не положено, а то у тебя не дай бог рвотный рефлекс будет возникать от одного взгляда на очередной ряктовысер.
Как бы выкатиться с помойного проекта, не задев чувств коллег? Подвох в том, что работаю в компании уже приличное количество времени и уже было научился сдерживать помойность их проектов, но сейчас перекинули на дно днищное. Прямо вот с порога заявить, что качество кода настолько говно, что они его не вывезут? Или напиздеть про то как классно со всем вами было, но пора идти дальше?
>>2398775 >Как бы выкатиться с помойного проекта, не задев чувств коллег? Напиши заявление на увольнение, а в заявление не пиши текст, вставь только картинку с Ельциным, который говорит новогоднюю речь.
>>2398775 >Прямо вот с порога заявить, что качество кода настолько говно, что они его не вывезут? Можно сначала просто попроситься в другой проект, потому что этот не нравится. Потом уже можно подробнее, если будут спрашивать, что не так, говорить, что не нравится такое, ну и если не поймут, то прямо сказать, что это говно.
>>2392245 (OP) Скачал виртуальную клавиатуру. Но нажатие кнопок там задано просто буквами QWERTY. Не работает ни на одной раскладке, кроме английской. Какие естт способы это фиксить?
Пишу на руби. Хочу сделать маленькую приложуху с веб-интерфейсом для конфига и раздавать её домохозяйкам. Самый простой способ - поднимать веб-сервер на синатре на локалхосте и говорить юзеру, чтобы открыл браузер. Вроде работает как надо.
Вопрос: сильно ли будет сложнее сделать это всё на электроне? Чтобы юзверь кликнул на иконку и запустил окошко? Или я заебусь руби к нему прикручивать? Там много джаваскрипта надо знать?
>>2398861 Ну, то бишь, там будет одна страничка, нашлёпанная на шаблонизаторе HTML для руби, это можно ПРОСТО ВЗЯТЬ И запускать в десктопном электроновском окошке вместо браузера?
>>2398861 Конечно сложнее, так как тебе ещё надо будет с нодой пердолиться. Плюс ты, как рубист, не имеешь опыта пердолинга с npm, а электрон просто хуеву тучу пакетов тянет.
>>2398917 Хоть что-то знаю Вопрос поинтереснее — что тут происходит? Вроде как проверяет айпи на 127.0.0.1 и если да, то возвращает 401, а в другом случае просто закидывает логин и пароль дальше?
>>2398924 Ну req.body это очевидно тело запроса, оттуда достаем юзернейм и пароль, чтобы не писать каждый раз req.body.username Это деструктуризация, не в каждом языке есть. По синтаксису на вебсокеты похоже
>>2398962 Это изи уровень, так что вряд ли тут бд надо ломать. В целом, всё жсовское я уже узнал, и пойду дальше думать А 172.17.0.1 — айпи внутренней сети докера. Хз как локалхост получить
>>2398982 Это не полноценная машина, а просто челлендж. Тут не нужно влазить на машину и устраивать в ней RCE Мне просто надо отправить пакет, чей ip определится как 127.0.0.1, и я считай прошёл. Но надо понять, откуда этот метод (socket.remoteAddress) берёт айпишник. Вот и спрашиваю у жсеров
Сап. На связи C# КОНЕЦ СПИНЫ программист, хотел бы попробовать стать ПОЛНАЯ СТОПКА программистом. Для чего дела решил выучить такие технологии, как ТИПСЮЖЕТА и УГЛОВАТЫЙ. С чего начать, что читать/смотреть/слушать?
>>2399065 тип сюжета это костыль к джавасценарию, за угловатый не знаю но советую реагировать, смотреть документации, видео на ютубе, свободный лагерь кода
>>2398956 > Это говнокод или такое допустимо писать? > Condition1 ? result1 : condition2 ? result2 : condition3 ? result3 : condition4 ? result4 : default >>2399002 > И какой выход из положения? Свитч? If в три этажа?
>>2399261 Потому что это такой же экшн, но со специфичными аргументами. Плюс вьюхи ебать не должно, тханки они там прокидывают или джейсоны, они просто аргументики в экшн криэйторы передают.
>>2399267 > Потому что это такой же экшн, но со специфичными аргументами. Но у экшона нет аргументов, это же просто объект.
> Плюс вьюхи ебать не должно, тханки они там прокидывают или джейсоны, они просто аргументики в экшн криэйторы передают. То есть, чтоб тханк-криэйтор снаружи выглядел как обычный экшон-криэйтор? В принципе, логично.
Но если уже унифицировать, то не легче ли вообще вместо любых криэйторов, результат которых надо диспатчить, сделать сразу экшон-диспатчеры? То есть это как экшон-криэйтор, но он экшон не возвращает, а сразу диспатчит. А компоненты его просто вызывают.
>>2399480 > Какая часть в изучении JavaScript была для вас самой сложной тяжелой? понять нахуя это дерьмо было вообще создавать и пихать в ебанный браузер ...
так и не понял..
>>2399568 > интересен именно бэкенд можно всё жс говно пропустить и сразу перейти к питоняшке :>
>>2399480 Именно джс не очень тяжёлый, тяжело на практике применять. А конкретно при изучении языка самое сложное для меня - это скоупы у функций или прототипирование объектов, именно сложность в том, как всё запутанно (prototype vs [[prototype]] vs __proto__) а не в самих концепциях
>>2399614 >понять нахуя это дерьмо было вообще создавать и пихать в ебанный браузер соглы, это всё возникло потому что нетскейп был пиздатый браузер и под него как раз сделали жаваскрипт
При нажатии на кнопку стоит функция, но есть проблема, что при зажатии кнопки включается залипание клавиш и функция ебашит сто тысяч раз. Как это исправить?
суп двощ, хочу зделоть игру суть такова... пользователь может нажимать на кнопки мышкой, и картиночки на кнопках будут меняться. Как это делать в 2022 надо? Так бы я просто канвас ебанул и готово, но с onclick на канвасе какие-то беды с обработкой кнопок. Делать кнопки отдельными элементами тоже какая-то залупа, ведь им придется быть поверх канваса, адаптивный интерфейс прикрутить не получится.
>>2399746 > И? Как исправить то? Там же написано: > For events triggered by auto-repeat, the event object has event.repeat property set to true.
Соответственно, в начале своей функции, которая принимает event, пишешь: if(event.repeat) return; и она при повторах ничего после этой строчки не делает. Очевидно же.
Если надо ещё и отменить какое-либо действие по умолчанию, то можешь добавить false: if(event.repeat) return false;
Вообще, старайся находить в учебнике релевантные темы и задрачивать их параллельно с написанием кода. Придётся иногда переписывать многое заново (когда начнёшь лучше разбираться в нужной теме и поймёшь, что до этого написал херню), но с каждым разом должно уже быть легче и быстрее.
Вот работаешь ты с клавиатурными ивентами — читай вдумчиво раздел учебника про это (и вообще про ивенты), ссылка у тебя уже есть. Ну и в целом желательно читать учебник, чтобы интуитивно понимать, например, что если функция вызывается слишком много раз, то это не такая уж проблема — можно просто внутри самой функции проверить что-нибудь с помощью if и сделать return, если надо. Или обернуть в другую функцию, которая проверяет условие, и вызывает основную функцию только в нужные разы. И тебе останется лишь найти нужное условие, которое можно проверять.
>>2399891 >Все что я с бэка получаю лучше записывать в стейт менеджер Смотря в какой. Если в редакс - идешь нахуй, если в специализированный для серверного состояния менеджер, например react-query, то да.
>>2399968 >почему в редакс нельзя? Потому что редакс предназначен для хранения состояния клиента, только его. Никаких форм/серверного состояния и прочего в нем хранить не следует. В нем нет таких нужных фич как кэширование, инвалидация, нет возможности отслеживать загрузку/ошибки из коробки, огромное количество бойлерплейта.
>>2399971 редакс хуйня получается? почему на любых ваках его форсят изучать, если есть мобх? я уже заебался учить новые и новые фреймворки, выясняя, что у них много хейтеров и есть альтернативы поулчше...
>>2399975 >редакс хуйня получается? Не хуйня. Я же говорю, используется для хранения состояния клиента. >мобх Тот же ни на что не годится кроме хранения клиентского стейта.
>>2392245 (OP) Объясните плез че за херня, может было у кого. Решил задеплоить приложуху на CRA на Github pages. До этого yarn start и yarn build с локальным серваком работали. Установил gh-pages, прописал predeploy и deploy скрипты, как в доке CRA пишут, запускаю скрипты и на продакшен, на локальной build сборке, на показывает пустой экран, будто приложения и нет никакого. Приходится откатывать и тогда снова работает.
regex боль нужны первые 6 цифр, а потом, вне зависимост от того, что идет дальше, дробная часть например 11111111111.123 Я не пойму как второй паттерн с дробной частью записать так, чтобы он стригерился после любого количества чисел после первого паттерна, сейчас регекс пикрил
>>2400030 Я вроде сталкивался с таким год назад - в регексе есть такая херня, которая тебе нужна (любое количество символов вплоть до символа X). Positive lookahead или как то так мб
>>2400030 Можно задачу обозначить по другому, нужно ограничить инпут так, чтобы я мог указывать количество цифр до точки и после. После вот я указать могу, а ДО не получается
Потом с помощью знака вопроса сделаешь необязательным всё, что не обязательно. А сейчас в моём варианте дробная часть обязательна, как и точка перед ней.
Ну и границы поставь, если нужно.
> после любого количества чисел после первого паттерна Только чисел? Тогда скорее (\d{1,6})\d\.(\d{0,3})
Устанвоил eslint. Он мне выделил красным многие места в файле JS, ругается на какие-то переносы строк. Я нажал а фикс проблемы, ничего не произошло. Почему так?
>>2400442 Потому что там в плагине prettier надо настроить символ конца строки, советую поставить любой. Либо просто в правом нижнем углу в VS code поменяй crlf На lf
Господа, почему внутри статичной функции formatDate переменная this.twoInputMod становится undefined, хотя this правильно указывает объект и до вызова функции на первом скрине переменная выводится верно?
>>2400776 > Потому что статичные свойства класса работают в жс не так как в других языках. А как они там работают? Там this указывает на экземпляр класса? А на какой из них?
Сап из 2009-го. Сейчас решил переходить с jQuery на нативный JS, но возникла трабла. Есть общий js-скрипт, в котором прописаны функции для тех элементов, которых нет на текущей странице, к которой подключен js файл, но есть на других, где он нужен. Но прикол в том, что выдает ошибку из-за того, что такой элемент не найден и, соотвественно, весь код ниже тоже херится, в том же jQuery таких ошибок не возникает и там в целом похуй на то, какие элементы есть, а каких нет, работает весь код целиком. Как такое можно фиксить?
Детальнее на примере: Выдает ошибку о несуществовании элемента с классом "info_left_msg" (он есть на этой же странице acc.php, но с другим GET-запросом "id", потому нужен), а код, который идет ниже, то есть, начиная с 108 строки, уже не работает Кроме как переставлять местами выхода не нашел. Есть еще какие-то варианты мб?
>>2400996 Нет, это временный костыль, чтобы не заморачиваться полным переписыванием каждой строчки. Сперва убираешь вызовы жиквери костылями, а потом разбираешься что не так.
Ебать вы мне тут накидали, конечно >>2401052 Вот это мощно, конечно, но какого хуя код не может просто работать невзирая на отсуствие элемента? Не понимаю я логики js и мне тупо интересно, в какой строчке и как в jquery прописано, чтобы это работало нормально >>2401054 Я в этом посте показал, посмотри внимательно на консоль >>2400971 >>2401055 Как с селекторами работать я уже научился, мне нужно, чтобы код, который находится ниже строки с "ошибкой", работал, тчобы скрипт не вставал в этом месте >>2401057 Ну не только работу с селекторами, но и замену вообще всех функций по типу click, hide, each и так далее. Плюсом, уже ни в одной вакансии нет требования знания jQuery, но вот JS повсеместно, который я почти не знаю из-за того, что всегда юзал jQuery
>>2401171 >какого хуя код не может просто работать невзирая на отсуствие элемента? Потому что ебаного элемента нет. А ты подразумеваешь, что он есть. Соответственно, логично выкинуть ошибку. >Я в этом посте показал, посмотри внимательно на консоль Так тут даже не метод выкидывает ошибку, а попытка обращения к свойству у null > тчобы скрипт не вставал в этом месте Так ты пиши свои функции таким образом, что бы они запускались только в случае, если юзер находится на странице. > всегда юзал jQuery Ты за все свое время юзания, судя по твоему коду, не научился делегировать обработчики событий на родительский элемент. Чем ты вообще занимался все это время?
>>2401171 >Не понимаю я логики js и мне тупо интересно, в какой строчке и как в jquery прописано, чтобы это работало нормально Да никак это нормально не работало, жиквери просто молча сглатывает ошибки, а современный жс падает при малейшем пуке не туда.
>>2400712 Потому что семантика статичного метола подразумевает отвязанность от конкретного экземпляра класса. Либо делай обычный метод, либо лобавляй третий аргумент, либо делай два статичных метода один для сингл второй для ту
>>2397834 Перед открытием модалки. Модлка должна быть максимально тупым компонентом, который просто знает как отобразить данные и куда направить обработанные дейсьвия пользователя
>>2401200 >жиквери просто молча сглатывает ошибки Нет, не сглатывал. Просто у него под капотом создавался массив и он итерировался по этому массиву при вызове методом. Нет элементов масситва - нет итераций и нет ошибок. >>2397834 1) Ты запускаешь получение данных. 2) Открываешь модалку с прелоадером 3) При получении данных отображаешь их в модалке или отображаешь инфу об ошибке
>>2401352 > Нет, не сглатывал. Просто у него под капотом создавался массив и он итерировался по этому массиву при вызове методом. Нет элементов масситва - нет итераций и нет ошибок. Уже предлагали такое же решение, но не под капотом, а руками на нативном ЖС: >>2401055
>>2401422 И по итогу получилось как у меня (>>2399244), только в сумме длиннее и на классах. И семантика всратая: вопреки названию, "evaluate" возращает не вычисленный результат, а true/false. UPD: Лол, присмотрелся, а там даже true/false не возвращается, всегда будет undefined. Метод массива .find в любом случае ничего никогда не найдёт, в конце итоговый результат будет всегда default, заебись решение.
И почему у тебя каждый result в функцию не обёрнут? Проверки lazy, а результаты внезапно не lazy.
>>2401449 Твой код тяжело читать, тяжело будет добавить обработку ошибок или логирование, да и в целом расширить/изменить. И в добавок ко всему он выполняет лишние итерации. Не вижу никаких плюсов, предложенное решение проигрывает даже обычному набору if блоков с return в каждом.
>>2401457 > Твой код тяжело читать Код, где evaluate не возвращает результат вычислений — ещё тяжелее (дезинформация хуже отсутствия информации). А ещё он не работает, потому что там даже true/false не возвращается, и .find никогда ничего не найдёт.
> И в добавок ко всему он выполняет лишние итерации А вот тут ты абсолютно прав. Сам .find здесь намного лучше будет, чем .reduce, надо только правильно его использовать.
>>2401565 >ну тут и процедурок хватит >ну тут других процедурок хватит >ну зас объединим первые и вторые процедурки, написав еще одни, слишком много кода от них зависит
Поздравляю, вы успешно прошли путь до монолита. Обратного пути нет.
P. S. >>2401498 > Вот, сделал хороший вариант: > ... > )?.[1]() ?? getDefault(); А, нет, не хороший. Если нужный результат должен быть null или undefined, то вместо него будет default. Та же ошибка, что и здесь: >>2401207 > return selectedHandler?.result ?? default;
О, а вот тут уже этой ошибки нет: >>2401544 > const [, getResult = getDefault] = [...].find(...); > return getResult();
> если ты так классов боишься Только неуместных и излишне громоздких, да ещё и с дезинформирующей семантикой.
Если надо семантику, то можно обычными объектами. Так даже понятнее, ведь при вызове конструктора класса не видно, что означают аргументы (только если IDE подсвечивает, но мы сейчас не об этом), а с объектами видно:
>>2401588 Как будто на жабе монолиты невозможно писать. С обычным процедурным монолитом разница только в том, что ты будешь тонны интерфейссов абстрактных фабрик писать поверх.
>>2401665 Жаба тут твоя ни при чём. На фронте уже давно перешли на тайпскрипт, который позволяет типизировать код не влияя на его производительность. Можешь хоть 10000 интерфейсов породить, на рантайме не отразится, в то время как жаба будет добавлять каждый в таблицу интерфейсов
>>2401671 >На фронте уже давно перешли на тайпскрипт, который позволяет типизировать код не влияя на его производительность. Казалось бы, причём здесь классы?
>>2401717 >стейт менеджер Что за стейт менеджер? Тебе выше уже ответили, что данные каждого типа идут в специализированный для этого стейт менеджер, от useState(this.state) до редаксов, мобиксов, формиков и подобного.
>>2401622 > >()().?..?? Ок, если это СЛИШКОМСЛОЖНА, то можно и вариант с отдельной переменной (>>2401544), он действительно проще воспринимается, тут не спорю.
чем это: [ new ExpressionBoundLazyEvaluator( () => player.job === 'warrior', player.sword ), new ExpressionBoundLazyEvaluator( () => player.job === 'magician', player.wand ), new ExpressionBoundLazyEvaluator( () => player.job === 'assassin', player.hiddenBlade ), ]
?
Да, первый вариант намного понятнее. И результат вычисляется лениво, хз почему в классе ExpressionBoundLazyEvaluator сделано не так, а через жопу.
> >любое обращение к this в getCondition/Result приведет к ошибке С чего бы? Если функция почему-то не стрелочная, то просто будет undefined. Да и вообще, зачем там this? Чтобы что? Если всё-таки за каким-то хером надо, то можно забиндить, я не запрещаю. И в чём принципиальная разница здесь: >>2401422? По-твоему, там this внутри expressionToEvaluate будет вести себя как-то по-другому? Лол, ты серьёзно так считаешь?
> Чел, плес. Это код вкатуна который думает, что он всё хорошо изучил. Забавно, учитывая, что в двух пунктах из трёх обосрался ты, а не я. Первым «лови вора» кричит сам вор, как говорится. Ну и мой код хотя бы работает, в отличие от >>2401207 с >>2401422, так что я, по крайней мере, хоть как-то изучил, в отличие от.
>>2399978 А как вообще происходит взаимодействие например Реакта с сервером? К примеру у меня есть интернет магаз, мне надо чтобы списки товаров подгружались с бэка, или отфильтрованные товары. Это надо просто гет-запрос делать из компонента к базе?
Вот сейчас у меня такой GitHub: https://github.com/vertically-challenged А в резюме просто расписано, какие технологии я использовал на каждом из проектов в GitHub
Двачик, объясни мне зачем в тайпскрипте декораторы? Кто, когда и зачем ими пользуется? Я прямо сейчас перечитываю документацию их, и посмотрел уже два видео на ютубе, одно от авторитетного индуса, но так и не понял зачем это всё. Я же не могу через декораторы поменять класс сущности, менять ими методы или поля, а нахуя? Почему не сделать это необязательными полями в конструкторе? Приводить экземпляр одного класса к виду другого класса? А зачем, если typeof не изменяется?