Этого треда уже нет.
Это копия, сохраненная 11 мая 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
16120242153130.png56 Кб, 1050x1050
JSThread #197 /js/ 1930916 В конец треда | Веб
Предыдущий тред: >>1926415 (OP)

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

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

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

Руководство для вката: https://developer.mozilla.org
2 1930921
первый нах
Безымянный.png3 Кб, 172x183
3 1930930
Есть массив объектов с массивом объектов, как сделать чтобы при добавлении нового объекта с уже существующим именем свойства их значения объединялись. Пикрил пример проблемы.
4 1930931
>>30930
На пикриле нет массивов.
Безымянный.png3 Кб, 172x183
5 1930935
>>30931
Есть объект с списком объектов, как сделать чтобы при добавлении нового объекта с уже существующим именем свойства их значения объединялись. Пикрил пример проблемы.
6 1930937
>>30935
это не проблема. это типичная задача кодера. хочешь быть кодером? научись самостоятельно решать такие задачи
7 1930938
>>30937
Не можешь помочь - не пиши, не трать время. Я могу это решить как попало, создав какой-нибудь плохой велосипед. Но вдруг уже есть хорошее решение.
8 1930939
>>30938
ебало стяни говна кусок
9 1930940
>>30939
Быдло, спокойно.
10 1930941
>>30940
нахуй ты что-то пишешь мне говно? срыгнись нахуй из треда
11 1930943
>>30941
Приказывать мамке-шлюхе своей будешь. После того как портфель свой соберёшь.
12 1930944
>>30943
выблядок ты ебучий ты почему мне что-то пишешь ответь на вопрос
13 1930945
>>30944
Потому что я могу.
14 1930946
>>30945
так ты блядь дебил ебаный получается и в голове твоей вместо мозгов дерьмо . съебись нахуй отсюда и не пиши мне ничего
16113461514570.mp43,4 Мб, mp4,
640x360, 0:24
15 1930947
>>30935
ди доку читай
-QPvj1ijV5pTU7TDWR3aEA[1].jpeg84 Кб, 1236x783
16 1930948
>>30946
Смотри монитор своей слюной не забрызгай, школьник агрессивный.
17 1930949
>>30948
блядь какой же ты жалкий и ничтожный я в ахуе. типичный вкатус жс треда образца 2021 года
18 1930951
>>30949
Тебя били в детстве, скажи?
19 1930953
>>30951
ты даже сука не осознаешь насколько нелепы твои попытки меня уколоть. чего ты пытаешься добиться когда пишешь мне?чтобы последнее слово осталось за тобой или че? закрой свою вонючую пасть ,закрой эту вкладку и забудь про программирование навсегда. ты слишком туп жалкий кусок дерьма выблядок спидозной шлюхи
20 1930954
>>30953

>закрой эту вкладку и забудь про программирование навсегда


А то что?
D15nDdIXQAARONJ[1].jpg27 Кб, 381x406
21 1930955
22 1930956
Ебать-ебать, перекатите еще раз
23 1930958
Учу рельсу, терпеть ненавижу жабаскрипт. Там вроде самая последняя его реализация самая нормальная, да? Если он мне нужен только как бэкэнд-макаке и для повседневного скриптинга, то можно смело забить на старые версии и начинать с ECMAscript 2020, я правильно понимаю?
24 1930967
>>30955
Спасибо, анон. Как надо получилось.
25 1930970
redux
26 1930986
Хочу начать немного ковырять бек. Что можно еще учить помимо ноды? Что сейчас актуально? Или на одной только ноде вполне можно фуллстечить?
27 1930989
Каким образом лучше всего проверять размер окна средствами js в реакте? Можно проверять один раз при маунте компонента, но тогда если пользователь повернет телефон или изменит разрешение, то размер не обновится. Как это делается у приличных людей? Вешать event listener с троттлингом?
28 1930992
Курсы Владимира Минина годные? Проходил кто? Стоит покупать?
29 1931000
>>30992
Для базового ознакомления норм, но покупать я бы не стал - Минин очень поверхностный, хоть и неплохо объясняет. Есть альтернативы получше.
30 1931002
>>30986
Postgres, SQL-запросы/ORM, Redis, RabbitMQ/Kafka/NATS, вебсокеты, grpc, graphql
31 1931003
>>30992
Говноед всея ютуба, нахуй его, лучше купи на трекере петриченки или буру
32 1931004
>>31002

>вебсокеты


Socket io?
33 1931021
>>30953
Ебаную мелкобукву забыли спросить. Сразу видно пишешь на каком-нибудь жиквери и файлы стилй ставишь пакетами.
34 1931022
>>30958
Какая там сам последняя версия, наркоман? Ты про ноду или браузерный жабаскрипт?
35 1931023
Че за хуйню про какие-то ключи выдает гитландс?
36 1931026
>>31023
Прочитай и вникни.
анон 37 1931042
Действия браузера по-умолчанию происходят только после того как ивент всплывет до самого верха??
38 1931065
Подскажите, как защитить сервер на ноде от простейшего дос'а? Например, у меня есть игра на вебсокетах, а кто-нибудь напишет в браузере бесконечный цикл и начнёт слать запросы. Вот от такой кустарной атаки как защититься?
39 1931067
>>31065
Чел, просто забей. У тебя проблема будет как затащить людей в свою игру, а не как защититься от ддоса.
40 1931072
>>31067
У меня игра будет такая, что не оторвёшься!
image.png30 Кб, 947x233
41 1931073
>>30916 (OP)

>Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос


Есть Инстаграм, я скачиваю оттуда сторис. Обычно я делаю F12, Ctrl + F и вбиваю в поиск "<video" (вбить "<video class" почему-то не получается, не находит), разворачиваю мышкой этот блок кода, и там уже есть ссылка на видео. Спокойно открываю, скачиваю.
Что именно мне нужно выучить чтобы это автоматизировать? Например чтобы рядом с видео появлялась кнопка, нажимая на которую я переходил по ссылке на это видео. Я знаю js на школьном уровне, а-ля "найти повторяющиеся элементы массива".
Я знаю что есть куча расширений, плагинов и просто сервисов чтобы скачивать с Инстаграма, не надо об этом писать.
42 1931079
>>31073
quesrySelector, createElement, addEventListener
И как писать расширения
43 1931083
>>31079
Спасибо огромное
44 1931128
>>31065
ну вообще всякие клаудфлеры, а так отслеживать кол-во запросов с ипшника и давать таймауты например
46 1931152
>>31042
Ивент тригерит обработчики, они добавляются в очередь макрозадач. Как только задача-обработчик начинается выполнятся, так сразу срабатывает действие по умолчанию, если не вызван метод preventDefault
47 1931160
>>31135

>coderoad.ru


Тебя-то точно не научили.
48 1931169
>>31160
первая ссылка в жужле или я должен только раϟϟово правильными ресурсами пользовался?
1.png26 Кб, 804x265
49 1931174
Помогите разобраться, где я обосрался.
При попытке скомпилировать проект вебпак вываливает ошибку с первого пика.
https://jsfiddle.net/hwcunkqt/ - конфиг вебпака.
Он ругается якобы на отсутствие сасс, но дело точно не в этом, я проверял. В самом test.module.scss нихуя страшного нет, только
.test {
color: pink
}
50 1931177
Нужен инструмент или стэк

Задача: сделать сайт для детсада. Дешевле и лучше, как всегда

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

Могу в жс, реакт, и ноду ещё на уровне хэллоуворда
Думал о gatsby с готовым шаблоном, но сейчас смотрю в сторону wix

Советуйте
51 1931188
>>31174
Модуль в этом контексте имеется в виду npm пакет, сасс лоадер - всего-лишь прослойка между сассом и вебпаком, без сасса он работать не будет.
52 1931190
>>31177
руби, нода, пыха, остальные оверинжиниринг.
если че то знаешь из этого копай в ту сторону.
53 1931201
>>31190
Мне не технологии для освоения нужны, а как склепать бложик за два дня
54 1931202
>>31201
а на чем ты его клепать собрался? инструменты бесполезны без знания технологий
55 1931209
>>31201
Тогда тебе только вордпресс, он как раз для клепания бложиков создан.
56 1931215
>>31202
на гетсби / wix. Ты мне задаёшь мои же вопросы, чел

>инструменты бесполезны


закрывайте вордпресс!
57 1931236
Где хранить самостоятельно написанные файлы типизации для тайпскрипта (.d.ts)? Пока что лежит в той же папке, где и типизируемый файл, но это наверное не очень круто. Куда его лучше положить? Пока есть идея в той же папке создать папку, чтобы было что-то вроде:
src:/
components:/
componentZaloopa:/
zaloopa.ts
componentZaloopaTypes:/
zaloopa.d.ts
58 1931241
>>31236
Если есть zaloopa.ts, то zaloopa.d.ts идет в dist
59 1931243
>>31236
П.С. Таких файлов потом будет много. То есть в папке componentZaloopa будет zaloopaForm.ts, zaloopaSearch.ts, zaloopaButton.ts и т.д. Соответственно будет много .d.ts, которые я планирую складывать в componentsZaloopaTypes:/
Вообще блять, вот такие моменты по структуре проекта нихуя не понятные. Нигде толком ничего не написано, а где-то я даже прочитал, что лучше вообще больше 5ти минут на такое не тратить. Не понятно что лучше делать, чего лучше не делать.
60 1931244
>>31241
У меня нет папки dist. Билды складываются в build, при этом я знаю, что есть люди, которые билды ложат в dist. Мне типо сделать папку dist и там хранить только .d.ts?
61 1931254
>>31244
Ты не пони, если ты пишешь на тс, то .d.ts файлы за тебя может и должен генерировать tsc. Поскольку ты пишешь на тс, то тебе самому эти .d.ts нахуй не нужны, а это значит что ты пидор что единственное им применение - отдать их вместе с js билдом внешним пользователям, а самый легкий способ это сделать - положить их рядом с js файлами
62 1931266
>>31254
Мне d.ts нужны для модулей ксс. Через tsc в проекте ничего не компилируется. За все отвечает бабель. То есть мне тупо успокоиться на том, что у меня будет 20 ксс модулей, рядом с которыми будут лежать 20 .d.ts файлов?
63 1931271
>>31266
Есть тулы которые генерит d.ts файлы по ксс модулям, там тебя научат куда куда такие файлы складывать
64 1931281
>>31266
Ну а если все же руками, то надо их класть рядом с ксс файлами, потому что они изменяются вместе и по одной причине
65 1931291
>>31236
Это зависит от того, будут ли у твоих типов сторонние потребители или нет. Стороннему потребителю в большинстве случаев похуй, что ты там в своём модуле намазал, ему нужны только типы. Соответственно для них нужно пихать все файлы типов в одну отдельную папку.
Для разработки же абсолютно похуй, где файлы лежат, ТС все .d.ts файлы, грубо говоря, пихает в глобал скоуп для проверки типов.
66 1931292
>>31271

>Есть тулы которые генерит d.ts файлы по ксс модулям


Например?
>>31281

>то надо их класть рядом с ксс файлами


А, ну тогда ок.
67 1931299
>>31292
https://github.com/typestyle/typestyle
https://github.com/Quramy/typed-css-modules
их много, можешь погуглить прост
68 1931301
>>31299
Спасибо.
69 1931302
>>31299
А, ну первая ссылка это не про то
70 1931304
>>31299
нахуя че-то гуглить если можно задать вопрос уровня "как объявить переменную" в жс треде и тебе ответят?
71 1931315
>>31304
А что ты еще собираешься в этом треде делать? Сидеть и пердеж нюхать? Ну вот моего занюхни, мелкобуква.
72 1931347
>>31315
Моноиды контравариантных функторов можно было бы пообсуждать
73 1931360
Есть ли в node многопоточность, и можно ли на ноде писать многопоточные бэкенды? Не асинхронные, а прям вот многопоточные чтоб прям потоки были?

Или это только удел жавы и C#?

Я тут подумал. Неужели C# это единственный язык где есть нормальный мультитрединг и async/await?
74 1931363
>>31360
worker threads
75 1931369
>>31360

>Есть ли в node многопоточность


да

>Или это только удел жавы и C#


ты охуел есть божественный эликсир, его система изолированных процессов даст отсосать жабе с решеткой вместе взятым
76 1931388
>>31363
>>31369

> worker threads



А это прям православные треды? С join'ами, тредпулами, всё как я люблю?

> есть божественный эликсир



Ты в качестве основы используешь миндальное или кокосовое?
77 1931389
>>31360
Она там есть костыльная, используется редко, в основном многопоточность на ноде заменяют кластеризацией. Т. е. в теории можно достичь примерной производительности шарпа, но на практике шарп даёт пососать. У шарпа асинхронные операции выполнятются несколькими потоками, в ноде асинхронность всегда в рамках одного потока.
78 1931391
>>31389
А что в этом плане у ПЩ?
79 1931395
>>31391
Не знаю, детально я только про шарп и жс сказать могу, потому что работаю с ними длительное время, про Го только предположение о том что лучше чем в жс и местами лучше/хуже чем в шарпе. Но лично для меня синтаксис и стиль шарпа показался более удобным чем Го.
80 1931409
>>31395
Панатна.

C# вообще оверал хороший язык. Java хуже, но на java есть спринх, а на C# нет =)))
81 1931410
>>31409На шарпе есть божественный аспнет, который смотрит на спринт как на говно
82 1931451
Подскажите нормально ли написана данная функция? Есть ли возможность утечек памяти или сильной нагрузки на браузер? Можете стебать за такие вопросы, но прошу ответить

const onShevroneClick = () => {
const tm = setTimeout(() => {
if (document.body.scrollTop >= window.innerHeight)
return clearTimeout(tm);

document.body.scrollTop += 3;
return onShevroneClick();
}, 1);
};
83 1931459
>>31451
Смысла в вызове clearTimeout(tm) нет, так как он у тебя вызывается из самого таймаута, т. е. когда этот таймаут уже сработал.
Само действие лучше делать через requestAnimationFrame.
84 1931464
Почему в этом петушином языке нет сортировки чисел в массиве по возрастанию/убыванию? Сука трудно было отдельный метод запилить?
85 1931467
>>31464
Тебе сложно написать array.sort((a, b) => a - b) ?
86 1931470
>>31464
Сам-то кто по масти?
87 1931471
>>31467
Блять ну это же базовая вещь, почему я должен чтото писать?
Нахуя вообще числа как строки сравнивать?
88 1931472
>>31470
Вка тун
89 1931473
>>31471
Array.sort действительно базовая вещь, тут ты прав лел
90 1931477
>>31467
Я не врубаюсь как в a и b подставляются значения, откуда?
91 1931480
>>31473
>>31477
Впрочем я уже сам нагуглил, но все равно выглядит как то ебануто.
92 1931482
>>31459
спасибо
93 1931495
>>31480
По такому принципу функция работает в большинстве языков, если не во всех
94 1931514
>>31480
Оно везде так работает, наркоман. Сейчас бы пихать в стандартную либу миллион отдельных функций для сортировки разного говна.
95 1931529
>>31467
Это самая даунская строчка программного кода за всю историю человечества.
image.png21 Кб, 827x187
96 1931532
97 1931539
>>31532
Разве этично обьявлять классы прямо в аргументах? Если это жавакод, то как минимум тело было бы объявлено до этого сегмента.
98 1931558
>>31539
Это инлайновые классы, чтобы как раз не создавать одноразовые-классы-ради-парадигмы. В 2021 конечно лямбды уже завезли, но тогда скрина не получилось бы
99 1931581
>>31558
иногда и щас делают
image.png114 Кб, 1110x391
100 1931594
Годнота или годнота? Лучше вашего мдна и лёрнговноскрипта?
101 1931602
>>31594
Ну ты оглавление то покажи
102 1931604
>>31602
Зайди да почитай ленивая ты жопа.
https://www.udemy.com/course/the-complete-javascript-course/
103 1931605
>>31594
инфоцыгане буржуй эдишн
104 1931609
>>31604
js fundametals 4:41:00 Hellp world and basic operation сука рот че там 5 часво жевать
105 1931610
>>31604
Галопом по Европам. Самая поверхностная инфа на уровне первых частей первой главы Кантора. Но у Кантора углубление во всякие тех.детали, а там "пук, пишем функцию с аллертом, пук, если функцию с аллертом написать внутри класса, то это будет ООП."
106 1931614
>>31610

>если функцию с аллертом написать внутри класса, то это будет ООП


содомит
107 1931616
>>31610
Я не понимаю че там объяснять у жс легкий и читаемый базовый синтаксис, там один момент не пиши вар, пиши лет.
108 1931620
>>31616
typeof Number("idi na hui")?
109 1931621
>>31620
А тебя это ебать не должно.
110 1931625
>>31604
for loop на ~8 часу (for of loop на 20+)
установка блокнота и нода на ~10 часу
видео про рефакторинг в разделе про дом евенты
первый рабочий counter app - на последнем часу курса
про behind the scenes норм наверно, но на этом все
image.png11 Кб, 448x246
111 1931633
Что это за undefined? Типо что нет явного возврата из функции?
112 1931634
>>31633
ты дурачек чи шо? в жсе возврат явный, его руками писать надо.
113 1931635
>>31633
У вас есть право вернуть значение из функции, если у вас нет значения, оно вам будет предоставлено
image.png5 Кб, 245x128
114 1931640
>>31634
Вы тут читать вообще умеете?
>>31635
А можно мне ещё бонусом предназначение выписать?
115 1931645
>>31640
Бля, строчка, которую ты отправляешь в консоль - выражение. Результат объявления функции занешь?
image.png3 Кб, 181x98
116 1931648
117 1931652
>>31648
Ты начинаешь что-то подозревать.
118 1931654
>>31645

>занешь


За такие слова у меня в городе люди пропадают.
119 1931656
async/await или .then?
120 1931661
Нихуя не пойму, если с сервера прилетает статус 200 и сообщение об ошибке как его записать в стейт если это сообщение редакс воспринимает как payload?
121 1931662
>>31656
Напиши один и тот же фетч обоими способами и сравни, что легче воспринимается, когда когда видишь в первый раз.
122 1931664
>>31662

>когда код

123 1931667
>>31662
В .then же можно отловить любые ошибки или нет? Есть try/catch но думаю это другое
124 1931669
>>31662
Фетч или аксиос?
125 1931670
>>31654
И никто не занет где они?
126 1931672
>>31661
Ты его воспринимаешь как payload
127 1931674
>>31669

>аксиос


А зачем он если есть фетч?
128 1931675
>>31672
Если статус ок payload должен писаться в одно поле, если не ок то он должен писаться в error, нихочу из api диспатчить экшены, как то по другому наверное можно?
129 1931677
>>31670
Соображаешь.
130 1931683
>>31667
Try/catch в асинке - сахарок над промисовыми аналогами.
131 1931692
>>31656
Если такой вопрос вообще возник, то явно then.
132 1931694
Нужно ли делать debounce для изменения размеров окна? Это ведь не такая частая ситуация?
133 1931701
>>31675
Ну хорошо, значит ты неправильно определяешь статус
134 1931703
>>31694
Но когда возникает - частая
135 1931714
Два тупых вопроса. Я не могу понять это из документации.

Первый вопрос ,window.matchmedia это сам по себе эвентлистенер? Почему он работает сам по себе даже если я не создаю addEventListener resize в useffect, и туда не засовываю функцию содержащую window.matchmedia? Если он находится в useeffect, как он узнает, что нужно перезапустить проверку при изменении размера окна?

Второй вопрос, почему в реакте addEventListener работает вот в таком виде, а не просит изначально указать window.addEventListener? Если я в useEffect вешаю листенер единственный раз при маунте компонента, он все равно работает и без window. Почему так? Откуда он знает что я обращаюсь к window?
136 1931731
>>31714
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis

В js есть только объекты. Больше ничего.
Есть еще примитивы, но их можно тоже рассматривать в качестве синглтон объектов, потому как они боксятся, а сделаны разумеется для производительности. (тем более что сейчас ничего не мешает у примитивных добавить в цепочку прототипов прокси объект, отлавливащий сообщения, типа присваивания, и реалиховать поведение прототипов как полноценных объектов, но это ни к чему. проще воспринимать их как синглтоны. когда надо, любой примитив можно обернуть в полноценный независимый объект).
Так. Короче только объекты.
Все объекты делятся на callable и non-callable. Callable это функции, в понимании большинства. Но по факту это все те же объекты, со всеми свойствами что и у других.
Все объекты могут принимать всего несколько типов сообщений - get, set и call. При чем call может принимать только callable объект. при попытке послать call сообщение не-callable объекту будет исключение.
Сообщение get содержит один параметр, сообщение set два. Сообщение call параметром содержит кортеж аргументов, а так контекст this.
Если в объекте (а так же в цепочке прототипов) не назначены слушатели для get и set с определенными параметрами, ищутся слоты с такими именами в объекте и по цепочке. Если находится возвращается то, что в них лежит. Если в них лежит callable объект и ему посылают сообщние call сразу как получили его из слота, то у него будет перегружен контекст (this) на объект из чьего слота его получили. Если только этот объект не был сконструирован стрелочным синтаксисом, иначе контекст перегрузить нельзя. Если после получение callable объекта из слота его сразу не вызвать, а например положить ссылку на него в переменную, то контекст будет сброшен на тот, который был установлен у него в момент его создания (и это не обязательно будет тот же объект из чьего слота его получили).
У callable объектов есть scope (область видимости) и контекст (this) в момент посылки им сообщения call (вызова). scope средствами языка перегрузить нельзя, но некоторые окружения позволяют (например в ноде есть модеуль vm), this перегружается у callable объектов сконструированных не-стрелочным синтаксисом
Классов нет. Есть конструкторы. Любой конструктор принимает новый созданный объект, которому выставлен определенный прототип (другой объект). Оператор instanceof (someObject instanceof SomeClassName) проверяет лишь есть ли в цепочке прототипов у someObject объект который лежит у SomeClassConstructor в слоте с именем prototype. На сам конструктор ему поебать. Чтобы сменить класс, достаточно сменить цепочку прототипов. Даже если объект был сконструированным определенным конструктором.
Так же у объектов есть параметр ограничения доступа, контролирующие его расширяемость или изменяемость (sealed, extensible, frozen). У слотов объекта есть параметры configurable, enumerable, writable. Параметры слотов объекта не влияют на объекты, что в них лежат. Они лишь контролируют доступ к самим слотам.
Все. Никаких классов. Никаких интерфейсов. Как отдельных сущностей. По факту все есть объект и все строит из них.
наследование реализуется выстраиванием цепочки прототипов. Инкапсуляция только на уровне scope'в (читай замыканий).
В остальном все меняется и все динамично, если только специально все не зафризить в момент конструирования. Но обычно этим никто не заморачивается по причине оверхеда и бессмысленности. Разве только фанатики по иммутабельности, н это все из разряда те, кому надо чтобы им по рукам бил компилятор\рантайм\дядя петя. Все "привычные" понятия тянуться в язык для еще более простого вкатывания тех, кто приходит из других языков. Так уж сложилось, что есть куча литературы по привычному, статически классовому ООП, но очень мало по мессадж-пассинг\прототайп-базед\мета-программинг. Все эти притянутые понятия выливают в синтаксический сахар, который не делает ничего полезного, а даже наоборот, еще больше вносит путаницы и от того непонимамания многих вещей в языке. При этом часто этот синтаксический сахар дэже урезан и вспомнинают об этом лишь после (как например проебались с полями в конструкции class и тянут ее теперь только в proposol'ах будущих версий).
JS истинно объектный язык. В современный язык притащили много вкусных вещей для метапрограммирования. Нову примитивную сущность Symbol, и Proxy-объекты. С помощью которых можно еще больше и сильнее перегружать и менять поведение в динамике.
Другое дело, что почти никто не умеет этим пользоваться и не понимает, что такое объектное программирование на самом деле.
Им нужно не объектное, а статически типизированное. А какие именно структуры будут скрываться за этими типами, не собо важно. Важно что это просто структуры и функции, строго привязанные к ним, или иногда менее строго. То, что в Java\C++ это больше структурное программирование, нежели объектное. Объектное программирование не может существовать без динамической среды. Это противоречит самому понятию объекта. А динамическое программирование это слишком сложна и непанятна. И как бы не старались с пеной у рта фанатики кричать про низкий порог входа - низкий он именно что для входа, а не для всего остального. Модификация программ в рантайме всегда было уделом креативно мыслящих людей. Для большинства это слишком сложный уровень высокой абстракции.
136 1931731
>>31714
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis

В js есть только объекты. Больше ничего.
Есть еще примитивы, но их можно тоже рассматривать в качестве синглтон объектов, потому как они боксятся, а сделаны разумеется для производительности. (тем более что сейчас ничего не мешает у примитивных добавить в цепочку прототипов прокси объект, отлавливащий сообщения, типа присваивания, и реалиховать поведение прототипов как полноценных объектов, но это ни к чему. проще воспринимать их как синглтоны. когда надо, любой примитив можно обернуть в полноценный независимый объект).
Так. Короче только объекты.
Все объекты делятся на callable и non-callable. Callable это функции, в понимании большинства. Но по факту это все те же объекты, со всеми свойствами что и у других.
Все объекты могут принимать всего несколько типов сообщений - get, set и call. При чем call может принимать только callable объект. при попытке послать call сообщение не-callable объекту будет исключение.
Сообщение get содержит один параметр, сообщение set два. Сообщение call параметром содержит кортеж аргументов, а так контекст this.
Если в объекте (а так же в цепочке прототипов) не назначены слушатели для get и set с определенными параметрами, ищутся слоты с такими именами в объекте и по цепочке. Если находится возвращается то, что в них лежит. Если в них лежит callable объект и ему посылают сообщние call сразу как получили его из слота, то у него будет перегружен контекст (this) на объект из чьего слота его получили. Если только этот объект не был сконструирован стрелочным синтаксисом, иначе контекст перегрузить нельзя. Если после получение callable объекта из слота его сразу не вызвать, а например положить ссылку на него в переменную, то контекст будет сброшен на тот, который был установлен у него в момент его создания (и это не обязательно будет тот же объект из чьего слота его получили).
У callable объектов есть scope (область видимости) и контекст (this) в момент посылки им сообщения call (вызова). scope средствами языка перегрузить нельзя, но некоторые окружения позволяют (например в ноде есть модеуль vm), this перегружается у callable объектов сконструированных не-стрелочным синтаксисом
Классов нет. Есть конструкторы. Любой конструктор принимает новый созданный объект, которому выставлен определенный прототип (другой объект). Оператор instanceof (someObject instanceof SomeClassName) проверяет лишь есть ли в цепочке прототипов у someObject объект который лежит у SomeClassConstructor в слоте с именем prototype. На сам конструктор ему поебать. Чтобы сменить класс, достаточно сменить цепочку прототипов. Даже если объект был сконструированным определенным конструктором.
Так же у объектов есть параметр ограничения доступа, контролирующие его расширяемость или изменяемость (sealed, extensible, frozen). У слотов объекта есть параметры configurable, enumerable, writable. Параметры слотов объекта не влияют на объекты, что в них лежат. Они лишь контролируют доступ к самим слотам.
Все. Никаких классов. Никаких интерфейсов. Как отдельных сущностей. По факту все есть объект и все строит из них.
наследование реализуется выстраиванием цепочки прототипов. Инкапсуляция только на уровне scope'в (читай замыканий).
В остальном все меняется и все динамично, если только специально все не зафризить в момент конструирования. Но обычно этим никто не заморачивается по причине оверхеда и бессмысленности. Разве только фанатики по иммутабельности, н это все из разряда те, кому надо чтобы им по рукам бил компилятор\рантайм\дядя петя. Все "привычные" понятия тянуться в язык для еще более простого вкатывания тех, кто приходит из других языков. Так уж сложилось, что есть куча литературы по привычному, статически классовому ООП, но очень мало по мессадж-пассинг\прототайп-базед\мета-программинг. Все эти притянутые понятия выливают в синтаксический сахар, который не делает ничего полезного, а даже наоборот, еще больше вносит путаницы и от того непонимамания многих вещей в языке. При этом часто этот синтаксический сахар дэже урезан и вспомнинают об этом лишь после (как например проебались с полями в конструкции class и тянут ее теперь только в proposol'ах будущих версий).
JS истинно объектный язык. В современный язык притащили много вкусных вещей для метапрограммирования. Нову примитивную сущность Symbol, и Proxy-объекты. С помощью которых можно еще больше и сильнее перегружать и менять поведение в динамике.
Другое дело, что почти никто не умеет этим пользоваться и не понимает, что такое объектное программирование на самом деле.
Им нужно не объектное, а статически типизированное. А какие именно структуры будут скрываться за этими типами, не собо важно. Важно что это просто структуры и функции, строго привязанные к ним, или иногда менее строго. То, что в Java\C++ это больше структурное программирование, нежели объектное. Объектное программирование не может существовать без динамической среды. Это противоречит самому понятию объекта. А динамическое программирование это слишком сложна и непанятна. И как бы не старались с пеной у рта фанатики кричать про низкий порог входа - низкий он именно что для входа, а не для всего остального. Модификация программ в рантайме всегда было уделом креативно мыслящих людей. Для большинства это слишком сложный уровень высокой абстракции.
image.png283 Кб, 374x452
137 1931742
>>31731
Придется перечитать больше одного раза
138 1931759
>>31731

>Инкапсуляция только на уровне scope'в


Инкапсуляция же про то чтобы методы и данные лежали рядом, а не про видимость данных, можно просто на уровне соглашений, лол

>если только специально все не зафризить


Для дев тайма почему бы и нет

Хороший пост, поставил лойс
139 1931765
>>31759

>Инкапсуляция же про то чтобы методы и данные лежали рядом


в жабе методы и классы разделены и ничего не случилось
140 1931784
>>31765
Методы лежат в классах
141 1931786
Как в функциональном компоненте передать в onclick функцию и аргумент для неё? Тут пишут, что arrow функция каждый раз создает новую функцию. Это конечно всё прекрасно, но тогда я не понимаю как передать в неё еще и аргумент?
142 1931791
>>31786
Нахуя тебе дополнительные аргументы передавать в колбэки ивентов? Компонент не обосрётся от того, что функции в нём с сайд-эффектами.
143 1931799
>>31791
Т.е. если у меня есть 10 кнопок, каждая из которых выводит один и тот же useState и выводит содержимое в каком-нибудь элементе на экране. То мне нужно создать 10 разных функций, каждая из которых будет по сути одинаковой, но менять стейт на разное значение?

changeText1 = () =>{
setText("text1")
}
...

button1 onClick={text1}
button1 onClick={text2}
button1 onClick={text3}
button1 onClick={text4}

Вроде такого? Ну при условии, что кнопок у меня может быть и меньше, это только для примера.
144 1931800
>>31731
А что ты имеешь в виду под «перегрузкой»?
145 1931810
>>31800
в тайпе есть перегрузка функций, в жске ток карирование но эт не то.
146 1931811
>>31799
Блядь, имя функции перепутал, ну вы поняли в общем. Лучше создать отдельные функции для каждой кнопки или какой еще есть вариант?
147 1931816
>>31811
ну лямбду напиши.
148 1931817
>>31811
Создать компонент Button { onClick, clickArgument }
Или просто не задумываться на этим
149 1931820
>>31817
>>31816
Ну я так и понял это. Получается если там не особо сложная функция, можно в данном конкретно случае забить хуй?
150 1931827
>>31820
Дело не в функции, а в том много из-за нее перерендерится или нет. В случае с кнопкой - видимо мало, можно не думать.

Но это все попадает в категории преждевременных оптимизаций. Сначала дождись/добейся плохой производительности, потом профилируй, потом оптимизируй.
image.png214 Кб, 840x618
151 1931831
>>31827

>Но это все попадает в категории преждевременных оптимизаций. Сначала дождись/добейся плохой производительности, потом профилируй, потом оптимизируй.


О, вот про такое я не знал, спасибо
152 1931838
>>31831
Потренироваться профилировать/оптимизировать можешь уже сейчас кстати, на своих кнопках. Потому что то вариант с десятью функциями эквивалентен просто передачи стрелочной функции в onClick, надо не только лишь создать функции, но и завернуть из в useCallback
153 1931843
>>31594

> мдна и лёрнговноскрипта?


Ему говорять, читай проверенные и общепризнанные источники. Нет хочу жрать говно и качать инфоцыган.
154 1931857
Я удалил vue и react, теперь вы не можете их использовать.
155 1931859
156 1931866
>>31731
Годный пост. В этом и сила джса, что он не обязывает использовать всю подноготную. Сейчас хорошей практикой считается вообще игнорирование this и объектов (в классическом смысле), главная мощь джса это функции как значения, нужно быть глупцом, чтобы не использовать всю мощь замыканий, а хуярить сахарные классы и зисы.
157 1931873
>>31866
С сахаром то классно, тут декораторы, там декораторы, везде декораторы
158 1931884
>>31866
ты всего лишь предлагаешь писать в фп стиле, ориентрируясь на чистоту функций, что собсна и так делали так как ооп там тот еще огрызок
159 1931892
>>31731
Как обычно у таких филосовских мань дальше раскладывания кубиков на столе дело не идет. За манкипатчиг реальные программисты ногами по печени бьют.
160 1931901
>>31177

>сделать сайт для детсада


>Дешевле


>лучше, как всегда


>просто склепать и отдать


>чтоб уже контент менеджер какой-то заливал


Только Вротпресс с натянутым шаблоном!

>Думал о gatsby


Контент без ЦМС кто заливать буит?

>смотрю в сторону wix


Говно буит, но тоже вариант, разве что расходы большие (относительно)
161 1931909
redux
162 1931948
>>31731

>>Модификация программ в рантайме всегда было уделом креативно мыслящих людей.



Криворуких долбоебов, ты хотел сказать, которых все нормальные программисты гнали ссаными тряпками.
Все что ты описал - это конечно круто понимать. Только это не улучшает язык/процесс/продукт, а скорее наоборот. Твоя хвалёная динамичность всего и вся есть не мана небесная, а исторические издержки языка, которые все толковые евангелисты и авторы учебных пособий предпочитают ограничивать в сторону нормального ООП. Потому что никто не хочет стрелять себе в колено (причём в оба сразу), а хотят стремится к предсказуемости и стабильности среды.
163 1931950
>>31177
Тильда чем тебя не устраивает?
Стикер255 Кб, 512x512
164 1931958
Чуваки. Намедни (месяца 3 назад) узнал узнал про Vue Native. Кто нибудь из здешних вообще тыкал его? Как в сравнении с React Native ощущается? Просто из всех видео, которые я смотрел по мобилкам его вообще ни разу не упоминали (обычно упоминали Flatter, React Native, Native Script, Ionic). Может он довольно сырой?
165 1931968
>>31958
Они все дерьмо которое работает только с костылями
166 1931970
>>31799
Создай для этой кнопки отдельный компонент и прокидывай ему в пропсы значение состояния и колбэк.
Что-то типа:
function Button({ text, setText }) {

function handleClick(){
setText(text)
}

return (
<button type="button" onClick={handleClick}>Click me</button>
)
167 1931974
>>31866
Зисы в сахарных классах как раз норм, вот за пределами их - это пiзда, потому что IDE не может в зисы, и приходиться гадать, в каком контексте они вызываются.
15978402872370.png427 Кб, 619x700
168 1931983
169 1932078
Когда добавят в джаваскрипт чтобы можно было обращаться к свойствам класса без this.? Почему я должен для каждого свойства писать this. this. this. this. this. this. this. this. this. this. this. this. this. this. this. this. this.?
170 1932087
>>32078
Пишу на функциях не вижу this
171 1932090
>>32078
и как ты себе это представляешь?
172 1932102
>>32078
Давай ещё серани про bind
173 1932116
Пытался применить к массиву внутри объекта .forEach - пишет undefined.

Попробовал вывести сам массив: console.log("recvdata.bothp from ctrl: ", this.recvdata.bothp); - undefined

Попытался обратиться к полю внутри объекта массива: console.log("recvdata.bothp[0].id from ctrl: ", this.recvdata.bothp[0].id); - undefined

recvdata - это props; на скрине видно, что bothp - массив с длиной 5

Что за хуйня?
174 1932135
>>32116
Может массив добавляется в объект после того как ты хочешь что-то с ним сделать?
175 1932143
>>32116
если пишет андефайнд значит он пустой или вообще неинициализирован
176 1932153
>>32078
Берёшь и деструктурируешь this в теле метода.
177 1932157
>>32135
Я запихнул массив bothp в объект recvdata до того, как попытался что-то с ним сделать (forEach, console.log,..).

>>32143
Ну на скрине же видно, что он не пустой.
178 1932159
>>32116
Может потому что нужно обращаться как `this.props.recvdata.bothp`?
image.png5 Кб, 193x167
179 1932180
>>32157
После того как ты открываешь в консоли объект, он показывает текущее значение а не то состояние когда ты его выводил. На тот момент когда ты пытаешься что-то сделать с массивом его не существует в объекте, и это подтверждается тем что recvdatat.bothp возвращает undefined.
180 1932228
>>32078
Никогда. В жс преимущественно динамическое связывание. И будь ты поумнее и понимая это, не задавал бы таких вопросов.

Можешь попытаться понять почему отказались от коеструкции with (). Именно поэтому.
181 1932277
>>31901

>Только Вротпресс


сос мыслом

>Контент без ЦМС кто заливать буит?


админ панель написать..

>...wix


> расходы большие (относительно)


Не сильно дороже вордпресса, вроде

>>31950
спасибо что напомнил. Гляну
image.png144 Кб, 720x303
182 1932344
>>31177

>мне нужны две статичные страницы и wysiwyg редактор контента в админке


>реакт


>gatsby

183 1932346
>>32344
а если реакт будет только на сервере работать?
184 1932347
>>32344
Двачую, докатились что на среакте можно быстрее захуячить статику нежели дрочится с ванилой кекнул
185 1932356
>>32347
Нельзя.
186 1932358
>>32344
Поясните, что не так? Хуяк, хуяк и готово же.
Вкатун
187 1932361
>>32358
В жопоскрипте в принципе и в реакт-окружении в частности, нет ничего, что можно записать в "хуяк-хуяк и готово", только мучительная настройка всего говна с нуля, либо копипаст этих настроек из своих старых проектов. Хуяк-хуяк и готово - это вордпресс.
188 1932367
>>32361
Ну вот я первый раз в начале той неделе настраивал проект с нуля с вебпаком, с реактом, с тайпскриптом, с линтером со всей хуйней. В общей сложности часа 4 на настройку. И то это потому что вся инфа примерно годичной давности и актуальную инфу под 5й вебпак приходилось по курпицам выискивать. Зато теперь я неплохо разобрался во всех этих конфигах и за полчаса-час смог заново то же самое склепать. Или вообще ctrl+c ctrl+v. Если страницы статичные, то все дело сводится, по сути, к верстке на JSX.
189 1932375
>>32367
Ну ты же понимаешь, что описанное тобой - это окружение разработки и если тебе его надо настраивать целый час прежде чем приступить к самой разработке причем к разработке только фронта, то ни о каком "хуяк-хуяк и готово" речи идти не может в принципе. За то время, пока ты свои линтеры-хуинтеры настраиваешь, на вордпрессе будет целый сайт готов и задеплоен.
190 1932379
>>32375
Так тот анон вордпресса же не знает. Вот я тоже не знаю, и даже не представляю с какой стороны подойти. Нужно тратить время на изучения сомнительной технологии. А если уже знаешь реакт, то можно по-быстрому нахуячить. Пусть не за час, как там на вордпрессе шаблонов натыкать, пусть часа за 4. Но все равно, не так уж и долго. Дольше в этом вордпрессе разбираться.
191 1932383
>>32379

>сомнительной технологии


ты че дурак?
192 1932386
>>32383

>ты че дурак?


Ну а нахуя оно нужно? Я как не посмотрю на вакуху с битриксом\вордпрессом, так там всегда какой-нибудь анал-карнавал за 20к\месяц.
193 1932387
>>32379
Учитывая, что ему нужно быстро склепать полностью готовое решение и отдать не-программистам, чтобы они ему дальше не ебали мозги, то легче и быстрее реально вордпресс с нуля освоить. Потому что разобраться в кастомном говнокоде на реакте и кастомном сервере на ноде даже у знающего человека займет время. А не-кастомных не бывает, это же жс без каких-либо устоявшихся практик, инфраструктуры и фреймворков, любой незнакомый проект на нем - это ящик пандоры, никогда не знаешь, что за хуйню найдешь внутри.
194 1932402
Сап, есть ли в js готовое быстрое решение для хранения пар значений? Типа Set с возможностью быстрого добавления, удаления, проверки наличия?

Написал свой велосипед, который внутри сделан из Map(v1 => Set (... v2))
В моей задаче это примерно в 2 раза быстрее конвертации пары значений в строку и складывания в обычный Set. Норм решение или говно?
195 1932440
Как можно проверять последнее тригернутое значение в реакте? К примеру у меня есть 10 булеанов, не важно в каком состоянии находится каждый из них, важно кто из них тригернулся в true последним. Как это отследить?
196 1932472
>>32361
Что там настраивать? В gatsby всё из коробки.
197 1932483
>>32472
gatsby это вообще graphql-ориентированный кал и серьезного обсуждения не заслуживает.
198 1932515
>>32483
Graphql в нём на втором плане, это всего лишь средство, инструмент. Ориентирован gatsby на создание статичных сайтов.
199 1932558
>>32440
Использовать useEffect для отслеживание состояние переменной это хуевая практика? Типа вешать его как eventListener только для переменной. И если переменная меняется, выполнять уже какую-то функцию
200 1932569
>>32558
Ну так получится, что у него будет штук 20 useEffect для каждой переменной.
Я бы так сделал: переменные хранятся внутри объекта, когда происходит изменение переменной, то объект пересоздается заново со старыми ключами, записывается измененная переменная и ключ last, который содержит название переменной, которая изменила свое значение.
201 1932574
>>32569

>объект пересоздается заново со старыми ключами


а рожа не треснет фабрику ставить
202 1932575
>>32574
Я не понимаю о чем ты, я вкатун.
203 1932579
>>32575
Какую фабрику, ты о чем?
Просто функция которая изменяет true на false или наоборот делает так: let variables = {...variables, changedVariable: "new", last: changedVariable}
204 1932583
>>32579
П.С. Нет, если я обосрался и говно предложил, то ты мне скажи, мне же интересно. Но в любом случае, на мой взгляд, это выглядит лучше чем по хуку для каждой переменной.
205 1932588
>>32569
О, классная идея, попробую так сделать.

Но тогда можно спросить по другому, как вообще можно запилить индикатор скролла страницы до определенного элемента? В данном случае я использовал хук, но это не принципиально.
206 1932594
>>32440
При помощи rxjs
Screenshot from 2021-02-06 20-38-36.png115 Кб, 1203x955
207 1932600
>>32594
Чет взвизгнул нахуй
208 1932602
>>32600
Чота напомнило какирский дефейс из 2000ых
209 1932603
>>32579

>we wuz kangz


ну и пиздец
210 1932605
211 1932607
>>32602
Но ваше рх круто. Только говнокодно немнога...
212 1932611
>>32607
Но для реактовиков пойдет, они же обычно макаки без тех бекграунда и даже рады процедурщине в верстке.
214 1932616
>>32600
Заходи на гитхаб, если ты свинья расистская.
215 1932623
>>32616
ну да одним расистам светит пятнаха за кокпитолий, а вторые обнесли все магазины на районе, пиздили ментов и они херои.
image.png23 Кб, 220x197
216 1932629
>>32616
Там плашка на весь экран нескрываемая
Сейчас бы считать BLM борьбой против рассизма, я хуею

>>32614
Я это api как раз и использую, но через хук. Видимо нахуй нужно послать этот хук, потому что у этой апишки есть свой собственный onchange оказывается
217 1932633
>>32629

>Там плашка на весь экран нескрываемая



Какой-то странный способ сказать "я слишком тупой для rxjs"
218 1932705
>>31464
зато есть прото и прототайп
219 1932823
Анончезы как сделать чтобы пользователь мог сам выбирать путь где находятся файлы и этот путь сохранялся? мб кто шарит в этой теме. У меня просто прописано Var directory = "мой путь нейм" и от него исходит все происходящее в коде, а я хочу чтобы юзер сам решал
220 1932857
>>32569

>Ну так получится, что у него будет штук 20 useEffect для каждой переменной.


Лень проверять правильно или нет
let oldA = false;
let oldB = false;
const Triger = () => {
const [a, setA] = useState(false);
const [b, setB] = useState(false);
useEffect(() => {
if (a && a !== oldA) {
console.log("a", a);
}
if (b && b !== oldB) {
console.log("b", b);
}
oldA = a;
oldB = b;
}, [a, b]);
221 1932861
>>31065
npm -> rate limit
223 1932872
>>32440
Так берешь и вручную навешиваешь сеттеры на твой объект
224 1932873
>>32857
Я уже сделал с https://www.npmjs.com/package/react-intersection-observer
но за вариант спасибо
225 1932874
>>32873
Пиздец ты чмоха, еще больше зависимостей навешай, вместо использования нативных возможностей языка которые уже поддерживаются в 95% браузерах
226 1932888
>>32611
Диванный вкатыш, ты? С каких пор rx стал процедурщиной? И rx намного популярнее в ангуляре, чем в реакте.
227 1932891
>>32607

>rx


>говнокодно



Диванных экспертов полон тред. То что при помощи rxjs делается за пару строк, обычным функционалом делается за несколько десятков нечитаемых строк состоящих из циклов.
228 1932902
>>32874
Там внутри нативные возможности и используются, просто без необходимости городить компактный хук, который проще использовать и читается лучше другими людьми
229 1932904
>>32874
Ну да, мы же тут пиздец олимпиадным программированием, нахуй никому не нужным, заняты, а не решаем кабанчикозадачи ради деняк
230 1932924
А что это за новый прикол появился, что на всех сайтах просят разрешение, чтобы работать с cookie? С этим какая-то проблема есть с безопасностью или они как-то по особому cookie используют? Надо ли мне в теории добавлять такую хуйню, если я просто токен сессии пользователя в куках храню?
231 1932934
>>32924
GDPR
Твою фирму может отшпилить ЕС, если окажется, что она собирала данные о его гражданах без их ведома (и она не в конце списка виновных в этом). Ну или ушлый юрист может маляву написать.
Для своего пета можешь забить хуй, но большинство айти крутится в англосфере и, соответственно, ЕС вполне имеет влияние на неамериканские компании.
232 1932938
>>32857
Эталонный говнокод, конечно. Несколько копий компонента на странице и все идет по пизде.
download.jfif7 Кб, 225x225
233 1932955
>>32180
Блядь, бред какой-то.

Что делать? Ебусь уже битый час, не пойму как выкрутиться.
234 1932979
>>32955
Что делать чтобы что? Показать состояние объекта на тот момент вывод? Используй JSON.stringify, например.
235 1933047
>>32344

>аватарка


джун, спок
236 1933049
Может кто знает где можно бесплатно скачивать готовые сайты?
Нужен простой сайт визитка.
Заодно будут пробовать верстать потом стравнивать результат.
237 1933054
>>31202
за нее же платить надо каждый месяц.
238 1933079
>>33049
5к рублей и я сделаю тебе бесплатный сайт-визитку, верстать под него сможешь пока не обосрешься.
Реактовкатун
239 1933081
>>33079
хуя вкатуны охуели уже прайс ставят
240 1933084
>>33081
Ну скидывай так чего тебе надо, если не сильно заебно, то сделаю бесплатно.
241 1933097
>>33079

За портфолио делай.
poster,504x498,f8f8f8-pad,600x600,f8f8f8.jpg32 Кб, 600x600
242 1933117
>>32979
Хуй знает что получилось.

https://pastebin.com/73drBMRf
Пароль: 2ch

Сейчас доступ к объектам массива bothp:
console.log(this.profiles.profiles.bothp[0].id);
Ну, хотя бы не ругается на отсутстующий массив, блядь...

Как мне поправить пропсы, чтобы доступ был console.log(this.profiles.bothp[0].id); ?
profiles.png29 Кб, 663x856
243 1933126
>>33117
Отклеилась пикча.
244 1933138
>>33097
Нахуй мне односраничник с формой для отправки мыла в портфолио? Даже туду выглядит перспективней. Вот если бы он мне заплатил, то это был бы не просто односраничник с формой для мыла, а КОММЕРЧЕСКИ УСПЕШНЫЙ проект. Такое уже не стыдно и показывать.
245 1933146
>>33117
Запрос по сети? Может у тебя компонент юзает значения, которые им еще не получены? Или эти profiles берутся локально?
246 1933171
>>33146

>Запрос по сети?


Да, с ws-echo сервера.

Socket.$on("message", (json) => {
if ('bothp' in json) {
this.profiles.bothp = [];
json.bothp.forEach(curElem => {
this.profiles.bothp.push({
id: curElem.id,
name: curElem.name,
is_valid: curElem.is_valid,
temp: [...curElem.temp.split(',', 10)],
duration: [...curElem.duration.split(',', 10)]
});
});

//console.table(this.profiles);
}
}

>Может у тебя компонент юзает значения, которые им еще не получены? Или эти profiles берутся локально?


Если я правильно понял, то для пропса достаточно задать пустой массив \ объект как шаблон, а затем заполнить его. Впринципе, всё - пропс виден дочерним компонентам.
247 1933198
Работал с nodejs года два, так вышло что за все время почти не юзал Express. Сейчас ищу новую работу, везде хотят express, естественно я написал в резюме что знаю его. В принципе много чего знаю кроме него, пока что вот почитал обзоры, базовые вопросы по нему , как думаете меня спалят? Или другой вопрос, как подготовится к собесу по експресс за 2 дня?
248 1933210
>>33198
Ну собери блять хелловорлдный сервер на экспрессе. Тем более что в ноде опыт есть и экспресс служит для уменьшения бойлерплейта, которое ты оценишь.
249 1933215
>>33210
Круд на Динамо дб и експерсс собрать могу. Просто интересно есть ли тонкости которые явно показывают работал ты с этим или нет
250 1933232
>>33215
Там тонкости в основном в хуеве туче npm пакетов, ты это за 2 дня не познаешь.
Разработка на ноде один хуй мистицизм, если собеседующему надо будет тебя завернуть, то он это сделает даже если ты с экспрессом с первой версии работал.
251 1933266
Стоит ли читать 3 часть Кантора?
252 1933267
>>33232
Так от пакетоблядей надо самому сразу же подрываться и убегать... Если тебя на собесе спрашивают не за архитектуру и пайплайн, то сразу видно, что это говноконтора с тасками "чтобы было сделано уже вчера".
253 1933268
>>33266
Следует много уметь
254 1933282
>>33267
О, какие на пример бывают вопросы по архитектуре? Я вроде как достаточно опытен в этом, но не могу придумать как сформулировать какой то вопрос по этому, разве что только по выполнению какого то практического задания понять.
255 1933286
>>33282
Сделай на бумажке свой гугл докс, от общего названия сервисов до описания основных классов, и какая инфраструктура под все нужна :))
256 1933288
>>33286
Найс
257 1933289
>>33267
Так мы говорим конкретно про знание экспресса, и как его будут проверять. А там без ёбли с пакетами никак.
Могут например показать код инициализации сервера со строчкой`var bodyParser = require("body-parser")` и спросят, что в нём не так.
Хотя подозреваю под знанием express подразумевается не обмякать при виде кода экспрессовского приложения, а не какие-то кишочки пакетов.
258 1933298
>>33282
Думаешь там что-то сложное должно быть? Может быть простое, чтобы показать что ты можешь писать нормально. Касательно ноды и экспреса, можно спросить, как избавится от импорта всего в каждый модуль. При этом не прибегая к разным пакетам с реализацией DI. Как это облегчит тестирование и почему. Можно спросить для чего нужен мониторинг приложения на ноде, как ты его реализуешь.
259 1933299
>>33289
Бля, а что не так этим мидлвейром...
260 1933301
>>33298
как?
для чего?
как?
261 1933304
>>33117
Бамп, спецы.
262 1933305
>>33298
Я ни разу не слышал про такой кейс использования DI
263 1933313
>>33305
Что ты не слышал? Импорт - прямая зависимость, инъекция в виде параметров в фабрику - обращеная зависимость.
264 1933317
>>33313
Ладно, я тебя сначала не правильно понял, все так
265 1933320
>>33313
Т. е используя фабрику из модуля, который ничего не импортирует, ты отделяешь бизнес логику от конфигурации. Конфигурация может быть реальной или созданой моками для тестирования
266 1933335
https://learn.javascript.ru/iterable пацаны мне эта хуйня пригодится? а то я нихуя не понял
267 1933345
>>33320
Хорошо поясняешь, если не секрет, какой опыт работы?
268 1933350
так как можно избавиться от импорта не прибегая к di?
269 1933351
>>33350
Плюс вопросу
270 1933376
>>33299
Мы вам перезвоним. Он уже встроен в экспресс.
271 1933386
>>33376
https://www.npmjs.com/package/body-parser
нахуй ти ото пиздиш коли не знаеш
body-parser.png1 Кб, 120x68
272 1933390
273 1933393
>>33390
понел)
274 1933418
>>33335
Если пойдёшь на завод или водить такси, вряд ли. А вообще, задай вопрос конкретнее.
275 1933444
Когда используете useCallback, господа?
Стикер191 Кб, 512x512
276 1933460
>>33444
Хороший вопрос. Когда функция зависит от пропса или стейта. Её наверно для этого и придумали.

Жалко что в Реакте нет готовых computed-штук как в Vue. Было бы удобней и не было бы плясок с useMemo/useCallback/memo
Без названия.png6 Кб, 279x181
277 1933463
>>33126
>>33117
https://vuejs.org/v2/guide/components-props.html#Passing-the-Properties-of-an-Object

Сделал так.
Но вотчер в конечном дочернем компоненте (ctrl) не реагирует на обновление массива bothp в родительском компоненте, хотя должен: даже вывод в консоль profiles не отображается.
278 1933491
>>33444
Когда нужна стабильная ссылка, очевидно
https://kentcdodds.com/blog/usememo-and-usecallback

>>33460

>Когда функция зависит от пропса или стейта.


Неверный ответ, который ведет к оверхеду на пустом месте
279 1933492
Че за хуйня с вебпаком? Жрет оперативу
280 1933523
>>33491

> <button onClick={() => setCandies(initialCandies)}>refill</button>



Что за долбаеб на эвент кидает коллбэк в jsx, когда в документации прямым текстом сказано, что это хуевая практика? Не читал твою хуйню, соре
281 1933527
>>33463
Нагуглил, что надо использовать deep watcher.
Вроде работает.
282 1933541
>>33418
я про перебор объектов и необходимость Symbol.iterator на практике
283 1933572
>>33523

>Что за долбаеб


Ты не знаешь кто такой Кент Си Доддс что ли? Неплохое начало.

>на эвент кидает коллбэк в jsx


Давай, покажи нам как надо

>в документации прямым текстом сказано, что это хуевая практика


Не сказано там такого, ты это выдумал в угоду своим заблуждениям

>Не читал твою хуйню, соре


Да мне-то что? А вот в ты упустил шанс стать умнее и продвинуться в понимании Реакта.
284 1933582
>>33572

>Ты не знаешь кто такой Кент Си Доддс что ли?


Зачем мне знать кого-либо из твоих протыков?

>Давай, покажи нам как надо


>Не сказано там такого


Дед, ты очки правильно одень. Они у тебя на затылке.
285 1933589
Объясните за intersectionObserver кратко, кому не сложно, по возможности с примерами. с предложением посмотреть видео на ятубчеке и почитать гайды, идите к мамке /spoiler]
286 1933595
>>33572

Может про это имелось ввиду

>Проблема этого синтаксиса в том, что при каждом рендере LoggingButton создаётся новый колбэк. Чаще всего это не страшно. Однако, если этот колбэк попадает как проп в дочерние компоненты, эти компоненты могут быть отрендерены снова. Мы рекомендуем делать привязку в конструкторе или использовать синтаксис полей классов, чтобы избежать проблем с производительностью.



https://ru.reactjs.org/docs/handling-events.html

Алсо, я просто тоже натыкался на то, что советуют не передавать коллбэки

>When we declare callback as onClick={this.fetchUsers} every render call will pass the same onClick reference to the button.


>At the time, when we use onClick={() => this.fetchUsers()} each render call will init new function () => this.fetchUsers() and will pass it to the button onClick prop. It means, that nextProp.onClick and prop.onClick won't be equal and even if we use a PureComponent instead of button it will be re-rendered.


Это точно касается классовых компонентов. Неизвестно как это работает в функциональных компонентах, но мне кажется таким же образом

мимо
287 1933597
>>33589
Так а что там понимать? Вот тебе видео, понятнее некуда. Посмотришь и поймёшь куда дальше прыгать

https://youtu.be/T8EYosX4NOo
shareimage1612423502259.png214 Кб, 499x352
288 1933602
Есть такой вопрос. Если есть возможность писать функции вне компонента - то стоит их писать вне компонента или пихуй и писать внутри их? По идее после каждого рендера они заново создаются, если не мемоизируешь их (хотя даже так они наверно заново создаются), а если функция будет вне компонента, то отрисовка должна быстрее происходить. Ну мне так кажется
289 1933604
>>33602
Забыл сказать, что речь про реакт...
290 1933614
>>33602
Любое "быстрее-медленее" должно подкрепляться и основываться только на измерениях и бенчмарках. Если ты говоришь "мне кажется" и начинаешь теоретизировать про оптимизацию, то все эти рассуждения отправляются в помойку по умолчанию как маняфантазии и основывать на них какой-то код нельзя. Код пишут в первую очередь чтобы он выполнял поставленную задачу, во вторую чтобы он читался и только после этого , если ты вдруг увидишь некие конкретные просадки в производительности, то можно задуматься об оптимизации. Так что пиши свои онклики где хочешь или где читается лучше.
291 1933615
>>33595

>Это точно касается классовых компонентов. Неизвестно как это работает в функциональных компонентах, но мне кажется таким же образом


Так же работает.

Очевидно что создавать функции на пустом месте не нужно, но если надо забиндить какие-то параметры, то особенных альтернатив и нет.
292 1933617
>>33614
Понял. Попробую завтра пример какой нибудь накидать. Может получится посчитать. Просто в гугле не видел информации о подобном, вот и заинтересовался
293 1933623
>>33602

>Если есть возможность писать функции вне компонента - то стоит их писать вне компонента


В целом, да, если им не нужны переменные из замыкания.

>По идее после каждого рендера они заново создаются, если не мемоизируешь их (хотя даже так они наверно заново создаются)


В обоих случаях заново создаются.

>отрисовка должна быстрее происходить


Нет. Отрисовка происходит 60 раз в секунду на большинстве мониторов. Чтобы она стала происходить быстрее нужно сначала добиться того чтобы Реакт начал дропать кадры. Это во-первых не так-то просто, во-вторых узкое место скорее всего будет в работе с DOM, а не в создании функций.

Единственный случае когда это реально может на что-то повлиять, это если компонент ререндерится каждый кадр, а функций очень много. Тогда теоретически может начать грустить GC. Но даже в такой ситуации надо это измерить сначала.
294 1933626
>>33623

>В целом, да, если им не нужны переменные из замыкания.


так а зачем тогда ето надо
295 1933631
Можно ли в nextjs хранить какой-то глоабальный стейт в компоненте app, чтобы он передавал состояние в другие страницы? Проще говоря, можно ли использовать его как стейт менеджер, если не хочется использовать какие-то внешние стейт менеджеры? Или в этом смысле все остается так же как в случае с обычным реактом, либо контексты, либо пропсдриллить, либо стейтменеджер использовать?
296 1933637
>>33595
Тут проблема не в классас/функциях, а в том, что безымянные функции создают новый инстанс при каждом вызове. А в ванилле ивент листенер с безымянным колбэком не убрать через `removeEventListener()`.
297 1933649
Почему я должен блять придумывать супер алгоритмы и писать сотни строк кода чтобы просто блять сделать обработчик изменения размера окна.
298 1933653
ЧТО КРУЧЕ???
АНГУЛЯР ИЛИ РЕАКТ???
299 1933654
300 1933655
>>33649
Подписаться на window.resize это супер алгоритм?
301 1933656
>>33649

>сотни строк


Так тебе и не нужно, совсем ёбу дал? Где делаешь-то хоть?
302 1933664
303 1933668
>>33335
Если ты вкатун и хочешь прочитать учебник, то читай дальше. Конкретно эта глава на том этапа на котором она стоит сложновата для вкатуна, но потом если захочешь вернуться к ней, она уже не будет тебе казаться чем-то экстра сложным.
304 1933681
>>33668
спасибо, да кантор хуевенько объясняет некоторые моменты из es6, приходится обмазываться ютубом владилена залупинина, тот объясняет как боженька
305 1933683
>>33631
Если ты в него хочешь запихнуть какой-нибудь фетч, то `getServerSideProps()` и `getStaticProps()` перестанут работать.
анон 306 1933695
Есть текстовые материалы для вката в бэкенд на ноде? Эти ёбаные часовые видео с ютуба не могу воспринимать...
308 1933708
>>33695
Бля какие же дегенераты вкатуны нынче.
часовые видео он смотреть не может.
А лекции в универах может тоже нахуй не нужны? просто взял методичку у пошел домой самообучаться.
как ты можешь понять что-то из кроткого и лаконичного дока, который написан разработчиком для разработчиков?
309 1933710
>>33653
Ангуляр, при этом не просто круче из за того что порог вхождения выше, но и по быстродействию, функционалу, архитектуре.
310 1933711
>>33708
Лекция это краткий пересказ того что в книге прочитал лектор, толку от неё только если ты освежаешь знания а не пытаешься получить их.
311 1933712
>>33710
бля такие смешные вы тут. сретесь с каким бубмном лучше плясать, когда большинство тут никогда не имело дело с проектами, на которых может быть видна разница
312 1933714
>>33653
Смотря для чего, если хочешь сделать одностраничник, то бери Angular, если тебе нужна крутая CRM с серьезным фронтом, то бери jQuery, главное ничего не перепутай
313 1933715
>>33711
Ты вообще читал пост, на которых я ответил, клоун?
там было ясно написано вкат
314 1933717
С введением хуков в реакте, остается ли какой-то смысл в использовании классовых компонентов? Есть ситуации, при которых без классовых компонентов не обойтись?
315 1933719
>>33715
И? Каким боком это на твой высер про лекции влияет? Тебя попросили текстовый материал, а не его пересказ дегенератов с ютуба, а ты начал кукарекать про лекции в универе и их пользу. Вот тебе и говорят - польза от них стремится к нулю. Особенно в рашковузах с их нулевым общением с аудиторией.
317 1933721
>>33717
Есть смысл в классовых только при условии что ты собираешься поддерживать и работать с этими компонентами и кодом длительное время .
318 1933723
>>33719
ясно, очередной всратун из тракторного училища имени Сралина решил покорить айти
319 1933726
>>33719
На ютубе так-то не только инфоцыгане и хайпожеры контент создают. Есть годные лекции по архитектуре софта. Этого не найти в доках, а книги это еще дольше
320 1933727
>>33695
А что, есть видео материалы для вката в ноду? Кроме индийцев которые час пишут
http.createServer( (req, res) => {
- если гет то отдать индекс.жс
- если пост то запостить пейлоад в консоль
});
321 1933736
>>33708

>А лекции в универах может тоже нахуй не нужны? просто взял методичку у пошел домой самообучаться.


Найс подрыв студентишки. Не поверишь, но не нужны. Ссуть вузов - выпускать верных государственности клерикалов и лекции выступают в роли НЛП для этого.

>как ты можешь понять что-то из кроткого и лаконичного дока, который написан разработчиком для разработчиков?


Да типичные видосики по лаконичности не длиннее текстовых гайдов, если убрать всякие мэканья и причмокивания.
322 1933740
>>33736
вкатун а уже с чсв
323 1933744
>>33708
Лекции нужны, если у тебя хороший лектор, который не читает по бумажке, а работает с аудиторией, смотрит, что им скучно, что им непонятно, и принимает для этого какие-то действия. Но к 99% лекторов в российских вузах это не относится, и уж тем более не относится к бубнежу на ютубе.
324 1933796
>>33710

> по быстродействию


Лол
D15nDdIXQAARONJ[1].jpg271 Кб, 1846x1715
325 1933800
>>33796
Что такое? Манямирок треснул?
326 1933804
>>33800
Ну если у тебя есть задача по обяазательной очистке тысячи строк, которая будет производится в симуляции мобильного устройства, то наверное 40 лишних миллисекунд это пиздец какая большая разница, ага.
327 1933805
>>33800
Ну если у тебя есть задача по обяазательной очистке тысячи строк, которая будет производится в симуляции мобильного устройства, то наверное 40 лишних миллисекунд это пиздец какая большая разница, ага.
328 1933806
Если в реакте однонаправленный поток данных, то как функция переданная в пропсы, может менять стейт родительского компонента? То, что можно передать саму функцию это я еще понимаю, и то что вниз можно передать любой стейт тоже. А как Функция потом "добирается" до стейта наверху? Это то, что называется замыканием, или нет? Сильно не бейте только, сам понимаю что тупость спрашиваю скорее всего
16122667216670.jpg24 Кб, 265x353
329 1933808
>>33664
>>33714

>Жиквери


>2021

330 1933813
>>33806
Однонаправленный потому что всё идёт через стейт менеджер, сначала передаешь в стейт, потом стейт передает по цепочке дальше. Напрямую от дочернего к родительскому ты передать не можешь
331 1933814
>>33804
Как то быстро ты перешел с "лол" на стену текста "нинужнаяскозал".
image.png54 Кб, 800x359
332 1933838
http://jsfiddle.net/n0wma84t/

Аноны, возможно ли сделать так, чтобы при наведении курсора на этот прямоугольник (fixed позиция) он не блокировал скролл айфрейма под ним?
sage 333 1933839
>>33740
Да вы тут все черви-пидоры ебаные.
334 1933852
>>33695
На метаните кратко и понятно всё объясняется.
335 1933868
Кто нибудь юзал api двача? Хули в коментах разметка лезет?
336 1933880
>>33740
Мелкобукву забыли спросить про ЧСВ.
337 1933893
>>33806
Ты ничего не передаёшь вниз или вверх. Передавая колбэк в пропсы ты просто передаёшь ссылку на колбэк, а дочерние компоненты вставляют в него нужные аргументы.
338 1933894
>>33806
Юзай редакс не еби мозг себе
339 1933895
>>33868
Так тебе его нужно распарсить. Думаешь макакен сохранял бы посты на дваче без эскейпа html-тегов?
340 1933955
>>33808
На jQuery всегда будет работа. А с ангуляра на реакт заново переписывают.
341 1934084
Аноны, поясните за Svelte свелта. Написал пару петов на нем, но вакансий почти нет.
Есть ли шансы на нем работать? Может стоит чуть подождать и вакансии полетят вверх?
342 1934087
>>34084
Обязательно подожди ,
343 1934116
>>34084
Не бухти, БОГАТЫЙ ГАРИС уже обкашливает все нужные вопросики с английской королевой. Тогда бабло для вакансий просто потечёт рекой, надо просто потерпеть и не раскачивать лодку.
344 1934164
Подскажите долбоёбу, как переписать then который ничего не принимает аргументом, на async/await. У меня после ресолва переменная, которая ждёт результата промиса, в итоге получает undefined. Проверять её на undefined и потом писать код, который я бы написал в then? Какой-то бред.
Стикер191 Кб, 512x512
345 1934194
>>34164
Можешь кинуть какой-нибудь пример, который ты реализовываешь на .then()? Я бы тогда переписал тебе его на async/await и на примере бы ты понял в чем отличие.
346 1934215
Сап двощь, есть ли какие-то либы на подобии react-query или useSWR, только блять не для реакта а агностик фреймворк.
В идеале хотелось бы получить чето типа такого: https://pastebin.com/k4frYQu7
Понимаю что такое можно и руками в принципе написать, на нет и суда нет как гритбся
347 1934216
>>34194
var washingtonRef = db.collection("cities").doc("DC");

// Set the "capital" field of the city 'DC'
return washingtonRef.update({
capital: true
})
.then(() => {
console.log("Document successfully updated!");
})
.catch((error) => {
// The document probably doesn't exist.
console.error("Error updating document: ", error);
});

Опционал firebase. Я проверял, в аргумент колбека ничего не падает.
348 1934219
>>34216
try {
await washingtonRef.update({...})
console.log('Document successfully updated!')
} catch (error) {
console.error("Error updating document: ", error);
}
349 1934225
>>34219
Ок. Спасибо.
Стикер255 Кб, 512x512
350 1934239
>>34225
Пожалуйста
351 1934242
>>34216
Откуда ты там возвращаешь значение?
Сегмент с прописом выглядел бы так:
async () => {
try {
const doc = await washingtonRef.update({capital: true});
console.log("Document successfully updated!");
} catch (error) {
console.error("Error updating document: ", error);
}
}
352 1934270
>>34219
О чувак 404 считается ошибкой? Еблок catch ее поймает?
353 1934271
354 1934294
Свежие вкатившиеся есть ? запили стори что ли, для мотивации.
357 1934360
>>34294
Хуярил у дяди на заводе, потом братан позвал вайти, и
Мимо кабанчик
358 1934369
>>34294
чтобы вкатится нужна не мотивация а ежедневный организованный процесс, если ты на мотивации потратишь целый день, а потом неделю будешь в доту гонять то грош цена твоим усилиям.
нужно каждый мать его день хотя бы часа по 3, лучше больше но без фанатизма а то выгоришь, уделять обучению и через полгодика будет какой-никакой результат.
359 1934383
>>33838

>Аноны, возможно ли сделать так, чтобы при наведении курсора на этот прямоугольник (fixed позиция) он не блокировал скролл айфрейма под ним?



памагите
360 1934396
А кто-то уже написал книгу о том, как он с нуля вкатывался и вкатился?
361 1934399
>>34396
что значит с нуля вкатился? до 30 лет работал в пятерочке и потом стал погромистом? нет таких людей
анон 362 1934429
Метод Range cloneContents(), он сам доставляет недостающие теги спереди и с конца?
363 1934448
>>34399
Жопой жуй таких людей.
364 1934486
>>34396

>книгу


Вот это кстати признак вкатуна, которого объебали инфоцыгане.
На самом деле в том, что ты вкатишься - ничего почетного не будет.
Ты вкатишься в днищепрограммирование и будешь работать там пол жизни, если повезет. Большинство будет работать всю жизнь в таком - а это стремная офисная работа.
Инфоцыгане вам там небось золотых гор наобещали, лол.
365 1934493
Как же тяжело сука. Планировал сегодня покодеть, в итоге весь день читаю статьи о тонкостях и нюансах языка\фрейма\паттерна\залупы. Каждый раз когда в голове возникает мысль, "о, а теперь кодить!", я думаю "так, еще вот это прочитаю, и точно кодить". Это такая форма прокрастинации? Мне кажется, что если я не изучу нюанс №84927483274892, то у меня получится говнокод\я нахуярю кода без понимания, как это работает и т.д. За день блять не написал ни строчки.
366 1934497
>>34493
И еще это ебаное ощущение пустоты. Будто бы я ничего не знаю, ничего не умею, ничего не могу, хотя это объективно не так, я все-таки на что-то способен, но мне кажется, что еще столько всего предстоит изучить, что пиздец просто
367 1934507
>>34493
>>34497
Синдром самозванца.
368 1934513
>>34493
сначала делаешь список технологий для проекта и дрочишь их
369 1934515
>>34486

>стремная офисная работа.


обычная офисная работа, нудная всего лишь
370 1934607
>>34396
Пока напишешь книгу рынок и способы вката 10 раз поменяются
371 1934624
>>34607
При чем тут рынок и способы вката?
372 1934675
>>34624
А про что писать книгу вкатившемуся вкатуну?
О том, как пофиксил первый баг и первый раз прод положил?
373 1934684
>>34429

>Partially selected nodes include the parent tags necessary to make the document fragment valid.

374 1934694
>>34497
Так в этом вся суть гей-либерализации. Если не будешь испытывать чувство пустоты, то не побежишь заРАБатывать многа денег, чтобы заполнить эту пустоту новым хайповым продуктом. Соответственно ценность капитала как источника силы упадёт, а это непозволительный исход для Федерального Резерва, ссуть которого - приумножать капитал ассимптотически.
375 1934699
mobx
376 1934706
Я не понимаю нахуй. А почему условие в if всегда true? Вот же false в консоли.
377 1934710
>>34706
А, все, понял. Можно не отвечать.
378 1934717
>>34706
for (let i of str)
379 1934719
>>34717
Array.from(str).map
380 1934720
>>34719
Array.from(str).map().reduce().filter()
chetyre.png9 Кб, 257x328
381 1934722
И тут, спустя полгода после начала изучения языка, я понял, что не понимаю синтаксис. Кекус максимус.
382 1934726
>>34722
А какого, собственно, члена? Почему в первом случае он не возвращает тру, а возвращает букву. 2 равно 1 ИЛИ 2 ----- ТРУ. ДА, 2 РАВНО 2. Логично же, не? Почему во втором случае тру, я могу себе представить. Типо прошла проверка, вернулось тру, все, дальше можно не выполнять. А почему при скобках блять фолс?
383 1934729
>>34726
А, ну почему при скобках фолс, мне тоже ясно. Там не с чем сверять. Да? Тогда хуле бы первую букву не вернуть?
384 1934733
>>34726

>Почему в первом случае он не возвращает тру, а возвращает букву


Потому что это false || "e"

>Почему во втором случае тру, я могу себе представить


Потому что это true || "e"

>А почему при скобках блять фолс?


Потому что это "e" === "o"
385 1934734
>>34733

>Потому что это true || "e"


true || "o" во втором случае, фикс
386 1934736
>>34733

>Потому что это "e" === "o"


Блять, а каким это образом? Как выражение верни ПЕРВОЕ ТРУ из (ТРУ или ТРУ) превратилось в "e" === "o"? Я неправильно воспринимаю ||?
Стикер255 Кб, 512x512
387 1934737
388 1934741
>>34736
Потому что "o" || "e" вернет "o". 1 || 2 вернет 1. {a: 1} || {a: 2} вернет {a: 1}.
389 1934743
>>34722
У тебя условие читается как элемент массива равен Х ИЛИ строка.
Логические операторы возвращают результаты сравнения выражений, а не что ты там думаешь. Сперва высчитывается значение сравнения, если результат ложный, переходит ко второму значению, которое всегда истинно, и его возвращает.
390 1934745
>>34741
>>34743
Блять, все я понял. Я так затупил пиздос.
А есть способ сократить вот это бесконечное повторение (arr.toLowerCase() === "o") || (arr.toLowerCase() === "e")? Если мне, допустим, нужно проверить 600 китайских иероглифов, я же не буду 600 раз писать (arr.toLowerCase() === "o").
Без регулярных выражений, бтв.
pyat.png25 Кб, 754x656
391 1934747
>>34745
Скрин
image.png4 Кб, 370x285
392 1934748
393 1934754
>>34748
А, ну заебись, спасибо.
394 1934756
>>34745

>Без регулярных выражений, бтв.


Что-то уровня "как дрочить вприсядку не присядая". Альтернатива регуляркам - отдельная функция, которую будешь вызывать с возвратом сравнения аргументов.
image.png10 Кб, 593x93
395 1934772
396 1934778
>>34772
Бля, а вот это круто получилось. Только я не понял, в строке, где ты новый метод в прототип строки пихаешь this там к чему относится? Какое у него значение будет?
397 1934780
>>34778
Ясно.
398 1934781
>>34778
Менять прототипы встроенных в язык классов - это что угодно, кроме "круто".
399 1934782
>>34772

>let


Ясно.
400 1934785
>>34780
То есть просто С? Это ссылка на объект который вызывает метод? Без подвохи?
401 1934787
>>34722
Просто стоило начинать с изучения программирования, а не с изучения языка программирования.
402 1934788
>>34787
Ну и с чего начать изучать программирование в отрыве от языка?
image65 Кб, 1016x386
403 1934789
Это самая короткая запись fizz buzz покажите мне короче, на ванилке офкос.
404 1934793
>>34778
this будет относится к тому у чего ты этот метод вызываешь, в данном случае, так как это прототип строки, то будет равен строке, если это строка из одного символа, то будет один символ.
Example.png20 Кб, 1171x475
405 1934800
406 1934804
>>34800
Хуя ты минификатор у мамки, правда "запихнуть всю логику в одну строку" не равно "укоротить алгоритм".
407 1934806
>>34804

>короткая запись


>УКОРОТИТЬ АЛГОРИТМ ЯСКОЗАЛ!!



Проиграл с этих нелепых манёвров. Просто изучай ФП и не будешь баттхертом.
408 1934811
>>34745
'oe'.includes(arr)

мимо-кодю-неделю
image.png120x21
409 1934819
>>34811
Фикс.
410 1934827
>>34806
Засунуть в одну строку 5 логических переключателей - это то же самое, что переименовать все переменные до одной буквы и называть это "сокращенной записью". Нечитаемой, минифицированной, глупой(если ты писал это руками, а не прогнал через минификатор) - может быть, но не сокращенной.
411 1934830
Блядь какого хуя в этом материал юай что бы запилить сраный бургер нужно налепить хуеву кучу говнокода с костылями? Блядь неужели эту парашу юзают? А
412 1934831
>>34830
попробуй другую
413 1934840
>>34747
Ну ты и говнокодер.
414 1934845
>>34789
Пиздец ты калич.

case + тебе не нужна пустая стринга, ты можешь её сразу возвращать через return в консоль.
image.png22 Кб, 624x704
415 1934888
>>34827
Что ты сказать то хочешь? Что твоя императивная параша будет лаконичней божественной, декларативной? Нет, этого не будет за рамками твоих маняфантазий.
Раз уж твой мозг неспособен воспринимать тернарные операторы, то вот эту версию даже даун вроде тебя должен понять.
image.png144 Кб, 720x303
416 1934893
>>34888

>засунул абсолютно ту же самую логику в нечитаемую однострочную функцию


>ты нипанимаешь эта лучши патаму чта дикларативна и тирнарный апиратор это не плохо читаемое иф елсе, ета фп!!!


Особенно серанул с is* функций, которые возвращают не-булевое значение.
417 1934894
>>34893

>абсолютно ту же самую логику



Проиграл. А у тебя особенная логика в твоём коде, дауненок?
418 1934897
>>34894
Во-первых это не мой код, во-вторых суть в этом и заключается - ты сделал то же самое, что и в том посте, только в сто раз более нечитаемом виде, и почему-то гордишься этим. Засунуть в одну строку рекурсию и три вложенных друг в друга тернарных оператора - это книжное определение говнокода.
419 1934901
>>34830
А ведь мог бы выучить HTML/CSS и делать бургеры вообще без жаваскрипта.
420 1934902
>>34897

>это самая короткая запись


>макнули головой в унитаз за пиздеж и показали два варианта которые как минимум в 2 раза короче


>ДА Я НИПАНИМАЮ ШТО ТАМ НАПИСАНО РЕКУРСИЯ ЕТА СЛОЖНА ТАК НИСЧИТОВА ЯСКОЗАЛ



Не перестаю проигрывать с животного.
image.png18 Кб, 838x450
421 1934903
422 1934905
>>34788
С понятия алгоритма, формальной логики и наивной теории множеств.
423 1934913
>>34902
Ты не сделал код короче, ты его (плохо) минифицировал. Но почему-то минифицировал руками, а не специальным инструментом, и почему-то скинул свою минификацию в тред как пример написания кода.
424 1934976
425 1934994
Не выкупаю как сделать , чтобы путь к папке, где будут лежать файлы пользователь сам выбирать мог. Ваще не понимаю, подскажите как?
426 1935007
Получается фронт взаимодействует с беком только посредством запросов типо json или устаревшего xml?
тоесть каждый раз когда получаешь какие то данные, то браузер заходит на сайт https://example.com/api/huinya и возвращается данные json оттуда? или еще какие варианты есть? как например скрытые данные передать? типо количество денег на счету, чтоб только ты мог пройти по ссылке, а не кто то другой
кроме захода на сайт.ком/апи есть какие нибудь варианты?
427 1935008
>>35007
Вам в секретный интернет
428 1935011
>>35007

>как например скрытые данные передать?


Гугли криптографию.
429 1935013
>>35007
А авторизация на что, дурень?
430 1935040
>>34994
К какой папке? Ты вообще про какой контекст говоришь? Если серверный, то пользователя ебать не должно, как у тебя файлы лежат. Для клиента же есть https://developer.mozilla.org/en-US/docs/Web/API/File
431 1935051
>>35040
Ну папка на локальном диске пользователя. Мне надо чтобы можно было выбирать место где хранятся файлы на его диске
432 1935054
>>35051
Ты так и не сказал контекст этой задачи: сервер или клиент. С сервера ты хуй получишь доступ к файловой системе клиента. А клиентский код может общаться с файловой системой только через браузерные апишечки типа FileReader, да и она тоже пути не сообщает:

> It cannot be used to read a file by pathname from a file system.

14492277033450.png344 Кб, 500x675
433 1935058
Как отрендерить таблицу \ кнопку \ текстовое поле, когда данные для него станут доступны?

Цепочка такая: по нажатию кнопки подгружаются данные и передаются в дочерний компонент через пропс -> выбираем значение в v-select'e -> на основе выбранного значения селекта заполняется вся мишура.

Бяда в том, что изначально данных нет.
Читал, что пропсам можно задать дефолтное значение, но там такая мешанина - я не разобрался.
Стикер255 Кб, 512x512
434 1935078
>>35058
А что мешает делать условные рендеринг?
Накидал быстрый пример, хотя Vue от силы неделю знаю. Надеюсь это примерно то, что тебе нужно

https://codesandbox.io/s/green-sky-hcp90?fontsize=14&hidenavigation=1&theme=dark
435 1935093
>>35078
Ага, работает. Спасибо.
436 1935115
>>35054
Клиент. Мне надо чтобы скрипт брал файлы из указаной папки на компе юзера, это не upload, просто это взаимодействие, может можно как-то сделать чтобы пользователь нажимал на какой нибудь текстовый документ который в коде прописан и чтобы он путь передавался? Везде пишут что из-за безопасности нельзя, но я видел что такое возможно. У меня путь изначально прописан что у любого на компе он будет на диске /C. Но мнн нужно чтобы можно было изменить как вот в установщике программ/игр, чтобы выбираешь путь и он в строку прописывается
437 1935118
>>35115

>Везде пишут что из-за безопасности нельзя, но я видел что такое возможно.


Где ты это видел? Без доступа к файловой системе не будет и путей.

>Но мнн нужно чтобы можно было изменить как вот в установщике программ/игр, чтобы выбираешь путь и он в строку прописывается


Установщики программ устанавливаются прямо в систему, сторонние скрипты же запускаются в браузере.
43243324.jpg60 Кб, 1280x1280
438 1935228
Хахах лол
image1 Мб, 890x892
439 1935241
Гайс посоветуйте интересные сайты где можоно че то обсуждать или читать про best practics JS -

https://qna.habr.com/questions
https://stackoverflow.com
https://codewars.com
https://medium.com
https://2ch.hk/pr (М)

Какие еще прикольные есть?
440 1935246
>>35115
File system access api
441 1935248
>>35118
Зачем ты даешь советы если сам не шаришь, что можно, а что нельзя и не следишь за развитием веб апи?
442 1935265
>>35248

>Зачем ты даешь советы если сам не шаришь


От тебя я тоже советов не вижу.

>что можно, а что нельзя и не следишь за развитием веб апи?


W3 внезапно передумали и решили прямо в спеке дать рутовый доступ к машине клиента, а все вендоры побежали это реализовывать?
443 1935276
Подключил material ui, обмазался styled components, в итоге код превратился в ебаную кашу, а ведь это еще сраный туду, в более менее крупных проектах наверное пиздец?
444 1935285
>>35276
В крупных проектах разделяют вёрстку и работу с JS фреймворком. Задача работающего с фреймворком интегрировать вёрстку которую он получил от верстальщиков.
445 1935291
>>34789
>>34903
>>34800
Олимпиадные программисты на месте?
446 1935295
>>34901
Это как? кнопка:focus + бургер?
447 1935296
>>35246

>File system access api


>>35248
Нихуя ты советчик, сейчас бы экспериментальные апишечки таскать в прод, как будто без этого ёбли с совместимостью не хватает. Не говоря уже о том, что эта апишечка не даёт доступ в рут, так что никаких абсолютных путей не достать.
448 1935297
>>35285
Ну ебать откуда тогда такая популярность этого материал юй? Это же нихуя не удобно? Или это другое?
449 1935299
>>35295
Инпут чекбокс:checked + бургерменю.
450 1935306
>>35228
Охуеть ржака, вью 7 лет, реакту 8
451 1935308
>>35276
В адекватные проекты перегруженный bloatware типа materual-ui не тащат
452 1935315
>>35299
А как ты закрывать убешь? Захуяришь невидимый инпут на весь вьюпорт что бы пользователь на него кликал?
453 1935324
>>35296

>Нихуя ты советчик, сейчас бы экспериментальные апишечки таскать в прод


Хоспаде. Работает? Работает. Что ещё надо?

Как-будто я заставляю использовать весь функционал апишки и быть тестировщиком. Всего-то путь к файлу надо получить, а это не все возможности апи.
454 1935327
>>35297
Удобно если тебе нужно 1 раз сделать и забыть, а так тебе либо нужно будет обертки свои городить, которые делают так как тебе нужно, либо менять свой сайт так чтобы материал уи работал без косяков.
455 1935341
>>35315
Чекбокс переключается ассоциированным лейблом, который ты можешь хоть на свою мамашу налепить.
456 1935345
>>35324

>Хоспаде. Работает? Работает.


Вот именно, что не работает. Абсолютных путей ты из него не получишь.
457 1935399
https://pastebin.com/P4UvknDd
Почему это выглядит так ебануто? Это прям руками так пишут?
458 1935408
>>35399
Нет, обфусцируют код чтобы его не прочитали или прочитали с трудом.
459 1935409
>>35341
Что-то типа такого:
https://codepen.io/Jumpy_Bunny/pen/VwmjRyx
Если хочется совсем поизвращаться, то можно радиоинпуты для переключения табов пользовать по схожей логике.
460 1935415
>>35409
Ну дебил, бургер должен сворачиваться при нажатии на любую область вне этого бургера, а он у тебя статичным остается даже при клике на один из пунктов меню этого бургера.
461 1935417
>>35408
Не похоже не обфускацию, скорее на какую-то оптимизацию-транспиляцию. Я просто не в курсе, что там сейчас в жс в ходу.
Может кто узнает такую хуйню.
462 1935424
>>35417
Значит минификация, чтобы итоговый файл был меньшего размера.
463 1935425
>>35241
П И Д О Р А С Ы _ Ч Е _ М О Л Ч И Т Е ? ? ?
464 1935434
>>35425
Киберфорум
465 1935439
>>35399
>>35424
В этом сниппете нет ни минификации, ни обфускации.
Этот код написан руками.
466 1935447
>>35439
Но нахуя так делать?
Выглядит, как будто просто впихивалось в одну строчку. При кодогенерации в этом виден смысл, а руками?
image26 Кб, 1392x348
467 1935453
>>35434

>Киберфорум

image.png23 Кб, 583x425
468 1935483
Сап, учу реакт, не могу понять, как из этой функции получился такой результат на экране, что попадает в desc, что при сравнении в 1 раз он получает возвращение к старту, а при остальном нет?
469 1935488
>>35483
move - это индекс, первый индекс - это ноль, ноль в жаваскрипте - это
470 1935490
>>35453
Долбаю?
471 1935492
>>35488
все, дошло, спасибо
472 1935493
>>35415

>Ну дебил, бургер должен сворачиваться при нажатии на любую область вне этого бургера,


Это ты сам придумал. Бургер - меню, а любое меню должно закрываться по конкретному действию пользователя.

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


В бургер пихают ссылки, которые ведут на другие страницы, то есть идёт перезагрузка.

Но всё равно добавил кнопки закрытия и автозакрытие при клике на пункты. Ссылка та же.
473 1935494
>>35483
if (move !== 0) {
// Go to move #
} else {
// Go to game start
}

Ты бы es6 выучил перед реактом
474 1935498
>>35494
Да я не подумал просто, что 0 как false здесь юзается
475 1935505
>>35447

>Выглядит, как будто просто впихивалось в одну строчку.


Нет. Не в строчку, а в выражение.
В приведенном сниппете одно единственное выражение в теле функции.
Для чего так писалось - это бессмысленный вопрос, в отрыве от контекста.
Это мог быть сниппет, чтобы показать логику кому-то. У человека может быть такой кодстайл и она максимально избегает использования instruction statement и отдает предпочтение expression statement.

>При кодогенерации в этом виден смысл, а руками?


Не понимаю твоего бугурта. Этот кусок кода легко читается и понимается, при условии, что ты знаешь язык.
image.png3 Кб, 582x40
476 1935508
477 1935509
>>35494
При чем тут es6. Почему не es3, или не es2021?
image1,8 Мб, 509x710
478 1935510
>>35508
Красава! Держи приз, ты выиграл.
479 1935513
>>35483
Охуеть, вайтишники уже вкатываются в ангуреакты не зная что такое тернарное выражение
480 1935523
>>35509
Тогда уж базовый жс. Я решил, что анон не понял .map
481 1935527
>>35513
не ты не понял
он прост не подумал что 0 это false))
482 1935530
>>35505
Это живой код с сайта, рендерит ответку от апи. Я тоже её качаю и приходится посматривать, что они там делают.
Нихуя не легко читается, хотя отдельные элементы все простые и понятные.
483 1935548
>>35527
А бля, не увидел что там вторая часть скрина есть
484 1935549
>>35530
Клевый у них наверно бекендер, в качестве ключей использует "a" и "b"
485 1935551
>>35549
Команда/игрок a и b, норм.
486 1935603
>>35548
бляяя
image1,4 Мб, 1200x792
487 1935629
Пацаны, не вкуриваю map/set/WeakMap/WeakSet/

че делать? Прочитал эту тему на канторе, на мдн, один родик на ютубе и все равно нихуя не понял? Как понять эту тему сука?
488 1935635
>>35629
вопросы
489 1935645
>>35635
че такое map и зачем он нужен?
490 1935651
>>35645
а кто кантор по этому поводу говорит?
491 1935652
>>35645
Map это {} - объект, но с расширенным функционалом (методами).
492 1935653
>>35651
Илья
493 1935654
>>35653
бляя
494 1935681
>>35629
WeakMap и WeakSet - ритуальные понятия, которые ты должен знать, чтобы пройти собес, потому что о них спросят. Никто их в проде не использует, так как неитерируемые коллекции нахуй не нужны.
Map и Set - подвиды объекта и массива соотвественно.
495 1935696
>>35652
>>35681
вы все троём дауны
496 1935701
>>35681
ZPAZIBO
497 1935703
>>35439
Не был, просто тот кто его выложил нажал на автоформатирование, поэтому он выровнялся.
498 1935705
>>35696
POYASNY?
499 1935710
>>35493

>Это ты сам придумал. Бургер - меню, а любое меню должно закрываться по конкретному действию пользователя.



Клик вне меню это и есть конкретное действие пользователя.

>В бургер пихают ссылки, которые ведут на другие страницы, то есть идёт перезагрузка.



Тыскозал? Это могут быть и модальные окна с настройками или формой обратной связи.
500 1935711
>>35705
задавший вопрос даун - потому что вопрос даунский пздц
ответившие дауны потому что пытаются дауну ответить на даунский вопрос
я даун потому что трем даунам пытаюсь объяснить что они дауны
соснули все!
501 1935715
>>35711
TI PROSTO PIROZHOK S NI4EM!
502 1935716
>>35629
Просто изучать программирование нужно не с жопаскрипта, а с чего-то более основательного, хотя бы с Java или C#, но лучше с C++.
503 1935720
>>35716
Я во фронтенд вкатываюсь, нахуй мне твой с и прочие..
Мне нужно как можно быстрее вкатиться, нет времени.
504 1935723
>>35715
пирожка тоже нет, точнее он тоже ничего и все вокруг него и внутри него конечно же тоже ничего, потому что нет ничего кроме ничего потому что только ему чтобы быть достаточно небыть. от така хуйня малята
505 1935742
>>35720
Для "быстрее вкатиться, нет времени" ты слишком тупенький.
506 1935746
>>35720
Это тебе у станка стоять.
Ты не вкатишься.
507 1935752
>>35652
Нет.
508 1935754
>>35681

>Никто их в проде не использует, так как неитерируемые коллекции нахуй не нужны



А в спеку их затащили шутки ради?
509 1935769
>>35742
>>35746
Я на инвокере 7к ммр брал 3 года назад!!! че мы мне тут расказыаете??))0
510 1935772
>>35710

>Клик вне меню это и есть конкретное действие пользователя.


Юзер только кликами и взаимодействует со страницей. Охуенное у тебя конечно "конкретное" действие. Как ты мисклик детектишь с такой охуенной логикой?

>модальные окна


Да ты же говнодел. Модалы разве что только для аутентификации более менее подходят, потому что в большинстве случаев формы автозаполняются и пользователю только нужно кликнуть кнопку "отправить". Пихать в модалы формы с текстом, которые ещё нужно вручную заполнять - просто максимум уебанство. Настройки модала не требуют. Если это список чекбоксов, то достаточно обычного всплывающего меню. Если же там куча настроек с субсекциями - то это идёт в отдельный адрес, так как пользователю нахуй не всралось читать простыни настроек на той же странице, где он слушеает музыку/читает статью/смотрит порево/гоняет в донатную дрочильню.
511 1935778
>>35769
ну проблем с выбором ide у тебя быть не должно
бери vim
512 1935781
>>35778
vim для лохов, я паяльником на материнке мосты перепаиваю под бинарный код
513 1935785
>>35781
а че так можно было
514 1935792
>>35778
Вим сам по себе душная хуета, клавиши и формат управления кодом еще одно дело, на сама по себе как ide это махровый пиздец. Я сижу в вебшторме с клавишами вима, потому что мышка это от дьявола, и клавишами легче управлять и быстрее. Но вот остальые возможности современных ide в виме это пиздец. Вот бы все можно было управлять только клавиатурой. Но хуй там. Разве что пикрил с трекболоом или тачпадом, но не пробовал.
515 1935796
const f = (arr, n) => {
if(n <= 0) return 0
return f(arr, n - 1) + arr[n - 1]
}

это алгоритм для рекурсивной суммы массива

на последней итерации мы вызываем функцию, которая возвращает 0 и складываем её с кумулятивно-накопленным результатом, верно?

p.s. задачки с литкода уровня medium решаю, а с этой застрял уже на 30 минут...
516 1935798
>>35792
здраво
517 1935804
>>35796

>решаю медиум


>не знаю как работает рекурсия



Ну почитай про рекурсию, зачем гадать то?
image15 Кб, 693x314
518 1935805
>>35792
я когда не с макбука - юзаю связку трекпад+клава, оче удобно, мышкой уже года два не пользовался
Стикер255 Кб, 512x512
519 1935807
>>35805
А как в игори на таком играть?
520 1935809
>>35807
для игорей ps5
521 1935812
>>35807
Игры для детей.
522 1935814
ПЕРЕКАТ >>1935813 (OP)
ПЕРЕКАТ >>1935813 (OP)
ПЕРЕКАТ >>1935813 (OP)
ПЕРЕКАТ >>1935813 (OP)
ПЕРЕКАТ >>1935813 (OP)
ПЕРЕКАТ >>1935813 (OP)
ПЕРЕКАТ >>1935813 (OP)
ПЕРЕКАТ >>1935813 (OP)
523 1935823
>>35804
Да я вроде как считал, что представляю себе, что такое рекурсия. Но вот этот пример меня прям в ступор ввел. Буду читать.
524 1935827
test
525 1936017
>>35007
почему только джейсон? можно сразу ответить хтмл файлом или вообще коммуницировать нон-стоп через сокеты
Screenshot20210210225455.png112 Кб, 681x916
526 1937079
527 1937102
>>37079
а нахуя ты наллы возвращаешь?
Не легче написать return {innerHeight: window?.innerHeight, ...};?
528 1937140
>>33695

>Есть текстовые материалы для вката в бэкенд на ноде?


ДА, и представляешь, они ещё так круто называются... КНИГИ! И ВАУ, их даже можно перелистывать. Прикол, да?
529 1937153
>>37102
Это сделано специально, чтобы на server-side стороне не выкинуло ошибку из-за отсутствия window. Почему не innerHeight: window ? window.innerHeight : null ? Так красивее. Зачем нужны нуллы? Чтобы было единообразие возвращаемого результата.
530 1937155
>>37102

>window?.innerHeight


Хотя в принципе можно и так
531 1944269
посоны, есть ли смысл вкатываться в Angular если хочу во фриланс ?
532 1948674
>>30935
Через сеттер.
Тред утонул или удален.
Это копия, сохраненная 11 мая 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски