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

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

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

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

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

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

Руководство для вката: https://developer.mozilla.org
2 1892157
>>1892153 →
Ты посты его читал? Насрал нулом там другой разраб.
3 1892164
>>2157
а какая собственно разница кто? от ошибки и бага никто не застрахован и по идее язык должен помогать его быстро найти
4 1892171
>>2157
Вот другой бы и не насрал, если бы они ТС использовали. Либо он бы в своей части увидел, что числовая переменная может быть null
5 1892174
>>2171
Если значение переменной это не константа, а приходит извне в рантайме, то чем тебе поможет тс?
6 1892177
>>2174
Всё, что приходит извне должно завалидировано, а значит можно невозбранно повесить на него нужный тип.
7 1892240
Блять, плюнул я короче на свои принципы, так как без UI для сервера жить тяжело. И так, жиессеры, подскажите, какой фреймворк брать? хули в шапке до сих пор нет, для вкатывальшиков
Хочу, чтобы быстро и просто. Задача: писать админки. И без всякой ёбки с пакетами.
Ещё кстати думал над Elm, что про него скажите ?
8 1892243
>>2240
Ставь бутстрап + жиквери и жри говнорадуйся.
9 1892244
>>2240
а ты уверен что тебе вообще фреймворк нужен?
алсо vue
image.png37 Кб, 954x342
10 1892248
>>2240

>хули в шапке до сих пор нет, для вкатывальшиков


>Руководство для вката: https://developer.mozilla.org


Ты не очень умный, да?
11 1892250
>>2243

>жиквери


Разве эта хуйня не устарела ?

>>2244
В том то и дело, я вообще не уверен, что брать. С js знаком плохо, но когда писал на нем, прям плохо становилось, думаю может фреймворки поменяют моё отношение. Кто-то вообще писал админки на чистом js ?

>>2248

>Ты не очень умный, да?


Все так, мне, как обычному мимо-проходящему, понадобилось мнение экспертов, здесь и сейчас.
12 1892252
>>2250
админка не явлется чем-то особо сложным, а чистый джс сейчас может примерно то же что раньше мог жиквери
13 1892269
Пишу скрипт для тампермонкей. Скрипт состоит из функций. Весь скрипт, т.е. все функции запускаются по domcontetntloaded.

Как грамотней организовать эти функции?.

Просто писать функцию и после сразу вызывать? Или сгруппировать вызовы вначале\в конце? Или делать все функции стрелочными, чтобы не всплывали и вызывать по очереди?
14 1892288
>>2269

>Или делать все функции стрелочными, чтобы не всплывали



С этого места подробней.
15 1892291
Какие зарплаты у людей в треде?
16 1892297
>>2291
Мамкины котлеты 3 штуки в день с горячей пюрешкой.
17 1892313
>>2269
Писать очередь вызовов, а функции писать внизу, предпочтительно в той же очереди, в которой вызывал.
Вообще странно, у тебя все функции - сайд-эффекты?
18 1892325
Начал в этот ваш фулстак, стоит ебаться с вэбпаком и бабелем создать шаблончик и юзать его, или cra достаточно?
19 1892330
Куда лучше перекатываться из front js'a? iOS?
20 1892335
>>2325
Мне cra никогда не хватало, даже для мелкопроектов. Может его улучшили конечно, хз.
21 1892345
>>2313

>у тебя все функции - сайд-эффекты


Да, это же скрипт для стороннего сайта, функции меняют содержимое.
22 1892414
>>1892063 →

>в реакте для этого используют передачу вниз функции обработчика


И чем же это принципиально отличается от эвентов в Vue?
В смысле - в лучшую сторону?
Алсо, передать вниз в Vue можно что угодно, просто этого не делают.
Есть другие механизмы.

Вообще, по части гибкости реакт сосёт у Vue не нагибаясь.
Тут даже и обсуждать нечего.

>>1892138 →
И (возможно) правильно делают.
Потому, что такие вещи, как incapsulation и separation of concerns можно понимать очень по-разному, в зависимости от обстоятельств.
Не надо воспринимать как догму всю хуйню, которую пишут Дядя Боб или Фаулер.

В очень многих случаях тупо иметь всё в одном месте выгоднее, чем высосанные из пальца теории о том, что надо делать по 10 файлов на каждый пук.

Просто ньюфагам такое обычно не говорят.
Как детям не показывают, из какого места они появляются.
23 1892457
>>2414
ивенты с нагрузкой это как-то странно если честно

вот в свелте например просто биндинг по типу v-model можно сделать на проп лол

а то что во вью можно вниз обработчик передать это собственно естественно т.к. как ты запретишь передать пропом ссылку на функцию, это фишка языка, просто это не принято
24 1892476
>>2240
vue.js бери. довольно простой, даже на русском дока есть
25 1892478
>>2288
ну они же инициируются при присваивании переменной а не до исполнения как обычные

fn(); function fn() { console.log(42) }
вызывается

fn(); const fn = () => { console.log(42) }
выдает ошибку

только не пони какая ему разница если критично когда их вызовут а не когда инициализируют

плюс тут важно не то что стрелочные а что присвоены переменной, короче хз что он имел ввиду, не знаю

fn(); const fn = function() { console.log(42) }
тоже выдает ошибку
26 1892480
>>2240
Для админки сразу бери набор компонентов. С нуля вообще ничего писать не придется. Ебучий конструктор.
27 1892486
>>2240
https://quasar.dev/ фреймворк на основе vue.js ..тут сразу все изкоробки
28 1892492
>>2478
Так это не из-за стрелочных функций, а из-за того что ты переменную объявляешь через const, объявляй через var и поведение будет такое же как у function
29 1892501
>>2492
Не будет.
30 1892589
>>2476
>>2480
>>2486
Спасибо!
31 1892605
>>2501
Спасибо.
32 1892629
>>2240
React + ant-design
33 1892647
>>2629
Спасибо.
34 1892696
Спасибо.
35 1892698
Спасибо?
36 1892709
.обисапС
37 1892715
оƍиɔɐuɔ
38 1892736
>>2457

>ивенты с нагрузкой это как-то странно если честно


Это как посмотреть.
Попробуй вместо термина "эвент" использовать "сообщение".
И всё встаёт на свои места.
39 1892767
>>2152 (OP)
Аноны, такой вопрос, научился писать я код, работаю в крупной нефтяной конторе, кругом бюрократия, нас 6 чела в команде, начальник нашей группы никакущий управленец, процесс налажен херово, задачи ставятся без четких требований, заказчик сам не знает чего хочет, короче сделаешь нормально, потом приходится переделывать и тут уже говнокодишь, лишь бы быстрее задачу закрыть. Я оцениваю себя как аппер джун, есть пробелы в базе, я их закрываю читая про алгоритмы и все такое. Но вот как и куда двигаться дальше? Я хочу пересесть на мидловский стул, я пишу код самостоятельно с практиками и хорошими манерами, но ведь мидл делает тоже самое? Что отличает мидла и джуна? Читать про архитектуру? Но ведь она уже как правила заложена ранее и лидами. Анончик, расскажи, как рос сам, что посоветуешь?
40 1892775
>>2767
Хороший код получается только если делать жертвоприношения Великой Кодовой Жабке

Аватаром Жабки был Дейкстра. Почитание Дейкстры открывает пути в высшие миры Кодового Болота
41 1892777
>>2767

>Что отличает мидлаи джуна?


Только зарплата. В каждой конторе свои градации.
42 1892778
>>2767
Если пишешь все самостоятельно (и не приходится доделовать именно из-за твоих проебов) то добивай опыт до какой-то красивой цифры и перекатывайся в мидла. Почекай вакансии, если будет возможность походи на тестовые собеседования посмотри что там вообще требуют.
image.png327 Кб, 390x600
43 1892788
>>2775
>>2777
>>2778
Трипл пиздеть не будет. Всем спасибо, аноны, с наступающим.
44 1892856
>>2788
Самое главное, не пиши на Коболе, ибо на Коболе пишут только люди с улицы
45 1892871
Не знаю как вы, но лично меня очень смешанные чувства по поводу фразы "мы могли нанимать людей прямо с улиц":

«Можно было брать людей с улицы», — рассказывает британский кодер Джон Пайк, изучавший COBOL в 1960-х. «И, по сути, учить их, как писать программы».

Прям таки видится современный формошлеп за 50к который хуячит продающие очередную говноту интерфейсы
46 1892879
>>2335
А чего тебе чаще всего не хватало?
47 1892880
>>2871
Чувак, "прямо с улицы" - в программирование - в Америке 60-х, это не то же самое, что прямо с улицы в программирование в России 20-х. Понимаешь?

Чтобы было понятнее - попробуй сейчас вкатиться в какой-нибудь биотех, например. Сможешь?
48 1892881
>>2325
Да, стоит.
49 1892887
>>2325
Забей на вебпак, бери сноупак и esbuild.
50 1892890
>>2880

> попробуй сейчас вкатиться в какой-нибудь биотех


Совершенно понимаю, что это охуительно непростая задача. Вкатился бы с удовольствием за госсчет, но пока что только вкатываюсь методами превозмоганий да и то только на чистом энтузиазме. Впрочем хер бы с этими хайтеками, меня смущает что ради таких ремесленных знаний как формошлепинг приходится чуть ли не бароном делаться
15905089494280.jpg248 Кб, 875x1555
51 1892943
пацаны, посоветуйте сайт где можно псевдокод размещать, в виде конструктора, ну типо графически отображать
52 1892967
>>2890
Похоже, я не очень понял, о чём ты.

Алсо, формошлёпинг - это не ремесленные знания.
Иначе - это будет хуёвый формошлёпинг.
В любой работе основную массу составляет рутина, которая кажется ничего не стоящей тому, кто привык её делать.
53 1892969
>>2943
Ты там сисек в тесте переел, что-ли?
Какой графический псевдокод, лол?
Код - это буквы, и их надо знать.
54 1892981
>>2969
ну ты понял че мне нужно, ну
Снимок экрана 2020-12-28 в 02.34.50.png168 Кб, 622x626
55 1892984
>>2981
вот типо таких блок схем что бы накидывать можно было
56 1893043
>>2984
Есус. Гугли yEd, только это тулза, а не сайт. А нахуя тебе?
57 1893114
>>2887

>esbuild



> The CSS content type is new and is still a work in progress. There is also a known ordering issue with importing CSS files from JavaScript files. You can follow the tracking issue for updates about this feature.



Ох лол
58 1893125
>>2887

>сноупак


for real snowflakes
анон 59 1893156
https://jsfiddle.net/6sj7goba/

Почему сплайс изменяет "настоящий" массив, а не копию, переданную в функцию?
60 1893161
>>3156
мутатор мыть надо, негр у тебя родился, геной назвали

https://doesitmutate.xyz/splice/

скопируй передаваемый в функцию массив и передавай копию а не референс на оригинал
61 1893169
>>3156

>а не копию, переданную в функцию?


Потому что ты передаешь в функцию не копию, а "настоящий" массив.
62 1893175
>>3161
>>3169
Пытался дрюкать передаваемый массив внутри функции без сплайса, он вне ее нихуя не изменился, а со сплайсом меняется.

Например, если сделать внутри что-нибудь вроде arr = arr.map(value => value + 1); то это никак на внешний не влияет
63 1893180
>>3175

>>>arr = arr.map(value => value + 1);



Доперло вроде. Таким образом я перезаписываю внутрифункционный переменную просто, а архив висящий где-то в памяти это не трогает. Оригинальный массив можно менять только методами, которые его "мутируют" ( https://doesitmutate.xyz ), правильно?
image.png101 Кб, 721x487
64 1893205
65 1893211
>>3180
да
именно поэтому ты не можешь сделать просто arr.map() - нужно присвоить получившееся значение переменной т.к. оригинальный массив не поменяется
тогда как ты можешь сделать arr.splice() и ничего не присваивать
66 1893212
>>3205
звучит как-то собакоебски
67 1893298
Кто-нибудь пробовал ковырять SICP на JS? Меня заинтересовала тема SICP, но у схемы уебанский синтаксис, который нигде больше не применится. И оказалось что материал есть на любимом жаваскриптике.
Ссылка: https://source-academy.github.io/sicp/split/
68 1893304
Посоны, поясните плз. Я хочу объединить два коммита.git rebase -i HEAD~2. Дальше вылезает vim. Я нажимаю : и пытаюсь заюзать команду pick, но у меня вылезает ошибка " Not an editor command: pick". В туториала про это ничего не сказано. Что я делаю не так?
69 1893307
>>3304
Хуя знает про гит, но в виме шелл команды через :!
Дугин - Кринж-70PfIw5LHt0.mp4167 Кб, mp4,
640x352, 0:04
70 1893308
>>3205

>Узел

71 1893309
>>3304
Он тебе предлагает отредактировать commit message что ли? Просто выйди черед :wq
72 1893324
>>3304

>Дальше вылезает vim


по дороге едет зим и я им буду задавим (с)
73 1893369
А есть какой-нибудь онлайн-сервис, где чувак со мной проведет тестовое интервью и подскажет, где я обосрался?
Уровень сеньор (прост с фулстака хочу чисто во фронт перекатиться, и не уверен что достаточно шарю)
74 1893384
>>3369
Могу за пару тыщ это сделать без всякий онлайн-сервисов.

250к-лид-провел-больше-сотни-собесов
75 1893395
>>3369

>фулстак


>сениор



Выбери что-то одно. Фуллстак это максимум мидл на фронте и мидл на бэке. Хотя чаще всего это джун на фронте и максимум мидл на бэке. Поэтому если хочешь на фронт, то готовься откатываться на уровень мидла или ниже.
76 1893460
>>1887299 →
Проорал с "ментора" который принципиально не ставит ; в конце statement
77 1893463
>>3395
)) Ты первый день что ли на двачах? Вон смотри какой кадр нарисовался пару тредов назад: >>1885745 →
Главное этот джун/стажер даже не понял, насколько сильно он обосрался. Это как пытаться выпенриться сказав, что ты сдаешь недвижку и владеешь 1-2 дома в каждом регионе России, думая что это типо круто (хотя ни один вменяемый инвестор в недвижку так не сделает)
78 1893484
>>3463

>вменяемый инвестор в недвижку


Хуясно.
79 1893526
>>3384
Давай, оставь контакты
80 1893539
>>3526
Скинь телегу на le6F5.sapin.vertANUSynbFandexPUNCTUMrfPsu
81 1893567
Аноны, помогите советом: уже работаю разрабом, Реакт/Редакс вот это всё, проект и ебовый пробовал и с микросервисами. Написать компонент вполне могу - хоть классовый, хоть функциональный;
А как хочу что-то сам сделать с нуля, вижу пустую директорию в IDE или пустое поле в задачках на литкоде и такой тупёж накатывает, что не знаю что делать, смотрю, туплю и закрываю.
Что со мной не так? Как-то можно такое вылечить?
82 1893579
>>3567
А не было желания переписать архитектуру старого кривого проекта "как надо"?
83 1893611
>>3463
С вероятностью 80% это один и тот же чел
84 1893622
>>3579

>переписать архитектуру старого кривого проекта


Лол кек щито?
85 1893701
>>3622
Rewrite from scratch
image.png40 Кб, 1304x521
86 1893788
Почему мапка даже в таким простых операциях ебейше быстрее объекта?
87 1893796
>>3788
Потому что объект - дохуя сложная штука. Прототипы, дескрипторы пропертей - всего этого в мапе нет
88 1893832
Может ли быть больший детектор пидара в js в 2020 чем использование let вместо const? var даже в расчет не берем, это чушки-подсосники
89 1893836
for (const i = 0 ; i < 5; i++) console.log('ну я даже не знаю')
90 1893839
>>3832

>детектор пидара


>в js


Это как детектить пидоров в баре Голубая устрица
91 1893840
>>3836

>2021


>циклы

92 1893841
>>3836
for (const key in {так:"",узнай:""}) console.log(key)
93 1893842
>>3836
нахуя циклы, когда если есть .map?
94 1893845
>>3842
Как ты мапом факториал вычислишь?
95 1893847
Блять что такое Query в datorama?
Я зашел на их сайт, а эта петушня требует авторизоваться и всякую хуйню
96 1893850
Поясните за reduce()

Внутри него допустимо аккумулятор мутировать или нужно возвращать новый или похуй? Например, если аккумулятор - массив и нужно добавить в него значение. И будет ли разница в быстродействии?
97 1893856
>>3847
У меня на проекте юзается ангуляр, там эта datorama со своими сущностями впилена, хрен знает что это такое
98 1893861
>>3845
Для этого reduce есть или рекурсия.
99 1893866
>>3861
Которые обосрутся на больших числах.
100 1893871
На фронте есть запрос по типу:
async updateData(actor, options) {}

То есть некая асинхронная функция передает какие-то данные на бэк для конкретного actor. У меня есть массив где 20+ таких actor, как мне асинхронно разом закинуть их всех на бэк? Не ждать же мне каждый раз когда закончится исполнение предыдущего await чтобы начинать новый запрос. Асинхронщина не для этого придумана
16011320437830.png10 Кб, 208x186
101 1893872
>>3866
Ясно. Типичный циклодаун не знающий как работает то о чём он кукарекает.
102 1893876
>>3850
Мутировать конечно, ты же не собираешься использовать в качестве аккумулятора переменную извне? Разница будет не только в быстродействии, но и в использовании памяти, не в пользу создания нового массива.
103 1893878
>>3842
ты в мапе сайд эффект собрался прописывать?
104 1893880
>>3871
await Promise.all(actorsArray.map(updateData));
105 1893881
>>3878
Пытался писать не говнокод?
2345345.png4 Кб, 271x192
106 1893892
>>3876
Какое из вне?

Мутировать аккумулятор на итерациях редюса или нет? Вот в чем вопрос.

Вот на пике как правильней? Или например, если аккумулятор - объект.
107 1893893
>>3880
Но map же принимает только 1 аргумент... А там в функции их два - сам actor и некие options (которые как могут быть дефолтными для всех actor так и быть уникальными для каждого из них)
108 1893895
>>3567
Всё норм, ты просто реактомакака, а не программист.
109 1893897
>>3878
А зачем тебе он нужен вообще этот сайд-эффект, даже и не в мапе, а в цикле?
110 1893900
>>3850
Я в работе вижу практически всегда второй варик через spread, он и короче и чуть более понятен, можно еще и return убрать. А если ты пушить собрался, то больше смысла имеет определить acc во внешнем скопе и просто внутри forEach пушить. Пушить подозреваю побыстрее будет, но имеет смысл уже на 1000+ элементах.
111 1893902
>>3892
Извне это:
let array = [1,2,3];
otherArray.reduce((acc,e)=>/какойтокод/, array)
112 1893903
>>3579
Всегда есть такое желание, более того, иначе даже не могу заставить себя работать.
113 1893909
>>3893
Мне за тебя весь код писать? Общий принцип тебе показали, действуй.
114 1893919
>>3897
блин это какая-то функциональщина головного мозга
давай еще скажи что foreach тоже не нужон
115 1893921
>>3902
Но там же не из вне.
116 1893922
>>3919
Ну а срсли, зачем он тебе нужон? Обычно или что-бы во что-то кжадый элемент конвертнуть (map), что-то сагрегировать (reduce) или отфильтровать данные (filter)
Ну реально придумай плз пример, когда нельзя решить задачу этими штуками
117 1893934
>>3922
Потому что цикл читается и понимается гораздо лучше чем дрочево редьюсов с рекурсиями. Кукареки "да ты просто не привык к функциональщине" оставь при себе, в любом современном ФП-языке рекурсия - это в 99% случаев антипаттерн и так существуют list-comprehensions, которые читаются как обычный цикл и используются в тех же местах. Никто не дрочит твои маняредьюсы каждый раз когда им надо n раз пукнуть.
118 1893937
>>3922
блин да он часто проще
а уж какую-нибудь анимацию в канвасе без циклов делать вообще лол
16011320437830.png26 Кб, 947x492
119 1893942
>>3921
Где "там"? Если в качестве аккумулятора ты используешь переменную, значит делай копию этой переменной и работай c копией, мутируя её в калбэке функции reduce.
Писать [...acc, e] вместо (acc.push(e),acc) будет только конченный дебил почему - показано на пикриле.
120 1893947
>>3942

>Если в качестве аккумулятора ты используешь переменную


Где такое я сказал? Хуле ты слепошарый такой?

[...acc, e] каждую итерацию возвращает новый acc
(acc.push(e),acc) мутирует один acc
В том и был вопрос, что лучше. ФП же требует не мутировать ничего.
121 1893949
>>3942
Только семантически такая запись внутри reduce никакого смысла не имеет, смысл reduce в том чтобы возвращать новый объект на каждую итерацию, а не мутировать его. Есть хочешь пушить, то внутри forEach.
122 1893955
>>3947
Хуесосина тупорылая, я тебе изначально объяснил в каких случаях как действовать. Ты высрал "какое из вне?", на что я тебе объяснил какое. Ты хоть сам то себя понимаешь, макакен? Тебе вообще лучше забыть про программирование, даже на JS.
123 1893959
>>3949

>смысл reduce в том чтобы возвращать новый объект на каждую итерацию, а не мутировать его.



Смысл reduce в приведении массива одного вида, в данные другого вида. Это не обязательно объект, это может быть и число.

>Есть хочешь пушить, то внутри forEach



Показывай пример. Только не говори что собираешься мутировать в forEach какую-то переменную извне.
124 1893961
>>3955
Я бы лучше забыл, что ебал твою мамашу.
125 1893981
Есть вызов:
const maxNumber = prompt('Выберите максимально возможное число')

После этого надо выполнить ряд действий, но только если юзер выбрал какое-то число а не нажал на Cancel. Мне явно проверять if (maxNumber !== null) ? Выглядит по-уебански, но я не могу же проверять на if (maxNumber) потому что оно может быть нулем...
126 1893985
>>3981
let numberSelected = true;
const maxNumber = prompt('Выберите максимально возможное число') ?? numberSelected = false;

if (numberSelected)
127 1894024
>>3985

>const maxNumber = prompt('Выберите максимально возможное число') ?? numberSelected = false;


вут
128 1894037
Как заставить меняться изображение в теге img с помощью жс?

Вот в чем суть: есть svg-изображение "стрелочка вверх" при нажатии на которую окно под ним сворачивается, при повторном нажатии - разворачивается, однако я хочу изъебнуться и не делать так чтобы стрелочка всегда показывала вверх, когда нужно развернуть окно, она должна показываться вниз. Как это сделать при помощи ванильного ЖС?
129 1894039
>>4037
Ну поставь есть трансформом rotate или scale. В чем проблема-то собсна?
130 1894049
>>3947

>ФП же требует не мутировать ничего.


Но ты не пишешь на ФП языке, шиз. Нет никакого практического смысла дрочить редьюсы вместо for цикла с мутацией, для потребителя API это будет то же самое, ему абсолютно поебать, спавнит твоя функция 1000 ИММУТАБЕЛЬНЫХ массивов чтобы вернуть результат, или создает этот результат сразу и мутирует его в процессе.
131 1894050
>>4049
Я так понимаю фп - такой же бессмысленный дроч, как и ts?
132 1894060
>>4050
В конктексте жопоскрипта - да, более-менее. Мутировать переданные тебе объекты и так моветон, для этого гением ФП быть не надо, а внутри своей функции можешь хоть в жопу ебаться, главное результат отдай. И в жопу ебаться гораздо приятнее прямолинейным циклом, который любой дебил прочитает без проблем, чем дрочить редьюсы чтобы сделать ФП-шизика счастливее.
133 1894074
>>4060

>внутри своей функции можешь хоть в жопу ебаться


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


LGBT Pride & BLM: Начало
134 1894091
Можно ли как-то в ангуляре повесить хендлер на элемент в зависимости от параметров?
Например если в компоненте некий actionFlag = true то на элементе висит хендлер: (click) = "myFunction()"
135 1894097
>>4091
(click) = "actionFlag ? myFunction() : null"
136 1894109
>>4097
Типо так можно? Какие вообще ограничения на expression внутри кавычек? Я могу многострочную ебень там понаписать и т.п.?
137 1894113
>>4109
Выше же уже и функция из компонент скопа вызвана
Конечно можешь
138 1894122
>>4091
Ануляр вроде как всю эту дрянь в справа умеет в рантайме гонять через свой интерпретатор, поэтому туда можно писать всякую динамическую дичь как будто там всамедлишный жс
139 1894155
>>4091
Тебе уже ответили.
Но, так лучше не делать. И не только в Ангуляре, а вообще.
Эту проверку лучше делать в функции-обработчике. В шаблоне должно быть логики по-минимуму.

А если ты имел в виду назначать/удалять обработчик у элемента, в зависимости от, как делают в чистом жс - то так в шаблонных фреймворках не делают. Если это критично - можно по-разному рендерить элемент - с обработчиком или без, в зависимости от условия.
140 1894564
Ананасы, поясните как правильно реализовывать залогиненное состояние клиента на странице, что бы при перезагрузке он оставался в логине. В локал сторедж записать токен авторизации и при перезагрузке его отправлять на сервер ?
141 1894583
>>4564
Да
142 1894616
>>3895
И как из реакто-макаки стать программистом?
Я совета спросил, мне твои аналитические навыки нахуй не нужны
143 1894631
>>2152 (OP)
Аноны, кто разрабатывал игры при помощи web, вы сами рисовали элементы? Если да, то как?
144 1894632
>>4616
В твоём случае только живительная эвтаназия поможет.
145 1894634
>>4631
document.createElement
И весь мир у твоих ног
если не ебанешься раньше времени
146 1894635
>>4631
И объясните пожалуйста как работают фреймворки по типу gdevelop-app? Это типа конструктор или ты код пишешь параллельно?
image.png174 Кб, 838x508
147 1894639
>>4634
>>4631
Лол
Вот такого рода, к примеру, люди на фотошопе рисуют или как Честно не представляю
148 1894642
Как гребется, аноны?
149 1894658
>>4639
Кошак скорее всего в редакторе был нарисован, а у всяких квадратиков различие только в стилях, которые можно шаблонизировать.
150 1894667
Какие пререквизиты для вката в электрон?
151 1894676
>>4658

>редакторе


Не стать мне короче gamedevом. А так, это долго учиться в редакторах рисовать?
152 1894687
>>4631
Очевидный WebGL. На худой конец Canvas.
153 1894705
>>4564
"Правильно" реализовывать - это использовать http-only зашифрованную куку с сессией и вторую куку с публичной информацией о пользователе(id, имя и т.д), обе из которых должен выставлять сервер, чтобы ты мог по публичной куке в любой момент определить статус сессии. Но если сервер пишет непонятно кто, то скорее всего придется дрочить токены и локалсторы.
154 1894709
>>4667
Хуй сосешь?
155 1894714
>>4709
Как и все в этом треде.
156 1894717
>>4714
То есть, нет.
157 1894720
>>4717
Сам спросил, сам ответил. Вот ебанутый.
158 1894733
Где почитать как работают импорты модулей в бабеле/вебпаке? Я не понимаю когда он принимает решение импортировать весь модуль, а когда - только нужный файл. В ситуации с лодашем, у которого каждая функция чистая, импортится только то что нужно, но только если писать:

>import debounce from 'lodash/debounce';


вот так не работает:

>import {debounce} from 'lodash';


импортится весь модуль. Интересно, почему.

Пытаюсь не импортировать весь модуль graphql, используя синтаксис

>import {print as printGraphQL} from 'graphql/language/printer';


но он в бандл тащится весь модуль, когда мне только эта функция нужна.
Я вообще не понимаю как это работает.
159 1894739
>>4632
Вся суть руснявого комьюнити - выебоны на пустом месте и элитизм. Сходи нахуй, говна кусок
160 1894741
Решил прологировать Observale что есть в одном компоненте (проект не мой) вот так:

this.readableAgents$.subscribe(
(x) => console.log(x)
);

Но в логах он сначала мне пишет пустой список а затем на следующей строке уже список заполненный объектами, хотя console.log я вызываю 1 раз. Почему так?
161 1894750
>>4733
Ты вообще отдаешь себе отчет в том, что в приведенных тобою снипетах импорта лодаша, ты импортируешь код из разных модулей?
162 1894751
>>4733

>Интересно, почему.


По кочану, да по капусте.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
165 1894756
166 1894757
167 1894759
>>4757
Просто съеби
168 1894760
>>2152 (OP)
Поясните, CMS были изобретены для того, чтобы кабанчики вместо заказа сайта у разраба, платили создателю движка? В чём тогда смысл существований совсем простеньких веб студий третьего сорта, берущие простенькие заказы, если их продукты можно заменить CMS. Свой движок и возможность допилить рокет саенс при желании или просто незнание рынка заказчиком?
16091859424740.png90 Кб, 251x203
169 1894761
Поясните, как грамотно использовать MutationObserver.

Мне нужен для скрипта на на сторонний сайт. Сайт на рякте, поэтому просто добавить элемент по domcontentloaded не получится.

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

Вопрос - как правильней: вызывать функцию на каждую мутацию и делать проверку в самой функции (и ретурн, если нет элемента). Или сначала проверку, а при наличии элемента вызывать функцию.
170 1894766
>>4761

>обсерверы


>грамотно

171 1894767
>>4741
По этой теме: в rxjs есть Observable вроде этого:

availableNames$: Observable<string[]> = this.openFields$.pipe(
map(fields => [...fields.keys()])
);

Мне нужно внутрь этого массива добавить дополнительное имя "selector", если значение переменной-флага option == true. Был бы это просто цикл, я б на пофиг подмешал туда if но тут-то надо прогать в реактивном контексте, availableNames$ это Observable а не сам массив. Как туда подмешать новое значение в зависимости от переменной-флага?
172 1894768
>>4766
Ну а каким еще образом можно впихнуть свои элементы на чужой спа-сайт
173 1894771
>>4768
Зачем тебе впихивать свои элементы на чужой спа-сайт?
174 1894775
>>4771
Чувакам с хуйцом менее 20 см не понять
175 1894886
>>4733
Это уже зависит от того, что там авторы модуля нахуевертили с импортами. Забей хуй и только обращай внимание на разросшиеся бандлы.
176 1894912
lodash в 2020/2021 нужон?
177 1894926
>>2152 (OP)
Анончик, с наступающим, такой вопрос, может где лежат курсы с angular university в бесплатном доступе? Я потом, когда стану крутым разрабом, постараюсь отработать.
178 1894930
Как относитесь к его лекциям, можно по ним научится?
https://www.youtube.com/c/TimurShemsedinov/videos
179 1894933
Да
180 1894963
>>2715
А пацанчик-то реально умер. ебанулся
181 1894981
>>4741
Зависит от того, откуда появился изначальный Observable. Скорее всего за ним стоит BehaviorSubject, который при подписке отдает значение с которым он был создан, а потом уже отдает то, что в него запишется позже.
182 1894989
>>4767
Не совсем понял проблему.
Можешь просто в map смотреть на флаг и менять данные как тебе надо. Если тебе надо что бы данные из Observable менялись ещё при изменении флага, то тут только делать отдельный Observable с переменной флага и смерджить два obs в один.
183 1895067
>>4631
>>4635
>>4676
Обычно одни рисуют, другие - пишут код.
Но, в маленьком проекте всё делаешь сам.
Есть огромное количество готового игрового клип-арта в интернетах.
Просто охуевающее количество, погугли game dev clipart.
Если надо - можно подрисовать немножко к готовому.

Также, есть куча книг по разработке игр на JS.
Там этот вопрос тоже рассматривается.
Гуглить javascript game development book.

Также - есть бесплатные туториалы и видео.
Всё гуглится.

Если не очень можешь в английский - на русском тоже должно быть дохуя всего.
image.png65 Кб, 1673x431
184 1895362
Аноны, такая тема, может кто-то сталкивался, нужен скрипт который при нажатии на кнопку получает айди кнопки, потом ищет в родительский элемент элемента с таким айди, получает количество вложенных элментов в родителе, скрывает изначальный дочерний элемент, а все другие дочерние элементы автоматически расширяет равномерно занимая пустое пространство после скрытия изначального дочернего элемента

Надеюсь я понятно объяснил, пример на пике, у нас есть два пседоОкна, когда закрываем одно, другое автоматически должно расшириться на его пространство
185 1895381
>>5362
фигня какая-то у тебя а не объяснение

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

ну а если хочешь ебаться то есть всякие методы для дом дерева типа closest ну а айди ты знаешь просто в листенере как this.id
186 1895410
>>4912
нужен чтобы не писать вручную всякие дипкопи и дебаунсы
187 1895422
>>5381
Я не знаю как прописать поведение остальных элементов так что бы они сами заполняли пустые пространства. у тебя есть пример?
188 1895433
>>4733
пиши import { debounce } from 'lodash/debounce'
189 1895434
>>5422
почитай про css flex
190 1895488
>>5434
я знаю что такое флекс, я его использую, и он автоматически расширяется на всю ширину при масштабировании окна, то есть делает то что называется адаптивность, но как сделать так что бы элемент автоматически занимал место ДРУГИХ элементов, это я хз
191 1895531
>>5488
когда ты скрываешь элемент там освобождается пространство которое можно занять

короче я не буду с телефона пытаться на фиддле пример показать, доберусь до ноута запосчу
192 1895632
Привет. Есть строка "00011". Как мне ее конвертнуть в number чтобы начальные нули не обрезались и получилось 00011?
193 1895633
>>5632
И что это за число такое 00011?
194 1895634
>>5633
Ну у меня спека на работе ебанутая. Надо возвращать номер билета обязательно в формате Number, блять. А номер в свою очередь приходит строкой, к примеру "00011". Естественно, при дефолтной конвертации через +, parseInt, Number и тд. оно нули обрезает. Вот я и спрашиваю может есть какой нибудь трюк, или мне просто отвечать чтоб не выдумывали хуйни и возвращали номер в строковом представлении.
195 1895635
>>5488
вот добрался, держи пример
https://jsfiddle.net/2cqsbx5u/
196 1895637
>>5634
в формате намбер нет нулей вначале нэ
197 1895638
>>5637
Да я это понимаю. Получается единственный способ сохранить нули в начале номера - передавать его только в строковом формате?
199 1895651
>>5634

>Надо возвращать номер билета обязательно в формате Number, блять


Куда возвращать?

Число 00011, эквивалентно числу 11, я не понимаю какую разницу между ними ты вообще ожидаешь?
200 1895653
>>5651

>Куда возвращать?


В ответ сервиса JSON

>Число 00011, эквивалентно числу 11


Да ладно?

>я не понимаю какую разницу между ними ты вообще ожидаешь?


Ты пизданутый или что то? Прочитай еще раз выше пост. Это не моя хотелка, а по идиотски составленная спека.
image.png29 Кб, 423x249
201 1895655
>>5634
Не благодари.
202 1895657
>>5655
Не благодарю. Ты это запускать пробовал? Что получилось?)
203 1895658
>>5653

>В ответ сервиса JSON


в джсоне все строки, не выпендривайся и пихай туда строку
204 1895660
>>5657
А жопу тебе не подтереть?
205 1895661
>>5657
Пробовал, все получилось, сказать что хотел?
206 1895662
>>5653

>В ответ сервиса JSON


Так возвращай 11. В чем проблема?

>Да ладно?


Слушаю список отличий. Вообще, в JS 011 это 9, но я сильно сомневаюсь, что ты имел в виду восьмеричное представление числа.

>Ты пизданутый или что то? Прочитай еще раз выше пост. Это не моя хотелка, а по идиотски составленная спека.


Для задающего такие вопросы ты слишком агрессивен чот.
207 1895664
>>5660
Я просто реально не понимаю. Вот ты ведь не поленился напистаь эти 13 строк. А то что это никак проблему не решило тебе вообще пахую?)

>>5658
Ну во первых не все.
Во вторых я бы уже давно пихнул и расслабился, если не нужно было бы для этого все пересогласовывать и просить поменять спеку и другие сервисы, зависящие от моего.
208 1895665
>>5661

>все получилось


Что?)

>>5662

>Так возвращай 11. В чем проблема?


В том что по спеке нужно вернуть 011, и именно с ебаным нулем, и именно в Number.

>Слушаю список отличий


То есть сарказма ты не понял. Хотя раз ты с 3 раза не понял о чем я говорил, то это не удивляет.
209 1895666
>>5664
Какую проблему, шиз? Ты говоришь, что тебе приходит номер с нулям, ты хочешь с ним работать как с числом, но потом опять вернуть в формат с нулями. Я тебе дал способ это сделать, если тебе еще что-то надо, то формулируй вопросы нормально.
210 1895667
>>5664

>Ну во первых не все.


все
джсон по умолчанию представление объекта в виде строки
211 1895669
>>5665
011 и 11 это одно и то же число. Передавая 11 ты передаешь и 011 и 0011 и 00011.

>В том что по спеке нужно вернуть 011, и именно с ебаным нулем, и именно в Number.


Значит тот, кто ее писал такой же дурачок как и ты, что тут скажешь.
image.png4 Кб, 193x81
212 1895671
>>5666

>Надо возвращать номер билета обязательно в формате Number


>чтобы начальные нули не обрезались и получилось 00011



>формулируй вопросы нормально.



Как? Ну вот скажи, как мне ЕЩЕ сформулировать? Для идиота даже понятно по моему. Но ты не понял.

>>5667
Ой, а что это у нас такое? Специалист JS треда снова обосрался? Вот не впадлу же вам спорить, когда очевидно что в вопросе ошибаетесь.
213 1895672
mobx
214 1895673
>>5671
Идиоту уже пять раз объяснили, что формата "Number и шобы нули не обрезались" в жопоскрипте, да и вообще в любом языке, нет. Идиот не понял, и продолжает нести свою шизоидную чушь в тред, вместо того, чтобы переформулировать вопрос и сказать наконец, что ему нужно сделать и нахуя.
215 1895675
>>5671
чтобы парсинг джсона был с нулями тебе нужна строка заебал уже
216 1895676
>>5665

>В том что по спеке нужно вернуть 011, и именно с ебаным нулем, и именно в Number.


Такое невозможно в жс.
Разве что только в результирующий джейсон вставлять строку, а потом парсить её и убирать кавычки.
217 1895677
>>5634
Вопрос уровня «как мне передать !false в Bool, но не true, а именно !false».
218 1895679
>>5676

>В том что по спеке нужно вернуть 011, и именно с ебаным нулем, и именно в Number.


>Такое невозможно в жс.



Один, ОДИН не-долбоеб в треде нашелся. Это я и рассчитывал услышать.

Вот этот - >>5673 это вообще охуеть насколько пизданутый. С 4 раза не понял получается. А идиот у него я. Хех.
219 1895680
>>5676
До ес6 (или 5, не помню уже) числа с велущим нулем - восьмиричная запись числа. Но тами цифры в разрядах могут быть только от 0 до 7.
220 1895683
>>2152 (OP)
node.js
делаю реквест на www.twitch.tv/directory/game/Dota%202
получаю респонс
как из него выпарсить названия каналов?
как вызвать больше респонсов от прокрутки?
221 1895684
>>5679
просто иди нахуй
222 1895685
>>5679

>Один, ОДИН не-долбоеб в треде нашелся


>>>1895635


>в формате намбер нет нулей вначале нэ


>>>1895651


>Число 00011, эквивалентно числу 11


>>>1895669


>011 и 11 это одно и то же число. Передавая 11 ты передаешь и 011 и 0011 и 00011.

223 1895689
>>5683
Кури доки к апишечке, там наверняка есть опции типа `page` и `limit`.
Ну или через папитир чисти вилкой, если к апишечке доступа нет.
224 1895697
>>5689
с api всё понятно, но он хочет client_id для которого надо как девелоперу подрочить. Так не годится.

>Ну или через папитир чисти вилкой


Что конкретно нужно делать?
225 1895698
>>5685
Ну то есть можно ответить как умный чел "по озвученным критериям это невозможно", а можно как ебанат поехавший, я понял.

>>5684
Ахахахах, клоун, не рвись.
226 1895751
Какой фреймфорк лучше всего подходит для мета программирования?
227 1895763
>>5697

>Что конкретно нужно делать?


Всё то же, что и в клиентском жс - дёргать дом, выковыривать значения, хранить их в джейсоне/дб, программно нажимать на кнопки и/или листать страницу для дальнейшего ковыряния.
228 1895770
>>5751
Metaframework.js
229 1895788
Как и куда лучше и дешевле задеплоить фулстак cra?
230 1895818
>>5788
cra? Так это же просто html со скриптом, можно хоть на гитхабе.
231 1895821
пришлось конкретно так гуглить чтобы расшифровать это cra и то не уверен что правильно
232 1895823
>>5788
heroku
233 1895830
>>5751
Handlebars JS
234 1895848
>>5818
Все что высрет вебпак кидать на хостинг? С серверной частью так же?
image.png15 Кб, 800x159
235 1895868
>>2152 (OP)
Так бля, не понимаю, что еще за функции resolve, reject которые мы передаем в Промисе?
236 1895871
>>5848
ты в любом случае все что высрет вебпак кинешь на хостинг...
237 1895874
>>5868
это коллбэки которые успешно или не успешно завершают промис
238 1895875
>>5874
Но я никогда не передавал эти коллбеки никуда, юзал только then/catch (нахрена вообще есть resolve/reject когда есть then/catch ?)
239 1895876
>>5848
С серверной частью сложнее. Нужен хостинг, переваривающий ноду, так что только всякие хероку, версель и нетлифай.
240 1895884
>>5848
У CRA нет никакой серверной части, только статика. Вебпак, кстати, тоже никакого отношения к ней не имеет.
241 1895886
>>5875
Их используют когда нужно сделать новый промис, а не использовать какой-то существующий.
242 1895901
>>5875
когда внутри промиса выполняется ресолв то исполняется код в зэн блоке, а когда там исполняется реджект то код в кэтч блоке
sunglass-selfie (1).jpg41 Кб, 640x360
243 1895912
>>2152 (OP)
Как в nodejs сделать GET с параметрами в URL? Сделал get но параметры не прикрепились (first, game_id)
const options = {
hostname: 'api.twitch.tv',
port: 443,
path: '/helix/streams',
method: 'GET',

first: 100,
game_id: 29307
};
244 1895915
Может кто объяснить почему lodash это типо КРУТА и ПИЗДАТА но вот jquery это "фу"? Потому что хипстеры не одобрили?
245 1895920
>>5915
Зачем ты сравниваешь две библиотеки с разными предназначениями? Лодаш библиотека с набором полезных функций-утилит, а жквери это библиотека для манипуляций с домом и сетевыми запросами. Жквери устарел, потому что, во-первых, нативный жс хорошо поднялся, во-вторых, все уважающие себя перешли на фреймворки вида Ангуляр, Реакт, Вуе.
Лодаш не устарел, потому что его функционал еще не заменён нативным жс или фреймворками.
246 1895927
>>5912
Для начала написать, через что ты этот запрос делаешь, а лучше сразу гугли "моялибанейм query parameters", может там есть встроенный способ их прикреплять, а может придется вставлять самому.
247 1895931
>>5927
const https = require('https')
248 1895934
>>5931
Установить нормальный http клиент, от этого ты охуеешь, он слишком низкоуровневый. axios какой-нибудь ставь.
249 1895941
>>5934
уже нашёл решение
const querystring = require('querystring');
спасибо анон
250 1895951
>>5934
ивенты error и end взаимоисключающие я правильно понял?
251 1896151
webstrom норм ИДЕ?
252 1896153
Нихуя не пойму, закинул я свой высраный потом и кровью на хостинг gearhost как теперь сделать что бы у меня была ссылка типа www.xyi.ru или что то подобное и она вела на мой сайт? Или лучше на авс залить?
253 1896155
>>6153
?
На хероку все норм шло, не ебу что там у тебя. А если хочешь прям "свой сайт нахой" то покупай хостинг, покупай доменное имя бля а ты че думал?
254 1896159
>>6155
Бля ну хероку и прочая ебала по моему не серьезно, хули это че за сайт www.хуйнейм.хероку.вочко.com, хочу по настоящему
255 1896164
>>6159
Покупай бля хостинг я яндекс-хостинг юзал и свою питонопарашу туда заливал, покупай доменное имя бля. Думаешь это тебе кто-то за бесплатно подгонит?
256 1896229
>>5676
Чувак, 011, c ёбаным нулём, в Number - это число в восьмеричном коде.
Знаешь, что это такое?
011 (oct) = 9 (dec)

Ебаный ноль - это и есть признак восьмеричного кода.
Если же тебе нужен десятичный код, в Number и с нулём - так не бывает.
1592603862034.png799 Кб, 1279x1842
257 1896234
>>2152 (OP)
Есть какой то способ упаковать, или сгенерировать dllлку для nodejs скрипта, чтобы он работал без установки nodejs? dependecies: 'fs' 'querystring' 'https'
258 1896235
>>6229

Подожду, пока кто-то более шарярщий поможет.
259 1896237
>>5915
>>5920
jQuery - это не фу.
Это очень удобный и красивый DSL.
И его вполне себе используют и с фреймворками.
Но, одноклеточные долбоёбы с сосача даже слов таких не знают, не говоря уже о том, чтобы понимать.
260 1896240
>>6229
>>5676
0b11
0o11
0x11
261 1896253
>>6235
Более шарящий в чём?

Кстати, восьмеричные литералы с нулём нынче deprecated, про это я подзабыл, ибо давно не имел дела с ними.
Да и в твоём случае они ни при чём - я почитал с самого начала.

То, что ты хочешь - невозможно.
И это не нужно.
Не может быть никакой причины так делать.

Так что, это у тебя либо не число, а код (строка), либо ведущие нули не нужно сохранять, чтобы работать с этим числом.
Если же это таки число, и тебе потом надо отправлять данные назад в таком же виде, с нулями - значит надо делать кастомный форматтер числа для вывода в json.

Если ты расскажешь больше подробностей - возможно, я тебе что-то посоветую.
262 1896284
>>6253
00011 + 12 != 11 + 12 и != 0011+ 12
263 1896293
>>6253

>восьмеричные литералы с нулём нынче deprecated


Это вообще легально? У меня вот в новехоньком хромиуме до сих пор <marquee> и <font face=""> нормально работают
264 1896296
>>6293
В жыэс
265 1896304
>>6296
Да какая разница. Весь веб это такая хрень где можно только добавлять, но не убавлять, чтобы что-нибудь чужое случайно не сломать
266 1896344
>>6293
Легально. Они не работают только в strict mode. А то, что ты перечислил это вообще не часть JS. Алсо, иногда из браузеров убирают фичи, которые планировались, но в итоге не попали в стандарт.
267 1896347
>>6284
У тебя там своя арифметика, я смотрю.
268 1896370
>>6284
Ты пиздишь.

Открой, блядь, консоль браузера.
Прямо сейчас открой.
И набери туда просто 011
И сразу, тут же, внизу увидишь 9.

Потом - 0011, потом - 00011 - и снова увидишь 9.
Догадываешься, почему это 9, а не 11?

Потом набери туда 0011 === 00011
Потом - 0011 + 12 === 00011 + 12
В обоих случаях увидишь true
Неожиданно, да?
269 1896385
>>6370
Так мне и нужно, чтобы числа с нулями впереди обрабатывались как числа с нулями спереди, то есть чтобы js не обрезал нули.
270 1896410
>>6385
Звучит как шизофрения
271 1896414
>>6159
На namecheap купи себе доменное имя например
272 1896422
>>6151
это тот же пхп шторм для людей ненавидящих слово пхп, так что да
273 1896425
>>4930
Очень хорошие лекции. Но больше для того чтобы понимать как вообще работать в Node.js. В общем рекомендую. Сам далеко не все посмотрел правда. Сам Тимур очень шарящий
1604346865291.jpg68 Кб, 717x717
274 1896430
>>2152 (OP)
Есть функция, которая делает свое дело. Как к ней приделать ивент onfinished, так чтобы в нем можно было зарегистрировать другие функции на экзекуцию после неё?
275 1896438
>>6385
Это восьмеричные числа.
Более того - это, блядь, литералы.
Ты понимаешь что такое литерал?

У тебя там номера билетов, кажется?
Они что, восьмеричные?
Вы там ебанутые?

В любом случае - хочешь восьмеричных чисел из json - нет проблем, используй свой десериализатор, для строк, состоящих из одних цифр, и начинающихся с нуля: parseInt("011", 8)
276 1896442
>>6430
Никак.
Только создать новую функцию, которая будет вызывать эту функцию, а потом - onFinished().

Как вариант:
const myNewFunction = (someArg) => {
myFunction(someArg);
onFinished();
}

Потом:
myNewFunction('foo');
277 1896444
Если мне нужно вызвать функцию сразу после инициализации и только один раз, как это правильней сделать?

Просто писать вызов функция() после инициализации или использовать iife?

И как лучше записать одноразовую функцию - обычной или стрелочной.
278 1896446
>>6444
Как удобнее, так и делай.
Стрелочные от обычных отличаются только обработкой this.
В стрелочных он из внешнего контекста, в обычных - свой собственный.
279 1896458
>>6229
Так ему бы в спеке сказали разрядность, а не Number с нолями.
carbon.png71 Кб, 722x1228
280 1896460
>>6446
Стрелочную нельзя вызвать до инициализации.

Имеет ли смысл использовать стрелочные/функциональные выражения вместо обычных для оптимизации?

Скажем, у меня несколько функций внутри другой функции. И часть функций может не вызываться по условию. Если сделать объявления стрелочными после условия или делать обычные функции (которые заранее инициализируются), здесь будет разница?

Вот на пике два варианта.
281 1896463
>>6458
Что значит "нельзя вызвать до инициализации"?

(() => ...)()

Ты занимаешься хуйнёй преждевременной оптимизацией.
Это большой грех и корень многих зол.
Сделай уже как-нибудь, и не еби мозг.
282 1896464
Промахнулся:
>>6463 --> >>6460
283 1896466
>>6463
У меня давно все сделано. Мне нужна оптимизация. Любая. Хоть сколкьо-нибудь.
284 1896467
>>6466
Что значит "оптимизация"?
Что тебя не устраивает в том, что ты сделал?
Почему ты думаешь, что такая ерунда тебе что-то оптимизирует?
285 1896469
>>6467
Ладно, как ты бы огранизовал подобную хуету?
286 1896476
>>6469
Какую именно? Я вообще не понимаю, в чём проблема.
Функцию инициализации?
Функции внутри функций?
Это зависит от многих вещей.

В любом случае - единственное принципиальное отличие стрелочных от обычных - обработка this.
287 1896499
Щас на протяжении часа между мной и вебпаком был анальный секс (он сверху). А потом я сказал "нахуй это всё" и вкатился в rollup. Запустилось с 1 раза за пару минут. Перекатывайтесь на rollup!
288 1896504
>>6442
Если так написать onfinished сработает до того как myfunction кончит
289 1896505
>>6504
С чего бы это вдруг?
Ты где-то видишь асинхронный вызов?
290 1896510
Как заколбакить функцию А из функции Б передав ей ретурн Б, на одном и том же объекте?
>>2152 (OP)
291 1896511
>>6510
Что такое "заколбакить"?
Это "заколбасить" с опечаткой?

Какова цель, что ты хочешь получить?
292 1896512
>>6442
>>6510
Похоже, ты хочешь делать асинхронные вещи, но не понимаешь, как это называется?
Т.е. запрос к удалённому серверу, а затем - какие-то действия с результатом?
Если да - то нужно использовать promise.
Это не просто "заколбакить" одну функцию из другой, всё немножко хитрее.
293 1896516
>>6511
class x{
let r
A(callback)
{
onend(,(arg) =>
{
callback(arg)
})
}
B(callback){
onend(,(arg) =>
{
callback(arg)
})
}
C(callback){
onend(,(arg) =>
{
})
}
Do(){
A(B(C)) //Короче вызвать последовательно A B C
}
}
294 1896517
>>6512
Всё именно так как ты сказал. Запрос https.request()
295 1896518
>>6516
функции синхронные? ну и вызывай переданный в них коллбэк в самом низу
если асинхронные то делай тоже самое только после await

какие-то идиотские вопросы имо
296 1896519
ну или оберни в промисы и используй then как это вообще надо делать
297 1896522
>>6517
Разберись с промисами. Погугли, почитай что-нибудь.
Ничего особенно сложного, но, в двух словах это трудно объяснить.
Потом можешь задать более конкретные вопросы, если будут.

Начать можешь прямо отсюда:
https://github.com/axios/axios
298 1896523
299 1896525
>>6522
>>6523
Чет вы хуйню советуете. Достаточно fetch и асинх-аваит почитать.

>>6517
Ну так может нужно посмотреть как это делается, а не изобретать самому?
300 1896526
>>6525
async|await хороши, когда человек понимает, что это, и как это работает.
И что такое вообще асинхронные операции.
301 1896534
>>2152 (OP)
Как-то попадалось правило стайлинга, что не принято использовать continue и break. Так ли это? Часто ли сами используйте?
Я вот часто весьма.
302 1896543
>>6534
вообще ни разу
меня за попытку использовать цикл уже ругают
303 1896544
>>5635
Cпасибо няша!
304 1896546
>>6543

>меня за попытку использовать цикл уже ругают


Это как.
305 1896548
Бля ребята заебался помогите. Короче есть две папки client и server клиент запускается с вэбпака ,сервер как обычно, если запускать сервер через нодемон а клиента через devServer с прокси на localhost:5000 то все крутится заебись, но стоит собрать клиента через dev или build то нихуя не работает, думаю проблема в проксировании, как захуярить это проксирование в статичную страницу?
306 1896549
>>6546
ну обычно как, на ревью
307 1896550
>>6549
Т.е. у вас ещё и циклы запрещают. Что дальше? ifelse?
308 1896551
>>6237

>И его вполне себе используют и с фреймворками.



Кто? Долбоебы вроде тебя? Возможно. Но любой адекватный программист знает, что нужно избегать прямых манипуляций с DOM и делать всё при помощи специального синтаксиса в шаблонах.
309 1896552
>>6550
тоже часто не используется лол
310 1896553
>>6552
А что вместо них. Тернарные операторы?
311 1896556
>>6553
Очевидный switch-case
16093723272370.png190 Кб, 626x626
312 1896572
>>6553
val && fn()
fn1() || fn2()

я себя иногда чувствую вебпаком (:
313 1896607
>>5067
Ай, спасибо тебе большое, добрый мен
314 1896648
>>6551

>что нужно избегать прямых манипуляций с DOM


обоснуй почему
315 1896656
Планирую выпилить жквери из проекта и переписать на чистом жс.
Какие подводные? Кто пробовал такое делать?
316 1896657
>>6648
Дороха, у нас же ведь весь сайт в памяти клиента хранится, плюс редукс обмякает.
317 1896658
>>6657
Нихуя не понял, что ты хотел сказать
318 1896673
>>6656
Не задавался вопросом, почему до сих пор этот проект не переписан на ваниллу?
Проблема переписывания не столько в самом жикверике, сколько в сопутствующих проблемах, типа переменных в глобал скоупе, на которых может быть завязан огромный пласт логики, прямые манипуляции стилями, плагины к жиквери, которые не совсем очевидно как переписать на ваниллу без ковыряния сырцов.
Это дело может затянутся надолго короче, так что ещё добавь обьяснять кабанчику надобность такого переписывания.
Впрочем, ничто не мешает переписывать отдельные очевидные вызовы типа `$("div")`, пока пилишь очередную фичу в том же файле. И через код ревью проще будет протащить.
319 1896679
>>6648
Потому что фреймворк сделан для того чтобы эти манипуляции производить наиболее эффективным образом. Делая это самостоятельно, ты нарушаешь его работу и порождаешь малопроизводительный код.
320 1896685
>>6679
При условии что у тебя вообще есть фреймворк.
321 1896736
>>6685
Это и обсуждается:

>И его вполне себе используют и с фреймворками.

image.png716 Кб, 1222x933
322 1896764

>OOP


@

>ООП

323 1896772
>>6764
Согласен, ООП это круто. Ведь в ООП варианте ты можешь добавить любую функцию для сравнения и код будет работать, а в варианте без ООП тебе придётся переписывать весь код.
324 1896773
Сайты на этих ваших хероку ghpages вообще монетизируются?
325 1896775
>>6772
Взял и добавил невероятную функцию сравнения в класс, а потом создал инстанс, и вызвал его метод вместо того чтобы просто вызвать эту же функцию на месте. Ой как удобно, только выиграли
326 1896776

>2021


>сайты


>монетизируются



как там в 2008
327 1896781
>>6764
Ну вот в пхп наебались с этой ебаной процедурщиной и вызываемыми по динамически вычисляемому ключу функциями в копилках-массивчиках, ушли в полное джаваподобие, видимо до вас пока не дошло
анон 328 1896783
Посоветуйте хостинг недорогой, куда можно сайт на ноде запилить.
329 1896786
>>6781
Из php динамическая диспетчеризация методов и позднее связывание никуда не делось.

Объекты ни в жс ни в пхп ассоциативными массивами не являются.

Ты несешь какую-то дичь.
330 1896787
>>6781

>php


лол

>вызываемыми по динамически вычисляемому ключу функциями


в чём проблема? Берешь и вызываешь без задней мысли о конструкторах
331 1896788
>>6775

>вызвал его метод


И сразу понял что у меня там, equal, lessOrEqual. При этом могу менять эту логику/модифицировать в любой момент, не ломая код который использует данный объект.

>эту же функцию



Она возвращает -1, 0, 1 Т. е. тебе помимо вызова разных функций нужно еще и проверки самостоятельно делать для того чтобы определить что там у тебя вернулось, и делать это в любом месте, либо пилить какую-то дополнительную функцию, которую ты будешь вызывать в дополнении к основным, т. е. получается размазанный и непонятный код, который сложно понимать.
При этом если ты захочешь модифицировать вывод, например в случае если значения равны, ты хочешь писать данные в лог, то тебе придётся менять все функции, а в случае с ООП ты делаешь изменения только в одном месте.
332 1896790
>>6786
Я про то, что справа это нечто типа того что в старом процедурном пхп было бы ассоциативным массивом со стринговыми ключами и значениями-функциями. В плане "удобства" работы так точно одна малина
333 1896794
>>6764
Не понимаю, зачем нужны классы. Зачем нужно создавать объекты через функцию? В js.

Почему эти функции нельзя было положить просто в объект или вообще без него?
334 1896799
>>6794
Ну вот у тебя есть какой-нибудь класс вендорский Compare с методами типа compareByZalupa, ты захотел туда что-то добавить типа comparebyZalupa1, тупо экстендишь, добавляешь. Если у тебя в вендорском коде залупа типа const compare = (matcher, zalupa) и внутри она там какие-то свои правила объявления и обработки этих залуп имеет, то ты сосешь хуй
335 1896801
>>6788

>И сразу понял что у меня там, equal, lessOrEqual


конечно понял, ты же это написал compare.lessOrEqual(5, 10)
Так же как и я вызвал compare('lessOrEqual')(5, 10) и получил тот же результат

>не ломая код который использует данный объект


сейм

>размазанный и непонятный код


размазанный на три лишних строчки. Другое дело чётенький ООП в два раза больший по объему, и уже не страшно если в три станет

>если значения равны, ты хочешь писать данные в лог, то тебе придётся менять все функции


equal: (a, b) => {
const isEqual = a === b;
isEqual && console.log('...');
return isEqual;
}

три строчки, как я и сказал. Какие ещё функции я должен поменять?
336 1896808
>>6794

>Почему эти функции нельзя было положить просто в объект или вообще без него?


Если ты про фабричные функции, то методы в них создаются заново с каждым инстансом, что не есть айс в плане памяти. Иначе нужно пердолиться с прототипами, что ещё хуже в плане читаемости по сравнению с сахарком.
337 1896809
>>6799
compare = defaultCompare => (matcher, zalupa) => {
if (typeof defaultCompare === 'function') {
defaultCompare(...)
}
}
338 1896811
>>6808
можно вынести методы наружу
339 1896814
>>6801

>и получил тот же результат



Так ты от темы то не уходи. Я же тебе сказал, в случае если логика сравнения будет отличной от той что ты в своём compare указал, результат будет не одинаковый. Тебе нужно будет либо менять код compare, что повлияет на уже существующий, либо лепить еще одну функцию и дублировать в ней то что ты уже написал в compare, меняя только логику сравнения. Из этого мы и получаем:

>ломает код который использует данную функцию


>размазанный и непонятный код



>три строчки, как я и сказал. Какие ещё функции я должен поменять?



А если тебе нужно будет делать лог только в определенных условиях? Дай угадаю, теперь у тебя функция equal принимает не 2, а 3 аргумента? В общем, ты и правда такой тупой, что не понимаешь к чему подобные модификации ведут или просто неумело троллишь?
340 1896815
>>6809
Ура, мы пытаемся симулировать полиморфизм ифами, какая красота получается
341 1896817
>>6801
Алсо

>compare('lessOrEqual')


>'lessOrEqual'



Ты хотя бы в константы выводи подобное, хоть не такой жидкий обсер получится. Иначе другой долбоеб вроде тебя напишет lesOrEqual и вы потом как биба и боба будете неделю искать в чём же у вас там баг, почему сравнение неправильно происходит.
342 1896819
>>6764
Зачем ты comparisons (правильно comparators бтв) в функции объявляешь, наркоман? Чтобы на каждом вызове просто так по пять функций создавать? А аргументы зачем мутируешь? Алсо, передача магических строк это довольно хуевый API. Переделывай, короче.
343 1896822
>>6814

>Тебе нужно будет либо менять код compare, что повлияет на уже существующий, либо лепить еще одну функцию и дублировать в ней то что ты уже написал в compare, меняя только логику сравнения


пояснил в >>6809

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


в каких? В полнолуние? Для остальных кейсов, когда у тебя функция делает миллион дел, есть параметр с опциями {логать: не}

>ты и правда такой тупой...


потише, дед, не напрягайся, а то сердце схватит
344 1896823
>>6815

>ура, функция делает десять различных действий

345 1896826
>>6817

>в константы выводи подобное


Чё за хуйню ты спизданул? Константу хочешь? Держи
const lessOrEqual = compare('lessOrEqual')
lessOrEqual(5, 10)
Сори, что заставил тебя заморать трусы
346 1896828
>>6822

>пояснил в >>6809



Тебя это не спасёт от дублирования кода и его хуевой расширяемости.
347 1896833
>>6822

>есть параметр с опциями {логать: не}



Где он? Что-то не видно. Ах, да, щас только вон по той сотне файлов пройдусь, изменю существующее, дополню нужным, проверю чтобы ничего не поломалось и тогда всё появится! О чём и говорилось изначально: Нет ООП - нет планов на будущее.
image.png30 Кб, 537x481
348 1896834
>>6819
это была сарая версия

>аргументы зачем мутируешь


как что-то плохое

>передача магических строк это довольно хуевый API. Переделывай, короче


как скажешь, останусь после работы писать как ты захотел
349 1896836
>>6834

>долбоеб на полном серьёзе предлагает лепить глобальные переменные



Ты еще хуже чем я думал. Я надеюсь ты не называешь это посмешище которые ты высрал "ФП кодом".
350 1896846
>>6833

>Где он?


будет, когда придёт время. Или ты пишешь сразу функцию со всеми возможными вариантами использования на 5 лет вперёд? Тогда моё почтение, пророк

>изменю существующее, дополню нужным, проверю чтобы ничего не поломалось и тогда всё появится


нет, я просто напишу ещё одну маленькую функцию или разделю существующую или сделаю обёртку, а может добавлю коллбек. Ведь я пишу в функциональной парадигме у меня конструктор лего, а не дубовый шкаф на века
351 1896853
>>6836
про модули не слышал? Садись свой первый тудулист писать в таком случае
352 1896861
>>6846

>нет, я просто напишу ещё



Вот, в общем-то, и вся суть ФП. Можно только порадоваться, что твой горький опыт послужил для кого-то примером.
353 1896866
>>6861
ведь ты не будешь писать новый функционал. В ооп он сам себя напишет, проверит, и главное ничего не сломает. Ах как хорошо
354 1896873
>>6866
Именно так, ООП творит чудеса. Осталось тебе только перебороть свою лень и хотя бы основы ООП освоить. Но это конечно сложнее, чем "просто напишу еще".
355 1896874
>>6873
фанатик, спок
356 1896887
>>6846

>Ведь я пишу в функциональной парадигме



Бля, баш оказывается это ФП, там же можно функций накидать
357 1896891
>>6834

>как скажешь, останусь после работы писать как ты захотел


npm i ramda и можешь домой идти
358 1896892
>>6866
Справедливо говоря, в ООП бывает неприятно когда в коде вендора допустим есть метод вроде ок, но там что-то проебано, типа флаг \u не проставлен у регулярки, метод написан хуево и на 500 строк полотном процедурным, и чтобы исправить такую проблему надо делать вообще хз что, то ли переопределять метод и писать в нем почти полную копипасту того что было но с исправлением проебов, либо хз, колдовать
359 1896898
>>6776
в 2020 какие-то другие сайты?
360 1896900
>>6834
Как же херово что в жс нет перегрузки
361 1896904
>>6836

>const


>глобальные переменные


Вся ссуть дебилов с ООП головного мозга. Пиздуй обратно в свою жаву абстрактные однозерновые фабрики писать для вызова одного метода.
362 1896912
>>6891
колеги потом за такое кейкапы снимут с клавы
New Bitmap Image (6).png8 Кб, 489x223
363 1896938
>>2152 (OP)
Как сделать тут так чтобы промис не throwил, а просто выполнял fail, когда fail коллируется в GameNameToID?
364 1896940
>>6938
а и ещё await TryGettingGameIDFromName(...) ждал пока success, но не fail
New Bitmap Image (6).png7 Кб, 525x205
365 1896951
>>6940
>>6938
невермайнд, так норм. Но теперь failу приходиться за собой везде this таскать, можно как сделать без него?
366 1896957
>>6551
Ебанько, jQuery != "прямые манипуляции с DOM".
Но, дегенератам-сосачерам это непонятно.

Зайди на leetcode и посмотри исходники страниц.
Там будет 1-й Ангуляр + jQuery + jQuery UI.
367 1896959
>>6658
Он долбоёб просто.
368 1896962
>>6959
Сказал интеллектуал, клепающий очередной SPA.
369 1896988
>>6962
А в чем разница? В итоге один хуй жс файл запускается лол
370 1896993
>>6988
Естественно для тебя нет разницы.
371 1896995
>>6234
Dll именно - сильно хз. Есть упаковщики, которые могут это сверху самой нодой обмазать, но исполняемый файл 40 мб получится.
372 1897001
>>6234
Скрипт - это не только скрипт, но и его зависимости.
А у зависимостей - свои зависимости.
В итоге - получается 100 мегабайт жс-говна в node_modules.
Потому, что жс не предназначен для серьёзного программирования.
373 1897003
>>6469
Пока ты дрочишь со спчками, где-то в фоне возят слона. Профилирование (оценку времени исполнения разных частей программы) сделай и посмотри, что времени больше всего жрёт.
374 1897004
>>6234
это как у того же сишарпа - без рантайма работать не будет
у джс это нода, у шарпа .net
375 1897006
>>6995
м-можно один такой?
376 1897008
>>7006
Не секрет, зачем тебе это?
Что делает твой скрипт?
377 1897013
>>7008
взывает к twitchapi
378 1897017
>>7013
А какая проблема поставить node на целевую систему?
379 1897018
>>6551

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


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

А программирование на шаблонах, диффах, и прочим неявным рендерингом нужно для того, чтобы тупые необучаемые идиоты, которые нихуя не умеют, не понимают, и не хотят учиться, не писали говна. Но они умудряются и без этого его писать.
380 1897041
>>7018

>на шаблонах


Каким боком шаблоны к неявному рендерингу.

И почему если только писать в дом, то рефлоу не будет?
Браузер его не читает?
381 1897056
>>7041

>Каким боком шаблоны к неявному рендерингу.


Потому что это абстракция. Любая абстракция - это уровень невяности. Когда ты пишешь fn() - ты тоже функцию вызываешь неявно внезапно. Явно было бы если бы ты аргументы на стек складывал и управление по адресу передавал.

>И почему если только писать в дом, то рефлоу не будет?


Все изменения дома батчатся и применяются единомоментно в рендеринг-фрейме. Принудительный рефлоу вне цикла отрисовки происходит только если ты будешь читать из дома то, что требует пересчета.
382 1897064
>>7013
>>7017
Двачую этого. Почему ноду не поставить?
383 1897075
>>7056
Понятно.

У жсоблядков - параллельная эволюция происходит.
Они открывают для себя те вещи, которые нормальные люди уже открыли многие годы назад.

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

Поэтому, они с остервенением дрочат на "чистый жс" в противовес jQuery, говорят, что фреймворки не нужны, и занимаются прочими подобными вещами.
Т.е. они живут среди нас, но, ментально отстают лет на 30.
384 1897076
>>6904

>придумываешь такой имя переменной окда


>has already been declared


>ну похуй, я ведь дебил, просто добавлю единичку на конце))))

385 1897078
>>6957

>1-й Ангуляр



Именно поэтому от депрекейтед с 2021, манюнь.
386 1897080
>>7013
>>7064
Или можно же вебпаком запаковать скрипт, и взять только голый node - только исполняемые файлы, сделать bat-файл для запуска, запаковать в архив или сделать инсталлятор - и всё.
387 1897082
>>7075
Когда у тебя эволюция произойдет и ты поймешь, что JQuery это не фреймворк, а библиотека, а также поймешь в чём разница между библиотекой и фреймворком?
388 1897084
>>7080
Ну собсно я это уже предлагал. Хотя лучше реально поставить ноду, кому от неё хуже будет?
389 1897086
>>7078
"Именно поэтому" - это почему?
Потому, что leetcode на нём сделан, или почему?

jQuery можно использовать с любым фреймворком.
Я это делал с react и c vue.
Мне насрать на пидарские табу дегенератов-сосачеров, вроде тебя.
390 1897089
>>7082
Сынок, а где я утверждал, что jQuery - это фреймворк?
Ты русский язык знаешь, вообще?
Понимаешь, что значит перечисление через запятую?
391 1897105
>>7086

>это почему?



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

>jQuery можно использовать с любым фреймворком.



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

>Я это делал с react и c vue.



Сочувствую.

>Мне насрать на пидарские табу



Ну если для тебя "писать чистый код" это пидорское табу, то остается только догадываться какой логикой ты руководствуешься высерая подобное.
HA02-02p61[1].jpg158 Кб, 1100x543
392 1897106
393 1897133
>>7105

>Первобытный сосачер рассказывает европейскому туристу о своих верованиях и табу


Понятно.
394 1897140
>>7076
додик, пропробуй держать всю логику в одном файле
395 1897152
>>7064
>>7017
Нельзя же каждого юзера наклонить к 3гб nodejs. Это же непрофессианально..
396 1897153
>>7152
профессионально*
16083072999750.jpg121 Кб, 732x813
397 1897169
>>6523
>>6525
я специально здесь спросил, чтобы не изобретать
>>6522
>>6526
>>6519
Спасибо добрые аноны, сделал красиво
399 1897181
>>7075
Хуя помидорину разорвало
400 1897220
>>7152
nodejs-овский рантайм весит ощутимо меньше. Кроме того, заставлять юзверей каждый раз таскать его с собой по-твоему сильно гуманно? Почему майкрософту можно ставить свои redistы, а ноде нельзя?
401 1897222
>>7171
Моча говна. nexe проще и удобнее.
402 1897300
>>7076
Дебич, let и const не могут быть глобальными, а то что ты назовёшь переменную дважды, тебя редактор ещё на стадии написания кода обоссыт.
403 1897336
поясните, схуяли вообще реакт популярен?
Я посмотрел читшит по нему и редукс и охуел с того, как все отстало и ебано сделано по сравнению с vue. Особенно оподливился с редьюсеров, где коммон практис - это switch/case для мутирования стейта
В чем реакт объективно пиздат? Потому что я не увидел ни одного плюса по сравнению с vue
404 1897340
>>7336
Почти не в чем, кроме того, что ты куча функционала пишешь сам, и типа можешь написать что-то как ты хочешь, и все будет прозрачно (накастылить и сделать хуево в 95% случаев)
405 1897343
Аноны, кто кодит с каких ноутов?

Думаю взять macbook air 13 2020. Хватит производительности для IDE + вкладочек браузера и еще какого-то говна сверху? Не будет гудеть, лагать, греться сильно спустя пол года?

Или подскажите свои ноуты бесшумные и не греющиеся особо
406 1897344
>>7340

>ты куча функционала пишешь сам, и типа можешь написать что-то как ты хочешь


Так а плюс в чем?
Это как говорить, что плюс велосипеда по сравнению с машиной в том, что на велосипеде ты ногами педалируешь сам, а не какой-то там шайтан ДВС везет тебя
407 1897349
>>7344
Ну о том и речь, что тут спорный плюс)
По факту вью покрывает 99.9% кейсов и потребностей и продуктов.
Если ты хочешь писать что-то супер большое и массовое, где требуется гибкость пиздец и производительность (например свой алиэкспресс, блять, ага). То наверное реакт будет поинтереснее, но шанс на это пиздецки мал.
408 1897351
>>7336

>поясните, схуяли вообще реакт популярен?


Потому что предлагаю понятную модель работы без магии.
409 1897353
>>7351
А где во vue магия?
410 1897355
>>7351
Я за час разобрался как работает во вью реактивность (через подписки и геттеры/сеттеры в object.defineProperty) и в сорцах даже нашел где какие хуки в какой последовательности дергаются
Где там магия? Даже v-model - это просто сахарок над :value + @input
411 1897375
>>7355
А писать пробовал что-нибудь кроме туду-листа?
412 1897383
Господа, подскажите такое дело:
есть какая-то (полу)готовая библиотека, которая бы позволяла решить задачу создания чего-то типа автокомплита или выпадающего по хоткею/правой клавише мыши списка, который должен генерироваться из csv/json/плейнтекста, лежащего на сервере?
(Я криворукое животное, js не знаю)
413 1897387
>>7383
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist
С мышью надо пердолить один из мышиных ивентов.
414 1897397
Желаю всем в следующем году писать только на тайпскрипте!
таблеточки.mp422,6 Мб, mp4,
1280x720, 0:13
415 1897403
416 1897407
>>7355
>>7353
Реактивность на неявном создании геттеров и сеттеров (собсна сложное и неявное поведение и есть магия). Но иногда эта абстракция протекает и на помощь приходят костыли в виде Vue.set.

Алсо абсолютно лютые шаблоны со своим встратым DSL и биндами через магические строки.
417 1897416
>>7397
Желаю все тупескрипт-даунам перейти на кложурскрипт
418 1897421
>>7407

>Реактивность на неявном создании геттеров и сеттеров (собсна сложное и неявное поведение и есть магия).


Что в этом сложного и неявного-то?

>Но иногда эта абстракция протекает и на помощь приходят костыли в виде Vue.set.


Уже давно нет, конкретнее с того времени как начали там юзать proxy

>Алсо абсолютно лютые шаблоны со своим встратым DSL и биндами через магические строки.


вкусовщина
>>7375
Конечно
419 1897432
>>7421

>Что в этом сложного и неявного-то?


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

>Уже давно нет, конкретнее с того времени как начали там юзать proxy


Это с v3? Ну молодцы, новый набор костылей завезли. Вроде обычный объект, но ой, деструкция-то не работает. Алсо в консоли прокси красиво смотрятся.

> вкусовщина


В смысле вкусовщина? Использование левого DSL вместо собна JS это хорошо что ли? Как там типизация, нормально работает? Или магические строки в какой-то момент стали вопросом вкуса?
420 1897454
>>7336
он просто был раньше
а так он тупо хуже вью имо
421 1897455
ну т.е. хуже для большинства проектов
422 1897473
>>6764
Во-первых пример вынут из жопы и если ты такое дерьмо пишешь в реальной жизни, то ты долбоеб без вариантов, во-вторых если ты хотел показать, что "мам строк кода меньше", то это решается плагином на стрелочные методы, и слева их можно сделать ровно столько же, сколько и справа, в-третьих если ты меряешь качество кода по количеству строк, то смотри пункт 1.
423 1897474
С Новым Годом, сучечки!

>>7407
Чувак, "магия" - это другое.
Все остальные твои претензии - так же несостоятельны.

>>7416
Кстати, где кложуротред, я не понял?
424 1897481
>>7343
Спустя полгода ничего не будет.
Только сегодня видел у знакомой маши Air, которому 6 лет - пашет, как конь.
У меня 9-ми летний Pro на i7 хуярит за всю мазуту - сейчас с него пишу.
И есть 3-х летний Pro, тоже на i7 - основной, там вообще всё летает.

>Air


Лучше возьми 2-3-х летний Pro б/у.
У них характеристики могут быть даже лучше, чем у сегодняшних прошек.
Я свой 3-х летний не обновляю вовсе не потому, что денег нет, например.
425 1897489
>>7343

>Аноны, кто кодит с каких ноутов?


Десктоп с двумя мониторами. Ломать глаза за ноутом нет никакого желания.
426 1897491
>>7489
Ты не поверишь, чувак, но, мой 32" монитор отлично подключается к макбуку. И второй, 27" - тоже, но, уже к другому.
427 1897496
>>7343
у меня хп 15, вполне устраивает
а ещё он няшно беленький :3
428 1897497
>>7336

>В чем реакт объективно пиздат?



Появился, раньше. Практически без конкурентов, на тот момент. Дальше эффект снежного кома. Сейчас просто дешевле стартовать на реакте проект, чем на вью, вот и все.
429 1897501
>>7491
Тогда бери, что нравится. 16+ памяти есть в любом ноутбуке, а процессор у них у всех говно. Только экран лучше 15 дюймов, на всякий случай. Если нравятся макбуки, то бери прошку.
430 1897508
>>7497
Не дешевле.
Единственная реальная причина - react native, поддержка мобильной разработки.
И то - все плюются на это тупое и тормозное говно, но, под него есть инфраструктура, много наработок и т.п.

Тут другое - инерция мышления.
Люди вообще очень консервативны и инерционны.
Вчерашняя инновация сегодня становится несокрушимым железобетонным барьером на пути следующих инноваций.
431 1897514
>>7501
Это ты немного промазал - надо было вот ему - >>7343 - писать.
И да, ты совершенно прав.

>>7489
Вообще, да, лучше десктоп.
Но, могут быть причины брать ноутбук.
ИДЕ нормально работают на современных ноутах, но, на десктопе - это другое.

У меня (помимо вышеописанных макбуков) есть ещё десктоп 8-ми летний, на i7 3770K, так вот, на нём всё работает несравнимо быстрее, это вообще земля и небо. И надо бы его уже обновлять, но, скорее по имиджевым причинам, т.к. хуярит он как заводной, с быстродействием вообще ниикаих проблем.
Но. это i7 3770K 3.9 GHz + 16 GB + SSD Samsung 850+960 Pro.
432 1897516
>>7508

>Не дешевле.


Реакт в три раза популярнее Вью и Ангуляра. Разработчиков выше. Средний уровень зп соответственно выше + на реакте можно быстро склепать мвп, ну а дальше уже по ситуации действовать.
433 1897522
>>7474

>Кстати, где кложуротред, я не понял?


Он самозамкнулся
434 1897524
>>7454>>7497>>7508
Нет, шизики, в мире айти популярность проходит в одно мгновение и никакие "снежные кома" и "привычки" ваше говно в присутствии объективно лучшей альтернативы не спасут, неважно насколько оно большое и популярное. Если с чем-то легче и эффективнее работать, то с этим будут работать, а инертные и менее эффективные конкуренты как всегда останутся на обочине истории, примеров тысячи, начиная от прогрессии языков программирования, заканчивая фреймворками и либами.

А причина непопулярности вью кроется не в том, что "люди тупые и ленивые и не видят что для них лучше" как любят плакать адвокаты любого псевдоинновационного дерьма, а в том, что он объективно громоздкий, неповоротливый и не приносит ничего нового в сферу. Инновационность реакта заключается в том, что они не пошли по стандартному пути "есть html-шаблон, есть жс-код, соединим их магией", а просто выкинули нахуй html-шаблоны как таковые и сделали полностью ориентированную на жс либу, где все, что ты делаешь - это пишешь обычный жс-код. Именно эта ориентированность на код(плюс интуитивно понятный и удобный DSL с минимумом отсебятины) и подняла реакт на его полностью заслуженное место.
435 1897529
>>7524

>неповоротливый


Понятно всё с тобой.
Пройди на хуй, пожалуйста.

Вью быстрее реакта.
И это, блядь, невооружённым глазом заметно.
И это вытекает из его природы и природы реакта.

Так что, ещё раз, иди на хуй, сынок.
Он мне будет тут рассказывать про сик транзит глория мунди.
Да я код писать начал, когда тебя ещё на свете не было, лол.
436 1897534
>>7529

>Вью быстрее реакта.


Я ни слова не сказал про производительность, это вообще десятое дело при выборе фреймворка.

>И это, блядь, невооружённым глазом заметно.


Отличный способ измерить производительность, сразу видно вью-шизика.
437 1897536
>>7524

>вью


>выкинули нахуй html-шаблоны как таковые


Щито бле?! Монжо чуть меньше бояры в следующий раз употреблять плиз
438 1897538
>>7524

>Если с чем-то легче и эффективнее работать, то с этим будут работать



Ты наивен. Рулит маркетинг в первую очередь. Ember.js был отличным фреймворком, но его до сих пор мало кто знает.
Phoenix на беке, позволяет супер быстро лепить стартапы + высокая производительность, но его тоже мало кто юзает, так как нет хайпа за ним.

С реактом тоже самое. У него куча минусов, но его продолжают юзать.
439 1897539
>>7534
Я пропустил слово "даже".
Даже невооруженным глазом заметно.

Реакт (концептуально) - типично левацкая ебанина.
Коту под хвост пустили все принципы и best practices, наработанные десятилетиями.
Мешанина из говна - наш новый марксистский идеал.
Мы наш, мы новый мир построим.

Но, тут пришли китайцы, и дали пососать.
Потому, что, в отличие от западных полезных идиотов - леваков, они знают что такое марксизм-ленинизм-маоизм не понаслышке. Они сыты этой хуйнёй по горло.
Поэтому, они делают не сферическую хуиту в вакууме, а _практичный_ (практичный, блядь, сука, нахуй) продукт.
А левакам, естественно, неприятно.
440 1897543
>>7538

>Рулит маркетинг в первую очередь


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

>Ember.js был отличным фреймворком


Не был.

>Phoenix на беке, позволяет супер быстро лепить стартапы


Писал на нем хоть что-то или маняфантазируешь? Я вот случайно так получилось писал и пишу, и хоть фреймворк и язык действительно отличные, но для "быстрой разработки стартапов" до рельс и их инфраструктуры им еще грести и грести. Так что популярность рельс и непопулярность пеникса в этом отношении абсолютно объективны.

>У него куча минусов, но его продолжают юзать.


"Куча минусов" не говорит ни о чем, потому что а) в 99% случаев выясняется, что это твой субъективный манямир и реального минуса ты назвать не сможешь б) оценка производится не в вакууме, а в контексте. И в контексте текущей ситуации фронтенд-разработки, лучше реакт нет ничего.
>>7539

>Коту под хвост пустили все принципы и best practices


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

>аряяя китайцы леваки марксизм


Таблетки выпил?
441 1897548
>>7543

>заставить разработчика


Так разработчик ничего не выбирает. Выбирает СТО или владелец бизнеса если шарит. А уж эти товарищи смотрят именно на хайп и тренды. Да и разрабы честно говоря тоже. Много кто знает про hotwire и stimulus например? Нет, конечно, ведь сейчас же SPA подход суется в любое очко, даже там где он вообще нахуй не нужен. Но хайп есть хайп.

>Phoenix


Медленнее, чем руби, это еще не значит что меделенее чем на Node.js или Java.

>Ruby


Вообще не популярен. Очень мало вакансий в сравнении с всеми остальными и новые проекты на нем уже почти не стартуют вообще.

>реального минуса ты назвать не сможешь


Да пожалуйста.
1). Хоть это все голишь и либа, как любят задвигать адепты реакта, но на выходе сайт на реакте весит просто овер дохера. 500-600 килобайт на первую загрузку, как нехуй делать.

2). Отсутствие встроенной архитектуры, из-за чего кодобаза на реакте очень быстро скатывается в говно.

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

4). Сама по себе разработка очень долгая, в связи с черезмерным оверинжинрингом, как и у всех СПА решений, кроме свелте разве что, (но там свои проблемы)
442 1897550
>>7543

>Это смешно ...


К сожалению, это нихуя не смешно.

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

Люди - тупое стадо.
Ты видел эти BLM баннеры на сайтах крупнейших разработчиков?
Ну и вот.
443 1897551
>>7543

>популярность рельс


Ты рубист, перекатившийся в жс?
Золотая классика, лол.
Всё понятно с тобой, только надо было раньше сказать, чтобы я время на тебя не тратил.
444 1897552
>>7539
проиграл

алсо мне тоже кажется что будущее за темплейтными фреймворками вроде вью и свелте, а подход реакта немножко не взлетел
445 1897555
>>7548

>Так разработчик ничего не выбирает. Выбирает СТО или владелец бизнеса


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

>но на выходе сайт на реакте весит просто овер дохера. 500-600 килобайт


Действительно огромная проблема, но ты лет на 15 с ней опоздал.

>Отсутствие встроенной архитектуры


Я просил минусы, а не плюсы.

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


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

>Сама по себе разработка очень долгая


Ты сказал или примерно почувствовал?
446 1897556
>>7551
Открою секрет: писать можно больше чем на одном языке.
447 1897558
>>7556
Знал бы ты, сколько сил и времени я в своё время потратил на это ваше руби.
Дурак был, потому что.

Интуитивно понимал, что это хуета.
Но, думал, что не может же быть, чтобы столько уважаемых людей продвигали откровенную хуйню. Думал, что это я не понимаю чего-то важного.
Потом поумнел.
А потом и время расставило всё по своим местам.

Но, в качестве концептуальной вещи (а не рабочего инструмента), руби оказался мне весьма полезен, в своё время.
448 1897559
>>7558
А покакал как сегодня, твердым или жиденьким? Долго на унитазе сидел?
449 1897560
>>7559
Это намёк на нерелейтед?

Нет, в данном случае - всё в тему.
Тогда - руби, сегодня - реакты и редуксы.
Накал анала примерно тот же самый, лол.
450 1897561
>>7560
Это намек на то, что история твоей жизни в подобном описании имеет к обсуждению программирования примерно такое же отношение, как консистенция твоих покакулек.
казанова.jpg38 Кб, 415x635
451 1897562
>>7561
Где ты увидел историю моей жизни, сынок?
Я рассказал о совершенно конкретных вещах, и провёл совершенно конкретные параллели.
452 1897569
Как максимально быстро вкатиться в разработку сложных веб приложений с нуля?
453 1897573
>>7569
С нуля это невозможно.
Надо сначала вкатиться в разработку простых веб приложений.
И не надо пытаться сократить путь, это даст совершенно обратный результат.

Рекомендую использовать Vue для фронтенда.
На этом пути тебя не будут ждать никакие подводные камни - их там просто нет.
Всё ровно и предсказуемо.
В отличие от реакта, например.

Вообще, это обширная тема.
И с чего начать - зависит от многих факторов.
Например - знаешь ли ты английский?
Что ты умеешь на данный момент?
Каков личные предпочтения в технологиях и т.п.
454 1897577
Вкатила заглянул под капот и обосрал весь тред?
455 1897579
Реакто бляди никак не могут смириться, что их голая либа уже не такая топовая как раньше. Вью скоро сместит реакт на многих нишах веб разработки. Люди все больше начинают понимать, что

>>Коко, реакт даёт нам возможность писать как мы хотим и все видеть и понимать


Это нахуй не нужно почти всегда. Ты платишь эту прозрачность кучей проблем. Кодовая база везде разная, Либы везде разные, код стайл разный, архитектура разная, все почти везде разное. Новые проекты стартуют куда больше чем на вью, потому что это ебаная лиьа которая толком нихуя не умеет.
456 1897580
>>7579

>>Дольше*


Быстро фикс
457 1897583
>>7579

>реакт даёт нам возможность писать как мы хотим и все видеть и понимать



Это фальшивый аргумент.
На Vue я пишу так, как хочу.
И мне совершенно всё понятно.

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

Аргумент про (якобы) "неявные" реактивные привязки в Vue - просто смешон.
Это что-то на уровне "я не знаю, что там компилирует этот ваш компилятор, поэтому, буду писать прямо в машинных кодах".

Любого, кто предъявляет подобные аргументы, нужно смело посылать на хуй, не вступая в дискуссию.
458 1897585
Читаю такой про constraint validation API, пытаюсь вникнуть и тут меня осенило, что оно по сути зависит от хтмл аттрибутов, то есть нахуй не нужно для валидации через жс.
459 1897622
В компоненте делаю проверку если _id соответствует id админа то рендерю страницу админа, норм подход? Или нужно ебстись с токенами отправлять их на сервер и тд тп?
460 1897633
Фулстаки подскажите оптимальную структуру проекта?
461 1897645
>>7633
Это когда менеджер не заебывает вопросами "Ну когда сделаешь? Ну когда же? Когда?"
462 1897649
>>7579

>Вью скоро сместит реакт на многих нишах веб разработки


Да-да, пять лет уже смещает, а скачиваний в npm все еще в 4.5 раза меньше. Прям не могу смириться с такой несправедливостью.
463 1897650
>>7633
Любой бек с нуля я бы начинал дддшным
Фронт зависит от задач и фреймворка. Если есть грамотно составленные тз с нормальной разметкой - можно навернуть atomic
464 1897664
>>7222
>>7171
и то идругое не поддерживает ноде15, но спс энивей, я разберусь
465 1897666
>>7220
р-рантайм? дай ссылку плз
466 1897673
>>7583

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


Хуки и редуксы к которым у вью шизиков всегда почему-то есть претензии - это способы менеджить стейт в реакте, причем очень прямолинейные, контролируемые и понятные, как только поймешь их принцип. Не вижу, почему они должны быть сложнее для понимания, чем вью-система для стейта, которая по сути является неявным setState, работающим через жопу и кучу оберток-проксей.
15533767175410.jpg34 Кб, 497x497
467 1897716
>>7673

>и понятные, как только поймешь их принцип

468 1897718
>>7716
Лол неужели все так тяжело
469 1897724
>>7716
Расскажи, что тебе непонятно.
470 1897725
>>7724
useCallback, useMemo
471 1897730
>>7725
useCallback will return a memoized version of the callback that only changes if one of the dependencies has changed. This is useful when passing callbacks to optimized child components that rely on reference equality to prevent unnecessary renders (e.g. shouldComponentUpdate).

useMemo will only recompute the memoized value when one of the dependencies has changed. This optimization helps to avoid expensive calculations on every render.

Помогло?
472 1897749
>>7730
Реактовская дока - самая убогая дока евар.
473 1897761
Мне кажется, те, кто пишет что Реакт непонятный, а Вью оооо, то, как работает Вью тоже не понимают нихуя. Иначе я хз как мемоизация может быть сложнее тонкостей работы вьюшных прокси.
474 1897780
>>7749
Ты просто не видел некоторого дерьма. У эпл под тысячами новых апишек красуются пустые страницы с No overview available и списком методов, а гайдам которые за ручку водят под сраку лет
475 1897788
>>7761
Я понимаю как работает vue
У меня претензии в реакте не к тому, что там что-то НЕПОНЯТНО, а к тому, что скорее убого
https://github.com/reduxjs/redux/blob/master/examples/todos/src/reducers/todos.js
Вот офишл экзампл, простейший туду апп. Что блять за свичт-кейс? Почему перезапись стейта сделана через ВОЗВРАТ значения из редьюсера?
Сравни с тем же vuex, где во-первых мутации сделаны отдельными функциями, а не пердоленьем со switch/case в 2020 (я чо бля, на первом курсе снова и пишу лаба2.цпп?) и прозрачно понятно, откуда БРАТЬ стейт, а какая хуйня его ИЗМЕНЯЕТ
476 1897790
>>7788
Отклеилась ссылка на vuex
Тут разбили на отдельные файлы экшны и мутации, я обычно в одном файле делаю, но суть понятна
https://github.com/vuejs/vuex/blob/dev/examples/todomvc/store/mutations.js
https://github.com/vuejs/vuex/blob/dev/examples/todomvc/store/index.js

Нет, я понимаю конечно что реакт топит за функциональное программирование, и его подход в этом плане более трушный
Но ФП в промышленной разработке хуево взлетает, работает в лучшем случае какой-то гибрид типа скалы
А в реакте вангую в реальных проектах есть овердохуя костылей для сайд-эффектов, которые в реальном, а не кукаретическом программировании очень нужны бывают
477 1897799
>>7788

>У меня претензии в реакте


>кидает ссылку на редакс


Че?
478 1897802
>>7799
Так а какие претензии могут быть к самому реакту, если он сам по себе - маленькая либа по выплевыванию html в зависимости от переданых в него данных?
Существуют разве в природе проекты на реакте без стейт-менеджмента, роутинга и прочего?
479 1897804
>>7799
Ну и я правильно понял, что тебе нечего возрозить на этот пиздец в редаксе и ты признаешь что это злоебучий высер по сравнению с vuex?
480 1897809
>>7802
Стейт-менеджмент не равно редакс. Глобальный стейт, для которого редакс и сделан, нужен примерно никогда, а в тех редких случаях, когда он нужен(сессия, например), есть менее нагроможденные альтернативы типа эффектора.
>>7804
На редакс у меня дохуя возражений, но речь идет не про него, а про реакт, и я не вижу, с чего ты начинаешь перескакивать с темы на тему и ставить знак равенства между двумя независимыми либами.
481 1897811
>>7802
без роутинга делать спа уныло
но роутинг ничего особенного страшного
без глобального стейта сложно написать большое приложение
482 1897814
>>7811

>без глобального стейта сложно написать большое приложение


Что ты собрался в нем хранить и нахуя, расскажи?
483 1897816
>>7814
информацию которая нужна во многих частях приложения
зайди например на сайт какого нибудь озона - корзина, город и т.п. настройки почти наверняка хранятся в стейте
484 1897823
>>7816

>корзина, город и т.п. настройки почти наверняка хранятся в стейте


Не знаю где там что у озона хранится, но должны они храниться на сервере или в крайнем случае в куках, если это что-то простое и глобальное, типа города.
485 1897825
>>7823
Ясн, если в реакт-экосистеме нет способа нормально это сделать - это просто НИНУЖНО
486 1897830
>>7788

>Вот офишл экзампл


Редакс это не часть Реакта, алое. Но поскольку в Реакт входит useReducer, то не вопрос, отвечу.

>Что блять за свичт-кейс?


В чем проблема?

>Почему перезапись стейта сделана через ВОЗВРАТ значения из редьюсера?


Потому что в этом смысл редьюсера — принять старый стейт и ничего не мутируя вернуть новый.

>Сравни с тем же vuex, где во-первых мутации сделаны отдельными функциями


Сравнил. Чем создание функции increment с this.count += payload принципиально лучше case actions.increment: return state + action.payload?

>прозрачно понятно, откуда БРАТЬ стейт, а какая хуйня его ИЗМЕНЯЕТ


И чем же обращение по this прозрачнее чем state из аргумента?
487 1897836
>>7825
Вуедебил даже свою мамашу засунет в стор, если это просто.
488 1897839
Глобальный стейт прекрасно хранится в контексте, для этого даже либ не надо никаких. Хуй знает в чем ваша проблема.
489 1897847
Что-то не понял прикол: await можно использовать только внутри асинхронных функций, объявленных через async, тогда какого хрена await можно спокойно использовать в самом верхнем скоупе?
490 1897854
>>7847
В каком верхнем скоупе, наркоман? Если пишешь с асинк/эвейт, то код у тебя в модулях лежит.
image.png2 Кб, 353x111
491 1897858
492 1897859
>>7847

>тогда какого хрена await можно спокойно использовать в самом верхнем скоупе?


Нельзя.
493 1897860
>>7858
Это не "верхний скоуп", это консоль браузера.
494 1897861
>>7839
На самом деле для сайта стейт - это dom.
sage 495 1897865
>>7788
Ебать оказывается есть валенки тупее меня в разы, сука я за пару недель освоил редакс после работы занимаясь пару часов в день, а ты пидр тут вроде и вью свое толкаешь а тупо почитать доку про сраный редакс не можешь? Ххарк пьфу в твое жирное ебло
496 1897867
>>7725
usememo это реактокостыль из-за того что у них нет computed свойств которые не вычисляются каждый ререндер
497 1897869
>>7823
ну город в куках ок, хотя читать куки из любого места где может город понадобится как-то не очень удобно а вот корзину и в куки не засунешь, типа предлагаешь ее каждый раз запрашивать?
498 1897870
>>7867
Да все хуки - это костыли. А useEffect - это инвалидная коляска со встроенным сортиром.
499 1897872
>>7867
Computed свойства это костыль из-за того, что у них нет useMemo, который не вычисляется на каждый рендер.
sage 500 1897874
>>7870
Все фреймворки и либы это костыли, до сих пор пишеш на ваниле и html?
501 1897878
>>7869

>ну город в куках ок, хотя читать куки из любого места где может город понадобится как-то не очень удобно


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

>а вот корзину и в куки не засунешь, типа предлагаешь ее каждый раз запрашивать?


Разумеется запрашивать, или ты думаешь, что клиент должен иметь разные корзины на мобилке и в веб-версии? Корзина гостя - это просто вариант корзины клиента и реализовывать ее через локалстор, вместо такой же серверной реализации, смысла нет. Запрашивать не каждый раз, а один раз при первом рендере(или когда надо явно обновить).
502 1897881
>>7865
Задачка
У тебя есть компонент Рынок который в конкретный момент времени показывает один из дочерних компонентов
1) Огурцы
2) Помидоры
3) Бананы
Для отображения компонента Огурцы тебе нужно забрать с сервера список с огурцами, для Помидоров список с помидорами и тд

Какой вариант ты выберешь?

1) Держать все три компонента в памяти с их списками
2) Каждый раз при показе дочернего компонента создавать новый и снова запрашивать данные с сервера
3) Держать списки помидоров, огурцов и тд в родительском компоненте Рынок
503 1897883
>>7872
Как раз есть мемоизация
sage 504 1897889
>>7881
Держать в стейте списки полученные с бэка, при переходе к компоненту огурцы запарашивать новые данные на сервер и если они есть получать, а что?
505 1897890
>>7881
Любой компонент, который прямо основывается на данных с сервера, должен эти данные дергать каждый раз, когда маунтится впервые, кроме невероятно редких случаев. А на твой вопрос можно выбрать и 1 и 2, потому что в такой формулировке это один и тот же вариант, разницу между ними ты сформулировать не сумел.
506 1897893
>>7881
Это зависит от сервера.
Сервер должен на списки возвращать облегчённый джейсон из индекса, а для детальных запросов - отдельный эндпоинт с запросом.
507 1897895
>>7890

1) 2) данные хранятся в дочернем компоненте.
1) При показе компонент не создается заново В vue нужно обернуть компонент в кееpalive
2) создается
508 1897897
>>7893
В любом случае пользователю придется ждать рендеринга, причем время ожидания зависит от интернета пользователя
509 1897900
>>7889
Ты еще кучу данных в гет запросе будешь отправлять? Или состояние предыдущего запроса на сервере хранить?
sage 510 1897904
>>7900
Нахуя? Если есть локальный стейт и там лежит все что нужно. Прилетаю новые данные в стейт они отображаются, если нет значит нет. Ты совсем валенок видно?
511 1897908
>>7904
Значит ты всегда запрашиваешь все данные при рендеринге компонента? Ну и что ты хотел этим сказать? Что выбрал 2)
512 1897909
>>7878
ты думаешь только об одном обращении к апи, а ведь это все нужно и просто для отображения

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

ты предлагаешь делать такой запрос на корзину отдельно для этой кнопки из ее компонента? а как она узнает что его снова надо сделать? может туда еще и сокет прикрутить лол

в разы проще хранить корзину в стейте
513 1897910
через локалстор это кстати вариант довольно корявого глобального стейта
514 1897911
>>7908
Я тебе расписал выше что делаю при запросах
515 1897913
>>7910
А где его еще хранить при перезагрузке страницы?
516 1897915
>>7911
Если под локальным стейтом ты подразумеваешь что-то не являющееся состоянием компонентов Огуцы, Помидоры, то ты выбрал п 3) Непонятно почему ты назвал это локальным
517 1897916
>>7915
Локальный значит локально на пк, а не на сервере
518 1897917
>>7913
при перезагрузке он должен снова запрашиваться
а при спа перезагрузка должна быть редкой только если f5 нажать
519 1897918
>>7860
А что тогда является верхним скоупом?
520 1897919
>>7909
Единственный нормальный вариант это сокет. Или в общем server events
521 1897921
>>7904
И что это меняет? Предварительный запрос на сервер тебе нужен так и так, а где ты его будешь вызывать, в компоненте корзины или на самом верху приложения и передавать вниз - суть остается одна и та же.
522 1897923
>>7921
Ошибся нитью?
523 1897926
524 1897929
>>7918
Все, что ты пишешь вне функции.
525 1897939
>>7929
...
Но ведь записи в консоли браузера это и есть "вне функции"? Не один ли хуй где именно ты это напишешь: в файле index.js который ты подгрузишь на страницу или в консоли? Концептуально разницы ноль
526 1897946
>>7939
Консоль браузера - это debugging tool и ее разработчик может туда засунуть что угодно, включая возможность для удобства писать await вне функции(который под капотом все равно выполняется внутри функции, потому что в жаваскрипте в принципе нельзя по-другому).
527 1897952
>>7946

>потому что в жаваскрипте в принципе нельзя по-другому


Можно. Скрипты и модули исполняются в контекстах vm. Ты и сам можешь эти контексты создавать если рантайм пробрасывает тебе нужные апи (в ноде например проброшены апи от v8, в jsшелле от spidermonkey)
528 1897956
>>7952
Только это уже не жаваскрипт, а работа с его движком.
529 1897985
ПЕРЕКАТ >>1897984 (OP)
ПЕРЕКАТ >>1897984 (OP)
ПЕРЕКАТ >>1897984 (OP)
ПЕРЕКАТ >>1897984 (OP)
ПЕРЕКАТ >>1897984 (OP)
ПЕРЕКАТ >>1897984 (OP)
ПЕРЕКАТ >>1897984 (OP)
ПЕРЕКАТ >>1897984 (OP)
Тред утонул или удален.
Это копия, сохраненная 1 мая 2021 года.

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

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