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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image56 Кб, 1050x1050
JS Thread #211 /js/ 2011386 В конец треда | Веб
Предыдущий тред: >>2003892 (OP)
Больше пары строк кода в посте или на скриншоте ведут в ад.

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

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

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
2 2011389
Гайс, а как удалять коммиты, или объединять их если они уже зарелизены?

У меня на гитхабе в петпроекте, последние коммиты это редактирование Readme файла, я его редактировал раз 20 и все это в выстроилось в ряд коммитов, которые засирают ветку изменений. Как это можно сплющить до одного коммита? Или удалить как-то их что бы изменения не потерялись в самом ридми?
Стикер255 Кб, 512x512
3 2011438
>>11389
Можешь попробовать сделать бэкап проекта, на всякий пожарный и выполнить git rebase. Или это не подойдет?
4 2011445
>>11438
Зачем делать бэкап если бэкап на сервере сделан?
5 2011455
Mobx
6 2011514
Я все равно нихуя не понимаю, где у меня косяк с формой.
Вот даже статью нашел, там точно так же сделан контроллед инпут. Точно также онЧейндж и вэлью.
1234.png21 Кб, 620x717
7 2011518
8 2011597
>>11514
А у тебя контроллед инпут?
9 2011604
>>11597
Ну да. Только без Controller, а по-обычному:
<input className="input" type="text" {...register("input", options.required)} value={state.input} onChange={handleChange} />
{errors.input && <span className="input">{errors.input.message}</span>}
10 2011627
>>11604
Ну ок, а react-hook-form тебе тогда зачем?
11 2011630
>>11627
Валидация удобная.
12 2011979
>>11630
бля, откуда вы лезете? Как можно было придумать гибрид react-hook-form и "обычной" работы с инпутом? сука...
14 2011986
>>11979
А как надо работать с react hook from? Во всех статьях что я читал, работают так и не обламываются.
15 2011996
Сколько по времени займет базовое изучение node.js ?
16 2012018
>>11996
Ну день, ну может джва. Хуль там изучать-та
17 2012024
>>11985
Спасибо анончик!
18 2012278
>>11996
2-3 недели.
19 2012330
>>12282 (Del)
Отправил тебе защекоинов, проверяй.
20 2012353
У вас есть проблема с эмуляцией устройства в бразуере, когда на реальном телефоне всё нормально, но если включить эмуляцию на десктопе в браузере, то появляются какие-то странные отступы по краям, какие-то лишние пространства, верстка едет. Но если убрать эмуляцию мобилки и сжать экран вручную, то всё нормально. Как это фиксить? Знаю есть browserstack, который показывает реальные устройства, но это дорого для меня на данный момент. Вот установил себе еще responsively.app, там проблем опять же не наблюдается, но это эмулятор ведь, и он не покажет реальные устройства со всеми их особенностями. Какими инструментами пользуетесь вы?
21 2012362
>>12353
Я ставил себе для андроида по итогу реально эмулятор, nox например, можно и наверное более подходящий для разработки и в т.ч. для яблок. Хотя обычно хватает браузерных в фоксе и хроме с определенной допустимой погрешностью.
22 2012363
>>12362
Ну и да лол у меня как бы и тупо телефон есть, с него и смотрю тоже уже в сумме.
23 2012370
>>12363
Я вот раньше с телефона и смотрел, в браузере эмулировал, а потом пришёл яблочник и сказал, что всё хуйня, вёрстка поехала. Вот и не знаю как можно всё разом протестить. Ну видимо только browserstack и остается. Там есть фриланс лицензия за 20 баксов
24 2012423
Redux
25 2012447
Аноны на ноде кто нить вкатывался ? какой стек учили, что делали в пет проекте и т.п.
26 2012452
>>12447
Если хочешь заниматься бэком, то лучше вкатывайся на пхп или сишарпе. На ноде ждуны не нужны, хуй работу найдешь.
27 2012488
Аноны, как в самом простом случае норм реализовать периодический ajax к серверу?
Пример с лерн жаваскрипт
//рекурсивный setTimeout
let timerId = setTimeout(function tick() {
alert('tick');
timerId = setTimeout(tick, 2000);
}, 2000);

что меня смущает - не создается ли при такой реализации цепочки из замыканий?
28 2012529
Поясните, нахуя нужен редукс и ко.

Я привык к инжектящимся сервисам, т.е. у меня источник правды и так везде один.

У сервисов методы и ивенты с какой хочешь сигнатурой, а не одинаковые.

Единственное, что приходит в голову - это когда делаешь какую-нибудь хуйню с единственным стейтом, то в редуксе не надо править никакой код, а только добавлять свой.
30 2012643
mobx > redux
31 2012650
>>12620
Ты на вопрос так и не ответил. Почему я должен юзать редукс, а не отдельный сервис, где у меня свои методы и ивенты, а не диспатч экшнов и регистрация редюсеров?
32 2012654
>>12643
zustand > mobx > redux
33 2012663
Не любил CSS, пока не понял, как сильно он способен разгрузить JS.
34 2012691
>>12529
Так чтобы инжектить сервисы нужен инжектор лучше дерево и сервисы. Всего этого естественно нет, поэтому на-ка вот, подержись за синглтон
35 2012722
>>12488

> что меня смущает - не создается ли при такой реализации цепочки из замыканий?


Откуда? Функция создаётся 1 раз, остальные разу исполняется уже созданная функция.
36 2012725
>>12691
Ну так а если у меня все есть?
37 2012765
>>12725
Если все есть, то хули ты спрашиваешь? Да, он тебе не нужен.
38 2012838
Заказывал кто-нибудь и читал новую? https://www.ozon.ru/product/javascript-polnoe-rukovodstvo-flenagan-devid-206611358/
Прочитал пару глав, вроде бы перевод не совсем ебал её рука. А английскую версию сложно читать, потому что мало того, что язык не родной, так еще новые сущности постигать совсем трудно. Вот только не знаю насколько удобно будет такую огромную книгу в руках вертеть, и не лучше ли будет всё таки электронную навернуть?
39 2012852
Работяги че у вас на проектах для пропсов юзается?
useContext или Connect react-reduxa?

Я и то ито пишу, но щас говорят что хуки для проброса предпочтительнее типо. В реале как?
40 2012855
>>12838

>Заказывал кто-нибудь


На торентах лежит, перевод местами хуевый, лучше в ориге читать.
Там помоему опять перевели что то уровня ПРИВЯЗКИ
41 2012897
=====================================

function sayHi() { // (1) создаём
alert( "Привет" );
}

let func = sayHi; // (2) копируем

func(); // Привет // (3) вызываем копию (работает)!
sayHi(); // Привет // прежняя тоже работает (почему бы нет)

=====================================

Почему func() сработало, это не функция нихуя, схуя ли она стала функцией.
42 2012906
>>12897

>это не функция нихуя


А что это?
43 2012923
>>12897
Ну если быть точным, то это переменная, содержащая ссылку на функцию. JS смотрит, что в ссылке, а раз там функция, значит её можно вызвать
44 2012926
>>12897
Там вроде со скобочками функция вызывается, а без скобочек можно с ней че-то делать.
45 2012929
сап анчоусы, кто нибудь что-то знает про московску. галеру postuf ? ссылку на хх сами найдете
у всех разрабов вакансии с вилкой 300-400к + всякие бонусы, на собесе говорят что будет работа в каких то своих проектах. вопросы на тех собесе были обычные мидловские. зазывают очень усердно и настойчиво. из требований которые я выяснил на собесе: не пить не курить,отсутствие татуировок, не носить длинную бороду, не носить длинные волосы. сам про контору накопал что занимается типо white hat хакингом, но типо не на заказ, а делает контент на основе этого статьи на хабре, тик токи, видосы в инсте + то что там большая текучка и мало кто долго прорабатывает т.е. не больше года-полтора. из за чего становится непонятно откуда у них бабки чтобы платить разрабам такие бабосы. аноны, вы что нибудь знаете о ней, стоит ли туда соваться ?
46 2012935
>>12897

>let func = sayHi; // (2) копируем


Нет, тут ты ничего не копируешь. Ты кладёшь в переменную func ссылку на функцию sayHi. Всё.
47 2012940
>>12923
А, ну тогда другое дело. Так понятно. Спасибо за объяснение.
48 2012941
>>12935
Нет. Тут он копирует ссылку на функцию из одной переменной, в другую. Теперь на функцию указывает две независимые ссылки.
49 2012945
>>12929

>не пить не курить,отсутствие татуировок, не носить длинную бороду, не носить длинные волосы


Чего нахуй? Ну не пить разве что на рабочем, месте, остальное вообще с чего вдруг высралось?

https://v1.postuf.com/conditions
Пиздец ебанный, все моники повернуты к надзирателю с плёткой. У всех на столах таймеры отсчитывающих время рабства. Я не знаю сколько они там платят, но это какой-то пиздец. Наверное еще палками пиздят каждый час, чтобы держали строй
50 2012953
>>12945
https://v1.postuf.com/equality

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


Похоже рабовладелец какой-то пизданутый шиз с манией величия. Охуенная там атмосфера в коллективе наверное
51 2012954
>>12945

>У всех на столах таймеры отсчитывающих время рабства


ты это где увидел?
52 2012958
>>12954
Пролистай страничку, там панорамное фото, у всех на столах
53 2012964
>>12929
Судя по написаному на компам тайм трекеры стоят, уже после этого можно дальше не читать че там. Это архаичный рудимент нулевых, который используют говно конторы. Смотри лучше банковский сектор, в банках щас рост колличества вакансий к прошлому году больше на 50% и зп самые высокие, средняя зп в банках тоже к прошлому году выросла у айтишников. Большая корпортивная культура и не анальные услвлия работы, для вката самое то.
54 2012967
>>12964
В банки вышка нужна, анальный дресскод итд.
55 2012972
>>12967
Неверная инфа. Работал в тиньке и в альфе.
56 2012979
>>12964
А лол, я их вспомнил, эт они на хабре форсили свой клиент телеги с двойным дном, еще просили дурова ответить, кекус. Поднялись однако, там было два разработчика, щас уже целый стартап с неплохими зарплатами, но начальник поехавший.
Хули если бы я свою контору открыл я бы тоже ебанутые требования ввел, всем ходить в розовых поло и пить воду только из бутилированных фаллоиметаторов.
Стикер191 Кб, 512x512
57 2013117
Кто-нибудь пользуется lodash? Он релевантен в 2021 веке? На него есть спрос?
58 2013132
>>13117
Все что решает задачу релевантно
59 2013199
>>13117

>Он релевантен в 2021 веке?


С какой стати он должен был перестать быть релевантным? Для ебанутого преобразования данных ничего лучше еще не придумали.
image.png274 Кб, 1712x1322
60 2013225
>>13117
А чего нет-то? Проекту 2 года. Как видишь, используем lodash хотя бы 1 раз на 2500 строк, лол.
image.png337 Кб, 2412x1402
61 2013228
>>13225
Хуевую картинку приложил, вот более информативная.
62 2013260
>>13117

>lodash


без знания лодаша и рамды на листочке вкат не возможет )))
63 2013285
Они уже на полном серьезе обсуждают изучение конкретных библиотек хелперов, как минимально необходимый скилл.
64 2013330
t
65 2013364
>>13117
ramda.js же
66 2013367
>>13285

>базовые ФП утилити без которых код в принципе нельзя писать читабельный


>ХЕЛПЕРЫ


Вголос с маньки. Как там, циклы for небось пишешь до сих пор?
67 2013371
Аноны, прошу вашей помощи. Пиздец горит сдать задание, а я никак не въеду в регулярки, времени на это нет. Кто может накидать регу для проверки номера по след условию

> Mobile phone support format 380 + 50|63|66|67|68|91|92|93|97| 96 + 7 digits.


Уверен для сидящих тут профи это на минуту-две.
68 2013377
>>12447
Изучай стандартную библиотеку ноды, express, потом nest.js + typescript, библиотеки для работы с вебсокетами, базами и очередями, аутентификацию и авторизацию
69 2013386
>>12654
Там вроде какие-то проблема были с next.js
70 2013393
>>13371
Так у тебя все написано уже
71 2013428
Хочу начать пет-проект на реакт+нода. Все хочу ебануть в докере. В целом все без докера делал уже и представляю как это работает. Но у докера какой-то ебучий гайд, не могу нормального для дебилов, чтобы на пальцах показали что куда делать.
72 2013462
>>13428
Ну так докер и не для дебилов вкатывальщиков, а для состоявшихся инженеров.
73 2013466
>>13367
Это и есть хелперы.
Ты бы это понимал, будь у тебя хоть какой-то опыт.
74 2013478
>>12852

хуки просто песня. В проекте получилась целая библиотека shared hooks, которые используют context внутри. Запросы к api тоже через hooks с кешированием. Полностью отказались от redux и других state managing libraries.
Через props спускаем только данные для dump components
75 2013504
>>13478
Sps anon
76 2013512
>>13428
В докере хуй разберешься блядь по человечески, хотя на деле довольно простая оказалась штука
77 2013515
>>13478
А что за хуки? Самописные? Есть какой-то гайд по этому делу? не по самописным хукам, а по отказу от стейт менеджеров в пользу хуков
78 2013521
Седня узнал что если на айфоне сохранить, сайт на рпбочий стол и у него есть версия pwa то с рабочего стола закладка открывается не в браузере, а как отдельное приложение, просто ебок задумка. Pwa это будущее
79 2013526
>>13515
Для вкатывания начинать с оф документации reactjs.org по context api и hooks. Поняв всю мощь комбинации useContext/useState/useRef/useYourOtherCustomHook inside custom hook, можно начинать эксперименты. Тут тебе сразу и свой элегантный аналог DI можно запилить и что душе угодно, ведь получаешь натуральный конструктор
80 2013538
Чтобы осилить Next.js нужно хорошо разбираться в бэкенде? Или это просто типо обертки над реактом и по бэку хватит даже базовых знаний?
81 2013564
Эта строчка создаёт окно типа toast: window.M.toast({html: text})
Но я не понимаю почему там стоит именно M? Я сначала думал, что M это просто название объекта и можно подставить любое значение, поэтому я заменил M на другую букву, но оно не сработало, что означает, что M имеет особое значение, но в Интернете ровно НОЛЬ упоминаний window.M. Кто-нибудь объяснит?
82 2013588
>>13538
Тебе по беку не нужно вообще никаких знаний. Даже базовых. Там всё на 99% работает как в реакте. Разве что нужно будет условно чекать window например, чтобы на стороне сервера к нему обращения не было. Но ты всё равно об этом сразу узнаешь, посколько в dev режиме у тебя всё будет в ssr рендерится. Единственный заёб, это стейт менеджмент, нужно разделять стор на клиенте и сервере, чтобы на сервере каждый раз новый стор создавался. Но на гитхабе некста есть примеры того, как это сделать
83 2013590
>>13564
Покажи лучше весь код, у тебя похоже что-то записывается в объект виндов, и потом чтение происходит. По дефолту никакого поля М у виндова нет, можешь в бразуере чекнуть шиз. И вообще что за ебалу ты там делаешь? Читай учебники лучше
84 2013595
>>13590
export const useMessage = () => {
return useCallback(text => {
if(window.M && text){
window.M.toast({html: text})
}
}, [])
}

Честно говоря, мне главное то, что оно работает, но я пытаюсь понять суть того почему этот код работает. Ты бы кстати молчал про "Читай учебники", я уверен, что значительно начитанее тебя.
85 2013602
>>13595
Очевидно библиотека какая-то что-то добавляет. Без песочницы твой фрагмент кода ничего не дает
86 2013626
>>11386 (OP)
Неофит на связи. Пишу через js куки время в секундах каждую секунду для того чтобы передать их в пыху. Но каждое обновление откуда-то берется 2 абсолютно разных времени. Писал и алерты и смотрел в значения куки в бразуерах.
87 2013628
>>13626

>пыху


Перестал читать на этом моменте.
image.png2 Кб, 384x54
88 2013634
Как вам? Хочу написать свою ОС
89 2013641
>>13634
const printx = { log: console.log, error: console.error };
90 2013648
>>13564
По дефолту нет никаких M объектов. Подключи правильно либу, и может быть появится.
91 2013663
>>13371
^380\s?\+\s?(50|63|66|67|68|91|92|93|97|96)\d{7}$
92 2013672
>>13626

>php


Зашквар и неуважение -1000соц.кредитов.

>Задает вопрос без кода


"Бля, рибята у миня сламалася памахити!!"
Зашквар и неуважение -1000соц.кредитов.

>Неофит


Вкатыши не нужны. И уж тем более во фронте.
93 2013674
Ребятушки, а зачем собственно нужны стрелочные функции? Что они привносят?
94 2013681
>>13674
Берут this из того места, в котором они объявлены. Могут возвращать результат без указания return. Всё остальное ситуативно
sage 95 2013686
>>13672

>Зашквар и неуважение -1000соц.кредитов.


Нихуя себе самомнение у жопаскрип макаки

>И уж тем более во фронте.


Ахахахахахахахахахахаха, блядь
96 2013687
>>13626
Рака тебе пидорас, спасибо за быстрый дегрод ссд.
97 2013691
>>13674
Сразу видно человека, который никогда не писал реализацию bind()
2.png43 Кб, 852x852
98 2013694

>>Зашквар и неуважение -1000соц.кредитов.


>Нихуя себе самомнение у жопаскрип макаки


>


>>И уж тем более во фронте.


>Ахахахахахахахахахахаха, блядь

99 2013700
>>13686

>Ахахахахахахахахахахаха


Гикбрейнс и хаудихо сказали? Вкатышь порвался.
100 2013701
Есть сайтец, он грузит данные с сервера и рисует табличку. Я пытаюсь написать юзерскрипт с помощью tampermonkey, который ловит момент загрузки ДОМа и парсит одно из полей таблички, возвращая innerHTML.
Проблема:
Я не могу получить доступ к элементу через querySelector, он всегда возвращает null. Поиск элемента происходит после загрузки страницы вот так:
if (document.readyState == "complete" || document.readyState == "loaded" || document.readyState == "interactive") {
console.log(document.querySelector(".selector"))
}
При этом если поставить сюда вместо лога в консоль алерт, то алерт начнет выполняться еще до того, как табличка прогрузилась (там вметсо нее будет спинер вертеться). Как мне выполнить запрос вовремя и содрать с хитрой таблички данные?
101 2013729
А в js можно полазать по исходникам стандартной библиотеки, как в java или си?
Только начинаю учить js и пока такого термина, как "стандартная библиотека" вообще не встречал.
102 2013739
>>13701
MutationObserver или вызывай querySelector пока будет не null, лол
>>13729
Окружение предоставляет «стандартную библиотеку», поэтому открывай исходники браузера/ноды и лазай.
Но лучше не лазай, а учи жс
103 2013749
>>13701
DOMContentLoaded
104 2013755
>>13521
Однажды ты узнаешь, что Земля вращается вокруг Солнца.
105 2013784
>>13749

>DOMContentLoaded


Вообще не стартует из tampermonkey. Видно, что в девтулзе обработчик висит на событие, и видно, что из скрипта, но оно не стартует.
106 2013786
>>13512
Хорошо, где взять гайд как стать состоявшимся инженером?
>>13512
Да я о том же, я не девопс, мне не нужно каждую заебульку настраивать. Просто хочу создать отдельное окружение для своего проекта, image или как там его. Сука все же просто в теории. Почему ни одного нормального гайда. Анон, как ты в итоге разобрался в нем?
107 2013796
>>13628
>>13672
>>13687
Нихуя у вас тут ламповое комьюнити, у вас хотя бы нахуй посылают, а вот в шарп треде вообще тишина.
108 2013811
>>13796

>шарп


Еще не умер?
109 2013812
>>13796
Иди нахуй, хуесос.
110 2013817
>>13786

>как ты в итоге разобрался в нем?


Мне нужно было для некста контейнер собрать, у них на гитхабе был пример, оттуда и взял. И уже после этого теперь мне понятно, что я в принципе должен писать в докерфайле. Вообще у них есть примеры неплохие в доках. Проблема моя изначально была в том, что я вообще нахуй не мог понять, что такое докер, и нахуй эти контейнеры нужны. Вообще чем больше я сталкиваюсь с непонятной хуйней, тем больше понимаю, что единственный способ разобраться в чем-то, это: не понимать, не понимать, не понимать, а потом ККААААК ПОНЯТЬ.
111 2013818
>>13817
Ладно, спасибо, пойду к ним в доки за примерами.
112 2013886
Ant design
113 2013895
>>13886
hui budesh?
114 2013918
>>13739

>Окружение предоставляет «стандартную библиотеку»


То есть веб-апи браузера и «стандартная библиотека» это одно и тоже?
115 2013936
>>13918
Нет.
image.png39 Кб, 575x227
116 2013943
117 2013959
Как победить cors двачевского api? Че посоветуете?
118 2013966
>>13959

>Че посоветуете?


Понять, что такое CORS и не задавать глупых вопросов.
Вкатышь Золотце 119 2014003
Почему так, блять?!
Вкатышь Золотце 120 2014005
>>14003
Уточню, почему с true выходит 4, а с false 3?
изображение.png20 Кб, 577x449
121 2014015
>>14003
>>14005
Я разобрался. Нахуя в true есть аднерка?
изображение.png167 Кб, 480x360
122 2014017
>>14015

>аднерка

123 2014021
>>14015
Ты конкатенируешь к булеану число, происходит преобразование типов булеан в число, при это фолс становится нулем, тру становится единицей, соответственно при тру у тебя тру становится 1 + еще три единицы итого 4, а при фолсе он становится нулем и еще три единицы - это 3.
124 2014022
>>12488
setTimer, дебич
125 2014023
>>14015
Короче в жс динамическая типизация, при попытке сложить два типа они приводятся к одному, в данном случае к числу, по правилам преобразования тру становится единицей, фолс нулем. Читай лерн жабаскрипт мазафака.
126 2014025
>>14021
Во-во. А потом носится тут анти-тайпскрип-шиз по треду и орет: АРЯЯЯЯЯЯЯ КОНПЕЛЯТОР УБЛОЖАЕТЕ!
127 2014028
>>14025
но ведь ты и есть шиз
128 2014034
Классика js тредов, стабильно раз в два треда рвется один неосилятор, от динамической типизации.
129 2014043
>>14034
Как контролировать батхерт? Учу js неделю и от динамичности дико бомбит.
130 2014065
>>14043
Не учи. Выбери то, что тебе по силам.
131 2014204
t
132 2014228
image261 Кб, 2574x1320
133 2014335
гайс поясните че значит adopt trial assess hold

Hold я так понял что всегда используют
Trial временные технологии
а остальное че?
134 2014355
>>14335
hold это "остановись, подумой"
135 2014417
q
136 2014497
react
137 2014535
>>13663
Премного благодарен, анон.
138 2014596
rectal
139 2014638
>>13526
>>13478
Охуенно, отказались от стейт-менеджера и теперь у вас на любой пук все чилдрены контекста ререндерятся
140 2014648
>>14335
Откуда картинка?
141 2014649
>>14638
Разве рендеринг это не обновление дома? Если изменений не произошло, то реакт ничегр ререндерить не будет в этих компонентах же? А вот что там виртуальный дом шатает, я не знаю при этом
142 2014674
>>14649
Если не ошибаюсь, то при использовании контекста при изменении данных в контексте запустится ререндер всех потомков контекст провайдера, даже если эти потомки не используют эти данные
16101315321850.png596 Кб, 918x750
143 2014682
Пиздос.

Хотел прикрутить тайпскрипт к пет-проекту на вью, и ничего не вышло. Нормально работает только в 80 процентах ситуаций, а в остальных 20 приходится либо ублажать конпелятор, либо лепить ts-ignore. Надо было писать на реакте - он с тайпскриптом работает нормально.
144 2014694
>>14674
Все верно. Context API не имеет никакого отношения к стейт менеджменту, это тулза для других целей и ее юзать надо с умом.
145 2014716
>>14694
Просто в понимании даунов стейт менеджмет это только прокидывание глобальных переменных в компоненты.
146 2014720
>>14682
Просто пиши any везде
147 2014724
>>14682
Вроде в Vue3 уже лучше поддержку завезли.
148 2014745
>>14716
Даунов настолько много, что появилась даже такая хуйня - https://github.com/dai-shi/use-context-selector
149 2014749
>>14724

>Вроде в Vue3 уже лучше поддержку завезли


Завезли (хоть и все равно не полную), только под третью версию пока еще не адаптировали много библиотек.
150 2014750
Пацаны, typescript большой по объему? Дали задание до конца майских (11.05) выучить язык и уже применять в работе. Пока даж описание его не читал. Там как реакт либа, или целый язык как js? Долго там с ним возиться? Js и react уже знаю
151 2014754
>>14750
Просто пиши везде any
152 2014758
>>14754
Anya?
16190379373930.png108 Кб, 300x300
153 2014760
>>14750
И эти люди работают в индустрии...
154 2014762
>>14750

>Дали задание до конца майских (11.05) выучить язык и уже применять в работе.


Они ебанутые? Там только конфиг вебпака будешь перепердоливать неделю. А использование тайпскрипта на проекте, в котором его нет, максимум в >>14754 выльется.
155 2014763
>>14760
Работают лохи, я зарабатываю
156 2014777
>>14762
Че там с вебпаком делать, лоадер прописать лол?
157 2014780
>>14762

>А использование тайпскрипта на проекте, в котором его нет, максимум в >>14754 выльется.



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

Проблема в том что для этого нужен чувак который уже шарит в ТС и его настройке, а так с нуля вряд ли выйдет и правда.
158 2014790
>>14777

>Че там с вебпаком делать, лоадер прописать лол?


Перенести бабелеподобные трансформации, переименовать все файлы, потом во всех этих файлах отловить все критические ошибки тайпскрипта.
Ну или хуярить отдельный энтрипоинт для тайпскриптовской компиляции, который хуй пойми как будет взаимодействовать с основным.
159 2014804
>>14790
Поехавший, миграция на ТС не происходит "переименовать все файлы". Любой js файл является валидным ts файлом. Ты просто начинаешь переименовывать по очереди и добавлять базовые типы, работая над проектом.
160 2014819
>>14804

>Любой js файл является валидным ts файлом.


Найс мантра, вот только js файлы уже прогоняются через бабель, который несовместим с тайпскриптом. Впрочем для конторки уровня "пиши в проекте на тайпскрипте через полторы недели" прогонять код через две транспиляции и так сойдёт.
изображение.png606 Кб, 730x430
161 2014848
>>14819

>пиши в проекте на тайпскрипте через полторы недели


Я написал своей первый тайпскрипт код в 16 лет.
Мимо руководитель конторы.
как же понимать.mp4936 Кб, mp4,
1280x720, 0:03
162 2014861
дiд 2.mp4194 Кб, mp4,
320x180, 0:05
163 2014867
Кадык вырву.mp4120 Кб, mp4,
256x256, 0:05
164 2014873
165 2014875
>>14819
Через вебпак больше чем 2 транспиляции проходит. Да, сначала тс для транспиляции с тс в джс, потом бабель для рантайм генераторов и подобного, в сложных проектах и больше лоадеров висит в конфиге.
дiд.webm1,2 Мб, webm,
492x360, 0:07
166 2014878
э.mp41,2 Мб, mp4,
240x320, 0:18
167 2014879
168 2014887
Стоит переходить на жс или продолжать сидеть на жанге
169 2014897
Пизда, как волнение перебороть перед собесом?
В реале всегда такой уверенный титан непоколебимый, а тут встал вопрос устройства на новую работку, прочитал что там будет собес в стиле FAANG и у меня чет яички немного вжались.
Понимаю что нужно похуистически отнестись к собесу, и отвечать на похуй - что бы было все на расслабоне, я так и планирую.
Но томительное ожидание перед собесом повышает градус волнения. Буквально каждую секунду начал ощущать которая приблежает меня к собесу.
170 2014917
>>14897
Садишься, закрываешь глаза и минут 20 представляешь в самом наихудшем кошмаре, как ты проваливаешь это собеседование. Если ты будешь делать все правильно (т е не будешь давать себе поблажек в этих вымышленных ситуаиях), то к концу времени ты должен заметить: что твой мозгу надоест об этом думать и он будет пытаться смещать внимание на другие проблемы или интересные вещи и что ты стал более спокойным. Ты должен осознать, что ты принял полностью ситуацию, что ты придешь и обосрешься так сильно как никогда раньше и тебе в целом норм.
171 2014923
>>14917
Точно анончик, спасибо. Как-то раз уже использовал такую технику, представляешь самое худшее что может случиться, много об этом думаешь и вот в реале все не так уж страшно получается. В какой-то книге давно читал этот лайфхак. Спасибо!
172 2014958
>>14887
Не лезь дебил, там сейчас каждый фреймворк как отдельный язык
173 2014963
>>14897
Включаешь прям на собесе с внешних колонок Death Grips и игноришь все просьбы сделать музыку потише.
174 2014994
>>14963
Я бы с радостью, так ведь пидорнут со словами - токсичный неадекват.
175 2015039
>>14994
Это главный недостаток данного подхода
Безымянный.png79 Кб, 1265x770
176 2015053
Привет аноны, пол года зубрю js но к сожалению упёрся в потолок. Если по началу было как-то интересно всё это, то уже спустя некоторое время - начал замечать за собой насильную зубрёжку, отдых не помогает, а отвлечение только подгорает внутреннее беспокойство, что время уходит. Пробовал себя на разных "бесплатных тестах и задачках" но без объяснения происходящего - вся информация просто вылетает спустя 2-3 минуты. Потому решил записаться на курсы, пусть может "дядя" придаст мне стимул, так как мне проще работать в команде. И вот я нашёл один через гугл, и мне показался он слишком подозрительным, что-то бьёт тревогу и говорит "Лучше туда не лезь". Добрый анон подскажи: 1) Как снова включиться в изучение 2) Как тебе идея с курсами? 3) Как тебе такой курс от mate academy? Прилагаю скриншот прайса, олсо они ещё требуют 4К долларов, если не в "кредит"
177 2015113
>>15053
lohkok
178 2015179
>>11386 (OP)
Всем привет. Чуть больше 3х лет работаю формошлепом, хочу углубиться в CS и получить "минимум разработчика", который в теории получают студенты IT - шных направлений. В первую очередь апнуться в классических алгоритмах/структурах данных и паттернах проектирования, так как с этим так или иначе приходится сталкиваться в работе. Кто знает - посоветуйте пожалуйста книги по означенным темам, идеально, если для реализации примеров будет использоваться js/псевдокод, вникать в Паскали - Джавы не хочу. Трехтомники Кнутов на 3000+ страниц так же прошу не предлагать.
180 2015211
>>15200

> Pascal


Нахуй, лучше уж тогда Вирта наверну
181 2015219
>>15211
Это псевдокод. Паскаль ты по этой книге не изучишь. Эт вообще известная фундаментальная книжка, от авторов другой известной книжки по компиляторам. Тебе надо на русском нач цкл кон цкл? Есть такая для школьников https://www.litres.ru/d-m-zlatopolskiy/programmirovanie-tipovye-zadachi-algoritmy-metody-6509134/
FOIFgksq3z.png42 Кб, 1127x234
182 2015317
Как так то?
183 2015341
>>15317
На нпм забанили?
16164476488950.jpg196 Кб, 869x882
184 2015362
>>15053
За полгода можно не то что джс выучить, а реакт свой написать на нем с блекджеком и шлюхами.

Ты видимо что-то не то делаешь.

Курсы норм, но не инфоциганские как на скрине у тебя, а на udemy, frontendmasters, coursera. Сам сейчас прохожу
https://frontendmasters.com/courses/hardcore-js-patterns/
Отлично заходит после его же книжки.

Это хардкор материал, но я к тому что самостоятельное изучение и возможные курсы это часть "быть программистом". Поэтому если ты за полгода не понял что происходить, то возможно это просто не твое. Особенно если "насильная зубрежка" есть. У меня 5 лет работы и я не помню чтобы хоть раз насильно что-то учил. Тебе либо интересно понять как работает и как писать код, либо нет.
185 2015369
>>15219
Сорян, возможно описание жопой прочел. А по паттернам можешь что нибудь посоветовать?
186 2015549
js
187 2015588
Напомню для даунов

Redux > Mobx > вся остальная хуета

Redux это функциональный, математический, чистый подход (Update монада). Все остальное лишь попытки накостылить стейт менеджмет для зумеров, чтобы им не было СЛОЖНО.
188 2015628
>>15588
Я не зумер и мне в целом нравится редакс, но почему в нем нужно везде вручную делать мемоизацию селекторов чтобы не было лишних ререндеров? В мобиксе это встроено из коробки, и в vuex тоже
189 2015645
>>15588

>Redux это функциональный, математический, чистый подход


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

>Все остальное лишь попытки накостылить стейт менеджмет для зумеров, чтобы им не было СЛОЖНО.


Расскажешь, почему сложный подход лучше простого и почему ты в таком случае пишешь на высокоуровневом языке, а не дрочишь байты на ассемблере, что в сто раз СЛОЖНЕЕ?
15696975710193.jpg26 Кб, 293x344
190 2015650
>>15588

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


Это когда для поиска одного элемента перебираешь весь массив?
191 2015655
>>15628
Это проблема Реакта, а не редакса.>>15645
192 2015660
>>15645

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


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

>Расскажешь, почему сложный подход лучше простого и почему ты в таком случае пишешь на высокоуровневом языке, а не дрочишь байты на ассемблере, что в сто раз СЛОЖНЕЕ?


Когда простота ухудшает кодовую базу, ничего хорошего в ней нет тоже. Должен быть баланс. Тут дело как раз в том, что зумеры подсели на иглу ЧТОБЫ ПРОЩЕ И МЕНЬШЕ "БОЙЛЕРПЛЕЙТА", а потом мы имеем портянки из говнокода на реакте.
193 2015670
>>15660

>Плюсы те же, что и во всем фп - надежность, экспрессивность, скалируемость и читаемость кода


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

>Когда простота ухудшает кодовую базу, ничего хорошего в ней нет тоже


"Когда код ухудшает кодовую базу, ничего хорошего в нем нет". Охуенное откровение, шизло, но твоя изначальная позиция ничего ни про какое ухудшение не говорила, а просто атаковала простоту используемого кода как таковую.
194 2015673
>>15655
Почему в мобиксе решили эту проблему, а при работе с редаксом надо на каждый пук писать селекторы на реселекте? Утомляет куча бойлерплейта
photo2020-09-1511-03-00.jpg28 Кб, 500x654
195 2015675
>>15670

>Опять набор религиозных безосновательных мантр


"Мантры" обоснованы теорией категорий и пруфабельностью кода, так что твои гавканья (как и вообще любые наезды на функциональщину) идут мимо.

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


А ФП код еще проще, если понимать основы Я говорю именно про дебилизацию кода, которая автоматом несет за собой ухудшение его качеств.
196 2015676
>>15660
Ты ответь в чём прикол писать громоздкие селекторы на каждый пук чтобы не было лишних ререндеров?
197 2015684
>>15673
Потому что мобикс больше подходит для неоптимизированного реакт кода, где каждый пук вызывает ненужный ререндер. Я не зря упомянул его на 2 месте после Редакса - я думаю для Реакта мобикс это дефолтный выбор для мелкопроектов, не поймите меня неправильно. Я лишь защищаю Редакс как ФП паттерн, на который гавкают зумеры, не понимая зачем он и как его использовать.

>>15676
А я тебе говорю, что это проблема байндингов Редакса к Реакту и в Реакте как таковом, к самому паттерну это не имеет никакого отношения. Селекторы сами по себе даже не часть Редакса - это просто логическое продолжение его использования. А реселект накостылен вообще, вместо того чтобы нормально сделать через Reader монаду, оттуда и бойлерплейт.
198 2015691
>>15675

>"Мантры" обоснованы теорией категорий и пруфабельностью кода


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

>А ФП код еще проще, если понимать основы


Объективно нет. Мутабельный цикл понять в сто раз проще, чем редьюс или боже упаси антипаттерн под названием рекурсия. Хоть обосрись со своим "ДА ТИ ПРОСТА ФП НИЗНАЕШЬ, Я КАЖДЫЙ ДЕНЬ РЕКУРСИИ РАЗМАТЫВАЮ КАК ОРЕШКИ", но факт останется фактом: последовательность команд человеческому мозгу воспринять проще.
199 2015698
>>15691

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


Ну тебе виднее, как скажешь.

>Объективно


Ясно

>Мутабельный цикл понять в сто раз проще


Сразу видно нуба без опыта. Мутабельный цикл каждый индус сделает по-разному, делая абсолютно разные операциии внутри него (или что еще хуже, вместе с какими-то сайд эффектами) и тебе придется каждый цикл разбирать как работает. С редьюсом выучив что такое редьюс ты мгновенно поймешь что код делает, потому что низкоуровневая итерация спратана.
200 2015708
>>15698

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


> С редьюсом выучив что такое редьюс ты мгновенно поймешь что код делает


ФП-шиз, расскажи, какое такое магическое свойство редьюса предотвращает индуса от выполнения всех тех же операций внутри редьюсер-функции, которые он выполнил бы в теле цикла?
201 2015735
>>15708
А если индус знает слово редьюс, то он достаточно образован, чтобы не делать магических операций в теле функции. Если бы каждого индуса-кодера обучили ФП, качество кода стало бы в разы чище. Меньше маневра сделать так чтоб работало, но наговнокодить.

Но все это неважно, когда-нибудь с опытом ты сам всё поймешь. Пока можно набивать руку и говнокодить императивные портянки, благо спрос есть.
202 2015740
>>15684
Ну в итоге байндинги у нас только одни, и используя реакт с редаксом в любом случае придется писать селекторы иначе будут лишние ререндеры
203 2015746
>>15735

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


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

>когда-нибудь с опытом ты сам всё поймешь


"Когда-нибудь сам поймешь, что бог есть, а пока оставайся в заблуждении"

Ожидаемая "аргументация" от религиозного ФП-шизика.
204 2015761
>>15735

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


Тебя спрашивают, чем редьюс лучше цикла, а ты говоришь, что редьюс оказывается нужен не потому что он лучше цикла, а потому он якобы приходит вместе с сокровенным знанием о том, как писать код. Кто ты, если не шизик?
205 2015763
>>15746
Можно подумать с твоей стороны была какая-то аргументация кроме "ФП-шиза" и "объективно" (лол), я лишь высказываю свою точку зрения основываясь на опыте. Почитай книги по разработке ПО, по ООП, ФП, по архитектуре больших систем, поработай мидлом хотя бы на крупных проектах и будут тебе пруфы и аргументация.
206 2015774
>>15761
Я сказал чем редьюс лучше цикла (и производные от него как map, filter, fold) - ты скрываешь реализацию и фокусируешься на том что ты хочешь сделать. Обычный цикл нужно каждый раз читать, ведь неизвестно фильтруешь ты там что-то, вызываешь функцию над элементами или вообще запросы к базе данных делаешь. Вот и всё.

Конечно, вкатывальщикам кажется что более читабельный и проще обычный цикл - потому что они не работали над большими проектами или с комплексной бизнес логикой, где за for по рукам могут дать.
207 2015776
>>15763
Но ведь это ты пришел в тред и начал высыпать набор безосновательных мантр про "функциональность математику чистоту надежность читаемость", тебе эти мантры и нужно доказывать, раз уж заикнулся. Тот факт, что ты абсолютно ничего в их защиту не сказал за 10 постов, кроме "почитай книжки умные и поработай, тогда и поверишь в моего бога, а пока ты недостаточно просвещен", очень многое демонстрирует.
208 2015781
>>15774

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


А в цикле ты на чем фокусируешься, на мамке твоей?

>Обычный цикл нужно каждый раз читать, ведь неизвестно фильтруешь ты там что-то


А магические редьюс-функции не нужно читать, они отпечатываются прямо в мозгу и ты знаешь, что в них происходит.
209 2015816
Жабаны, хочу наговнякать быстренько два де игру на жеесе, чтобы сохранять можно было пыхой в бд. Простого канваса для этого достаточно будет?
210 2016000
Почему нельзя использовать шаблонные строки 24/7? Они же намного удобнее, так зачем нужны кавычки если можно всегда писать с ` ` ?
211 2016005
>>16000
С экранированием будут проблемы. Да и вопрос мена тупой, надо использовать по ситуации, это вариативный инстр
212 2016012
>>16000
Нахуй они нужны без интерполяции?
213 2016019
>>16000

>Почему нельзя использовать шаблонные строки 24/7?


А поддерживать IE11- и браузеры 2014 года кто за тебя будет, Пушкин?
214 2016020
>>16019
Пользователи IE11, который даже сама майкрософт уже не поддерживает, будут жрать распухший бандл бабеля.
215 2016026
>>16019
бабель будет это всё делать, с ума сошел там весь код кроссбраузерить руками?
216 2016045
>>16019
ебать ну пользователям ие11 и браузеров 2014 года лучше вообще интернетом не пользоваться
217 2016048
>>15053

>Привет аноны, пол года зубрю js но к сожалению упёрся в потолок.


Че там полгода зубрить-то? Кантор за месяц ковыряния в носу прочитывается. Остальное добивается практикой.
Вот как я js учил:
Играл в игру: Divinity original sin 2\Dark souls 1, когда заебывало, я выключал и читал кантора до тех пор, пока не заебет читать, потом опять играл в игру и так по кругу весь день (спасибо за клиповое зумерское мышление блять). В итоге за 3 недели осилил весь учебник и перешел на фреймворки.
218 2016054
>>16048
Двачую. Надо не читать через силу, а то хуйня будет полная. Заебало – отдохнул, надоело – пошёл учить.
219 2016060
>>16054
Да, должно быть интересно. Я вот вчера снова второй диван поставил. Думал, буду играть и в перерывах кодить пет. В итоге почти не играл, потому что писать код для оказалось интереснее, особенно когда затыков на ровном месте нет. Хз как чел, который не смог js за полгода осилить, собирается работать. Это же квинтэссенция неинтересности получится, когда не хочется + лень + заебало.
220 2016061
>>16060

>особенно когда затыков на ровном месте нет


Вот это вообще ужас, всю мотивацию убирает.
221 2016062
>>16061
Ну так решение затыка это сразу +1000 к мотивации, не? Я вот по два дня ебусь, потом сюда пощу, меня носом тыкают в то, что я где-то две скобки не поставил, так потом сразу охуенная мотивация появляется кодить и ебашить, возникает удовлетворение от того, что задача решена.
222 2016063
>>16062
Да, конечно. Но вот бывает проблема в том, что ты сам тупой и не можешь подумать и сделать план решения. Пиздец, вот у меня лично такая хуйня и я еле-еле справляюсь с ней. Проблема не в незнании синтаксиса, а ебаном сдвг.
223 2016072
hooks в реакте всегда должны быть на top level? Т.е. не дефолтные хуки реакта, а вообще любые. Инфа по встроенным в доке есть, но из неё не понятно, относится ли это к использованию любых хуков вообще или только реактовских.
224 2016073
>>16063

>Проблема не в незнании синтаксиса


Синтаксис это хуйня, инструмент. Тут решает логическое и математическое мышление, при решении конкретной задачи.
225 2016079
>>16073
Вот а я о чём, проблема в мышлении. Не знаю что делать с этим.
226 2016087
>>16079
Тренировать мышление.
Займись математикой, алгоритмами, больше программируй, решай задачи на codewars, leetcode.
227 2016089
>>16073
И потом такой маняматик хранит переменную в глобальном скоупе. Ну а чё, синтаксис это ж хуйня.
228 2016091
>>16089

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


Долбоеб, объясни мне, как фундаментальные знания исключают узкие вроде того, что глобальные переменные это плохо?
229 2016099
>>16087
Кстати, вот насчёт этого. Что-то я не понял почему в глобалке хранить плохо, всё равно же всегда в локалку уходит всё. У меня ни разу не было конфликтов такого вида.
230 2016125
Если undefined то inherit, если false значит off, если number значит включить по количеству.
231 2016127
>>16091

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


Без знания синтаксиса ты даже не поймёшь, что запихнул переменную в глобальный скоуп.
>>16099
Так в туду листе и не будет конфликтов. Проблемы с глобальными переменными всплывают намного позже, когда даже разработчик, который эту переменную запихнул, уже не участвует в проекте.
Smooshgate - типичный результат засирания глобал скоупа.
image.png109 Кб, 709x277
232 2016152
Как сделать подобные Card.Body, Card.Img в компоненте реакта?
233 2016177
>>16152
Функция с полями
234 2016180
>>16177
Звучит, как что-то сложное. Есть пример?
235 2016181
Qqq
236 2016185
>>16180
function Card() {}
function CardBody() {}
Card.Body = CardBody

Если тайпскрипт то мержишь function и namespace
237 2016189
>>16185
А если Card будет классом, это не сработает?
238 2016190
const-пидоры здесь?
239 2016191
>>16190
const вроде как нельзя изменять, но когда я пишу в редакторе const то я могу спокойно его изменить на let либо var.
240 2016192
>>15588
Двачую.
241 2016194
>>15660
Под кроватью зумерков поизи, шиз
242 2016195
>>16189
Сработает, здесь все рассчитано на то что классы это функции, а функции это объекты, а у объектов есть поля
243 2016197
Пацаны, а как получить доступ к shadowRoot?
244 2016207
>>16195
Определил класс, определил функцию и привязал её к классу Card.Body = Body

Как определить место для исполнения функции внутри класса? {this.Body()} не работает. И какие аргументы передать функции, чтобы из

<Card>
<Card.Body>
foo
</Card.Body>
</Card

было понятно, что foo — относится именно к Card.Body, хоть и есть в Card.children?
245 2016239
>>16207

>{this.Body()} не работает


bodyEl = Children.toArray(children).find((x) => x.type === Body);
Или сделай <Card body={<Card.Body />} />, тогда можно будет props.body

>какие аргументы передать функции


Никакие, foo и так в bodyEl.props.children
image.png103 Кб, 682x1140
246 2016262
>>16072
Что ты подразумеваешь под top-level? Типа обязан ли ты всегда дергать хуки только в стековом кадре компонента? Нет, вложенность может быть любой. Вызовы хуков "привязаны" под капотом к инстансу компонента.
247 2016268
>>16239
Всё, кажется я тебя понял. Написал в файле Card компонента две функции:

function Body() {}
function Title() {}

Привязал их к основному компоненту:

Card.Body = Body;
Card.Title = Title;

И таким образом достаю нужные children:

let body = this.props.children.find( child => {
if (child.type.name === 'Body') {
return child
}
}).props.children;

И вставляю {body} в компонент. Всё взлетело, спасибо большое, анон.
248 2016269
>>16268
Хотя, конечно, пустые функции — это странно и немного смущает.
249 2016272
>>16262
Ну т.е. у тебя порядок хуков не меняется ведь в рамках одного компонента. Вот хотел узнать, может ли само создание хука быть условным хоть в каком-то виде? Но судя по всему нет. И даже если он при каких-то условиях не используется, то создан должен быть всегда?
250 2016275
>>16272

>Вот хотел узнать, может ли само создание хука быть условным хоть в каком-то виде?


Просто так писать if (something) { useEffect() } нельзя, потому. Ты можешь либо перенести условие внутрь хука, либо вынести хук в отдельный компонент, то есть something && <MyComponentWithUseEffect/>
251 2016276
>>16272
И вообще поставь себе eslint с react-hooks/rules-of-hooks правилом и все.
252 2016280
>>16275
Я пока не дошёл до хуков вообще, поэтому для меня это магия.
253 2016286
>>16269
Ну это же маркер слота, у функции есть имя и на этом ее миссия выполена.
В Body и Title ты можешь сделать `return children`, тогда у тебя не будет пустых функций и не придется делать .props.children в Card
254 2016288
>>16280
Реакт знает, какой компонент рендерится в данный момент, и когда происходит первый вызов хука, он сохраняет этот хук и его стейт в некий глобальный контейнер с привязкой к компоненту. Когда хук вызывается во второй раз, реакт идет в этот глобальный контейнер и достает оттуда на каждый вызов по очереди все хуки, вызванные для этого компонента в первый раз. Если ты поменяешь очередность вызова хуков, то реакт не сможет однозначно определить, какому хуку принадлежит какой стейт и все сломается нахуй, в useState тудушек попадет useState пользователей и так далее.
255 2016293
>>16286
Ну вот про маркер слота я понял, так как сперва попытался в Card.Body впихнуть 'Title', но оно заработало не так, как ожидалось.

В целом, задача была перестать передавать огромные пропсы в качестве атрибутов. Было раньше <Card body={ огромный кусок кода } и сейчас можно будет нормально писать.

Без тебя бы не справился, спасибо ещё раз.

>>16288
В общем, время читать и осознавать хуки настало, иначе дальше пизда.
256 2016296
>>16276

>И вообще поставь себе eslint с react-hooks/rules-of-hooks правилом и все.


Он стоит, но ругается так только на базовые реактовские хуки. На хуки библиотек нет, но вот сдается мне, что так лучше не делать.
>>16275
Да вот видимо так и придется сделать
257 2016300
>>16296

>Он стоит, но ругается так только на базовые реактовские хуки.


Он ругается на все, что начинается с use, плюс есть несколько дополнений для стандартных реактовских хуков(проверка массива зависимостей для useEffect/useMemo, не нужно указывать setState и рефы в массиве зависимостей, потому что он знает что они не изменятся и т.д). А условные рендеры любых хуков выдают ошибку без вариантов.
258 2016305
>>16268
Зачем ты перебираешь дочерние компоненты? Порядок компонентов - это ответственность того, кто твой компонент использует, как ему нужно, так пусть и рендерит. А если тебе в дочерний компонент нужно передать какой-то стейт, то это делается через контекст, а не через перебирание и переписывание пропсов.
259 2016310
>>16305
Чтобы вставить их в правильное место в html. Как лучше тогда это сделать? this.props.children[0]?

Мне нужно, чтобы значение тайтла попадало в одно место, а значение бади в другое.
260 2016312
>>16310

>Чтобы вставить их в правильное место в html


Что значит "правильное место"? Если у тебя внутри Card есть какие-то элементы-обертки, внутри которых и должны рендериться Card.Title и Card.Body то по-хорошему эти элементы тоже должны быть частью публичного API, а не скрытой внутри неожиданной магией.
261 2016317
Почему Nodejs вакансии одно говно, даже на пхп нормальные бывают чисто бек хуйлоад патерны хуяторны.
262 2016318
>>16312
Например так:

<div> //Контейнер для карточки
<div> //Контейнер для хедера карточки
{title}
<button>+</button>
</div>
{body}
</div>
image.png22 Кб, 471x135
263 2016323
>>16318
Ну так и передавай их сразу пропсами.
264 2016327
>>16323
body получается слишком огромным пропсом. Я думал, чтобы объявлять body в переменной и потом передавать в качестве пропса, но вариант с <Card.Body> внутри самой карточки выглядит лучше.
265 2016332
>>16327
Что значит "слишком огромным"? Передавать объект в пропсах или в children - это одно и то же, но вытащить конкретный нужный тебе объект из пропсов гораздо проще и удобнее, чем перебирать массив children, да еще и с проверкой по текстовому имени элемента.
image.png109 Кб, 709x277
266 2016337
>>16332
Например в бади нужно указать форму, плюс контролы к ней. И это уже выглядит достаточно громоздко, чтобы объявлять это отдельно, а не просто записать внутри тега <Card.Body>.

Плюс у меня ещё верстальческое мышление, мне удобнее было бы держать всё, как на пике, а не объявлять где-то отдельные переменные.
267 2016341
>>16337
Нужно больше компонентов
268 2016342
В чём вообще разница между объявлением и выражением функции, которые по сути, просто создаются, никуда не передаются, не являются коллбеками?

function func() {};
или
const func = function(){}; // стрелочная отличается по другой причине, поэтому тут её не привожу

Нахуй второе нужно вообще?

Единственные ответы, которые мне приходят, в первом случае она всплывает и можно вызывать функцию, до её создания, что по сути, на работу кода никак не влияет, ну напиши функцию сверху и хуй бы с ней. И во втором, функцию нельзя перезаписать типа func = 10. И по сути, лучше по этой причине использовать второй вариант, просто первый введён был раньше?

Принципиальные различия только в этом? Можно всегда пользоваться вторым вариантом? Ууу сука блядь
Ну и разумеется, если пользоваться вторым вариантом, то всегда можно и стрелочную вместо неё хуярить, пока тебе this не понадобится, аргументс нахуй не нужны, тогда вопрос уже вообще теряет всякий смысл, потому что они всё равно будут отличаться, но уже по другой причине.
image.png43 Кб, 587x296
269 2016345
>>16337
Не благодари.
270 2016347
>>16342

>Нахуй второе нужно вообще?


Не нужно, это вопрос стиля, и "объявление именованной функции" без вариантов читается лучше, чем "объявление переменной и запись в нее функции".
271 2016350
>>16347
А как же подводная защита от перезаписи конста?
Почему всегда не использовать стрелочную вообще? Читается пизже
272 2016355
>>16350

>А как же подводная защита от перезаписи конста?


Ты охуеешь, но если тебе не нужно переписывать переменную, то не переписывай и надуманная проблема констошизиков решена. Две функции с одинаковым именем ты и так объявить не можешь.

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


Спорное заявление, по-моему пизже читается когда ты открыто и без сомнений пишешь мужское function, объявляя всему миру, что ты альфач и только что объявил ФУНКЦИЮ, а не дрочишь втихую как омеган переменные и анонимные стрелочки.
273 2016357
>>16345
Дичь какая-то. В чем проблема перебирать дочерние элементы, как сделал я?
274 2016359
>>16357
В том, что твоя реализация будет выглядеть как пик 1, а моя как пик 2. Делают они то же самое, но 1) моя проще 2) моя не полагается на проверку текстового имени 3) моя не прячет тот факт, что порядок дочерних элементов на самом деле значения не имеет 4) у моей есть явно объявленное публичное API, а не спрятанные внутри переборы непонятно чего.
275 2016361
>>16350
Зато дебажится сложнее, функции анонимные в дебагере. Но конечно стрелочная функция удобней и ближе к матанской записи, что удобно в функциональщине.

const add => x => y => x + y;

сравни с

function add(x) {
return function(y) {
return x + y;
}
}
276 2016362
>>16359
Всё дело в том, что я наоборот хочу отказаться от того, что ты предлагаешь. У меня сейчас так и есть проблемы с тем, что атрибуты слишком громоздкие.
277 2016364
>>15053
javamentor
Сам не проходил, но слышал от доверенных источников, что люди получали хорошие офферы
278 2016365
>>16362

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


И ты ее не решаешь, потому что функционально это абсолютно то же самое, только неявно, скрыто и включает больше ненужного кода.
279 2016366
>>16361
Тогда уж сравни с function add(x, y) { return x+y; }. А если у тебя реально сложная логика, требующая преобразования аргументов и возвращения новых функций, а не выдуманный неиспользуемый нигде пример из одной строчки, то стрелочная залупа будет читаться в сто раз хуже.
280 2016370
>>16365
Решаю это тем, что теперь оно похоже на хтмл больше, чем на жс. Хотя, конечно, сомнительно. Я вообще просто кнопки хочу красить и блоки двигать, а мне пихают реакт.

Ну и по твоей логике получается, что бутстрап для реакта — говно. Код выше с карточками на пике — БС.
281 2016376
>>16366
>>16361
>>16355
>>16347
Ну и что на собесе отвечать-то? Пиздец
282 2016377
>>16370

>Ну и по твоей логике получается, что бутстрап для реакта — говно


Большинство компонентов в нем перебор children не используют и куда попало их не вставляют, ты всегда должен однозначно структуру объявлять.
283 2016385
>>16376
Блять, что стрелочные функции берут this из внешнего скоупа и их нельзя использовать как методы. Всё.
284 2016390
>>16385
Да я все различия и так знаю. Я же сам описал в первом вопросе. А типа если на собесе спросят, какие функции ты используешь по дефолту? Вот хули бы мне не использовать стрелочные везде? Что ты мне сделаешь? КАКИЕ ЛУЧШЕ ИСПОЛЬЗОВАТЬ ВЕЗДЕ ОТВЕЧАЙ МРАЗЬ ЧТО ТЫ ПИШЕШЬ, ТЫ ПИШЕШЬ ФУНКЦИИ? ПОКАЖИ КАК ТЫ ПИШЕШЬ, ХОЧУ ВИДЕТЬ КАК ТЫ ПИШЕШЬ ФУНКЦИИ О ДА СОЗДАЙ ДЛЯ МЕНЯ ЕЩЕ ПАРОЧКУ ФУНКЦИИ ГРЯЗНАЯ СУЧКА
285 2016391
>>16377
Можешь объяснить, что значит однозначно объявлять структуру? У меня всегда в тайтле будет тайтл, местами ни с чем он не будет меняться
286 2016395
>>16391
Значит, что если я напишу <Card><Card.Title/><Card.Body/></Card>, то это отрендерится как и написано - сначала Title, после него Body, и ничего лишнего там не возникнет. А если внутри Card идет перебор children, и Title с Body рендерятся в обратном порядке, или между ними вставляется кнопка, или вообще один засовывается внутрь другого, то это расхождение по структуре - написал я одно, а рендерится неожиданно абсолютно другое.
287 2016397
>>16390
Омеганский ответ джуна: "использую вот такое, но очевидно это вопрос вкуса и зависит от стиля в проекте, если принято писать стрелочные, то буду писать их".

Ответ альфы-сеньора: "пишу вот так, все остальное неправильно, и сейчас я вам объясню почему".
288 2016401
>>16395
Звучит именно так, как предполагается
289 2016418
>>16390
А ты ответь сначала в чем разница между всеми видами функций.п еще лучше,попробуйихвсеперечислить.
290 2016494
>>16418
Отвечал и перечислял на собесе. Использую стрелочные потому что хули ты мне сделаешь?
291 2016524
>>16494
Не возьму тебя на работу.
292 2016627
Нахуй нужны рекурсии, если они ресурсозатратнее и в 99% случаев читаются хуже цикла?
293 2016628
Посоны, поясните по хардкору, сильно я испорчу себе резюме, если буду менять работу каждые полгода? Если кратко, на первую работу устроился в говнокомпанию ТК там платили довольно хорошо (110к на руки, потом апнули до 120). Отработал 7 месяцев и дропнул ТК там были ужасные условия. Постоянный шум, крики и вонища. Месяц искал новую работу на удаленку, устроился на 95к + раз в квартал премия 75% от зп. Нынешняя работа норм, но вот зп мне не нравится. Согласился только потому что годных вакансий для удаленки на ангуляре было вот прям совсем мало. В итоге думаю месяцев 6-7 поковырять ноду и искать работу на ней. Это адекватный вариант, или лучше на нынешнем месте где-то хотя бы на год задержаться?
294 2016633
>>16627
Не нужны, рекурсия это антипаттерн даже в ФП-языках, а уж тем более в языках без tail-call оптимизации типа жопоскрипта.
295 2016655
>>16627
Чтобы выебываться. За самостоятельно написанную рекурсию на боевом (точнее любом, кроме СПЕЦИФИЧНЫХ cs-задач) проекте нужно руки отрывать.
296 2016673
>>16628
Вроде большинство так и делают. Но насколько я понимаю, в почете 2-3 года на одном месте, тогда конечно же больше плюсов перед HR.

>>16633

>рекурсия это антипаттерн даже в ФП-языках


Бред. Рекурсия это как раз-таки норм паттерн в ФП языках, те же списки в ФП обычно оформлены как list = head, tail: list(n - 1)

Но верно на счет tail-call оптимизации - в большинстве языков рекурсию нужно с умом применять.
297 2016682
>>16628
хоть каждый месяц меняй, главное опыт и знания.

В резюме можешь сказать что работал на стартап ИП, работал в нем два года, потом он закрылся, вот ищешь работу. Наличие портфолио с кодом + знания нужные для позиции - все что нужно hr на счет работы можно смело пиздеть, никто это не проверяет.
298 2016693
>>16655
Это ты зря, на самом деле нередкая история при разборе структурированных данных, пакетов JSON, XML, или в DOM дереве.

Подход через xpath, json-path, css-selectors тут не всегда хорошая альтернатива.

Ещё вариант, когда надо дерево генерить, чтобы отобразить. Ещё вариант обхода файловой системы или ссылок на страницах.

Это вот бытовые вещи, встречающиеся, где рекурсия очень естественная.

В алгоритмах реже, только ДП задачи какие-нибудь, но мне кажется на практике с ними очень редко сталкиваешься.
299 2016703
>>16673

>Бред. Рекурсия это как раз-таки норм паттерн в ФП языках


В любом гайде по любому современному ФП языку тебе на первой же странице с рекурсией будут талдычить, что если перед тобой два решения: рекурсивное и не-рекурсивное, то выбирай то, где рекурсии нет.
300 2016704
Че щас у ректобогов в почете для стилей?
ОФК styled components, а если из готовых сборок?
Слышал библа Material UI под рякт заточена, так ли она хороша? Лучше чем бутстрап?
301 2016710
>>16704
Все нормальнве конторы свой ui-kit пилят.
302 2016716
>>16710
на стайлет компонентс или css modules? на чем пилят?
303 2016717
немного юмора смузихлебам
16190379373930.png108 Кб, 300x300
304 2016736
>>16717
Миша, ты?
305 2016752
>>16633
>>16627
Напишите мне вычисление факториала без рекурсии на js
306 2016754
>>16736
я не миша, но ты мне уже второй раз этой пикчей итт отвечаешь
, поэтомк если хочешь я буду мишей
image254 Кб, 884x830
307 2016758
раз уж разговор за стили зашел, поясните че это за линки на цвета в браузере? часто замечал на разных сайтах, но не понял как они их делают, я знаю ток что в sass можно делать переменные со стилями, а это че за штука?
308 2016766
>>16758
Ну ты и соня
310 2016783
>>16766
>>16770
Ого спс, я мало с ксс работаю, знаю ток основы
311 2016792
>>16783
Чтобы быть в курсе чего-либо, не нужно с этим работать. Нужно просто интересоваться сферой. Как минимум читать профильные ресурсы каждый день. Если ты этого не делаешь, то твои знания устаревают еще до того, как ты их приобретаешь.
312 2016800
>>16792
Так я читаю двач, тут про пременные в ксс не писали раньше.
Где еще профильные знания брать?
314 2016828
>>16810
Ок спасибо, я на хабре ток на реакт был подписан
315 2016832
>>16800
Ты бы еще группу в телеграмме своих одноклассников читал, и считал это профильным ресурсом.
317 2016839
>>16832
Почему осуждаешь?
318 2016857
>>16839
Потому что, что зекач, что группы твоих одноклассников - это токсичные комьюнити, состоящее преимущественно из дилетантов и невежд, кидающихся друг в друга говном. По подобным сообществам в 2к21 году даже релевантный срез мнений уже не составишь, как было в аналогичных загонах в начале века. Именно потому тут каждый второй истинный долбоёб, который лишь ретранслирует то, что где-то прочитал, и вскрывается на раз, стоит его лишь копнуть.
319 2016875
>>16857
Нк и зачем ты такой токсик? Тебя токсики покусали?
320 2016899
>>16628
ну я скажу так, если бы я был твоим работодателем или hr, то я взял бы второго, у кого может меньше знаний, но кто не так часто меняет работу. Но это мое личное мнение, я не hr и не работодатель.

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

Представь, если тебе постоянно ставили нового человека раз в 2 месяца. Сделай выводы сам.
321 2016910
>>16899
В крупных конторах процесс найма и онбординга налажен на поток, там тебе и психолухи штатские и класс для обучения и целая программа для быстрого внедрения в команду, плюс методы разработки выстроены таким образом что их может писать каждую неделю любой вася, хуевым легаси такой код все равно не станет, поэтому они не заметят кто пришел а кто ушел, а вот конторки со штатом меньше 10 чел могут хуево переживать текучесть кадров
322 2016914
>>16633

>рекурсия это антипаттерн даже в ФП-языках


рекурсия с паттерн-матчингом есть основа любого ФП-языка.
323 2016918
>>16899
Хрюше надо получить премию за нового работника и наконец-то закрыть позицию. Тимлиду нужно тоже кого-то на проект посадить в ближайшее время. Что там будет через 7 месяцев мало кого волнует.
324 2016925
>>13521

>айфоне


Safari щитобраузер

>Pwa это будущее


Ещё можно даже упаковать в андрюшу-апкашку и виндоус-лайкнатив.
325 2016930
>>16914
Это никакая ни основа, а один конкретный паттерн, и то его надо использовать с пиздецовой осторожностью, потому что написать лютый говнокод, который вместо обычного редьюса пытается сматчить все на свете в одной функции - как раз плюнуть. К вопросу "что использовать, рекурсию или цикл/list comprehensions" он отношение имеет слабое.
326 2016934
>>16930
Основа, в которых нет циклов и почти всё по рекурсии циклирует.
327 2016942
>>16934
Это как раз тот случай, что если тебе нужно пройтись по коллекции, то лучше воспользоваться list comprehensions/соответствующией стандартной функцией ака map-reduce-each, а не лепить рекурсивный паттерн матчинг, который превратится в неподдерживаемый пиздец, как только логика усложнится.
328 2016951
>>16942
Это всё ровно что сказать: мол, не используйте наследование, тк антипаттерн, предпочти композицию, но ведь от этого наследование не перестанет быть основой ОО.
329 2016958
>>16951
Наследование не основа ОО и можно(нужно) писать на 100% ОО код, не используя наследование ни разу.
330 2016961
>>16958
Можно, можно как угодно писать. Но почему же тогда ДОМ элементы наследуются?
331 2016962
>>16961

>Можно, можно как угодно писать


Нет, не можно. Если ты говоришь, что что-то - "основа ОО/ФП", а потом вдруг выясняется, что без этого чего-то можно спокойно писать ОО/ФП код, то это никакая не основа.
333 2016977
>>16969
Молодец, авторитета процитировал не думая, а теперь расскажи мне своими словами, почему программа на джаве, не использующая слово extends ни разу, внезапно перестет быть ОО программой, и становится... чем?
334 2016984
>>16977

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


Потому что перестает соблюдать основный принцип ООП.

> и становится... чем?


Объектной программой, а не объектно-ориентированной. Ты читать не научился еще?
335 2016985
>>16752

> Напишите мне вычисление факториала без рекурсии на js


Как нехуй делать:
function fact(x) {
let result = 1;
for (let i = 2; i <= x; i++) {
result *= i;
}
return result;
}
336 2016997
>>16984

>Потому что перестает соблюдать основный принцип ООП.


Который ты определил как?.. Авторитет в книжке написал? Почему же тогда, если я эту программу покажу любому программисту, он сразу скажет, что это ООП?

>Объектной программой, а не объектно-ориентированной


Такой парадигмы и термина не существует, поменьше читай мусорные русские тексты, написанные/переведенные непонятно кем.
337 2016998
>>16985

>Как нехуй делать


А теперь разверни бинарное дерево без рекурсии.
1619987232292.jpg51 Кб, 600x450
338 2017003
339 2017200
>>16361
"к матанской записи"
Долбоеб блять, ты не матан дрочишь на парах на 2м курсе, ты прогаешь
Я тебя дурачка уже помню по твоим шизоидным постам из предыдущих тредов - про фп и матан. Думаешь ты у нас дохуя математик бля? Ты веб-макака обычная, математикам ты и в подметки не годишься, не надо себе приписывать то, чем ты в помине не являешься, лишь бы придать элитарности своему занятию
340 2017259
>>17200

>элитарности своему занятию


Обычный культист, который думает, что прогерство надо любить и заниматься этим с пеленок. А все остальные не трупрогеры.
Мимо.
341 2017317
Если не по адресу, то направьте в нужный тред.

Задача: сделать расширение для браузера.
Суть: нужную мне функцию сделали платной, данные можно смотреть за определенное число, но сравнивать их с данными за другие числа нельзя, а очень хочется. У сайта есть API, я хочу через него вытащить данные и записать их в файл, добавлять данные в файл при появлении новых записей, и встроить в интерфейс сайта табличку, где я мог бы эти данные сравнивать.
Почитав доки по API выяснил: можно вытащить список записей в виде json, по id записи можно вытащить список сегментов в этой записи, там же в каждом сегменте нужные данные для сравнения.
В итоге таблица: сегмент, дата, данные сегмента.

Как это сделать?
Есть некоторые навыки JS/HTML/CSS/JSON.
342 2017327
>>17317
А зачем тебе экстеншен? Напиши на ноде простенький бэк, закинь на heroku.
343 2017334
>>17327
Не знаю, первое, что в голову пришло.

>Напиши на ноде простенький бэк, закинь на heroku.


А этим способом можно будет табличку в сайт встроить? Мне хочется, скажем так, восстановить функцию, которая стала платной.
344 2017343
>>17334

>А этим способом можно будет табличку в сайт встроить?


В чужой сайт нельзя, можно у себя похожую страницу нарисовать.
345 2017344
>>17343
А надо в чужой, поэтому экстеншен придется делать.
346 2017376
>>17317
Расширение изи делается.
https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension

Но чет не совсем понятно зачем тебе оно в виде расширения.
347 2017401
Стоит ли вкатываться в svelte? Он вроде не такой мразотный как среакт и вуе. По крайней мере судя по пройденому оф тутору
348 2017419
>>17401
Как бонуска к основному стеку да. В идеале надо все пошупать, никогда не угадаешь какой стрельнет и будет юзаться в след году.
uniontype.png72 Кб, 1008x856
349 2017424
Как это реализовать правильно? Если указываю юнион тайп, дальше сосу жёппу с точным типом.
Вложенных объектов внутри большого объекта много, но они все подпадают либо под первый, либо под второй тип. Дальше на основе содержащихся в них полей создаются компоненты, в которые передаётся только один из типов, но вот компонент принимает только точный тип, а не union. Каким образом объяснить, что в него пришел конкретный тип? Самое банальное решение добавлять везде as. Но это это кажется срань какая-то.
Тут упрощенный пример приведён разумеется, чтобы обозначить саму проблему.
350 2017444
>>17424
убери юнион тайп и создай разные типы для разных компонентов
351 2017452
>>14724
>>14720
лол, сириусли, вуе не работает с ts? охуеть, я и не знал. еще один аргумент чтобы тралить вуехолопов
352 2017462
>>15588

>Apollo Client Cache + Redux + bff > Mobx > вся остальная хуета


пофиксил не благодари
353 2017465
>>16752

>вычисление факториала


за каким хуем мне вычисление факториала в интерпразе?
354 2017469
>>17462

>Apollo Client Cache + Redux


Какое знатное извращение.
image.png121 Кб, 898x1024
355 2017480
356 2017490
>>11386 (OP)
Сап, начал изучать nest.js, но по нему как-то мало информации, официальная документация какая-то очень краткая. Есть ли какие-то плюс-минус подробные гайды по этому фреймворку или курсы?
image.png889 Кб, 1040x561
357 2017493
>>17480
Спасибо тебе большое анончик, буду разбираться
358 2017499
>>15588

>чистый подход (Update монада).


Угу, всю грязь в тханки вываливают, зато экшоны ЧИСТЫЕ. Не забудь ещё хуярить по 3+ экшона на каждый ассинхронный пук.
>>15655
За пределами реакта редукс нахуй не нужен.
>>15735

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


То-то прямо в доке редукса плачутся, что все такие неправильные мутабельный код постоянно суют в редюсеры.
359 2017525
>>17259
У пхпшников с их дрисней так вообще лютый каргокульт Жавы, все громадные паттерны пиздят оттуда, уверяя что "это тру", хотя по большей степени все это нахер не нужно. Но им главное заставить самих себя поверить что они ничуть не хуже "белых людей" (жавистов) и что они не обычные веб-макаки а сцуко Инженеры Будущего с кучей хитровыебанных паттернов и DtO
360 2017528
>>17499

>То-то прямо в доке редукса плачутся


Да забей, для это дурачка-зумерка "стрелочные функции + мап-редьюс - значица ФП нахой"
361 2017538
>>17493
>>17480
хватит хуйней страдать, за такой код, я пидорну тебя с галеры. это че вообще нахуй такое, алло бля!
362 2017613
Каким образом можно связать массив компонентов в реакте с массивом данных? Т.е. мне например нужно вывести список компонентов и их названия. Я могу передать массив компонентов через пропсы и вывести список этих компонентов. Но мне так же нужно озаглавить каждый из компонентов. Есть конечно вариант использовать ключ каждого компонента в массиве как заголовок, но звучит как лютые костылееблические костыли. Можно ли как-то добавить данные к реакт компоненту, которые передается в пропсы, а потом их прочитать? Если абстрагироваться от реакта, то нужно что-то вроде обьекта, где первый ключ это название, а второй ключ это реакт компонент, но кажется это довольно хуёво будет, пихать компонент в объект?
363 2017633
сап погромач. анон, накидай советов. рендерю при помощи ваниллы жс элементы (допустим тупо список дивов), и затем надо пройтись по ним и навесить эвенты. и бывает что срабатывает через раз тк браузер еще не успел отрендерить элемент, а я пытаюсь к нему постучаться, из за чего ошибку ловлю что пытаюсь чет мутить с null ээлементов. как фиксить ? setTimeout тыкать ? просто боюсь что если элементов станет больше то и он перестнает работать =/
364 2017659
Есть ли конфа в тг у треда? Реквестирую ссылку
365 2017661
>>17490
А чем оно лучше того же экспресса? Все в каких-то декораторах и дженериках вымазано, выглядит как говно.
366 2017662
>>17613
Я в ахуе от твоего вопроса , а именно от каши. Если я все правильно понял, то вот - https://codesandbox.io/s/reverent-rain-2lzhp
368 2017676
>>17661
Я работаю со spring boot, увидел nest.js, мне он показался чем-то похожим и я решил покрутить, повертеть этот фреймворк. Но не знаю с чего начать, потому что доков оч мало, а тот видогайд, что у них на сайте - платный. Щас бы делать гайды на свой фреймвор платными, пиздец
369 2017686
>>17659
>>17668
Съебали нахуй, долбоебы
370 2017727
https://www.youtube.com/watch?v=ozvUaikP6cs
Сейчас нашел рандомный видос с собеседованием. Там два достопочтенных мужа собеседуют джуна, который похоже жс никогда не учил. И вот чуть ли не на первом же вопросе сразу ОБА интервьюера жидко срут в штаны, поясняя за Object.assign, с умным видом рассказывая, как он круто умеет копировать геттеры, а потом в комментах оказывается, что не могут. Что-то я в ахуе с этих собеседований, когда даже люди, которые проверяют твои знания, этими знаниями не обладают. Пиздец.
371 2017765
>>17727
Я смотрел все их собесы, там откровенно слабые вопросы.
Хочешь нормальных собесов - посмотри на канале арчакова, там реальные хрюши и тех диры собесят с реальных собесов.
372 2017844
>>17659
https://t.me/joinchat/niTY9ejYMXxlMDUy
Есть еще конфа, но там меньше людишек. Но как плюс, там нет пустого флуда, а только по делу.
373 2017855
>>17844

>по делу.


Дела вкатышей, такие дела.
374 2017869
Почему array не является типом данных, но функция является?
Почему у кантора функция это не тип данных?
Почему в ecmascript функция это тип, и typeof вернёт тип function для функции? Вам въебать?
375 2017872
>>17869
Хуй будешь?
376 2017898
>>17869

> Почему array не является типом данных, но функция является?


Потому что массивы это объекты. Функция "объект" лишь на очень низком уровне, на который всем похуй. А массив по сути и есть объект, просто оптимизированный.

>Почему у кантора функция это не тип данных?


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

>Почему в ecmascript функция это тип, и typeof вернёт тип function для функции?


А чем она еще должна быть, мамкой твоей? Про низкий уровень даже не начинай, функции это функции, внутренняя реализация не имеет значения.
377 2017900
Осилил доки jest, react-testing-library, сейчас читаю cypress. И чет охуеваю.
То есть все тестирование фронта сводится к тому, чтобы "прокликать" по всем компонентам, сделать снапшот до и после, и сравнить их? Охуенно. Охуенно.
А как писать в TDD стиле? Я сначала должен написать тесты, "прокликать" по всем компонентам "в уме", а потом уже писать, собственно, сами компоненты? Охуенно. Охуенно. Ни разу не ебля ради ебли на пустом месте, очень нужно и полезно.
378 2017904
>>17900
Snapshot тесты не в тренде уже 2 года как
379 2017905
>>17900
Все верно, TDD для UI пишется по-старинке - когда ты можешь просто querySelector и наличие элемента или его текст внутри, клики по кнопкам, переходы на страницы и т.д.

Дизайн не тестируется так конечно же.
380 2017913
>>17904
Какие тесты в тренде?
381 2017916
>>17898
Вот самый ахуй тут в том, что на собесе меня ебут в жопу прототипами, ВАРАМИ блядь, ВАРАМИ, еб вашу мать, КОНСТРУКТОРОМ ФУНКЦИИ, не функцией конструктором, а ИМЕННО КОНСТРУКТОРОМ ФУНКЦИИ, пиздец. Я то конечно знаю как по хардкору за всю хуйню пояснять теперь, после парочки таких собесов, про все эти блядь области видимости их мамаш, про ебанутейшие варианты работы с объектами и прочей хуетой, которую последний раз в коде использовали в 19 веке. Так что зачеркнуть-то можно, а потом придется мычать на собесах как побитая шлюха. Причем про всю вышеперечисленную хуйню меня спрашивали вообще на каждом собесе, ну ладно там прототипы, но конструктор функций, ой блядь
382 2017920
>>17898
Ты нахуя спред/рест операторы зачеркнул-то?
383 2017921
>>17900

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


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

>А как писать в TDD стиле? Я сначала должен написать тесты, "прокликать" по всем компонентам "в уме", а потом уже писать, собственно, сами компоненты?


Сначала ты должен написать в виде красного теста одно условие, которое будущий код должен реализовать. Потом написать реализацию для этого одного условия, которая сделает тест зеленым. Повторить до победного конца. И это не ебля на пустом месте, а методология разработки, благодаря которой ты в момент написания кода будешь сразу знать, что весь написанный тобой код делает ровно то, что должен, а не писать огромный неработающий кусок логики, и потом лезть в UI или в дебагер, пытаясь этому куску логики настучать палкой по голове, чтобы он кое-как заработал.
384 2017926
>>17920
По ошибке, сори. Но суть вы поняли.
385 2017928
>>17869
Нет в ecmascript такого типа, как функция.

typeof не возвращает тип значения.
386 2017929
>>17921

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


Кек, это пугающе точное описание моего последнего пета.
387 2017967
>>17916
полностью напиши задание в котором тебя просили использовать конструктор функций
388 2017985
>>17967
Да он просто ебик который не осилил теорию, Очередной зумерок которому пообещали должность синьера после недельных курсов

Вникать не хотят, а денег хотят. Ну не долбоебы? Долбоебы!
389 2017986
>>17662
Я может быть объяснил всрато, это не совсем то, что нужно, но в любом случае спасибо
390 2017988
>>17985

>не осилил


Так осиливаю, выбора нет у России 3 пути
391 2018010
>>17988
Неосилятор порвался.
392 2018018
>>18010
Не спугни, пускай сидит в треде нюхает мои синьерские яйца, набирается опыта так сказать.
393 2018036
>>18018
Так я тоже вкатышь, не люблю конкуренцию.
394 2018044
>>18036
Ревнуешь к яйцам?
16200681036770.mp4444 Кб, mp4,
396x484, 0:02
395 2018052
16187502286800.png538 Кб, 1366x735
396 2018060
>>18018

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

0C1B86B9-3FC8-488A-97E2-F6E925DA584D.jpeg67 Кб, 570x652
397 2018064
Всем кто хочет вкатиться надо в треде написать

—Яйца помогите вкатиться.

Яйца расщедрятся если вы их хорошенько занюхнете, шанс вката от яиц выше чем после курсов,
398 2018067
>>18064
Яйца помогите вкатиться!
кто-то вызывал шизика.webm2 Мб, webm,
480x272, 0:07
399 2018071
400 2018083
>>17898
Это типо что надо и что не надо? Сохранил.

+спред/рест операторы
401 2018096
>>18083
Ага на собесе потом скажешь я ниучил потому что на двачи сказали нинада! Нюхай яйца лучше сразу
402 2018104
>>18096
Яйца волосатые. Не буду.
403 2018181
>>17916

> ИМЕННО КОНСТРУКТОРОМ ФУНКЦИИ


Вот ето ебать рокетсаенс

> new Function('x', 'y', 'return x+y');

404 2018187
>>17633

> и затем надо пройтись по ним и навесить эвенты


Не надо. Создаеш элемент, вешаеш обработчик, приклеиваеш элемент в дом.
405 2018207
>>17986
Ну так нарисуй, я постараюсь ответить или распиши
406 2018362
>>15053
1. Переписываешь underscore. Без всяких изъебств. Заходишь на сайт либы, смотришь на примерах как работают методы и пишешь свои функции. Так набьешь руку на работе с массивами, объектами, функциями.
2. Переписываешь Jquery. Таким же макаром. Реализуй примеры с сайта по документации средствами нативного JS. Так набьешь руку и поймешь как работать с DOM.
3. Тоже самое с другими библиотеками и фреймворками.

Параллельно пиши всякие пет проекты. Реализовывать пет проекты с нуля долго и неэффективно. Поэтому находишь на гитхабах готовую реализацию чего-либо и пытаешься сделать ее сам. В случае сильных ступоров подсматриваешь исходники. Так ты учишься делать проекты, читать чужой код, учишься эффективно (не решаешь слишком простые задачи с одной стороны и не зависаешь часами над сложной херней с другой).
1583154077893.png4 Кб, 769x71
407 2018391
Как перехватить эту красную хуйню? Я и обработчик ошибки поставил и статус чекаю, а она все равно вылазит

fetch(finalLink)
.then(response => {
console.log(response.status, response.ok)
if (response.ok) {
console.log("Успех")
finalLink = "https://img.youtube.com/vi/" + link + "/maxresdefault.jpg";
img.setAttribute("src", finalLink);
}
else {
console.log('Неудача')
}
})
.catch(() => {
console.log('Ошибка')
});
image.png4 Кб, 542x66
408 2018432
409 2018434
>>18391
Это не эксепшн, а console.error
410 2018440
>>18434
Так как с этим справиться то? Именно кодом чтоб отлавить
image.png9 Кб, 410x187
411 2018442
>>18440
Зачем ты собрался справляться с логированием сообщений в консоль?
412 2018444
>>18442
Чтобы не засирало консоль. Это не ошибка. Оно и должно проверять существует ли файл по данному адресу.
413 2018447
>>18442
Ну или как вариант посоветуй как можно это проверять мирно, чтоб на ошибку не нарваться
414 2018450
>>18444
>>18447
Еще раз, читай внимательно - это ЛОГИРОВАНИЕ.
Это НЕ ошибка. Это ничем не отличается от console.log в твоем коде. Как ты перехватываешь console.log в чужом коде? Ты вообще отбитый нахуй? Тебе скрин выше зачем прикрепили?

>Чтобы не засирало консоль


Тебе выше показали какую галочку поставить в девтулзах, чтобы не видеть лог-сообщений работы с сетью.
415 2018454
>>18450
Да хоть чипирование. Оно красным выскакивает. Как это отрубить? Код полностью мой. Почему я в своем собственном коде любую другую ошибку могу отловить и написать отдельный вывод ошибки, а тут нет?

>Тебе выше показали какую галочку поставить в девтулзах


И причем здесь детский сад с галочками.

Если я это приложение куда нибудь выложу, мне тоже людей просить галочки ставить и объяснять какого хуя у меня то и дело ошибки вылазят. Ой простите не ошибки а ЛОГИРОВАНИЕ.
416 2018458
>>18454
Какой же ты тупой.
417 2018459
>>18458
Ну а кто тогда ты, раз тупую задачу решить не можешь
418 2018505
>>18454
Приятно осознавать, что я конкурирую с такими даунами.

Покормил толстого.
419 2018544
>>18181
А вот так сходу с разбегу сможешь за замыкания пояснить у них?) Не заглядывая в доку?
420 2018585
>>18544
Ну там про карринг рассказать, "приватные" методы, вар и лет в цикле.
421 2018590
>>18391

> sinon.stub(console, 'error')



Настрой прокси, который раздаёт картинку, чтобы отдавал 200 на отсутствующей картинке.
422 2018591
>>17633
Если элементы однотипные, то через делегацию событий вешай обработчик на контэйнер этих элементов. Нигде пробегаться не нужно и потеть о рендерах.
423 2018599
>>18187
там не только обработчики, сложно кароче объяснить.
>>18591
объясни поподробней анонче
425 2018611

>React has been doing event delegation automatically since its first release. When a DOM event fires on the document, React figures out which component to call, and then the React event «bubbles» upwards through your components. But behind the scenes, the native event has already bubbled up to the document level, where React installs its event handlers.


Правильно ли я понял, что делегировать события в реакте можно, но не нужно? В этом нет смысла?
https://github.com/facebook/react/issues/13635
Денчик тоже пояснил, что не нужно.

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

>Правильно ли я понял, что делегировать события в реакте можно, но не нужно? В этом нет смысла?


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

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


Потому что собесить тебя будут пердуны, которые писали на классах, а Абрамчик признался, что рякт автоматом делегирует события и обработчики событий на DOM-элементах в браузере - исключительно затычки для сафари, только в конце прошлого года.
427 2018647
Помню что async-функции на самом деле возвращают Промис
Как это именно работает? Я в том плане что - как именно функция оборачивается в промис? Хочу это попробовать вручную написать
image.png178 Кб, 512x512
428 2018650
>>18391

>эту красную хуйню

image.png94 Кб, 959x406
429 2018660
Нипонел!! В чём различия если if else написать в теле функции.
430 2018661
>>18660
Ну а ты попробуй, епты
И нам расскажешь
431 2018663
>>18647
Посмотри как async/await в es5 транспилируется
432 2018706
Как можно задизайнить список, чтобы пользователю сразу было понятно, что его элементы можно драг'н'дропом переставлять местами?
433 2018721
>>18706
element:hover {
cursor: drag;
}
434 2018777
ant d
16159825664030.jpg121 Кб, 756x767
435 2018857
Аночники, нужен ваш совет. На Udemy акция. За косарь можно взять большие курсы по JS от Ивана Петриченко или Дениса Мещерякова. Ваше мнение стоят ли они внимания ?
436 2018858
>>18857
Яйца уже понюхал?
1111.png78 Кб, 400x400
437 2018878
>>18858
Ещё не успел. Питон знаю немного
438 2018881
Подскажите раку, можно ли с помощью одной кнопки доставать только один объект из массива? Ситуация такая: есть одно модальное окно, содержание в нем меняется в зависимости от клика по конкретному товару. То есть тут все просто (как я понял) - есть много товаров, соответственно через foreach я могут менять содержание окна из массива объектов, это я понял. Но как сделать так, чтобы через клик в модальном окне одной-единственной кнопки "заказать" мне выдавался только один объект из массива?

В общем вопрос такой: как через одну кнопку проходить по каждому элементу массива?
439 2018891
>>18881
Array.find()
440 2018899
>>18599

> сложно кароче объяснить


Если не можешь объяснить простыми словами, значит сам не понимаешь, что хочешь, и колхозишь велосипед.
441 2018905
>>18660
Кок-пок перфоманс, 64кБ хватит на всех.
Вкрации, тут условный оператор запускается один раз в момент инициализации. Внутри функции он будет тригериться на каждый вызов, к тому же занимая в памяти больше места под свой аргумент.
442 2018909
>>18891
Это не по каждому, а до первого совпадения.
443 2018930
>>18909
Filter(id)
444 2018995
>>18505
Пока ты только с моей собакой можешь конкурировать
445 2019009
>>18590
Ну это же опять реализация на уровне моего пк. Грусть печаль тоска. Нуежели совсем никак в коде такое не реализовать? Я уже носом землю рою, и решения все еще не нашел. Ощущение что этот момент реально не продумали. Крайне глупо что в жсе нельзя аккуратно проверить наличие файла в сети без ругани в консоль.
446 2019063
>>19009

>Крайне глупо что в жсе нельзя аккуратно проверить наличие файла в сети без ругани в консоль.


Зачем клиентскому скрипту проверять наличие чего-то там за пределами страницы? Подразумевается, что это делает или сервер, возвращающий нужный респонс в эндпоинте, или на стадии билда/тестов.
Можно ещё фетчи в воркере проводить, но учитывая, что воркер может в фетч изкаробки, вполне вероятно консольную ошибку браузеру он тоже будет передавать.
447 2019067
>>19009
Каков пиздец, а красная строка в нетворке тебя не смущает? А 404 в логах сервера? Тебе ещё админ потом позвонит скажет «хуль ты пидор файлы грузишь которых нет»
448 2019085
>>19063
Ну хотелось бы без сервера просто мини приложение запилить и поделится с группой людей. Ладно я уже понял что это неизбежность. Печаль беда. Надо было в сярпе пилить.

>>19067
Вот кстати, да смущает. Еслиб смог решить проблему с консолью, это был бы второй шаг. А вообще да можете считать это перфекционсткими заскоками и аллергией на красный цвет.
449 2019111
>>19085
Лол, ну пиши на электроне, там есть нода, есть fs, все у тебя будет не красное
450 2019155
>>18995

> Пока ты только с моей собакой можешь конкурировать


По частоте ебли твоей мамки?
451 2019165
Хочу отображать подсказку по вводу, когда юзер щелкнет на конкретный input либо начнет там что-то вводить - как именно это лучше делать?
Над полем должно появиться некое всплывающее окошко, где будет отображен текст, но которое не будет блочить действия пользователя
452 2019173
>>18905
Дядь ты ебанутый, оптимизировать аргументы функции(!) и вызовы if-else операторо(!) и жопоскрипте(!!!)?
453 2019174
>>19165

> тренд вместо гугла


input.addEventListener('focus', () => {}) ;
input.addEventListener('blur', () => {}) ;
454 2019184
Какие лучшие практики по организации веб приложения на жс с множеством входных точек? Т.е. фронтенд, фронтенд-сервер, бекенд-сервер апи, сокет-сервер, разные воркеры и так далее. Изначально я начал работу над проектом разделив все элементы на репозитории по зонам ответственности в решении, полный share nothing. Начал чувствовать большое количество пересечений по контрактам и однотипному коду - однообразное цепляние к всяким бекенд-сервисам например, конфиги. Так-то буквально общей _бизнес-логики_ пока не появилось. Есть части системы которые вообще не имеют почти ничего общего с остальными, их было очень легко выделить и не чувствовать давление от DRY.

Погуглил что да как делают, нашел две альтернативы:
1. Выделение кода в пакеты - пока не попробовал, можно просто в гитлаб вынести пакетом общие типы, интерфейсы и обертки, но так придется постоянно апдейтить зависимость внутри репозиториев что конечно-же небольшая проблема но выглядит неоптимально.
2. Монорепозиторий - собрал всё под один корень и переделал сборку - работает и удобно что весь код решения рядом, но все-равно чувствую осадочек.

И вот с учетом того что по итогу у проектов между собой общая в основном только метаинформация, типо конфигов (даже тот-же еслинт) и типов, некоторых зависимостей, а конкретно логика не повторяется (кроме минимальных оберток) то все равно есть ощущение что share nothing более уместен, даже не смотря на то что это не полностью самостоятельные микросервисы допустим, а части общего решения.
455 2019185
>>19165
element + div {
visibility: hidden;
opacity: 0;
}
element:focus + div {
visibility: visible;
opacity: 1;
}
456 2019190
>>19085

>перфекционсткими заскоками



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

>а реакт свой написать на нем с блекджеком и шлюхами


Интересно это тяжело? Кто-нибудь пробовал? Имею в виду не создание собственной библиотеки, а реализацию тех или иных фишек на нативном JS.
458 2019200
>>19184
Очевидная монорепа, что тащемта не избавит от необходимости бампать версии.
Ты уже решил, где будешь хостить пакеты?
459 2019203
>>19194
Чтобы что?
460 2019212
>>19200
Зачем хостить пакеты в монорепе, если можно просто имортить исходники?
461 2019215
>>19200
Гитлаба хватает. В том варианте монорепы что я взял (очень тупо просто ярн воркспейс в корне) при сборке контейнера затягиваются куски т.ч. бампать не нужно, при изменении само пересобирается. М.б. это не так оптимально как публиковать их пакетами и затягивать при сборке конечно, но это нужно дополнительно уточнять - насколько.

Не хочешь пояснить почему ты считаешь вариант с монорепо самым подходящим (независимо от того как происходит сборка, если конечно не относится напрямую к преимуществам каким-либо образом)?
462 2019221
>>19203
Прост
463 2019230
>>19203
Чтобы лучше понять как работает библиотека.
464 2019236
>>19215
Как минимум версионирование. Получается контейнер должен знать, что пакет брать не из ветки main master, а условной bugfix/piece-of-code, хотя контейнеру должно быть поебать, не его ответственность.
465 2019242
>>19230
Ну так бери на гитхабе баг и чини. Вуаля, теперь ты у мамы контрибутор в попенсорц.
466 2019248
>>19236
Довольно разумно, спасибо.
467 2019261
>>19190
Ой иди нахуй. Это ты нихуя не разобрался. Я же к этому моменту уже все перекопал по вопросу, да и в треде мою уверенность окончательно утвердили, что это сделать в принципе невозможно. И тут приходишь ты и начинаешь пиздеть, что я чего то не знаю. Харкаю в твою напыщеную рожу. Хуже тупых людей которые нихуя не знают, только тупые, которые строят вид что они умники, когда на деле сами в вопросе нихуя не шарят и просто хотят высраться, запутывая вопрашающих ньюфагов.
468 2019270
>>19261
Я тебе уже говорил это утром, но повторю - какой же ты все-таки тупой.
469 2019273
>>18930
>>18891

Не помогает. Я посмотрел, как другие делают корзину (примеры и обучающие видео) - у каждого товара есть кнопка. У меня только одна кнопка в одном модальном окне, содержание которого зависит от объекта массивов. Но когда я пытаюсь простым циклом вывести в консоли объект по каждому клику, он выводит мне все объекты в массиве.

Хочу через одно модальное окно ввести данные в локальное хранилище, а оттуда на отдельную страницу с корзиной. Но как мне сделать так, чтобы по клику отреагировал только один объект, я не понял.
470 2019277
>>19184
Кодовая база условного сервера не будет пересекаться с вротендом, даже если оба на ЖСе, так что их не имеет смысла в одном контексте держать (да и заебёшься тулинг под свою айдиешечку настраивать, который бы одновременно переваривал интерфейсы ноды и ватагу браузерных апи). Фронт-сервер - это типа отдельный сервер под папки public и templates? Если сервисы не находятся на отдельном хостинге, то их нет смысла пихать как отдельные серверы, а пропукивать амазоновские апишечки может и мейн сервер через воркеров.
Репозитории лучше пилить по хостингам, так как они рано или поздно разрастутся всякими мелкими деталями конфигов, нужных для хоста. Ну а какие-то общие конфиги можно хранить в руте монорепы в виде джейсонов.

>не чувствовать давление от DRY


Так ты о драе вспоминай когда в одном контексте ебучий бойлерплейт всплывает, а не когда в двух контекстах какая-то общая логика начинает появляться. То что она в конкретный момент времени схожа, не значит, что она не поменяется в одном из контекстов. И чем больше контекстов, разнящихся в деталях, тем больше оверхеда добавляет талмудическое следование драю.
471 2019284
>>19194
Ну попиши интерфейсный код на ванильном жс, после тысячного вызова `document.createElement()` как раз придёшь к реактоподобной шаблонизации.
472 2019290
>>19270
А я тебе уже говорил: "пошел нахуй". Уже то что у тебя даже никаких аргументов нет, выдает в тебе тупоролого выпендрежника. Рака яичек тебе и твоей семье
473 2019292
>>19273
Ну или просто подскажите мне пожалуйста, как сейчас делают корзину на чистом JS (или нечистом, не знаю). Чтобы я понял, как нужно, а как не нужно.
474 2019309
>>19292
По твоему описанию нихуяшеньки не понятно.
475 2019312
>>19173
Ну чтобы меньше килобайтов там туда-сюда.
476 2019317
>>19292
А самому разобраться? Это же самые основы основ.
477 2019330
>>19292
Яйца понюхал? Иди нюхай.
478 2019334
>>19292
Так в чем проблема просто проходить по массиву и если айдишник совпадает выводишь в заказе этот объект?
479 2019348
>>19334
Я уже сказал фильтр юзать, это просто очередной кретин не вменямый который не хочет вникать а хочет денег.
изображение.png441 Кб, 651x446
480 2019363
>>19348
Как я понял, у него там можно и с помощью фор проверять айдишник кликнутого элемента.
Просто вкатышь может и не знать фильтр, ну а фор...
Крч очередной неосилятор, работаем дальше.
481 2019389
Я знаю:
html
css
scss
js
react
redux
react-bootstrap
typescript
mongo
webpack
postcss
jest
react testing library
cypress
git
linux (bash-команды, свободно могу собрать рачик на коленке, почти не подглядывая в мануал)
немного mongo и node
Планирую выучить (на уровне свободно написать пет, не получая слишком долгих затупов):
redux-saga
styled components
graphQL + apollo
node + express
Oauth
аутентификация в целом (passport.js, например)
socket.io
next.js
любая SQL-бд
досмотреть курс по алгоритмам + прочитать книжечку.
осилить YDKJS, все книжки.
В целом неплохо было бы поковырять:
Что-нибудь по безопасности
Паттерны проектирования
ООП
Docker
Микросервисы
Nginx
Естественно, в процессе всей этой хуйни пишутся петы и заливаются в портфолио.
После этого я планирую начать искать работу на позицию junior frontend developer с зарплатой от 15ти до 30ти тысяч. Где я проябался, сеньоры, поясните плз.
481 2019389
Я знаю:
html
css
scss
js
react
redux
react-bootstrap
typescript
mongo
webpack
postcss
jest
react testing library
cypress
git
linux (bash-команды, свободно могу собрать рачик на коленке, почти не подглядывая в мануал)
немного mongo и node
Планирую выучить (на уровне свободно написать пет, не получая слишком долгих затупов):
redux-saga
styled components
graphQL + apollo
node + express
Oauth
аутентификация в целом (passport.js, например)
socket.io
next.js
любая SQL-бд
досмотреть курс по алгоритмам + прочитать книжечку.
осилить YDKJS, все книжки.
В целом неплохо было бы поковырять:
Что-нибудь по безопасности
Паттерны проектирования
ООП
Docker
Микросервисы
Nginx
Естественно, в процессе всей этой хуйни пишутся петы и заливаются в портфолио.
После этого я планирую начать искать работу на позицию junior frontend developer с зарплатой от 15ти до 30ти тысяч. Где я проябался, сеньоры, поясните плз.
482 2019394
>>19389

>я проябался, сеньоры


Знание названия технологии != знание самой технологии.

>Я знаю:


>typescript



>В целом неплохо было бы поковырять:


>ООП



Иди верстать учись, вкатышь.
image.png1,3 Мб, 2036x1690
483 2019396
>>11386 (OP)
По совету анона пишу сюда, нид пара-тройка анонов способных собрать сайты на конструкторе, я оп треда https://2ch.hk/b/res/245873424.html#245878122 (М)

Дублирую шапку оп-треда на случай если потрут

Сап б. Это не очередная рулеточка или фейковая раздача денег на даблы.

Я пришел предложить анону легальную подработку анону. В воркаче 2,5 человека, поэтому решил создать тред в б.

Суть такова, требуется пара тройка можно больше анонов, способных собирать простые сайты на конструкторе. Оплата фиксированная (3800 рублей за 10-15 страниц сайта), как и перечень того, что входит в стоимость создания сайта.

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

Для начала необходимо пройти небольшое тестовое задание.

Вопросы можете задать тут, либо можно писать в тг.

тг для связи potatoju1ce
484 2019398
>>19394

>Я знаю:


>typescript


>В целом неплохо было бы поковырять:


>ООП


Я не вижу противоречий. Я использую ТС в реакте для ФП. Знать ООП паттерны в которых применяется ТС != знать ТС.
485 2019410
>>19396
На тильде что ли говно собирать? Можешь пройти сразу нахуй.
486 2019411
>>19398

>Я использую ТС в реакте для ФП.


Это тот ФП на ТС, в котором к функциональным объявлениям нельзя привязать тип?
487 2019415
>>19410
Спасибо, анон, крайне отзывчиво. Я же помощь предлагал, но спасибо за мнение. Вкатывайся дальше
488 2019416
>>19415
Ты еще и наебщик, наверное. Будешь какое-нибудь говно на гидре продавать, а придут за аноном. Съеби нахуй.
489 2019421
>>19416
А если нет? Что ты сделаешь?

Дохуя вас вкатывальщиков, а если предлагаешь что-то стоящее, по типу той же работы, пусть и на конструкторе, тебя сразу же шлют на хуй
490 2019422
>>19421
Люди в языки программированию вкатываются.
А не в конструкторы.
491 2019424
>>19421
Так ты не сказал, какой конструктор, так что скорее всего тильда. В этом случае тебе не в этот тред, а в какой-нибудь /web/.
492 2019426
>>19424
Спасибо, покатился на хуй из треда

Конструктор uKit
493 2019485
Mobx
494 2019551
Норм ли практика передавать пропсу React-компонента (да и любой функции по сути) объект с большим числом свойств, чем у него в интерфейсе TS? Решил делать так, чтобы при prop drilling'е не распаковывать в каждом слое объект, так как каждый компонент все равно ограничен типом/интерфейсом пропсов, rest, наверное недешевый, да и в самом коде будто для глаз лишний. Единственный минус заметил — в девтулзах не так удобно компонент просматривать из-за лишних свойств в объекте пропса
495 2019553
Чет дохуя вкатышей оттаяло на майских, да и мочи давненько не видно в тредике, не порядок!
496 2019712
>>19389

>Я знаю:


>html


>css


>scss


>js


>react



На последнем пункте уже надо было идти работу искать и сейчас бы уже работал. А так потратил время на кучу технологий.
497 2019720
>>19551
Дали им редукс, так нет же, будем свои портянки передавать на три этажа вниз.
498 2019738
>>19389
А что ты понимаешь под пет проектами? Я вот тоже наизучал всякого, но понятия не имею что реализовать и главное выложить на всеобщее обозрение. Всякое не сложное говно уже 1000 раз сделано и переделано по всему интернету, а что придумывать сложное хз, я же не мамкин стартапер.
499 2019770
Большинство людей в ступор впадают, когда обычный js видят, мозг отказывается воспринимать информацию такого плана, ибо СЛИШКОМ СЛОЖНО для них (хотя на самом деле достаточно просто ПОДУМАТЬ, но люди ленивы и думать не хотят). Но динамическая типизация от этого хуже не становится, она отсеивает ТУПИЦ.
500 2019773
>>19720
Лучше конечно хранить каждую без исключения портянку в глобальном стейте с тонной бойлерплейта, чтобы каждая шавка на задворках приложения могла откуда угодно эту портянку вытащить и поменять как шавке вздумается, сыглы.
501 2019781
>>19720
у меня apollo-client, я как раз таки фрагменты прокидываю: каждый нижний компонент просит меньшего куска данных, а я даю больше, благо типы ограничивают и есть структурная типизация
502 2019846
>>11386 (OP)
А есть ли для работы с js и вообще с веб фронтендом движки или мб плагины, которые позволяют интерфейс строить как например в Андроид студии или в Юнити. То есть не писать <кнопка на пять метров вправо></кнопка> и вот этот весь пиздец с версткой. А просто кинуть объект кнопки на полотно. А функцию уже писать на js. И чтоб html был как xml, то есть для дополнительного задротства. М?
503 2019847
>>19770
Такого плана это какого? Я пишу на C# и джаве. Смогу ли я понять js?
504 2019859
>>19773
Это ты к чему? Есть нужда поменять, пусть меняет. А то давайте к портянке ещё пару колбэков пристегнем.
505 2019861
>>19846
Тильда, ебать.
506 2019862
>>19712
Если без реакта, то есть смысл ходить на собесы?
507 2019864
>>19781
А как ты организуешь сохранение данных? Допустим, надо в таблице чекнуть пару хуевин, потом в попапе ввести текст и нажать кнопку.
508 2019868
>>19846

>То есть не писать <кнопка на пять метров вправо></кнопка> и вот этот весь пиздец с версткой.


Попробуй выучить CSS.

>А просто кинуть объект кнопки на полотно. А функцию уже писать на js. И чтоб html был как xml, то есть для дополнительного задротства.


Это ты React описал.
1455625346175313305.jpg42 Кб, 400x221
509 2019881
Как подготовить говно-проект к ревью?

Дайте советов мудрых.

Ну, например, надо ли комменитровать каждую строку кода или ревьюверу пофиг?

И всё в таком духе.
510 2019882
>>19881
Хороший код в комментариях не нуждается. Он САМОКОММЕНТИРУЕМЫЙ.
511 2019892
>>18881
Додик, забрасывай в модалочку один свой объект товара и работай там с ним. У тебя товары и так должны быть уникальны хотя бы по одному признаку, зачем тебе в модалку заказа товара кидать весь список?
512 2019893
>>19881
Линтер есть? Тесты есть?
Вообще, давай его сюда, я обоссу.
513 2019944
Кто занимался достаточно сложными анимациями в CSS, которые должны генерироваться динамически? Я со своим десятилетним опытом клепания игр на канвасе хотел было взяться за старое: целиком в JS высчитывать координаты и просто покадрово (в requestAnimationFrame) обновлять позицию элементов. Но не тут-то было: при таком подходе CSS ощутимо подлагивает уже на нескольких десятках анимаций на фрейм. При этом "нативный" transition показывает гораздо лучший результат.
Но это, блин, совершенно другая философия, чем покадрово вычисляемые координаты.

Так что у меня вопрос: есть ли вообще в CSS способ проводить над элементом несколько одновременных трансформаций с разными изингами? Например, я хочу, чтобы по оси X элемент двигался равномерно, а по Y - по квадратичной функции. Это как-нибудь реализуемо средствами CSS?
514 2020056
>>19893

>Линтер есть? Тесты есть?


Нет, ничего этого нет.

>Вообще, давай его сюда, я обоссу.


Сюда скидываеть не буду, только в ЛС, лол.
Мне мало обоссать - мне надо узнать, как оно должно быть на самом деле; желательно конкретным примером.
П.С. Говно-проект на vue \ vuetify.

>>19882

>Хороший код в комментариях не нуждается.


Вот только не надо.
Попадались кодеры, которым показываешь меньше ста строк кода, а они воют, что код сложно читаемый. Межтем, у самих такое дерьмо замешано, без вилки не разберёшь.
515 2020079
>>19944
Канвас думаешь просто так придумали? Сотни манипуляций домом в секунду - пизда какое дорогое удовольствие. Обычно анимируют пару элементов всего.
516 2020085
>>19944
Добавляешь `transform` в `transition-property` и там можешь вертеть по осям хоть свою мамашу.
517 2020109
>>20079

>Сотни манипуляций домом в секунду


Так вроде трансформ затем и нужен, чтобы DOM не трогать при каждой перерисовке?

> Канвас думаешь просто так придумали?


У канваса нет инструментов работы со шрифтами Если нужно много интерактивного текста, канвас не вариант.
518 2020140
>>19862
Да есть. Чем раньше начинаешь ходить на собесы, тем быстрее получаешь обратную связь, знакомишься с рынком, работаешь над ошибками. Все равно первые несколько десятков собесов будешь заваливать.
519 2020174
>>19944
Web Animation API тебе нужны.
Это JS апи для манипуляции именно CSS анимациями. Можно делать все. И покадрово генерировать KEYFRAMES в том числе.
изображение.png729 Кб, 499x461
520 2020217
Есть ли движки чтобы писать игру которая генерит сцылку и чтобы friend коннектился? Типикал игры with friends мультиплеерные
521 2020228
>>20217
Нет, генерить реферал ссылки - технически невозможно в нынешней реализации екмаскрипта.
522 2020257
>>20228
Да ладно, наверняка уже запилили плугин для жиквери.
523 2020282
>>20217
Сначала напиши мультиплеерную игру, а такие тупые вопросы затем отвалятся сами собой.
524 2020311
>>20282
>>20228
http://ru.battleship-game.org/
Ну вот пример, нужных движков нет для подобных игорь? с нуля не охото пейсать всю клиент-серверную лапшу
Сылка генерится для коннект а не реферала
изображение.png671 Кб, 628x480
525 2020331
>>20140

>несколько


>десятков

526 2020387
>>20311
Ну и сиди дальше в жопе.
p2p? Сессион очка? Напрямую? Через твой бэк?
Какая нахуй разница, действительно.
527 2020401
>>20174

>Web Animation API тебе нужны.


Посмотрел, что такое. Выглядит как сахарок для уже существующих возможностей. При этом я всё ещё не вижу способа задать элементу экспоненциальное движение по одной оси и линейное по другой. Есть там разные изинги для разных параметров? Или мне делать миллион кейфреймов?
528 2020418
Зовут (по знакомствам) джуном пилить браузерные игры на нативном JS. Стоит идти, как думаете?
529 2020441
>>20418
А какие у тебя варианты?
530 2020517
>>20401
p.s. Вот же оно.

> / Multiple timing functions /


> transition-timing-function: ease, step-start, cubic-bezier(0.1, 0.7, 1.0, 0.1);

531 2020538
>>20441
Да пока больше никаких. Просто хочу надо модный стек с реактами и редуксами, а на этой вакансии этого всего нет. С другой стороны смотрю я на вкатунов, которые месяцами вообще никуда вкатиться не могут и думаю мб это не такой плохой вариант.
532 2020560
>>20517
pps Не, нихера не работает, по крайней мере через Web Animation API.
533 2020566
>>20538
Ну без ванилы тебя в реакт не возьмут.
Яб пошёл, заодно окунешься в энторпрайз.
534 2020677
>>19944

> Например, я хочу, чтобы по оси X элемент двигался равномерно, а по Y - по квадратичной функции


Если сможешь выразить эту функцию через Безье, то без проблем:
transition: left 123s linear, top 456s cubic-bezier(1,2,3,4);
535 2020679
>>19712
Это пиздеж. Я даже на всякий случай вакансии перепроверил. Везде миллиард технологий в стеке и еще "плюс будет ...". Хуй ты куда джуном устроишься, если ты не миддл, лол.
536 2020680
>>20679

>"плюсом будет ..."


фикс
537 2020682
>>20679
А ты пробовал ходить?
538 2020690
>>20682
Нет. Я еще ебейший стек не выучил, следовательно, нехуй соваться. Вот закончу алгоритмы, саги, ноду, многотомник YDKNJ, напишу штук 10 петов (как полагается, с беком, с тестами, на ТС), чтобы гитхаб сразу в глаза бросался, вот тогда буду ходить.
539 2020749
>>20679
Так ты и выучив всю эту ебалу на миддловскую позицию не устроишься. Думаешь там идиоты сидят и схавают твои домашние поделия за коммерческий опыт? Даже не пытайся наебать там никого, себе хуже сделаешь. Ищи более менее джунские вакансии и не выпендривайся.
540 2020754
>>20749

>Так ты и выучив всю эту ебалу на миддловскую позицию не устроишься


Так я и не собираюсь, ало. Я на ждуна пойду.
541 2020786
>>19944

>Например, я хочу, чтобы по оси X элемент двигался равномерно, а по Y - по квадратичной функции. Это как-нибудь реализуемо средствами CSS?



Кажется, на данный момент есть только такой воркэраунд. Идея очень простая. Вопрос в том, насколько это производительно.
https://tobiasahlin.com/blog/curved-path-animations-in-css/
542 2020830
>>20786
Есть же Motion Path в css
543 2020921
>>19882

>Хороший код в комментариях не нуждается. Он САМОКОММЕНТИРУЕМЫЙ.


Это применимо не ко всем областям. В том же машобе у меня зачастую по несколько строк комментариев на одну строку кода. Да и в вебе попадаются моменты, когда приходится комментировать некоторые неочевидные вещи.
544 2020925
>>20921
Не очевидные вещи занимают небольшую часть от общей массы и обычно это высокооптимизированные куски. Нахуй остальной код засирать комментами на корявом рунглише, лучше просто написать простой код.
545 2020996
>>19738
Все, что приходит в голову. Я обычно реализую что-нибудь, что занимает не больше одного дня (с оговоркой на мои умения). На что-то дольше у меня обычно пропадает интерес.
547 2021079
>>20996
Что полноценного можно запилить за день?
548 2021091
>>20830
Нет поддержки в сафари, да и сама концепция весьма ограниченная, не сильно лучше кейфреймов, насколько я понял.
tt.png12 Кб, 819x313
549 2021114
>>21091
p.s. Всё свелось к такому решению, лол. Буду сейчас тестировать, что там по производительности получается.
550 2021162
>>21114
https://www.youtube.com/watch?v=Z8-EM1znIrU

Кстати, зачем игры на js делать? Есть же всякие юнити-хуюнити.
Мимо вкатышь.
551 2021254
>>21162
Зачем нужен хуюнити, если есть жс?
552 2021309
>>21114
Ну как успехи? Лень пробовать.
553 2021501
>>21309

>Ну как успехи? Лень пробовать.


По производительности - мне хватает.
А вот с вращением не очень получилось. Транслейт работает like a charm, но вот поворотный контейнер внутри поворотного контейнера иногда выдаёт такие странные штуки, что мне даже стало лень с этим разбираться. В итоге оставил слайдеры по осям и только один "шарнир" для поворота по всем углам. Обойдусь без разных изингов для rotateX, rotateY и rotateZ.

>>21162

>Кстати, зачем игры на js делать? Есть же всякие юнити-хуюнити.


Весь смысл игр на JS в том, что они в другой лиге, нежели игры на десктопе. У тебя обед/начальник отвернулся - ты щёлкаешь по закладке и уже через секунду играешь. Закрыл вкладку - чист перед законом.
554 2021530
В Typescript есть Record, хочу на уровне типов сделать массив (кортеж) объектов из всех свойств этого Record:

Есть это:
export const indicators: Record<MetricName, string> = {
propA: 'mappedValue1',
propB: 'mappedValue2',
propC: 'mappedValue3',
propD: 'mappedValue4',
};

А на выходе надо иметь значения:
[
{
label: 'mappedValue1',
value: 'propA',
...
},
];
555 2021560
Hello. Как сделать сортировку по пересадкам https://github.com/KosyanMedia/test-tasks/tree/master/aviasales_frontend

Вот нашел такой пример https://jsfiddle.net/gxab98nq/ Работает если сортировать по авиакомпаниям(carrier)

> ...items.map(n => n.carrier) ])];



>items.filter(n => filteredBrands.includes(n.carrier));



Как изменить, что б сортировать по пересадкам?
image.png94 Кб, 644x930
556 2021582
557 2021602
>>21501

>через секунду играешь.


Недавно анон в прошлом/позапрошлом треде писал, что его надзиратель уволил за неуспеваемость.

Какую игру думаешь сделать, если не секрет?
558 2021654
>>21560

>Как изменить, что б сортировать по пересадкам?


Так сортировать или фильтровать? Сформируй вопрос нормально блядь, откуда такой вкатываешься?
559 2021696
>>21582
с type Result круто, спасибо, только хочу, чтобы компилятор ругался, когда в const result не все свойства из const indicators в качестве элементов использованы, как в Record
560 2021713
>>21654
Фильтровать
561 2021721
>>21079
Мувисерчер можно запилить за пару часов.
562 2021727
>>21530
>>21582
>>21696
Я пока сделал по-тупому: через Record и в рантайме с Object.entries()
563 2021730
>>21721

>Мувисерчер


Это что-то старое. Мем какой? Что такое этот ваш "Мувисерчер"?
564 2021740
Как же охуенно что появился svelte
До последнего хуярил на ваниле свои небольшие проекты, т.к люто выворачивает от реактоговна

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

Это будущее
565 2021786
>>21713

> tickets.filter(ticket => ticket.segments.length = 1)

566 2021787
>>21730
Инглиш, мазафакер, ду ю спик ит?
567 2021792
>>21786

> ===


Быстрофикс
568 2021798
>>21787
Ай ду..
Фильмопоиск. Понятней не стало. Зачем пилить фильмпоиск, блять?! Это типо парсер какой-то?
Или блять обычная сортировка что ли?
569 2021802
>>21798
Гуйня к апишечке imdb.
570 2021990
Есть инфа как в Реакте использовать данные из Url? У меня есть такая ссылка <Link to="/item/1">Товар</Link>, которая очевидно отсылает на страницу /item/1, но я хотел узнать как использовать эту единицу (например записать в переменную и т.д.). Пару недель изучаю Реакт, но никак не могу понять как передать данные между компонентами (пока умею только через localStorage).
571 2021992
>>21990
Так тебе роутер через контекст параметры все отдает.
572 2022000
>>21990

> /item/1


А как ты до этого докатился без роутера?

> никак не могу понять как передать данные между компонентами


Щас вкатыши начнут кукарекать за пропсы, но ты просто прикрути редукс.
573 2022031
>>21740
Лол когда пробовал это говно даже хелловорд не скомпилился с ошибкой
574 2022072
Вот бы мне тянки также писали как эйчарки...
575 2022076
>>21602

>Какую игру думаешь сделать, если не секрет?


Пошаговый коффибрейк-роглайк с боёвкой как в Disciples-2 и оригинальной механикой захвата карты. Серьёзно, в двух словах не объяснить, этому пет-проекту семь лет будет осенью (из которых года три активной разработки).
576 2022103
Посрал, потом сходил за сигами, программировать сегодня не буду. Сеймы есть?
577 2022104
>>21501
>>22076
>>19944
Что за шиза? Любую такую хуйню на канвасе делают, потому что канвас это почти прямой буфер к видеоядру. CSS это думзалупа.
578 2022121
>>22103
Лучше сходи за редукс сагами ебаными
579 2022128
>>22104

>Любую такую хуйню на канвасе делают


Какую - такую?
Если у тебя не спелунки, где можно играть джойстиком, а что-то типа ККИ, где есть карты, на которых есть надписи и на которые могут быть наложены эффекты, представленные значками, и каждый значок эффекта должен быть интерактивным.
Не, канвас хорош для своих целей, а CSS для своих. У меня вообще three.js раньше юзался в этом проекте, но однажды я потестил его на мобилках и понял, что подлаг от инициализации либы слишком огромный, и он не закэшируется, как 500кб её веса.
580 2022142
сыч и хикка войди в славный вебчик фронтенд ты своим не поверишь глазам
ждет тебя впереди стилей каскад ты готов открывайся вскод

фронтендская дрооооооочь
очередной фреймвооооорк

здесь state и props
input type="file" и Blob's
npm и redux
о дивный фулстак
о manager product

здесь синьор и лидак
код ревьюхой грозят
смотри не деплой!

хоть сложон и заеб но прекрасен фулсток
google.com stackoverflow и вперед
пусть от пхп пронесет и jquery умрет
пиздуй в фулстак куда эйчарка зовет!
581 2022159
>>22142

>пиздуй в фулстак куда эйчарка зовет!


Нахуя кстати? На чистом фронте зп примерно такие же.
582 2022163
>>22128
вот результат изысканий в CSS по итогам треда
https://jsfiddle.net/cgyL82pn/
583 2022164
>>22159
Интересней ну и найти можно больше все же
584 2022185
Ну и где тот пиздабол, что обещал, что тпед будет перекатываться всегла во время. Какого хуя трел в бамплимите вторые сутки? Какого хуя все предыдущие трелы по несколько дней весят в бамплимите?
16194459485830.gif2 Мб, 250x158
585 2022207
586 2022213
>>22159
Диверсификация.
587 2022220
>>22213
Насколько вообще обоснованы страхи, что фронт перегрет и при первом же кризисе зарплаты уйдут в пол?
image.png25 Кб, 640x640
588 2022229
Анон, чем собрать в браузере из нескольких svg файлов псевдо 3д модель? Например самое простое, собрать куб по образу пикрелейта? Тут очень важно, что бы все стороны куба брали ресурсы из файлов на диске.

Инб4, нахуя так сложно: я в программе inkscape хочу сделать для некого ящика стороны, но у этих сторон есть замки по краям пикрелейт, в форме прорезей в виде буквы Т, и мне нужно видеть совпадают ли прорези у сторон куба например А и Б.
589 2022238
>>22220
Хз, главное не быть мудаком, а род деятельности не важен.
Я вот прочно окопался на проекте, даже менеджерка слабо представляет все процессы. Можно сказать, что автобусный фактор равен 1.
590 2022239
Как заменить из Ant Design moment.js на date-fns? Сделал как тут, но как только открываю календарь, ошибка. Делал, как тут https://ant.design/docs/react/replace-moment#Use-date-fns

Ошибки:
index.js:1 TypeError: Cannot read property 'options' of undefined
at Object.getWeekFirstDay (dateFns.js:86)
at getWeekStartDate (dateUtil.js:95)
at DateBody (DateBody.js:21)
at renderWithHooks (react-dom.development.js:14977)
at mountIndeterminateComponent (react-dom.development.js:17803)
at beginWork (react-dom.development.js:19041)
at HTMLUnknownElement.callCallback (react-dom.development.js:3945)
at Object.invokeGuardedCallbackDev (react-dom.development.js:3994)
at invokeGuardedCallback (react-dom.development.js:4056)
at beginWork$1 (react-dom.development.js:23956)
at performUnitOfWork (react-dom.development.js:22768)
at workLoopSync (react-dom.development.js:22699)
at renderRootSync (react-dom.development.js:22662)
at performSyncWorkOnRoot (react-dom.development.js:22285)
at react-dom.development.js:11319
at unstable_runWithPriority (scheduler.development.js:646)
at runWithPriority$1 (react-dom.development.js:11268)
at flushSyncCallbackQueueImpl (react-dom.development.js:11314)
at flushSyncCallbackQueue (react-dom.development.js:11301)
at discreteUpdates$1 (react-dom.development.js:22412)
at discreteUpdates (react-dom.development.js:3756)
at dispatchDiscreteEvent (react-dom.development.js:5881) {componentStack: "↵ at DateBody

и:
index.js:1 TypeError: Cannot read property 'localize' of undefined
at dateFns.js:108
at Array.map (<anonymous>)
at Object.getShortMonths (dateFns.js:105)
at DateHeader (DateHeader.js:26)
at renderWithHooks (react-dom.development.js:14977)
at mountIndeterminateComponent (react-dom.development.js:17803)
at beginWork (react-dom.development.js:19041)
at HTMLUnknownElement.callCallback (react-dom.development.js:3945)
at Object.invokeGuardedCallbackDev (react-dom.development.js:3994)
at invokeGuardedCallback (react-dom.development.js:4056)
at beginWork$1 (react-dom.development.js:23956)
at performUnitOfWork (react-dom.development.js:22768)
at workLoopSync (react-dom.development.js:22699)
at renderRootSync (react-dom.development.js:22662)
at performSyncWorkOnRoot (react-dom.development.js:22285)
at react-dom.development.js:11319
at unstable_runWithPriority (scheduler.development.js:646)
at runWithPriority$1 (react-dom.development.js:11268)
at flushSyncCallbackQueueImpl (react-dom.development.js:11314)
at flushSyncCallbackQueue (react-dom.development.js:11301)
at discreteUpdates$1 (react-dom.development.js:22412)
at discreteUpdates (react-dom.development.js:3756)
at dispatchDiscreteEvent (react-dom.development.js:5881)

Как локаль добавить?
590 2022239
Как заменить из Ant Design moment.js на date-fns? Сделал как тут, но как только открываю календарь, ошибка. Делал, как тут https://ant.design/docs/react/replace-moment#Use-date-fns

Ошибки:
index.js:1 TypeError: Cannot read property 'options' of undefined
at Object.getWeekFirstDay (dateFns.js:86)
at getWeekStartDate (dateUtil.js:95)
at DateBody (DateBody.js:21)
at renderWithHooks (react-dom.development.js:14977)
at mountIndeterminateComponent (react-dom.development.js:17803)
at beginWork (react-dom.development.js:19041)
at HTMLUnknownElement.callCallback (react-dom.development.js:3945)
at Object.invokeGuardedCallbackDev (react-dom.development.js:3994)
at invokeGuardedCallback (react-dom.development.js:4056)
at beginWork$1 (react-dom.development.js:23956)
at performUnitOfWork (react-dom.development.js:22768)
at workLoopSync (react-dom.development.js:22699)
at renderRootSync (react-dom.development.js:22662)
at performSyncWorkOnRoot (react-dom.development.js:22285)
at react-dom.development.js:11319
at unstable_runWithPriority (scheduler.development.js:646)
at runWithPriority$1 (react-dom.development.js:11268)
at flushSyncCallbackQueueImpl (react-dom.development.js:11314)
at flushSyncCallbackQueue (react-dom.development.js:11301)
at discreteUpdates$1 (react-dom.development.js:22412)
at discreteUpdates (react-dom.development.js:3756)
at dispatchDiscreteEvent (react-dom.development.js:5881) {componentStack: "↵ at DateBody

и:
index.js:1 TypeError: Cannot read property 'localize' of undefined
at dateFns.js:108
at Array.map (<anonymous>)
at Object.getShortMonths (dateFns.js:105)
at DateHeader (DateHeader.js:26)
at renderWithHooks (react-dom.development.js:14977)
at mountIndeterminateComponent (react-dom.development.js:17803)
at beginWork (react-dom.development.js:19041)
at HTMLUnknownElement.callCallback (react-dom.development.js:3945)
at Object.invokeGuardedCallbackDev (react-dom.development.js:3994)
at invokeGuardedCallback (react-dom.development.js:4056)
at beginWork$1 (react-dom.development.js:23956)
at performUnitOfWork (react-dom.development.js:22768)
at workLoopSync (react-dom.development.js:22699)
at renderRootSync (react-dom.development.js:22662)
at performSyncWorkOnRoot (react-dom.development.js:22285)
at react-dom.development.js:11319
at unstable_runWithPriority (scheduler.development.js:646)
at runWithPriority$1 (react-dom.development.js:11268)
at flushSyncCallbackQueueImpl (react-dom.development.js:11314)
at flushSyncCallbackQueue (react-dom.development.js:11301)
at discreteUpdates$1 (react-dom.development.js:22412)
at discreteUpdates (react-dom.development.js:3756)
at dispatchDiscreteEvent (react-dom.development.js:5881)

Как локаль добавить?
591 2022244
>>22229
<img src="yoba.svg" height="14" width="88"/>
592 2022249
>>22239
Да никто тут не будет дебажить велосипеды по переписке. Сам себе головняк создал, сам и разгребай.
image.png1,5 Мб, 1080x1350
594 2022377
595 2022400
Нужно ли в Реакте делегировать события
596 2022407
>>22249
Да понятно, думал, может, кто еще в AntD date-fns ставил вместо moment'а. задача популярная вроде
Стикер255 Кб, 512x512
597 2022457
>>22103
Нефеговая подготовка к пятнице. Балдеж
598 2022492
Дарова пацаны
Прошу вас, объясните на пальцах, зачем нуден REACT
Я учу его пару дней, т.к он самый популярный фреймворк, но я совсем не понимаю зачем нужны танцы с бубном и писанина в 100 строк, если можно просто добавить в HTML то что ты хочешь.
Как я понял, реакт нужен для автоматизации, или он как-то с бэком подключается через апи, ну крч вот эти возможности которых нет в ванильном хтмл5. Ещё я не могу понять зачем нужно ставить сайт на локалхост? Не судите строго, я и ES6 не особо понимаю зачем, но JS знаю в общем хорошо, спасибо за совет
599 2022499
>>22492

>зачем нужны танцы с бубном и писанина в 100 строк, если можно просто добавить в HTML то что ты хочешь.


А ты так пробовал? Ты ж взвоешь и попросишь реакт, когда начнешь делать spa или сложный динамический интерфейс.
600 2022513
>>22492

>Ещё я не могу понять зачем нужно ставить сайт на локалхост?


>но JS знаю в общем хорошо

Стикер255 Кб, 512x512
601 2022517
>>22492
Чет судя по твоей простыне - у тебя какая-то каша в голове. Реакт это просто библиотека, позволяющая создавать удобные пользовательские компоненты, которыми легко манипулировать. Намного легче, чем писать миллионы строк и отслеживать изменения с помощью ванильного JS.
602 2022518
>>22239
У тебя же написано, что

> Cannot read property 'options' of undefined



Куда options дел? Почему не передаешь или передаешь пустоту?
603 2022527
>>22400
Нет
604 2022528
>>22517
Так реакт же фреймворк а не библиотека, Jquery например я пробовал и понимаю более менее за чем, а вот реакт, ну удобненько, но все ещё сложно для понимания
>>22499
я же прошу пояснить, а не >spa или сложный динамический интерфейс
605 2022530
>>22492
Реакт позволяет создавать SPA. Плюс ко всему, у реакта есть внутренний virtualdom, в который сначала вносятся изменения при рендере элементов, потом изменения сравниваются с текущим домом, и в текущий дом вносятся только те изменения, которые отличаются от виртуального, страница целиком не обновляется. Правда я не знаю каким образом реакт обновляет только необходимые элементы и не заставляет бровсер перерисовывать всё целиком.
606 2022532
>>22528
Реакт это библиотека, а не фреймворк. Ты с ангуляром или вуем путаешь.
607 2022583
>>22532
Реакт можно назвать фреймворком в том смысле, что он довольно-сильно диктует принцип написания кода и вообще подход к разработке. Так что с этой точки зрения, реакт - фреймворк. Но кому вообще не похуй?
608 2022632
>>22583
Но он ничего не диктует, ты с JSX путаешь, который можно и без рякта пользовать (и рякт без JSX).
В самом реакте ты просто прокидываешь функции и жонглируешь скоупом, то есть пишешь типичный жс код.
609 2022702
react hooks
610 2022715
Где перекат, ленивые жопы?
611 2022760
>>22377
'156' же
15813264306482.png442 Кб, 546x737
612 2022777
Анончики, помогите с регуляркой

Нужно из предложения удалить все спец символы/любые возможные НЕ БУКВЫ

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

Так же, если символ стоит МЕЖДУ, например "КАК-НИБУДЬ" или "CAT'S", то в данном случае нужно удалить символ и заменить пробелом чтобы не слипалось
613 2022932
>>22777

> тренд вместо гугла


someString.replaceAll("([^\\p{L}\\p{N}])", " ");
614 2022941
>>22932
Не сработает твое выражение. Уже нашел рабочий вариант

someString.replaceAll(/([^\u00C0-\u1FFF\u2C00-\uD7FF\w])+/g, " ")
image.png25 Кб, 393x337
615 2022957
Существует ли библиотек по генерации форм слова?

Допустим, во входных данных слово :

красивый

Должен получить массив слов типа:

красивая, красивой, красивую, красивыми и т.п
616 2022988
>>22957
Да.
617 2022992
>>22530

>SPA


Зачем они нужны? В чем преимущество перед обычным многостраничником? Как будет индексироваться контент в поисковиках?
618 2023013
>>22992
Зачем тебе в многостраничниках сложный интерфейс?
619 2023015
>>22988
Они платные

Но нашел вот такой сервис. Осталось понять, как отсюда

https://context-tools.ru/keywords/morfolog-word

спиздить урл для запроса

В нетворке показывает

https://context-tools.ru/keywords/morfolog-word/process

но непонятно, какие ключи тут
620 2023025
>>23015
Типичная пидераха, абы спиздить.
621 2023028
>>23015
Что непонятного? Девтулз показывает какие поля в запросе

keywords[]: жопа
morphy_options: 0
not_morphy_list[]:
not_morphy_words: 0
morphy_comma: 0
622 2023031
>>23028
не рабоатет , уже чекал

теперь вопрос, почему?
623 2023179
>>22992
У тебя без SPA страницы перезагружаться будут постоянно

>>22632
Ой блядь, ну конвенция в рякте есть? Есть, вот и пиши так. А раз пишешь так, значит почти фреймворк.
624 2023231
>>23179

>У тебя без SPA страницы перезагружаться будут постоянно


Пускай. Если ты кешируешь повторяющийся контент, то это не проблема.
625 2023248
>>23179

>У тебя без SPA страницы перезагружаться будут постоянно


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

>Ой блядь, ну конвенция в рякте есть?


Без конвенций ты и два модуля не напишешь.
626 2023254
>>23231

> Пускай. Если ты кешируешь повторяющийся контент, то это не проблема.


Ага, проблема у юзера, который твою портянку через 3Г грузит.
627 2023262
>>23254
Проблема у юзера, когда на него скидывают кучу логики в браузер.
628 2023267
>>23262
А, ты из этих, которые корзину на бэке пересчитывают.
629 2023270
>>23267
Ты корзину без бэка не пересчитаешь, лол.
630 2023284
>>22128

> Какую - такую?


60фпс же.

> должен быть интерактивным.


Енто проблема, енто да. Но решается одним буфером.

> подлаг от инициализации либы слишком огромный, и он не закэшируется, как 500кб её веса.


Значит ты какую-то хуйню сделол. В идеале на three вообще нет никаких "подлагов", и не 500кб, а 250-300.
Three можно вообще уменьшить до 100кб или даже меньше.
631 2023290
>>23262
Ну так не делай много логики. Хотя бы преакт возьми, если не способен на что-то другое.
632 2023359
Перекатывать будем?
633 2023362
>>23290
Я просто не могу понять для чего нужны SPA с точки зрения бизнеса, который должен выбирать именно их. Пока все, что я читаю об SPA похоже на какое-то наебалово. Их разработка дороже, с индексацией и вообще SEO проблемы. Чтобы избавиться от этих проблем, нужно танцевать с бубном и делать SPA похожим на многостраничник (настраивать роутинг и присобачивать урлы) и тогда тем более не понятно, что мешает сразу сделать многостраничник и продвигать его в поисковике и рекламе.
634 2023364
>>23290
Да логики может быть как угодно много. Вопрос нахрена это все нужно на клиенте?
635 2023366
>>23364
Ебта, если тебе не нужно спа, значит не делай спа. Другие пользуются, потому что им норм.
Не хочешь от стада отбиться или чо?
636 2023373
>>21786

>ticket.segments


Ты имел ввиду segments[n].stops.length ?
637 2023374
>>23362
Ну вот в стародавние времена писали десктопы, а теперь не пишут, обновления там, кроссплатформа, еще что нибудь наверное. СЕО там не надо и продвигают его не через сео. Делать такое серверсайд многие пытались, никто не преуспел. Потом в чат входит жаваскрипт
638 2023377
>>23373
Типа того.
639 2023381
Так значит GraphQL это просто стандарт? Я много потерял, если прочитал основы на howtographql, не особо вникал в доки на graphql.com, а вместо этого сразу собираюсь изучать доки аполло? Я же только время проебу читая одно и тоже 2 раза, лучше на примере graphql реализации (аполло) сразу вникать что к чему, чем на примере абстрактного стандарта (хотя в доках видел примеры кода на жс)
640 2023385
>>19389
нахуя тебе весь это винигрет? учи технологии, с которыми планируешь работать первое время на работе, всё остальное наверстывается уже в процессе на реальных задачах тогда и поймёшь в какую технологую лучше углубиться, а какую скипнуть к хуям собачим
641 2023393
>>23385
Это все просят в требованиях к джуновским вакухам. Велком ту 2к21 пост ковид ворлд, когда кассиры и охранники масссово вкатываютсяя во фронт. Со стеком хтмл ксс жс реакт редукс сейчас только хуй за щеку можно найти.
642 2023408
>>23362

>Их разработка дороже, с индексацией и вообще SEO проблемы


С чего вдруг разработка дороже, шиз? Ты половину бека по сути на фронте крутишь, для СЕО есть SSR, роутинг это у тебя танцы с бубном, а кодить ты вообще как собрался? Ты на нексте пробовал многостраничник делать? Для этого буквально нужно создать папку с файлом, всё. Ты вообще работал со всем этим или с головы всё берешь? Пиздец.

>>23393
Да в вакансиях просто рандомно хуярять все что можно как кейворды. Там 80% "технологий" это 3-4 часа чтения доки, такого никто по хардкору не требует. Если у тебя есть хорошее знание жс + любой современный фреймворк на хорошем уровне, это уже почти пройденный собес. Какие там охранники код пишут, можешь показать-то? Наслушаются этих охуительных историй. Для рандомного нормиса поставить себе IDE, ноду и страничку в браузере запустить это уже рокет сайенс. Учи блядь нормально жс, напиши сложную приложуху многостраничную, оформи всё нормально и можешь пиздовать на собесы. "сложная" приложуха, это какой-нибудь простейший мувисерчер с логином и возможностью добавления фильмов в избранное, я не шучу, думаешь там без лично написанного фейсбука не возьмут? Меня вот с такой хуетой уже приглашали, хотя у меня просто висело резюме и я сам никому не писал. А дальше будешь срать на собесах, пока не научишься не срать на собесах.
643 2023422
>>23408
Основной подводный камень в том, что ты играешь в эту игру не против херки или техдира или хуй знает кого, а против таких же вкатышей. Вот придет нас 10 человек, если все со стеком хтмл ксс жс реакт (у всех примерно однаковый скилл), то я хуй знает, почему должны взять именно меня, я скорее всего нахуй пойду. А так у меня туз в рукаве есть, строгая типизация, тесты, сервер с аутентификацией, SSR и алгоритмы. Да и не очень-то хочется слишком много собесов заваливать, когда в мухосранске во время второй волны ковида кол-во вакансий на реактомакаку-джуна срезало нахуй со ~140 до ~20.
644 2023425
>>23422
Ну так ты там понаписал стекохуеты на 200 человек, а так всё нрм
645 2023431
>>23425

> Ну так ты там понаписал стекохуеты на 200 человек


Где? Что там такого-то? Дефолтный джуностек в 2к21.
646 2023460
>>23408

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


Ты забыл упомянуть, когда вкатился.
647 2023470
>>22528
Реакт не фреймворк, а библиотека. Такаяже, как жквери.
648 2023474
>>23460
"Уже" в том смысле, что этого было достаточно. Вкатился около года назад
649 2023478
>>23267
А ты изтех, кто не пересчитывает?
650 2023483
>>23478
Да, на бэке у меня совсем уже эзотерическая ебанина вроде генератора вордовских документов и апишечек с авторизацией по сертификатам.
651 2023553
>>23483
Здорово. А товары в корзине ты на клиенте считаешь, да?
652 2023633
>>22492
Реакт нужен для создания веб-приложений. Веб-приложения отличаются от обычного сайта тем что подразумевают большую интерактивность и нетривиальное взаимодействие с пользователем. Вэб-приложение это калькулятор, интерактивная гео-карта, чатик, терминал для биржи, мультиплеерная игра. Всё это можно написать и без реакта, но на реакте это сделать проще.
Если у тебя простой сайт с формой обратной связи или бложек реакт не нужен.
653 2023634
>>23422
Преимущество - это знание еще какого-нибудь языка, помимо JS/TS, это знание и понимание базы (алгоритмов и структур данных). Это то, что реально отличает человека, основательно идущего в сферу от поверхностного нормиса. На собесах отсеивают прежде всего поверхностных манек, которые выучили хуйню по роадмапам, а за их пределами не в курсе как веб и кодинг вообще устроены.
654 2023640
>>23408

>С чего вдруг разработка дороже, шиз?


С того, что сделать сайт на PHP без всей твоей фронтодрисни дешевле. Почему кабан должен выбирать твои кручения на фронте? Ты в курсе как много пользователей даже не заходят на сайт, когда видят как долго вся эта хуйня грузится от того, что ты кучу хуеты вывалил на клиент? Посмотри статистику посещаемости крупных порталов. Куча народу до сих пор заходит с допотопных мобил, предлагаешь бизнесу выбрасывать их за борт, потому что у тебя модная еба, в которой половина бэка крутится на фронте?
655 2023652
Помогите понять.
Обычно когда объясняется, что такое асинхронность в JS, то говорится об Event loop, очереди синхронного кода, очереди микро и макро задач. И в целом можно представить что весь код JS это очередь. И в паралельности там работают либо созданые вручную воркеры, либо воркеры из под капота типа таймингов.

Исходят из этого, если мне, например, нужно сделать 15 HTTP запросов, то особо нет смысла, делать их синхронно через async/await или асинхронно. что там что там они в итоге попадут в очередь.

Однако на практике асинхронные запросы выполняются быстрей. Я так понимаю, что они всё же работают параллельно? Каждый совершает запрос не дожидаясь ответа, а после получения response уже код выполняется дальше.

Правильно я мыслю?
656 2023653
>>23362

> Я просто не могу понять для чего нужны SPA с точки зрения бизнеса


Быстрозагружаемые микространчки на свелте. Или интерактивные 60фпс странички на среакте. Или просто красивые продающие штраницы.

> похоже на какое-то наебалово.


Это называется капитализм, добро пожаловать.

> Их разработка дороже, с индексацией и вообще SEO проблемы.


Они работают через рекламу. Но никакой индексации или сео-проблем нет на шамом деле, тебе показалось.

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


Мешает отсутствие 60 фпс при онлисервер рендере. А 60фпс вполне себе продают.

>>23364
Так не делай логику на клиенте, я же тебе написал. Логика на апи-сервере лежит.
Бизнес-наебщикам логика на клиенте нужна чтобы сервера разгрузить. На эти СПА приходят миллионы клиентов в день, например, и весьма важно чтобы за сервер платить меньше, а контент по цдн и апи раскидывать.
657 2023654
>>23652

> Однако на практике асинхронные запросы выполняются быстрей.


Они не быстрей.

> они всё же работают параллельно?


В ЖС нет параллелизма, кроме вебворкеров.

> Правильно я мыслю?


Не знаю, я не читал.
658 2023664
>>23654

>Они не быстрей.


Быстрей.
659 2023674
>>23664
Сервер быстрее данные отдает если await написать?
660 2023675
>>23674
ты жопочтец, уходи
661 2023677
>>23675
Если не писать await то сервер быстрее данные отдает?
662 2023678
>>23677
Код быстрее выполняется.
image.png173 Кб, 1110x761
663 2023714
664 2023722
>>23640

>на PHP без всей твоей фронтодрисни


А что тогда он показывает? Сайт на PHP, если браузер только фронт понимает!

>Почему кабан должен выбирать


В том то и дело что выбирает кабан то что дешевле сделают, а потом набравшись опыта, то что дешевле обойдется!

>твои кручения на фронте?


BFF снимает нагрузку на сервер, сервер на миллионы пользователей стоит недешево.

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


Слышал про 4сек. В Lighthouse PWA на Реакте летает и загружается быстро, стоит только исправить проблемы на которые тебе укажут.

> Куча народу до сих пор заходит с допотопных мобил


WEB приложухи собираются и транспилируются в старый JS, а также оптимизируются под браузеры которые использует более 1% пользователей.

>предлагаешь бизнесу выбрасывать их за борт


ТыТруб на PWA, Впараш заглушку ставит на не тех браузерах.
665 2023725
>>23653

>Но никакой индексации или сео-проблем нет на шамом деле, тебе показалось.


Не пизди, из поисковых движков только гугл честное слово дал, что он прогружает клиентские скрипты. Остальные просто забьют на твоё СПА-говнецо.
test.PNG497 Кб, 1919x1002
666 2023763
Прохожу курс
667 2023805
>>23763
Как оно?
668 2023806
Че-то не врубил: мы await-им реквест по типу:
response = await fetch(url)

На кой мы потом делаем вот этот await:
result = await response.json()

Что тут асинхронно await-ить? Респонс уже получен жи
669 2023808
>>23805
Годно. Искал хороший курс по ФП и надыбал на этот - автор оказывается автор и редактор двух книг которые я осилил по ФП в JS (Functional Light JS и Mostly Adequate Guide to FP). Так что приятно увидеть вживую.

Сам курс конечно, intermediate уровень (сначала нужно книги прочесть), но очень годный, который можно вполне применять на работе, в конце курса идет написание редакса (который по сути Reader монада) с блекджеком и шлюхами, а у нас на работе как раз Редакс + Ramda
670 2023809
>>23362
Дед, пиздуй в утиль

мимифуллстак, успевший покодить и на пхр
671 2023812
>>23809
пхп
672 2023820
>>23633
спасибо анон, ты ответил на то что я спрашивал
673 2023822
>>23362
Лучше юзер экспириенс, ты можешь пиздеть что угодно, но по статистике чем быстрее/плавнее сайт, тем выше продажи/retention.

Без SPA возможно делать (Hotwire на Рельсах или LiveView на Фениксе), но пока не популярно.

Если делать через дефолтный ХТМЛ, у тебя будет триллион перезагрузок, юзерам не нравится. Хотя я сам лично люблю стандартный веб, а не лагучее реактодерьмо. Но даже с реактолагами, все равно ощущение "живости" и динамические подгрузки страниц и компонентов улучшают юзер экспериенс.
674 2023836
>>23822
А с реактоговном можно сделать суезный магазин?
И я же правлиьно понимаю, что спа подтягивает данные с сервера, типо как ажакс.
Типо вот у тебя главная, кликаешь на раздел, он открывается без березагрузки. Кликаешь на товар, а там актуальные данные подтянутые с сервера, открывшиеся без перезагрузки.
Мимо вкатышь, почти ничего не слышал про рякт кроме двачей.
675 2023843
>>23806
Тому що тело респонса - это поток, его надо для начала качнуть в память, потом уже распрсить.
676 2023847
>>23836
Можно.
Да, правильно.
16203085714900.png708 Кб, 930x616
677 2023861
>>23847
Круто. Значит когда-нибудь вкачуть в рякт.
678 2023865
>>23861
Вголос
мимо с Киева
Screenshot1.png25 Кб, 595x465
679 2023883
>>23714

>Держи, почитай!


Ничего нового для себя я там не увидел. Возможно я просто слеп, но эти объяснения с consol log и setTimeout я уже и так читал.
Дайте простой ответ почему код асинхронный код на пикриле быстрее почти в три раза.
680 2023892
>>23883
Тому що в первом случае все запросы стартуют синхронно, но ответы приходят болименее параллельно.
Во втором - ты руками синхронизируешь запросы.
b680e5499411be4efac1431a529cb877.jpg5 Кб, 240x240
681 2023893
>>23892
Ок. Спасибо, я это и хотел увидеть.
682 2024125
>>23664
Нет. Они не могут быть быстрей впринципе. Это такой же код как и обычный.
683 2024127
>>23725
Сервер рендер у последнего блядофреймворка есть так-то. Проблем нет никаких.
684 2024128
>>23678

> Код быстрее выполняется.


Прими таблетки, у тебя шизофрения.
685 2024301
Пиздец ехидные колобки на вторую страницу укатились, какого хуя, у меня нет времени скроллить двачи!
Тайпскриптеры, объясните ситуацию:
Делаю "declare var x: number" - х становится глобальной переменной, доступной как сама по себе так и через window.x
Делаю "declare const x: number" - x становится глобальной переменной, доступной только сама по себе, попытки получить window.x заканчиваются тем, что нет такого ключа у объекта window. Почему?
686 2024307
>>24301
А ты попробуй проверить будет ли у тебя window.x после транспиляции в JS даже в первом случае.
687 2024334
>>24301
TS повторяет (точнее старается повторять) JS. B в JS var, объявленная на верхнем уровне станет доступна на window, а const - нет, т.к. const - block-scoped. Т.е. пусть это и не описано явно в доке TS, но все максимально логично.
688 2024489
>>24125
>>24128
А это что >>23883
689 2024522
>>23806

> Что тут асинхронно await-ить? Респонс уже получен жи


Только заголовки же. А остальное надо опять awaitить.
690 2024550
>>24489
Если await убрать то код еще быстрее будет выполняться. Шах и мат
691 2024571
>>24550
>>24489

О чем вы вообще спорите бля?
Асинхронка для конкруентного исполнения блять, думаю это в 2021 для всех очевидно, ведь так? Преимущества асинхронки именно в этом
Сам по себе код, написанный через промисы / await не будет быстрее чисто синхронного если там нет конкретного доступа к ресурсам, будет сцуко медленнее потому что нужны ресурсы на переключение контекста

Это уже пруфали на примере синхронных и асинхронных фреймворков того же Пистона, где синхронные оказывались пизже по rps и latency чем асинхронные, однако стоило накидать в код хождений в бд, запись в файлы как синхронные начали отсасывать
692 2024630
https://habr.com/ru/company/yandex/blog/555520/

пиздец...
эти долбоебы разве сами не видят что городят нечитаемую хуйню? дженерики же должны облегчить работу программиста, а не извратить ее
693 2024635
>>23377
Ну в принципе так и думал. Но тут, теперь, другая беда, перестал работать чекбокс,
<input type="checkbox" checked={active} data-value={value} onChange={onChange} />

получаю всегда active===false

const onFilterChange = ({ target: { checked: active, dataset: { value } } }) => {
const
newFilters = filters.map(n => [n.value, 'all'].includes(value) ? {...n, active} : n),
isAll = newFilters.filter(n => n.value !== 'all').every(n => n.active);
newFilters.find(n => n.value === 'all').active = isAll;
setFilters(newFilters);
};
694 2024639
У реакт натива его встроенный stylesheet это стандарт для работы со стилями, или есть что-то получше? Стоит куда-то копать или делать все через stylesheet?
695 2024654
>>24630
Ты что-то другого ожидал от Яндекса? Главное повыёбываться, как ты можешь засунуть всё в один интерфейс, а не писать читаемый и изменяемый код.
696 2025277
Аноны знаю что жс плохой язык, там вычисления не точные, поясните почему у меня в джаве вычисления не точные ?

public class Main
{
public static void main(String[] args) {
System.out.println(2.0 - 1.1);
}
}

// 0.899999999999999999
697 2025306
>>25277
Потому что яп ни при чем, бесконечную точность в процессорный регистр не засунешь. Используй специальные типы данных, если тебе сильно нужно.
698 2025321
>>24307
После транспиляции вообще ничего не будет, это просто объявление переменных, declare чисто тайпскриптовская хуйня.

>>24334
Так если block'a нет, const и let попадают в глобальный скоуп, я думал. А вот оно как.
https://stackoverflow.com/questions/55030498/why-dont-const-and-let-statements-get-defined-on-the-window-object
699 2025369
>>25277
Нахера вкатываешься в жаву если ты долбоеб? Катись в жс/питон и не еби себе мозги
700 2025387
>>25369
Порванное очко вижу, аргументы по факту нет.
701 2025445
Аноны подскажите, есть приложуха 2 летней давности, там вебпак, электрон и куча устаревших зависимостей. npm Istall эту парашу выкачивать отказывается, поставил через --force, все равно нихуя не запускается. Как быть в таких ситуациях ?
702 2025458
>>25445
Читать ошибки / ставить двухлетнюю ноду
703 2025603
>>25321
Глобальный скоуп !== ключ объекта window. В консолечке можешь значение x посмотреть, всё там будет.
704 2025618
зачем rebase сраный делать если просто можно спулиться?
705 2025632
>>25618
Рибейз все твои коммиты в один сожмёт и присвоит им дату рибейза, что позволяет очень легко в мастер ветке отлавливать регрессии и откатываться, если надо.
706 2025633
>>25618
А если fast forward не сделать?
707 2025637
>>25632

>search instead for squash

708 2025641
>>25637
Сквош это и есть рибейз.
709 2025663

>2021


>this


Что с вами не так?
710 2025666
>>25641
У них результат разный, так что не есть
711 2025693
>>25666

>У них результат разный, так что не есть


Талмудику можешь засквошить себе в анус.
712 2025762
>>25693
error: cannot 'squash' without a previous commit
713 2025766
>>25762
Так закоммить свой анус.
714 2025770
>>25766

>nothing added to commit but untracked files present


Так что засташил тебе за щеку
715 2025787
>>25770
Зачем ты свой анус в игнор добавил?
716 2025919
>>25663

>2021


>не сосать хуй


Что с вами не так?
717 2025965
>>14958
Ебать. Каво
718 2026020
>>25965
Понаписали dsl и компиляторов к ним, а потом хвастаются как жаваскрипт может
719 2026022
Функция это какого типа данных значение?
720 2026057
>>26022
объект
15364976767131.jpg9 Кб, 200x200
721 2026131
>>11386 (OP)
Драститя. Делаю проект на реакте, хочу общаться с json-файлом в папке проекта, читать из него и записывать в него. Это вообще возможно, реакт такое поддерживает? В интернете чет ничего внятного не нашел.
722 2026138
>>25369
Будто в этом твоём петухоне нет проблемы точности плавающей точки.
723 2026140
>>26131

> записывать в него


Земля пухом.
724 2026271
>>26131
Хреново искал, кейс элементарный.
16203787572270.mp4866 Кб, mp4,
494x480, 0:10
725 2026284
>>26131

>записывать в него

726 2026291
>>25369
Куда позвали на ствжировку, туда и качусь.
727 2026297
Аноны, стоит пробовать себя в стажировке в яндексе?
Или лучше сразу на галеру вкатываться?

Я туда попаду с первого раза, я скозал. Ну а вообще не попробуешь не узнаешь, но вот надо ли вот это вот оно все? Я просто слышал, что это зашквар сравнимый с скиллбоксом.
728 2026303
>>26131

>В интернете чет ничего внятного не нашел.


В интернете нет информации на этот счёт. Ты первый кому пришла в голову подобная невероятная идея. Что делать дальше, думай сам. Можешь патентовать.
729 2026329
Анончики, помогите по современному решить задачку максимально коротко насколько это возможно.

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

[red, red, red, black, white, white]

=>

{
red: 3,
black: 1,
white: 2
}
730 2026344
>>26131
Ты ебаный дебил и я ебал твою мать.
Рект на фронте, json файл в папке проекта. Можешь читать и писать в него с сервера, можешь отправить этот json на фронт и хранить в localStorage\IndexedDB. Серверный файл реактом ты никак не потрогаешь, они вообще не связаны.
731 2026351
>>26329
[].reduce((acc, el) => ({...acc, el: (acc[el] ?? 0) + 1}), {});
732 2026368
>>26351
Красиво, спизжу себе.
733 2026369
>>26351

> Object { el: 1 }

734 2026370
>>26369
Ну напиши там [el], чо как маленький.
735 2026399
Я сосал
изображение.png208 Кб, 572x267
736 2026413
>>11386 (OP)
Существует ли инструмент для отрисовки подобных туманностей/градиентных пятен на произвольной карте мира? Не обязательно именно в таком виде, просто нужно показать расположение неких объектов относительно карты Земли.
737 2026437
738 2026458
>>26437
Спасибо, гляну
739 2026576
>>26131
JSON-файл в папке проекта вебпаком превратится в тришейкнутый объект внутри скрипта.
740 2026677
Что случилось с npm? почему он вдруг начал по 7 минут стартовать самые простые spa? Раньше стартовал за 10 секунды
741 2026680
>>26131
ДАвай я тебе вирусов запишу на диск через твой браузер
742 2026681
>>26677
Пришло то самое время.
743 2026698
>>26370
Где "там"?
744 2026701
>>26677

>самые простые spa


Это у которых 700+ пакетов?
745 2026706
>>26399
И как оно?
746 2026711
>>26351
А что делать, если версия node не очень новая? :)
747 2026715
>>26711
Array.map() заместо спредов.
748 2026740
Пасаны, что по говнокурсам по реакту? Есть нормальные? Я не могу просто читать что то, мне надо параллельно смотреть хуиту, так лучше усваиваю. А по реакту вообще никаких курсов норм не знаю, посоветуйте "нормальных", пожалуйста.
749 2026754
>>26740
любой. реакт это элементарная библиотека
самое сложное и забывающее это верстка и клепание формочек, пропуская их велью обратным кольцом через жопу редакс
750 2026772
>>26754
Мне нужно сперва допердолить опп и ts, а потом уже лезть в реакт? Или моно пропустить? Я принципы наследования, классов, объектов, прототайпа понял, но я чувству, что один хуй забуду это все ибо мне сейчас нет где применять то. В реакт оно надо это всё?
751 2026805
>>26711
Бабель в помощь. Ну или поменяй ?? на !! в этом примере монопенисуально.
>>26698
Не тралируй. После спреда.
752 2026854
>>26772
Тебе вообще не нужно ничего знать про наследование в Реакте в 2021
Сейчас можно писать все на функциональных компонентах.
Они шарят функционал через композицию, а не наследование
Не веришь мне почитай эту статью с их сайта
https://reactjs.org/docs/composition-vs-inheritance.html
753 2026859
>>26772
Что касается TS - это модная штука, которой пользуются, чтобы упростить работу в команде над крупными проектами
Возможно это мастхев в 2021 году
Паттерны разработки в Реакте совсем свои. ТАм нет такой хуйни как ООП, Грасп, ГОФ,Dep. injection
15773041786230.jpg49 Кб, 570x570
754 2026907
>>26854
В каком смысле можно? Так все сейчас пишут и это стандарт или это уровня можно верстать используя импортант, но за это по рукам бьют?

Я что то охуел малость от реакта. Когда я пробовал вью, все было максимально понятно и просто, но мне не понравилось, что там какая то своя ёбань, когда в реакте ты по сути пишешь js код. Сейчас читаю доки реакта и что то блядь пиздец какой то, яннп и пишу какую то хуиту, а не js код.
755 2026945
>>26907
В смысле раньше нельзя было, а теперь можно. Никто не хочет горить "нужно" потому что тогда код на классах автоматически превращается в легаси и его требуется переписать, а так как бы и нет. В любом случае ооп тебе пока не нужно
# OP 756 2027020
И никто даже тред не перекатит, вы че угараете? Лаботрясы.

>>2027019 (OP)
>>2027019 (OP)
>>2027019 (OP)
дышим
757 2027052
>>26329
let obj = {};
for (let el of arr) ++obj[el] || (obj[el] = 1);
758 2027287
>>26805

> Ну или поменяй ?? на !!


> Uncaught SyntaxError: missing ) in parenthetical


На || ?

> в этом примере монопенисуально.


Эквипенисуально.

> После спреда.


> ['red', 'red', 'red', 'black', 'white', 'white'].reduce((acc, el) => ({...[el]acc, el: (acc[el] ?? 0) + 1}), {});


> Uncaught SyntaxError: missing } after property list



> Не тралируй.


То не я (я траллировал с { el: 1 } и чуть выше в этом посте тоже), то другой анон, может он реально не понял.
759 2027296
Джуны, организуйте перекат в виде пет прожекта мб
760 2027299
>>27296
Зачем катать на пятиста, дебил?
761 2027302
>>27299
Вы уже который день на 3 странице
Тред утонул или удален.
Это копия, сохраненная 5 июня 2021 года.

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

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