Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Анончики, нужен совет: С фронта на бэк идет пост на создание. На бэке коллятся запросы в другие сервисы для взятия данных, запись в бд создается и возвращается фронту. Проблема в том, что запрос может занять >30 мин. Моя идея пока в том, чтобы вернуть фронту хоть что-то, а потом - фронт сам на гет раз в 30 секунд получит новые данные. Но это пиздец тупо, как мне кажется. Посмотрел, что можно использовать Pub/Sub или воспользоваться сокетами. Может есть и что-то еще. Не особо шарю, поэтому спрашиваю, может есть тру вэй для решения таких проблем.
>>2622018 1. Открываешь страницу с кнопкой 2. Берешь линейку 3. Приладываешь линейку к монитору 4. Измеряешь линейкой размер кнопки 5. Размер кнопки установлен
Что-то на learn.javascript дошел до темы "Типы данных", и сложность задач резко возросла. Раньше на одну темы уходило 2-4 часа, а теперь на одну тему может уйти и 6 часов. Я точно в верном направлении иду? Может есть еще какие-нибудь ресурсы, где про JS рассказывают человеческим языком?
>>2622552 Если у тебя типы данных вызывают проблемы, то скорее всего js тебе рановато изучать и фундаментальных знаний немного. Начни с курса по языку си. Это буквально неделя и ты поймешь, что к чему и как работает. Потом будет значительно легче во всех языках
>>2622676 Ну попал и попал, бывает. Делать что ли тебе нехуй, анон, кроме как вкатышей оскорблять. У тебя там бабок дохуя фармится в наносекунду, сидишь в чистоте и тепле, а не ебашишь на заводе, обмазавшись соляркой и углём. Жизнь удалась, нахуя тебе вся эта мышиная возня, нахуя тебе кого-то оскроблять, нахуя тебе на ком-то самоутверждаться. Ты уже на вершине, никто с этим не сможет спорить. Тем более, что на работе своей ты уже наверняка повидал всякое - и вкатышей, которые нихуя не знают, и мидлов, которые не могут на простые вопросы ответить. Да и работа у тебя наверняка такая, что уже тупо лень кого-то еще в интернете пинать, доказывая своё превосходство.
Я просто не понимаю. Зачем вести себя как вкатившийся джун, который постоянно чувствует себя дауном-аутистом, и поэтому ему нужно кого-то на анонимной имиджборде пнуть и послать нахуй.
>>2622681 Поясняю. Я помогу вкатуну, когда у него будет конкретный вопрос из ряда "почему так работает?", "вот код, хочу сделать Х, а получается Y, что я делаю не так?" и тд. Но когда пчелик приходит и говорит, что ему сложно на типах данных в джавасрипте - ну это сразу в хохот. И пишет, что до этого норм, было, а тут стало тяжело, давайте нормально поясняйте. А предыдущие главы какие: хеллоу волд и переменные, а он на них по 4 часа тратил. Это прям винрар.
Но надо отметить, сам звезд с неба не хватаю, скромные 4к всего.
>>2619619 → >>2619623 → >>2619632 → >>2619668 → Ребята, спасибо вам большое за попытку помочь, но на тот момент я ни черта не понял из ваших объяснений. Я никак не мог понять, почему в переменную записывается функция, хотя вы утверждали, что записывается результат, а не функция. Поник головой, два дня играл в КСГО, посрался с другом, помирился с другом, сел обратно за эту задачу, и понял, что всё дело в том, что str - это примитив. Если к примитиву применять метод, то результат не будет сохраняться. Только к объектам можно применять методы, рассчитывая на сохранение результата. В данном случае для str создаётся "объект-призрак", суть которого я так пытался запомнить. В этом "объекте" применяется метод toLowerCase(). А потом результат тут же забывается, ведь str - это примитив, а не объект. Результатом должна быть строка полностью в нижнем регистре. Поэтому тут два варианта: либо применять метод к примитиву каждый раз, либо записать результат метода в отдельную переменную, и использовать уже её вместо метода.
>>2622553 А, вот это пропустил и тут некорректо насчет разделов >>2622709. Тогда такой ответ: всё там нормально когда последний раз заглядывал, не выебывайся и сиди над задачами.
>>2622710 Вот так выглядел мой код изначально. Как видите, я не использовал вторую переменную, которая бы сохраняла результат метода toLowerCase(), применённого к примитиву str. Отсюда и проблема.
>>2622681 Да, я тебя понял. Вот с этим солидарен >>2622709 По последнему треду даже если смотреть, частая картина, что даже если нужна какая-то помощь, зачастую задача идёт без вводных и с невнятной целью. Вытаскивать клещами, что требуется, когда все тупые - не доставляет удовольствия.
>>2622716 >Вот с этим солидарен чаю. даже если какая-либо проблема была исследована и расписана в тексте - это может быть вовсе не решением для анона-вкатыша. т.к. проблема была вовсе о другом а гадать на картах для выявления вопроса меня не учили.
кст, бывалые в этом треде, раньше же было пояснение в шапке, что нужно код в песочницу пихать и ссылку сюда давать? год-два назад вроде было, не? или у меня какие-то ложные воспоминания?
>>2622913 >>2622925 Там не настолько необъятная дока. Актуальная инфа будет в доке. Копипастить тоже следом за видео будешь? Ну вот смотри, какой-то видос с челом который клепает сайт на некст, аж 12 часов назад! https://youtu.be/e1EIwuO-Dlo
А вот и я, пришел вас обоссывать. Спустя сутки я смог правильно объяснить ИИ что мне нужно, и она мне написала нужный код и сэкономила мне 6000 рублей который вы у меня тут вымогали. Хотя я готов был заплатить 1к за эту легкую работу на которую ушло бы у вас 10 минут. Ой, это что, получается програмизды не нужны? Ведь я сделал для себя скрипт с нулевыми знаниями JS. Как же так? Тьфу на вас блять. Не зайду сюда больше никогда
Так и не понял, какой фримверк для фронта лучший? Вот я разработчик заднего конца, хочу чисто для себя выучить жиес чтобы там интерфейсики всякие прикольные клепать (особенно электрон нраицца). Что же взять - РЕАКТИВНЫЙ, УГЛОВАТЫЙ, ВИДОК или СВЕТЛЕНЬКИЙ?
Опять абстрактная задача, с чем логично был отфутболен. Сходил в /b, нихуя не получилось. 3 дня объяснял ИИ чего он хочет. Прямо как этот с его контурами >>2622965 Что он там подразумевает под контурами и что делает - да кто его знает лол.
>>2623223 Ну я же первым постом тебе тогда указал на проблему >>2621098 →. А потом ты попыхтел пару деньков - и чатЖПТ сделал, что тебе нужно. Так что не ленись в следующий раз просто.
>>2623237 реакт без вариантов, он просто популярнее и инфы по нему больше. К тому же он проще всех, остальные используют для довольно специфических задач
>>2621954 Почему кстати нода до сих пор не стала универсальным инструментом на бэке? Буквально лучше решеток и джавы почти во всем, не говоря уже о всяких питухонах.
Небольшой архитектурный вопрос. В этом случае стоит использовать интерфейсы или классы? Всё эти данные парсятся из JSON с внешнего сервера и вручную не создаются.
>>2624032 А теперь реализуй выгрузку файлов чанками, динамическую форму без перезагрузки страницы с переменным количеством инпутов в зависимости от ввода, анимацию открытия закрытия меню древовидной структуры и чтобы количество уровней дочерних элементов было неизвестно заранее, перетаскивание элеметов этого меню, плавный ресайз отдельных областей страницы, контекстное меню на странице, события на странице при скролинге например изменение лайаута элементов и тд и тп
>>2624097 Что там необычного увидел? CRM никогда не писал или другой софт для внутренних задач бизнеса? Ну разве что про скроинг это скорее из свистоперделок для публичных сайтов.
TCO была принята в стандарт ES6 и не имплементирована никем, кроме javascriptcore. В вебе заведено что от ЛЮБОГО стандарта для его принятия требуется две независимые имплементации среди активно используемых платформ.
Так как TCO не было имплементировано никем более, его выпилили их спеки с ES7.
Как выучить CSS? Чтобы не так что сидишь и по 30 минут гуглишь почему грид на пол страницы съехал а вот именно взять и ПОНЯТЬ, чтобы вот в голове все выстроилось в цельную и гармоничную картину от а до я как и куда что считается и на что влияет, чтобы ЧУВСТВОВАТЬ макет, быть с ним ЕДИНЫМ ЦЕЛЫМ. Есть ли способ получше классического решения проблем по мере поступления?
>>2624151 >чтобы вот в голове все выстроилось в цельную и гармоничную картину CSS не является цельным и гармоничным, так что он не выстроится. Просто берешь - и отдельно кусочками учишь, как работает грид и что на что в нем влияет, как работает флексбокс и что на что в нем влияет, как работает блочная модель и что на что в ней влияет.
>>2624055 Ты серьезно сейчас? У нас бэк на шарпах - и он по сравнению с js примерно как Нед Старк по сравнению с Вонючкой. Тут даже не знаешь с чего начать - начиная от возможности писать аллокейшен фри код, по скорости не уступающий нативному и заканчивая линкью, позволяющему за 2 строчки сделать то, что на js займет 50 и потребует трехуровневых вложенных циклов с 10-ю временными переменными, и возможностью в целом писать методы расширения, тем самым полностью получая контроль над внешним видом кода, выводя его переиспользование на новый уровень в плане интуитивности и понятности. И это я еще про инструментарий для дебага не начинал, от которого на js плакать хочется, и встроенной документации, позволяющей за счет строгой типизации и своего качества прямо из IDE понимать, какой функционал и каким образом использовать без необходимости лезть на сайт c документацией за подробностями.
>>2624209 Ну есть же какая-то концепция вообще у css. Например разделение элементов на строчные и блочные. У большинства строчных нет размеров, строчные не переносят следующий элемент потока на новую строку, на строчные влияет line-heigh Или например концепция весов у селекторов Лидирует тот стиль который находится в селекторе с наибольшим весом. Если веса селекторов одинаковые то лидирует стиль в последнем селекторе.
>>2624215 Есть rxjs он по выразительности не хуже твоего линкью. Все таки нода это лучший инструмент для индикабанчиков. Твой дотнет все же на корпоративный сектор рассчитан и на коллективную разработку с переусложненным пайплайном, тулчейном, окружением
>>2624289 > апрель 2016 И че они до сих пор вола ебут? > коллстак Коллстак из > функциянеим > функциянеим > функциянеим > функциянеим > функциянеим Мне конечно охуеть поможет, как мне без него жить то?
Анон, помоги вкатышу. У меня есть такая строка "$123.321" как мне с помощью slice() положить в две разные переменные то, что находится до точки и то, что находится после точки?
>>2624220 >Есть rxjs он по выразительности не хуже твоего линкью Намного хуже. Просто посмотри и сравни. >Все таки нода это лучший инструмент для индикабанчиков. Только тем, что можно запрячь фронтенд-макак писать бэк. На этом преимущества заканчиваются.
>с переусложненным пайплайном Там пайплайн разработки, внезапно, проще.
>>2624235 >То есть в js по твоему нет ленивых цепочек итераторв и трансдьсеров Просто сравни, как они пишутся. С линкью и рядом не стоит. >Или в прототипно ориентированном программировании нельзя писать методы расширения? В js - нельзя.
>>2622024 >Но это пиздец тупо, как мне кажется. Эээ, почему? Самый простой и самый надежный способ, если на latency похер, а в твоей случае как раз похер.
Как поместить результат работы each(html) в один контур ? У меня получается, что каждое слово в новом контуре, а мне нужно что-бы один был контур для всех слов.
>>2625110 Контурошизик, вопросы формулируй нормально, ну или пили песочницы, ну чего ты в самом деле. если ты другой анон, сорян, но про формулирование и песочницу, и к тебе относится тогда.
>>2625122 Вот тебе не жалко пацана? Когда он поток сознания начнет на кабаныча изливать, кабаныч станет потом от него во все стороны шарахаться что б не загрузил шизой.
Есть селект, при нажатии появляется дропдаун и там кнопка которая открывает модалку. При нажатии на селект какого-то хуя срабатывает onclick кнопки, хотя ее в в момент нажатия даже в документе нет. Есть идеи почему так может быть?
>>2625379 Смотри где у тебя висят обработчики. Возможно, ты не туда присобачил обработчик. Ты можешь посмотреть в событии с какого элемента был запущен обработчик. Возможно, обработчик висит где-то выше и срабатывает при всплытии события. Для этого нужно вызвать event.stopPropagation чтобы не было всплытия.
>>2625177 Скорее пма жалко. Вряд ли контурошизичный словарь пилить кто-то будет, посадят его на какой-нибудь зашкварный проект и будет себе там контуры в кулачок пилить.
Некстодебилы, для вас нормально делать два запроса на ровном месте, вместо одного? Как этого избежать? При условии, что я не знаю количества постов, для массива path.
В общем есть такая проблема: У меня есть страница куда при загрузке useEffect'ом выгружается с сервака первый объект в стейт и отображается. В этом объекте содержиться текст и кнопка. При нажатии на кнопку должно инкрементировать let который указывается в ссылке на сервак и должен выполняться запрос на сервак за новой порцией текста и новой кнопкой которые должны быть сразу видны на странице под предыдущим контентом.
Как это сделать по грамотному? Пж помогите ребятки.
>>2625933 А ты хочешь статику пре-билдить, или тебе каждый раз нужно актуальные данные тянуть с SSR? Динамика - getServerSideProps, будет вызываться на каждый запрос. getStaticPaths с getServerSideProps работать не будет, некст после него лёроаёт getStaticProps. Если тебе нужно периодически пересобирать статику - ISR: https://nextjs.org/docs/basic-features/data-fetching/incremental-static-regeneration
>>2626057 Та я пока пытаюсь понять, как Некст работает, что бы эффективно его использовать. Если у меня есть, например, страница юзера, она же должна быть династической, верно? Нельзя же при билде срендерить сразу все страницы всех юзеров? Мне кажется, что нет. Отсюда вопрос. Есть возможность иметь на одной странице два компонента, один со статической инфой (например статья какая-то) и второй с динамической (хедер с данными пользователя)? Просто в двух словах. Доку я потихоньку читаю.
>>2626110 Оба варианта работают, но, как ты и говоришь, выглядит убер костыльно. Не понимаю, почему так решили разработчики, не моего ума дело :3 Спасибо
>>2626158 Тут обычно 2 варианта: 1) ни нужно, но нужно принять параметр, чтобы использовать другие параметры в функции 2) переложат _ как есть без модификаций
Изредка, может быть договорённость в условных мапах и иже с ними на массивах использовать _ для униформности
>>2626164 Например метод массива map передает в функцию три аргумента currentValue, Index и array, если тебе нужно только значение, то просто пишешь функцию вида (v)=>{} и успешно проебываешь два остальных аргумента. А вот если тебе нужен первый и третий аргумент, то придется второй тоже принять, вот чтобы его пометить как ненужный его обычно обзывают _, пишут функцию вида (v, _, a) => {}.
и вот мне надо чтобы после клика на кнопку производился новый запрос на сервер, но как уже понятно по параму = 1. С него приходит новый жсон который также идёт в дату.
А на странице это должно быть примерно так:
зашёл на страницу первый раз и увидел: - текст 1 - кнопка 1 - текст который появляется после нажатия кнопки (пока невидим) 1
нажал на кнопку на странице: - текст 1 - кнопка 1 - текст который появляется после нажатия кнопки (уже видим так как нажал) 1 - текст 2 - кнопка 2 - текст который появляется после нажатия кнопки (пока невидим) 2
>>2626202 Если тебе нужно значение счётчика держать между рендерами, используй для этого useState. Твой let i на каждый рендер заново инициализируется в ноль.
const [id, setId]= useState(0);
useEffect(() => { request(`api/${id}`) // setData }, [id]) С зависимости, чтобы запрос дёргался на изменение id.
В обработчике на кнопку делаешь setId(id => id + 1)
Состояние обновилось, на следующем рендере имеем id = 1. id поменялся => запустился useEffect с запросом
>>2626284 Я вижу у тебя в data массив с объектами. data - состояние компонента в данном случае, которое "переносится" между рендерами. После изменения id ты просто можешь добавлять новый объект в массив. Сорта: useEffect( async () => { const response = await fetch(`api/${id}`) const newEntity = await response.json() // новый объект с бэка
setData(state => [...state, newEntity]) // новый объект в конец массива }, [id])
Дальше просто по своей дате в return проходишься через map и отрисовываешь как надо
Мужики подскажите пожалуйста. Блог на нексте, хочу сделать страничку с выводом всех статей, но чтобы подгружались постранично. Начал проект с App папкой и подходом client\server компоненты, но я так понял что никак из клиент компоненты не передать значения в серверную? Или это всё хуйня и надо через __апп делать?
>>2626321 Я так понимаю что просто на реакте и с нормальным бэком, я бы бед не знал и state на каждую залупу бы уже навешал,но с некстом чет не догоняю как взаимодействие клиент компоненты и серверной установить
Вопрос по гиту, есть какой-то вариант между аккаунтами переключаться? Gitlab или gitlens в vscode даст такую возможность? Или мне блять придется каждый раз удалять аккаунт в диспетчере учетных данных и заново входить в нужный аккаунт?
>>2623223 forEach...forEach...forEach...if...if...if...if Земля стеклобетоном тому, кто потом этот кал говна вилкой рефакторить будет или дорабатывать функционал придется. Мало того, не забывай, ты на иъёбства с чатгпт и свое время потратил
Написал такую кнопку. Она имеет свои стили, раньше я при наличии customClass добавлял еще 1 класс рядом с основным, но тогда нужно все писать через !important, пришлось переписать таким вот грубоватым способом как на пике, из минусов дохуя лишнего CSS кода на кнопках где требуются правки в стилях. Как выйти из ситуации? Почему класс модификатор ниробит без !important? да, я тупой
>>2626381 Сделай основной класс дефолтным и его стили перезаписывай другими классами. В чём проблема? Я бы посоветовал передавать классы массивом и .join(' ') или пустой массив, если нет классов, но за такое тут обоссут. Алсо, есть библа с гибким применением. https://www.npmjs.com/package/classnames
>>2623223 Толсто. Тебе бы тут такую простыню рублей за 50 накатали, а за 100 - выстроилась бы очередь из желающих. О какой такой тысяче, и тем более шести, ты говоришь?
>>2626331 Для фронта вообще никаких альтернатив, интерпретаторы из других языков в жс или васм - игрушки без вакух. Вместо ГОвнеца уж лучше ржавого навернуть, там хоть можно модули к ноде писать.
Когда открываю селект у дропдауна неправильно вычисляется getBoundingClientRect().height высота при первом открытии, когда второй раз открываешь все нормально, что за хуйня? Получилось пофиксить только добавлением . getBoundingClientRectRect в депсы useEffect, но как-то говном пахнет это
>>2626224 > я могу писать классовые компоненты в 2к23 Можешь, но лучше не писать. > роутинга Реакт-роутер > стора Сильно зависит от размеров аппки. Часто можно обойтись хуками и контекстом.
Собираюсь писать пет-проект, где будет список элементов, обновляющийся по сокету, график, не большой чатик и, возможно, еще запилю возможность ресайзить блоки (типа такого https://react-resizable-panels.vercel.app/examples/horizontal). Ну и общий стор нужен. Всё это на одной странице. Для CSR идеальный вариант, но мне нужно закрепить знания по Нексту. Нормально ли такое пилить на Нексте? Какие подводные?
>>2626601 По поведению. Плюс, я никогда не пользовался нестрогим неравенством, поэтому не знал про такие приколы и думал что нестрогое приводит к типу и просто if также приводит к типу.
Понадобилось на проекте сделать что-то типо всплывающего меню и в других местах это просто вкорячено обычным дивом с маржином, мне не особо понравилось. Порталы в react вообще используют на реальных проектах?
>>2626711 >Порталы в react вообще используют на реальных проектах? конечно, но учитывай что меню может выходить за рамки экрана, поэтому используй floating-ui или react-popper
Встал хуй вопрос. Разбираюсь в нексте. Нашёл глупое тестовое, просто отрисовать компоненты. Прилетает с апихи объект с пропсами, там ссылка на картинку карточки. Эту картинку я отрисовываю компонентом Image from 'next/image'. Картинки разных размеров, я заведомо не знаю каких (да, да, хуета. в нормальном проекте картинки все в папке, с размерамм и т.д). Компоненту Image надо прокидывать размеры для того, что бы он резервировал место под картинку в разметке. Вот что я придумал
Логику вычисления ещё подкорректирую. Пока, просто два столбика карточек и ширина картинки примерно равна ширине карточки width={winSize < CSS_SIZES.WINDOW_MAX_SIZE_MIN_MEDIA_VALUE ? winSize / 2 : CSS_SIZES.QUEST_CARD_IMAGE_WIDTH}
// CSS_SIZES.WINDOW_MAX_SIZE_MIN_MEDIA_POINT_VALUE, сделал переменную, что бы вынести в отдельный хук. в компоненте был window.innerWidth, который можно только в компоненте использовать из-за SSR
Как идея? Разбираюсь в ньюансах некста и наткнулся на такую минипроблему с компонентом Image в контексте задачи. Да, хуёво, что на каждую картинку навешивается лиснер, но так под любой размер экрана подгонится ширина.
Тупо лол. Не знаю, сколько бы я искал такую возможность использования шаблонных строк в доке, но в любом случае, дольше, чем спросить у нейронки. Алсо, я даже не подозревал о такой гибкости тса. Всегда думал, "вот держите нахуй, строки, числа интерфейсы и т.д, если будете мешать всё вместе, то ошибка". Справедливости ради скажу, я и не пробовал экспериментировать. Ахуенное это ваше чат жпт, быстрый вопрос, быстрый ответ, чего мне не хватало всегда. Код-то хуй с ним, чаще вопросы, "есть ли возможность?", "а как оно работает?" и т.д.
>>2626835 Нормальные люди умеют в документацию. Кстате, этот твой чятжпт обосрался и не сказал про перемножение юнионов. type Units = 'px' | 'em' |'rem'; type MyType = `${number}${Units}`
в реакте юзать portal для дропдауна у селекта это норма? Просто как-то по уебански звучит вычислять позицию селекта и потом top от верха отсчитывать, особенно непонятно как делать когда этот селект внутри модалки
>>2626895 Да, я понимаю что считать надо, но ведь если допустим в документе, то от window, а если в модалке, то от низа модалки, а если скролл модалки, то это на каждый скролл пересчитывать. Не совсем понимаю вот.
>Для этого можно использовать popper-js. Спасибо, почитаю!
>>2626989 Да спросил прост. А то мало ли, в этом ЖСе чего только нет Я когда после Питона начинал первый код писать, просто офигевал от всяких альтернативных синтаксисов
>>2626989 функция высшего порядка это называется, когда функция как аргумент передается. А че они про присвоение в переменную написали хуй пойму, у них же самих это называется function expression.
>>2627032 Ну тут как бы, есть возможность положить в переменную функцию => JS имеет функции первого порядка. Функция возвращающая и/или принимающая функцию - функция высшего порядка, как ты и сказал.
>>2627023 > IIFE пик стронли релейтед А вообще, функцию возвращает функцию, как минимум чтобы было по реактовским правилам этот должен быть хук читай: нейминг, или внутри IIFE оно стриггерится? Плюс результат всё ещё надо положить в переменную. Видеть такое прямо в пропах компонента я точно не хочу. Вообще, когда я думал как это закостылить, в голову пришёл другой костыль, но отдаю победу тебе
>>2627159 по идее должны быть можно, если он вызывается всегда, а не внутри какого-то условного оператора. Главное чтобы порядок хуков сохранялся во время повторного вызова компонента.
Как в несте получить данные о том, какая тема у юзера выбрана? Хотел через useEffect в _app получить данные из локалстореджа (и там же тема подключается к приложению, поэтому там же хочу менять тему, если пользователь переключит её, что бы тема для всего приложения сразу менялась), но window.addEventListener('storage', fn); срабатывает только на удаление из стореджа. Что я делаю не так? Как лучше сделать?
>>2627715 Я по кнопке меняю статус темы в сторедже. Хочу что бы кнопку нажал - сторедж поменялся - поменялась тема приложения (которая подключена в корне приложухи в _app)
>>2627948 Я тебе предлагаю делать нормально, чтобы изменение состояния приложения ложилось в хранилище отдельно, а не так, что ты сначала сохранил куда-то, потом чешешь репу как настройку обратно подсосать. Сейчас у тебя локалсторадж, завтра куки, послезавтра - база, каждый раз будешь изобретать костыль? Не нравится редукс - выбирай другой магазин, тыщи их.
>>2628030 Я просто изучаю некст, и как передавать данные с клиента на сервер и т.д. У меня банальное приложение, которое отрисовывает несколько карточек. Библу подключить можно в любой момент. Хотел использовать нативные вещи. >>2628061 Умел бы я читать.jpg
Как вы делаете модальные окна на реакте? Как анимировать закрытие окна, если оно удаляется из дома или делается display none? Оба случая срабатывают сразу и transition не успевает отработать
>>2628519 Спасибо. А какие альтернативы? В вью тоже через внешнюю либу приходится это делать? А в относительно новых инструментах, особенно svelte? Почему-то думал, что такое можно делать без сторонних библиотек.
>>2628530 А если серьезно то во вьюжс компилятор шаблонов делает кучу оптимизаций, так что если ты не засунешь транзишен в шаблом то и в бандле транзишена не будет, а дальше тришейкинг бандлера работает
Может кто-нибудь написать скриптик для скрытия всех тредов в /b, кроме webm тредов (желательно ещё музыкальных тредов)? Вам практика, а мне изоляция от потоков дегенеративного говна.
Какая же параша, этот ебучий фронтенд. Я хуею. Читаешь доку "нашей прогрессивной, удобной, 'всё есть' библиотеки", натыкаешься на "а для фитчанейм, мы советуем использовать наш 'суперудобный пакет залупа 3000. Просто установите залупа 3000 и внесите вашфреймворк.конфиг эти три строчки'. Устанавливаешь залупа 3000, вносишь три строчки в конфиг, запускаешь - миллион ошибок в консоле, нихуя не работает. Заходишь на сайт фреймворка, там тоже самое "три строчки в конфиг и всё". И так со всем. Ситуации, где я просто сделал все шаги из "getting started" и всё заработало, можно по пальцам сосчитатью. Вы ну не вы, ананасики,а разрабы пакетов либо делайте рабочие пакеты, либо более детальную документацию, я хуй знает. #Горижопа.
>>2623223 Т.е. я правильно понимаю >чатгпт я буду 3 дня объяснять что мне надо >живому человеку — не буду ? Ну с такими софтскиллами тебе точно перезвонят.
>>2628658 >Написал криво код - сгорела плата нахуй Ну это личная ответственность пишущего, от такого не особо горит. Типа "сам виноват, хуёво продумал", а тут ты просто по мануалу все шаги делаешь, тупо копипастишь необходимый код и не работает. Ещё горит с необходимости устанавливать доп. библиотеки. Блять, я установил ваш пиздатый реакт! Нет, установи ещё вот этот пакет, вот этот пакет, жопу подтирать этим пакетом, смывать говно этим пакетом и т.д. Ну да похуй.
>>2621834 (OP) Сап наносеки, изучаю бэм подскажите по пику правильно ли я неймаю на примере хедера. Вот есть блок хедер в нем лемент header__content внутри него header__naming -> header__naming-icon или правильнее будет назвать header-icon?
>>2628671 Ага, только учти, что тебе спецификацию на железо выдал производель и если там чего-то нет - то ты можешь очень долго выяснять детали, а сроки горят. Поэтому есть желание попробовать решить так, как на другой железке на поколение младше работало или искать в интернете, а гуглить схемы - это тебе не джаваскриптовые ошибки на стаковерфлоу искать.
>>2628937 Похоже на правду. У элементов не подэлеметов, если есть вложенные елементы то они все к блоку относятся, поэтому у всех элементов один постфикс block-name__element-name а не несколько block-name__element1-name__element2-name
>>2628964 Вот у тебя СПА с зашитыми в компонеты стилями, тут вдруг приходит Кабан Кабаныч и говорит нечеловеческим голосом - Сычов. Купили мы Быстрикс24, лендосы будем делать там, чтобы вести клиентов в воронке продаж. Захуярь в них наш копроративный стиль!
>>2629006 Поридж малиновый, Кабаныч не твоя мамка, он не спросит на чем тебе нравится очередной фронтенд делать. Или будешь по нищим галерам бегать, убегая от задач серьезногу бизнесу.
Котаны, помогите, пожалуйста, ибо я уже заебался гуглить не то/не находить решение
Мне нужно сделать кнопку, при нажатии на которую справа выплывет окошко с текстом (примерно изобразил на пике) Я понимаю, что надо эвент клика, #кнопка:after, но дальше неебу, совсем тупик Помогите, пожалуйста!
>>2628976 Сынок, я не в РФ. Конечно, если Джон Бор скажет что БЭМ нужен - то я буду делать на этом говне, или на любом другом но пока он что-то популярностью не пользуется.
Нужна помощь с фронтом
Аноним04/03/23 Суб 11:29:11№2629237268
Я быкенд перешедший в девопс с 4 годами опыта работы и еще более продолжительным бекграундом диванного программирования. Для реализации своих задумок не хватает знаний, а вернее опыта, по фронту. Я в принципе знаю всю херню HTML, CSS, JS, делал какие-то простые и даже более-менее сложные верстки из говна и палок, писал на JS, даже применял Vue и bootstrap. Но если быкенд с апишкой на джанге я смогу поднять за 30 минут, то сверстать страничку у меня займет 1-2 дня, особенно если ебаться с инструментарием на ноде. И реализовано это все будет кое-как, с кучей костылей на CSS. Вощем испытываю трудности, а хотелось бы набить руку, создать нейронных связей под это.
Я более-менее понимаю план действий, мне нужен скорее support & assistance. Сейчас двигаюсь по роадмапу https://roadmap.sh/frontend в котором половину всего я и так достаточно глубоко знаю, а про остальную половину имею представление. Посоветуйте каких-нибудь специальных макетов для обучения верстке от простых к сложным. Может знаете какие-то ресурсы, которые мне будут полезны. Если захотите поменторить, вот телега @perdaxx
>>2629237 Пчел, ты двигаешься в обратном направлении. Верстают пускай вкатуны-джуниоры, а ты лучше развивайся дальше в бекенд и инфраструктуру. Базы данных там, клауд ф-ции, лоад балансеры, кластер разверни и тд. Нахрен тебе нужно кнопки красить? > быкенд с апишкой на джанге я смогу поднять за 30 минут, то сверстать страничку у меня займет 1-2 дня, особенно если ебаться с инструментарием на ноде. И реализовано это все будет кое-как, с кучей костылей на CSS Это норма.
>>2629251 Мне для себя нужно. У меня периодически возникают идеи которые хочется реализовать, вот например из последнего - сделать инструмент управления трафиком, с роутингом трафика между различными прокси / VPN, с мониторингом, блекджеком и прочим. Писюн падает когда представляю как я это все верстать буду
Аноны, такой от залетыша. Несколько лет назад еще существовал стереотип, что во фронте постоянно меняются технологии, и то, что было модным сегодня, через годик все уже могли забыть. Как сейчас с этим стереотипом? Вроде реакт, ангулар и вью уже много лет у вас и ничего больше нового.
>>2629237 >сверстать страничку у меня займет 1-2 дня ну, это норм. т.е. у скилового версталы вротендера простенькая стр занимает +- день, но на более сложные уходит и больше.
при этом, как я понял, ты делаешь для себя, т.е. ты не обременен необходимостью делать пиксель перфект. пиксель перфект же - это когда ты должен сделать верстку идентично как на макете в разных размерах. по этой причине верстка не такая уж и быстрая работа.
+ васянские либы, которые приходится пердолить под разные устройства, т.к. внезапно, они имеют кучу кастылей и условностей.
так что не совсем ясно зачем тебе ментор. и не совсем понятен бугурт про долгую верстку.
допустим на пик я бы взял 3 дня. самая простая верстка с простейшей тестовой логикой. скорее всего управился бы и за день, но нахуй об этом знать пму?
>>2629266 Так начни делать просто. Сначала консольный интерфейс, веб оставь на потом. > Писюн падает когда представляю как я это все верстать буду Это норма.
Аноны, я столкнулся с проблемой. У моего скрипта есть класс которой выполняет всю работу. Я могу нажимать на кнопку, чтобы работа начиналась или прекращалась. Однако, чтобы работа прекратилось, я должен подвязать все методы моего класса выполнять проверку на флаг.
Иными словами мне придется каждый раз в теле каждого метода перед его выполнением проверять if (this.canceled) { return }
Но чё-то такое себе. А если мне к примеру придется как-то изменить то что внутри курли брейсов {}? Есть в JS'е декораторы как в питоне, чтобы я мог обернуть все свои методы типо @stopcondition function start() {}
@stopcondition function doThing() {}
?
Как вообще лучше обустраивать отмену работы какой-то хуйни?
Вообще странно, что ты задался мыслью делать проверки только внутри класса. То есть в UI ты никак не отображаешь процесс выполнения и кнопки не повязаны к текущему состоянию экземпляра? То есть кнопки всегда доступны к нажатию?
Ну а вообще, декораторы прикрутить можно, может однажды они уже докатятся в одну из версий JS нативно. В принципе, ничего плохого не вижу, если ты хочешь добавить валидацию внутри класса, но что-то есть чувство, что что-то пошло не так.
>>2629440 Более-менее важен. Люблю Material UI, чтоб вот эти анимации форм/кнопок были как в ведроиде. Я так однажды сделал неплохой интерфейс с помощью Vue + Material UI, 3 дня на это потратил
>>2629438 Мне тайпскрипт не подходит, у меня юзерскрипт. Там приходится на чистом жсе всё писать.
У меня по сути одна кнопка условно "Начать работу" при нажатии на которую совершается целый пласт действий с разными методами. В любом момент пользователь может нажать "Прекратить работу" и мне нужно прервать все действия и окатить до начала. По сути хватает обычного ретурна, скорее всего, по крайней мере с ретурном вроде как работает всё. Но ощущение костыльности присутствует.
>>2629440 Ох, вспомнил как пытался сделать вращающуюся кнопку обновления, пиздос как наебался с тем чтоб она ровно вращалась и стейт "вращается/не вращается" нормально отрабатывал. Я кажись так и не смог нормально останавливать вращение
А обертку в каком виде? Типо написать декоратор, а потом вручную после того как создал инстанс класса прописывать инстанс.метод = декоратор(метод)? Можно конечно, но хз. А с функцией я не очень понял к сожалению.
Сейчас я пока решил тупо вставлять if (this.isCanceled) { return } в начало, пока работает вроде.
С функцией если, то у тебя будет отдельный метод в котором будут проверки на возможность выполнения, например isRunnable() { return this.isCanceled } Сейчас здесь ничего нет, одно поле для ИФА, но потом может появиться дополнительная логика. В этом случае достаточно будет поправить только его. Этот метод ты вызываешь по цепочке this.isRunnable() && (function () { actualJob here }) () Либо если это переписать, аналогично на ифы if (this.isRunnable()) { do actual job here }
>>2629498 Окей, понял. Ну в принципе это действительно обертка, декоратор должен возвращать обертку в которой уже перед вызовом основной функции выполняется какая-то фигня.
А если бы вам захотелось в собственном скрипте добавить новую кнопку к всплывающей менюшке взаимодействия с постом из куклоскрипта, то как бы вы привязали ивент взаимодействия на эту новую кнопку?
Нужно же как-то узнать с каким постом ассоциирована кнопка.
>>2629821 Я что-то не понимаю. Кнопка, которая относится к посту, не рендерится в шапке поста? Это где такое? Ща на даче посмотрел, там эта кнопка в диве с айдишкой номера поста. мимо не шарю за ваш куклоскрипт
>>2629826 Нет, судя по всему она рендерится на верху древа и через абсолютное позиционирование css'а подгоняется под пост. Мда, боюсь тут придётся сильно костылить.
>>2629802 чел, в отладчике "ответить" вот так показывается, попробуй так же на самой кнопке открытия меню data- атрибут, скорее всего запоминает его глобально при клике или хз какая макака это сочиняла
>>2629906 У меня почему-то нихуя не показывается. Только на созданную менюшку ивент навешан.
Ну а то что у тебя на скрине, там скорее всего обращение к локальным переменным, в моём же контексте не будет ни к каким айидникам и намам доступа. Глобальной переменной такой нет. Хуй знает как адекватно без изъебов получить пост при кнопке.
Что не так с этой стрелочной функцией? Почему при переписывании её в обычную функцию, она не работает? Более того - она перестаёт работать даже если просто добавить () перед =>. Какого хуя? Это точно стрелочная функция вообще?
>>2630020 Пиздец нахуй, разобрался. Точнее решил прочитать дальше строчку ниже в учебнике. Найс объяснение, ставлю лайк. Сперва сотворим хуйню, а потом расскажем, что было сделано.
>>2630025 Я так понял чтобы у меня это работало я должен сделать по сути также, но первый ивент навесить onmouseover ну и в свою модаль прикрепить кнопку с сохранением поста после таймаута 100мс к примеру, чтобы модаль успела появиться.
Я только не понял зачем ты < 0 проверяешь а потом ретурнишь, это чтобы избежать что?
>>2630047 Хотя в теории можно проверку сделать есть ли эта кнопка уже или нет. Придется мутейшен обсервер навесить чтобы новым постам ивент прибавлялся тоже. Чет немного гемор, но это лучше чем я представлял.
>>2630064 Посмотри что передаётся в findIndex, что передаётся в то что передаётся в findIndex, посмотри что ты написал в том что передал в findIndex. Посмотри описание findIndex на mdn. > найти индекс в users, users (массив).name (undefined) == "Уасиа"
>>2630045 Найс, анон, оно работает, спасибо. Не знал что mouseover только один раз екзеклютится. Я думал каждый раз когда по элементу буду проводить он каждый раз будет привязанную функцию запускать.
>>2630090 Так у меня, как ты можешь заметить на видео, менюшка автоматически открывается, так в кукле сделано. На клик нет смысл привязываться, не особо получится. Каждый раз когда я навожусь, менюшка открывается.
>>2630082 Даже если исправить на user.name что в ретёрне, что в алёрте, нихуя не меняется - возвращается андефайнд. Блять, да какого хуя, всё же нормально выглядит.
>>2630095 Наркоман чтоле? Чем твоя стрелочная функция отличается от обычной, которую ты пытаешься передать? У стрелочной функции нет названия, ты принимаешь параметром user элемент массива. Во втором случае ты обзывает функцию user и нихуя в неё из массива при проходе findIndex не принимаешь. Нарабатывай навыки дебаггинга и гугления. Суй хотя бы промежуточные console.log и выводи значения переменных если не понимаешь что там не так. Я тебе предложил посмотреть findIndex на mdn. Ты посмотрел? Нет. А там расписана сигнатура функции и есть примеры. Навыки гугления я за тебя тоже не смогу наработать.
>>2630097 Может потому что через jquery эвенты накинуты, попробуй через него и вызывать. Кстати, новые посты сами подпишутся на эвент, если через него сделашь.
Мне страшно нахуй, эта хуйня отлично понимает меня, запоминает что было до этого и МОМЕНТАЛЬНО генерирует ответ. Я раньше не пользовался чатгпт, зарегал на всякий случай. Сейчас решил воспользоваться и охуел.
>>2630111 Ну и к слову по какой-то причине триггер не работает. А штука которую чатгпт дала и которая работает на свг почему-то отмечена как устаревшая. Как тогда не депрекейтед способом вызвать клик событие интересно на конкретно этот свг?
Заканчиваю через пару месяцев отработку барщины ученический на галере, хочу спрыгнуть на продукт. Реально полуторагодовалому вкатышу попасть в это ваше МЯСО фронтом (ангуляр и реакт)? А то я с алкоритмами не очень, зато английский Б2.
Четыре строки подряд. Первая выдает готовый object, в котором естественно заполнено property "name". Вторая выдает undefined Третья - опять же готовый object, в котором точно так же присутствует не пустое property "name". Четвертая сука выдает что я хочу получить, значение property "name". Чяднт?? Пытаюсь разобраться, поэтому подряд это написал, а понятнее не стало. Если then ждет пока promise не исполнится, почему я не могу получить сразу значение property, но могу корректно получить весь object целиком?
>>2630628 Потому что чтобы что-то достать по цепочке, надо это что-то из функции вернуть. console.log возвращает undefined, его ты и получаешь. promise.then(function (resolvedData) { console.log('hurts moe'); return resolvedData.name; }).then(function (name) { console.log(name) })
>>2630628 >>2630638 > console.log возвращает undefined Проебался. Так то оно так, только ты нихуя не возвращаешь, а это аналогично если написать строке return; //и тоже вернёт undefined И да, с этим согласен >>2630640 А лучше уж залей в песочницу если тебя гложет что-то. Проёбано форматирование не помогает понять что ты делаешь.
>>2630646 В русских продуктах плотят так же или меньше, если что. Если конечно, мы не берём случаи с зарплатой в виде крипты на карту армянского банка.
>>2630640 Что-то типа такого. >>2630638 А почему тогда по таймеру setTimeout(function () {promise.then (function(arg1) {console.log('___timertest___', arg1.name)});}, 3000); я получаю что хочу?
>>2630651 Так и моя галера - огрызок в виде российского офиса, сама компания отчалила. И по деньгам уже ниже рыночка, + всякие приколы начались с увеличением интервалов между пересмотрами до года. А год гребли ниже рынка для меня это порядка 200к потерять.
Ананас, надо в общем материалов по бэку на ноде, конкретно NestJS. Есть какие-то достойные варианты может? Документацию глянул, но может есть более концентрированные и прикладные варианты?
А есть в рякте какой-нибудь способ получить ширину экрана до рендера приложения без использования user-agent? Я пробовал через typeof window !== undefined, но там будет ошибка гидрации useEffect всё-таки вызывается после рендера
Год самостоятельного обучения. Сейчас стек: фронт: react на next, mobx, axios, sass; бэк: express, prisma, postgres.
Пробовал: nest, redux, RTK query (непонтно и попа болит), sequelize, jwt, react из коробки с SSR
Из достойных петпроектов - уродливый но агрегатор новостей, с динамическим роутингом и админкой для создания, редактирования и удаления статей + редактор метатегов для каждой страницы. Админка на jwt токена.
Аноны, а как предотвратить дефолтное поведение textarea внутри формы при нажатии CTRL+ENTER? Проверял на двачерской форме под куклой. Я как только не пробовал, при нажатии ctrl+enter он пытается отправить POST запрос. Однако проблема даже не в том, что он не может предотвратить поведение формы.
Скорее проблема в том что я даже не могу заставить условие event.ctrlKey && event.keyCode === 13 отработать. Оно никогда не отрабатывает у меня в форме. Он работает если сделать иф только на нажатие ctrl к примеру, или enter. А как заставить его отследить ctrl+enter? Он сразу же отправляет форму и не реагирует на условие, как будто ивент просто не проходит.
>>2631113 На addEventListener ругается, 'Cannot read properties of null' Уже засунул в windows.onload, перемещал script src и всякие другие танцы с бубном С чем может быть связано?
Сап, возможно, кто-нибудь знает как можно реализовать подобное: при рендере компонента у инпута автоматически выставляется фокус и в нём появляется курсор
>>2631859 Имею в виду такую ситуацию, например, нужно отредактировать какой-то элемент, я запускаю локалхост и ищу его классы через код элемента, а потом вставляю в поиск по проекту. Как правильно это делать то?
>>2631859 >>2631862 А задача то у тебя какая? Делать то что сказано? Уровень аутизма и технологии и архитектура в проекте могут быть абсолютно разными.
Подскажите,читаю про авторизацию сейчас. Везде jwt токены используются? и реально третий сервер для приемки\отправки этого токена? Или как-то проще? и без заморочек?
Котаны, я не панимат тему классов Сейчас пойду смотреть ролики по второму кругу, но всё равно тяжеловато.
Какое практическое значение они имеют? Какие новые возможности открывают классы, например? В чём фундаментальное отличие классов от просто создания класса через const class = new Class (); ?
Чтобы ООП понять надо джаву изучать, или шарп. Что рекомендую, кстати, хотя бы в базе. Концепцию функционального программирования в джаве я начал более-менее понимать окольными путями именно через джаваскрипт, а весьма своеобразную джаваскриптовую логику в свою очередь - через ООП и строго-типовый подход Java и потом TS.
>>2632279 Не звучит так, что ты знаешь что такое прототипы, зачем они нужны в JS и что такое ёбаное прототипное наследование. Классы не убирают из JS прототипы, но работать с классами в разы приятнее, чем настраивать цепочки прототипного наследования и что-то там довешивать на прототипы. >>2632304 TS не серебряная пуля, которая решает все проблемы JS. Статическкю типизацию добавляет - да, и это охуенно. Классы? Те же классы только ещё и модификаторы доступа и помимо наследования можно реализовывать типы/интерфейсы.
>>2632307 Ну, поверхностно, скорее. Сама тема классов нетрудная (ну, наверное), просто яннп зачем такая сложность с кодом, если те же вещи можно сделать проще >>2632317 Хм, интересненько. Я правда не знаю, что такое прототипное наследование, просто прохожу оффлайн курс, на котором мне вкидывают задачи. До этих пор всё было +- понятно, а теперь уже трабл
>>2632279 Класс это сахар над прототипами и конструкторами. Просто так писать удобнее и на жабу похоже, можно любителей ооп садить на жс писать, авось и не заметят.
>>2632269 Да хуйня блять, ничего не выходит. Я не понимаю как это сделать. Мне нужно предотвратить дефолтное поведение на ктрл+ентер, чтобы он не отправлял запрос, поэтому я хочу отловить этот ивент и навесить свой. Чтобы я мог перед тем как пост отправится совершить манипуляции.
>>2633023 У меня комбинации с ctrl нормально отрабатывают. Что ты имеешь в виду под "дефолтным поведением"? Попробуй просто ctrl отловить и сделать preventDefault, действия типы выделения будут игнориться, но ctrl enter по прежнему работать.
>>2633124 Он отрабатывает ctrl но после него enter уже не отработает а запустит сабмит формы. Я пришёл к тому что тут дело в ивентах нажатия. Нужно работать с самой формой и конкретно ивентом "submit".
Я сейчас всё пытаюсь понять как мне сделать так, чтобы мой ивент отработался до остальных ивентов.
>>2633131 Тут submit может быть вообще никак не задействовано. Может и просто комбинация отлавливаться, по ней посылаться запрос, много вариантов.
>Я сейчас всё пытаюсь понять как мне сделать так, чтобы мой ивент отработался до остальных ивентов.
Хз, наверно такое и не сделать никак, твой листенер добавится после загрузки страницы, и stopPropagation уже не будет никак влиять. Перехватить базовый addEventListener опять же тоже не выйдет.
>>2633153 Я уже выяснил что как раз в сабмите дело. Там навешен jQuery ивент который не останавливается обычным stopImmediatePropagation в addEventListener. Сейчас проблема в другом, он теперь ждёт выполнения моего хендлера (пик) но потом просто зависает намертво и не выполняет отправляет форму.
Хочу написать js-консольное приложение, чтобы запускать его из ide добавил start скрипт (на пике). Проблема в том, что если запускать его просто как node . - то оно запускается сразу, а через npm run start или npm start - то оно перед запуском думает примерно 2 секунды. Как правильно запускать скрипт?
Подскажите пожалуйста, хочу написать парсер записи данных из сайта в режиме реального времени, какой стек технологии требуется изучить, подскажите пожалуйста, в каком направлении двигаться
как это синхронизировать? надо чтобы блоб скачивался после того как сфетчатся картинки, иначе скачивается пустой тарбол. если что скачивание блоба сделано без промисов, а через таймаут. потому что куски кода спизжены из долскрипта в отладке скачивается, если долго подождать, т.е. все работает надо только синхронизировать.
>>2633157 Бля, только спустя 3 часа понял почему у меня происходят проблемы. Ивенты запускаются в том порядке, в котором были добавлены. Я все время думал что последний добавленный ивент (мой) будет запускаться первым.
Тогда я хуй знает как сделать так чтобы мой ивент запускался первым, пойду гуглить.
Вешаю ивент в режиме захвата (capturing) на родительский элемент, чтобы он уж точно был первым. Отменяю дефолтное поведение чтобы не редиректило. Отменяю моментальный пропагейшен чтобы все ждали пока мой ивент завершится.
После этого, по какой-то причине, я всё ещё уходил в вечную загрузку (пик4). Не понимаю что мешало остальным ивентам отрабать как надо после моего. Но я вручную вызываю сабмит формы через jQuery чтобы все связанные ивенты с ней отработали ($(temp1).submit()).
Единственное что я не очень понял: 1. Почему мой ивент не отработался вслед за остальными ивентами, вызвал вечный цикл? Когда я вешал схожий ивент на саму форму, случался цикл, понятно почему. Неужели там отрабатываются только те ивенты которые непосредственно связанны с элементом (формой)? 2. Чем может быть вызвана вечная загрузка, из-за которой мне пришлось вручную сабмитить форму? Если мой ивент выполняется в режиме захвата перед всеми дочерними ивентами самой формы, по идее ничего не должно было помешать им отработать как надо? Единственная догадка так это то, что выше моего родительского элемента по ДОМу есть ивент, который также отрабатывается в режиме захвата. Этим может быть объяснено, почему я также вижу окно загрузки (пик4) в момент отработки моего ивента.
>>2633165 Его надо глобально установить и поебаться с package.json'ом. Ну у меня так было. Сделал небольшой скрипт, который создаёт структуру папок для nextJS приложения. И работает через командную строку. "type": "module", "main": "./bin/index.js", "scripts": { "start": "node index.js" }, "bin": { "next-struct": "./bin/index.js" // next-struct- ключевое слово для командной строки, как tsc у тайпскрипта },
>>2633313 Аноны, мне бы ОЧЕНЬ хотелось написать первый скрин из этого поста без использования jQuery. Но я перерыл весь гугл и не понимаю как. Все способы вызвать форму, будь то form,submit(), или form.dispatchEvent(new Event(''submit'')) редиректят на страницу с запросом. Может если я диспатчну ивент клика на кнопку реплая то такого не будет, но что-то мне подсказывает что тогда то я попаду в бесконечный цикл сабмита формы.
>>2633167 Если сайт простой, то express + cheerio, если там SPA с защитой от парсеров, капчей, клаудфлэром и т.д., тогда тебе нужен headless browser типа puppeteer, который будет у тебя вместо cheerio, он будет притворяться реальным юзером, заходящим на сайт через хром. Сам делал стесловые краулеры на puppeteer, как вариант ещё можно подрубить доджинг банов по айпи через специальный сервис от AWS https://github.com/Ge0rg3/requests-ip-rotator
>>2633319 У меня все работает, но когда запускаю через npm - оно одупляется две секунды, а через node - запускается моментально. Хотя в package json буквально эта же команда записана.
имел ввиду парсер криптовалют и связок как сделать, к примеру, парсер берет данные с разных сайтов и предлагает выгодный обмен(связок), купил на одной бирже, продал на другой? С чего начать, готов упорно учиться, даже если пойму что я чмо галимое, то лучше раньше, чем поздно.
Кто-нибудь знает, почему функции объявленные через обычную декларацию помечаются в ИДЕ, как unused property (затемнены они)? Я никак понять не могу. Это я чего-то не знаю, как оно работает, или это баг в ИДЕ
Читаю новую доку реакта: «While functional programming relies heavily on purity, at some point, somewhere, something has to change. That’s kind of the point of programming! These changes—updating the screen, starting an animation, changing the data—are called side effects. They’re things that happen “on the side”, not during rendering.» Что здесь понимается под "рендерингом"? Фаза рендера, когда WIP файбер-дерева сравнивается с текущим? Или некоторое общее понятие?
>>2633820 Ладно, для двача это видимо не вариант ебаться, хочется просто препроцессинг перед отправкой сделать и потом дать уже навешанным ивентам отработать после моего, а не в обход них совершать постинг. Видимо лучше $(form).submit() нет.
В 2к23 году реально ли вкатиться в какое-нибудь рога и копыта фронтендером? Если знаешь только js, vue и nuxt, но при этом нихуя не знаешь typescript, не знаешь ни ООП и ни ФП и ещё никогда не делал тесты?
какая-то проблема с промисами: всё норм скачивалось, пока не попался тред, в котором скачивание зависает на 2-х последних файлах (любых). в чем может быть проблема? как такое дебажить? когда другим питоном грепал, то словил таймаут соединения. может надо рефетчить после такого, потому само это не происходит?
Как же я ненавижу этот парашный язык, почему все реквесты на нём асинхронны? Я не хочу на каждый пук опрокидывать async/await на функцию чтобы дождаться жсона. КАКАЯ ЖЕ ХУЙНЯ.
Столько же костылей мне нужно для юзерскрипта. Почему блять просто нельзя соверашть синхронные запросы?
>>2634400 Там была типичная проблема 1 в 1 как на скрине. У меня класс разбит на методы, я создал небольшой метод чтобы получать жсон. Чтобы потом возвращать значение. Теперь мне приходится все тело метода оборачивать в промис и возвращать его, а в промисе резолвить значение финальное. И на самой верхушке прописывать then.
>>2634526 А, асинхронные методы/функции я так понял по дефолту промис вовзращают и мне не нужно вручную их городить? Также then на самом верху возвращать? Ну, можно попробовать.
>>2634526 > Указать асинк перед той функцией, где метод вызывается Или если ты про то чтобы использовать await то нет. Мне придётся указать для того метода который вызывает мой асинк ментод а затем для того метода который вызывает мой асинк метод который вызывает мой асинк метод, затем асинк для метода который вызывает остальные методы, затем асинк для мейн функции которая вызовет мой асинк метод который вызовет остальные асинк методы по цепочке.
>>2634557 О, благодарю, что-то не подумал вынести таким образом fooBar. Ну в принципе, в теории не мне нужно обязательно ждать пока foo отработет, так что можно его не эвейтить, тогда будет работать также как и с промисами, только с меньшим говнокодом.
>>2634589 Вот никак не пойму таких токсичных неосиляторов.
Спрашивают хуй пойми что, а на логичный вопрос хули он хочет, начинает огрызаться и токсичить.
Ебанат, если ссылка на сайт для тебя - это верх пояснение вопроса, то пошел ты нахуй.
Ебанат, если ты не можешь разобраться какой стек тебе нужен для верстки - пошел на хуй.
Ебанат, чтобы ответить на твой вопрос я по твоему должен исследовать все возможные варианты которые ты имел в виду в своем вопросе дабы ты ответил потом: "Я не это имел в виду" - пошел на хуй.
>>2634589 Ну так он промолчит, остальные промолчат. Твой пост уже был красным флагом, а тут ещё и прямое подтверждение твой токсичной шизе: > кукареку ку-дах тах-тах
>>2634657 Да это просто Быдло. Типочек. Пацанчик. Кент. Кабанчик. и тд. Его мнение о вещах составлено из пацанской субкультурки. Он считает что - в интернете есть ответы на все вопросы. - одни более ровные дяди скрывают "темки" от других дядей и вообще всяких лохов.
К сожалению, не все так примитивно. Книжечка бесполезная, но все равно рекомендую к ознакомлению просто для кругозорчика.
Подскажите, как в эксперементальной версии некста (без getStaticProps и т.д) установить куку при первом запросе к приложению (который получает штмл цсс жс)? Есть, кто ковырялся в этой версии?
А как его подключать? Вот у меня есть handler который обрабатывает request resonse, который встанавливает куку. Куда мне вставить эту функцию (или файл с экспортом её) в структуре? Раньше в pages, а сейчас как? Или этот хэндлер - это не мидлвар? Или мидлвары по-другому подключаются?
Пока формулировал вопрос, решил посмотреть старую доку и нашёл ответ на вопрос. Надо чаще с собой общаться, задавать себе вопросы и т.д.
Хочу оптимизировать размер json, сократив имена полей до 1-2 символов. На клиенте это легко обработать. А как работать с таким json в JavaScripte, чтобы не пришлось обращаться с полям с именем "i" или "a"?
Пока вижу вариант объявить класс с Get/Set и там внутри уже обращаться к нужному полю, типа: get displayName() { return this.data["dp"]; }
>>2634854 Если тебе нужно экономить, то жсон тебе не нужен, он неэффективен, кодируй по-другом, ключи храни статично. А вообще просто напиши что-то типа const readable = (optimiszed) => ( {abcd:optimized['a' ], efgh:optimized['e' ] })
Есть лист с постами, у каждого поста есть меню. При открытии меню ВСЕ посты рендерятся заново. Но нужно пере-рендеривать только 1 пост, который меняется. Что тут можно сделать, кроме добавления состояния в каждый пост?
Всякие memo сюда не подходят, потому что или состояние меняется или пропсы меняются.
>>2635431 Ты какую-то хуйню спизданул. Что тогда делают паттерны render props или HOC? А для чего this.props.chldren. А как по твоему реакт роутер декларативно конфигурируется? Тысячи примеров
>>2635513 Тайпскрипт это жабаскрипт, но с подписанными типами для статической проверки, всё что работает в одном, работает в другом, просто тайпскрипт может ругаться если ты хуйню пишешь.
>>2635520 Да, я знаю. Но он же приучает к правильному мышлению с его типизацией. Насколько критично, если я сразу начну учить TS, пропустив JS? Всё же в некоторых моментах, кроме типизации он отличается, как я понял
правда, что v8 выполняет js код быстрее, чем выполняются большинство языков программирования, кроме асма, cи, плюсов и джавы? читал статью и там этот v8 так расхваливали, мол инженеры из гугл сделали чудо.
>>2635542 Чуда он не сделает. Если будешь писать js как будто это язык со строгой типизацией по правилам одна переменная - один тип плюс избегать слишком динамические фичи (вроде той же рефлексии), то код действительно будет на уровне. Но никто из жс-кодеров с этим не заморачивается, а потому получается что есть.
Я раньше думал, они слишком разные, но по сути там же нужны схожие знания - глубокое знание JS - TS - Redux - тестирование В Angular еще есть RxJS и Observables, я пока не шарю за это, но в React это по-любому как-нибудь применяется.
Получается, лучше выучить один, потом другой, либо оба сразу? Или лучше сосредоточиться на чем-то одном?
>>2635247 Анонище, спасибище. На таких тред держится!
>И если что класть дочерние компоненты внутри рендер функции нельзя, это одна из грубейших ошибок в реакте. А почитать про это можно чо-нить? Не могу чет найти ничего.
>>2635523 Транспилируется, а чтобы понять какие кейсы статика в ТС не покроет, надо навернуть говна сначала, чтобы понимать как оно работает и когда в рантайме твой транспилированный ЖЫЭС отвалится. Ты не будешь постоянно проверять типы через typeof govnomocha - потому что это костылтная логика, выглядит с ифчиками уёбищно, JS [TS] всё равно норовит наебать с неявным преведением типов, да и пацаны засмеют и дизлайк на МР поставят, а потом на кухне отпиздят пока никто не видит.
>>2635567 >А в каких сферах они чаще используются? сайты, приложения на телефон и десктоп приложения.
для обезьяны они одинаковые. различия в разработки не такие уж и большие.
сосредоточиться на чем-то одном. остальные фреймворки после легче зайдут. т.к. почти то же самое. например я с ангуляра на вью за вечер залетел, офк многого не знал, но для работы покурить доку и сделать тудушку хватило, чтобы разобраться как и что писать.
>>2635620 >>А в каких сферах они чаще используются? рякт чаще всего мелкие-средние сайты, но можно и тырпрайз (можно и на нативе тырпрайз, но оно вам надо?). ангуляр чаще всего средние-большие и тырпрайз.
>>2635648 Чтобы выбрать реакт или другую фейсбучную технологию, нужно быть гиперкомформым омежкой, для которого главное шоб как у всех. Реакт выбирают крестьяне, которые случайно вкатились в айти. Инженеры выбирают ангуляр или вуе. Даже китайский вуе внутренне намного технологичнее реакта. Реакт это библиотека для рендеринга jsx, разработчикам которой пох на производительность, главное чтобы было декларативненько, а то недавноиспеченые из крестьян хипстерки не оценят.
>>2629266 Для этого и придумали отделение логики и представления. Я всегда начинаю с логики, пишу на логику тесты, натягиваю контроллеры и уже потом верстаю страницы. А то есть умники которые сверстали странички и типа довольны. Морда не нужна без функций. Плюс если ты начинаешь верстать с морды, у тебя возникает ложное впечатление будто ты умный, а на деле ты ничего не сделал. Это ведет к прокрастинации.
>>2629415 Делаешь абстрактный класс Канселлабле и от него наследуешься. Потом вызываешь супер. Тогда весь повторяющийся код будет там что то делать перед твоим куском кода и не трогать твои функции.
>>2629394 Если знать принципы гридов, когда юзать паддинг а когда маржин, твой пикрелейтед верстается примерно за 4 часа. Если ты знаешь все баги, клирфикс наизусть, то вообще за пару часов. Это при условии что ты не будешь гуглить как исправить какой-то мелкий баг например текст не идет на новую строку.