Сохранен 524
https://2ch.hk/pr/res/2621834.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

JS Thread #268 /js/

 Аноним 24/02/23 Птн 21:04:07 #1 №2621834 
image.png
Предыдущий тред: >>2609772 (OP)

Больше пары строк кода в посте или на скриншоте ведут в ад.

Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs

Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Аноним 24/02/23 Птн 21:20:43 #2 №2621854 
image.png
image.png
База треда.

Ангуляр для чедов.
Вью для беток.
Реакт для омежек.
Аноним 24/02/23 Птн 21:22:30 #3 №2621855 
16769664920720.mp4
>>2621854
Аноним 24/02/23 Птн 21:38:23 #4 №2621881 
>>2621854
Нодогосподин писяет на фронтовичков.
Аноним 24/02/23 Птн 21:55:04 #5 №2621919 
>>2621881
Какой стек? БД, фреймворк, монолит или микросервисы, облако?
[mailto:saga] Аноним 24/02/23 Птн 21:58:24 #6 №2621927 
Вы чо ебанутые? В прошлом треде только 670 постов. Saga
Аноним 24/02/23 Птн 22:03:00 #7 №2621938 
>>2621881
Кринжанул люто с ноды
Аноним 24/02/23 Птн 22:07:27 #8 №2621954 
>>2621938
Идеальный инструмет для индикабачков и микро кабанчиков с микро стартупами. естественно с TC
Аноним 24/02/23 Птн 22:07:35 #9 №2621956 
>>2621919
Всего хлебнул. Коа, нест, монга, постгрес, датастор, монолит, микросервис, бессервер, пм2, кубер, gcp, ажур, даже ебучий селениум.
Аноним 24/02/23 Птн 23:09:12 #10 №2622018 
Как установить размер кнопки в css ?
Аноним 24/02/23 Птн 23:13:15 #11 №2622022 
>>2622018
el.style.fontSize = `40px`
Кнопка сама подтянется.
Аноним 24/02/23 Птн 23:15:21 #12 №2622024 
Анончики, нужен совет:
С фронта на бэк идет пост на создание. На бэке коллятся запросы в другие сервисы для взятия данных, запись в бд создается и возвращается фронту.
Проблема в том, что запрос может занять >30 мин. Моя идея пока в том, чтобы вернуть фронту хоть что-то, а потом - фронт сам на гет раз в 30 секунд получит новые данные. Но это пиздец тупо, как мне кажется.
Посмотрел, что можно использовать Pub/Sub или воспользоваться сокетами. Может есть и что-то еще. Не особо шарю, поэтому спрашиваю, может есть тру вэй для решения таких проблем.
Аноним 24/02/23 Птн 23:17:03 #13 №2622026 
>>2622018
1. Открываешь страницу с кнопкой
2. Берешь линейку
3. Приладываешь линейку к монитору
4. Измеряешь линейкой размер кнопки
5. Размер кнопки установлен
Аноним 24/02/23 Птн 23:21:12 #14 №2622032 
>>2622024
Можешь еще сервер эвент использовать
https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events
это проще чем уебсокет, а пубсуб на беке делать редисом.
Аноним 24/02/23 Птн 23:22:48 #15 №2622035 
у
Аноним 24/02/23 Птн 23:30:14 #16 №2622040 
>>2622032
Спасибо за наводку. Почитал про sse, вроде то, что нужно. Опробую
Аноним 24/02/23 Птн 23:31:33 #17 №2622041 
>>2622022
Куда это вставлять ?
Аноним 24/02/23 Птн 23:32:39 #18 №2622044 
>>2622032
Т.е схема такая
фронт --> запрос ручки для запроса данных
фронт --> всегда слушает server set events ручку

Ручка --> Редис --> Микросервис
Микросервис --> Редис -> server set events ручка
Аноним 25/02/23 Суб 11:50:55 #19 №2622316 
>>2622041
в конфиги.
Аноним 25/02/23 Суб 16:14:29 #20 №2622546 
Как безопасно проверить, что переменная существует (была объявлена), и не словить ReferenceError?
Аноним 25/02/23 Суб 16:18:20 #21 №2622548 
>>2622546
Если тебе это нужно, то что-то уже пошло не так. Если тебе похуй, то оберни в трай кэтч.
Аноним 25/02/23 Суб 16:25:30 #22 №2622552 
Что-то на learn.javascript дошел до темы "Типы данных", и сложность задач резко возросла. Раньше на одну темы уходило 2-4 часа, а теперь на одну тему может уйти и 6 часов. Я точно в верном направлении иду? Может есть еще какие-нибудь ресурсы, где про JS рассказывают человеческим языком?
Аноним 25/02/23 Суб 16:26:33 #23 №2622553 
>>2622552
Поправлюсь: до раздела "Типы данных". А то сейчас начнётся кококо, что я дебил, забуксовавший в самом начале учебника.
Аноним 25/02/23 Суб 16:28:16 #24 №2622554 
>>2622552
Если у тебя типы данных вызывают проблемы, то скорее всего js тебе рановато изучать и фундаментальных знаний немного. Начни с курса по языку си. Это буквально неделя и ты поймешь, что к чему и как работает. Потом будет значительно легче во всех языках
Аноним 25/02/23 Суб 16:35:44 #25 №2622557 
>>2622552
>>2622553
Почему-то дикое желание постить под такие сообщения шебм из >>2621855
Аноним 25/02/23 Суб 16:59:29 #26 №2622581 
>>2622553
Да мы поняли, ты у мамы не глупый. Просто ленивый.
Аноним 25/02/23 Суб 17:21:58 #27 №2622602 
>>2622552
Да, мы тебе тут можем человеческим языком пояснить, но не будем, потому что ты тупой.
Аноним 25/02/23 Суб 17:44:56 #28 №2622636 
>>2622546
Через typeof
Аноним 25/02/23 Суб 17:45:07 #29 №2622637 
>>2622557
>>2622581
>>2622602
Почему-то представил, что мне это написали сеньоры и проиграл.
Аноним 25/02/23 Суб 17:47:12 #30 №2622643 
>>2622554
Взял на заметку, но как-то слишком прохладно звучит.
Аноним 25/02/23 Суб 18:06:48 #31 №2622676 
>>2622637
Блепт... А что если попал?
Вот этот гражданин >>2622557
Аноним 25/02/23 Суб 18:14:56 #32 №2622681 
>>2622676
Ну попал и попал, бывает. Делать что ли тебе нехуй, анон, кроме как вкатышей оскорблять. У тебя там бабок дохуя фармится в наносекунду, сидишь в чистоте и тепле, а не ебашишь на заводе, обмазавшись соляркой и углём. Жизнь удалась, нахуя тебе вся эта мышиная возня, нахуя тебе кого-то оскроблять, нахуя тебе на ком-то самоутверждаться. Ты уже на вершине, никто с этим не сможет спорить. Тем более, что на работе своей ты уже наверняка повидал всякое - и вкатышей, которые нихуя не знают, и мидлов, которые не могут на простые вопросы ответить. Да и работа у тебя наверняка такая, что уже тупо лень кого-то еще в интернете пинать, доказывая своё превосходство.

Я просто не понимаю. Зачем вести себя как вкатившийся джун, который постоянно чувствует себя дауном-аутистом, и поэтому ему нужно кого-то на анонимной имиджборде пнуть и послать нахуй.
Аноним 25/02/23 Суб 18:50:09 #33 №2622709 
image.png
>>2622681
Поясняю. Я помогу вкатуну, когда у него будет конкретный вопрос из ряда "почему так работает?", "вот код, хочу сделать Х, а получается Y, что я делаю не так?" и тд. Но когда пчелик приходит и говорит, что ему сложно на типах данных в джавасрипте - ну это сразу в хохот. И пишет, что до этого норм, было, а тут стало тяжело, давайте нормально поясняйте. А предыдущие главы какие: хеллоу волд и переменные, а он на них по 4 часа тратил. Это прям винрар.

Но надо отметить, сам звезд с неба не хватаю, скромные 4к всего.
Аноним 25/02/23 Суб 18:53:49 #34 №2622710 
>>2619619 →
>>2619623 →
>>2619632 →
>>2619668 →
Ребята, спасибо вам большое за попытку помочь, но на тот момент я ни черта не понял из ваших объяснений. Я никак не мог понять, почему в переменную записывается функция, хотя вы утверждали, что записывается результат, а не функция. Поник головой, два дня играл в КСГО, посрался с другом, помирился с другом, сел обратно за эту задачу, и понял, что всё дело в том, что str - это примитив. Если к примитиву применять метод, то результат не будет сохраняться. Только к объектам можно применять методы, рассчитывая на сохранение результата. В данном случае для str создаётся "объект-призрак", суть которого я так пытался запомнить. В этом "объекте" применяется метод toLowerCase(). А потом результат тут же забывается, ведь str - это примитив, а не объект. Результатом должна быть строка полностью в нижнем регистре. Поэтому тут два варианта: либо применять метод к примитиву каждый раз, либо записать результат метода в отдельную переменную, и использовать уже её вместо метода.
Аноним 25/02/23 Суб 18:55:14 #35 №2622711 
>>2622553
А, вот это пропустил и тут некорректо насчет разделов >>2622709. Тогда такой ответ: всё там нормально когда последний раз заглядывал, не выебывайся и сиди над задачами.
Аноним 25/02/23 Суб 18:59:46 #36 №2622713 
1.jpg
>>2622710
Вот так выглядел мой код изначально. Как видите, я не использовал вторую переменную, которая бы сохраняла результат метода toLowerCase(), применённого к примитиву str. Отсюда и проблема.
Аноним 25/02/23 Суб 19:01:32 #37 №2622714 
>>2622711
Ну спасибо, а то я уже собирался закрыть Visual Studio Code и идти плакать в подушку, как вчера. Продолжаю учиться тогда.
Аноним 25/02/23 Суб 19:03:53 #38 №2622716 
>>2622681
Да, я тебя понял. Вот с этим солидарен >>2622709
По последнему треду даже если смотреть, частая картина, что даже если нужна какая-то помощь, зачастую задача идёт без вводных и с невнятной целью.
Вытаскивать клещами, что требуется, когда все тупые - не доставляет удовольствия.
Аноним 25/02/23 Суб 20:56:51 #39 №2622841 
image.png
>>2622716
>Вот с этим солидарен
чаю. даже если какая-либо проблема была исследована и расписана в тексте - это может быть вовсе не решением для анона-вкатыша.
т.к. проблема была вовсе о другом а гадать на картах для выявления вопроса меня не учили.

кст, бывалые в этом треде, раньше же было пояснение в шапке, что нужно код в песочницу пихать и ссылку сюда давать? год-два назад вроде было, не?
или у меня какие-то ложные воспоминания?
Аноним 25/02/23 Суб 22:19:12 #40 №2622913 
Есть какой-нибудь годный курс по next? Можно на ангельском
Аноним 25/02/23 Суб 22:29:14 #41 №2622924 
>>2622913
Да. Делаешь пет - читаешь доки. Читаешь доки - делаешь пет.
Аноним 25/02/23 Суб 22:31:12 #42 №2622925 
>>2622924
душнила бля ты
Аноним 25/02/23 Суб 22:35:35 #43 №2622928 
>>2622925
Ты для души некстжс собрался изучать или чтобы кабану проекты писать? Вот и пиши.
Аноним 25/02/23 Суб 22:43:33 #44 №2622931 
>>2622913
>>2622925
Там не настолько необъятная дока. Актуальная инфа будет в доке.
Копипастить тоже следом за видео будешь?
Ну вот смотри, какой-то видос с челом который клепает сайт на некст, аж 12 часов назад!
https://youtu.be/e1EIwuO-Dlo
Аноним 26/02/23 Вск 00:09:56 #45 №2622965 
Есть текст с контуром, когда я помещаю другой текст на этот контур, то он проваливается под него. Как это исправить ?
Аноним 26/02/23 Вск 01:27:45 #46 №2623010 
>>2622965
>Как это исправить ?
Научиться вопросы задавать.
Аноним 26/02/23 Вск 10:13:36 #47 №2623122 
>>2622965
не подставлять другой текст.
Аноним 26/02/23 Вск 10:57:33 #48 №2623167 
https://www.opennet.ru/opennews/art.shtml?num=58710
Аноним 26/02/23 Вск 11:03:35 #49 №2623171 
>>2623167
Чел, я даже лодаш стараюсь не использовать а пишу велосипеды
Аноним 26/02/23 Вск 11:49:37 #50 №2623204 
>>2623171
Мы вам перезвоним.
Аноним 26/02/23 Вск 12:10:26 #51 №2623223 
image.png
А вот и я, пришел вас обоссывать. Спустя сутки я смог правильно объяснить ИИ что мне нужно, и она мне написала нужный код и сэкономила мне 6000 рублей который вы у меня тут вымогали. Хотя я готов был заплатить 1к за эту легкую работу на которую ушло бы у вас 10 минут.
Ой, это что, получается програмизды не нужны? Ведь я сделал для себя скрипт с нулевыми знаниями JS. Как же так?
Тьфу на вас блять. Не зайду сюда больше никогда
Аноним 26/02/23 Вск 12:14:49 #52 №2623226 
>>2623204
Ты ему собрался перезванивать из-за одной функции, для которой надо тащить лодаш?
Аноним 26/02/23 Вск 12:20:50 #53 №2623229 
Я хуй знает зачем этот тред еще здесь висит.
Вебмакакинг ВСЁ
ChatGPT уебал всех вкатунов и уебет скоро всех мидлов. Советую осваивать курсы сантехника
Аноним 26/02/23 Вск 12:23:51 #54 №2623231 
>>2622552
Зачем тебе это, чел? ИИ заменил всех джунов, конец сказки.
Аноним 26/02/23 Вск 12:26:11 #55 №2623235 
>>2623223
> бесплатна
> 200 рублей
> даже 2к
> нет всё-таки 200р
> съэкономил 6к
> внезапно 1к
+15р за двое трое? суток?

Рад за тебя, теперь осталось вкатиться обратно на толоку.
Аноним 26/02/23 Вск 12:31:26 #56 №2623237 
Так и не понял, какой фримверк для фронта лучший? Вот я разработчик заднего конца, хочу чисто для себя выучить жиес чтобы там интерфейсики всякие прикольные клепать (особенно электрон нраицца). Что же взять - РЕАКТИВНЫЙ, УГЛОВАТЫЙ, ВИДОК или СВЕТЛЕНЬКИЙ?
Аноним 26/02/23 Вск 12:31:32 #57 №2623238 
>>2623229
Почему ты здесь а не в /san?
Аноним 26/02/23 Вск 12:31:52 #58 №2623239 
>>2623223
Ух, знатная копипаста.
Аноним 26/02/23 Вск 12:33:50 #59 №2623243 
>>2623237
Жиквери очевидный.
Аноним 26/02/23 Вск 12:44:27 #60 №2623252 
>>2623239
Не, он приходил 23-го https://2ch.hk/pr/res/2609772.html#2621062

Опять абстрактная задача, с чем логично был отфутболен. Сходил в /b, нихуя не получилось.
3 дня объяснял ИИ чего он хочет.
Прямо как этот с его контурами >>2622965
Что он там подразумевает под контурами и что делает - да кто его знает лол.
Аноним 26/02/23 Вск 15:12:35 #61 №2623426 
16218787908350.mp4
>>2623223
Проорал Анончик. Как же ты тут всех попустил.
Аноним 26/02/23 Вск 16:09:33 #62 №2623502 
>>2623223
трахнул получается, теперь тебе открыта дорога в сеньоры
Аноним 26/02/23 Вск 16:10:03 #63 №2623504 
>>2623223
Ну я же первым постом тебе тогда указал на проблему >>2621098 →. А потом ты попыхтел пару деньков - и чатЖПТ сделал, что тебе нужно. Так что не ленись в следующий раз просто.
Аноним 26/02/23 Вск 16:35:30 #64 №2623559 
>>2623237
Попроси у ChatGPT "напиши лучший фреймворк для фронта".
Аноним 26/02/23 Вск 16:38:29 #65 №2623567 
>>2623237
Blazor если ты пишешь бэк на самом современном языке в мире - C#
Аноним 26/02/23 Вск 16:46:30 #66 №2623584 
>>2623237
реакт без вариантов, он просто популярнее и инфы по нему больше. К тому же он проще всех, остальные используют для довольно специфических задач
Аноним 26/02/23 Вск 16:48:19 #67 №2623589 
>>2623223
костыль.костыль(костыль).
Аноним 26/02/23 Вск 19:55:45 #68 №2623908 
>>2621954
Почему кстати нода до сих пор не стала универсальным инструментом на бэке? Буквально лучше решеток и джавы почти во всем, не говоря уже о всяких питухонах.
Аноним 26/02/23 Вск 21:02:14 #69 №2624027 
Привет. Часто ли на практике вы используете рекурсивные функции? В каких случаях они бывают вам полезны?
Аноним 26/02/23 Вск 21:04:00 #70 №2624032 
image.png
theme.webm
Аноним 26/02/23 Вск 21:26:38 #71 №2624055 
>>2623999
Говори конкретнее, что в жабе или решетках есть такого, чего нельзя реализовать на жс/тс?
Аноним 26/02/23 Вск 21:32:03 #72 №2624068 
image
image
Небольшой архитектурный вопрос. В этом случае стоит использовать интерфейсы или классы? Всё эти данные парсятся из JSON с внешнего сервера и вручную не создаются.
Аноним 26/02/23 Вск 21:39:14 #73 №2624077 
>>2624068
Если нужна валидация или проверка типов в рантайме, то классы.
Аноним 26/02/23 Вск 21:39:56 #74 №2624078 
>>2624032
Принципе, можно стоя в гамаке трахаться.
Аноним 26/02/23 Вск 21:40:54 #75 №2624080 
>>2623237
первый пост в этом треде тебе в помощь.

ну а если ты задний писал через классы то угловатый самый раз.
Аноним 26/02/23 Вск 21:41:01 #76 №2624081 
>>2624032
А теперь реализуй выгрузку файлов чанками, динамическую форму без перезагрузки страницы с переменным количеством инпутов в зависимости от ввода, анимацию открытия закрытия меню древовидной структуры и чтобы количество уровней дочерних элементов было неизвестно заранее, перетаскивание элеметов этого меню, плавный ресайз отдельных областей страницы, контекстное меню на странице, события на странице при скролинге например изменение лайаута элементов и тд и тп
Аноним 26/02/23 Вск 21:43:25 #77 №2624085 
>>2624081
Плати.
Аноним 26/02/23 Вск 21:50:04 #78 №2624095 
>>2624085
Сначала устройся на работу разработчиком браузеов, чтобы это все на css стало возможным. А на жс я и сам могу, незачем платить.
Аноним 26/02/23 Вск 21:53:08 #79 №2624097 
>>2624081
Это троллинг? В чем смысл того, что ты перечислил? Такие задачи встречаются? Есть где реализовано похожее?
Аноним 26/02/23 Вск 21:57:10 #80 №2624103 
>>2624097
Что там необычного увидел? CRM никогда не писал или другой софт для внутренних задач бизнеса? Ну разве что про скроинг это скорее из свистоперделок для публичных сайтов.
Аноним 26/02/23 Вск 22:06:10 #81 №2624108 
Чому в браузерах нет TCO? В стандарте же есть, неужели такая сложная фича?
Аноним 26/02/23 Вск 22:23:28 #82 №2624119 
Подскажите пожалуйста, как убрать отступ в css + html между несколькими тегами <p>текст</p> с текстом ? Хочу что бы они были рядом.
Аноним 26/02/23 Вск 22:26:18 #83 №2624121 
>>2624119
p {
margin: 0;
}
Аноним 26/02/23 Вск 22:29:27 #84 №2624122 
>>2624108
В стандарте - нет. Читал бы ее - знал.

TCO была принята в стандарт ES6 и не имплементирована никем, кроме javascriptcore.
В вебе заведено что от ЛЮБОГО стандарта для его принятия требуется две независимые имплементации среди активно используемых платформ.

Так как TCO не было имплементировано никем более, его выпилили их спеки с ES7.
Аноним 26/02/23 Вск 22:47:33 #85 №2624133 
>>2624122
https://262.ecma-international.org/13.0/#sec-tail-position-calls
???
Аноним 26/02/23 Вск 22:48:00 #86 №2624134 
>>2624121
thx
Аноним 26/02/23 Вск 23:20:09 #87 №2624151 
image
Как выучить CSS? Чтобы не так что сидишь и по 30 минут гуглишь почему грид на пол страницы съехал а вот именно взять и ПОНЯТЬ, чтобы вот в голове все выстроилось в цельную и гармоничную картину от а до я как и куда что считается и на что влияет, чтобы ЧУВСТВОВАТЬ макет, быть с ним ЕДИНЫМ ЦЕЛЫМ. Есть ли способ получше классического решения проблем по мере поступления?
Аноним 26/02/23 Вск 23:36:41 #88 №2624163 
>>2624032
А сохранение выбранной темы?
Аноним 26/02/23 Вск 23:43:12 #89 №2624168 
16752798063630.mp4
>>2624151
>учить
>css
Аноним 26/02/23 Вск 23:54:19 #90 №2624182 
>>2624168
Причина подрыва?
Аноним 27/02/23 Пнд 00:07:16 #91 №2624189 
>>2624027
бамп вопросу
Аноним 27/02/23 Пнд 00:34:44 #92 №2624194 
>>2624151
Ты та сама глыба из мвп треда? Ору
Аноним 27/02/23 Пнд 00:54:19 #93 №2624199 
>>2624151
Почему вы не читаете спецификаций?
Аноним 27/02/23 Пнд 00:54:27 #94 №2624200 
>>2624194
что за глыба?
Аноним 27/02/23 Пнд 01:31:52 #95 №2624209 
>>2624151
>чтобы вот в голове все выстроилось в цельную и гармоничную картину
CSS не является цельным и гармоничным, так что он не выстроится. Просто берешь - и отдельно кусочками учишь, как работает грид и что на что в нем влияет, как работает флексбокс и что на что в нем влияет, как работает блочная модель и что на что в ней влияет.
Аноним 27/02/23 Пнд 01:55:13 #96 №2624215 
>>2624055
Ты серьезно сейчас? У нас бэк на шарпах - и он по сравнению с js примерно как Нед Старк по сравнению с Вонючкой. Тут даже не знаешь с чего начать - начиная от возможности писать аллокейшен фри код, по скорости не уступающий нативному и заканчивая линкью, позволяющему за 2 строчки сделать то, что на js займет 50 и потребует трехуровневых вложенных циклов с 10-ю временными переменными, и возможностью в целом писать методы расширения, тем самым полностью получая контроль над внешним видом кода, выводя его переиспользование на новый уровень в плане интуитивности и понятности. И это я еще про инструментарий для дебага не начинал, от которого на js плакать хочется, и встроенной документации, позволяющей за счет строгой типизации и своего качества прямо из IDE понимать, какой функционал и каким образом использовать без необходимости лезть на сайт c документацией за подробностями.
Аноним 27/02/23 Пнд 01:56:21 #97 №2624216 
>>2624209
Ну есть же какая-то концепция вообще у css. Например разделение элементов на строчные и блочные. У большинства строчных нет размеров, строчные не переносят следующий элемент потока на новую строку, на строчные влияет line-heigh
Или например концепция весов у селекторов Лидирует тот стиль который находится в селекторе с наибольшим весом. Если веса селекторов одинаковые то лидирует стиль в последнем селекторе.

мимо
Аноним 27/02/23 Пнд 02:04:30 #98 №2624220 
>>2624215
Есть rxjs он по выразительности не хуже твоего линкью. Все таки нода это лучший инструмент для индикабанчиков. Твой дотнет все же на корпоративный сектор рассчитан и на коллективную разработку с переусложненным пайплайном, тулчейном, окружением
Аноним 27/02/23 Пнд 03:09:53 #99 №2624235 
>>2624215
То есть в js по твоему нет ленивых цепочек итераторв и трансдьсеров, что ты привел ликью как ману небесную.

Или в прототипно ориентированном программировании нельзя писать методы расширения?

ты вообще js знаешь?
Аноним 27/02/23 Пнд 08:31:30 #100 №2624276 
Как сделать чтобы определенная вкладка в браузере не ререндерилась после изменения кода в идешке? А то хочу сравнить стили, а она обновляется
Аноним 27/02/23 Пнд 08:37:42 #101 №2624280 
>>2624276
Отключи хотрелоад.
Аноним 27/02/23 Пнд 08:56:15 #102 №2624289 
>>2624133
https://v8.dev/blog/modern-javascript#proper-tail-calls
!!!
Аноним 27/02/23 Пнд 08:56:53 #103 №2624290 
>>2624276
Сделой скриншот
Аноним 27/02/23 Пнд 09:03:40 #104 №2624293 
>>2624289
> апрель 2016
И че они до сих пор вола ебут?
> коллстак
Коллстак из
> функциянеим
> функциянеим
> функциянеим
> функциянеим
> функциянеим
Мне конечно охуеть поможет, как мне без него жить то?
Аноним 27/02/23 Пнд 09:06:55 #105 №2624295 
>>2624276
запусти две аппы.
Аноним 27/02/23 Пнд 09:59:32 #106 №2624324 
Анон, помоги вкатышу. У меня есть такая строка "$123.321" как мне с помощью slice() положить в две разные переменные то, что находится до точки и то, что находится после точки?
Аноним 27/02/23 Пнд 10:02:15 #107 №2624325 
>>2624324
split(".")
Аноним 27/02/23 Пнд 10:07:28 #108 №2624328 
image.png
>>2624324
Аноним 27/02/23 Пнд 10:08:39 #109 №2624329 
>>2624325
>>2624328
Спасибо!
Аноним 27/02/23 Пнд 10:19:20 #110 №2624335 
>>2624332
Версии ес бампаются ровно раз в год.
То что было уже три-пять лет назад сложно называть последними версиями.
Аноним 27/02/23 Пнд 10:26:34 #111 №2624347 
>>2624027
Нет. Когда нужно обойти вложенные структуры.
Аноним 27/02/23 Пнд 13:19:17 #112 №2624455 
>>2621881
Расскажи как вкатился на бэк. Сразу на ноду или сперва был на другом языке?
Аноним 27/02/23 Пнд 13:37:29 #113 №2624483 
>>2624455
Через фулстек, потом надоело красить кнопки и пошёл на проэкты только с бэком, к счастью на галере с этим норм.
Аноним 27/02/23 Пнд 15:19:43 #114 №2624591 
>>2624483
Пиздец, тоже хочу. На фронтенде работаю чуть больше года, пиздец тупиковая хуета.
Аноним 27/02/23 Пнд 16:50:40 #115 №2624712 
>>2624220
>Есть rxjs он по выразительности не хуже твоего линкью
Намного хуже. Просто посмотри и сравни.
>Все таки нода это лучший инструмент для индикабанчиков.
Только тем, что можно запрячь фронтенд-макак писать бэк. На этом преимущества заканчиваются.

>с переусложненным пайплайном
Там пайплайн разработки, внезапно, проще.


>>2624235
>То есть в js по твоему нет ленивых цепочек итераторв и трансдьсеров
Просто сравни, как они пишутся. С линкью и рядом не стоит.
>Или в прототипно ориентированном программировании нельзя писать методы расширения?
В js - нельзя.
Аноним 27/02/23 Пнд 17:07:45 #116 №2624741 
>>2624347
Спасибо
Аноним 27/02/23 Пнд 19:28:59 #117 №2624892 
>>2622024
>Но это пиздец тупо, как мне кажется.
Эээ, почему? Самый простой и самый надежный способ, если на latency похер, а в твоей случае как раз похер.
Аноним 27/02/23 Пнд 23:24:05 #118 №2625110 
Как поместить результат работы each(html) в один контур ?
У меня получается, что каждое слово в новом контуре, а мне нужно что-бы один был контур для всех слов.
Аноним 27/02/23 Пнд 23:28:43 #119 №2625114 
>>2625110
Получилось, нужно было поверх each <div> положить, угу.
Аноним 27/02/23 Пнд 23:38:22 #120 №2625122 
>>2625110
Контурошизик, вопросы формулируй нормально, ну или пили песочницы, ну чего ты в самом деле.

если ты другой анон, сорян, но про формулирование и песочницу, и к тебе относится тогда.
Аноним 28/02/23 Втр 00:12:58 #121 №2625177 
>>2625122
Вот тебе не жалко пацана? Когда он поток сознания начнет на кабаныча изливать, кабаныч станет потом от него во все стороны шарахаться что б не загрузил шизой.
Аноним 28/02/23 Втр 09:26:02 #122 №2625379 
Есть селект, при нажатии появляется дропдаун и там кнопка которая открывает модалку. При нажатии на селект какого-то хуя срабатывает onclick кнопки, хотя ее в в момент нажатия даже в документе нет. Есть идеи почему так может быть?
Аноним 28/02/23 Втр 09:48:47 #123 №2625394 
>>2625379
Смотри где у тебя висят обработчики.
Возможно, ты не туда присобачил обработчик. Ты можешь посмотреть в событии с какого элемента был запущен обработчик.
Возможно, обработчик висит где-то выше и срабатывает при всплытии события. Для этого нужно вызвать event.stopPropagation чтобы не было всплытия.
Аноним 28/02/23 Втр 09:56:05 #124 №2625400 
>>2625177
Скорее пма жалко.
Вряд ли контурошизичный словарь пилить кто-то будет, посадят его на какой-нибудь зашкварный проект и будет себе там контуры в кулачок пилить.
Аноним 28/02/23 Втр 09:56:22 #125 №2625401 
>>2625394
Ах да забыл, проверь что ты не дёргает флаги/мочалку из обработчика в селекте
Аноним 28/02/23 Втр 10:26:33 #126 №2625424 
image.png
Помогите нубику, знак $ для чего здесь и где почитать про это? гугл не то ищет
Аноним 28/02/23 Втр 10:27:57 #127 №2625426 
>>2625424
Видишь знак $ - это 90% jQuery.
Аноним 28/02/23 Втр 10:36:34 #128 №2625429 
>>2625424
жиквери.
Аноним 28/02/23 Втр 10:39:42 #129 №2625431 
>>2625426
>>2625429

О,спасибо
Аноним 28/02/23 Втр 14:32:43 #130 №2625766 
>>2625424
Ты обучаешься про курсам 10-летней давности, или залез на легаси проект?
Аноним 28/02/23 Втр 16:16:13 #131 №2625864 
Снимок.JPG
Некстодебилы, для вас нормально делать два запроса на ровном месте, вместо одного? Как этого избежать? При условии, что я не знаю количества постов, для массива path.
Аноним 28/02/23 Втр 16:49:40 #132 №2625914 
>>2625864
> In development (next dev), getStaticPaths will be called on every request.

https://nextjs.org/docs/basic-features/data-fetching/get-static-paths#runs-on-every-request-in-development
Аноним 28/02/23 Втр 17:08:30 #133 №2625933 
>>2625914
Принимается, а если не статический рендер, а динамический?
Аноним 28/02/23 Втр 18:01:52 #134 №2626007 
>>2625963
Да как ты заебал
Аноним 28/02/23 Втр 18:07:08 #135 №2626015 
В общем есть такая проблема:
У меня есть страница куда при загрузке useEffect'ом выгружается с сервака первый объект в стейт и отображается. В этом объекте содержиться текст и кнопка. При нажатии на кнопку должно инкрементировать let который указывается в ссылке на сервак и должен выполняться запрос на сервак за новой порцией текста и новой кнопкой которые должны быть сразу видны на странице под предыдущим контентом.

Как это сделать по грамотному? Пж помогите ребятки.
Аноним 28/02/23 Втр 18:20:58 #136 №2626035 
Example.PNG
Console.PNG
Объясните человеческим языком разницу в пикриле.

И есть ли человеческий способ итерироваться по геттерам в тайпскрипте?
Аноним 28/02/23 Втр 18:39:37 #137 №2626057 
>>2625933
А ты хочешь статику пре-билдить, или тебе каждый раз нужно актуальные данные тянуть с SSR?
Динамика - getServerSideProps, будет вызываться на каждый запрос.
getStaticPaths с getServerSideProps работать не будет, некст после него лёроаёт getStaticProps.
Если тебе нужно периодически пересобирать статику - ISR:
https://nextjs.org/docs/basic-features/data-fetching/incremental-static-regeneration
Аноним 28/02/23 Втр 19:11:18 #138 №2626106 
>>2626057
Та я пока пытаюсь понять, как Некст работает, что бы эффективно его использовать. Если у меня есть, например, страница юзера, она же должна быть династической, верно? Нельзя же при билде срендерить сразу все страницы всех юзеров? Мне кажется, что нет. Отсюда вопрос.
Есть возможность иметь на одной странице два компонента, один со статической инфой (например статья какая-то) и второй с динамической (хедер с данными пользователя)? Просто в двух словах. Доку я потихоньку читаю.
Аноним 28/02/23 Втр 19:12:36 #139 №2626110 
>>2626035
> TS
JS...

Можно покостылить и сделать геттеры на прототипе итерируемыми.

Object.defineProperty(Example.prototype, 'b', { enumerable: true })

for (const key in instance)...

for key in перебирает поля прототипа если они помечены enumerable

>>2626015
Что значит приходит кнопка? Очень интересно, но ещё меньше понятно.
Аноним 28/02/23 Втр 19:22:41 #140 №2626128 
>>2626110
Оба варианта работают, но, как ты и говоришь, выглядит убер костыльно. Не понимаю, почему так решили разработчики, не моего ума дело :3 Спасибо
Аноним 28/02/23 Втр 19:50:41 #141 №2626158 
image.png
Анон, зачем вот это пишут в функциях? Что это означает?
Аноним 28/02/23 Втр 19:53:12 #142 №2626161 
>>2626106
Относительно недавно (в 13 версии) добавили layout'ы. Лейауты не ререндерятся, в них можно заворачивать компоненты/страницы на роутах.
https://nextjs.org/docs/basic-features/layouts
Аноним 28/02/23 Втр 19:54:28 #143 №2626163 
>>2626158
Обычно так обозначают аргумент, который не используется в функции.
Аноним 28/02/23 Втр 19:55:06 #144 №2626164 
>>2626163
а зачем это нужно?
Аноним 28/02/23 Втр 19:56:46 #145 №2626166 
>>2626163
просто нагуглил такое
JavaScript doesn't do parameter-count checking

Тогда не понимаю, зачем такая запись?
Аноним 28/02/23 Втр 19:57:02 #146 №2626167 
>>2626158
Тут обычно 2 варианта:
1) ни нужно, но нужно принять параметр, чтобы использовать другие параметры в функции
2) переложат _ как есть без модификаций

Изредка, может быть договорённость в условных мапах и иже с ними на массивах использовать _ для униформности
Аноним 28/02/23 Втр 19:59:53 #147 №2626170 
>>2626110
Ну имеется ввиду не кнопка приходит, текст для спана который внутри кнопки.
Аноним 28/02/23 Втр 20:01:53 #148 №2626176 
>>2626164
Например метод массива map передает в функцию три аргумента currentValue, Index и array, если тебе нужно только значение, то просто пишешь функцию вида (v)=>{} и успешно проебываешь два остальных аргумента. А вот если тебе нужен первый и третий аргумент, то придется второй тоже принять, вот чтобы его пометить как ненужный его обычно обзывают _, пишут функцию вида (v, _, a) => {}.
Аноним 28/02/23 Втр 20:13:05 #149 №2626196 
>>2626167
>>2626176
ок спасибо понял
Аноним 28/02/23 Втр 20:15:21 #150 №2626197 
>>2626170
Я всё ещё не могу распарсить что тут написано >>2626015 но по-моему ты только что TodoApp.
Аноним 28/02/23 Втр 20:20:16 #151 №2626202 
>>2626110
Кароч примерно такая схема

const Text = () => {
const [data, setData] = useState([{
text: "",
textForButton: ""
textVisibleAfterClickButton: ""
}]);

let i = 0;

useEffect(
//здесь первый запрос на сервер при заходе на страницу и что важно ссылка такая `.../api?id=${i}`
i = i + 1;
)

return (
<p>data.text</p>
<button><span>data.textForButton</span></button>
<p>data.textVisibleAfterClickBurton</p>
);
}

и вот мне надо чтобы после клика на кнопку производился новый запрос на сервер, но как уже понятно по параму = 1.
С него приходит новый жсон который также идёт в дату.

А на странице это должно быть примерно так:

зашёл на страницу первый раз и увидел:
- текст 1
- кнопка 1
- текст который появляется после нажатия кнопки (пока невидим) 1

нажал на кнопку на странице:
- текст 1
- кнопка 1
- текст который появляется после нажатия кнопки (уже видим так как нажал) 1
- текст 2
- кнопка 2
- текст который появляется после нажатия кнопки (пока невидим) 2
Аноним 28/02/23 Втр 20:30:44 #152 №2626219 
>>2626202
Если тебе нужно значение счётчика держать между рендерами, используй для этого useState.
Твой let i на каждый рендер заново инициализируется в ноль.

const [id, setId]= useState(0);

useEffect(() => {
request(`api/${id}`)
// setData
}, [id])
С зависимости, чтобы запрос дёргался на изменение id.

В обработчике на кнопку делаешь setId(id => id + 1)

Состояние обновилось, на следующем рендере имеем id = 1. id поменялся => запустился useEffect с запросом
Аноним 28/02/23 Втр 20:37:31 #153 №2626221 
Бля анонсы, в офисе на новой работе просят дресс код, какие брюки или что купить чтоб не умирать сидеть 8 часов, а то в джинсах пизда некомфортно
Аноним 28/02/23 Втр 20:45:23 #154 №2626224 
>>2621834 (OP)
че то я запутался в реакте
я могу писать классовые компоненты в 2к23
какие либы юзать для роутинга/стора
Аноним 28/02/23 Втр 21:06:24 #155 №2626234 
>>2626161
Ок, спасибо.
Аноним 28/02/23 Втр 22:01:51 #156 №2626284 
>>2626219
Спасибо

Сорри, если тупой вопрос, но все же... Так а при перерендере старый текст и тот который появляется после нажатия на кнопку не будет пропадать?
Аноним 28/02/23 Втр 22:14:37 #157 №2626294 
>>2626284
Я вижу у тебя в data массив с объектами.
data - состояние компонента в данном случае, которое "переносится" между рендерами.
После изменения id ты просто можешь добавлять новый объект в массив.
Сорта:
useEffect( async () => {
const response = await fetch(`api/${id}`)
const newEntity = await response.json() // новый объект с бэка

setData(state => [...state, newEntity]) // новый объект в конец массива
}, [id])

Дальше просто по своей дате в return проходишься через map и отрисовываешь как надо

Но вообще да, ты делаешь суть TodoApp
Аноним 28/02/23 Втр 22:57:30 #158 №2626321 
Мужики подскажите пожалуйста.
Блог на нексте, хочу сделать страничку с выводом всех статей, но чтобы подгружались постранично. Начал проект с App папкой и подходом client\server компоненты, но я так понял что никак из клиент компоненты не передать значения в серверную?
Или это всё хуйня и надо через __апп делать?
Аноним 28/02/23 Втр 23:00:23 #159 №2626326 
>>2626321
Я так понимаю что просто на реакте и с нормальным бэком, я бы бед не знал и state на каждую залупу бы уже навешал,но с некстом чет не догоняю как взаимодействие клиент компоненты и серверной установить
Аноним 28/02/23 Втр 23:04:40 #160 №2626331 
>>2624483
Что по ГОшке думаешь? Хочу в фуллстека перекатиться и далее постепенно на бэк. Или для фронта онли нода без других вариантов?
Аноним 28/02/23 Втр 23:37:51 #161 №2626351 
Вопрос по гиту, есть какой-то вариант между аккаунтами переключаться? Gitlab или gitlens в vscode даст такую возможность? Или мне блять придется каждый раз удалять аккаунт в диспетчере учетных данных и заново входить в нужный аккаунт?
Аноним 28/02/23 Втр 23:40:02 #162 №2626353 
>>2626321
А,разобрался всё таки,нужно было всего лишь в клиент компаненту пропсом передать серверную
Аноним 28/02/23 Втр 23:48:09 #163 №2626361 
>>2623223
forEach...forEach...forEach...if...if...if...if
Земля стеклобетоном тому, кто потом этот кал говна вилкой рефакторить будет или дорабатывать функционал придется.
Мало того, не забывай, ты на иъёбства с чатгпт и свое время потратил
Аноним 28/02/23 Втр 23:51:57 #164 №2626365 
>>2626351
Нашел вариант через ssh ключи аккаунты менять, попробую, но если анон знает - мониторю реквесты
Аноним 01/03/23 Срд 00:09:51 #165 №2626376 
>>2626221
>офис
>дресс-код
Сочувствую
Аноним 01/03/23 Срд 00:16:34 #166 №2626381 
image.png
Screenshot 2023-02-28 at 23.10.17.png
Написал такую кнопку. Она имеет свои стили, раньше я при наличии customClass добавлял еще 1 класс рядом с основным, но тогда нужно все писать через !important, пришлось переписать таким вот грубоватым способом как на пике, из минусов дохуя лишнего CSS кода на кнопках где требуются правки в стилях.
Как выйти из ситуации? Почему класс модификатор ниробит без !important?
да, я тупой
Аноним 01/03/23 Срд 00:24:54 #167 №2626386 
>>2626381
Сделай основной класс дефолтным и его стили перезаписывай другими классами. В чём проблема? Я бы посоветовал передавать классы массивом и .join(' ') или пустой массив, если нет классов, но за такое тут обоссут. Алсо, есть библа с гибким применением.
https://www.npmjs.com/package/classnames
Аноним 01/03/23 Срд 00:26:59 #168 №2626389 
Я не смогу в чилдрен пропсу пропихнуть?
Аноним 01/03/23 Срд 00:32:59 #169 №2626391 
Screenshot 2023-02-28 at 23.32.20.png
>>2626386
>передавать классы массивом и .join(' ')
Спасибо анончик, работает.
Аноним 01/03/23 Срд 00:38:59 #170 №2626392 
>>2626389
>Я не смогу в чилдрен пропсу пропихнуть?
Возможно пришло время учить редакс.
Аноним 01/03/23 Срд 00:45:00 #171 №2626396 
>>2626392

А можно в двух словах практическую его полезность? Перед тем как я погружусь в его документацию
Аноним 01/03/23 Срд 00:51:48 #172 №2626398 
>>2626391
>Спасибо анончик, работает.
Ёбанный быдлокод, ааааа! У меня кровь из глаз течёт, расстрелять бы или дать пизды за такую писанину!
Аноним 01/03/23 Срд 01:10:48 #173 №2626405 
>>2626398
Похуй, все равно не работает. В одном компоненте работает, а в другом только если !important добавить.
Аноним 01/03/23 Срд 01:12:44 #174 №2626406 
>>2626398
Пиздец, конечно, но такой код в 99% проектов, где шаблоны или рендер функции содержат выражения и даже операторы

А еще бывает сам устаешь и пишешь километровые компоненты...

мимо шел
Аноним 01/03/23 Срд 02:23:31 #175 №2626418 
>>2623223
Толсто. Тебе бы тут такую простыню рублей за 50 накатали, а за 100 - выстроилась бы очередь из желающих. О какой такой тысяче, и тем более шести, ты говоришь?
Аноним 01/03/23 Срд 02:55:05 #176 №2626427 
>>2623223
>Тьфу на вас блять. Не зайду сюда больше никогда
Хорошо. Скатертью по жопе!
Аноним 01/03/23 Срд 08:44:43 #177 №2626476 
Почему
"Lala" == true возвращает false? Разве он не должен строку к boolean привести и т.к она не пустая сделать её true?
Аноним 01/03/23 Срд 08:44:57 #178 №2626477 
>>2626331
Для фронта вообще никаких альтернатив, интерпретаторы из других языков в жс или васм - игрушки без вакух. Вместо ГОвнеца уж лучше ржавого навернуть, там хоть можно модули к ноде писать.
Аноним 01/03/23 Срд 08:46:14 #179 №2626478 
>>2626221
Что неужели никто в офисе не работает?
Аноним 01/03/23 Срд 09:06:59 #180 №2626485 
image.png
image.png
>>2626221
Смотря какой дресс код. Может вы как люди в черном должны одеваться.

Я в клетчатых брюков и кофточке простой гонял.
Аноним 01/03/23 Срд 09:11:38 #181 №2626488 
>>2626221
Носи юбку.
Аноним 01/03/23 Срд 10:22:26 #182 №2626526 
>>2626476
Нет, не должен.
Если типы аргументов разные, они приводят к числу и потом сравниваются.
Аноним 01/03/23 Срд 11:17:20 #183 №2626548 
Когда открываю селект у дропдауна неправильно вычисляется getBoundingClientRect().height высота при первом открытии, когда второй раз открываешь все нормально, что за хуйня? Получилось пофиксить только добавлением . getBoundingClientRectRect в депсы useEffect, но как-то говном пахнет это
Аноним 01/03/23 Срд 11:51:27 #184 №2626563 
>>2626224
> я могу писать классовые компоненты в 2к23
Можешь, но лучше не писать.
> роутинга
Реакт-роутер
> стора
Сильно зависит от размеров аппки. Часто можно обойтись хуками и контекстом.
Аноним 01/03/23 Срд 12:22:42 #185 №2626580 
>>2626476
>>2626526
Ебать я ахуел. Я всегда думал, что приведение типов if'ом работает так же как и нестрогое сравнение.

const str = 'HUI';
str == true
false
if (str){
console.log('PIZDA');
}

.. PIZDA
Аноним 01/03/23 Срд 12:39:02 #186 №2626591 
>>2626580
Надо было вначале делать конвертацию в bool

!!"test" === true

Тогда сработало бы.
Аноним 01/03/23 Срд 12:43:38 #187 №2626593 
Собираюсь писать пет-проект, где будет список элементов, обновляющийся по сокету, график, не большой чатик и, возможно, еще запилю возможность ресайзить блоки (типа такого https://react-resizable-panels.vercel.app/examples/horizontal). Ну и общий стор нужен. Всё это на одной странице. Для CSR идеальный вариант, но мне нужно закрепить знания по Нексту. Нормально ли такое пилить на Нексте? Какие подводные?
Аноним 01/03/23 Срд 12:44:22 #188 №2626594 
>>2626593
https://react-resizable-panels.vercel.app/examples/horizontal
быстрофикс
Аноним 01/03/23 Срд 12:46:21 #189 №2626595 
>>2626593
звучит норм.
Аноним 01/03/23 Срд 13:01:41 #190 №2626601 
>>2626580
>Я всегда думал
На основании чего? В документации написано равно противоположное.
Аноним 01/03/23 Срд 13:09:45 #191 №2626606 
>>2626601
По поведению. Плюс, я никогда не пользовался нестрогим неравенством, поэтому не знал про такие приколы и думал что нестрогое приводит к типу и просто if также приводит к типу.
Аноним 01/03/23 Срд 14:08:53 #192 №2626651 
>>2626606
Документацию-то почему не читаешь?
Аноним 01/03/23 Срд 15:26:57 #193 №2626703 
Какие курсы по фронтедну лучше спиратить? да, я тупой, мне нужно чтобы болванчик на экране мне все рассказывал
Аноним 01/03/23 Срд 15:35:47 #194 №2626711 
Понадобилось на проекте сделать что-то типо всплывающего меню и в других местах это просто вкорячено обычным дивом с маржином, мне не особо понравилось.
Порталы в react вообще используют на реальных проектах?
Аноним 01/03/23 Срд 15:54:34 #195 №2626725 
>>2626711
Да, например прокинуть ту самую модалку выше в HTMLDOM
Аноним 01/03/23 Срд 15:55:05 #196 №2626727 
>>2626711
>Порталы в react вообще используют на реальных проектах?
конечно, но учитывай что меню может выходить за рамки экрана, поэтому используй floating-ui или react-popper
Аноним 01/03/23 Срд 16:48:33 #197 №2626772 
Встал хуй вопрос. Разбираюсь в нексте. Нашёл глупое тестовое, просто отрисовать компоненты. Прилетает с апихи объект с пропсами, там ссылка на картинку карточки. Эту картинку я отрисовываю компонентом Image from 'next/image'. Картинки разных размеров, я заведомо не знаю каких (да, да, хуета. в нормальном проекте картинки все в папке, с размерамм и т.д). Компоненту Image надо прокидывать размеры для того, что бы он резервировал место под картинку в разметке. Вот что я придумал

Логику вычисления ещё подкорректирую. Пока, просто два столбика карточек и ширина картинки примерно равна ширине карточки
width={winSize < CSS_SIZES.WINDOW_MAX_SIZE_MIN_MEDIA_VALUE ? winSize / 2 : CSS_SIZES.QUEST_CARD_IMAGE_WIDTH}

А в самом компоненте вот такую залупу.

const [winSize, setWinSize] = useState(CSS_SIZES.WINDOW_MAX_SIZE_MIN_MEDIA_POINT_VALUE );

// CSS_SIZES.WINDOW_MAX_SIZE_MIN_MEDIA_POINT_VALUE, сделал переменную, что бы вынести в отдельный хук. в компоненте был window.innerWidth, который можно только в компоненте использовать из-за SSR

const resize = () => {
setWinSize(window.innerWidth);
};

useEffect(() => {
window.addEventListener('resize', resize);

return () => {
window.removeEventListener('resize', resize);
};
}, []);

Как идея? Разбираюсь в ньюансах некста и наткнулся на такую минипроблему с компонентом Image в контексте задачи. Да, хуёво, что на каждую картинку навешивается лиснер, но так под любой размер экрана подгонится ширина.
Аноним 01/03/23 Срд 18:07:22 #198 №2626835 
Снимок.JPG
Тупо лол. Не знаю, сколько бы я искал такую возможность использования шаблонных строк в доке, но в любом случае, дольше, чем спросить у нейронки. Алсо, я даже не подозревал о такой гибкости тса. Всегда думал, "вот держите нахуй, строки, числа интерфейсы и т.д, если будете мешать всё вместе, то ошибка". Справедливости ради скажу, я и не пробовал экспериментировать.
Ахуенное это ваше чат жпт, быстрый вопрос, быстрый ответ, чего мне не хватало всегда. Код-то хуй с ним, чаще вопросы, "есть ли возможность?", "а как оно работает?" и т.д.
Аноним 01/03/23 Срд 18:46:09 #199 №2626868 
>>2626835
Нормальные люди умеют в документацию.
Кстате, этот твой чятжпт обосрался и не сказал про перемножение юнионов.
type Units = 'px' | 'em' |'rem';
type MyType = `${number}${Units}`
Аноним 01/03/23 Срд 19:15:39 #200 №2626894 
в реакте юзать portal для дропдауна у селекта это норма? Просто как-то по уебански звучит вычислять позицию селекта и потом top от верха отсчитывать, особенно непонятно как делать когда этот селект внутри модалки
Аноним 01/03/23 Срд 19:17:41 #201 №2626895 
>>2626894
Норма. Только портал сам тебе ничего не посчитает, считать все равно надо. Для этого можно использовать popper-js.
Аноним 01/03/23 Срд 19:33:04 #202 №2626930 
Можно ли как-то сий код переписать используя декларацию функции вместо const handleSubmit....

const handleSubmit = useMemo(() => {
return (orderDetails) => {
post('/product/' + product.id + '/buy', {
orderDetails
});
};
}, []);
Ну как-то типа: function handleSubmit = useMemo(......

Никак не могу привыкнуть к этой фигне, когда функцию в переменную засовывают
Аноним 01/03/23 Срд 19:38:17 #203 №2626937 
>>2626895
Да, я понимаю что считать надо, но ведь если допустим в документе, то от window, а если в модалке, то от низа модалки, а если скролл модалки, то это на каждый скролл пересчитывать. Не совсем понимаю вот.

>Для этого можно использовать popper-js.
Спасибо, почитаю!
Аноним 01/03/23 Срд 20:27:41 #204 №2626989 
>>2626930
Это называется функция первого класса.
https://developer.mozilla.org/en-US/docs/Glossary/First-class_Function

А как ты хочешь это переписать через функциональное объявление? Кек.
Ну и как бы, как ещё ты будешь хранить ссылку на функцию для мемоизации?
Аноним 01/03/23 Срд 21:05:24 #205 №2627023 
>>2626930
(function handleSubmit { return useMemo(...)})()
Аноним 01/03/23 Срд 21:14:27 #206 №2627029 
>>2626989
Да спросил прост. А то мало ли, в этом ЖСе чего только нет
Я когда после Питона начинал первый код писать, просто офигевал от всяких альтернативных синтаксисов


>>2627023
Жестяка...
Аноним 01/03/23 Срд 21:18:42 #207 №2627032 
>>2626989
функция высшего порядка это называется, когда функция как аргумент передается.
А че они про присвоение в переменную написали хуй пойму, у них же самих это называется function expression.
Аноним 01/03/23 Срд 22:24:40 #208 №2627095 
kill-it-with-fire-kill.gif
>>2627032
Ну тут как бы, есть возможность положить в переменную функцию => JS имеет функции первого порядка.
Функция возвращающая и/или принимающая функцию - функция высшего порядка, как ты и сказал.

>>2627023
> IIFE
пик стронли релейтед
А вообще, функцию возвращает функцию, как минимум чтобы было по реактовским правилам этот должен быть хук читай: нейминг, или внутри IIFE оно стриггерится?
Плюс результат всё ещё надо положить в переменную. Видеть такое прямо в пропах компонента я точно не хочу.
Вообще, когда я думал как это закостылить, в голову пришёл другой костыль, но отдаю победу тебе
Аноним 01/03/23 Срд 23:14:17 #209 №2627159 
>>2627023
Разве так можно? хуки же сверху должны быть?
Аноним 01/03/23 Срд 23:31:38 #210 №2627167 
>>2627159
по идее должны быть можно, если он вызывается всегда, а не внутри какого-то условного оператора. Главное чтобы порядок хуков сохранялся во время повторного вызова компонента.
Аноним 02/03/23 Чтв 00:34:19 #211 №2627217 
>>2623567
Поссал на шарпея.
Аноним 02/03/23 Чтв 15:26:59 #212 №2627700 
Как в несте получить данные о том, какая тема у юзера выбрана? Хотел через useEffect в _app получить данные из локалстореджа (и там же тема подключается к приложению, поэтому там же хочу менять тему, если пользователь переключит её, что бы тема для всего приложения сразу менялась), но window.addEventListener('storage', fn); срабатывает только на удаление из стореджа. Что я делаю не так? Как лучше сделать?
Аноним 02/03/23 Чтв 15:38:48 #213 №2627715 
>>2627700
а зачем тебе подписка, почему просто localStorage.getItem не можешь сделать в useEffect'e?
Аноним 02/03/23 Чтв 15:43:16 #214 №2627721 
>>2627715
Я по кнопке меняю статус темы в сторедже. Хочу что бы кнопку нажал - сторедж поменялся - поменялась тема приложения (которая подключена в корне приложухи в _app)
Аноним 02/03/23 Чтв 17:15:12 #215 №2627802 
>>2627700
>нест
>useЕffect
Дали им редукс, так нет же, будем с событиями пердолиться.
Аноним 02/03/23 Чтв 18:54:23 #216 №2627863 
>>2627802
Как с редуксом сохранить состояние выбранной темы, после закрытия, а потом открытия вкладки?
Аноним 02/03/23 Чтв 19:27:32 #217 №2627880 
>>2627863
Подписаться на изменения в сторе и писать в свой локалсторадж.
Аноним 02/03/23 Чтв 19:42:10 #218 №2627895 
>>2627880
И нахуя, если есть нативный? Советы даёшь пиздатые, спасибо.
Аноним 02/03/23 Чтв 20:26:41 #219 №2627941 
>>2627895
Ну и трахайся тогда сам со слежкой за локалстороджем.
Аноним 02/03/23 Чтв 20:37:29 #220 №2627948 
>>2627941
Так ты предлагаешь для одной микрофитчи тащить либу. Ты ебанутый?
Аноним 02/03/23 Чтв 22:26:28 #221 №2628030 
>>2627948
Я тебе предлагаю делать нормально, чтобы изменение состояния приложения ложилось в хранилище отдельно, а не так, что ты сначала сохранил куда-то, потом чешешь репу как настройку обратно подсосать. Сейчас у тебя локалсторадж, завтра куки, послезавтра - база, каждый раз будешь изобретать костыль?
Не нравится редукс - выбирай другой магазин, тыщи их.
Аноним 02/03/23 Чтв 23:00:34 #222 №2628061 
image.png
>>2627700
> Что я делаю не так?
Не читаешь документацию, как и все в этом треде.
Почему ты ее не читаешь, можешь объяснить?
Аноним 03/03/23 Птн 07:08:22 #223 №2628226 
https://codesandbox.io/s/blissful-wind-15wr3n?file=/src/App.js

Почему когда я открываю dropdown он расширяет модалку?
Z-index не помогает
Аноним 03/03/23 Птн 09:32:35 #224 №2628288 
image.png
>>2628226
Всмысле? А что должно быть?

или ты хотел чтобы это так было?
Аноним 03/03/23 Птн 10:00:52 #225 №2628306 
>>2628288
Я хотел чтобы когда селект внизу модалки, его опции поверх модалки открывались и за границы модалки выходил
Аноним 03/03/23 Птн 11:10:20 #226 №2628332 
IMG20230303140954601.jpg
>>2628306
Типа вот так
Аноним 03/03/23 Птн 11:18:31 #227 №2628340 
>>2628332
position
@
relative
Аноним 03/03/23 Птн 13:25:28 #228 №2628422 
Че такое дескрипторы?
Аноним 03/03/23 Птн 13:36:08 #229 №2628437 
>>2628030
Я просто изучаю некст, и как передавать данные с клиента на сервер и т.д. У меня банальное приложение, которое отрисовывает несколько карточек. Библу подключить можно в любой момент. Хотел использовать нативные вещи.
>>2628061
Умел бы я читать.jpg
Аноним 03/03/23 Птн 14:15:28 #230 №2628505 
Как вы делаете модальные окна на реакте? Как анимировать закрытие окна, если оно удаляется из дома или делается display none? Оба случая срабатывают сразу и transition не успевает отработать
Аноним 03/03/23 Птн 14:26:12 #231 №2628519 
>>2628505
https://reactcommunity.org/react-transition-group/css-transition
Аноним 03/03/23 Птн 14:27:58 #232 №2628521 
>>2628519
Во вью это встроено в сам фреймворк кстате
Аноним 03/03/23 Птн 14:30:02 #233 №2628523 
>>2628519
Спасибо. А какие альтернативы? В вью тоже через внешнюю либу приходится это делать? А в относительно новых инструментах, особенно svelte? Почему-то думал, что такое можно делать без сторонних библиотек.
Аноним 03/03/23 Птн 14:31:34 #234 №2628524 
>>2628521
Тоесть, если мне это не надо, то вуе все равно насрет этим в бандл?
Аноним 03/03/23 Птн 14:31:37 #235 №2628525 
>>2628521
О, нашёл, удобно
https://vuejs.org/guide/built-ins/transition.html
Аноним 03/03/23 Птн 14:36:02 #236 №2628530 
>>2628524
Тебе анимации не нужны? Твоя специальность UI для незрячих?
Аноним 03/03/23 Птн 14:41:50 #237 №2628532 
>>2628530
А если серьезно то во вьюжс компилятор шаблонов делает кучу оптимизаций, так что если ты не засунешь транзишен в шаблом то и в бандле транзишена не будет, а дальше тришейкинг бандлера работает
Аноним 03/03/23 Птн 14:42:58 #238 №2628535 
Может кто-нибудь написать скриптик для скрытия всех тредов в /b, кроме webm тредов (желательно ещё музыкальных тредов)? Вам практика, а мне изоляция от потоков дегенеративного говна.
Аноним 03/03/23 Птн 15:06:50 #239 №2628557 
>>2621854
схуяли вью выше реакта?
Я думал реакт более гибкий и востребованнее
Аноним 03/03/23 Птн 15:07:24 #240 №2628559 
>>2628535
может просто не будешь заходить на двач?
Аноним 03/03/23 Птн 15:08:08 #241 №2628561 
>>2628559
Это слишком просто.
Аноним 03/03/23 Птн 16:09:27 #242 №2628625 
Какая же параша, этот ебучий фронтенд. Я хуею. Читаешь доку "нашей прогрессивной, удобной, 'всё есть' библиотеки", натыкаешься на "а для фитчанейм, мы советуем использовать наш 'суперудобный пакет залупа 3000. Просто установите залупа 3000 и внесите вашфреймворк.конфиг эти три строчки'.
Устанавливаешь залупа 3000, вносишь три строчки в конфиг, запускаешь - миллион ошибок в консоле, нихуя не работает. Заходишь на сайт фреймворка, там тоже самое "три строчки в конфиг и всё". И так со всем. Ситуации, где я просто сделал все шаги из "getting started" и всё заработало, можно по пальцам сосчитатью. Вы ну не вы, ананасики,а разрабы пакетов либо делайте рабочие пакеты, либо более детальную документацию, я хуй знает.
#Горижопа.
Аноним 03/03/23 Птн 16:17:15 #243 №2628631 
>>2628535
Раз куклу ты поставить не можешь, от зависимости избавиться не можешь, то только так >>2623223
Аноним 03/03/23 Птн 16:29:18 #244 №2628638 
>>2623223
Т.е. я правильно понимаю
>чатгпт я буду 3 дня объяснять что мне надо
>живому человеку — не буду
?
Ну с такими софтскиллами тебе точно перезвонят.
Аноним 03/03/23 Птн 16:44:40 #245 №2628658 
>>2628625
Ты еще ембедед не видел, там +1000 к жопагорению. Написал криво код - сгорела плата нахуй
Аноним 03/03/23 Птн 16:49:34 #246 №2628671 
>>2628658
>Написал криво код - сгорела плата нахуй
Ну это личная ответственность пишущего, от такого не особо горит. Типа "сам виноват, хуёво продумал", а тут ты просто по мануалу все шаги делаешь, тупо копипастишь необходимый код и не работает. Ещё горит с необходимости устанавливать доп. библиотеки. Блять, я установил ваш пиздатый реакт! Нет, установи ещё вот этот пакет, вот этот пакет, жопу подтирать этим пакетом, смывать говно этим пакетом и т.д. Ну да похуй.
Аноним 03/03/23 Птн 17:42:44 #247 №2628735 
Пацаны, как у вас аналог OpenGL\SDL называется? Хочу NES эмулятор на чистом жс написать.
Аноним 03/03/23 Птн 18:15:13 #248 №2628754 
>>2628735
https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API
Но зачем? Например вот: https://github.com/bfirsh/jsnes
Аноним 03/03/23 Птн 18:26:19 #249 №2628765 
>>2628754
Сяп.
Да просто так. Ну и в качестве портфолио
Аноним 03/03/23 Птн 20:18:37 #250 №2628832 
>>2628340
не понял о чем ты все равно
Аноним 03/03/23 Птн 20:34:18 #251 №2628840 
>>2628332
https://codesandbox.io/s/headless-dew-shdt5x?file=/src/styles.css
Я понял что мешает overflow: scroll, как только я его удаляю дропдаун нормально выходит
Аноним 03/03/23 Птн 21:07:48 #252 №2628876 
>>2628557
>схуяли вью выше реакта?
библиотека не может быть выше фреймворка.
Аноним 03/03/23 Птн 22:06:13 #253 №2628937 
Безымянный.jpg
>>2621834 (OP)
Сап наносеки, изучаю бэм подскажите по пику правильно ли я неймаю на примере хедера. Вот есть блок хедер в нем лемент
header__content внутри него header__naming -> header__naming-icon или правильнее будет назвать header-icon?
Аноним 03/03/23 Птн 22:26:28 #254 №2628962 
>>2628671
Ага, только учти, что тебе спецификацию на железо выдал производель и если там чего-то нет - то ты можешь очень долго выяснять детали, а сроки горят. Поэтому есть желание попробовать решить так, как на другой железке на поколение младше работало или искать в интернете, а гуглить схемы - это тебе не джаваскриптовые ошибки на стаковерфлоу искать.
Аноним 03/03/23 Птн 22:27:08 #255 №2628964 
>>2628937
> изучаю бэм
Нахуй не нужон бэм ваш.
Аноним 03/03/23 Птн 22:30:17 #256 №2628969 
>>2628937
Похоже на правду. У элементов не подэлеметов, если есть вложенные елементы то они все к блоку относятся, поэтому у всех элементов один постфикс block-name__element-name
а не несколько block-name__element1-name__element2-name
Аноним 03/03/23 Птн 22:36:12 #257 №2628976 
>>2628964
Вот у тебя СПА с зашитыми в компонеты стилями, тут вдруг приходит Кабан Кабаныч и говорит нечеловеческим голосом
- Сычов. Купили мы Быстрикс24, лендосы будем делать там, чтобы вести клиентов в воронке продаж. Захуярь в них наш копроративный стиль!
Аноним 03/03/23 Птн 22:55:43 #258 №2629006 
16777958309750.png
>>2628976
> быстрикс 228
Вытекаю с работы JS треда в php тред.
Аноним 03/03/23 Птн 23:14:17 #259 №2629033 
>>2629006
Поридж малиновый, Кабаныч не твоя мамка, он не спросит на чем тебе нравится очередной фронтенд делать. Или будешь по нищим галерам бегать, убегая от задач серьезногу бизнесу.
Аноним 03/03/23 Птн 23:28:32 #260 №2629045 
Какие книги есть по оптимизации html\css\js с этими вашими рефлоу? На амазоне поискал, чет ничего хорошего.
Аноним 04/03/23 Суб 04:26:21 #261 №2629109 
>>2629045
Перестань читать книги и начни читать блоги разработчиков браузеров и движков.
Аноним 04/03/23 Суб 10:12:05 #262 №2629177 
>>2629109
Посоветуй какие-нибудь?
Аноним 04/03/23 Суб 10:26:06 #263 №2629180 
image.png
Котаны, помогите, пожалуйста, ибо я уже заебался гуглить не то/не находить решение

Мне нужно сделать кнопку, при нажатии на которую справа выплывет окошко с текстом (примерно изобразил на пике)
Я понимаю, что надо эвент клика, #кнопка:after, но дальше неебу, совсем тупик
Помогите, пожалуйста!
Аноним 04/03/23 Суб 11:04:49 #264 №2629206 
>>2629180
хуево гуглил.

нахуй там афтер?

кнопка.евентклика(клик, евент => {
блокТекста.добавляешьКласс(Актив)
})

ну а если нужен афтер то этой же кнопке и дававй акитив, у кнопки есть стили и эти стили афтера идут у актива.
Аноним 04/03/23 Суб 11:07:19 #265 №2629211 
>>2629180
Если ты не тот анон с дропдауном, то вот https://html5css.ru/css/css_tooltip.php первая ссылка в гугле с летсдуит, не стукойте.
А так идея как с дропдаунами.
Аноним 04/03/23 Суб 11:16:36 #266 №2629225 
>>2629211
nvm, жопой читал
Аноним 04/03/23 Суб 11:24:22 #267 №2629232 
>>2628976
Сынок, я не в РФ. Конечно, если Джон Бор скажет что БЭМ нужен - то я буду делать на этом говне, или на любом другом но пока он что-то популярностью не пользуется.
Нужна помощь с фронтом Аноним 04/03/23 Суб 11:29:11 #268 №2629237 
Я быкенд перешедший в девопс с 4 годами опыта работы и еще более продолжительным бекграундом диванного программирования. Для реализации своих задумок не хватает знаний, а вернее опыта, по фронту. Я в принципе знаю всю херню HTML, CSS, JS, делал какие-то простые и даже более-менее сложные верстки из говна и палок, писал на JS, даже применял Vue и bootstrap. Но если быкенд с апишкой на джанге я смогу поднять за 30 минут, то сверстать страничку у меня займет 1-2 дня, особенно если ебаться с инструментарием на ноде. И реализовано это все будет кое-как, с кучей костылей на CSS. Вощем испытываю трудности, а хотелось бы набить руку, создать нейронных связей под это.

Я более-менее понимаю план действий, мне нужен скорее support & assistance. Сейчас двигаюсь по роадмапу https://roadmap.sh/frontend в котором половину всего я и так достаточно глубоко знаю, а про остальную половину имею представление.
Посоветуйте каких-нибудь специальных макетов для обучения верстке от простых к сложным. Может знаете какие-то ресурсы, которые мне будут полезны. Если захотите поменторить, вот телега @perdaxx
Аноним 04/03/23 Суб 11:38:52 #269 №2629251 
>>2629237
Пчел, ты двигаешься в обратном направлении. Верстают пускай вкатуны-джуниоры, а ты лучше развивайся дальше в бекенд и инфраструктуру. Базы данных там, клауд ф-ции, лоад балансеры, кластер разверни и тд. Нахрен тебе нужно кнопки красить?
> быкенд с апишкой на джанге я смогу поднять за 30 минут, то сверстать страничку у меня займет 1-2 дня, особенно если ебаться с инструментарием на ноде. И реализовано это все будет кое-как, с кучей костылей на CSS
Это норма.
Аноним 04/03/23 Суб 11:44:10 #270 №2629266 
>>2629251
Мне для себя нужно. У меня периодически возникают идеи которые хочется реализовать, вот например из последнего - сделать инструмент управления трафиком, с роутингом трафика между различными прокси / VPN, с мониторингом, блекджеком и прочим. Писюн падает когда представляю как я это все верстать буду
Аноним 04/03/23 Суб 12:24:14 #271 №2629353 
>>2629237
Есть же UI киты, попробуй из них собирать страницы
Аноним 04/03/23 Суб 12:37:05 #272 №2629378 
Аноны, такой от залетыша. Несколько лет назад еще существовал стереотип, что во фронте постоянно меняются технологии, и то, что было модным сегодня, через годик все уже могли забыть. Как сейчас с этим стереотипом? Вроде реакт, ангулар и вью уже много лет у вас и ничего больше нового.
Аноним 04/03/23 Суб 12:52:10 #273 №2629394 
image.png
>>2629237
>сверстать страничку у меня займет 1-2 дня
ну, это норм.
т.е. у скилового версталы вротендера простенькая стр занимает +- день, но на более сложные уходит и больше.

при этом, как я понял, ты делаешь для себя, т.е. ты не обременен необходимостью делать пиксель перфект.
пиксель перфект же - это когда ты должен сделать верстку идентично как на макете в разных размерах.
по этой причине верстка не такая уж и быстрая работа.

+ васянские либы, которые приходится пердолить под разные устройства, т.к. внезапно, они имеют кучу кастылей и условностей.

так что не совсем ясно зачем тебе ментор. и не совсем понятен бугурт про долгую верстку.

допустим на пик я бы взял 3 дня. самая простая верстка с простейшей тестовой логикой. скорее всего управился бы и за день, но нахуй об этом знать пму?
Аноним 04/03/23 Суб 12:58:51 #274 №2629400 
>>2629266
Так начни делать просто. Сначала консольный интерфейс, веб оставь на потом.
> Писюн падает когда представляю как я это все верстать буду
Это норма.
Аноним 04/03/23 Суб 13:32:15 #275 №2629415 
Аноны, я столкнулся с проблемой. У моего скрипта есть класс которой выполняет всю работу. Я могу нажимать на кнопку, чтобы работа начиналась или прекращалась. Однако, чтобы работа прекратилось, я должен подвязать все методы моего класса выполнять проверку на флаг.

Иными словами мне придется каждый раз в теле каждого метода перед его выполнением проверять
if (this.canceled) { return }

Но чё-то такое себе. А если мне к примеру придется как-то изменить то что внутри курли брейсов {}? Есть в JS'е декораторы как в питоне, чтобы я мог обернуть все свои методы типо
@stopcondition
function start() {}

@stopcondition
function doThing() {}

?

Как вообще лучше обустраивать отмену работы какой-то хуйни?
Аноним 04/03/23 Суб 13:32:51 #276 №2629416 
>>2629415
Обосрался немного, у метода не будет function, это же метод.
Аноним 04/03/23 Суб 14:22:37 #277 №2629438 
>>2629415
https://babeljs.io/docs/babel-plugin-proposal-decorators
https://www.typescriptlang.org/docs/handbook/decorators.html

Вообще странно, что ты задался мыслью делать проверки только внутри класса. То есть в UI ты никак не отображаешь процесс выполнения и кнопки не повязаны к текущему состоянию экземпляра? То есть кнопки всегда доступны к нажатию?

Ну а вообще, декораторы прикрутить можно, может однажды они уже докатятся в одну из версий JS нативно. В принципе, ничего плохого не вижу, если ты хочешь добавить валидацию внутри класса, но что-то есть чувство, что что-то пошло не так.
Аноним 04/03/23 Суб 14:23:47 #278 №2629440 
>>2629237
Тебе дизайн важен или пох?
Аноним 04/03/23 Суб 14:27:27 #279 №2629444 
изображение.png
>>2629440
Более-менее важен. Люблю Material UI, чтоб вот эти анимации форм/кнопок были как в ведроиде. Я так однажды сделал неплохой интерфейс с помощью Vue + Material UI, 3 дня на это потратил
Аноним 04/03/23 Суб 14:27:49 #280 №2629445 
>>2629438
Мне тайпскрипт не подходит, у меня юзерскрипт. Там приходится на чистом жсе всё писать.

У меня по сути одна кнопка условно "Начать работу" при нажатии на которую совершается целый пласт действий с разными методами. В любом момент пользователь может нажать "Прекратить работу" и мне нужно прервать все действия и окатить до начала. По сути хватает обычного ретурна, скорее всего, по крайней мере с ретурном вроде как работает всё. Но ощущение костыльности присутствует.
Аноним 04/03/23 Суб 14:31:57 #281 №2629450 
>>2629440
Ох, вспомнил как пытался сделать вращающуюся кнопку обновления, пиздос как наебался с тем чтоб она ровно вращалась и стейт "вращается/не вращается" нормально отрабатывал. Я кажись так и не смог нормально останавливать вращение
Аноним 04/03/23 Суб 14:49:19 #282 №2629468 
>>2629445
Можно сделать обёртку и на ванилле.
Либо функцию с предусловием и костыль вида
leggo() {
this.isRunnable() && doTheJob() // IIFE
}

isRunnable() { ... }

Если по отмене, можешь посмотреть вот это
https://developer.mozilla.org/en-US/docs/Web/API/AbortController
Аноним 04/03/23 Суб 14:56:41 #283 №2629477 
>>2629468
Контролелр прикольная штука, благодарю.

А обертку в каком виде? Типо написать декоратор, а потом вручную после того как создал инстанс класса прописывать инстанс.метод = декоратор(метод)? Можно конечно, но хз. А с функцией я не очень понял к сожалению.

Сейчас я пока решил тупо вставлять if (this.isCanceled) { return } в начало, пока работает вроде.
Аноним 04/03/23 Суб 15:19:06 #284 №2629498 
>>2629477
Декоратор в простом виде можно накостылить по тип такого:
deco(func, ...args) {
console.log("'decorator'")
func.apply(this, args)
}

Принимает функцию и произвольное количество аргументов, вызывает функцию в контексте объекта, с которого был вызван.

В твоём случае может быть что-то вроде:

deco(foo) {
console.log("deco checks");
foo.call(this)
}

hueta(text) {
this.deco(function () { console. log(text)})
}

С функцией если, то у тебя будет отдельный метод в котором будут проверки на возможность выполнения, например
isRunnable() { return this.isCanceled }
Сейчас здесь ничего нет, одно поле для ИФА, но потом может появиться дополнительная логика. В этом случае достаточно будет поправить только его.
Этот метод ты вызываешь по цепочке
this.isRunnable() && (function () { actualJob here }) ()
Либо если это переписать, аналогично на ифы
if (this.isRunnable()) {
do actual job here
}
Аноним 04/03/23 Суб 15:20:17 #285 №2629499 
>>2629498
Вообще классы, методы, можно такую проверку на возможность выполнения вынести в геттер, раз на то пошло
Аноним 04/03/23 Суб 15:22:43 #286 №2629501 
>>2629498
И да, я проебался немного, здесь это уже не совсем декоратор, скорее обёртка
Аноним 04/03/23 Суб 15:44:39 #287 №2629520 
1677933880946.png
>>2629498
Окей, понял. Ну в принципе это действительно обертка, декоратор должен возвращать обертку в которой уже перед вызовом основной функции выполняется какая-то фигня.
Аноним 04/03/23 Суб 17:56:45 #288 №2629657 
Во что перекатываться фронту, Express или Nest?
Аноним 04/03/23 Суб 18:40:13 #289 №2629729 
>>2629657
Expess подмножество Nest'a
Аноним 04/03/23 Суб 19:54:19 #290 №2629802 
1677948861266.png
1677948861271.png
А если бы вам захотелось в собственном скрипте добавить новую кнопку к всплывающей менюшке взаимодействия с постом из куклоскрипта, то как бы вы привязали ивент взаимодействия на эту новую кнопку?

Нужно же как-то узнать с каким постом ассоциирована кнопка.
Аноним 04/03/23 Суб 20:01:36 #291 №2629806 
>>2629729
Вообще ты прав, будет логичнее пойти по пути Express -> Nest
Аноним 04/03/23 Суб 20:18:40 #292 №2629820 
>>2629802
А где в html'е рендерится менюшка?
Аноним 04/03/23 Суб 20:19:49 #293 №2629821 
1677950391462.png
>>2629820
К сожалению на самом верху древа. Я тоже хотел определить по положению ноды.
Аноним 04/03/23 Суб 20:25:59 #294 №2629826 
>>2629821
Я что-то не понимаю. Кнопка, которая относится к посту, не рендерится в шапке поста? Это где такое? Ща на даче посмотрел, там эта кнопка в диве с айдишкой номера поста.
мимо не шарю за ваш куклоскрипт
Аноним 04/03/23 Суб 20:27:36 #295 №2629828 
>>2629826
Нет, судя по всему она рендерится на верху древа и через абсолютное позиционирование css'а подгоняется под пост. Мда, боюсь тут придётся сильно костылить.
Аноним 04/03/23 Суб 21:37:55 #296 №2629906 
image.png
image.png
>>2629802
чел, в отладчике "ответить" вот так показывается, попробуй так же
на самой кнопке открытия меню data- атрибут, скорее всего запоминает его глобально при клике или хз какая макака это сочиняла
Аноним 04/03/23 Суб 21:40:55 #297 №2629908 
>>2629826
это норма, модальные окна обычно внизу дерева и рисуют, чтобы они поверх всего отображались и быстро добавлялись\удалялись из дома
Аноним 04/03/23 Суб 21:48:00 #298 №2629917 
1677955682423.png
1677955682428.png
>>2629906
У меня почему-то нихуя не показывается. Только на созданную менюшку ивент навешан.

Ну а то что у тебя на скрине, там скорее всего обращение к локальным переменным, в моём же контексте не будет ни к каким айидникам и намам доступа. Глобальной переменной такой нет. Хуй знает как адекватно без изъебов получить пост при кнопке.
Аноним 04/03/23 Суб 23:31:14 #299 №2630018 
>>2629917
Исходники куклоскрипта посмотри, как он хэндлит ивенты этих менюх.
Аноним 04/03/23 Суб 23:33:11 #300 №2630020 
Стрелочная функция.png
не стрелочная функция.jpg
Что не так с этой стрелочной функцией? Почему при переписывании её в обычную функцию, она не работает? Более того - она перестаёт работать даже если просто добавить () перед =>. Какого хуя? Это точно стрелочная функция вообще?
Аноним 04/03/23 Суб 23:36:19 #301 №2630025 
image.png
image.png
>>2629917
да, ты прав, там замыкание при клике на кнопке
Аноним 04/03/23 Суб 23:36:57 #302 №2630027 
>>2630020
Попробуй let user = (item) => { return users.find(item).id == 1 }
Питухонер мимокрок, на калжсе почти не писал
Аноним 04/03/23 Суб 23:37:48 #303 №2630029 
>>2630020
find принимает функцию в качестве аргумента, а ты че насрал?
Аноним 04/03/23 Суб 23:38:22 #304 №2630031 
функция.jpg
>>2630020
Пиздец нахуй, разобрался. Точнее решил прочитать дальше строчку ниже в учебнике. Найс объяснение, ставлю лайк. Сперва сотворим хуйню, а потом расскажем, что было сделано.
Аноним 04/03/23 Суб 23:40:04 #305 №2630034 
>>2630029
Да теперь я уж понял, что функция просто передаётся в качестве аргумента.
Аноним 04/03/23 Суб 23:50:10 #306 №2630044 
>>2630031
А потом ты познаешь мир с "вот вам удочка под видом базуки, дудоньтесь сами". А ты и уже сгорел, кекв.
Аноним 04/03/23 Суб 23:51:08 #307 №2630045 
image.png
image.png
>>2630025
вообще можно и на саму кнопку евент повешать, потому что таймаутом все равно новую таску в конец добавляю, поэтому еще проще
Аноним 04/03/23 Суб 23:52:23 #308 №2630046 
>>2630025
Я так понял чтобы у меня это работало я должен сделать по сути также, но первый ивент навесить onmouseover ну и в свою модаль прикрепить кнопку с сохранением поста после таймаута 100мс к примеру, чтобы модаль успела появиться.

Я только не понял зачем ты < 0 проверяешь а потом ретурнишь, это чтобы избежать что?
Аноним 04/03/23 Суб 23:53:02 #309 №2630047 
>>2630046
Хотя не, тогда onmouseover у меня будет спамить миллиард кнопок, хуйня идея.
Аноним 04/03/23 Суб 23:54:10 #310 №2630050 
>>2630047
Хотя в теории можно проверку сделать есть ли эта кнопка уже или нет. Придется мутейшен обсервер навесить чтобы новым постам ивент прибавлялся тоже. Чет немного гемор, но это лучше чем я представлял.
Аноним 05/03/23 Вск 00:08:01 #311 №2630064 
1.jpg
Почему второй alert выдаёт -1?
Аноним 05/03/23 Вск 00:23:22 #312 №2630076 
>>2630064
В функцию надо передать аргумент, который обрабатывается.
Может оценишь вариант подумать пять сек, а не спамить вопросы на каждый пук?
Аноним 05/03/23 Вск 00:28:10 #313 №2630079 
>>2630076
Я в метод передал функцию в качестве аргумента. Хуле ему не нравится? Почему он не может Васю найти?
Аноним 05/03/23 Вск 00:29:21 #314 №2630082 
>>2630064
Посмотри что передаётся в findIndex, что передаётся в то что передаётся в findIndex, посмотри что ты написал в том что передал в findIndex. Посмотри описание findIndex на mdn.
> найти индекс в users, users (массив).name (undefined) == "Уасиа"

кекусы
Аноним 05/03/23 Вск 00:31:16 #315 №2630083 
>>2630079
Ну ты пиздец.
Аноним 05/03/23 Вск 00:32:28 #316 №2630085 
64H7Qxgj4fI.jpg
>>2630082
>>2630083
Блять, какое же говно это ваше программирование.
Аноним 05/03/23 Вск 00:33:47 #317 №2630086 
1677965624556.mp4
1677965624556.png
>>2630045
Найс, анон, оно работает, спасибо. Не знал что mouseover только один раз екзеклютится. Я думал каждый раз когда по элементу буду проводить он каждый раз будет привязанную функцию запускать.
Аноним 05/03/23 Вск 00:40:24 #318 №2630090 
>>2630086
а почему ты на клик не хочешь привязаться? Если кликнешь - модалка точно появится, а если просто водишь - не факт.
Аноним 05/03/23 Вск 00:42:08 #319 №2630091 
>>2630090
Так у меня, как ты можешь заметить на видео, менюшка автоматически открывается, так в кукле сделано. На клик нет смысл привязываться, не особо получится. Каждый раз когда я навожусь, менюшка открывается.
Аноним 05/03/23 Вск 00:59:19 #320 №2630095 
2.jpg
>>2630082
Даже если исправить на user.name что в ретёрне, что в алёрте, нихуя не меняется - возвращается андефайнд. Блять, да какого хуя, всё же нормально выглядит.
Аноним 05/03/23 Вск 01:01:00 #321 №2630096 
>>2630095
Ехал юзер через юзер.
Аноним 05/03/23 Вск 01:02:56 #322 №2630097 
1677967378859.png
1677967378861.png
1677967378862.png
>>2630090
Анон, а ты не знаешь почему я всплывающую форму не могу открыть? Я знаю что у свг нет клика, поэтому диспатчу ивент, но он не хочет.
Аноним 05/03/23 Вск 01:11:24 #323 №2630098 
>>2630095
Довен, твоей аргументной функции файнд будет передавать значения на проверку, а она нихя не принимает.
Аноним 05/03/23 Вск 01:13:53 #324 №2630099 
>>2630095
>>2630064
Бля, ты какую-то хуйню пишешь. У тебя ошибка в логике, надо было писать

users.findIndex(function findName(element) {
return element.name === 'Вася';
})

Тогда бы заработало. Либо

users.findIndex(user => {return user.name === 'Вася'})

Так тоже сойдёт.
Аноним 05/03/23 Вск 01:40:08 #325 №2630103 
>>2630095
Наркоман чтоле?
Чем твоя стрелочная функция отличается от обычной, которую ты пытаешься передать?
У стрелочной функции нет названия, ты принимаешь параметром user элемент массива.
Во втором случае ты обзывает функцию user и нихуя в неё из массива при проходе findIndex не принимаешь.
Нарабатывай навыки дебаггинга и гугления. Суй хотя бы промежуточные console.log и выводи значения переменных если не понимаешь что там не так.
Я тебе предложил посмотреть findIndex на mdn. Ты посмотрел? Нет. А там расписана сигнатура функции и есть примеры.
Навыки гугления я за тебя тоже не смогу наработать.
Аноним 05/03/23 Вск 02:04:32 #326 №2630111 
image.png
image.png
>>2630097
Может потому что через jquery эвенты накинуты, попробуй через него и вызывать.
Кстати, новые посты сами подпишутся на эвент, если через него сделашь.
Аноним 05/03/23 Вск 02:08:13 #327 №2630113 
1677971295382.png
1677971295390.png
1677971295390.png
1677971295390.png
>>2630097
БЛЯТЬ АНОНЫ ОНО СРАБОТАЛО

Мне страшно нахуй, эта хуйня отлично понимает меня, запоминает что было до этого и МОМЕНТАЛЬНО генерирует ответ. Я раньше не пользовался чатгпт, зарегал на всякий случай. Сейчас решил воспользоваться и охуел.
Аноним 05/03/23 Вск 02:10:27 #328 №2630114 
1677971429188.png
1677971429197.png
1677971429197.png
1677971429198.png
>>2630111
Анон, мне сетка подсказала таким образом ивент инициализировать. Я не понял нихуя почему это сработало, но оно работает.
Аноним 05/03/23 Вск 02:13:09 #329 №2630115 
1677971591984.png
>>2630113
Забыл показать третий вопрос свой
Аноним 05/03/23 Вск 12:45:44 #330 №2630272 
1678009546302.png
1678009546312.png
>>2630111
Анон, я сейчас понял что я хуйню пытался сделать и можно просто спокойно на ссылку кликать, а не свг, эффект тот же почти, а также проще.
Аноним 05/03/23 Вск 12:50:55 #331 №2630277 
1678009857536.png
1678009857545.png
1678009857546.png
>>2630111
Ну и к слову по какой-то причине триггер не работает. А штука которую чатгпт дала и которая работает на свг почему-то отмечена как устаревшая. Как тогда не депрекейтед способом вызвать клик событие интересно на конкретно этот свг?
Аноним 05/03/23 Вск 13:57:23 #332 №2630350 
>>2629225
>>2629211
Ну в принципе, может сработать
Спасибо, анонче
Аноним 05/03/23 Вск 14:00:13 #333 №2630353 
>>2629206
Я чет совсем нуб

получается что-то вроде:
btn.addEventListener (click, event => {
textBlock.addClass ( а что сюда добавлять? )
})
Аноним 05/03/23 Вск 16:05:35 #334 №2630518 
Заканчиваю через пару месяцев отработку барщины ученический на галере, хочу спрыгнуть на продукт. Реально полуторагодовалому вкатышу попасть в это ваше МЯСО фронтом (ангуляр и реакт)? А то я с алкоритмами не очень, зато английский Б2.
Аноним 05/03/23 Вск 16:45:05 #335 №2630579 
>>2630518
>Реально полуторагодовалому вкатышу попасть в это ваше МЯСО фронтом (ангуляр и реакт)?
Нет.
Аноним 05/03/23 Вск 17:01:21 #336 №2630613 
>>2630518
Чем тебе на галере не сидится?
Аноним 05/03/23 Вск 17:12:12 #337 №2630628 
2023-03-05 17.11.43 beta.character.ai 7769e57f63d2.png
promise.then (function(arg1) {console.log('___test___', arg1)});
promise.then (function(arg1) {console.log('___testname___', arg1.name)});
promise.then (function(arg1) {console.log('___test___', arg1)});
setTimeout(function () {promise.then (function(arg1) {console.log('___timertest___', arg1.name)});}, 3000);

Четыре строки подряд. Первая выдает готовый object, в котором естественно заполнено property "name".
Вторая выдает undefined
Третья - опять же готовый object, в котором точно так же присутствует не пустое property "name".
Четвертая сука выдает что я хочу получить, значение property "name".
Чяднт?? Пытаюсь разобраться, поэтому подряд это написал, а понятнее не стало. Если then ждет пока promise не исполнится, почему я не могу получить сразу значение property, но могу корректно получить весь object целиком?
Аноним 05/03/23 Вск 17:20:19 #338 №2630638 
>>2630628
Потому что чтобы что-то достать по цепочке, надо это что-то из функции вернуть.
console.log возвращает undefined, его ты и получаешь.
promise.then(function (resolvedData) {
console.log('hurts moe');
return resolvedData.name;
}).then(function (name) { console.log(name) })
Аноним 05/03/23 Вск 17:21:46 #339 №2630640 
>>2630628
Покажи весь код, в этих твоих огрызках хуй что понятно.
Аноним 05/03/23 Вск 17:27:54 #340 №2630646 
>>2630613
Деньги.
Аноним 05/03/23 Вск 17:30:58 #341 №2630650 
>>2630628
>>2630638
> console.log возвращает undefined
Проебался. Так то оно так, только ты нихуя не возвращаешь, а это аналогично если написать строке
return; //и тоже вернёт undefined
И да, с этим согласен >>2630640
А лучше уж залей в песочницу если тебя гложет что-то. Проёбано форматирование не помогает понять что ты делаешь.
Аноним 05/03/23 Вск 17:31:25 #342 №2630651 
>>2630646
В русских продуктах плотят так же или меньше, если что. Если конечно, мы не берём случаи с зарплатой в виде крипты на карту армянского банка.
Аноним 05/03/23 Вск 17:40:39 #343 №2630659 
2023-03-05 17.28.48 highlight.hohli.com f0fb9f5e6251.png
2023-03-05 17.36.59 beta.character.ai bc1a8ea7ef24.png
>>2630640
Что-то типа такого.
>>2630638
А почему тогда по таймеру setTimeout(function () {promise.then (function(arg1) {console.log('___timertest___', arg1.name)});}, 3000); я получаю что хочу?
Аноним 05/03/23 Вск 17:58:22 #344 №2630675 
Screenshot20230305-175604.jpg
>>2630659
Ты делаешь что-то не то.
const p = Promise.resolve({ name: "ahem"})
p.then(arg => console.log(1, arg))
p.then(arg => console.log(2, arg.name))
p.then(arg => console.log(3, arg.nаmе))

На второй строке name на инглише.
На третьей a и e - кириллица
Аноним 05/03/23 Вск 18:02:52 #345 №2630679 
>>2630651
Так и моя галера - огрызок в виде российского офиса, сама компания отчалила. И по деньгам уже ниже рыночка, + всякие приколы начались с увеличением интервалов между пересмотрами до года. А год гребли ниже рынка для меня это порядка 200к потерять.
Аноним 05/03/23 Вск 18:26:21 #346 №2630720 
>>2630659
Ух бля, нажористо.
Аноним 05/03/23 Вск 18:36:12 #347 №2630735 
>>2630679
Ну хуй знает, я как свалил перед СВО с галеры, так за год ничего не апнул. Робота есть и слава богу.
Аноним 05/03/23 Вск 18:40:51 #348 №2630739 
Ананас, надо в общем материалов по бэку на ноде, конкретно NestJS. Есть какие-то достойные варианты может? Документацию глянул, но может есть более концентрированные и прикладные варианты?
Аноним 05/03/23 Вск 18:41:55 #349 №2630744 
>>2630739
Куда уж концентрированней.
Аноним 05/03/23 Вск 18:59:55 #350 №2630773 
image.png
>>2630277
у меня работает trigger. Попробуй через MouseEvent.
sage[mailto:sage] Аноним 05/03/23 Вск 19:21:46 #351 №2630789 
1678033308432.png
1678033308441.png
Открыло. Без всяких легаси функций по типу того инета. Большое спасибо, анон. Запомню что есть такая штука.
Аноним 05/03/23 Вск 19:22:25 #352 №2630794 
>>2630773
>>2630789
Аноним 05/03/23 Вск 19:30:31 #353 №2630808 
>>2628876
дурачок что ли? :)
Аноним 05/03/23 Вск 19:45:16 #354 №2630826 
>>2623231
что ты несёшь?
Аноним 05/03/23 Вск 20:46:27 #355 №2630883 
А есть в рякте какой-нибудь способ получить ширину экрана до рендера приложения без использования user-agent? Я пробовал через typeof window !== undefined, но там будет ошибка гидрации
useEffect всё-таки вызывается после рендера
Аноним 05/03/23 Вск 20:53:24 #356 №2630887 
>>2630883
Адаптивная вёрстка. 2023. Итоги.
Аноним 05/03/23 Вск 20:58:54 #357 №2630892 
>>2630887
>Адаптивная вёрстка. 2023. Итоги.
Я не профессиональный разработчик, уж простите
Аноним 05/03/23 Вск 21:01:07 #358 №2630894 
>>2630887
>Адаптивная вёрстка
+ мне нужно знать сколько у клиента ширина окна, чтобы отправить ему отрендеренную страницу с сервера nextjs
Аноним 05/03/23 Вск 21:18:26 #359 №2630910 
>>2630894
https://stackoverflow.com/questions/63406435/how-to-detect-window-size-in-next-js-ssr-using-react-hook
Аноним 05/03/23 Вск 21:44:31 #360 №2630921 
>>2630675
Что за прога?
мимо
Аноним 05/03/23 Вск 21:48:45 #361 №2630925 
Рейтаните вкатусю.

Год самостоятельного обучения. Сейчас стек:
фронт: react на next, mobx, axios, sass;
бэк: express, prisma, postgres.

Пробовал: nest, redux, RTK query (непонтно и попа болит), sequelize, jwt, react из коробки с SSR

Из достойных петпроектов - уродливый но агрегатор новостей, с динамическим роутингом и админкой для создания, редактирования и удаления статей + редактор метатегов для каждой страницы. Админка на jwt токена.
Аноним 05/03/23 Вск 21:54:11 #362 №2630930 
>>2630910
useEffect вызывается после вмонтирования, а не до, так что такое не прокатит.
Аноним 05/03/23 Вск 22:38:28 #363 №2630955 
>>2625424
лучше не читай, это та еще хуета.
Аноним 05/03/23 Вск 23:37:58 #364 №2631012 
>>2630921
https://play.google.com/store/apps/details?id=io.tempage.dorynode
Аноним 06/03/23 Пнд 00:04:00 #365 №2631034 
>>2630925
Выглядит так будто все описанное ты потыкал но ни в чем толково не работаешь.
Аноним 06/03/23 Пнд 00:06:57 #366 №2631037 
>>2630894
Так посмотри в реквесте, что там клиент отправляет.
Еще подумай как ты будешь менять размеры при ресайзе?

Это на самом деле делается в css и на клиенте само адаптивно ресайзится по правилам.
Аноним 06/03/23 Пнд 00:10:36 #367 №2631041 
>>2631012
Благодарю.
Аноним 06/03/23 Пнд 00:13:21 #368 №2631044 
Так че такое дескрипторы?
Аноним 06/03/23 Пнд 01:29:05 #369 №2631078 
1678055345512.png
1678055345514.png
1678055345514.png
Аноны, а как предотвратить дефолтное поведение textarea внутри формы при нажатии CTRL+ENTER? Проверял на двачерской форме под куклой. Я как только не пробовал, при нажатии ctrl+enter он пытается отправить POST запрос. Однако проблема даже не в том, что он не может предотвратить поведение формы.

Скорее проблема в том что я даже не могу заставить условие event.ctrlKey && event.keyCode === 13 отработать. Оно никогда не отрабатывает у меня в форме. Он работает если сделать иф только на нажатие ctrl к примеру, или enter. А как заставить его отследить ctrl+enter? Он сразу же отправляет форму и не реагирует на условие, как будто ивент просто не проходит.
Аноним 06/03/23 Пнд 01:31:02 #370 №2631079 
1678055462803.png
>>2631078
Здесь я обосрался кажись но сути не меняет, он с исправленным вариантом тоже не работает.
Аноним 06/03/23 Пнд 04:41:28 #371 №2631113 
>>2630353
<button>Click</button>

const btn = document.querySelector("button");

btn.addEventListener("click", (event) => {
if (btn.classList.contains("clicked")) {
btn.classList.remove("clicked");
} else {
btn.classList.add("clicked");
}
});
Аноним 06/03/23 Пнд 04:42:30 #372 №2631114 
>>2631113
button {
position: relative;
}

button.clicked::after {
content: "clicked content";
position: absolute;
border: 1px solid red;
margin: 0px 10px;
width: 100px;
}
Аноним 06/03/23 Пнд 05:16:15 #373 №2631118 
16742167310721.webm
>>2631113
На addEventListener ругается, 'Cannot read properties of null'
Уже засунул в windows.onload, перемещал script src и всякие другие танцы с бубном
С чем может быть связано?
Аноним 06/03/23 Пнд 05:40:20 #374 №2631119 
>>2631118
квериселектор возвращает нулл?
Аноним 06/03/23 Пнд 07:41:24 #375 №2631153 
>>2631037
ресайз хук уже сделал, а вот как в реквесте посмотреть именно данные окна я не представляю
Аноним 06/03/23 Пнд 07:41:38 #376 №2631154 
>>2630925
Рисуй год опыта и проси сотыгу на собесе
Аноним 06/03/23 Пнд 08:27:40 #377 №2631168 
Бтв, если вы не поняли вопрос, я могу объяснить, только спросите.

Мимо >>2631078
Аноним 06/03/23 Пнд 09:37:17 #378 №2631221 
>>2631168
Выведи в сосноль сам ивент да прокликай его пропертя.
Аноним 06/03/23 Пнд 10:01:01 #379 №2631236 
image.png
>>2631119
Нет, addEventListener
Аноним 06/03/23 Пнд 10:39:17 #380 №2631263 
>>2631221
Ну я на скринах показал как я пытался ивент привязать, при комбинации ctrl enter он не хотел отрабатывать.
Аноним 06/03/23 Пнд 11:33:35 #381 №2631325 
>>2631263
А мог бы сразу увидеть все свойства события code, key, keyCode, which, ctrl и тпх.
Вместо того, чтобы подбирать комбинацию.
Аноним 06/03/23 Пнд 12:32:54 #382 №2631416 
>>2631236
у тебя кастомнй тег ("кнопкателеграм")?
Аноним 06/03/23 Пнд 12:54:09 #383 №2631433 
>>2631416
Да
Ну суть в том, что у меня страница с контактами и иконка телеги, при нажатии на которую я хочу, чтобы выкатывался ник
Аноним 06/03/23 Пнд 13:02:08 #384 №2631443 
>>2631433
Ты селектишь элемент <knopkatelegram>. Всё точно правильно?

мимо
Аноним 06/03/23 Пнд 13:05:48 #385 №2631445 
>>2631443
Так точно

всё правильно кроме убого id кнопки, не бейте пожалуйста
Аноним 06/03/23 Пнд 13:10:06 #386 №2631451 
>>2631445
ну просто если именно ID, то селектор будет иметь вид #knopkatelegram
Аноним 06/03/23 Пнд 13:13:40 #387 №2631452 
>>2631451
йобаный рот
нет, беда в двойных кавычках, в которые я заносил айди

ну я пень канеш. Спасибо, Аноны!
Аноним 06/03/23 Пнд 18:12:59 #388 №2631775 
image.png
Сап, возможно, кто-нибудь знает как можно реализовать подобное:
при рендере компонента у инпута автоматически выставляется фокус и в нём появляется курсор
Аноним 06/03/23 Пнд 18:34:22 #389 №2631806 
>>2631775
inputRef.current.focus();
Вроде так, если в реакте.
Аноним 06/03/23 Пнд 19:06:40 #390 №2631850 
>>2631775
>autoFocus: A boolean. If true, React will focus the element on mount
Забытые технологии предков.
Аноним 06/03/23 Пнд 19:10:42 #391 №2631854 
>>2631775
"Опять чортики за меня текст вводят и по клавиатуре прыгают"!
Аноним 06/03/23 Пнд 19:17:04 #392 №2631859 
Анон, а как быстро находить html элементы в проекте?
Аноним 06/03/23 Пнд 19:18:51 #393 №2631862 
>>2631859
Имею в виду такую ситуацию, например, нужно отредактировать какой-то элемент, я запускаю локалхост и ищу его классы через код элемента, а потом вставляю в поиск по проекту. Как правильно это делать то?
Аноним 06/03/23 Пнд 19:31:51 #394 №2631881 
>>2631859
>>2631862
А задача то у тебя какая? Делать то что сказано?
Уровень аутизма и технологии и архитектура в проекте могут быть абсолютно разными.
Аноним 06/03/23 Пнд 21:45:17 #395 №2632023 
Подскажите,читаю про авторизацию сейчас. Везде jwt токены используются? и реально третий сервер для приемки\отправки этого токена? Или как-то проще? и без заморочек?
Аноним 06/03/23 Пнд 21:55:28 #396 №2632035 
>>2632023
Куда уж проще, даже пароли в базе не надо хранить.
Аноним 06/03/23 Пнд 22:36:40 #397 №2632076 
1678131401280.png
1678131401280.png
1678131401280.png
1678131401280.png
>>2631168
>>2631221
Анон, я навесил. Он просто не отрабатывает ивент при ctrl+enter. Что делать?
Аноним 06/03/23 Пнд 22:40:20 #398 №2632077 
>>2632076
Смысле не отрабатывает?
А кто тебе вон снизу в сосноль тогда пишет?
Аноним 06/03/23 Пнд 22:41:57 #399 №2632078 
>>2632077
Ну давай видос запишу. Он отрабатывает только одиночные нажатия.
Аноним 06/03/23 Пнд 22:46:24 #400 №2632082 
1678131983370.mp4
Одиночное нажатие: (ктрл)
Одиночное нажатие: (интер)
Комбинация ктрл + интер:
Аноним 06/03/23 Пнд 22:47:34 #401 №2632084 
>>2632082
>>2632077
Аноним 07/03/23 Втр 07:45:18 #402 №2632269 
>>2632084
Ну значит макака глушит остальные обработчик, если ловит ктрл+ентер.
Попробуй keyup штоле.
Аноним 07/03/23 Втр 08:02:58 #403 №2632279 
16756043165570.mp4
Котаны, я не панимат тему классов
Сейчас пойду смотреть ролики по второму кругу, но всё равно тяжеловато.

Какое практическое значение они имеют? Какие новые возможности открывают классы, например?
В чём фундаментальное отличие классов от просто создания класса через const class = new Class (); ?

Спасибо за помощь
Аноним 07/03/23 Втр 08:13:02 #404 №2632285 
>>2632279
>класса
Объекта*
Аноним 07/03/23 Втр 08:41:47 #405 №2632291 
>>2632279

Чтобы ООП понять надо джаву изучать, или шарп.
Что рекомендую, кстати, хотя бы в базе.
Концепцию функционального программирования в джаве я начал более-менее понимать окольными путями именно через джаваскрипт, а весьма своеобразную джаваскриптовую логику в свою очередь - через ООП и строго-типовый подход Java и потом TS.
Аноним 07/03/23 Втр 09:27:50 #406 №2632304 
>>2632291
Ну я ебал,если честно, возвращаться в Java
А вариант просто изучить TS не канает?
Аноним 07/03/23 Втр 09:40:22 #407 №2632307 
>>2632304
>возвращаться в Java

Как-то хуево ты значит ее изучал, если в классах разобраться не можешь.
Аноним 07/03/23 Втр 10:08:25 #408 №2632317 
>>2632279
Не звучит так, что ты знаешь что такое прототипы, зачем они нужны в JS и что такое ёбаное прототипное наследование.
Классы не убирают из JS прототипы, но работать с классами в разы приятнее, чем настраивать цепочки прототипного наследования и что-то там довешивать на прототипы.
>>2632304
TS не серебряная пуля, которая решает все проблемы JS. Статическкю типизацию добавляет - да, и это охуенно. Классы? Те же классы только ещё и модификаторы доступа и помимо наследования можно реализовывать типы/интерфейсы.
Аноним 07/03/23 Втр 10:34:46 #409 №2632329 
>>2632307
Ну, поверхностно, скорее. Сама тема классов нетрудная (ну, наверное), просто яннп зачем такая сложность с кодом, если те же вещи можно сделать проще
>>2632317
Хм, интересненько. Я правда не знаю, что такое прототипное наследование, просто прохожу оффлайн курс, на котором мне вкидывают задачи. До этих пор всё было +- понятно, а теперь уже трабл
Аноним 07/03/23 Втр 13:01:51 #410 №2632480 
>>2632269
Мне кажется это из-за того что текстареа внутри формы и сам браузер не дает. Мб попробую ещ5
Аноним 07/03/23 Втр 16:28:58 #411 №2632733 
>>2632279
Класс это сахар над прототипами и конструкторами. Просто так писать удобнее и на жабу похоже, можно любителей ооп садить на жс писать, авось и не заметят.
Аноним 07/03/23 Втр 20:16:44 #412 №2633023 
>>2632269
Да хуйня блять, ничего не выходит. Я не понимаю как это сделать. Мне нужно предотвратить дефолтное поведение на ктрл+ентер, чтобы он не отправлял запрос, поэтому я хочу отловить этот ивент и навесить свой. Чтобы я мог перед тем как пост отправится совершить манипуляции.
Аноним 07/03/23 Втр 22:11:01 #413 №2633124 
>>2633023
У меня комбинации с ctrl нормально отрабатывают. Что ты имеешь в виду под "дефолтным поведением"? Попробуй просто ctrl отловить и сделать preventDefault, действия типы выделения будут игнориться, но ctrl enter по прежнему работать.
Аноним 07/03/23 Втр 22:14:24 #414 №2633131 
1678216466395.png
1678216466401.png
>>2633124
Он отрабатывает ctrl но после него enter уже не отработает а запустит сабмит формы. Я пришёл к тому что тут дело в ивентах нажатия. Нужно работать с самой формой и конкретно ивентом "submit".

Я сейчас всё пытаюсь понять как мне сделать так, чтобы мой ивент отработался до остальных ивентов.
Аноним 07/03/23 Втр 22:14:55 #415 №2633132 
>>2633131
>Я пришёл к тому что тут НЕ дело в ивентах нажатия.
Фикс.
Аноним 07/03/23 Втр 22:41:54 #416 №2633153 
>>2633131
Тут submit может быть вообще никак не задействовано. Может и просто комбинация отлавливаться, по ней посылаться запрос, много вариантов.

>Я сейчас всё пытаюсь понять как мне сделать так, чтобы мой ивент отработался до остальных ивентов.

Хз, наверно такое и не сделать никак, твой листенер добавится после загрузки страницы, и stopPropagation уже не будет никак влиять. Перехватить базовый addEventListener опять же тоже не выйдет.
Аноним 07/03/23 Втр 22:48:00 #417 №2633157 
1678218482855.png
>>2633153
Я уже выяснил что как раз в сабмите дело. Там навешен jQuery ивент который не останавливается обычным stopImmediatePropagation в addEventListener. Сейчас проблема в другом, он теперь ждёт выполнения моего хендлера (пик) но потом просто зависает намертво и не выполняет отправляет форму.
Аноним 07/03/23 Втр 23:06:59 #418 №2633165 
image.png
Хочу написать js-консольное приложение, чтобы запускать его из ide добавил start скрипт (на пике). Проблема в том, что если запускать его просто как node . - то оно запускается сразу, а через npm run start или npm start - то оно перед запуском думает примерно 2 секунды. Как правильно запускать скрипт?
[mailto:K] Антон 07/03/23 Втр 23:10:59 #419 №2633167 
Подскажите пожалуйста, хочу написать парсер записи данных из сайта в режиме реального времени, какой стек технологии требуется изучить, подскажите пожалуйста, в каком направлении двигаться
Аноним 07/03/23 Втр 23:47:45 #420 №2633223 
image.png
image.png
как это синхронизировать? надо чтобы блоб скачивался после того как сфетчатся картинки, иначе скачивается пустой тарбол. если что скачивание блоба сделано без промисов, а через таймаут. потому что куски кода спизжены из долскрипта
в отладке скачивается, если долго подождать, т.е. все работает надо только синхронизировать.
Аноним 08/03/23 Срд 00:30:24 #421 №2633268 
>>2633223
возвращай из fetch_images массив промисов, на Promise.all добавляй then, в обработчике качай файл
Аноним 08/03/23 Срд 00:45:23 #422 №2633277 
>>2633167
Простой парсер сможешь сделать на Питоне + библиотека requests и ещё может быть beautiful soup
Ещё есть Selenium
Аноним 08/03/23 Срд 00:58:23 #423 №2633288 
>>2631154
Минимум сотку, да. Но это при условии, что хотя бы минимальные софт скиллы есть.
Аноним 08/03/23 Срд 01:16:25 #424 №2633303 
1678227388312.png
>>2633157
Бля, только спустя 3 часа понял почему у меня происходят проблемы. Ивенты запускаются в том порядке, в котором были добавлены. Я все время думал что последний добавленный ивент (мой) будет запускаться первым.

Тогда я хуй знает как сделать так чтобы мой ивент запускался первым, пойду гуглить.
Аноним 08/03/23 Срд 01:48:48 #425 №2633313 
1678229330768.png
1678229330770.png
1678229330770.png
1678229330771.png
>>2633303
Получилось. Как же я заебался.

Вешаю ивент в режиме захвата (capturing) на родительский элемент, чтобы он уж точно был первым. Отменяю дефолтное поведение чтобы не редиректило. Отменяю моментальный пропагейшен чтобы все ждали пока мой ивент завершится.

После этого, по какой-то причине, я всё ещё уходил в вечную загрузку (пик4). Не понимаю что мешало остальным ивентам отрабать как надо после моего. Но я вручную вызываю сабмит формы через jQuery чтобы все связанные ивенты с ней отработали ($(temp1).submit()).

Единственное что я не очень понял:
1. Почему мой ивент не отработался вслед за остальными ивентами, вызвал вечный цикл? Когда я вешал схожий ивент на саму форму, случался цикл, понятно почему. Неужели там отрабатываются только те ивенты которые непосредственно связанны с элементом (формой)?
2. Чем может быть вызвана вечная загрузка, из-за которой мне пришлось вручную сабмитить форму? Если мой ивент выполняется в режиме захвата перед всеми дочерними ивентами самой формы, по идее ничего не должно было помешать им отработать как надо? Единственная догадка так это то, что выше моего родительского элемента по ДОМу есть ивент, который также отрабатывается в режиме захвата. Этим может быть объяснено, почему я также вижу окно загрузки (пик4) в момент отработки моего ивента.
Аноним 08/03/23 Срд 01:50:54 #426 №2633314 
>>2633313
>вслед за остальными ивентами, ВЫЗВАВ вечный цикл
Фикс.
Аноним 08/03/23 Срд 01:54:42 #427 №2633319 
>>2633165
Его надо глобально установить и поебаться с package.json'ом. Ну у меня так было. Сделал небольшой скрипт, который создаёт структуру папок для nextJS приложения. И работает через командную строку.
"type": "module",
"main": "./bin/index.js",
"scripts": {
"start": "node index.js"
},
"bin": {
"next-struct": "./bin/index.js" // next-struct- ключевое слово для командной строки, как tsc у тайпскрипта
},

У меня так заработало.
Аноним 08/03/23 Срд 01:57:18 #428 №2633321 
>>2621834 (OP)
Поясните разницу между broadcastchannel и shared worker
Аноним 08/03/23 Срд 02:39:16 #429 №2633324 
>>2633313
Аноны, мне бы ОЧЕНЬ хотелось написать первый скрин из этого поста без использования jQuery. Но я перерыл весь гугл и не понимаю как. Все способы вызвать форму, будь то form,submit(), или form.dispatchEvent(new Event(''submit'')) редиректят на страницу с запросом. Может если я диспатчну ивент клика на кнопку реплая то такого не будет, но что-то мне подсказывает что тогда то я попаду в бесконечный цикл сабмита формы.
Аноним 08/03/23 Срд 02:49:42 #430 №2633326 
>>2633167
Если сайт простой, то express + cheerio, если там SPA с защитой от парсеров, капчей, клаудфлэром и т.д., тогда тебе нужен headless browser типа puppeteer, который будет у тебя вместо cheerio, он будет притворяться реальным юзером, заходящим на сайт через хром. Сам делал стесловые краулеры на puppeteer, как вариант ещё можно подрубить доджинг банов по айпи через специальный сервис от AWS https://github.com/Ge0rg3/requests-ip-rotator
Аноним 08/03/23 Срд 02:57:52 #431 №2633330 
>>2633319
У меня все работает, но когда запускаю через npm - оно одупляется две секунды, а через node - запускается моментально. Хотя в package json буквально эта же команда записана.
Аноним 08/03/23 Срд 03:20:35 #432 №2633338 
>>2633330
Запускай через node.
Аноним 08/03/23 Срд 08:24:47 #433 №2633404 
>>2633268
помогло.
Антон 08/03/23 Срд 10:21:22 #434 №2633472 
имел ввиду парсер криптовалют и связок как сделать, к примеру, парсер берет данные с разных сайтов и предлагает выгодный обмен(связок), купил на одной бирже, продал на другой? С чего начать, готов упорно учиться, даже если пойму что я чмо галимое, то лучше раньше, чем поздно.
Аноним 08/03/23 Срд 10:40:06 #435 №2633482 
>>2633472
Подобная хуйня есть у букмекеров с вилками, они выявляют таких умников и банят.
Аноним 08/03/23 Срд 11:34:38 #436 №2633511 
>>2633472
Ну вот на это можешь взглянуть:
https://www.youtube.com/watch?v=0MEpPU3rWCk

Если ты новичок, то вряд ли осилишь, но общее представление, думаю, можно получить.

Он там много чего рассказывает. Узнаешь про апи ключи и всё такое. Думаю, полезно будет.
Аноним 08/03/23 Срд 13:14:25 #437 №2633624 
whyyyyyyyyyyyyyy.jpeg
Кто-нибудь знает, почему функции объявленные через обычную декларацию помечаются в ИДЕ, как unused property (затемнены они)?
Я никак понять не могу. Это я чего-то не знаю, как оно работает, или это баг в ИДЕ
Аноним 08/03/23 Срд 13:28:48 #438 №2633633 
не по теме
Помогите вытянуть отсюда url для фубара чтобы слушать радио не в браузере
https://rey.fm/
на всё что получалось пишет - нет прав
Аноним 08/03/23 Срд 13:38:12 #439 №2633638 
>>2633324
<form method="POST"
Или как-то так, не помню
Аноним 08/03/23 Срд 13:39:45 #440 №2633640 
>>2633633
Че там тянуть https://reyfm-stream16.radiohost.de/reyfm-original_mp3-320
Аноним 08/03/23 Срд 14:09:12 #441 №2633694 
header.jpg
>>2633640
лан пох неважно, нашёл сайт который это делает.
Аноним 08/03/23 Срд 14:13:40 #442 №2633711 
>>2621834 (OP)
Аноны, а javascript.info полностью покрывает темы по чистому JS, которые могут спрашивать на собесах?
Аноним 08/03/23 Срд 14:39:33 #443 №2633759 
>>2633711
Смотря какие собесы. Последний раз когда заходил там дохуя всего было, для вкатуна за глаза.
Аноним 08/03/23 Срд 14:41:50 #444 №2633764 
1678275710801.png
>>2633638
Не очень понял к чему это, у формы и так пост метод. И экшен указан, она редиректит по этому экшену.
Аноним 08/03/23 Срд 15:13:24 #445 №2633799 
Читаю новую доку реакта: «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 файбер-дерева сравнивается с текущим? Или некоторое общее понятие?
Аноним 08/03/23 Срд 15:51:55 #446 №2633820 
>>2633324
На onSubmit preventDefault, потом вручную фетчем постишь содержимое формы.
Аноним 08/03/23 Срд 16:07:31 #447 №2633829 
>>2633820
Ладно, для двача это видимо не вариант ебаться, хочется просто препроцессинг перед отправкой сделать и потом дать уже навешанным ивентам отработать после моего, а не в обход них совершать постинг. Видимо лучше $(form).submit() нет.
Аноним 08/03/23 Срд 17:57:35 #448 №2633959 
В 2к23 году реально ли вкатиться в какое-нибудь рога и копыта фронтендером? Если знаешь только js, vue и nuxt, но при этом нихуя не знаешь typescript, не знаешь ни ООП и ни ФП и ещё никогда не делал тесты?
Аноним 08/03/23 Срд 17:59:23 #449 №2633962 
>>2633959
попробуй, узнаешь.
вкатиться можно и чисто версталой без жса.
смотря куда катиться будешь.
Аноним 08/03/23 Срд 18:02:18 #450 №2633965 
>>2633962
Спасибо огромное за ответ.
>вкатиться можно и чисто версталой без жса.
А это как? Это под CMS'ки вёрстка шаблона?
Аноним 08/03/23 Срд 18:10:53 #451 №2633971 
>>2633965
>шаблона
типо. но таких вакансий меньше чем на ангуляр из-за той же специфичности.

пробуйся на вакансии, записывай где ты проебался и изучай это.
проебываться ты будешь далеко не один раз.
Аноним 08/03/23 Срд 18:13:34 #452 №2633974 
>>2633971
Благодарю, буду очень стараться
Аноним 08/03/23 Срд 21:58:56 #453 №2634225 
какая-то проблема с промисами: всё норм скачивалось, пока не попался тред, в котором скачивание зависает на 2-х последних файлах (любых). в чем может быть проблема? как такое дебажить?
когда другим питоном грепал, то словил таймаут соединения. может надо рефетчить после такого, потому само это не происходит?
Аноним 08/03/23 Срд 22:00:09 #454 №2634228 
>>2634225
>когда питоном скрапил, то словил таймаут соединения. может надо рефетчить после такого, потому что самостоятельно это не происходит?
Аноним 08/03/23 Срд 22:32:41 #455 №2634255 
>>2633799
Под рендерингом понимается запуск функции-компонента. Она не должна менять стейт. Только функции могут его менять.
Антон 09/03/23 Чтв 02:08:06 #456 №2634362 
https://www.p2pmachine.com/ как сделать такой сайт, какой стек нужен?
Аноним 09/03/23 Чтв 02:51:27 #457 №2634368 
>>2634362
хтмл ксс жс.
Аноним 09/03/23 Чтв 03:15:43 #458 №2634373 
Как же я ненавижу этот парашный язык, почему все реквесты на нём асинхронны? Я не хочу на каждый пук опрокидывать async/await на функцию чтобы дождаться жсона. КАКАЯ ЖЕ ХУЙНЯ.

Столько же костылей мне нужно для юзерскрипта. Почему блять просто нельзя соверашть синхронные запросы?
Аноним 09/03/23 Чтв 03:58:47 #459 №2634382 
>>2634373
Ладно, я разобрался чуть с промисами и жизнь стала легче. Но всё равно такое себе. Вдруг если один промис задержится и у меня все наебнется.
Аноним 09/03/23 Чтв 04:07:42 #460 №2634383 
>>2634382
micro task queue
Аноним 09/03/23 Чтв 05:32:33 #461 №2634400 
>>2634373
Покажи в коде в чём именно проблема, как бы ты хотел чтобы оно работало?
[mailto:K] Аноним 09/03/23 Чтв 08:51:59 #462 №2634436 
>>2634362
Подскажите как сделать в итоге эти связки, брать данные с сайтов парсить их, react node js sql подойдут?
Аноним 09/03/23 Чтв 10:53:57 #463 №2634491 
>>2634436
какие связки. какие данные. шиз, учись нормально формулировать вопрос для начала.
Аноним 09/03/23 Чтв 11:00:44 #464 №2634494 
Как валидировать данные формы через @Valid, чтобы оно бросало IllegalArguementException вместо BindException?
Аноним 09/03/23 Чтв 11:10:42 #465 №2634503 
1678349443562.png
>>2634400
Там была типичная проблема 1 в 1 как на скрине. У меня класс разбит на методы, я создал небольшой метод чтобы получать жсон. Чтобы потом возвращать значение. Теперь мне приходится все тело метода оборачивать в промис и возвращать его, а в промисе резолвить значение финальное. И на самой верхушке прописывать then.
Аноним 09/03/23 Чтв 11:28:26 #466 №2634519 
>>2634503
Перед названием метода просто пишешь async, не?
Аноним 09/03/23 Чтв 11:32:38 #467 №2634523 
>>2634519
Тогда мне придется асинки проставлять вплоть до самого верха абстракции, это полная хуйня.
Аноним 09/03/23 Чтв 11:33:40 #468 №2634525 
>>2634494
Либо ты пишешь что за фреймворк, либо я говорю что ты промахнулся трудом со своим спрингом.
Аноним 09/03/23 Чтв 11:36:24 #469 №2634526 
>>2634523
Зачем? Один раз только, кроме самого метода. Указать асинк перед той функцией, где метод вызывается
Аноним 09/03/23 Чтв 11:36:33 #470 №2634527 
>>2634525
Блять, как я вообще к вам попал...

Спиздили лет 30 назад имя на хайпе, теперь ошибаются люди в тредах...
Аноним 09/03/23 Чтв 11:39:44 #471 №2634530 
>>2634526
А, асинхронные методы/функции я так понял по дефолту промис вовзращают и мне не нужно вручную их городить? Также then на самом верху возвращать? Ну, можно попробовать.
Аноним 09/03/23 Чтв 11:42:35 #472 №2634531 
>>2634526
> Указать асинк перед той функцией, где метод вызывается
Или если ты про то чтобы использовать await то нет. Мне придётся указать для того метода который вызывает мой асинк ментод а затем для того метода который вызывает мой асинк метод который вызывает мой асинк метод, затем асинк для метода который вызывает остальные методы, затем асинк для мейн функции которая вызовет мой асинк метод который вызовет остальные асинк методы по цепочке.
Аноним 09/03/23 Чтв 11:48:01 #473 №2634534 
>>2634531
Ты же понимаешь что писать await тебе нужно только если тебе внутри функции нужно дождаться выполнения другой функции?

Если у тебя есть скажем асинхронная fetchUpdates(), то ты можешь вызвать ее без await если тебе надо просто чтобы она вызвалась.

await нужен если ты делаешь что то с результатом функции
const res = await fetchUpdates()
doSomethingWithResult(res)

Если при всем при этом у тебя настолько длинная цепочка await-ов то ты как то не так код организуешь.
Аноним 09/03/23 Чтв 11:59:33 #474 №2634537 
1678352374634.png
1678352374635.png
1678352374635.png
>>2634534
Ну у меня сейчас так выглядит. Я не очень уверен что понимаю как правильно сюда асинхронность прикрутить.
Аноним 09/03/23 Чтв 12:27:20 #475 №2634557 
image.png
>>2634537
Нормально это примерно так пишется.
Аноним 09/03/23 Чтв 12:47:49 #476 №2634578 
>>2634557
О, благодарю, что-то не подумал вынести таким образом fooBar. Ну в принципе, в теории не мне нужно обязательно ждать пока foo отработет, так что можно его не эвейтить, тогда будет работать также как и с промисами, только с меньшим говнокодом.
Аноним 09/03/23 Чтв 12:53:59 #477 №2634589 
>>2634491
чуть выше был пример, если не вкуриваешь о чем речь, лучше промолчи дура
Аноним 09/03/23 Чтв 13:49:58 #478 №2634657 
>>2634589
Вот никак не пойму таких токсичных неосиляторов.

Спрашивают хуй пойми что, а на логичный вопрос хули он хочет, начинает огрызаться и токсичить.

Ебанат, если ссылка на сайт для тебя - это верх пояснение вопроса, то пошел ты нахуй.

Ебанат, если ты не можешь разобраться какой стек тебе нужен для верстки - пошел на хуй.

Ебанат, чтобы ответить на твой вопрос я по твоему должен исследовать все возможные варианты которые ты имел в виду в своем вопросе дабы ты ответил потом: "Я не это имел в виду" - пошел на хуй.

Ну и просто пошел на хуй.
Аноним 09/03/23 Чтв 14:38:16 #479 №2634696 
>>2634589
Ну так он промолчит, остальные промолчат.
Твой пост уже был красным флагом, а тут ещё и прямое подтверждение твой токсичной шизе:
> кукареку ку-дах тах-тах
Аноним 09/03/23 Чтв 14:45:54 #480 №2634700 
15043759689731.png
>>2634696
>>2634657
Игроки на бирже/лудоманы, они такие. Сумбурное выражение мыслей, нервозность, импульсивность.
Аноним 09/03/23 Чтв 15:14:40 #481 №2634717 
изображение.png
>>2634436
>связки
А, ну же очевидно как ее решить:

Mashinnoe_obuchenie_algoritmy_dlya_biznesa_2019_Markos_Lopez_de_Prado.pdf
Аноним 09/03/23 Чтв 15:18:13 #482 №2634719 
>>2634657
Да это просто Быдло. Типочек. Пацанчик. Кент. Кабанчик. и тд.
Его мнение о вещах составлено из пацанской субкультурки.
Он считает что
- в интернете есть ответы на все вопросы.
- одни более ровные дяди скрывают "темки" от других дядей и вообще всяких лохов.

К сожалению, не все так примитивно.
Книжечка бесполезная, но все равно рекомендую к ознакомлению просто для кругозорчика.
Аноним 09/03/23 Чтв 15:35:33 #483 №2634734 
Подскажите, как в эксперементальной версии некста (без getStaticProps и т.д) установить куку при первом запросе к приложению (который получает штмл цсс жс)?
Есть, кто ковырялся в этой версии?
Аноним 09/03/23 Чтв 15:40:30 #484 №2634739 
>>2634734
Пока что только в миддлваре, потом запилят, написано в доке ж.
Аноним 09/03/23 Чтв 15:56:00 #485 №2634751 
Дорогой дневник
>Пока что только в миддлваре

А как его подключать? Вот у меня есть handler который обрабатывает request resonse, который встанавливает куку. Куда мне вставить эту функцию (или файл с экспортом её) в структуре? Раньше в pages, а сейчас как? Или этот хэндлер - это не мидлвар? Или мидлвары по-другому подключаются?

Пока формулировал вопрос, решил посмотреть старую доку и нашёл ответ на вопрос. Надо чаще с собой общаться, задавать себе вопросы и т.д.
Аноним 09/03/23 Чтв 16:52:00 #486 №2634795 
brent-intraday-001-1700.png
>>2634717
Так вот кто нам баблишко заносит! А я-то думал, кто ж эти уебаны, и всё никак не заканчиваются! А это машинное обучение - во как!

>algoritmy_dlya_biznesa

КИБЕРНЕТИКА!!!
Аноним 09/03/23 Чтв 17:50:30 #487 №2634854 
Хочу оптимизировать размер json, сократив имена полей до 1-2 символов. На клиенте это легко обработать. А как работать с таким json в JavaScripte, чтобы не пришлось обращаться с полям с именем "i" или "a"?

Пока вижу вариант объявить класс с Get/Set и там внутри уже обращаться к нужному полю, типа:
get displayName() {
return this.data["dp"];
}
Аноним 09/03/23 Чтв 18:04:51 #488 №2634876 
>>2634854
Тебя сжатие названия ключей даст выигрыш в пару мегабайт? Выглядит как экономия на списках ради оверхеда в вычислениях.
Аноним 09/03/23 Чтв 18:05:53 #489 №2634880 
>>2634876
> экономия на спичках
быстрофикс
Аноним 09/03/23 Чтв 18:32:22 #490 №2634904 
>>2634854
Если тебе нужно экономить, то жсон тебе не нужен, он неэффективен, кодируй по-другом, ключи храни статично.
А вообще просто напиши что-то типа
const readable = (optimiszed) => ( {abcd:optimized['a' ], efgh:optimized['e' ] })
Аноним 10/03/23 Птн 00:52:18 #491 №2635213 
Реактеры здесь?
Взляните вот на это:
https://codesandbox.io/s/zealous-roman-sqcnre?file=/src/App.js

Есть лист с постами, у каждого поста есть меню. При открытии меню ВСЕ посты рендерятся заново.
Но нужно пере-рендеривать только 1 пост, который меняется.
Что тут можно сделать, кроме добавления состояния в каждый пост?

Всякие memo сюда не подходят, потому что или состояние меняется или пропсы меняются.
Аноним 10/03/23 Птн 01:39:50 #492 №2635247 
>>2635213
Мемо будет работать если правильно сделать.

https://codesandbox.io/s/vigorous-keller-7gtf5d?file=/src/App.js

И если что класть дочерние компоненты внутри рендер функции нельзя, это одна из грубейших ошибок в реакте.
Аноним 10/03/23 Птн 03:04:21 #493 №2635272 
>>2635247
>дочерние компоненты внутри рендер функции нельзя
Што?
мимокрокодил
Аноним 10/03/23 Птн 10:09:01 #494 №2635431 
>>2635272
Какое слово тебе не понятно?
Аноним 10/03/23 Птн 10:18:37 #495 №2635439 
>>2635431
Ты какую-то хуйню спизданул. Что тогда делают паттерны render props или HOC? А для чего this.props.chldren. А как по твоему реакт роутер декларативно конфигурируется? Тысячи примеров

другой мимокрок
Аноним 10/03/23 Птн 10:46:01 #496 №2635473 
>>2635439
Дебич, посмотри на пример кода в посте на который я ответил.
Аноним 10/03/23 Птн 11:17:02 #497 №2635513 
Аноны, может мне сразу учить TypeScript и не тратить время на ванильный JavaScript? Он же всё равно транспилируется. Что скажете?
Аноним 10/03/23 Птн 11:19:16 #498 №2635520 
>>2635513
Тайпскрипт это жабаскрипт, но с подписанными типами для статической проверки, всё что работает в одном, работает в другом, просто тайпскрипт может ругаться если ты хуйню пишешь.
Аноним 10/03/23 Птн 11:20:36 #499 №2635523 
>>2635520
Да, я знаю. Но он же приучает к правильному мышлению с его типизацией. Насколько критично, если я сразу начну учить TS, пропустив JS? Всё же в некоторых моментах, кроме типизации он отличается, как я понял
Аноним 10/03/23 Птн 11:27:03 #500 №2635535 
>>2635523
задай себе логичный вопрос, сможешь ли ты после тса просто взять и писать на жсе?

проще жс. потом тс. т.к. не везде используется тс.
Аноним 10/03/23 Птн 11:32:06 #501 №2635540 
Етить оказывается резолв функцию промиса можно спрятать в массив и потом её выполнить, я хуею бля каждый день что-то новое узнаёшь
Аноним 10/03/23 Птн 11:33:04 #502 №2635542 
правда, что v8 выполняет js код быстрее, чем выполняются большинство языков программирования, кроме асма, cи, плюсов и джавы? читал статью и там этот v8 так расхваливали, мол инженеры из гугл сделали чудо.
Аноним 10/03/23 Птн 11:48:22 #503 №2635552 
React или Angular?
И почему
Аноним 10/03/23 Птн 11:50:07 #504 №2635556 
>>2635552
рекат потому что много вакух и можно на тяп-ляп сделать что-то побыстрому.

ангуляр потому что меньше вакух, но аппы делают на нем большие и с правильным подходом к разработке.
Аноним 10/03/23 Птн 11:57:32 #505 №2635566 
>>2635542
Чуда он не сделает. Если будешь писать js как будто это язык со строгой типизацией по правилам одна переменная - один тип плюс избегать слишком динамические фичи (вроде той же рефлексии), то код действительно будет на уровне. Но никто из жс-кодеров с этим не заморачивается, а потому получается что есть.
Аноним 10/03/23 Птн 11:57:47 #506 №2635567 
>>2635556
А в каких сферах они чаще используются?

Я раньше думал, они слишком разные, но по сути там же нужны схожие знания
- глубокое знание JS
- TS
- Redux
- тестирование
В Angular еще есть RxJS и Observables, я пока не шарю за это, но в React это по-любому как-нибудь применяется.

Получается, лучше выучить один, потом другой, либо оба сразу? Или лучше сосредоточиться на чем-то одном?
Аноним 10/03/23 Птн 11:58:39 #507 №2635568 
mpv-shot0005.jpg
>>2635247
Анонище, спасибище. На таких тред держится!

>И если что класть дочерние компоненты внутри рендер функции нельзя, это одна из грубейших ошибок в реакте.
А почитать про это можно чо-нить? Не могу чет найти ничего.
Аноним 10/03/23 Птн 12:03:39 #508 №2635578 
>>2635568
https://youtu.be/QuLfCUh-iwI?t=530
Аноним 10/03/23 Птн 12:10:40 #509 №2635584 
>>2635523
Транспилируется, а чтобы понять какие кейсы статика в ТС не покроет, надо навернуть говна сначала, чтобы понимать как оно работает и когда в рантайме твой транспилированный ЖЫЭС отвалится.
Ты не будешь постоянно проверять типы через typeof govnomocha - потому что это костылтная логика, выглядит с ифчиками уёбищно, JS [TS] всё равно норовит наебать с неявным преведением типов, да и пацаны засмеют и дизлайк на МР поставят, а потом на кухне отпиздят пока никто не видит.
Аноним 10/03/23 Птн 12:49:30 #510 №2635620 
>>2635567
>А в каких сферах они чаще используются?
сайты, приложения на телефон и десктоп приложения.

для обезьяны они одинаковые. различия в разработки не такие уж и большие.

сосредоточиться на чем-то одном. остальные фреймворки после легче зайдут. т.к. почти то же самое.
например я с ангуляра на вью за вечер залетел, офк многого не знал, но для работы покурить доку и сделать тудушку хватило, чтобы разобраться как и что писать.
Аноним 10/03/23 Птн 12:50:37 #511 №2635623 
>>2635620
>>А в каких сферах они чаще используются?
рякт чаще всего мелкие-средние сайты, но можно и тырпрайз (можно и на нативе тырпрайз, но оно вам надо?).
ангуляр чаще всего средние-большие и тырпрайз.
Аноним 10/03/23 Птн 12:55:11 #512 №2635628 
>>2635623
а ентот тибетский вуе для кого тогда
Аноним 10/03/23 Птн 12:56:16 #513 №2635630 
>>2635628
Если хочешь сделать сайт с топовым UX как на алиэксресс.
Аноним 10/03/23 Птн 12:57:04 #514 №2635631 
>>2635628
та же хуйня что и с реактом но лично для моих глаз приятнее.
вакух меньше чем на рякт, но либо больше чем на ангуляр, либо меньше.
Аноним 10/03/23 Птн 13:08:27 #515 №2635648 
>>2635552
Если начинать проект сейчас реакт, безальтернативно.
Аноним 10/03/23 Птн 14:02:44 #516 №2635703 
>>2635431
>рендер функции
Так сказал бы в компонент, который рендерится. Я сразу подумал про return.
Аноним 10/03/23 Птн 14:04:54 #517 №2635708 
>>2635706 (OP)
>>2635706 (OP)
>>2635706 (OP)
>>2635706 (OP)
ПЕРЕКОТ
Аноним 13/03/23 Пнд 12:21:11 #518 №2638771 
>>2635648
Чтобы выбрать реакт или другую фейсбучную технологию, нужно быть гиперкомформым омежкой, для которого главное шоб как у всех. Реакт выбирают крестьяне, которые случайно вкатились в айти. Инженеры выбирают ангуляр или вуе. Даже китайский вуе внутренне намного технологичнее реакта. Реакт это библиотека для рендеринга jsx, разработчикам которой пох на производительность, главное чтобы было декларативненько, а то недавноиспеченые из крестьян хипстерки не оценят.
Аноним 28/03/23 Втр 02:47:33 #519 №2654845 
>>2629266
Для этого и придумали отделение логики и представления. Я всегда начинаю с логики, пишу на логику тесты, натягиваю контроллеры и уже потом верстаю страницы. А то есть умники которые сверстали странички и типа довольны. Морда не нужна без функций. Плюс если ты начинаешь верстать с морды, у тебя возникает ложное впечатление будто ты умный, а на деле ты ничего не сделал. Это ведет к прокрастинации.
Аноним 28/03/23 Втр 02:48:32 #520 №2654846 
>>2629415
Делаешь абстрактный класс Канселлабле и от него наследуешься. Потом вызываешь супер. Тогда весь повторяющийся код будет там что то делать перед твоим куском кода и не трогать твои функции.
Аноним 28/03/23 Втр 02:51:56 #521 №2654847 
>>2629394
Если знать принципы гридов, когда юзать паддинг а когда маржин, твой пикрелейтед верстается примерно за 4 часа. Если ты знаешь все баги, клирфикс наизусть, то вообще за пару часов. Это при условии что ты не будешь гуглить как исправить какой-то мелкий баг например текст не идет на новую строку.
Аноним 28/03/23 Втр 02:53:46 #522 №2654848 
>>2629450
Накидываешь/снимаешь класс вращения где анимация задана, в чем проблема? В реакте это делается одним стейтовым хуком.
Аноним 11/04/23 Втр 22:49:15 #523 №2669568 
анончи, здравствуйте. Вопрос появился, изучаю реакт, но фп. Думаю, стоит ли переходить на ООП? или фп так же приоритетен?
Аноним 12/04/23 Срд 04:20:08 #524 №2669723 
>>2669568
Ооп на фронте это оксюморон
comments powered by Disqus

Отзывы и предложения