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

JS Thread #211 /js/

 Аноним 28/04/21 Срд 14:04:40 #1 №2011386 
image
Предыдущий тред: >>2003892 (OP)
Больше пары строк кода в посте или на скриншоте ведут в ад.

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

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

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

У меня на гитхабе в петпроекте, последние коммиты это редактирование Readme файла, я его редактировал раз 20 и все это в выстроилось в ряд коммитов, которые засирают ветку изменений. Как это можно сплющить до одного коммита? Или удалить как-то их что бы изменения не потерялись в самом ридми?
Аноним 28/04/21 Срд 14:47:16 #3 №2011438 
Стикер
>>2011389
Можешь попробовать сделать бэкап проекта, на всякий пожарный и выполнить git rebase. Или это не подойдет?
Аноним 28/04/21 Срд 14:51:39 #4 №2011445 
>>2011438
Зачем делать бэкап если бэкап на сервере сделан?
Аноним 28/04/21 Срд 14:59:53 #5 №2011455 
Mobx
Аноним 28/04/21 Срд 15:43:15 #6 №2011514 
Я все равно нихуя не понимаю, где у меня косяк с формой.
Вот даже статью нашел, там точно так же сделан контроллед инпут. Точно также онЧейндж и вэлью.
Аноним 28/04/21 Срд 15:44:24 #7 №2011518 
1234.png
>>2011514
P.S.
Аноним 28/04/21 Срд 16:15:05 #8 №2011597 
>>2011514
А у тебя контроллед инпут?
Аноним 28/04/21 Срд 16:21:42 #9 №2011604 
>>2011597
Ну да. Только без Controller, а по-обычному:
<input className="input" type="text" {...register("input", options.required)} value={state.input} onChange={handleChange} />
{errors.input && <span className="input">{errors.input.message}</span>}
Аноним 28/04/21 Срд 16:38:08 #10 №2011627 
>>2011604
Ну ок, а react-hook-form тебе тогда зачем?
Аноним 28/04/21 Срд 16:39:02 #11 №2011630 
>>2011627
Валидация удобная.
Аноним 28/04/21 Срд 21:23:11 #12 №2011979 
>>2011630
бля, откуда вы лезете? Как можно было придумать гибрид react-hook-form и "обычной" работы с инпутом? сука...
Аноним 28/04/21 Срд 21:25:28 #13 №2011985 
>>2011389
https://www.atlassian.com/ru/git/tutorials/undoing-changes
Аноним 28/04/21 Срд 21:26:23 #14 №2011986 
>>2011979
А как надо работать с react hook from? Во всех статьях что я читал, работают так и не обламываются.
Аноним 28/04/21 Срд 21:37:55 #15 №2011996 
Сколько по времени займет базовое изучение node.js ?
Аноним 28/04/21 Срд 22:01:30 #16 №2012018 
>>2011996
Ну день, ну может джва. Хуль там изучать-та
Аноним 28/04/21 Срд 22:30:04 #17 №2012024 
>>2011985
Спасибо анончик!
Аноним 29/04/21 Чтв 03:53:05 #18 №2012278 
>>2011996
2-3 недели.
Аноним 29/04/21 Чтв 04:26:10 #19 №2012282 DELETED
>>2012278
Привет, братишки у меня просьба к тем, кто может помочь, помочь на покупку продуктов, есть нечего, попросить кроме как тут негде и не у кого. Пожалуйста помогите кто может. Любая помощь бесценна. Буду очень вам благодарен за это.

Оставлю свою карту здесь.

(5536):::(9139):::(3913):::(3076)( Тинькофф)


Если вас раздражает мой пост, игнорируйте. Но я всё же хотел попросить вас о помощи т.к это просто необходимо.
Аноним 29/04/21 Чтв 06:08:53 #20 №2012330 
>>2012282
Отправил тебе защекоинов, проверяй.
Аноним 29/04/21 Чтв 08:00:54 #21 №2012353 
У вас есть проблема с эмуляцией устройства в бразуере, когда на реальном телефоне всё нормально, но если включить эмуляцию на десктопе в браузере, то появляются какие-то странные отступы по краям, какие-то лишние пространства, верстка едет. Но если убрать эмуляцию мобилки и сжать экран вручную, то всё нормально. Как это фиксить? Знаю есть browserstack, который показывает реальные устройства, но это дорого для меня на данный момент. Вот установил себе еще responsively.app, там проблем опять же не наблюдается, но это эмулятор ведь, и он не покажет реальные устройства со всеми их особенностями. Какими инструментами пользуетесь вы?
Аноним 29/04/21 Чтв 08:24:43 #22 №2012362 
>>2012353
Я ставил себе для андроида по итогу реально эмулятор, nox например, можно и наверное более подходящий для разработки и в т.ч. для яблок. Хотя обычно хватает браузерных в фоксе и хроме с определенной допустимой погрешностью.
Аноним 29/04/21 Чтв 08:25:48 #23 №2012363 
>>2012362
Ну и да лол у меня как бы и тупо телефон есть, с него и смотрю тоже уже в сумме.
Аноним 29/04/21 Чтв 08:40:24 #24 №2012370 
>>2012363
Я вот раньше с телефона и смотрел, в браузере эмулировал, а потом пришёл яблочник и сказал, что всё хуйня, вёрстка поехала. Вот и не знаю как можно всё разом протестить. Ну видимо только browserstack и остается. Там есть фриланс лицензия за 20 баксов
Аноним 29/04/21 Чтв 09:55:02 #25 №2012423 
Redux
Аноним 29/04/21 Чтв 10:17:13 #26 №2012447 
Аноны на ноде кто нить вкатывался ? какой стек учили, что делали в пет проекте и т.п.
Аноним 29/04/21 Чтв 10:19:29 #27 №2012452 
>>2012447
Если хочешь заниматься бэком, то лучше вкатывайся на пхп или сишарпе. На ноде ждуны не нужны, хуй работу найдешь.
Аноним 29/04/21 Чтв 10:44:57 #28 №2012488 
Аноны, как в самом простом случае норм реализовать периодический ajax к серверу?
Пример с лерн жаваскрипт
//рекурсивный setTimeout
let timerId = setTimeout(function tick() {
alert('tick');
timerId = setTimeout(tick, 2000);
}, 2000);

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

Аноним 29/04/21 Чтв 11:30:39 #29 №2012529 
Поясните, нахуя нужен редукс и ко.

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

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

Единственное, что приходит в голову - это когда делаешь какую-нибудь хуйню с единственным стейтом, то в редуксе не надо править никакой код, а только добавлять свой.
Аноним 29/04/21 Чтв 12:18:16 #30 №2012620 
>>2012529
https://habr.com/ru/post/350850/
Аноним 29/04/21 Чтв 12:45:32 #31 №2012643 
mobx > redux
Аноним 29/04/21 Чтв 12:51:50 #32 №2012650 
>>2012620
Ты на вопрос так и не ответил. Почему я должен юзать редукс, а не отдельный сервис, где у меня свои методы и ивенты, а не диспатч экшнов и регистрация редюсеров?
Аноним 29/04/21 Чтв 12:54:50 #33 №2012654 
>>2012643
zustand > mobx > redux
Аноним 29/04/21 Чтв 13:05:21 #34 №2012663 
Не любил CSS, пока не понял, как сильно он способен разгрузить JS.
Аноним 29/04/21 Чтв 13:54:11 #35 №2012691 
>>2012529
Так чтобы инжектить сервисы нужен инжектор лучше дерево и сервисы. Всего этого естественно нет, поэтому на-ка вот, подержись за синглтон
Аноним 29/04/21 Чтв 14:15:37 #36 №2012722 
>>2012488
> что меня смущает - не создается ли при такой реализации цепочки из замыканий?
Откуда? Функция создаётся 1 раз, остальные разу исполняется уже созданная функция.
Аноним 29/04/21 Чтв 14:22:14 #37 №2012725 
>>2012691
Ну так а если у меня все есть?
Аноним 29/04/21 Чтв 15:17:01 #38 №2012765 
>>2012725
Если все есть, то хули ты спрашиваешь? Да, он тебе не нужен.
Аноним 29/04/21 Чтв 16:16:20 #39 №2012838 
Заказывал кто-нибудь и читал новую? https://www.ozon.ru/product/javascript-polnoe-rukovodstvo-flenagan-devid-206611358/
Прочитал пару глав, вроде бы перевод не совсем ебал её рука. А английскую версию сложно читать, потому что мало того, что язык не родной, так еще новые сущности постигать совсем трудно. Вот только не знаю насколько удобно будет такую огромную книгу в руках вертеть, и не лучше ли будет всё таки электронную навернуть?
Аноним 29/04/21 Чтв 16:24:19 #40 №2012852 
Работяги че у вас на проектах для пропсов юзается?
useContext или Connect react-reduxa?

Я и то ито пишу, но щас говорят что хуки для проброса предпочтительнее типо. В реале как?
Аноним 29/04/21 Чтв 16:26:30 #41 №2012855 
>>2012838
>Заказывал кто-нибудь
На торентах лежит, перевод местами хуевый, лучше в ориге читать.
Там помоему опять перевели что то уровня ПРИВЯЗКИ
Аноним 29/04/21 Чтв 17:27:47 #42 №2012897 
=====================================

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

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

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


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

Почему func() сработало, это не функция нихуя, схуя ли она стала функцией.
Аноним 29/04/21 Чтв 17:34:01 #43 №2012906 
>>2012897
>это не функция нихуя
А что это?
Аноним 29/04/21 Чтв 17:48:44 #44 №2012923 
>>2012897
Ну если быть точным, то это переменная, содержащая ссылку на функцию. JS смотрит, что в ссылке, а раз там функция, значит её можно вызвать
Аноним 29/04/21 Чтв 17:50:09 #45 №2012926 
>>2012897
Там вроде со скобочками функция вызывается, а без скобочек можно с ней че-то делать.
Аноним 29/04/21 Чтв 17:50:47 #46 №2012929 
сап анчоусы, кто нибудь что-то знает про московску. галеру postuf ? ссылку на хх сами найдете
у всех разрабов вакансии с вилкой 300-400к + всякие бонусы, на собесе говорят что будет работа в каких то своих проектах. вопросы на тех собесе были обычные мидловские. зазывают очень усердно и настойчиво. из требований которые я выяснил на собесе: не пить не курить,отсутствие татуировок, не носить длинную бороду, не носить длинные волосы. сам про контору накопал что занимается типо white hat хакингом, но типо не на заказ, а делает контент на основе этого статьи на хабре, тик токи, видосы в инсте + то что там большая текучка и мало кто долго прорабатывает т.е. не больше года-полтора. из за чего становится непонятно откуда у них бабки чтобы платить разрабам такие бабосы. аноны, вы что нибудь знаете о ней, стоит ли туда соваться ?
Аноним 29/04/21 Чтв 17:56:47 #47 №2012935 
>>2012897
>let func = sayHi; // (2) копируем
Нет, тут ты ничего не копируешь. Ты кладёшь в переменную func ссылку на функцию sayHi. Всё.
Аноним 29/04/21 Чтв 18:01:14 #48 №2012940 
>>2012923
А, ну тогда другое дело. Так понятно. Спасибо за объяснение.
Аноним 29/04/21 Чтв 18:02:06 #49 №2012941 
>>2012935
Нет. Тут он копирует ссылку на функцию из одной переменной, в другую. Теперь на функцию указывает две независимые ссылки.
Аноним 29/04/21 Чтв 18:03:58 #50 №2012945 
>>2012929
>не пить не курить,отсутствие татуировок, не носить длинную бороду, не носить длинные волосы
Чего нахуй? Ну не пить разве что на рабочем, месте, остальное вообще с чего вдруг высралось?

https://v1.postuf.com/conditions
Пиздец ебанный, все моники повернуты к надзирателю с плёткой. У всех на столах таймеры отсчитывающих время рабства. Я не знаю сколько они там платят, но это какой-то пиздец. Наверное еще палками пиздят каждый час, чтобы держали строй
Аноним 29/04/21 Чтв 18:07:42 #51 №2012953 
>>2012945
https://v1.postuf.com/equality
>Нужно способствовать дисциплине и не допускать злоупотребления правилами, иначе никакого равенства не будет. Не нужно стесняться и думать, что это донос. Это считается доносом только в том случае, если ты и нарушитель не признаете правил и не считаете нужным их соблюдать.
Похоже рабовладелец какой-то пизданутый шиз с манией величия. Охуенная там атмосфера в коллективе наверное
Аноним 29/04/21 Чтв 18:07:49 #52 №2012954 
>>2012945
>У всех на столах таймеры отсчитывающих время рабства
ты это где увидел?
Аноним 29/04/21 Чтв 18:09:11 #53 №2012958 
>>2012954
Пролистай страничку, там панорамное фото, у всех на столах
Аноним 29/04/21 Чтв 18:17:39 #54 №2012964 
>>2012929
Судя по написаному на компам тайм трекеры стоят, уже после этого можно дальше не читать че там. Это архаичный рудимент нулевых, который используют говно конторы. Смотри лучше банковский сектор, в банках щас рост колличества вакансий к прошлому году больше на 50% и зп самые высокие, средняя зп в банках тоже к прошлому году выросла у айтишников. Большая корпортивная культура и не анальные услвлия работы, для вката самое то.
Аноним 29/04/21 Чтв 18:19:25 #55 №2012967 
>>2012964
В банки вышка нужна, анальный дресскод итд.
Аноним 29/04/21 Чтв 18:23:26 #56 №2012972 
>>2012967
Неверная инфа. Работал в тиньке и в альфе.
Аноним 29/04/21 Чтв 18:27:55 #57 №2012979 
>>2012964
А лол, я их вспомнил, эт они на хабре форсили свой клиент телеги с двойным дном, еще просили дурова ответить, кекус. Поднялись однако, там было два разработчика, щас уже целый стартап с неплохими зарплатами, но начальник поехавший.
Хули если бы я свою контору открыл я бы тоже ебанутые требования ввел, всем ходить в розовых поло и пить воду только из бутилированных фаллоиметаторов.
Аноним 29/04/21 Чтв 20:13:17 #58 №2013117 
Стикер
Кто-нибудь пользуется lodash? Он релевантен в 2021 веке? На него есть спрос?
Аноним 29/04/21 Чтв 20:19:57 #59 №2013132 
>>2013117
Все что решает задачу релевантно
Аноним 29/04/21 Чтв 20:58:16 #60 №2013199 
>>2013117
>Он релевантен в 2021 веке?
С какой стати он должен был перестать быть релевантным? Для ебанутого преобразования данных ничего лучше еще не придумали.
Аноним 29/04/21 Чтв 21:39:19 #61 №2013225 
image.png
>>2013117
А чего нет-то? Проекту 2 года. Как видишь, используем lodash хотя бы 1 раз на 2500 строк, лол.
Аноним 29/04/21 Чтв 21:42:16 #62 №2013228 
image.png
>>2013225
Хуевую картинку приложил, вот более информативная.
Аноним 29/04/21 Чтв 22:20:15 #63 №2013260 
>>2013117
>lodash
без знания лодаша и рамды на листочке вкат не возможет )))
Аноним 29/04/21 Чтв 22:48:46 #64 №2013285 
Они уже на полном серьезе обсуждают изучение конкретных библиотек хелперов, как минимально необходимый скилл.
Аноним 29/04/21 Чтв 23:33:56 #65 №2013330 
t
Аноним 29/04/21 Чтв 23:57:01 #66 №2013364 
>>2013117
ramda.js же
Аноним 29/04/21 Чтв 23:57:43 #67 №2013367 
>>2013285
>базовые ФП утилити без которых код в принципе нельзя писать читабельный
>ХЕЛПЕРЫ
Вголос с маньки. Как там, циклы for небось пишешь до сих пор?
Аноним 30/04/21 Птн 00:06:51 #68 №2013371 
Аноны, прошу вашей помощи. Пиздец горит сдать задание, а я никак не въеду в регулярки, времени на это нет. Кто может накидать регу для проверки номера по след условию
> Mobile phone support format 380 + 50|63|66|67|68|91|92|93|97| 96 + 7 digits.
Уверен для сидящих тут профи это на минуту-две.
Аноним 30/04/21 Птн 00:09:30 #69 №2013377 
>>2012447
Изучай стандартную библиотеку ноды, express, потом nest.js + typescript, библиотеки для работы с вебсокетами, базами и очередями, аутентификацию и авторизацию
Аноним 30/04/21 Птн 00:13:00 #70 №2013386 
>>2012654
Там вроде какие-то проблема были с next.js
Аноним 30/04/21 Птн 00:18:41 #71 №2013393 
>>2013371
Так у тебя все написано уже
Аноним 30/04/21 Птн 00:56:59 #72 №2013428 
Хочу начать пет-проект на реакт+нода. Все хочу ебануть в докере. В целом все без докера делал уже и представляю как это работает. Но у докера какой-то ебучий гайд, не могу нормального для дебилов, чтобы на пальцах показали что куда делать.
Аноним 30/04/21 Птн 01:32:37 #73 №2013462 
>>2013428
Ну так докер и не для дебилов вкатывальщиков, а для состоявшихся инженеров.
Аноним 30/04/21 Птн 01:56:12 #74 №2013466 
>>2013367
Это и есть хелперы.
Ты бы это понимал, будь у тебя хоть какой-то опыт.
Аноним 30/04/21 Птн 02:37:58 #75 №2013478 
>>2012852

хуки просто песня. В проекте получилась целая библиотека shared hooks, которые используют context внутри. Запросы к api тоже через hooks с кешированием. Полностью отказались от redux и других state managing libraries.
Через props спускаем только данные для dump components
Аноним 30/04/21 Птн 03:40:28 #76 №2013504 
>>2013478
Sps anon
Аноним 30/04/21 Птн 04:37:36 #77 №2013512 
>>2013428
В докере хуй разберешься блядь по человечески, хотя на деле довольно простая оказалась штука
Аноним 30/04/21 Птн 04:39:22 #78 №2013515 
>>2013478
А что за хуки? Самописные? Есть какой-то гайд по этому делу? не по самописным хукам, а по отказу от стейт менеджеров в пользу хуков
Аноним 30/04/21 Птн 05:04:38 #79 №2013521 
Седня узнал что если на айфоне сохранить, сайт на рпбочий стол и у него есть версия pwa то с рабочего стола закладка открывается не в браузере, а как отдельное приложение, просто ебок задумка. Pwa это будущее
Аноним 30/04/21 Птн 06:03:12 #80 №2013526 
>>2013515
Для вкатывания начинать с оф документации reactjs.org по context api и hooks. Поняв всю мощь комбинации useContext/useState/useRef/useYourOtherCustomHook inside custom hook, можно начинать эксперименты. Тут тебе сразу и свой элегантный аналог DI можно запилить и что душе угодно, ведь получаешь натуральный конструктор
Аноним 30/04/21 Птн 07:55:03 #81 №2013538 
Чтобы осилить Next.js нужно хорошо разбираться в бэкенде? Или это просто типо обертки над реактом и по бэку хватит даже базовых знаний?
Аноним 30/04/21 Птн 08:53:55 #82 №2013564 
Эта строчка создаёт окно типа toast: window.M.toast({html: text})
Но я не понимаю почему там стоит именно M? Я сначала думал, что M это просто название объекта и можно подставить любое значение, поэтому я заменил M на другую букву, но оно не сработало, что означает, что M имеет особое значение, но в Интернете ровно НОЛЬ упоминаний window.M. Кто-нибудь объяснит?
Аноним 30/04/21 Птн 09:07:21 #83 №2013588 
>>2013538
Тебе по беку не нужно вообще никаких знаний. Даже базовых. Там всё на 99% работает как в реакте. Разве что нужно будет условно чекать window например, чтобы на стороне сервера к нему обращения не было. Но ты всё равно об этом сразу узнаешь, посколько в dev режиме у тебя всё будет в ssr рендерится. Единственный заёб, это стейт менеджмент, нужно разделять стор на клиенте и сервере, чтобы на сервере каждый раз новый стор создавался. Но на гитхабе некста есть примеры того, как это сделать
Аноним 30/04/21 Птн 09:09:45 #84 №2013590 
>>2013564
Покажи лучше весь код, у тебя похоже что-то записывается в объект виндов, и потом чтение происходит. По дефолту никакого поля М у виндова нет, можешь в бразуере чекнуть шиз. И вообще что за ебалу ты там делаешь? Читай учебники лучше
Аноним 30/04/21 Птн 09:18:37 #85 №2013595 
>>2013590
export const useMessage = () => {
return useCallback(text => {
if(window.M && text){
window.M.toast({html: text})
}
}, [])
}

Честно говоря, мне главное то, что оно работает, но я пытаюсь понять суть того почему этот код работает. Ты бы кстати молчал про "Читай учебники", я уверен, что значительно начитанее тебя.
Аноним 30/04/21 Птн 09:30:03 #86 №2013602 
>>2013595
Очевидно библиотека какая-то что-то добавляет. Без песочницы твой фрагмент кода ничего не дает
Аноним 30/04/21 Птн 10:19:41 #87 №2013626 
>>2011386 (OP)
Неофит на связи. Пишу через js куки время в секундах каждую секунду для того чтобы передать их в пыху. Но каждое обновление откуда-то берется 2 абсолютно разных времени. Писал и алерты и смотрел в значения куки в бразуерах.
Аноним 30/04/21 Птн 10:20:54 #88 №2013628 
>>2013626
>пыху
Перестал читать на этом моменте.
Аноним 30/04/21 Птн 10:29:59 #89 №2013634 
image.png
Как вам? Хочу написать свою ОС
Аноним 30/04/21 Птн 10:40:27 #90 №2013641 
>>2013634
const printx = { log: console.log, error: console.error };
Аноним 30/04/21 Птн 10:43:26 #91 №2013648 
>>2013564
По дефолту нет никаких M объектов. Подключи правильно либу, и может быть появится.
Аноним 30/04/21 Птн 10:55:25 #92 №2013663 
>>2013371
^380\s?\+\s?(50|63|66|67|68|91|92|93|97|96)\d{7}$
Аноним 30/04/21 Птн 10:58:57 #93 №2013672 
>>2013626
>php
Зашквар и неуважение -1000соц.кредитов.
>Задает вопрос без кода
"Бля, рибята у миня сламалася памахити!!"
Зашквар и неуважение -1000соц.кредитов.
>Неофит
Вкатыши не нужны. И уж тем более во фронте.
Аноним 30/04/21 Птн 10:59:52 #94 №2013674 
Ребятушки, а зачем собственно нужны стрелочные функции? Что они привносят?
Аноним 30/04/21 Птн 11:03:56 #95 №2013681 
>>2013674
Берут this из того места, в котором они объявлены. Могут возвращать результат без указания return. Всё остальное ситуативно
sageАноним 30/04/21 Птн 11:07:12 #96 №2013686 
>>2013672
>Зашквар и неуважение -1000соц.кредитов.
Нихуя себе самомнение у жопаскрип макаки

>И уж тем более во фронте.
Ахахахахахахахахахахаха, блядь
Аноним 30/04/21 Птн 11:07:47 #97 №2013687 
>>2013626
Рака тебе пидорас, спасибо за быстрый дегрод ссд.
Аноним 30/04/21 Птн 11:11:03 #98 №2013691 
>>2013674
Сразу видно человека, который никогда не писал реализацию bind()
Аноним 30/04/21 Птн 11:16:34 #99 №2013694 
2.png
>>Зашквар и неуважение -1000соц.кредитов.
>Нихуя себе самомнение у жопаскрип макаки
>
>>И уж тем более во фронте.
>Ахахахахахахахахахахаха, блядь
Аноним 30/04/21 Птн 11:23:17 #100 №2013700 
>>2013686
>Ахахахахахахахахахахаха
Гикбрейнс и хаудихо сказали? Вкатышь порвался.
Аноним 30/04/21 Птн 11:27:34 #101 №2013701 
Есть сайтец, он грузит данные с сервера и рисует табличку. Я пытаюсь написать юзерскрипт с помощью tampermonkey, который ловит момент загрузки ДОМа и парсит одно из полей таблички, возвращая innerHTML.
Проблема:
Я не могу получить доступ к элементу через querySelector, он всегда возвращает null. Поиск элемента происходит после загрузки страницы вот так:
if (document.readyState == "complete" || document.readyState == "loaded" || document.readyState == "interactive") {
console.log(document.querySelector(".selector"))
}
При этом если поставить сюда вместо лога в консоль алерт, то алерт начнет выполняться еще до того, как табличка прогрузилась (там вметсо нее будет спинер вертеться). Как мне выполнить запрос вовремя и содрать с хитрой таблички данные?
Аноним 30/04/21 Птн 12:01:24 #102 №2013729 
А в js можно полазать по исходникам стандартной библиотеки, как в java или си?
Только начинаю учить js и пока такого термина, как "стандартная библиотека" вообще не встречал.
Аноним 30/04/21 Птн 12:08:50 #103 №2013739 
>>2013701
MutationObserver или вызывай querySelector пока будет не null, лол
>>2013729
Окружение предоставляет «стандартную библиотеку», поэтому открывай исходники браузера/ноды и лазай.
Но лучше не лазай, а учи жс
Аноним 30/04/21 Птн 12:17:03 #104 №2013749 
>>2013701
DOMContentLoaded
Аноним 30/04/21 Птн 12:20:40 #105 №2013755 
>>2013521
Однажды ты узнаешь, что Земля вращается вокруг Солнца.
Аноним 30/04/21 Птн 12:36:06 #106 №2013784 
>>2013749
>DOMContentLoaded
Вообще не стартует из tampermonkey. Видно, что в девтулзе обработчик висит на событие, и видно, что из скрипта, но оно не стартует.
Аноним 30/04/21 Птн 12:38:54 #107 №2013786 
>>2013512
Хорошо, где взять гайд как стать состоявшимся инженером?
>>2013512
Да я о том же, я не девопс, мне не нужно каждую заебульку настраивать. Просто хочу создать отдельное окружение для своего проекта, image или как там его. Сука все же просто в теории. Почему ни одного нормального гайда. Анон, как ты в итоге разобрался в нем?
Аноним 30/04/21 Птн 12:42:08 #108 №2013796 
>>2013628
>>2013672
>>2013687
Нихуя у вас тут ламповое комьюнити, у вас хотя бы нахуй посылают, а вот в шарп треде вообще тишина.
Аноним 30/04/21 Птн 12:50:03 #109 №2013811 
>>2013796
>шарп
Еще не умер?
Аноним 30/04/21 Птн 12:50:37 #110 №2013812 
>>2013796
Иди нахуй, хуесос.
Аноним 30/04/21 Птн 12:54:25 #111 №2013817 
>>2013786
>как ты в итоге разобрался в нем?
Мне нужно было для некста контейнер собрать, у них на гитхабе был пример, оттуда и взял. И уже после этого теперь мне понятно, что я в принципе должен писать в докерфайле. Вообще у них есть примеры неплохие в доках. Проблема моя изначально была в том, что я вообще нахуй не мог понять, что такое докер, и нахуй эти контейнеры нужны. Вообще чем больше я сталкиваюсь с непонятной хуйней, тем больше понимаю, что единственный способ разобраться в чем-то, это: не понимать, не понимать, не понимать, а потом ККААААК ПОНЯТЬ.
Аноним 30/04/21 Птн 12:56:28 #112 №2013818 
>>2013817
Ладно, спасибо, пойду к ним в доки за примерами.
Аноним 30/04/21 Птн 14:02:17 #113 №2013886 
Ant design
Аноним 30/04/21 Птн 14:09:09 #114 №2013895 
>>2013886
hui budesh?
Аноним 30/04/21 Птн 14:54:55 #115 №2013918 
>>2013739
>Окружение предоставляет «стандартную библиотеку»
То есть веб-апи браузера и «стандартная библиотека» это одно и тоже?
Аноним 30/04/21 Птн 15:09:17 #116 №2013936 
>>2013918
Нет.
Аноним 30/04/21 Птн 15:18:34 #117 №2013943 
image.png
Аноним 30/04/21 Птн 15:46:44 #118 №2013959 
Как победить cors двачевского api? Че посоветуете?
Аноним 30/04/21 Птн 15:51:01 #119 №2013966 
>>2013959
>Че посоветуете?
Понять, что такое CORS и не задавать глупых вопросов.
Вкатышь Золотце 30/04/21 Птн 16:19:23 #120 №2014003 
изображение.png
изображение.png
Почему так, блять?!
Вкатышь Золотце 30/04/21 Птн 16:20:01 #121 №2014005 
>>2014003
Уточню, почему с true выходит 4, а с false 3?
Аноним 30/04/21 Птн 16:25:28 #122 №2014015 
изображение.png
>>2014003
>>2014005
Я разобрался. Нахуя в true есть аднерка?
Аноним 30/04/21 Птн 16:25:58 #123 №2014017 
изображение.png
>>2014015
>аднерка
Аноним 30/04/21 Птн 16:28:05 #124 №2014021 
>>2014015
Ты конкатенируешь к булеану число, происходит преобразование типов булеан в число, при это фолс становится нулем, тру становится единицей, соответственно при тру у тебя тру становится 1 + еще три единицы итого 4, а при фолсе он становится нулем и еще три единицы - это 3.
Аноним 30/04/21 Птн 16:29:44 #125 №2014022 
>>2012488
setTimer, дебич
Аноним 30/04/21 Птн 16:29:50 #126 №2014023 
>>2014015
Короче в жс динамическая типизация, при попытке сложить два типа они приводятся к одному, в данном случае к числу, по правилам преобразования тру становится единицей, фолс нулем. Читай лерн жабаскрипт мазафака.
Аноним 30/04/21 Птн 16:30:14 #127 №2014025 
>>2014021
Во-во. А потом носится тут анти-тайпскрип-шиз по треду и орет: АРЯЯЯЯЯЯЯ КОНПЕЛЯТОР УБЛОЖАЕТЕ!
Аноним 30/04/21 Птн 16:31:58 #128 №2014028 
>>2014025
но ведь ты и есть шиз
Аноним 30/04/21 Птн 16:40:28 #129 №2014034 
Классика js тредов, стабильно раз в два треда рвется один неосилятор, от динамической типизации.
Аноним 30/04/21 Птн 16:44:19 #130 №2014043 
>>2014034
Как контролировать батхерт? Учу js неделю и от динамичности дико бомбит.
Аноним 30/04/21 Птн 16:55:25 #131 №2014065 
>>2014043
Не учи. Выбери то, что тебе по силам.
Аноним 30/04/21 Птн 18:47:40 #132 №2014204 
t
Аноним 30/04/21 Птн 18:58:36 #133 №2014228 
>>2014204
y
Аноним 30/04/21 Птн 20:29:12 #134 №2014335 
image
гайс поясните че значит adopt trial assess hold

Hold я так понял что всегда используют
Trial временные технологии
а остальное че?
Аноним 30/04/21 Птн 20:49:58 #135 №2014355 
>>2014335
hold это "остановись, подумой"
Аноним 30/04/21 Птн 21:39:27 #136 №2014417 
q
Аноним 30/04/21 Птн 23:29:16 #137 №2014497 
react
Аноним 30/04/21 Птн 23:54:50 #138 №2014535 
>>2013663
Премного благодарен, анон.
Аноним 01/05/21 Суб 01:13:27 #139 №2014596 
rectal
Аноним 01/05/21 Суб 04:29:26 #140 №2014638 
>>2013526
>>2013478
Охуенно, отказались от стейт-менеджера и теперь у вас на любой пук все чилдрены контекста ререндерятся
Аноним 01/05/21 Суб 04:54:41 #141 №2014648 
>>2014335
Откуда картинка?
Аноним 01/05/21 Суб 04:55:58 #142 №2014649 
>>2014638
Разве рендеринг это не обновление дома? Если изменений не произошло, то реакт ничегр ререндерить не будет в этих компонентах же? А вот что там виртуальный дом шатает, я не знаю при этом
Аноним 01/05/21 Суб 07:44:00 #143 №2014674 
>>2014649
Если не ошибаюсь, то при использовании контекста при изменении данных в контексте запустится ререндер всех потомков контекст провайдера, даже если эти потомки не используют эти данные
Аноним 01/05/21 Суб 08:03:57 #144 №2014682 
16101315321850.png
Пиздос.

Хотел прикрутить тайпскрипт к пет-проекту на вью, и ничего не вышло. Нормально работает только в 80 процентах ситуаций, а в остальных 20 приходится либо ублажать конпелятор, либо лепить ts-ignore. Надо было писать на реакте - он с тайпскриптом работает нормально.
Аноним 01/05/21 Суб 08:44:34 #145 №2014694 
>>2014674
Все верно. Context API не имеет никакого отношения к стейт менеджменту, это тулза для других целей и ее юзать надо с умом.
Аноним 01/05/21 Суб 09:38:28 #146 №2014716 
>>2014694
Просто в понимании даунов стейт менеджмет это только прокидывание глобальных переменных в компоненты.
Аноним 01/05/21 Суб 09:46:24 #147 №2014720 
>>2014682
Просто пиши any везде
Аноним 01/05/21 Суб 09:49:10 #148 №2014724 
>>2014682
Вроде в Vue3 уже лучше поддержку завезли.
Аноним 01/05/21 Суб 10:15:51 #149 №2014745 
>>2014716
Даунов настолько много, что появилась даже такая хуйня - https://github.com/dai-shi/use-context-selector
Аноним 01/05/21 Суб 10:27:46 #150 №2014749 
>>2014724
>Вроде в Vue3 уже лучше поддержку завезли
Завезли (хоть и все равно не полную), только под третью версию пока еще не адаптировали много библиотек.
Аноним 01/05/21 Суб 10:29:10 #151 №2014750 
Пацаны, typescript большой по объему? Дали задание до конца майских (11.05) выучить язык и уже применять в работе. Пока даж описание его не читал. Там как реакт либа, или целый язык как js? Долго там с ним возиться? Js и react уже знаю
Аноним 01/05/21 Суб 10:33:10 #152 №2014754 
>>2014750
Просто пиши везде any
Аноним 01/05/21 Суб 10:36:05 #153 №2014758 
>>2014754
Anya?
Аноним 01/05/21 Суб 10:37:17 #154 №2014760 
16190379373930.png
>>2014750
И эти люди работают в индустрии...
Аноним 01/05/21 Суб 10:39:32 #155 №2014762 
>>2014750
>Дали задание до конца майских (11.05) выучить язык и уже применять в работе.
Они ебанутые? Там только конфиг вебпака будешь перепердоливать неделю. А использование тайпскрипта на проекте, в котором его нет, максимум в >>2014754 выльется.
Аноним 01/05/21 Суб 10:41:34 #156 №2014763 
>>2014760
Работают лохи, я зарабатываю
Аноним 01/05/21 Суб 11:02:33 #157 №2014777 
>>2014762
Че там с вебпаком делать, лоадер прописать лол?
Аноним 01/05/21 Суб 11:03:20 #158 №2014780 
>>2014762
>А использование тайпскрипта на проекте, в котором его нет, максимум в >>2014754 выльется.

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

Проблема в том что для этого нужен чувак который уже шарит в ТС и его настройке, а так с нуля вряд ли выйдет и правда.
Аноним 01/05/21 Суб 11:15:39 #159 №2014790 
>>2014777
>Че там с вебпаком делать, лоадер прописать лол?
Перенести бабелеподобные трансформации, переименовать все файлы, потом во всех этих файлах отловить все критические ошибки тайпскрипта.
Ну или хуярить отдельный энтрипоинт для тайпскриптовской компиляции, который хуй пойми как будет взаимодействовать с основным.
Аноним 01/05/21 Суб 11:22:07 #160 №2014804 
>>2014790
Поехавший, миграция на ТС не происходит "переименовать все файлы". Любой js файл является валидным ts файлом. Ты просто начинаешь переименовывать по очереди и добавлять базовые типы, работая над проектом.
Аноним 01/05/21 Суб 11:31:00 #161 №2014819 
>>2014804
>Любой js файл является валидным ts файлом.
Найс мантра, вот только js файлы уже прогоняются через бабель, который несовместим с тайпскриптом. Впрочем для конторки уровня "пиши в проекте на тайпскрипте через полторы недели" прогонять код через две транспиляции и так сойдёт.
Аноним 01/05/21 Суб 11:49:55 #162 №2014848 
изображение.png
>>2014819
>пиши в проекте на тайпскрипте через полторы недели
Я написал своей первый тайпскрипт код в 16 лет.
Мимо руководитель конторы.
Аноним 01/05/21 Суб 11:56:51 #163 №2014861 
как же понимать.mp4
>>2014763
Аноним 01/05/21 Суб 11:58:41 #164 №2014867 
дiд 2.mp4
>>2014861
Аноним 01/05/21 Суб 12:02:03 #165 №2014873 
Кадык вырву.mp4
>>2014867
Аноним 01/05/21 Суб 12:04:13 #166 №2014875 
>>2014819
Через вебпак больше чем 2 транспиляции проходит. Да, сначала тс для транспиляции с тс в джс, потом бабель для рантайм генераторов и подобного, в сложных проектах и больше лоадеров висит в конфиге.
Аноним 01/05/21 Суб 12:05:04 #167 №2014878 
дiд.webm
>>2014873
Аноним 01/05/21 Суб 12:05:39 #168 №2014879 
э.mp4
>>2014878
Аноним 01/05/21 Суб 12:10:59 #169 №2014887 
Стоит переходить на жс или продолжать сидеть на жанге
Аноним 01/05/21 Суб 12:25:20 #170 №2014897 
Пизда, как волнение перебороть перед собесом?
В реале всегда такой уверенный титан непоколебимый, а тут встал вопрос устройства на новую работку, прочитал что там будет собес в стиле FAANG и у меня чет яички немного вжались.
Понимаю что нужно похуистически отнестись к собесу, и отвечать на похуй - что бы было все на расслабоне, я так и планирую.
Но томительное ожидание перед собесом повышает градус волнения. Буквально каждую секунду начал ощущать которая приблежает меня к собесу.
Аноним 01/05/21 Суб 12:47:14 #171 №2014917 
>>2014897
Садишься, закрываешь глаза и минут 20 представляешь в самом наихудшем кошмаре, как ты проваливаешь это собеседование. Если ты будешь делать все правильно (т е не будешь давать себе поблажек в этих вымышленных ситуаиях), то к концу времени ты должен заметить: что твой мозгу надоест об этом думать и он будет пытаться смещать внимание на другие проблемы или интересные вещи и что ты стал более спокойным. Ты должен осознать, что ты принял полностью ситуацию, что ты придешь и обосрешься так сильно как никогда раньше и тебе в целом норм.
Аноним 01/05/21 Суб 12:54:42 #172 №2014923 
>>2014917
Точно анончик, спасибо. Как-то раз уже использовал такую технику, представляешь самое худшее что может случиться, много об этом думаешь и вот в реале все не так уж страшно получается. В какой-то книге давно читал этот лайфхак. Спасибо!
Аноним 01/05/21 Суб 13:59:24 #173 №2014958 
>>2014887
Не лезь дебил, там сейчас каждый фреймворк как отдельный язык
Аноним 01/05/21 Суб 14:05:16 #174 №2014963 
>>2014897
Включаешь прям на собесе с внешних колонок Death Grips и игноришь все просьбы сделать музыку потише.
Аноним 01/05/21 Суб 14:36:54 #175 №2014994 
>>2014963
Я бы с радостью, так ведь пидорнут со словами - токсичный неадекват.
Аноним 01/05/21 Суб 15:21:20 #176 №2015039 
>>2014994
Это главный недостаток данного подхода
Аноним 01/05/21 Суб 15:32:56 #177 №2015053 
Безымянный.png
Привет аноны, пол года зубрю js но к сожалению упёрся в потолок. Если по началу было как-то интересно всё это, то уже спустя некоторое время - начал замечать за собой насильную зубрёжку, отдых не помогает, а отвлечение только подгорает внутреннее беспокойство, что время уходит. Пробовал себя на разных "бесплатных тестах и задачках" но без объяснения происходящего - вся информация просто вылетает спустя 2-3 минуты. Потому решил записаться на курсы, пусть может "дядя" придаст мне стимул, так как мне проще работать в команде. И вот я нашёл один через гугл, и мне показался он слишком подозрительным, что-то бьёт тревогу и говорит "Лучше туда не лезь". Добрый анон подскажи: 1) Как снова включиться в изучение 2) Как тебе идея с курсами? 3) Как тебе такой курс от mate academy? Прилагаю скриншот прайса, олсо они ещё требуют 4К долларов, если не в "кредит"
Аноним 01/05/21 Суб 16:03:15 #178 №2015113 
>>2015053
lohkok
Аноним 01/05/21 Суб 17:03:06 #179 №2015179 
>>2011386 (OP)
Всем привет. Чуть больше 3х лет работаю формошлепом, хочу углубиться в CS и получить "минимум разработчика", который в теории получают студенты IT - шных направлений. В первую очередь апнуться в классических алгоритмах/структурах данных и паттернах проектирования, так как с этим так или иначе приходится сталкиваться в работе. Кто знает - посоветуйте пожалуйста книги по означенным темам, идеально, если для реализации примеров будет использоваться js/псевдокод, вникать в Паскали - Джавы не хочу. Трехтомники Кнутов на 3000+ страниц так же прошу не предлагать.
Аноним 01/05/21 Суб 17:13:16 #180 №2015200 
>>2015179
https://www.ozon.ru/product/struktury-dannyh-i-algoritmy-146814389/
Аноним 01/05/21 Суб 17:23:06 #181 №2015211 
>>2015200
> Pascal
Нахуй, лучше уж тогда Вирта наверну
Аноним 01/05/21 Суб 17:30:45 #182 №2015219 
>>2015211
Это псевдокод. Паскаль ты по этой книге не изучишь. Эт вообще известная фундаментальная книжка, от авторов другой известной книжки по компиляторам. Тебе надо на русском нач цкл кон цкл? Есть такая для школьников https://www.litres.ru/d-m-zlatopolskiy/programmirovanie-tipovye-zadachi-algoritmy-metody-6509134/
Аноним 01/05/21 Суб 18:02:04 #183 №2015317 
FOIFgksq3z.png
Как так то?
Аноним 01/05/21 Суб 18:15:37 #184 №2015341 
>>2015317
На нпм забанили?
Аноним 01/05/21 Суб 18:21:10 #185 №2015362 
16164476488950.jpg
>>2015053
За полгода можно не то что джс выучить, а реакт свой написать на нем с блекджеком и шлюхами.

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

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

Это хардкор материал, но я к тому что самостоятельное изучение и возможные курсы это часть "быть программистом". Поэтому если ты за полгода не понял что происходить, то возможно это просто не твое. Особенно если "насильная зубрежка" есть. У меня 5 лет работы и я не помню чтобы хоть раз насильно что-то учил. Тебе либо интересно понять как работает и как писать код, либо нет.
Аноним 01/05/21 Суб 18:22:49 #186 №2015369 
>>2015219
Сорян, возможно описание жопой прочел. А по паттернам можешь что нибудь посоветовать?
Аноним 01/05/21 Суб 20:15:59 #187 №2015549 
js
Аноним 01/05/21 Суб 20:30:31 #188 №2015588 
Напомню для даунов

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

Redux это функциональный, математический, чистый подход (Update монада). Все остальное лишь попытки накостылить стейт менеджмет для зумеров, чтобы им не было СЛОЖНО.
Аноним 01/05/21 Суб 20:42:19 #189 №2015628 
>>2015588
Я не зумер и мне в целом нравится редакс, но почему в нем нужно везде вручную делать мемоизацию селекторов чтобы не было лишних ререндеров? В мобиксе это встроено из коробки, и в vuex тоже
Аноним 01/05/21 Суб 20:46:30 #190 №2015645 
>>2015588
>Redux это функциональный, математический, чистый подход
Набор религиозных мантр типичного фп-шизоида, без единой попытки обосновать их "хорошесть" в данном контексте, да и вообще в любом контексте.
>Все остальное лишь попытки накостылить стейт менеджмет для зумеров, чтобы им не было СЛОЖНО.
Расскажешь, почему сложный подход лучше простого и почему ты в таком случае пишешь на высокоуровневом языке, а не дрочишь байты на ассемблере, что в сто раз СЛОЖНЕЕ?
Аноним 01/05/21 Суб 20:49:00 #191 №2015650 
15696975710193.jpg
>>2015588
>функциональный, математический, чистый подход
Это когда для поиска одного элемента перебираешь весь массив?
Аноним 01/05/21 Суб 20:50:39 #192 №2015655 
>>2015628
Это проблема Реакта, а не редакса.>>2015645
Аноним 01/05/21 Суб 20:53:06 #193 №2015660 
>>2015645
>Набор религиозных мантр типичного фп-шизоида, без единой попытки обосновать их "хорошесть" в данном контексте, да и вообще в любом контексте.
Что обосновывать? Плюсы те же, что и во всем фп - надежность, экспрессивность, скалируемость и читаемость кода. Лучше объясни хорошесть магический реактивных переменных мобкса.

>Расскажешь, почему сложный подход лучше простого и почему ты в таком случае пишешь на высокоуровневом языке, а не дрочишь байты на ассемблере, что в сто раз СЛОЖНЕЕ?
Когда простота ухудшает кодовую базу, ничего хорошего в ней нет тоже. Должен быть баланс. Тут дело как раз в том, что зумеры подсели на иглу ЧТОБЫ ПРОЩЕ И МЕНЬШЕ "БОЙЛЕРПЛЕЙТА", а потом мы имеем портянки из говнокода на реакте.
Аноним 01/05/21 Суб 20:57:40 #194 №2015670 
>>2015660
>Плюсы те же, что и во всем фп - надежность, экспрессивность, скалируемость и читаемость кода
Опять набор религиозных безосновательных мантр, да еще и идущих вразрез с реальностью, в которой ФП-языки даже со всем хайпом до сих пор находятся в жопе по использованию.
>Когда простота ухудшает кодовую базу, ничего хорошего в ней нет тоже
"Когда код ухудшает кодовую базу, ничего хорошего в нем нет". Охуенное откровение, шизло, но твоя изначальная позиция ничего ни про какое ухудшение не говорила, а просто атаковала простоту используемого кода как таковую.
Аноним 01/05/21 Суб 21:00:43 #195 №2015673 
>>2015655
Почему в мобиксе решили эту проблему, а при работе с редаксом надо на каждый пук писать селекторы на реселекте? Утомляет куча бойлерплейта
Аноним 01/05/21 Суб 21:01:23 #196 №2015675 
photo2020-09-1511-03-00.jpg
>>2015670
>Опять набор религиозных безосновательных мантр
"Мантры" обоснованы теорией категорий и пруфабельностью кода, так что твои гавканья (как и вообще любые наезды на функциональщину) идут мимо.

>а просто атаковала простоту используемого кода как таковую.
А ФП код еще проще, если понимать основы Я говорю именно про дебилизацию кода, которая автоматом несет за собой ухудшение его качеств.
Аноним 01/05/21 Суб 21:01:32 #197 №2015676 
>>2015660
Ты ответь в чём прикол писать громоздкие селекторы на каждый пук чтобы не было лишних ререндеров?
Аноним 01/05/21 Суб 21:07:21 #198 №2015684 
>>2015673
Потому что мобикс больше подходит для неоптимизированного реакт кода, где каждый пук вызывает ненужный ререндер. Я не зря упомянул его на 2 месте после Редакса - я думаю для Реакта мобикс это дефолтный выбор для мелкопроектов, не поймите меня неправильно. Я лишь защищаю Редакс как ФП паттерн, на который гавкают зумеры, не понимая зачем он и как его использовать.

>>2015676
А я тебе говорю, что это проблема байндингов Редакса к Реакту и в Реакте как таковом, к самому паттерну это не имеет никакого отношения. Селекторы сами по себе даже не часть Редакса - это просто логическое продолжение его использования. А реселект накостылен вообще, вместо того чтобы нормально сделать через Reader монаду, оттуда и бойлерплейт.
Аноним 01/05/21 Суб 21:11:22 #199 №2015691 
>>2015675
>"Мантры" обоснованы теорией категорий и пруфабельностью кода
Ты можешь хоть обпруфабиться себе в штаны, но математически доказать работоспособность программы нельзя. Тот факт, что на бумажке твой код куда-то сходится, ни слова не говорит о работоспособности реально выполняемой программы, это две абсолютно разные категории, и только ФП-шизик может между ними ставить знак равно.
>А ФП код еще проще, если понимать основы
Объективно нет. Мутабельный цикл понять в сто раз проще, чем редьюс или боже упаси антипаттерн под названием рекурсия. Хоть обосрись со своим "ДА ТИ ПРОСТА ФП НИЗНАЕШЬ, Я КАЖДЫЙ ДЕНЬ РЕКУРСИИ РАЗМАТЫВАЮ КАК ОРЕШКИ", но факт останется фактом: последовательность команд человеческому мозгу воспринять проще.
Аноним 01/05/21 Суб 21:16:32 #200 №2015698 
>>2015691
>но математически доказать работоспособность программы нельзя
Ну тебе виднее, как скажешь.

>Объективно
Ясно

>Мутабельный цикл понять в сто раз проще
Сразу видно нуба без опыта. Мутабельный цикл каждый индус сделает по-разному, делая абсолютно разные операциии внутри него (или что еще хуже, вместе с какими-то сайд эффектами) и тебе придется каждый цикл разбирать как работает. С редьюсом выучив что такое редьюс ты мгновенно поймешь что код делает, потому что низкоуровневая итерация спратана.
Аноним 01/05/21 Суб 21:23:59 #201 №2015708 
>>2015698
>Мутабельный цикл каждый индус сделает по-разному, делая абсолютно разные операциии внутри него
> С редьюсом выучив что такое редьюс ты мгновенно поймешь что код делает
ФП-шиз, расскажи, какое такое магическое свойство редьюса предотвращает индуса от выполнения всех тех же операций внутри редьюсер-функции, которые он выполнил бы в теле цикла?
Аноним 01/05/21 Суб 21:35:20 #202 №2015735 
>>2015708
А если индус знает слово редьюс, то он достаточно образован, чтобы не делать магических операций в теле функции. Если бы каждого индуса-кодера обучили ФП, качество кода стало бы в разы чище. Меньше маневра сделать так чтоб работало, но наговнокодить.

Но все это неважно, когда-нибудь с опытом ты сам всё поймешь. Пока можно набивать руку и говнокодить императивные портянки, благо спрос есть.
Аноним 01/05/21 Суб 21:38:33 #203 №2015740 
>>2015684
Ну в итоге байндинги у нас только одни, и используя реакт с редаксом в любом случае придется писать селекторы иначе будут лишние ререндеры
Аноним 01/05/21 Суб 21:44:20 #204 №2015746 
>>2015735
>А если индус знает слово редьюс, то он достаточно образован, чтобы не делать магических операций
"Если индус знает о боге, то он достаточно образован, чтобы молиться каждый день, и это доказывает полезность молитвы"
>когда-нибудь с опытом ты сам всё поймешь
"Когда-нибудь сам поймешь, что бог есть, а пока оставайся в заблуждении"

Ожидаемая "аргументация" от религиозного ФП-шизика.
Аноним 01/05/21 Суб 21:49:33 #205 №2015761 
>>2015735
>А если индус знает слово редьюс, то он достаточно образован, чтобы не делать магических операций в теле функции
Тебя спрашивают, чем редьюс лучше цикла, а ты говоришь, что редьюс оказывается нужен не потому что он лучше цикла, а потому он якобы приходит вместе с сокровенным знанием о том, как писать код. Кто ты, если не шизик?
Аноним 01/05/21 Суб 21:50:48 #206 №2015763 
>>2015746
Можно подумать с твоей стороны была какая-то аргументация кроме "ФП-шиза" и "объективно" (лол), я лишь высказываю свою точку зрения основываясь на опыте. Почитай книги по разработке ПО, по ООП, ФП, по архитектуре больших систем, поработай мидлом хотя бы на крупных проектах и будут тебе пруфы и аргументация.
Аноним 01/05/21 Суб 21:54:53 #207 №2015774 
>>2015761
Я сказал чем редьюс лучше цикла (и производные от него как map, filter, fold) - ты скрываешь реализацию и фокусируешься на том что ты хочешь сделать. Обычный цикл нужно каждый раз читать, ведь неизвестно фильтруешь ты там что-то, вызываешь функцию над элементами или вообще запросы к базе данных делаешь. Вот и всё.

Конечно, вкатывальщикам кажется что более читабельный и проще обычный цикл - потому что они не работали над большими проектами или с комплексной бизнес логикой, где за for по рукам могут дать.
Аноним 01/05/21 Суб 21:55:45 #208 №2015776 
>>2015763
Но ведь это ты пришел в тред и начал высыпать набор безосновательных мантр про "функциональность математику чистоту надежность читаемость", тебе эти мантры и нужно доказывать, раз уж заикнулся. Тот факт, что ты абсолютно ничего в их защиту не сказал за 10 постов, кроме "почитай книжки умные и поработай, тогда и поверишь в моего бога, а пока ты недостаточно просвещен", очень многое демонстрирует.
Аноним 01/05/21 Суб 21:57:17 #209 №2015781 
>>2015774
>ты скрываешь реализацию и фокусируешься на том что ты хочешь сделать
А в цикле ты на чем фокусируешься, на мамке твоей?
>Обычный цикл нужно каждый раз читать, ведь неизвестно фильтруешь ты там что-то
А магические редьюс-функции не нужно читать, они отпечатываются прямо в мозгу и ты знаешь, что в них происходит.
Аноним 01/05/21 Суб 22:37:14 #210 №2015816 
Жабаны, хочу наговнякать быстренько два де игру на жеесе, чтобы сохранять можно было пыхой в бд. Простого канваса для этого достаточно будет?
Аноним 02/05/21 Вск 04:56:17 #211 №2016000 
Почему нельзя использовать шаблонные строки 24/7? Они же намного удобнее, так зачем нужны кавычки если можно всегда писать с ` ` ?
Аноним 02/05/21 Вск 05:32:56 #212 №2016005 
>>2016000
С экранированием будут проблемы. Да и вопрос мена тупой, надо использовать по ситуации, это вариативный инстр
Аноним 02/05/21 Вск 06:24:39 #213 №2016012 
>>2016000
Нахуй они нужны без интерполяции?
Аноним 02/05/21 Вск 06:35:13 #214 №2016019 
>>2016000
>Почему нельзя использовать шаблонные строки 24/7?
А поддерживать IE11- и браузеры 2014 года кто за тебя будет, Пушкин?
Аноним 02/05/21 Вск 06:39:25 #215 №2016020 
>>2016019
Пользователи IE11, который даже сама майкрософт уже не поддерживает, будут жрать распухший бандл бабеля.
Аноним 02/05/21 Вск 07:03:23 #216 №2016026 
>>2016019
бабель будет это всё делать, с ума сошел там весь код кроссбраузерить руками?
Аноним 02/05/21 Вск 07:39:39 #217 №2016045 
>>2016019
ебать ну пользователям ие11 и браузеров 2014 года лучше вообще интернетом не пользоваться
Аноним 02/05/21 Вск 07:44:35 #218 №2016048 
>>2015053
>Привет аноны, пол года зубрю js но к сожалению упёрся в потолок.
Че там полгода зубрить-то? Кантор за месяц ковыряния в носу прочитывается. Остальное добивается практикой.
Вот как я js учил:
Играл в игру: Divinity original sin 2\Dark souls 1, когда заебывало, я выключал и читал кантора до тех пор, пока не заебет читать, потом опять играл в игру и так по кругу весь день (спасибо за клиповое зумерское мышление блять). В итоге за 3 недели осилил весь учебник и перешел на фреймворки.
Аноним 02/05/21 Вск 07:54:24 #219 №2016054 
>>2016048
Двачую. Надо не читать через силу, а то хуйня будет полная. Заебало – отдохнул, надоело – пошёл учить.
Аноним 02/05/21 Вск 08:13:08 #220 №2016060 
>>2016054
Да, должно быть интересно. Я вот вчера снова второй диван поставил. Думал, буду играть и в перерывах кодить пет. В итоге почти не играл, потому что писать код для оказалось интереснее, особенно когда затыков на ровном месте нет. Хз как чел, который не смог js за полгода осилить, собирается работать. Это же квинтэссенция неинтересности получится, когда не хочется + лень + заебало.
Аноним 02/05/21 Вск 08:13:59 #221 №2016061 
>>2016060
>особенно когда затыков на ровном месте нет
Вот это вообще ужас, всю мотивацию убирает.
Аноним 02/05/21 Вск 08:20:00 #222 №2016062 
>>2016061
Ну так решение затыка это сразу +1000 к мотивации, не? Я вот по два дня ебусь, потом сюда пощу, меня носом тыкают в то, что я где-то две скобки не поставил, так потом сразу охуенная мотивация появляется кодить и ебашить, возникает удовлетворение от того, что задача решена.
Аноним 02/05/21 Вск 08:23:01 #223 №2016063 
>>2016062
Да, конечно. Но вот бывает проблема в том, что ты сам тупой и не можешь подумать и сделать план решения. Пиздец, вот у меня лично такая хуйня и я еле-еле справляюсь с ней. Проблема не в незнании синтаксиса, а ебаном сдвг.
Аноним 02/05/21 Вск 08:59:12 #224 №2016072 
hooks в реакте всегда должны быть на top level? Т.е. не дефолтные хуки реакта, а вообще любые. Инфа по встроенным в доке есть, но из неё не понятно, относится ли это к использованию любых хуков вообще или только реактовских.
Аноним 02/05/21 Вск 09:00:14 #225 №2016073 
>>2016063
>Проблема не в незнании синтаксиса
Синтаксис это хуйня, инструмент. Тут решает логическое и математическое мышление, при решении конкретной задачи.
Аноним 02/05/21 Вск 09:05:00 #226 №2016079 
>>2016073
Вот а я о чём, проблема в мышлении. Не знаю что делать с этим.
Аноним 02/05/21 Вск 09:11:27 #227 №2016087 
>>2016079
Тренировать мышление.
Займись математикой, алгоритмами, больше программируй, решай задачи на codewars, leetcode.
Аноним 02/05/21 Вск 09:12:08 #228 №2016089 
>>2016073
И потом такой маняматик хранит переменную в глобальном скоупе. Ну а чё, синтаксис это ж хуйня.
Аноним 02/05/21 Вск 09:13:14 #229 №2016091 
>>2016089
>И потом такой маняматик хранит переменную в глобальном скоупе
Долбоеб, объясни мне, как фундаментальные знания исключают узкие вроде того, что глобальные переменные это плохо?
Аноним 02/05/21 Вск 09:20:29 #230 №2016099 
>>2016087
Кстати, вот насчёт этого. Что-то я не понял почему в глобалке хранить плохо, всё равно же всегда в локалку уходит всё. У меня ни разу не было конфликтов такого вида.
Аноним 02/05/21 Вск 09:59:06 #231 №2016125 
Если undefined то inherit, если false значит off, если number значит включить по количеству.
Аноним 02/05/21 Вск 10:03:39 #232 №2016127 
>>2016091
>как фундаментальные знания исключают узкие вроде того, что глобальные переменные это плохо?
Без знания синтаксиса ты даже не поймёшь, что запихнул переменную в глобальный скоуп.
>>2016099
Так в туду листе и не будет конфликтов. Проблемы с глобальными переменными всплывают намного позже, когда даже разработчик, который эту переменную запихнул, уже не участвует в проекте.
Smooshgate - типичный результат засирания глобал скоупа.
Аноним 02/05/21 Вск 11:05:10 #233 №2016152 
image.png
Как сделать подобные Card.Body, Card.Img в компоненте реакта?
Аноним 02/05/21 Вск 11:36:04 #234 №2016177 
>>2016152
Функция с полями
Аноним 02/05/21 Вск 11:39:13 #235 №2016180 
>>2016177
Звучит, как что-то сложное. Есть пример?
Аноним 02/05/21 Вск 11:40:05 #236 №2016181 
Qqq
Аноним 02/05/21 Вск 11:49:56 #237 №2016185 
>>2016180
function Card() {}
function CardBody() {}
Card.Body = CardBody

Если тайпскрипт то мержишь function и namespace
Аноним 02/05/21 Вск 11:56:51 #238 №2016189 
>>2016185
А если Card будет классом, это не сработает?
Аноним 02/05/21 Вск 11:57:25 #239 №2016190 
const-пидоры здесь?
Аноним 02/05/21 Вск 12:01:46 #240 №2016191 
>>2016190
const вроде как нельзя изменять, но когда я пишу в редакторе const то я могу спокойно его изменить на let либо var.
Аноним 02/05/21 Вск 12:02:07 #241 №2016192 
>>2015588
Двачую.
Аноним 02/05/21 Вск 12:04:30 #242 №2016194 
>>2015660
Под кроватью зумерков поизи, шиз
Аноним 02/05/21 Вск 12:06:37 #243 №2016195 
>>2016189
Сработает, здесь все рассчитано на то что классы это функции, а функции это объекты, а у объектов есть поля
Аноним 02/05/21 Вск 12:11:52 #244 №2016197 
Пацаны, а как получить доступ к shadowRoot?
Аноним 02/05/21 Вск 12:35:56 #245 №2016207 
>>2016195
Определил класс, определил функцию и привязал её к классу Card.Body = Body

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

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

было понятно, что foo — относится именно к Card.Body, хоть и есть в Card.children?
Аноним 02/05/21 Вск 13:02:31 #246 №2016239 
>>2016207
>{this.Body()} не работает
bodyEl = Children.toArray(children).find((x) => x.type === Body);
Или сделай <Card body={<Card.Body />} />, тогда можно будет props.body

>какие аргументы передать функции
Никакие, foo и так в bodyEl.props.children
Аноним 02/05/21 Вск 13:29:02 #247 №2016262 
image.png
>>2016072
Что ты подразумеваешь под top-level? Типа обязан ли ты всегда дергать хуки только в стековом кадре компонента? Нет, вложенность может быть любой. Вызовы хуков "привязаны" под капотом к инстансу компонента.
Аноним 02/05/21 Вск 13:37:12 #248 №2016268 
>>2016239
Всё, кажется я тебя понял. Написал в файле 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} в компонент. Всё взлетело, спасибо большое, анон.
Аноним 02/05/21 Вск 13:42:05 #249 №2016269 
>>2016268
Хотя, конечно, пустые функции — это странно и немного смущает.
Аноним 02/05/21 Вск 13:45:06 #250 №2016272 
>>2016262
Ну т.е. у тебя порядок хуков не меняется ведь в рамках одного компонента. Вот хотел узнать, может ли само создание хука быть условным хоть в каком-то виде? Но судя по всему нет. И даже если он при каких-то условиях не используется, то создан должен быть всегда?
Аноним 02/05/21 Вск 13:49:10 #251 №2016275 
>>2016272
>Вот хотел узнать, может ли само создание хука быть условным хоть в каком-то виде?
Просто так писать if (something) { useEffect() } нельзя, потому. Ты можешь либо перенести условие внутрь хука, либо вынести хук в отдельный компонент, то есть something && <MyComponentWithUseEffect/>
Аноним 02/05/21 Вск 13:50:44 #252 №2016276 
>>2016272
И вообще поставь себе eslint с react-hooks/rules-of-hooks правилом и все.
Аноним 02/05/21 Вск 13:51:56 #253 №2016280 
>>2016275
Я пока не дошёл до хуков вообще, поэтому для меня это магия.
Аноним 02/05/21 Вск 13:56:32 #254 №2016286 
>>2016269
Ну это же маркер слота, у функции есть имя и на этом ее миссия выполена.
В Body и Title ты можешь сделать `return children`, тогда у тебя не будет пустых функций и не придется делать .props.children в Card
Аноним 02/05/21 Вск 13:58:05 #255 №2016288 
>>2016280
Реакт знает, какой компонент рендерится в данный момент, и когда происходит первый вызов хука, он сохраняет этот хук и его стейт в некий глобальный контейнер с привязкой к компоненту. Когда хук вызывается во второй раз, реакт идет в этот глобальный контейнер и достает оттуда на каждый вызов по очереди все хуки, вызванные для этого компонента в первый раз. Если ты поменяешь очередность вызова хуков, то реакт не сможет однозначно определить, какому хуку принадлежит какой стейт и все сломается нахуй, в useState тудушек попадет useState пользователей и так далее.
Аноним 02/05/21 Вск 14:01:12 #256 №2016293 
>>2016286
Ну вот про маркер слота я понял, так как сперва попытался в Card.Body впихнуть 'Title', но оно заработало не так, как ожидалось.

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

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

>>2016288
В общем, время читать и осознавать хуки настало, иначе дальше пизда.
Аноним 02/05/21 Вск 14:04:13 #257 №2016296 
>>2016276
>И вообще поставь себе eslint с react-hooks/rules-of-hooks правилом и все.
Он стоит, но ругается так только на базовые реактовские хуки. На хуки библиотек нет, но вот сдается мне, что так лучше не делать.
>>2016275
Да вот видимо так и придется сделать
Аноним 02/05/21 Вск 14:06:50 #258 №2016300 
>>2016296
>Он стоит, но ругается так только на базовые реактовские хуки.
Он ругается на все, что начинается с use, плюс есть несколько дополнений для стандартных реактовских хуков(проверка массива зависимостей для useEffect/useMemo, не нужно указывать setState и рефы в массиве зависимостей, потому что он знает что они не изменятся и т.д). А условные рендеры любых хуков выдают ошибку без вариантов.
Аноним 02/05/21 Вск 14:10:49 #259 №2016305 
>>2016268
Зачем ты перебираешь дочерние компоненты? Порядок компонентов - это ответственность того, кто твой компонент использует, как ему нужно, так пусть и рендерит. А если тебе в дочерний компонент нужно передать какой-то стейт, то это делается через контекст, а не через перебирание и переписывание пропсов.
Аноним 02/05/21 Вск 14:14:01 #260 №2016310 
>>2016305
Чтобы вставить их в правильное место в html. Как лучше тогда это сделать? this.props.children[0]?

Мне нужно, чтобы значение тайтла попадало в одно место, а значение бади в другое.
Аноним 02/05/21 Вск 14:18:14 #261 №2016312 
>>2016310
>Чтобы вставить их в правильное место в html
Что значит "правильное место"? Если у тебя внутри Card есть какие-то элементы-обертки, внутри которых и должны рендериться Card.Title и Card.Body то по-хорошему эти элементы тоже должны быть частью публичного API, а не скрытой внутри неожиданной магией.
Аноним 02/05/21 Вск 14:24:09 #262 №2016317 
Почему Nodejs вакансии одно говно, даже на пхп нормальные бывают чисто бек хуйлоад патерны хуяторны.
Аноним 02/05/21 Вск 14:24:22 #263 №2016318 
>>2016312
Например так:

<div> //Контейнер для карточки
<div> //Контейнер для хедера карточки
{title}
<button>+</button>
</div>
{body}
</div>
Аноним 02/05/21 Вск 14:30:07 #264 №2016323 
image.png
>>2016318
Ну так и передавай их сразу пропсами.
Аноним 02/05/21 Вск 14:32:28 #265 №2016327 
>>2016323
body получается слишком огромным пропсом. Я думал, чтобы объявлять body в переменной и потом передавать в качестве пропса, но вариант с <Card.Body> внутри самой карточки выглядит лучше.
Аноним 02/05/21 Вск 14:37:45 #266 №2016332 
>>2016327
Что значит "слишком огромным"? Передавать объект в пропсах или в children - это одно и то же, но вытащить конкретный нужный тебе объект из пропсов гораздо проще и удобнее, чем перебирать массив children, да еще и с проверкой по текстовому имени элемента.
Аноним 02/05/21 Вск 14:41:10 #267 №2016337 
image.png
>>2016332
Например в бади нужно указать форму, плюс контролы к ней. И это уже выглядит достаточно громоздко, чтобы объявлять это отдельно, а не просто записать внутри тега <Card.Body>.

Плюс у меня ещё верстальческое мышление, мне удобнее было бы держать всё, как на пике, а не объявлять где-то отдельные переменные.
Аноним 02/05/21 Вск 14:43:50 #268 №2016341 
>>2016337
Нужно больше компонентов
Аноним 02/05/21 Вск 14:44:02 #269 №2016342 
В чём вообще разница между объявлением и выражением функции, которые по сути, просто создаются, никуда не передаются, не являются коллбеками?

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

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

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

Принципиальные различия только в этом? Можно всегда пользоваться вторым вариантом? Ууу сука блядь
Ну и разумеется, если пользоваться вторым вариантом, то всегда можно и стрелочную вместо неё хуярить, пока тебе this не понадобится, аргументс нахуй не нужны, тогда вопрос уже вообще теряет всякий смысл, потому что они всё равно будут отличаться, но уже по другой причине.
Аноним 02/05/21 Вск 14:44:53 #270 №2016345 
image.png
>>2016337
Не благодари.
Аноним 02/05/21 Вск 14:47:06 #271 №2016347 
>>2016342
>Нахуй второе нужно вообще?
Не нужно, это вопрос стиля, и "объявление именованной функции" без вариантов читается лучше, чем "объявление переменной и запись в нее функции".
Аноним 02/05/21 Вск 14:49:28 #272 №2016350 
>>2016347
А как же подводная защита от перезаписи конста?
Почему всегда не использовать стрелочную вообще? Читается пизже
Аноним 02/05/21 Вск 14:52:45 #273 №2016355 
>>2016350
>А как же подводная защита от перезаписи конста?
Ты охуеешь, но если тебе не нужно переписывать переменную, то не переписывай и надуманная проблема констошизиков решена. Две функции с одинаковым именем ты и так объявить не можешь.
>Почему всегда не использовать стрелочную вообще? Читается пизже
Спорное заявление, по-моему пизже читается когда ты открыто и без сомнений пишешь мужское function, объявляя всему миру, что ты альфач и только что объявил ФУНКЦИЮ, а не дрочишь втихую как омеган переменные и анонимные стрелочки.
Аноним 02/05/21 Вск 14:54:57 #274 №2016357 
>>2016345
Дичь какая-то. В чем проблема перебирать дочерние элементы, как сделал я?
Аноним 02/05/21 Вск 15:00:05 #275 №2016359 
image.png
image.png
>>2016357
В том, что твоя реализация будет выглядеть как пик 1, а моя как пик 2. Делают они то же самое, но 1) моя проще 2) моя не полагается на проверку текстового имени 3) моя не прячет тот факт, что порядок дочерних элементов на самом деле значения не имеет 4) у моей есть явно объявленное публичное API, а не спрятанные внутри переборы непонятно чего.
Аноним 02/05/21 Вск 15:02:31 #276 №2016361 
>>2016350
Зато дебажится сложнее, функции анонимные в дебагере. Но конечно стрелочная функция удобней и ближе к матанской записи, что удобно в функциональщине.

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

сравни с

function add(x) {
return function(y) {
return x + y;
}
}
Аноним 02/05/21 Вск 15:02:39 #277 №2016362 
>>2016359
Всё дело в том, что я наоборот хочу отказаться от того, что ты предлагаешь. У меня сейчас так и есть проблемы с тем, что атрибуты слишком громоздкие.
Аноним 02/05/21 Вск 15:04:04 #278 №2016364 
>>2015053
javamentor
Сам не проходил, но слышал от доверенных источников, что люди получали хорошие офферы
Аноним 02/05/21 Вск 15:04:07 #279 №2016365 
>>2016362
>У меня сейчас так и есть проблемы с тем, что атрибуты слишком громоздкие.
И ты ее не решаешь, потому что функционально это абсолютно то же самое, только неявно, скрыто и включает больше ненужного кода.
Аноним 02/05/21 Вск 15:07:00 #280 №2016366 
>>2016361
Тогда уж сравни с function add(x, y) { return x+y; }. А если у тебя реально сложная логика, требующая преобразования аргументов и возвращения новых функций, а не выдуманный неиспользуемый нигде пример из одной строчки, то стрелочная залупа будет читаться в сто раз хуже.
Аноним 02/05/21 Вск 15:09:33 #281 №2016370 
>>2016365
Решаю это тем, что теперь оно похоже на хтмл больше, чем на жс. Хотя, конечно, сомнительно. Я вообще просто кнопки хочу красить и блоки двигать, а мне пихают реакт.

Ну и по твоей логике получается, что бутстрап для реакта — говно. Код выше с карточками на пике — БС.
Аноним 02/05/21 Вск 15:16:24 #282 №2016376 
>>2016366
>>2016361
>>2016355
>>2016347
Ну и что на собесе отвечать-то? Пиздец
Аноним 02/05/21 Вск 15:17:37 #283 №2016377 
>>2016370
>Ну и по твоей логике получается, что бутстрап для реакта — говно
Большинство компонентов в нем перебор children не используют и куда попало их не вставляют, ты всегда должен однозначно структуру объявлять.
Аноним 02/05/21 Вск 15:24:32 #284 №2016385 
>>2016376
Блять, что стрелочные функции берут this из внешнего скоупа и их нельзя использовать как методы. Всё.
Аноним 02/05/21 Вск 15:28:23 #285 №2016390 
>>2016385
Да я все различия и так знаю. Я же сам описал в первом вопросе. А типа если на собесе спросят, какие функции ты используешь по дефолту? Вот хули бы мне не использовать стрелочные везде? Что ты мне сделаешь? КАКИЕ ЛУЧШЕ ИСПОЛЬЗОВАТЬ ВЕЗДЕ ОТВЕЧАЙ МРАЗЬ ЧТО ТЫ ПИШЕШЬ, ТЫ ПИШЕШЬ ФУНКЦИИ? ПОКАЖИ КАК ТЫ ПИШЕШЬ, ХОЧУ ВИДЕТЬ КАК ТЫ ПИШЕШЬ ФУНКЦИИ О ДА СОЗДАЙ ДЛЯ МЕНЯ ЕЩЕ ПАРОЧКУ ФУНКЦИИ ГРЯЗНАЯ СУЧКА
Аноним 02/05/21 Вск 15:29:11 #286 №2016391 
>>2016377
Можешь объяснить, что значит однозначно объявлять структуру? У меня всегда в тайтле будет тайтл, местами ни с чем он не будет меняться
Аноним 02/05/21 Вск 15:33:09 #287 №2016395 
>>2016391
Значит, что если я напишу <Card><Card.Title/><Card.Body/></Card>, то это отрендерится как и написано - сначала Title, после него Body, и ничего лишнего там не возникнет. А если внутри Card идет перебор children, и Title с Body рендерятся в обратном порядке, или между ними вставляется кнопка, или вообще один засовывается внутрь другого, то это расхождение по структуре - написал я одно, а рендерится неожиданно абсолютно другое.
Аноним 02/05/21 Вск 15:36:20 #288 №2016397 
>>2016390
Омеганский ответ джуна: "использую вот такое, но очевидно это вопрос вкуса и зависит от стиля в проекте, если принято писать стрелочные, то буду писать их".

Ответ альфы-сеньора: "пишу вот так, все остальное неправильно, и сейчас я вам объясню почему".
Аноним 02/05/21 Вск 15:43:50 #289 №2016401 
>>2016395
Звучит именно так, как предполагается
Аноним 02/05/21 Вск 16:02:14 #290 №2016418 
>>2016390
А ты ответь сначала в чем разница между всеми видами функций.п еще лучше,попробуйихвсеперечислить.
Аноним 02/05/21 Вск 16:43:06 #291 №2016494 
>>2016418
Отвечал и перечислял на собесе. Использую стрелочные потому что хули ты мне сделаешь?
Аноним 02/05/21 Вск 16:53:51 #292 №2016524 
>>2016494
Не возьму тебя на работу.
Аноним 02/05/21 Вск 18:36:50 #293 №2016627 
Нахуй нужны рекурсии, если они ресурсозатратнее и в 99% случаев читаются хуже цикла?
Аноним 02/05/21 Вск 18:39:00 #294 №2016628 
Посоны, поясните по хардкору, сильно я испорчу себе резюме, если буду менять работу каждые полгода? Если кратко, на первую работу устроился в говнокомпанию ТК там платили довольно хорошо (110к на руки, потом апнули до 120). Отработал 7 месяцев и дропнул ТК там были ужасные условия. Постоянный шум, крики и вонища. Месяц искал новую работу на удаленку, устроился на 95к + раз в квартал премия 75% от зп. Нынешняя работа норм, но вот зп мне не нравится. Согласился только потому что годных вакансий для удаленки на ангуляре было вот прям совсем мало. В итоге думаю месяцев 6-7 поковырять ноду и искать работу на ней. Это адекватный вариант, или лучше на нынешнем месте где-то хотя бы на год задержаться?
Аноним 02/05/21 Вск 18:50:03 #295 №2016633 
>>2016627
Не нужны, рекурсия это антипаттерн даже в ФП-языках, а уж тем более в языках без tail-call оптимизации типа жопоскрипта.
Аноним 02/05/21 Вск 19:10:43 #296 №2016655 
>>2016627
Чтобы выебываться. За самостоятельно написанную рекурсию на боевом (точнее любом, кроме СПЕЦИФИЧНЫХ cs-задач) проекте нужно руки отрывать.
Аноним 02/05/21 Вск 19:17:54 #297 №2016673 
>>2016628
Вроде большинство так и делают. Но насколько я понимаю, в почете 2-3 года на одном месте, тогда конечно же больше плюсов перед HR.

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

Но верно на счет tail-call оптимизации - в большинстве языков рекурсию нужно с умом применять.
Аноним 02/05/21 Вск 19:20:14 #298 №2016682 
>>2016628
хоть каждый месяц меняй, главное опыт и знания.

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

Аноним 02/05/21 Вск 19:24:01 #299 №2016693 
>>2016655
Это ты зря, на самом деле нередкая история при разборе структурированных данных, пакетов JSON, XML, или в DOM дереве.

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

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

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

В алгоритмах реже, только ДП задачи какие-нибудь, но мне кажется на практике с ними очень редко сталкиваешься.
Аноним 02/05/21 Вск 19:29:22 #300 №2016703 
>>2016673
>Бред. Рекурсия это как раз-таки норм паттерн в ФП языках
В любом гайде по любому современному ФП языку тебе на первой же странице с рекурсией будут талдычить, что если перед тобой два решения: рекурсивное и не-рекурсивное, то выбирай то, где рекурсии нет.
Аноним 02/05/21 Вск 19:29:32 #301 №2016704 
Че щас у ректобогов в почете для стилей?
ОФК styled components, а если из готовых сборок?
Слышал библа Material UI под рякт заточена, так ли она хороша? Лучше чем бутстрап?
Аноним 02/05/21 Вск 19:31:08 #302 №2016710 
>>2016704
Все нормальнве конторы свой ui-kit пилят.
Аноним 02/05/21 Вск 19:35:24 #303 №2016716 
>>2016710
на стайлет компонентс или css modules? на чем пилят?
Аноним 02/05/21 Вск 19:36:49 #304 №2016717 
image
image
image
image
немного юмора смузихлебам
Аноним 02/05/21 Вск 19:59:00 #305 №2016736 
16190379373930.png
>>2016717
Миша, ты?
Аноним 02/05/21 Вск 20:16:12 #306 №2016752 
>>2016633
>>2016627
Напишите мне вычисление факториала без рекурсии на js
Аноним 02/05/21 Вск 20:18:00 #307 №2016754 
>>2016736
я не миша, но ты мне уже второй раз этой пикчей итт отвечаешь
, поэтомк если хочешь я буду мишей
Аноним 02/05/21 Вск 20:20:11 #308 №2016758 
image
раз уж разговор за стили зашел, поясните че это за линки на цвета в браузере? часто замечал на разных сайтах, но не понял как они их делают, я знаю ток что в sass можно делать переменные со стилями, а это че за штука?
Аноним 02/05/21 Вск 20:25:11 #309 №2016766 
>>2016758
Ну ты и соня
Аноним 02/05/21 Вск 20:27:45 #310 №2016770 
>>2016758
Во дурак.
https://developer.mozilla.org/ru/docs/Web/CSS/Using_CSS_custom_properties
Аноним 02/05/21 Вск 20:35:29 #311 №2016783 
>>2016766
>>2016770
Ого спс, я мало с ксс работаю, знаю ток основы
Аноним 02/05/21 Вск 20:39:41 #312 №2016792 
>>2016783
Чтобы быть в курсе чего-либо, не нужно с этим работать. Нужно просто интересоваться сферой. Как минимум читать профильные ресурсы каждый день. Если ты этого не делаешь, то твои знания устаревают еще до того, как ты их приобретаешь.
Аноним 02/05/21 Вск 20:44:00 #313 №2016800 
>>2016792
Так я читаю двач, тут про пременные в ксс не писали раньше.
Где еще профильные знания брать?
Аноним 02/05/21 Вск 20:46:10 #314 №2016810 
>>2016800
https://habr.com/ru/search/?q=js#h
https://habr.com/ru/search/?target_type=posts&order_by=relevance&q=html%5D&flow=
https://habr.com/ru/search/?target_type=posts&order_by=relevance&q=css&flow=

Ну ты понял, хабр крч.
Аноним 02/05/21 Вск 20:51:22 #315 №2016828 
>>2016810
Ок спасибо, я на хабре ток на реакт был подписан
Аноним 02/05/21 Вск 20:53:10 #316 №2016832 
>>2016800
Ты бы еще группу в телеграмме своих одноклассников читал, и считал это профильным ресурсом.
Аноним 02/05/21 Вск 20:54:15 #317 №2016836 
>>2016800
https://lobste.rs/
https://news.ycombinator.com/
Аноним 02/05/21 Вск 20:55:49 #318 №2016839 
>>2016832
Почему осуждаешь?
Аноним 02/05/21 Вск 21:06:22 #319 №2016857 
>>2016839
Потому что, что зекач, что группы твоих одноклассников - это токсичные комьюнити, состоящее преимущественно из дилетантов и невежд, кидающихся друг в друга говном. По подобным сообществам в 2к21 году даже релевантный срез мнений уже не составишь, как было в аналогичных загонах в начале века. Именно потому тут каждый второй истинный долбоёб, который лишь ретранслирует то, что где-то прочитал, и вскрывается на раз, стоит его лишь копнуть.

Аноним 02/05/21 Вск 21:15:46 #320 №2016875 
>>2016857
Нк и зачем ты такой токсик? Тебя токсики покусали?
Аноним 02/05/21 Вск 21:52:24 #321 №2016899 
>>2016628
ну я скажу так, если бы я был твоим работодателем или hr, то я взял бы второго, у кого может меньше знаний, но кто не так часто меняет работу. Но это мое личное мнение, я не hr и не работодатель.

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

Представь, если тебе постоянно ставили нового человека раз в 2 месяца. Сделай выводы сам.
Аноним 02/05/21 Вск 22:08:02 #322 №2016910 
>>2016899
В крупных конторах процесс найма и онбординга налажен на поток, там тебе и психолухи штатские и класс для обучения и целая программа для быстрого внедрения в команду, плюс методы разработки выстроены таким образом что их может писать каждую неделю любой вася, хуевым легаси такой код все равно не станет, поэтому они не заметят кто пришел а кто ушел, а вот конторки со штатом меньше 10 чел могут хуево переживать текучесть кадров
Аноним 02/05/21 Вск 22:09:32 #323 №2016914 
>>2016633
>рекурсия это антипаттерн даже в ФП-языках
рекурсия с паттерн-матчингом есть основа любого ФП-языка.
Аноним 02/05/21 Вск 22:12:56 #324 №2016918 
>>2016899
Хрюше надо получить премию за нового работника и наконец-то закрыть позицию. Тимлиду нужно тоже кого-то на проект посадить в ближайшее время. Что там будет через 7 месяцев мало кого волнует.
Аноним 02/05/21 Вск 22:20:03 #325 №2016925 
>>2013521
>айфоне
Safari щитобраузер
>Pwa это будущее
Ещё можно даже упаковать в андрюшу-апкашку и виндоус-лайкнатив.
Аноним 02/05/21 Вск 22:22:21 #326 №2016930 
>>2016914
Это никакая ни основа, а один конкретный паттерн, и то его надо использовать с пиздецовой осторожностью, потому что написать лютый говнокод, который вместо обычного редьюса пытается сматчить все на свете в одной функции - как раз плюнуть. К вопросу "что использовать, рекурсию или цикл/list comprehensions" он отношение имеет слабое.
Аноним 02/05/21 Вск 22:24:08 #327 №2016934 
>>2016930
Основа, в которых нет циклов и почти всё по рекурсии циклирует.
Аноним 02/05/21 Вск 22:32:30 #328 №2016942 
>>2016934
Это как раз тот случай, что если тебе нужно пройтись по коллекции, то лучше воспользоваться list comprehensions/соответствующией стандартной функцией ака map-reduce-each, а не лепить рекурсивный паттерн матчинг, который превратится в неподдерживаемый пиздец, как только логика усложнится.
Аноним 02/05/21 Вск 22:42:00 #329 №2016951 
>>2016942
Это всё ровно что сказать: мол, не используйте наследование, тк антипаттерн, предпочти композицию, но ведь от этого наследование не перестанет быть основой ОО.
Аноним 02/05/21 Вск 22:46:59 #330 №2016958 
>>2016951
Наследование не основа ОО и можно(нужно) писать на 100% ОО код, не используя наследование ни разу.
Аноним 02/05/21 Вск 22:51:46 #331 №2016961 
>>2016958
Можно, можно как угодно писать. Но почему же тогда ДОМ элементы наследуются?
Аноним 02/05/21 Вск 22:55:49 #332 №2016962 
>>2016961
>Можно, можно как угодно писать
Нет, не можно. Если ты говоришь, что что-то - "основа ОО/ФП", а потом вдруг выясняется, что без этого чего-то можно спокойно писать ОО/ФП код, то это никакая не основа.
Аноним 02/05/21 Вск 23:07:23 #333 №2016969 
image.png
image.png
>>2016958
Аноним 02/05/21 Вск 23:11:08 #334 №2016977 
>>2016969
Молодец, авторитета процитировал не думая, а теперь расскажи мне своими словами, почему программа на джаве, не использующая слово extends ни разу, внезапно перестет быть ОО программой, и становится... чем?
Аноним 02/05/21 Вск 23:15:00 #335 №2016984 
>>2016977
>почему программа на джаве, не использующая слово extends ни разу, внезапно перестет быть ОО программой
Потому что перестает соблюдать основный принцип ООП.

> и становится... чем?
Объектной программой, а не объектно-ориентированной. Ты читать не научился еще?
Аноним 02/05/21 Вск 23:15:02 #336 №2016985 
>>2016752
> Напишите мне вычисление факториала без рекурсии на js
Как нехуй делать:
function fact(x) {
  let result = 1;
  for (let i = 2; i <= x; i++) {
    result *= i;
  }
  return result;
}
Аноним 02/05/21 Вск 23:22:37 #337 №2016997 
>>2016984
>Потому что перестает соблюдать основный принцип ООП.
Который ты определил как?.. Авторитет в книжке написал? Почему же тогда, если я эту программу покажу любому программисту, он сразу скажет, что это ООП?
>Объектной программой, а не объектно-ориентированной
Такой парадигмы и термина не существует, поменьше читай мусорные русские тексты, написанные/переведенные непонятно кем.
Аноним 02/05/21 Вск 23:23:16 #338 №2016998 
>>2016985
>Как нехуй делать
А теперь разверни бинарное дерево без рекурсии.
Аноним 02/05/21 Вск 23:27:13 #339 №2017003 
1619987232292.jpg
>>2016998
Аноним 03/05/21 Пнд 08:45:45 #340 №2017200 
>>2016361
"к матанской записи"
Долбоеб блять, ты не матан дрочишь на парах на 2м курсе, ты прогаешь
Я тебя дурачка уже помню по твоим шизоидным постам из предыдущих тредов - про фп и матан. Думаешь ты у нас дохуя математик бля? Ты веб-макака обычная, математикам ты и в подметки не годишься, не надо себе приписывать то, чем ты в помине не являешься, лишь бы придать элитарности своему занятию
Аноним 03/05/21 Пнд 09:53:57 #341 №2017259 
>>2017200
>элитарности своему занятию
Обычный культист, который думает, что прогерство надо любить и заниматься этим с пеленок. А все остальные не трупрогеры.
Мимо.
Аноним 03/05/21 Пнд 10:52:16 #342 №2017317 
Если не по адресу, то направьте в нужный тред.

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

Как это сделать?
Есть некоторые навыки JS/HTML/CSS/JSON.
Аноним 03/05/21 Пнд 11:01:28 #343 №2017327 
>>2017317
А зачем тебе экстеншен? Напиши на ноде простенький бэк, закинь на heroku.
Аноним 03/05/21 Пнд 11:05:37 #344 №2017334 
>>2017327
Не знаю, первое, что в голову пришло.

>Напиши на ноде простенький бэк, закинь на heroku.
А этим способом можно будет табличку в сайт встроить? Мне хочется, скажем так, восстановить функцию, которая стала платной.
Аноним 03/05/21 Пнд 11:11:44 #345 №2017343 
>>2017334
>А этим способом можно будет табличку в сайт встроить?
В чужой сайт нельзя, можно у себя похожую страницу нарисовать.
Аноним 03/05/21 Пнд 11:12:53 #346 №2017344 
>>2017343
А надо в чужой, поэтому экстеншен придется делать.
Аноним 03/05/21 Пнд 11:42:11 #347 №2017376 
>>2017317
Расширение изи делается.
https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension

Но чет не совсем понятно зачем тебе оно в виде расширения.
Аноним 03/05/21 Пнд 12:16:17 #348 №2017401 
Стоит ли вкатываться в svelte? Он вроде не такой мразотный как среакт и вуе. По крайней мере судя по пройденому оф тутору
Аноним 03/05/21 Пнд 12:44:36 #349 №2017419 
>>2017401
Как бонуска к основному стеку да. В идеале надо все пошупать, никогда не угадаешь какой стрельнет и будет юзаться в след году.
Аноним 03/05/21 Пнд 12:48:59 #350 №2017424 
uniontype.png
Как это реализовать правильно? Если указываю юнион тайп, дальше сосу жёппу с точным типом.
Вложенных объектов внутри большого объекта много, но они все подпадают либо под первый, либо под второй тип. Дальше на основе содержащихся в них полей создаются компоненты, в которые передаётся только один из типов, но вот компонент принимает только точный тип, а не union. Каким образом объяснить, что в него пришел конкретный тип? Самое банальное решение добавлять везде as. Но это это кажется срань какая-то.
Тут упрощенный пример приведён разумеется, чтобы обозначить саму проблему.
Аноним 03/05/21 Пнд 13:06:11 #351 №2017444 
>>2017424
убери юнион тайп и создай разные типы для разных компонентов
Аноним 03/05/21 Пнд 13:09:59 #352 №2017452 
>>2014724
>>2014720
лол, сириусли, вуе не работает с ts? охуеть, я и не знал. еще один аргумент чтобы тралить вуехолопов
Аноним 03/05/21 Пнд 13:18:26 #353 №2017462 
>>2015588
>Apollo Client Cache + Redux + bff > Mobx > вся остальная хуета
пофиксил не благодари
Аноним 03/05/21 Пнд 13:20:31 #354 №2017465 
>>2016752
>вычисление факториала
за каким хуем мне вычисление факториала в интерпразе?
Аноним 03/05/21 Пнд 13:26:12 #355 №2017469 
>>2017462
>Apollo Client Cache + Redux
Какое знатное извращение.
Аноним 03/05/21 Пнд 13:36:11 #356 №2017480 
image.png
>>2017424
Можно вот так: https://www.typescriptlang.org/play?target=99#code/C4TwDgpgBAKuEHkB20C8UDeBDAXFAzsAE4CWSA5gNwC+lAUKJLPDAO4D2U6GARnkgFcAtjwhEa9BvCgBVJCXZI4TdMsQooAH2aQ27SY2gBhRYSJYywLlABKEAMbsiAEwA8ZsuQA0s+YrUAfJIAZgJI9sAKSFAkzhBIkaCuMFAQAB7A8c74UCZIZhYJAQAUaXgwAJTlmHRQdUQQwAJE0Wn01HR0jvlW7DwAVtax8YkgxRi1dbiYUNMA5FhzUNRek1B8MxsAjMt01BWSJEJgTlYAVLM5dlgRUMFE7EJQcw03wHOS3YS5W3jXEQA6ABiRlcGCgfX6DmA5XgyAglGWAWsxQqXGRggANpj6F8rEYAEx-CBvYGg8GQ6Gw3QcRHUZHoVHoqBYnGdPFQRzHRQjHLoADaa1cRh2lIiqAwkIBWGoUAA9AFVnUoMKCRCBtCJVKeLKFUq6sLRRrxZKBgCdfLFULCeqoSapTLLasALr0IA

Суть подхода состоит в том, чтобы не прописывать тип на object явно (что перетрет литеральные типы), а спрятать проверку в generic'е.
Аноним 03/05/21 Пнд 13:48:50 #357 №2017490 
>>2011386 (OP)
Сап, начал изучать nest.js, но по нему как-то мало информации, официальная документация какая-то очень краткая. Есть ли какие-то плюс-минус подробные гайды по этому фреймворку или курсы?
Аноним 03/05/21 Пнд 13:55:48 #358 №2017493 
image.png
>>2017480
Спасибо тебе большое анончик, буду разбираться
Аноним 03/05/21 Пнд 14:03:58 #359 №2017499 
>>2015588
>чистый подход (Update монада).
Угу, всю грязь в тханки вываливают, зато экшоны ЧИСТЫЕ. Не забудь ещё хуярить по 3+ экшона на каждый ассинхронный пук.
>>2015655
За пределами реакта редукс нахуй не нужен.
>>2015735
>А если индус знает слово редьюс, то он достаточно образован, чтобы не делать магических операций в теле функции.
То-то прямо в доке редукса плачутся, что все такие неправильные мутабельный код постоянно суют в редюсеры.
Аноним 03/05/21 Пнд 14:26:11 #360 №2017525 
>>2017259
У пхпшников с их дрисней так вообще лютый каргокульт Жавы, все громадные паттерны пиздят оттуда, уверяя что "это тру", хотя по большей степени все это нахер не нужно. Но им главное заставить самих себя поверить что они ничуть не хуже "белых людей" (жавистов) и что они не обычные веб-макаки а сцуко Инженеры Будущего с кучей хитровыебанных паттернов и DtO
Аноним 03/05/21 Пнд 14:27:52 #361 №2017528 
>>2017499
>То-то прямо в доке редукса плачутся
Да забей, для это дурачка-зумерка "стрелочные функции + мап-редьюс - значица ФП нахой"
Аноним 03/05/21 Пнд 14:42:42 #362 №2017538 
>>2017493
>>2017480
хватит хуйней страдать, за такой код, я пидорну тебя с галеры. это че вообще нахуй такое, алло бля!
Аноним 03/05/21 Пнд 15:59:01 #363 №2017613 
Каким образом можно связать массив компонентов в реакте с массивом данных? Т.е. мне например нужно вывести список компонентов и их названия. Я могу передать массив компонентов через пропсы и вывести список этих компонентов. Но мне так же нужно озаглавить каждый из компонентов. Есть конечно вариант использовать ключ каждого компонента в массиве как заголовок, но звучит как лютые костылееблические костыли. Можно ли как-то добавить данные к реакт компоненту, которые передается в пропсы, а потом их прочитать? Если абстрагироваться от реакта, то нужно что-то вроде обьекта, где первый ключ это название, а второй ключ это реакт компонент, но кажется это довольно хуёво будет, пихать компонент в объект?
Аноним 03/05/21 Пнд 16:29:11 #364 №2017633 
сап погромач. анон, накидай советов. рендерю при помощи ваниллы жс элементы (допустим тупо список дивов), и затем надо пройтись по ним и навесить эвенты. и бывает что срабатывает через раз тк браузер еще не успел отрендерить элемент, а я пытаюсь к нему постучаться, из за чего ошибку ловлю что пытаюсь чет мутить с null ээлементов. как фиксить ? setTimeout тыкать ? просто боюсь что если элементов станет больше то и он перестнает работать =/
Аноним 03/05/21 Пнд 16:54:16 #365 №2017659 
Есть ли конфа в тг у треда? Реквестирую ссылку
Аноним 03/05/21 Пнд 16:58:33 #366 №2017661 
>>2017490
А чем оно лучше того же экспресса? Все в каких-то декораторах и дженериках вымазано, выглядит как говно.
Аноним 03/05/21 Пнд 16:58:43 #367 №2017662 
>>2017613
Я в ахуе от твоего вопроса , а именно от каши. Если я все правильно понял, то вот - https://codesandbox.io/s/reverent-rain-2lzhp
Аноним 03/05/21 Пнд 17:08:15 #368 №2017668 
>>2017659
https://t.me/dynamicult
Аноним 03/05/21 Пнд 17:23:36 #369 №2017676 
>>2017661
Я работаю со spring boot, увидел nest.js, мне он показался чем-то похожим и я решил покрутить, повертеть этот фреймворк. Но не знаю с чего начать, потому что доков оч мало, а тот видогайд, что у них на сайте - платный. Щас бы делать гайды на свой фреймвор платными, пиздец
Аноним 03/05/21 Пнд 17:28:26 #370 №2017686 
>>2017659
>>2017668
Съебали нахуй, долбоебы
Аноним 03/05/21 Пнд 18:01:27 #371 №2017727 
https://www.youtube.com/watch?v=ozvUaikP6cs
Сейчас нашел рандомный видос с собеседованием. Там два достопочтенных мужа собеседуют джуна, который похоже жс никогда не учил. И вот чуть ли не на первом же вопросе сразу ОБА интервьюера жидко срут в штаны, поясняя за Object.assign, с умным видом рассказывая, как он круто умеет копировать геттеры, а потом в комментах оказывается, что не могут. Что-то я в ахуе с этих собеседований, когда даже люди, которые проверяют твои знания, этими знаниями не обладают. Пиздец.
Аноним 03/05/21 Пнд 18:30:29 #372 №2017765 
>>2017727
Я смотрел все их собесы, там откровенно слабые вопросы.
Хочешь нормальных собесов - посмотри на канале арчакова, там реальные хрюши и тех диры собесят с реальных собесов.
Аноним 03/05/21 Пнд 19:38:10 #373 №2017844 
>>2017659
https://t.me/joinchat/niTY9ejYMXxlMDUy
Есть еще конфа, но там меньше людишек. Но как плюс, там нет пустого флуда, а только по делу.
Аноним 03/05/21 Пнд 19:43:45 #374 №2017855 
>>2017844
>по делу.
Дела вкатышей, такие дела.
Аноним 03/05/21 Пнд 19:52:48 #375 №2017869 
Почему array не является типом данных, но функция является?
Почему у кантора функция это не тип данных?
Почему в ecmascript функция это тип, и typeof вернёт тип function для функции? Вам въебать?
Аноним 03/05/21 Пнд 19:54:58 #376 №2017872 
>>2017869
Хуй будешь?
Аноним 03/05/21 Пнд 20:26:42 #377 №2017898 
cantor2.PNG
kantor1.PNG
test.PNG
xantor3.PNG
>>2017869
> Почему array не является типом данных, но функция является?
Потому что массивы это объекты. Функция "объект" лишь на очень низком уровне, на который всем похуй. А массив по сути и есть объект, просто оптимизированный.

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

>Почему в ecmascript функция это тип, и typeof вернёт тип function для функции?
А чем она еще должна быть, мамкой твоей? Про низкий уровень даже не начинай, функции это функции, внутренняя реализация не имеет значения.
Аноним 03/05/21 Пнд 20:26:53 #378 №2017900 
Осилил доки jest, react-testing-library, сейчас читаю cypress. И чет охуеваю.
То есть все тестирование фронта сводится к тому, чтобы "прокликать" по всем компонентам, сделать снапшот до и после, и сравнить их? Охуенно. Охуенно.
А как писать в TDD стиле? Я сначала должен написать тесты, "прокликать" по всем компонентам "в уме", а потом уже писать, собственно, сами компоненты? Охуенно. Охуенно. Ни разу не ебля ради ебли на пустом месте, очень нужно и полезно.
Аноним 03/05/21 Пнд 20:28:42 #379 №2017904 
>>2017900
Snapshot тесты не в тренде уже 2 года как
Аноним 03/05/21 Пнд 20:29:13 #380 №2017905 
>>2017900
Все верно, TDD для UI пишется по-старинке - когда ты можешь просто querySelector и наличие элемента или его текст внутри, клики по кнопкам, переходы на страницы и т.д.

Дизайн не тестируется так конечно же.
Аноним 03/05/21 Пнд 20:35:00 #381 №2017913 
>>2017904
Какие тесты в тренде?
Аноним 03/05/21 Пнд 20:36:45 #382 №2017916 
>>2017898
Вот самый ахуй тут в том, что на собесе меня ебут в жопу прототипами, ВАРАМИ блядь, ВАРАМИ, еб вашу мать, КОНСТРУКТОРОМ ФУНКЦИИ, не функцией конструктором, а ИМЕННО КОНСТРУКТОРОМ ФУНКЦИИ, пиздец. Я то конечно знаю как по хардкору за всю хуйню пояснять теперь, после парочки таких собесов, про все эти блядь области видимости их мамаш, про ебанутейшие варианты работы с объектами и прочей хуетой, которую последний раз в коде использовали в 19 веке. Так что зачеркнуть-то можно, а потом придется мычать на собесах как побитая шлюха. Причем про всю вышеперечисленную хуйню меня спрашивали вообще на каждом собесе, ну ладно там прототипы, но конструктор функций, ой блядь
Аноним 03/05/21 Пнд 20:38:23 #383 №2017920 
>>2017898
Ты нахуя спред/рест операторы зачеркнул-то?
Аноним 03/05/21 Пнд 20:38:46 #384 №2017921 
>>2017900
>То есть все тестирование фронта сводится к тому, чтобы "прокликать" по всем компонентам, сделать снапшот до и после, и сравнить их
Нет. Тестирование по снапшотам - это антипаттерн и оно имеет смысл только для регрессивных тестов старого не покрытого нормальными тестами функционала. Если ты пишешь функциональные тесты сразу, то писать их нужно без всяких снапшотов, проверяя конкретный функционал, вроде "когда я жму на кнопку, на сервер отправляется такой запрос", "когда с сервера приходит такой ответ, форма отображает вот это".
>А как писать в TDD стиле? Я сначала должен написать тесты, "прокликать" по всем компонентам "в уме", а потом уже писать, собственно, сами компоненты?
Сначала ты должен написать в виде красного теста одно условие, которое будущий код должен реализовать. Потом написать реализацию для этого одного условия, которая сделает тест зеленым. Повторить до победного конца. И это не ебля на пустом месте, а методология разработки, благодаря которой ты в момент написания кода будешь сразу знать, что весь написанный тобой код делает ровно то, что должен, а не писать огромный неработающий кусок логики, и потом лезть в UI или в дебагер, пытаясь этому куску логики настучать палкой по голове, чтобы он кое-как заработал.
Аноним 03/05/21 Пнд 20:42:29 #385 №2017926 
>>2017920
По ошибке, сори. Но суть вы поняли.
Аноним 03/05/21 Пнд 20:43:03 #386 №2017928 
>>2017869
Нет в ecmascript такого типа, как функция.

typeof не возвращает тип значения.
Аноним 03/05/21 Пнд 20:43:20 #387 №2017929 
>>2017921
> писать огромный неработающий кусок логики, и потом лезть в UI или в дебагер, пытаясь этому куску логики настучать палкой по голове, чтобы он кое-как заработал.
Кек, это пугающе точное описание моего последнего пета.
Аноним 03/05/21 Пнд 21:04:46 #388 №2017967 
>>2017916
полностью напиши задание в котором тебя просили использовать конструктор функций
Аноним 03/05/21 Пнд 21:13:12 #389 №2017985 
>>2017967
Да он просто ебик который не осилил теорию, Очередной зумерок которому пообещали должность синьера после недельных курсов

Вникать не хотят, а денег хотят. Ну не долбоебы? Долбоебы!
Аноним 03/05/21 Пнд 21:13:16 #390 №2017986 
>>2017662
Я может быть объяснил всрато, это не совсем то, что нужно, но в любом случае спасибо
Аноним 03/05/21 Пнд 21:14:39 #391 №2017988 
>>2017985
>не осилил
Так осиливаю, выбора нет у России 3 пути
Аноним 03/05/21 Пнд 21:27:12 #392 №2018010 
>>2017988
Неосилятор порвался.
Аноним 03/05/21 Пнд 21:32:06 #393 №2018018 
>>2018010
Не спугни, пускай сидит в треде нюхает мои синьерские яйца, набирается опыта так сказать.
Аноним 03/05/21 Пнд 21:52:29 #394 №2018036 
>>2018018
Так я тоже вкатышь, не люблю конкуренцию.
Аноним 03/05/21 Пнд 21:57:15 #395 №2018044 
>>2018036
Ревнуешь к яйцам?
Аноним 03/05/21 Пнд 21:59:41 #396 №2018052 
16200681036770.mp4
>>2018044
Аноним 03/05/21 Пнд 22:06:38 #397 №2018060 
16187502286800.png
>>2018018
>Не спугни, пускай сидит в треде нюхает мои синьерские яйца, набирается опыта так сказать.
Аноним 03/05/21 Пнд 22:06:44 #398 №2018064 
0C1B86B9-3FC8-488A-97E2-F6E925DA584D.jpeg
Всем кто хочет вкатиться надо в треде написать

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

Яйца расщедрятся если вы их хорошенько занюхнете, шанс вката от яиц выше чем после курсов,
Аноним 03/05/21 Пнд 22:08:32 #399 №2018067 
>>2018064
Яйца помогите вкатиться!
Аноним 03/05/21 Пнд 22:10:19 #400 №2018071 
кто-то вызывал шизика.webm
>>2018064
Аноним 03/05/21 Пнд 22:17:31 #401 №2018083 
>>2017898
Это типо что надо и что не надо? Сохранил.

+спред/рест операторы
Аноним 03/05/21 Пнд 22:23:32 #402 №2018096 
>>2018083
Ага на собесе потом скажешь я ниучил потому что на двачи сказали нинада! Нюхай яйца лучше сразу
Аноним 03/05/21 Пнд 22:26:27 #403 №2018104 
>>2018096
Яйца волосатые. Не буду.
Аноним 03/05/21 Пнд 23:08:42 #404 №2018181 
>>2017916
> ИМЕННО КОНСТРУКТОРОМ ФУНКЦИИ
Вот ето ебать рокетсаенс

> new Function('x', 'y', 'return x+y');
Аноним 03/05/21 Пнд 23:16:27 #405 №2018187 
>>2017633
> и затем надо пройтись по ним и навесить эвенты
Не надо. Создаеш элемент, вешаеш обработчик, приклеиваеш элемент в дом.
Аноним 03/05/21 Пнд 23:35:01 #406 №2018207 
>>2017986
Ну так нарисуй, я постараюсь ответить или распиши
Аноним 04/05/21 Втр 01:53:13 #407 №2018362 
>>2015053
1. Переписываешь underscore. Без всяких изъебств. Заходишь на сайт либы, смотришь на примерах как работают методы и пишешь свои функции. Так набьешь руку на работе с массивами, объектами, функциями.
2. Переписываешь Jquery. Таким же макаром. Реализуй примеры с сайта по документации средствами нативного JS. Так набьешь руку и поймешь как работать с DOM.
3. Тоже самое с другими библиотеками и фреймворками.

Параллельно пиши всякие пет проекты. Реализовывать пет проекты с нуля долго и неэффективно. Поэтому находишь на гитхабах готовую реализацию чего-либо и пытаешься сделать ее сам. В случае сильных ступоров подсматриваешь исходники. Так ты учишься делать проекты, читать чужой код, учишься эффективно (не решаешь слишком простые задачи с одной стороны и не зависаешь часами над сложной херней с другой).
Аноним 04/05/21 Втр 02:34:49 #408 №2018391 
1583154077893.png
Как перехватить эту красную хуйню? Я и обработчик ошибки поставил и статус чекаю, а она все равно вылазит

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('Ошибка')
});
Аноним 04/05/21 Втр 03:15:30 #409 №2018432 
image.png
>>2018391
Аноним 04/05/21 Втр 03:18:56 #410 №2018434 
>>2018391
Это не эксепшн, а console.error
Аноним 04/05/21 Втр 03:33:32 #411 №2018440 
>>2018434
Так как с этим справиться то? Именно кодом чтоб отлавить
Аноним 04/05/21 Втр 03:37:39 #412 №2018442 
image.png
>>2018440
Зачем ты собрался справляться с логированием сообщений в консоль?
Аноним 04/05/21 Втр 03:56:56 #413 №2018444 
>>2018442
Чтобы не засирало консоль. Это не ошибка. Оно и должно проверять существует ли файл по данному адресу.
Аноним 04/05/21 Втр 04:03:23 #414 №2018447 
>>2018442
Ну или как вариант посоветуй как можно это проверять мирно, чтоб на ошибку не нарваться
Аноним 04/05/21 Втр 04:07:28 #415 №2018450 
>>2018444
>>2018447
Еще раз, читай внимательно - это ЛОГИРОВАНИЕ.
Это НЕ ошибка. Это ничем не отличается от console.log в твоем коде. Как ты перехватываешь console.log в чужом коде? Ты вообще отбитый нахуй? Тебе скрин выше зачем прикрепили?

>Чтобы не засирало консоль
Тебе выше показали какую галочку поставить в девтулзах, чтобы не видеть лог-сообщений работы с сетью.
Аноним 04/05/21 Втр 04:13:16 #416 №2018454 
>>2018450
Да хоть чипирование. Оно красным выскакивает. Как это отрубить? Код полностью мой. Почему я в своем собственном коде любую другую ошибку могу отловить и написать отдельный вывод ошибки, а тут нет?

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

Если я это приложение куда нибудь выложу, мне тоже людей просить галочки ставить и объяснять какого хуя у меня то и дело ошибки вылазят. Ой простите не ошибки а ЛОГИРОВАНИЕ.
Аноним 04/05/21 Втр 04:18:05 #417 №2018458 
>>2018454
Какой же ты тупой.
Аноним 04/05/21 Втр 04:20:44 #418 №2018459 
>>2018458
Ну а кто тогда ты, раз тупую задачу решить не можешь
Аноним 04/05/21 Втр 06:33:39 #419 №2018505 
>>2018454
Приятно осознавать, что я конкурирую с такими даунами.

Покормил толстого.
Аноним 04/05/21 Втр 07:57:38 #420 №2018544 
>>2018181
А вот так сходу с разбегу сможешь за замыкания пояснить у них?) Не заглядывая в доку?
Аноним 04/05/21 Втр 09:10:24 #421 №2018585 

>>2018544
Ну там про карринг рассказать, "приватные" методы, вар и лет в цикле.
Аноним 04/05/21 Втр 09:19:15 #422 №2018590 
>>2018391
> sinon.stub(console, 'error')

Настрой прокси, который раздаёт картинку, чтобы отдавал 200 на отсутствующей картинке.
Аноним 04/05/21 Втр 09:20:32 #423 №2018591 
>>2017633
Если элементы однотипные, то через делегацию событий вешай обработчик на контэйнер этих элементов. Нигде пробегаться не нужно и потеть о рендерах.
Аноним 04/05/21 Втр 09:30:54 #424 №2018599 
>>2018187
там не только обработчики, сложно кароче объяснить.
>>2018591
объясни поподробней анонче
Аноним 04/05/21 Втр 09:43:16 #425 №2018608 
>>2018599
https://dmitripavlutin.com/javascript-event-delegation/
Аноним 04/05/21 Втр 09:53:04 #426 №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
Денчик тоже пояснил, что не нужно.

Несколько на собесах при этом слышал вопросы по делегированию событий в реакте и как это лучше сделать, причем без явного троллинга в сторону того, что оно не нужно.
Аноним 04/05/21 Втр 10:03:59 #427 №2018622 
>>2018611
>Правильно ли я понял, что делегировать события в реакте можно, но не нужно? В этом нет смысла?
В рякте ты уже сорт оф делегируешь события, передавая функцию от родителя предкам через пропсы.
>Несколько на собесах при этом слышал вопросы по делегированию событий в реакте и как это лучше сделать, причем без явного троллинга в сторону того, что оно не нужно.
Потому что собесить тебя будут пердуны, которые писали на классах, а Абрамчик признался, что рякт автоматом делегирует события и обработчики событий на DOM-элементах в браузере - исключительно затычки для сафари, только в конце прошлого года.
Аноним 04/05/21 Втр 10:22:43 #428 №2018647 
Помню что async-функции на самом деле возвращают Промис
Как это именно работает? Я в том плане что - как именно функция оборачивается в промис? Хочу это попробовать вручную написать
Аноним 04/05/21 Втр 10:27:21 #429 №2018650 
image.png
>>2018391
>эту красную хуйню
Аноним 04/05/21 Втр 10:35:11 #430 №2018660 
image.png
Нипонел!! В чём различия если if else написать в теле функции.
Аноним 04/05/21 Втр 10:36:38 #431 №2018661 
>>2018660
Ну а ты попробуй, епты
И нам расскажешь
Аноним 04/05/21 Втр 10:36:52 #432 №2018663 
>>2018647
Посмотри как async/await в es5 транспилируется
Аноним 04/05/21 Втр 11:09:18 #433 №2018706 
Как можно задизайнить список, чтобы пользователю сразу было понятно, что его элементы можно драг'н'дропом переставлять местами?
Аноним 04/05/21 Втр 11:24:20 #434 №2018721 
>>2018706
element:hover {
cursor: drag;
}
Аноним 04/05/21 Втр 12:00:22 #435 №2018777 
ant d
Аноним 04/05/21 Втр 13:07:55 #436 №2018857 
16159825664030.jpg
Аночники, нужен ваш совет. На Udemy акция. За косарь можно взять большие курсы по JS от Ивана Петриченко или Дениса Мещерякова. Ваше мнение стоят ли они внимания ?
Аноним 04/05/21 Втр 13:08:40 #437 №2018858 
>>2018857
Яйца уже понюхал?
Аноним 04/05/21 Втр 13:33:21 #438 №2018878 
1111.png
>>2018858
Ещё не успел. Питон знаю немного
Аноним 04/05/21 Втр 13:36:14 #439 №2018881 
Подскажите раку, можно ли с помощью одной кнопки доставать только один объект из массива? Ситуация такая: есть одно модальное окно, содержание в нем меняется в зависимости от клика по конкретному товару. То есть тут все просто (как я понял) - есть много товаров, соответственно через foreach я могут менять содержание окна из массива объектов, это я понял. Но как сделать так, чтобы через клик в модальном окне одной-единственной кнопки "заказать" мне выдавался только один объект из массива?

В общем вопрос такой: как через одну кнопку проходить по каждому элементу массива?
Аноним 04/05/21 Втр 13:45:03 #440 №2018891 
>>2018881
Array.find()
Аноним 04/05/21 Втр 13:51:55 #441 №2018899 
>>2018599
> сложно кароче объяснить
Если не можешь объяснить простыми словами, значит сам не понимаешь, что хочешь, и колхозишь велосипед.
Аноним 04/05/21 Втр 13:56:18 #442 №2018905 
>>2018660
Кок-пок перфоманс, 64кБ хватит на всех.
Вкрации, тут условный оператор запускается один раз в момент инициализации. Внутри функции он будет тригериться на каждый вызов, к тому же занимая в памяти больше места под свой аргумент.
Аноним 04/05/21 Втр 13:57:46 #443 №2018909 
>>2018891
Это не по каждому, а до первого совпадения.
Аноним 04/05/21 Втр 14:17:50 #444 №2018930 
>>2018909
Filter(id)
Аноним 04/05/21 Втр 15:05:21 #445 №2018995 
>>2018505
Пока ты только с моей собакой можешь конкурировать
Аноним 04/05/21 Втр 15:13:12 #446 №2019009 
>>2018590
Ну это же опять реализация на уровне моего пк. Грусть печаль тоска. Нуежели совсем никак в коде такое не реализовать? Я уже носом землю рою, и решения все еще не нашел. Ощущение что этот момент реально не продумали. Крайне глупо что в жсе нельзя аккуратно проверить наличие файла в сети без ругани в консоль.
Аноним 04/05/21 Втр 15:36:22 #447 №2019063 
>>2019009
>Крайне глупо что в жсе нельзя аккуратно проверить наличие файла в сети без ругани в консоль.
Зачем клиентскому скрипту проверять наличие чего-то там за пределами страницы? Подразумевается, что это делает или сервер, возвращающий нужный респонс в эндпоинте, или на стадии билда/тестов.
Можно ещё фетчи в воркере проводить, но учитывая, что воркер может в фетч изкаробки, вполне вероятно консольную ошибку браузеру он тоже будет передавать.
Аноним 04/05/21 Втр 15:39:09 #448 №2019067 
>>2019009
Каков пиздец, а красная строка в нетворке тебя не смущает? А 404 в логах сервера? Тебе ещё админ потом позвонит скажет «хуль ты пидор файлы грузишь которых нет»
Аноним 04/05/21 Втр 15:44:40 #449 №2019085 
>>2019063
Ну хотелось бы без сервера просто мини приложение запилить и поделится с группой людей. Ладно я уже понял что это неизбежность. Печаль беда. Надо было в сярпе пилить.

>>2019067
Вот кстати, да смущает. Еслиб смог решить проблему с консолью, это был бы второй шаг. А вообще да можете считать это перфекционсткими заскоками и аллергией на красный цвет.
Аноним 04/05/21 Втр 15:53:28 #450 №2019111 
>>2019085
Лол, ну пиши на электроне, там есть нода, есть fs, все у тебя будет не красное
Аноним 04/05/21 Втр 16:26:51 #451 №2019155 
>>2018995
> Пока ты только с моей собакой можешь конкурировать
По частоте ебли твоей мамки?
Аноним 04/05/21 Втр 16:38:11 #452 №2019165 
Хочу отображать подсказку по вводу, когда юзер щелкнет на конкретный input либо начнет там что-то вводить - как именно это лучше делать?
Над полем должно появиться некое всплывающее окошко, где будет отображен текст, но которое не будет блочить действия пользователя
Аноним 04/05/21 Втр 16:44:34 #453 №2019173 
>>2018905
Дядь ты ебанутый, оптимизировать аргументы функции(!) и вызовы if-else операторо(!) и жопоскрипте(!!!)?
Аноним 04/05/21 Втр 16:45:58 #454 №2019174 
>>2019165
> тренд вместо гугла
input.addEventListener('focus', () => {}) ;
input.addEventListener('blur', () => {}) ;
Аноним 04/05/21 Втр 16:56:42 #455 №2019184 
Какие лучшие практики по организации веб приложения на жс с множеством входных точек? Т.е. фронтенд, фронтенд-сервер, бекенд-сервер апи, сокет-сервер, разные воркеры и так далее. Изначально я начал работу над проектом разделив все элементы на репозитории по зонам ответственности в решении, полный share nothing. Начал чувствовать большое количество пересечений по контрактам и однотипному коду - однообразное цепляние к всяким бекенд-сервисам например, конфиги. Так-то буквально общей _бизнес-логики_ пока не появилось. Есть части системы которые вообще не имеют почти ничего общего с остальными, их было очень легко выделить и не чувствовать давление от DRY.

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

И вот с учетом того что по итогу у проектов между собой общая в основном только метаинформация, типо конфигов (даже тот-же еслинт) и типов, некоторых зависимостей, а конкретно логика не повторяется (кроме минимальных оберток) то все равно есть ощущение что share nothing более уместен, даже не смотря на то что это не полностью самостоятельные микросервисы допустим, а части общего решения.
Аноним 04/05/21 Втр 16:56:56 #456 №2019185 
>>2019165
element + div {
visibility: hidden;
opacity: 0;
}
element:focus + div {
visibility: visible;
opacity: 1;
}
Аноним 04/05/21 Втр 17:02:41 #457 №2019190 
>>2019085
>перфекционсткими заскоками

Перфекционизмом это могло быбыть, нсли бы ты разбирался в том, что делаешь и понимал, что вообще происходит. А ты тотальный невежа,который неодупляет смысла происходящего, и хочет, чтобы число пи было целым, просто потому что тебе целые больше нравятся.
Аноним 04/05/21 Втр 17:06:58 #458 №2019194 
>>2015362
>а реакт свой написать на нем с блекджеком и шлюхами
Интересно это тяжело? Кто-нибудь пробовал? Имею в виду не создание собственной библиотеки, а реализацию тех или иных фишек на нативном JS.
Аноним 04/05/21 Втр 17:11:28 #459 №2019200 
>>2019184
Очевидная монорепа, что тащемта не избавит от необходимости бампать версии.
Ты уже решил, где будешь хостить пакеты?
Аноним 04/05/21 Втр 17:12:31 #460 №2019203 
>>2019194
Чтобы что?
Аноним 04/05/21 Втр 17:18:41 #461 №2019212 
>>2019200
Зачем хостить пакеты в монорепе, если можно просто имортить исходники?
Аноним 04/05/21 Втр 17:19:47 #462 №2019215 
>>2019200
Гитлаба хватает. В том варианте монорепы что я взял (очень тупо просто ярн воркспейс в корне) при сборке контейнера затягиваются куски т.ч. бампать не нужно, при изменении само пересобирается. М.б. это не так оптимально как публиковать их пакетами и затягивать при сборке конечно, но это нужно дополнительно уточнять - насколько.

Не хочешь пояснить почему ты считаешь вариант с монорепо самым подходящим (независимо от того как происходит сборка, если конечно не относится напрямую к преимуществам каким-либо образом)?
Аноним 04/05/21 Втр 17:23:23 #463 №2019221 
>>2019203
Прост
Аноним 04/05/21 Втр 17:28:28 #464 №2019230 
>>2019203
Чтобы лучше понять как работает библиотека.
Аноним 04/05/21 Втр 17:32:15 #465 №2019236 
>>2019215
Как минимум версионирование. Получается контейнер должен знать, что пакет брать не из ветки main master, а условной bugfix/piece-of-code, хотя контейнеру должно быть поебать, не его ответственность.
Аноним 04/05/21 Втр 17:33:29 #466 №2019242 
>>2019230
Ну так бери на гитхабе баг и чини. Вуаля, теперь ты у мамы контрибутор в попенсорц.
Аноним 04/05/21 Втр 17:34:53 #467 №2019248 
>>2019236
Довольно разумно, спасибо.
Аноним 04/05/21 Втр 17:42:05 #468 №2019261 
>>2019190
Ой иди нахуй. Это ты нихуя не разобрался. Я же к этому моменту уже все перекопал по вопросу, да и в треде мою уверенность окончательно утвердили, что это сделать в принципе невозможно. И тут приходишь ты и начинаешь пиздеть, что я чего то не знаю. Харкаю в твою напыщеную рожу. Хуже тупых людей которые нихуя не знают, только тупые, которые строят вид что они умники, когда на деле сами в вопросе нихуя не шарят и просто хотят высраться, запутывая вопрашающих ньюфагов.
Аноним 04/05/21 Втр 17:48:30 #469 №2019270 
>>2019261
Я тебе уже говорил это утром, но повторю - какой же ты все-таки тупой.
Аноним 04/05/21 Втр 17:50:24 #470 №2019273 
>>2018930
>>2018891

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

Хочу через одно модальное окно ввести данные в локальное хранилище, а оттуда на отдельную страницу с корзиной. Но как мне сделать так, чтобы по клику отреагировал только один объект, я не понял.
Аноним 04/05/21 Втр 17:51:46 #471 №2019277 
>>2019184
Кодовая база условного сервера не будет пересекаться с вротендом, даже если оба на ЖСе, так что их не имеет смысла в одном контексте держать (да и заебёшься тулинг под свою айдиешечку настраивать, который бы одновременно переваривал интерфейсы ноды и ватагу браузерных апи). Фронт-сервер - это типа отдельный сервер под папки public и templates? Если сервисы не находятся на отдельном хостинге, то их нет смысла пихать как отдельные серверы, а пропукивать амазоновские апишечки может и мейн сервер через воркеров.
Репозитории лучше пилить по хостингам, так как они рано или поздно разрастутся всякими мелкими деталями конфигов, нужных для хоста. Ну а какие-то общие конфиги можно хранить в руте монорепы в виде джейсонов.
>не чувствовать давление от DRY
Так ты о драе вспоминай когда в одном контексте ебучий бойлерплейт всплывает, а не когда в двух контекстах какая-то общая логика начинает появляться. То что она в конкретный момент времени схожа, не значит, что она не поменяется в одном из контекстов. И чем больше контекстов, разнящихся в деталях, тем больше оверхеда добавляет талмудическое следование драю.
Аноним 04/05/21 Втр 17:55:49 #472 №2019284 
>>2019194
Ну попиши интерфейсный код на ванильном жс, после тысячного вызова `document.createElement()` как раз придёшь к реактоподобной шаблонизации.
Аноним 04/05/21 Втр 17:58:18 #473 №2019290 
>>2019270
А я тебе уже говорил: "пошел нахуй". Уже то что у тебя даже никаких аргументов нет, выдает в тебе тупоролого выпендрежника. Рака яичек тебе и твоей семье
Аноним 04/05/21 Втр 17:58:30 #474 №2019292 
>>2019273
Ну или просто подскажите мне пожалуйста, как сейчас делают корзину на чистом JS (или нечистом, не знаю). Чтобы я понял, как нужно, а как не нужно.
Аноним 04/05/21 Втр 18:11:06 #475 №2019309 
>>2019292
По твоему описанию нихуяшеньки не понятно.
Аноним 04/05/21 Втр 18:12:16 #476 №2019312 
>>2019173
Ну чтобы меньше килобайтов там туда-сюда.
Аноним 04/05/21 Втр 18:15:07 #477 №2019317 
>>2019292
А самому разобраться? Это же самые основы основ.
Аноним 04/05/21 Втр 18:20:04 #478 №2019330 
>>2019292
Яйца понюхал? Иди нюхай.
Аноним 04/05/21 Втр 18:21:59 #479 №2019334 
>>2019292
Так в чем проблема просто проходить по массиву и если айдишник совпадает выводишь в заказе этот объект?
Аноним 04/05/21 Втр 18:27:02 #480 №2019348 
>>2019334
Я уже сказал фильтр юзать, это просто очередной кретин не вменямый который не хочет вникать а хочет денег.
Аноним 04/05/21 Втр 18:44:58 #481 №2019363 
изображение.png
>>2019348
Как я понял, у него там можно и с помощью фор проверять айдишник кликнутого элемента.
Просто вкатышь может и не знать фильтр, ну а фор...
Крч очередной неосилятор, работаем дальше.
Аноним 04/05/21 Втр 19:08:35 #482 №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ти тысяч. Где я проябался, сеньоры, поясните плз.
Аноним 04/05/21 Втр 19:13:45 #483 №2019394 
>>2019389
>я проябался, сеньоры
Знание названия технологии != знание самой технологии.

>Я знаю:
>typescript

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

Иди верстать учись, вкатышь.
Аноним 04/05/21 Втр 19:14:03 #484 №2019396 
image.png
>>2011386 (OP)
По совету анона пишу сюда, нид пара-тройка анонов способных собрать сайты на конструкторе, я оп треда https://2ch.hk/b/res/245873424.html#245878122


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

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

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

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

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

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

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

тг для связи potatoju1ce
Аноним 04/05/21 Втр 19:15:49 #485 №2019398 
>>2019394
>Я знаю:
>typescript
>В целом неплохо было бы поковырять:
>ООП
Я не вижу противоречий. Я использую ТС в реакте для ФП. Знать ООП паттерны в которых применяется ТС != знать ТС.
Аноним 04/05/21 Втр 19:34:00 #486 №2019410 
>>2019396
На тильде что ли говно собирать? Можешь пройти сразу нахуй.
Аноним 04/05/21 Втр 19:35:48 #487 №2019411 
>>2019398
>Я использую ТС в реакте для ФП.
Это тот ФП на ТС, в котором к функциональным объявлениям нельзя привязать тип?
Аноним 04/05/21 Втр 19:41:19 #488 №2019415 
>>2019410
Спасибо, анон, крайне отзывчиво. Я же помощь предлагал, но спасибо за мнение. Вкатывайся дальше
Аноним 04/05/21 Втр 19:42:22 #489 №2019416 
>>2019415
Ты еще и наебщик, наверное. Будешь какое-нибудь говно на гидре продавать, а придут за аноном. Съеби нахуй.
Аноним 04/05/21 Втр 19:45:37 #490 №2019421 
>>2019416
А если нет? Что ты сделаешь?

Дохуя вас вкатывальщиков, а если предлагаешь что-то стоящее, по типу той же работы, пусть и на конструкторе, тебя сразу же шлют на хуй
Аноним 04/05/21 Втр 19:46:42 #491 №2019422 
>>2019421
Люди в языки программированию вкатываются.
А не в конструкторы.
Аноним 04/05/21 Втр 19:50:54 #492 №2019424 
>>2019421
Так ты не сказал, какой конструктор, так что скорее всего тильда. В этом случае тебе не в этот тред, а в какой-нибудь /web/.
Аноним 04/05/21 Втр 19:53:18 #493 №2019426 
>>2019424
Спасибо, покатился на хуй из треда

Конструктор uKit
Аноним 04/05/21 Втр 20:55:56 #494 №2019485 
Mobx
Аноним 04/05/21 Втр 22:19:56 #495 №2019551 
Норм ли практика передавать пропсу React-компонента (да и любой функции по сути) объект с большим числом свойств, чем у него в интерфейсе TS? Решил делать так, чтобы при prop drilling'е не распаковывать в каждом слое объект, так как каждый компонент все равно ограничен типом/интерфейсом пропсов, rest, наверное недешевый, да и в самом коде будто для глаз лишний. Единственный минус заметил — в девтулзах не так удобно компонент просматривать из-за лишних свойств в объекте пропса
Аноним 04/05/21 Втр 22:22:19 #496 №2019553 
Чет дохуя вкатышей оттаяло на майских, да и мочи давненько не видно в тредике, не порядок!
Аноним 04/05/21 Втр 23:51:16 #497 №2019712 
>>2019389
>Я знаю:
>html
>css
>scss
>js
>react

На последнем пункте уже надо было идти работу искать и сейчас бы уже работал. А так потратил время на кучу технологий.
Аноним 04/05/21 Втр 23:53:45 #498 №2019720 
>>2019551
Дали им редукс, так нет же, будем свои портянки передавать на три этажа вниз.
Аноним 05/05/21 Срд 00:06:56 #499 №2019738 
>>2019389
А что ты понимаешь под пет проектами? Я вот тоже наизучал всякого, но понятия не имею что реализовать и главное выложить на всеобщее обозрение. Всякое не сложное говно уже 1000 раз сделано и переделано по всему интернету, а что придумывать сложное хз, я же не мамкин стартапер.
Аноним 05/05/21 Срд 00:46:30 #500 №2019770 
Большинство людей в ступор впадают, когда обычный js видят, мозг отказывается воспринимать информацию такого плана, ибо СЛИШКОМ СЛОЖНО для них (хотя на самом деле достаточно просто ПОДУМАТЬ, но люди ленивы и думать не хотят). Но динамическая типизация от этого хуже не становится, она отсеивает ТУПИЦ.
Аноним 05/05/21 Срд 00:53:11 #501 №2019773 
>>2019720
Лучше конечно хранить каждую без исключения портянку в глобальном стейте с тонной бойлерплейта, чтобы каждая шавка на задворках приложения могла откуда угодно эту портянку вытащить и поменять как шавке вздумается, сыглы.
Аноним 05/05/21 Срд 01:10:03 #502 №2019781 
>>2019720
у меня apollo-client, я как раз таки фрагменты прокидываю: каждый нижний компонент просит меньшего куска данных, а я даю больше, благо типы ограничивают и есть структурная типизация
Аноним 05/05/21 Срд 06:49:35 #503 №2019846 
>>2011386 (OP)
А есть ли для работы с js и вообще с веб фронтендом движки или мб плагины, которые позволяют интерфейс строить как например в Андроид студии или в Юнити. То есть не писать <кнопка на пять метров вправо></кнопка> и вот этот весь пиздец с версткой. А просто кинуть объект кнопки на полотно. А функцию уже писать на js. И чтоб html был как xml, то есть для дополнительного задротства. М?
Аноним 05/05/21 Срд 06:51:37 #504 №2019847 
>>2019770
Такого плана это какого? Я пишу на C# и джаве. Смогу ли я понять js?
Аноним 05/05/21 Срд 07:44:43 #505 №2019859 
>>2019773
Это ты к чему? Есть нужда поменять, пусть меняет. А то давайте к портянке ещё пару колбэков пристегнем.
Аноним 05/05/21 Срд 07:49:44 #506 №2019861 
>>2019846
Тильда, ебать.
Аноним 05/05/21 Срд 07:53:38 #507 №2019862 
>>2019712
Если без реакта, то есть смысл ходить на собесы?
Аноним 05/05/21 Срд 07:55:52 #508 №2019864 
>>2019781
А как ты организуешь сохранение данных? Допустим, надо в таблице чекнуть пару хуевин, потом в попапе ввести текст и нажать кнопку.
Аноним 05/05/21 Срд 08:04:25 #509 №2019868 
>>2019846
>То есть не писать <кнопка на пять метров вправо></кнопка> и вот этот весь пиздец с версткой.
Попробуй выучить CSS.
>А просто кинуть объект кнопки на полотно. А функцию уже писать на js. И чтоб html был как xml, то есть для дополнительного задротства.
Это ты React описал.
Аноним 05/05/21 Срд 08:40:15 #510 №2019881 
1455625346175313305.jpg
Как подготовить говно-проект к ревью?

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

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

И всё в таком духе.
Аноним 05/05/21 Срд 08:41:28 #511 №2019882 
>>2019881
Хороший код в комментариях не нуждается. Он САМОКОММЕНТИРУЕМЫЙ.
Аноним 05/05/21 Срд 09:17:17 #512 №2019892 
>>2018881
Додик, забрасывай в модалочку один свой объект товара и работай там с ним. У тебя товары и так должны быть уникальны хотя бы по одному признаку, зачем тебе в модалку заказа товара кидать весь список?
Аноним 05/05/21 Срд 09:19:25 #513 №2019893 
>>2019881
Линтер есть? Тесты есть?
Вообще, давай его сюда, я обоссу.
Аноним 05/05/21 Срд 10:18:38 #514 №2019944 
Кто занимался достаточно сложными анимациями в CSS, которые должны генерироваться динамически? Я со своим десятилетним опытом клепания игр на канвасе хотел было взяться за старое: целиком в JS высчитывать координаты и просто покадрово (в requestAnimationFrame) обновлять позицию элементов. Но не тут-то было: при таком подходе CSS ощутимо подлагивает уже на нескольких десятках анимаций на фрейм. При этом "нативный" transition показывает гораздо лучший результат.
Но это, блин, совершенно другая философия, чем покадрово вычисляемые координаты.

Так что у меня вопрос: есть ли вообще в CSS способ проводить над элементом несколько одновременных трансформаций с разными изингами? Например, я хочу, чтобы по оси X элемент двигался равномерно, а по Y - по квадратичной функции. Это как-нибудь реализуемо средствами CSS?
Аноним 05/05/21 Срд 11:03:13 #515 №2020056 
>>2019893
>Линтер есть? Тесты есть?
Нет, ничего этого нет.
>Вообще, давай его сюда, я обоссу.
Сюда скидываеть не буду, только в ЛС, лол.
Мне мало обоссать - мне надо узнать, как оно должно быть на самом деле; желательно конкретным примером.
П.С. Говно-проект на vue \ vuetify.

>>2019882
>Хороший код в комментариях не нуждается.
Вот только не надо.
Попадались кодеры, которым показываешь меньше ста строк кода, а они воют, что код сложно читаемый. Межтем, у самих такое дерьмо замешано, без вилки не разберёшь.
Аноним 05/05/21 Срд 11:17:32 #516 №2020079 
>>2019944
Канвас думаешь просто так придумали? Сотни манипуляций домом в секунду - пизда какое дорогое удовольствие. Обычно анимируют пару элементов всего.
Аноним 05/05/21 Срд 11:21:48 #517 №2020085 
>>2019944
Добавляешь `transform` в `transition-property` и там можешь вертеть по осям хоть свою мамашу.
Аноним 05/05/21 Срд 11:54:08 #518 №2020109 
>>2020079
>Сотни манипуляций домом в секунду
Так вроде трансформ затем и нужен, чтобы DOM не трогать при каждой перерисовке?

> Канвас думаешь просто так придумали?
У канваса нет инструментов работы со шрифтами Если нужно много интерактивного текста, канвас не вариант.
Аноним 05/05/21 Срд 12:18:28 #519 №2020140 
>>2019862
Да есть. Чем раньше начинаешь ходить на собесы, тем быстрее получаешь обратную связь, знакомишься с рынком, работаешь над ошибками. Все равно первые несколько десятков собесов будешь заваливать.
Аноним 05/05/21 Срд 12:34:14 #520 №2020174 
>>2019944
Web Animation API тебе нужны.
Это JS апи для манипуляции именно CSS анимациями. Можно делать все. И покадрово генерировать KEYFRAMES в том числе.
Аноним 05/05/21 Срд 13:01:41 #521 №2020217 
изображение.png
Есть ли движки чтобы писать игру которая генерит сцылку и чтобы friend коннектился? Типикал игры with friends мультиплеерные
Аноним 05/05/21 Срд 13:08:16 #522 №2020228 
>>2020217
Нет, генерить реферал ссылки - технически невозможно в нынешней реализации екмаскрипта.
Аноним 05/05/21 Срд 13:41:29 #523 №2020257 
>>2020228
Да ладно, наверняка уже запилили плугин для жиквери.
Аноним 05/05/21 Срд 14:08:42 #524 №2020282 
>>2020217
Сначала напиши мультиплеерную игру, а такие тупые вопросы затем отвалятся сами собой.
Аноним 05/05/21 Срд 14:30:11 #525 №2020311 
>>2020282
>>2020228
http://ru.battleship-game.org/
Ну вот пример, нужных движков нет для подобных игорь? с нуля не охото пейсать всю клиент-серверную лапшу
Сылка генерится для коннект а не реферала
Аноним 05/05/21 Срд 14:41:29 #526 №2020331 
изображение.png
>>2020140
>несколько
>десятков
Аноним 05/05/21 Срд 15:08:32 #527 №2020387 
>>2020311
Ну и сиди дальше в жопе.
p2p? Сессион очка? Напрямую? Через твой бэк?
Какая нахуй разница, действительно.
Аноним 05/05/21 Срд 15:15:35 #528 №2020401 
>>2020174
>Web Animation API тебе нужны.
Посмотрел, что такое. Выглядит как сахарок для уже существующих возможностей. При этом я всё ещё не вижу способа задать элементу экспоненциальное движение по одной оси и линейное по другой. Есть там разные изинги для разных параметров? Или мне делать миллион кейфреймов?
Аноним 05/05/21 Срд 15:28:41 #529 №2020418 
Зовут (по знакомствам) джуном пилить браузерные игры на нативном JS. Стоит идти, как думаете?
Аноним 05/05/21 Срд 15:39:31 #530 №2020441 
>>2020418
А какие у тебя варианты?
Аноним 05/05/21 Срд 16:31:51 #531 №2020517 
>>2020401
p.s. Вот же оно.
> / Multiple timing functions /
> transition-timing-function: ease, step-start, cubic-bezier(0.1, 0.7, 1.0, 0.1);
Аноним 05/05/21 Срд 16:49:31 #532 №2020538 
>>2020441
Да пока больше никаких. Просто хочу надо модный стек с реактами и редуксами, а на этой вакансии этого всего нет. С другой стороны смотрю я на вкатунов, которые месяцами вообще никуда вкатиться не могут и думаю мб это не такой плохой вариант.
Аноним 05/05/21 Срд 17:06:56 #533 №2020560 
>>2020517
pps Не, нихера не работает, по крайней мере через Web Animation API.
Аноним 05/05/21 Срд 17:12:18 #534 №2020566 
>>2020538
Ну без ванилы тебя в реакт не возьмут.
Яб пошёл, заодно окунешься в энторпрайз.
Аноним 05/05/21 Срд 18:35:08 #535 №2020677 
>>2019944
> Например, я хочу, чтобы по оси X элемент двигался равномерно, а по Y - по квадратичной функции
Если сможешь выразить эту функцию через Безье, то без проблем:
transition: left 123s linear, top 456s cubic-bezier(1,2,3,4);
Аноним 05/05/21 Срд 18:36:02 #536 №2020679 
>>2019712
Это пиздеж. Я даже на всякий случай вакансии перепроверил. Везде миллиард технологий в стеке и еще "плюс будет ...". Хуй ты куда джуном устроишься, если ты не миддл, лол.
Аноним 05/05/21 Срд 18:36:50 #537 №2020680 
>>2020679
>"плюсом будет ..."
фикс
Аноним 05/05/21 Срд 18:43:45 #538 №2020682 
>>2020679
А ты пробовал ходить?
Аноним 05/05/21 Срд 18:56:36 #539 №2020690 
>>2020682
Нет. Я еще ебейший стек не выучил, следовательно, нехуй соваться. Вот закончу алгоритмы, саги, ноду, многотомник YDKNJ, напишу штук 10 петов (как полагается, с беком, с тестами, на ТС), чтобы гитхаб сразу в глаза бросался, вот тогда буду ходить.
Аноним 05/05/21 Срд 19:35:46 #540 №2020749 
>>2020679
Так ты и выучив всю эту ебалу на миддловскую позицию не устроишься. Думаешь там идиоты сидят и схавают твои домашние поделия за коммерческий опыт? Даже не пытайся наебать там никого, себе хуже сделаешь. Ищи более менее джунские вакансии и не выпендривайся.
Аноним 05/05/21 Срд 19:41:47 #541 №2020754 
>>2020749
>Так ты и выучив всю эту ебалу на миддловскую позицию не устроишься
Так я и не собираюсь, ало. Я на ждуна пойду.
Аноним 05/05/21 Срд 20:24:26 #542 №2020786 
>>2019944
>Например, я хочу, чтобы по оси X элемент двигался равномерно, а по Y - по квадратичной функции. Это как-нибудь реализуемо средствами CSS?

Кажется, на данный момент есть только такой воркэраунд. Идея очень простая. Вопрос в том, насколько это производительно.
https://tobiasahlin.com/blog/curved-path-animations-in-css/
Аноним 05/05/21 Срд 21:14:48 #543 №2020830 
>>2020786
Есть же Motion Path в css
Аноним 05/05/21 Срд 23:03:32 #544 №2020921 
>>2019882
>Хороший код в комментариях не нуждается. Он САМОКОММЕНТИРУЕМЫЙ.
Это применимо не ко всем областям. В том же машобе у меня зачастую по несколько строк комментариев на одну строку кода. Да и в вебе попадаются моменты, когда приходится комментировать некоторые неочевидные вещи.
Аноним 05/05/21 Срд 23:05:55 #545 №2020925 
>>2020921
Не очевидные вещи занимают небольшую часть от общей массы и обычно это высокооптимизированные куски. Нахуй остальной код засирать комментами на корявом рунглише, лучше просто написать простой код.
Аноним 06/05/21 Чтв 00:20:03 #546 №2020996 
>>2019738
Все, что приходит в голову. Я обычно реализую что-нибудь, что занимает не больше одного дня (с оговоркой на мои умения). На что-то дольше у меня обычно пропадает интерес.
Аноним 06/05/21 Чтв 01:05:15 #547 №2021043 
https://static-sl.insales.ru/images/products/1/2400/417876320/44611701.jpg
Аноним 06/05/21 Чтв 03:24:27 #548 №2021079 
>>2020996
Что полноценного можно запилить за день?
Аноним 06/05/21 Чтв 04:48:41 #549 №2021091 
>>2020830
Нет поддержки в сафари, да и сама концепция весьма ограниченная, не сильно лучше кейфреймов, насколько я понял.
Аноним 06/05/21 Чтв 06:57:12 #550 №2021114 
tt.png
>>2021091
p.s. Всё свелось к такому решению, лол. Буду сейчас тестировать, что там по производительности получается.
Аноним 06/05/21 Чтв 09:41:22 #551 №2021162 
>>2021114
https://www.youtube.com/watch?v=Z8-EM1znIrU

Кстати, зачем игры на js делать? Есть же всякие юнити-хуюнити.
Мимо вкатышь.
Аноним 06/05/21 Чтв 11:02:13 #552 №2021254 
>>2021162
Зачем нужен хуюнити, если есть жс?
Аноним 06/05/21 Чтв 11:46:49 #553 №2021309 
>>2021114
Ну как успехи? Лень пробовать.
Аноним 06/05/21 Чтв 13:52:26 #554 №2021501 
>>2021309
>Ну как успехи? Лень пробовать.
По производительности - мне хватает.
А вот с вращением не очень получилось. Транслейт работает like a charm, но вот поворотный контейнер внутри поворотного контейнера иногда выдаёт такие странные штуки, что мне даже стало лень с этим разбираться. В итоге оставил слайдеры по осям и только один "шарнир" для поворота по всем углам. Обойдусь без разных изингов для rotateX, rotateY и rotateZ.

>>2021162
>Кстати, зачем игры на js делать? Есть же всякие юнити-хуюнити.
Весь смысл игр на JS в том, что они в другой лиге, нежели игры на десктопе. У тебя обед/начальник отвернулся - ты щёлкаешь по закладке и уже через секунду играешь. Закрыл вкладку - чист перед законом.
Аноним 06/05/21 Чтв 14:25:07 #555 №2021530 
В Typescript есть Record, хочу на уровне типов сделать массив (кортеж) объектов из всех свойств этого Record:

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

А на выходе надо иметь значения:
[
{
label: 'mappedValue1',
value: 'propA',
...
},
];
Аноним 06/05/21 Чтв 14:43:35 #556 №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));

Как изменить, что б сортировать по пересадкам?
Аноним 06/05/21 Чтв 14:51:31 #557 №2021582 
image.png
>>2021530
Массив легко, кортеж - не ебу чет. https://www.typescriptlang.org/play?#code/KYDwDg9gTgLgBAYwgOwM7wJbICYYQQxmlTgF44BvAKDjjCgjAEEAuOAcgFt8wxhsAavgA2AV2ABGdgBoadBmABCbLjz6CR4gEwy59RgGEV3XvyFjgAZl219YACLG1ZzcAAsugL5x8JJGhgAbioqGABPPjgASRw8QmIyOHC+CAAzOCxcAiIoVGDQiOA4ACVgVFFheHImKCh8MIAealoAbQBpDOQ4AGtgMLTo2OziAF02Zto4ADdXNjbgybhhfAAjYGE2GKz43PaRhbhPKk8W3v70rbic1BGAPnzkoqZEs4HL4dz8-3Q4KDKKmBsUrlSqJFpyCa0GYWNgAIjsTFhskWyzWGw4JnU5nEUjkR32VCAA
Аноним 06/05/21 Чтв 14:57:05 #558 №2021602 
>>2021501
>через секунду играешь.
Недавно анон в прошлом/позапрошлом треде писал, что его надзиратель уволил за неуспеваемость.

Какую игру думаешь сделать, если не секрет?
Аноним 06/05/21 Чтв 15:17:45 #559 №2021654 
>>2021560
>Как изменить, что б сортировать по пересадкам?
Так сортировать или фильтровать? Сформируй вопрос нормально блядь, откуда такой вкатываешься?
Аноним 06/05/21 Чтв 15:34:46 #560 №2021696 
>>2021582
с type Result круто, спасибо, только хочу, чтобы компилятор ругался, когда в const result не все свойства из const indicators в качестве элементов использованы, как в Record
Аноним 06/05/21 Чтв 15:46:58 #561 №2021713 
>>2021654
Фильтровать
Аноним 06/05/21 Чтв 15:53:20 #562 №2021721 
>>2021079
Мувисерчер можно запилить за пару часов.
Аноним 06/05/21 Чтв 16:10:33 #563 №2021727 
>>2021530
>>2021582
>>2021696
Я пока сделал по-тупому: через Record и в рантайме с Object.entries()
Аноним 06/05/21 Чтв 16:15:50 #564 №2021730 
>>2021721
>Мувисерчер
Это что-то старое. Мем какой? Что такое этот ваш "Мувисерчер"?
Аноним 06/05/21 Чтв 16:28:40 #565 №2021740 
Как же охуенно что появился svelte
До последнего хуярил на ваниле свои небольшие проекты, т.к люто выворачивает от реактоговна

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

Это будущее
Аноним 06/05/21 Чтв 17:05:47 #566 №2021786 
>>2021713
> tickets.filter(ticket => ticket.segments.length = 1)
Аноним 06/05/21 Чтв 17:07:04 #567 №2021787 
>>2021730
Инглиш, мазафакер, ду ю спик ит?
Аноним 06/05/21 Чтв 17:11:30 #568 №2021792 
>>2021786
> ===
Быстрофикс
Аноним 06/05/21 Чтв 17:16:48 #569 №2021798 
>>2021787
Ай ду..
Фильмопоиск. Понятней не стало. Зачем пилить фильмпоиск, блять?! Это типо парсер какой-то?
Или блять обычная сортировка что ли?
Аноним 06/05/21 Чтв 17:18:39 #570 №2021802 
>>2021798
Гуйня к апишечке imdb.
Аноним 06/05/21 Чтв 19:02:40 #571 №2021990 
Есть инфа как в Реакте использовать данные из Url? У меня есть такая ссылка <Link to="/item/1">Товар</Link>, которая очевидно отсылает на страницу /item/1, но я хотел узнать как использовать эту единицу (например записать в переменную и т.д.). Пару недель изучаю Реакт, но никак не могу понять как передать данные между компонентами (пока умею только через localStorage).
Аноним 06/05/21 Чтв 19:03:41 #572 №2021992 
>>2021990
Так тебе роутер через контекст параметры все отдает.
Аноним 06/05/21 Чтв 19:06:14 #573 №2022000 
>>2021990
> /item/1
А как ты до этого докатился без роутера?
> никак не могу понять как передать данные между компонентами
Щас вкатыши начнут кукарекать за пропсы, но ты просто прикрути редукс.
Аноним 06/05/21 Чтв 19:21:06 #574 №2022031 
>>2021740
Лол когда пробовал это говно даже хелловорд не скомпилился с ошибкой
Аноним 06/05/21 Чтв 19:46:05 #575 №2022072 
Вот бы мне тянки также писали как эйчарки...
Аноним 06/05/21 Чтв 19:49:24 #576 №2022076 
>>2021602
>Какую игру думаешь сделать, если не секрет?
Пошаговый коффибрейк-роглайк с боёвкой как в Disciples-2 и оригинальной механикой захвата карты. Серьёзно, в двух словах не объяснить, этому пет-проекту семь лет будет осенью (из которых года три активной разработки).
Аноним 06/05/21 Чтв 20:22:08 #577 №2022103 
Посрал, потом сходил за сигами, программировать сегодня не буду. Сеймы есть?
Аноним 06/05/21 Чтв 20:25:14 #578 №2022104 
>>2021501
>>2022076
>>2019944
Что за шиза? Любую такую хуйню на канвасе делают, потому что канвас это почти прямой буфер к видеоядру. CSS это думзалупа.
Аноним 06/05/21 Чтв 20:56:27 #579 №2022121 
>>2022103
Лучше сходи за редукс сагами ебаными
Аноним 06/05/21 Чтв 21:10:31 #580 №2022128 
>>2022104
>Любую такую хуйню на канвасе делают
Какую - такую?
Если у тебя не спелунки, где можно играть джойстиком, а что-то типа ККИ, где есть карты, на которых есть надписи и на которые могут быть наложены эффекты, представленные значками, и каждый значок эффекта должен быть интерактивным.
Не, канвас хорош для своих целей, а CSS для своих. У меня вообще three.js раньше юзался в этом проекте, но однажды я потестил его на мобилках и понял, что подлаг от инициализации либы слишком огромный, и он не закэшируется, как 500кб её веса.
Аноним 06/05/21 Чтв 21:20:42 #581 №2022142 
сыч и хикка войди в славный вебчик фронтенд ты своим не поверишь глазам
ждет тебя впереди стилей каскад ты готов открывайся вскод

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

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

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

хоть сложон и заеб но прекрасен фулсток
google.com stackoverflow и вперед
пусть от пхп пронесет и jquery умрет
пиздуй в фулстак куда эйчарка зовет!
Аноним 06/05/21 Чтв 21:32:36 #582 №2022159 
>>2022142
>пиздуй в фулстак куда эйчарка зовет!
Нахуя кстати? На чистом фронте зп примерно такие же.
Аноним 06/05/21 Чтв 21:38:23 #583 №2022163 
>>2022128
вот результат изысканий в CSS по итогам треда
https://jsfiddle.net/cgyL82pn/
Аноним 06/05/21 Чтв 21:38:53 #584 №2022164 
>>2022159
Интересней ну и найти можно больше все же
Аноним 06/05/21 Чтв 22:03:38 #585 №2022185 
Ну и где тот пиздабол, что обещал, что тпед будет перекатываться всегла во время. Какого хуя трел в бамплимите вторые сутки? Какого хуя все предыдущие трелы по несколько дней весят в бамплимите?
Аноним 06/05/21 Чтв 22:24:25 #586 №2022207 
16194459485830.gif
>>2022142
Аноним 06/05/21 Чтв 22:30:26 #587 №2022213 
>>2022159
Диверсификация.
Аноним 06/05/21 Чтв 22:39:30 #588 №2022220 
>>2022213
Насколько вообще обоснованы страхи, что фронт перегрет и при первом же кризисе зарплаты уйдут в пол?
Аноним 06/05/21 Чтв 22:47:41 #589 №2022229 
image.png
Анон, чем собрать в браузере из нескольких svg файлов псевдо 3д модель? Например самое простое, собрать куб по образу пикрелейта? Тут очень важно, что бы все стороны куба брали ресурсы из файлов на диске.

Инб4, нахуя так сложно: я в программе inkscape хочу сделать для некого ящика стороны, но у этих сторон есть замки по краям пикрелейт, в форме прорезей в виде буквы Т, и мне нужно видеть совпадают ли прорези у сторон куба например А и Б.
Аноним 06/05/21 Чтв 23:03:54 #590 №2022238 
>>2022220
Хз, главное не быть мудаком, а род деятельности не важен.
Я вот прочно окопался на проекте, даже менеджерка слабо представляет все процессы. Можно сказать, что автобусный фактор равен 1.
Аноним 06/05/21 Чтв 23:04:32 #591 №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)

Как локаль добавить?
Аноним 06/05/21 Чтв 23:07:17 #592 №2022244 
>>2022229
<img src="yoba.svg" height="14" width="88"/>
Аноним 06/05/21 Чтв 23:16:53 #593 №2022249 
>>2022239
Да никто тут не будет дебажить велосипеды по переписке. Сам себе головняк создал, сам и разгребай.
Аноним 06/05/21 Чтв 23:29:19 #594 №2022272 
>>2022244
http://carvisualizer.plus360degrees.com/threejs/
Аноним 07/05/21 Птн 00:41:15 #595 №2022377 
image.png
>>2022142
Аноним 07/05/21 Птн 01:10:13 #596 №2022400 
Нужно ли в Реакте делегировать события
Аноним 07/05/21 Птн 01:37:57 #597 №2022407 
>>2022249
Да понятно, думал, может, кто еще в AntD date-fns ставил вместо moment'а. задача популярная вроде
Аноним 07/05/21 Птн 05:25:45 #598 №2022457 
Стикер
>>2022103
Нефеговая подготовка к пятнице. Балдеж
Аноним 07/05/21 Птн 08:23:55 #599 №2022492 
Дарова пацаны
Прошу вас, объясните на пальцах, зачем нуден REACT
Я учу его пару дней, т.к он самый популярный фреймворк, но я совсем не понимаю зачем нужны танцы с бубном и писанина в 100 строк, если можно просто добавить в HTML то что ты хочешь.
Как я понял, реакт нужен для автоматизации, или он как-то с бэком подключается через апи, ну крч вот эти возможности которых нет в ванильном хтмл5. Ещё я не могу понять зачем нужно ставить сайт на локалхост? Не судите строго, я и ES6 не особо понимаю зачем, но JS знаю в общем хорошо, спасибо за совет
Аноним 07/05/21 Птн 08:47:30 #600 №2022499 
>>2022492
>зачем нужны танцы с бубном и писанина в 100 строк, если можно просто добавить в HTML то что ты хочешь.
А ты так пробовал? Ты ж взвоешь и попросишь реакт, когда начнешь делать spa или сложный динамический интерфейс.
Аноним 07/05/21 Птн 09:08:40 #601 №2022513 
>>2022492
>Ещё я не могу понять зачем нужно ставить сайт на локалхост?
>но JS знаю в общем хорошо
Аноним 07/05/21 Птн 09:14:56 #602 №2022517 
Стикер
>>2022492
Чет судя по твоей простыне - у тебя какая-то каша в голове. Реакт это просто библиотека, позволяющая создавать удобные пользовательские компоненты, которыми легко манипулировать. Намного легче, чем писать миллионы строк и отслеживать изменения с помощью ванильного JS.
Аноним 07/05/21 Птн 09:18:18 #603 №2022518 
>>2022239
У тебя же написано, что

> Cannot read property 'options' of undefined

Куда options дел? Почему не передаешь или передаешь пустоту?
Аноним 07/05/21 Птн 09:52:12 #604 №2022527 
>>2022400
Нет
Аноним 07/05/21 Птн 09:52:51 #605 №2022528 
>>2022517
Так реакт же фреймворк а не библиотека, Jquery например я пробовал и понимаю более менее за чем, а вот реакт, ну удобненько, но все ещё сложно для понимания
>>2022499
я же прошу пояснить, а не >spa или сложный динамический интерфейс
Аноним 07/05/21 Птн 09:56:45 #606 №2022530 
>>2022492
Реакт позволяет создавать SPA. Плюс ко всему, у реакта есть внутренний virtualdom, в который сначала вносятся изменения при рендере элементов, потом изменения сравниваются с текущим домом, и в текущий дом вносятся только те изменения, которые отличаются от виртуального, страница целиком не обновляется. Правда я не знаю каким образом реакт обновляет только необходимые элементы и не заставляет бровсер перерисовывать всё целиком.
Аноним 07/05/21 Птн 09:57:21 #607 №2022532 
>>2022528
Реакт это библиотека, а не фреймворк. Ты с ангуляром или вуем путаешь.
Аноним 07/05/21 Птн 10:37:56 #608 №2022583 
>>2022532
Реакт можно назвать фреймворком в том смысле, что он довольно-сильно диктует принцип написания кода и вообще подход к разработке. Так что с этой точки зрения, реакт - фреймворк. Но кому вообще не похуй?
Аноним 07/05/21 Птн 10:59:12 #609 №2022632 
>>2022583
Но он ничего не диктует, ты с JSX путаешь, который можно и без рякта пользовать (и рякт без JSX).
В самом реакте ты просто прокидываешь функции и жонглируешь скоупом, то есть пишешь типичный жс код.
Аноним 07/05/21 Птн 11:32:50 #610 №2022702 
react hooks
Аноним 07/05/21 Птн 11:39:24 #611 №2022715 
Где перекат, ленивые жопы?
Аноним 07/05/21 Птн 12:09:21 #612 №2022760 
>>2022377
'156' же
Аноним 07/05/21 Птн 12:16:16 #613 №2022777 
15813264306482.png
Анончики, помогите с регуляркой

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

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

Так же, если символ стоит МЕЖДУ, например "КАК-НИБУДЬ" или "CAT'S", то в данном случае нужно удалить символ и заменить пробелом чтобы не слипалось
Аноним 07/05/21 Птн 14:13:31 #614 №2022932 
>>2022777
> тренд вместо гугла
someString.replaceAll("([^\\p{L}\\p{N}])", " ");
Аноним 07/05/21 Птн 14:22:43 #615 №2022941 
>>2022932
Не сработает твое выражение. Уже нашел рабочий вариант

someString.replaceAll(/([^\u00C0-\u1FFF\u2C00-\uD7FF\w])+/g, " ")
Аноним 07/05/21 Птн 14:34:01 #616 №2022957 
image.png
Существует ли библиотек по генерации форм слова?

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

красивый

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

красивая, красивой, красивую, красивыми и т.п
Аноним 07/05/21 Птн 14:57:36 #617 №2022988 
>>2022957
Да.
Аноним 07/05/21 Птн 14:59:05 #618 №2022992 
>>2022530
>SPA
Зачем они нужны? В чем преимущество перед обычным многостраничником? Как будет индексироваться контент в поисковиках?
Аноним 07/05/21 Птн 15:09:32 #619 №2023013 
>>2022992
Зачем тебе в многостраничниках сложный интерфейс?
Аноним 07/05/21 Птн 15:10:31 #620 №2023015 
>>2022988
Они платные

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

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

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

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

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

но непонятно, какие ключи тут

Аноним 07/05/21 Птн 15:14:29 #621 №2023025 
>>2023015
Типичная пидераха, абы спиздить.
Аноним 07/05/21 Птн 15:16:29 #622 №2023028 
>>2023015
Что непонятного? Девтулз показывает какие поля в запросе

keywords[]: жопа
morphy_options: 0
not_morphy_list[]:
not_morphy_words: 0
morphy_comma: 0
Аноним 07/05/21 Птн 15:20:59 #623 №2023031 
>>2023028
не рабоатет , уже чекал

теперь вопрос, почему?

Аноним 07/05/21 Птн 17:18:29 #624 №2023179 
>>2022992
У тебя без SPA страницы перезагружаться будут постоянно

>>2022632
Ой блядь, ну конвенция в рякте есть? Есть, вот и пиши так. А раз пишешь так, значит почти фреймворк.
Аноним 07/05/21 Птн 17:46:23 #625 №2023231 
>>2023179
>У тебя без SPA страницы перезагружаться будут постоянно
Пускай. Если ты кешируешь повторяющийся контент, то это не проблема.
Аноним 07/05/21 Птн 17:54:55 #626 №2023248 
>>2023179
>У тебя без SPA страницы перезагружаться будут постоянно
Они и в спа будут перезагружаться, просто перезагрузка будет идти фетчем и ререндерингом DOMa, к которому прикрепляются костыли в виде мамкой клянусь неглобального состояния и всяких листенеров микропуков.
>Ой блядь, ну конвенция в рякте есть?
Без конвенций ты и два модуля не напишешь.
Аноним 07/05/21 Птн 17:57:37 #627 №2023254 

>>2023231
> Пускай. Если ты кешируешь повторяющийся контент, то это не проблема.
Ага, проблема у юзера, который твою портянку через 3Г грузит.
Аноним 07/05/21 Птн 18:05:41 #628 №2023262 
>>2023254
Проблема у юзера, когда на него скидывают кучу логики в браузер.
Аноним 07/05/21 Птн 18:08:20 #629 №2023267 
>>2023262
А, ты из этих, которые корзину на бэке пересчитывают.
Аноним 07/05/21 Птн 18:10:43 #630 №2023270 
>>2023267
Ты корзину без бэка не пересчитаешь, лол.
Аноним 07/05/21 Птн 18:21:57 #631 №2023284 
>>2022128
> Какую - такую?
60фпс же.
> должен быть интерактивным.
Енто проблема, енто да. Но решается одним буфером.
> подлаг от инициализации либы слишком огромный, и он не закэшируется, как 500кб её веса.
Значит ты какую-то хуйню сделол. В идеале на three вообще нет никаких "подлагов", и не 500кб, а 250-300.
Three можно вообще уменьшить до 100кб или даже меньше.
Аноним 07/05/21 Птн 18:30:13 #632 №2023290 
>>2023262
Ну так не делай много логики. Хотя бы преакт возьми, если не способен на что-то другое.
Аноним 07/05/21 Птн 19:38:19 #633 №2023359 
Перекатывать будем?
Аноним 07/05/21 Птн 19:40:21 #634 №2023362 
>>2023290
Я просто не могу понять для чего нужны SPA с точки зрения бизнеса, который должен выбирать именно их. Пока все, что я читаю об SPA похоже на какое-то наебалово. Их разработка дороже, с индексацией и вообще SEO проблемы. Чтобы избавиться от этих проблем, нужно танцевать с бубном и делать SPA похожим на многостраничник (настраивать роутинг и присобачивать урлы) и тогда тем более не понятно, что мешает сразу сделать многостраничник и продвигать его в поисковике и рекламе.
Аноним 07/05/21 Птн 19:41:23 #635 №2023364 
>>2023290
Да логики может быть как угодно много. Вопрос нахрена это все нужно на клиенте?
Аноним 07/05/21 Птн 19:46:53 #636 №2023366 
>>2023364
Ебта, если тебе не нужно спа, значит не делай спа. Другие пользуются, потому что им норм.
Не хочешь от стада отбиться или чо?
Аноним 07/05/21 Птн 20:01:16 #637 №2023373 
>>2021786
>ticket.segments
Ты имел ввиду segments[n].stops.length ?
Аноним 07/05/21 Птн 20:02:53 #638 №2023374 
>>2023362
Ну вот в стародавние времена писали десктопы, а теперь не пишут, обновления там, кроссплатформа, еще что нибудь наверное. СЕО там не надо и продвигают его не через сео. Делать такое серверсайд многие пытались, никто не преуспел. Потом в чат входит жаваскрипт
Аноним 07/05/21 Птн 20:05:18 #639 №2023377 
>>2023373
Типа того.
Аноним 07/05/21 Птн 20:19:24 #640 №2023381 
Так значит GraphQL это просто стандарт? Я много потерял, если прочитал основы на howtographql, не особо вникал в доки на graphql.com, а вместо этого сразу собираюсь изучать доки аполло? Я же только время проебу читая одно и тоже 2 раза, лучше на примере graphql реализации (аполло) сразу вникать что к чему, чем на примере абстрактного стандарта (хотя в доках видел примеры кода на жс)
Аноним 07/05/21 Птн 20:24:26 #641 №2023385 
>>2019389
нахуя тебе весь это винигрет? учи технологии, с которыми планируешь работать первое время на работе, всё остальное наверстывается уже в процессе на реальных задачах тогда и поймёшь в какую технологую лучше углубиться, а какую скипнуть к хуям собачим
Аноним 07/05/21 Птн 20:42:24 #642 №2023393 
>>2023385
Это все просят в требованиях к джуновским вакухам. Велком ту 2к21 пост ковид ворлд, когда кассиры и охранники масссово вкатываютсяя во фронт. Со стеком хтмл ксс жс реакт редукс сейчас только хуй за щеку можно найти.
Аноним 07/05/21 Птн 20:56:54 #643 №2023408 
>>2023362
>Их разработка дороже, с индексацией и вообще SEO проблемы
С чего вдруг разработка дороже, шиз? Ты половину бека по сути на фронте крутишь, для СЕО есть SSR, роутинг это у тебя танцы с бубном, а кодить ты вообще как собрался? Ты на нексте пробовал многостраничник делать? Для этого буквально нужно создать папку с файлом, всё. Ты вообще работал со всем этим или с головы всё берешь? Пиздец.

>>2023393
Да в вакансиях просто рандомно хуярять все что можно как кейворды. Там 80% "технологий" это 3-4 часа чтения доки, такого никто по хардкору не требует. Если у тебя есть хорошее знание жс + любой современный фреймворк на хорошем уровне, это уже почти пройденный собес. Какие там охранники код пишут, можешь показать-то? Наслушаются этих охуительных историй. Для рандомного нормиса поставить себе IDE, ноду и страничку в браузере запустить это уже рокет сайенс. Учи блядь нормально жс, напиши сложную приложуху многостраничную, оформи всё нормально и можешь пиздовать на собесы. "сложная" приложуха, это какой-нибудь простейший мувисерчер с логином и возможностью добавления фильмов в избранное, я не шучу, думаешь там без лично написанного фейсбука не возьмут? Меня вот с такой хуетой уже приглашали, хотя у меня просто висело резюме и я сам никому не писал. А дальше будешь срать на собесах, пока не научишься не срать на собесах.
Аноним 07/05/21 Птн 21:09:41 #644 №2023422 
>>2023408
Основной подводный камень в том, что ты играешь в эту игру не против херки или техдира или хуй знает кого, а против таких же вкатышей. Вот придет нас 10 человек, если все со стеком хтмл ксс жс реакт (у всех примерно однаковый скилл), то я хуй знает, почему должны взять именно меня, я скорее всего нахуй пойду. А так у меня туз в рукаве есть, строгая типизация, тесты, сервер с аутентификацией, SSR и алгоритмы. Да и не очень-то хочется слишком много собесов заваливать, когда в мухосранске во время второй волны ковида кол-во вакансий на реактомакаку-джуна срезало нахуй со ~140 до ~20.
Аноним 07/05/21 Птн 21:11:42 #645 №2023425 
>>2023422
Ну так ты там понаписал стекохуеты на 200 человек, а так всё нрм
Аноним 07/05/21 Птн 21:14:07 #646 №2023431 
>>2023425
> Ну так ты там понаписал стекохуеты на 200 человек
Где? Что там такого-то? Дефолтный джуностек в 2к21.
Аноним 07/05/21 Птн 21:57:08 #647 №2023460 
>>2023408
>Меня вот с такой хуетой уже приглашали, хотя у меня просто висело резюме и я сам никому не писал. А дальше будешь срать на собесах, пока не научишься не срать на собесах.
Ты забыл упомянуть, когда вкатился.
Аноним 07/05/21 Птн 22:04:48 #648 №2023470 
>>2022528
Реакт не фреймворк, а библиотека. Такаяже, как жквери.
Аноним 07/05/21 Птн 22:07:28 #649 №2023474 
>>2023460
"Уже" в том смысле, что этого было достаточно. Вкатился около года назад
Аноним 07/05/21 Птн 22:10:04 #650 №2023478 
>>2023267
А ты изтех, кто не пересчитывает?
Аноним 07/05/21 Птн 22:18:46 #651 №2023483 
>>2023478
Да, на бэке у меня совсем уже эзотерическая ебанина вроде генератора вордовских документов и апишечек с авторизацией по сертификатам.
Аноним 07/05/21 Птн 23:29:51 #652 №2023553 
>>2023483
Здорово. А товары в корзине ты на клиенте считаешь, да?
Аноним 08/05/21 Суб 01:00:16 #653 №2023633 
>>2022492
Реакт нужен для создания веб-приложений. Веб-приложения отличаются от обычного сайта тем что подразумевают большую интерактивность и нетривиальное взаимодействие с пользователем. Вэб-приложение это калькулятор, интерактивная гео-карта, чатик, терминал для биржи, мультиплеерная игра. Всё это можно написать и без реакта, но на реакте это сделать проще.
Если у тебя простой сайт с формой обратной связи или бложек реакт не нужен.
Аноним 08/05/21 Суб 01:00:43 #654 №2023634 
>>2023422
Преимущество - это знание еще какого-нибудь языка, помимо JS/TS, это знание и понимание базы (алгоритмов и структур данных). Это то, что реально отличает человека, основательно идущего в сферу от поверхностного нормиса. На собесах отсеивают прежде всего поверхностных манек, которые выучили хуйню по роадмапам, а за их пределами не в курсе как веб и кодинг вообще устроены.
Аноним 08/05/21 Суб 01:07:21 #655 №2023640 
>>2023408
>С чего вдруг разработка дороже, шиз?
С того, что сделать сайт на PHP без всей твоей фронтодрисни дешевле. Почему кабан должен выбирать твои кручения на фронте? Ты в курсе как много пользователей даже не заходят на сайт, когда видят как долго вся эта хуйня грузится от того, что ты кучу хуеты вывалил на клиент? Посмотри статистику посещаемости крупных порталов. Куча народу до сих пор заходит с допотопных мобил, предлагаешь бизнесу выбрасывать их за борт, потому что у тебя модная еба, в которой половина бэка крутится на фронте?
Аноним 08/05/21 Суб 01:18:09 #656 №2023652 
Помогите понять.
Обычно когда объясняется, что такое асинхронность в JS, то говорится об Event loop, очереди синхронного кода, очереди микро и макро задач. И в целом можно представить что весь код JS это очередь. И в паралельности там работают либо созданые вручную воркеры, либо воркеры из под капота типа таймингов.

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

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

Правильно я мыслю?
Аноним 08/05/21 Суб 01:20:05 #657 №2023653 
>>2023362
> Я просто не могу понять для чего нужны SPA с точки зрения бизнеса
Быстрозагружаемые микространчки на свелте. Или интерактивные 60фпс странички на среакте. Или просто красивые продающие штраницы.
> похоже на какое-то наебалово.
Это называется капитализм, добро пожаловать.
> Их разработка дороже, с индексацией и вообще SEO проблемы.
Они работают через рекламу. Но никакой индексации или сео-проблем нет на шамом деле, тебе показалось.
> что мешает сразу сделать многостраничник и продвигать его в поисковике и рекламе.
Мешает отсутствие 60 фпс при онлисервер рендере. А 60фпс вполне себе продают.

>>2023364
Так не делай логику на клиенте, я же тебе написал. Логика на апи-сервере лежит.
Бизнес-наебщикам логика на клиенте нужна чтобы сервера разгрузить. На эти СПА приходят миллионы клиентов в день, например, и весьма важно чтобы за сервер платить меньше, а контент по цдн и апи раскидывать.
Аноним 08/05/21 Суб 01:22:27 #658 №2023654 
>>2023652
> Однако на практике асинхронные запросы выполняются быстрей.
Они не быстрей.
> они всё же работают параллельно?
В ЖС нет параллелизма, кроме вебворкеров.
> Правильно я мыслю?
Не знаю, я не читал.
Аноним 08/05/21 Суб 01:35:07 #659 №2023664 
>>2023654
>Они не быстрей.
Быстрей.
Аноним 08/05/21 Суб 01:55:59 #660 №2023674 
>>2023664
Сервер быстрее данные отдает если await написать?
Аноним 08/05/21 Суб 01:58:57 #661 №2023675 
>>2023674
ты жопочтец, уходи
Аноним 08/05/21 Суб 02:04:31 #662 №2023677 
>>2023675
Если не писать await то сервер быстрее данные отдает?
Аноним 08/05/21 Суб 02:05:11 #663 №2023678 
>>2023677
Код быстрее выполняется.
Аноним 08/05/21 Суб 05:20:00 #664 №2023714 
image.png
>>2023652
Держи, почитай!
https://habr.com/ru/company/ruvds/blog/337042/
Аноним 08/05/21 Суб 06:18:46 #665 №2023722 
>>2023640
>на PHP без всей твоей фронтодрисни
А что тогда он показывает? Сайт на PHP, если браузер только фронт понимает!
>Почему кабан должен выбирать
В том то и дело что выбирает кабан то что дешевле сделают, а потом набравшись опыта, то что дешевле обойдется!
>твои кручения на фронте?
BFF снимает нагрузку на сервер, сервер на миллионы пользователей стоит недешево.
>Ты в курсе как много пользователей даже не заходят на сайт, когда видят как долго вся эта хуйня грузится
Слышал про 4сек. В Lighthouse PWA на Реакте летает и загружается быстро, стоит только исправить проблемы на которые тебе укажут.
> Куча народу до сих пор заходит с допотопных мобил
WEB приложухи собираются и транспилируются в старый JS, а также оптимизируются под браузеры которые использует более 1% пользователей.
>предлагаешь бизнесу выбрасывать их за борт
ТыТруб на PWA, Впараш заглушку ставит на не тех браузерах.
Аноним 08/05/21 Суб 06:45:14 #666 №2023725 
>>2023653
>Но никакой индексации или сео-проблем нет на шамом деле, тебе показалось.
Не пизди, из поисковых движков только гугл честное слово дал, что он прогружает клиентские скрипты. Остальные просто забьют на твоё СПА-говнецо.
Аноним 08/05/21 Суб 09:37:34 #667 №2023763 
test.PNG
Прохожу курс
Аноним 08/05/21 Суб 10:39:29 #668 №2023805 
>>2023763
Как оно?
Аноним 08/05/21 Суб 10:42:03 #669 №2023806 
Че-то не врубил: мы await-им реквест по типу:
response = await fetch(url)

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

Что тут асинхронно await-ить? Респонс уже получен жи
Аноним 08/05/21 Суб 10:46:40 #670 №2023808 
>>2023805
Годно. Искал хороший курс по ФП и надыбал на этот - автор оказывается автор и редактор двух книг которые я осилил по ФП в JS (Functional Light JS и Mostly Adequate Guide to FP). Так что приятно увидеть вживую.

Сам курс конечно, intermediate уровень (сначала нужно книги прочесть), но очень годный, который можно вполне применять на работе, в конце курса идет написание редакса (который по сути Reader монада) с блекджеком и шлюхами, а у нас на работе как раз Редакс + Ramda
Аноним 08/05/21 Суб 10:50:08 #671 №2023809 
>>2023362
Дед, пиздуй в утиль

мимифуллстак, успевший покодить и на пхр
Аноним 08/05/21 Суб 10:51:14 #672 №2023812 
>>2023809
пхп
Аноним 08/05/21 Суб 10:59:53 #673 №2023820 
>>2023633
спасибо анон, ты ответил на то что я спрашивал
Аноним 08/05/21 Суб 11:02:01 #674 №2023822 
>>2023362
Лучше юзер экспириенс, ты можешь пиздеть что угодно, но по статистике чем быстрее/плавнее сайт, тем выше продажи/retention.

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

Если делать через дефолтный ХТМЛ, у тебя будет триллион перезагрузок, юзерам не нравится. Хотя я сам лично люблю стандартный веб, а не лагучее реактодерьмо. Но даже с реактолагами, все равно ощущение "живости" и динамические подгрузки страниц и компонентов улучшают юзер экспериенс.
Аноним 08/05/21 Суб 11:13:45 #675 №2023836 
>>2023822
А с реактоговном можно сделать суезный магазин?
И я же правлиьно понимаю, что спа подтягивает данные с сервера, типо как ажакс.
Типо вот у тебя главная, кликаешь на раздел, он открывается без березагрузки. Кликаешь на товар, а там актуальные данные подтянутые с сервера, открывшиеся без перезагрузки.
Мимо вкатышь, почти ничего не слышал про рякт кроме двачей.
Аноним 08/05/21 Суб 11:19:05 #676 №2023843 
>>2023806
Тому що тело респонса - это поток, его надо для начала качнуть в память, потом уже распрсить.
Аноним 08/05/21 Суб 11:21:46 #677 №2023847 
>>2023836
Можно.
Да, правильно.
Аноним 08/05/21 Суб 11:28:40 #678 №2023861 
16203085714900.png
>>2023847
Круто. Значит когда-нибудь вкачуть в рякт.
Аноним 08/05/21 Суб 11:29:43 #679 №2023865 
>>2023861
Вголос
мимо с Киева
Аноним 08/05/21 Суб 11:49:32 #680 №2023883 
Screenshot1.png
>>2023714
>Держи, почитай!
Ничего нового для себя я там не увидел. Возможно я просто слеп, но эти объяснения с consol log и setTimeout я уже и так читал.
Дайте простой ответ почему код асинхронный код на пикриле быстрее почти в три раза.
Аноним 08/05/21 Суб 11:56:48 #681 №2023892 
>>2023883
Тому що в первом случае все запросы стартуют синхронно, но ответы приходят болименее параллельно.
Во втором - ты руками синхронизируешь запросы.
Аноним 08/05/21 Суб 11:58:39 #682 №2023893 
b680e5499411be4efac1431a529cb877.jpg
>>2023892
Ок. Спасибо, я это и хотел увидеть.
Аноним 08/05/21 Суб 15:03:25 #683 №2024125 
>>2023664
Нет. Они не могут быть быстрей впринципе. Это такой же код как и обычный.
Аноним 08/05/21 Суб 15:04:33 #684 №2024127 
>>2023725
Сервер рендер у последнего блядофреймворка есть так-то. Проблем нет никаких.
Аноним 08/05/21 Суб 15:05:17 #685 №2024128 
>>2023678
> Код быстрее выполняется.
Прими таблетки, у тебя шизофрения.
Аноним 08/05/21 Суб 16:51:33 #686 №2024301 
Пиздец ехидные колобки на вторую страницу укатились, какого хуя, у меня нет времени скроллить двачи!
Тайпскриптеры, объясните ситуацию:
Делаю "declare var x: number" - х становится глобальной переменной, доступной как сама по себе так и через window.x
Делаю "declare const x: number" - x становится глобальной переменной, доступной только сама по себе, попытки получить window.x заканчиваются тем, что нет такого ключа у объекта window. Почему?
Аноним 08/05/21 Суб 16:55:44 #687 №2024307 
>>2024301
А ты попробуй проверить будет ли у тебя window.x после транспиляции в JS даже в первом случае.
Аноним 08/05/21 Суб 17:06:39 #688 №2024334 
>>2024301
TS повторяет (точнее старается повторять) JS. B в JS var, объявленная на верхнем уровне станет доступна на window, а const - нет, т.к. const - block-scoped. Т.е. пусть это и не описано явно в доке TS, но все максимально логично.
Аноним 08/05/21 Суб 18:39:27 #689 №2024489 
>>2024125
>>2024128
А это что >>2023883
Аноним 08/05/21 Суб 19:00:58 #690 №2024522 
>>2023806
> Что тут асинхронно await-ить? Респонс уже получен жи
Только заголовки же. А остальное надо опять awaitить.
Аноним 08/05/21 Суб 19:12:10 #691 №2024550 
>>2024489
Если await убрать то код еще быстрее будет выполняться. Шах и мат
Аноним 08/05/21 Суб 19:20:18 #692 №2024571 
>>2024550
>>2024489

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

Это уже пруфали на примере синхронных и асинхронных фреймворков того же Пистона, где синхронные оказывались пизже по rps и latency чем асинхронные, однако стоило накидать в код хождений в бд, запись в файлы как синхронные начали отсасывать
Аноним 08/05/21 Суб 20:08:27 #693 №2024630 
https://habr.com/ru/company/yandex/blog/555520/

пиздец...
эти долбоебы разве сами не видят что городят нечитаемую хуйню? дженерики же должны облегчить работу программиста, а не извратить ее
Аноним 08/05/21 Суб 20:16:31 #694 №2024635 
>>2023377
Ну в принципе так и думал. Но тут, теперь, другая беда, перестал работать чекбокс,
<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);
};

Аноним 08/05/21 Суб 20:21:23 #695 №2024639 
У реакт натива его встроенный stylesheet это стандарт для работы со стилями, или есть что-то получше? Стоит куда-то копать или делать все через stylesheet?
Аноним 08/05/21 Суб 20:38:09 #696 №2024654 
>>2024630
Ты что-то другого ожидал от Яндекса? Главное повыёбываться, как ты можешь засунуть всё в один интерфейс, а не писать читаемый и изменяемый код.
Аноним 09/05/21 Вск 10:35:50 #697 №2025277 
Аноны знаю что жс плохой язык, там вычисления не точные, поясните почему у меня в джаве вычисления не точные ?

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

// 0.899999999999999999

Аноним 09/05/21 Вск 11:06:59 #698 №2025306 
>>2025277
Потому что яп ни при чем, бесконечную точность в процессорный регистр не засунешь. Используй специальные типы данных, если тебе сильно нужно.
Аноним 09/05/21 Вск 11:33:29 #699 №2025321 
>>2024307
После транспиляции вообще ничего не будет, это просто объявление переменных, declare чисто тайпскриптовская хуйня.

>>2024334
Так если block'a нет, const и let попадают в глобальный скоуп, я думал. А вот оно как.
https://stackoverflow.com/questions/55030498/why-dont-const-and-let-statements-get-defined-on-the-window-object
Аноним 09/05/21 Вск 12:06:44 #700 №2025369 
>>2025277
Нахера вкатываешься в жаву если ты долбоеб? Катись в жс/питон и не еби себе мозги
Аноним 09/05/21 Вск 12:16:17 #701 №2025387 
>>2025369
Порванное очко вижу, аргументы по факту нет.
Аноним 09/05/21 Вск 12:47:48 #702 №2025445 
Аноны подскажите, есть приложуха 2 летней давности, там вебпак, электрон и куча устаревших зависимостей. npm Istall эту парашу выкачивать отказывается, поставил через --force, все равно нихуя не запускается. Как быть в таких ситуациях ?
Аноним 09/05/21 Вск 12:54:14 #703 №2025458 
>>2025445
Читать ошибки / ставить двухлетнюю ноду
Аноним 09/05/21 Вск 14:12:16 #704 №2025603 
>>2025321
Глобальный скоуп !== ключ объекта window. В консолечке можешь значение x посмотреть, всё там будет.
Аноним 09/05/21 Вск 14:23:23 #705 №2025618 
зачем rebase сраный делать если просто можно спулиться?
Аноним 09/05/21 Вск 14:31:22 #706 №2025632 
>>2025618
Рибейз все твои коммиты в один сожмёт и присвоит им дату рибейза, что позволяет очень легко в мастер ветке отлавливать регрессии и откатываться, если надо.
Аноним 09/05/21 Вск 14:32:47 #707 №2025633 
>>2025618
А если fast forward не сделать?
Аноним 09/05/21 Вск 14:34:20 #708 №2025637 
>>2025632
>search instead for squash
Аноним 09/05/21 Вск 14:37:57 #709 №2025641 
>>2025637
Сквош это и есть рибейз.
Аноним 09/05/21 Вск 14:54:24 #710 №2025663 
>2021
>this
Что с вами не так?
Аноним 09/05/21 Вск 14:55:56 #711 №2025666 
>>2025641
У них результат разный, так что не есть
Аноним 09/05/21 Вск 15:14:00 #712 №2025693 
>>2025666
>У них результат разный, так что не есть
Талмудику можешь засквошить себе в анус.
Аноним 09/05/21 Вск 15:52:11 #713 №2025762 
>>2025693
error: cannot 'squash' without a previous commit
Аноним 09/05/21 Вск 15:54:34 #714 №2025766 
>>2025762
Так закоммить свой анус.
Аноним 09/05/21 Вск 15:59:58 #715 №2025770 
>>2025766
>nothing added to commit but untracked files present
Так что засташил тебе за щеку
Аноним 09/05/21 Вск 16:16:06 #716 №2025787 
>>2025770
Зачем ты свой анус в игнор добавил?
Аноним 09/05/21 Вск 18:28:51 #717 №2025919 
>>2025663
>2021
>не сосать хуй
Что с вами не так?
Аноним 09/05/21 Вск 19:25:04 #718 №2025965 
>>2014958
Ебать. Каво
Аноним 09/05/21 Вск 19:52:20 #719 №2026020 
>>2025965
Понаписали dsl и компиляторов к ним, а потом хвастаются как жаваскрипт может
Аноним 09/05/21 Вск 19:54:42 #720 №2026022 
Функция это какого типа данных значение?
Аноним 09/05/21 Вск 20:47:18 #721 №2026057 
>>2026022
объект
Аноним 09/05/21 Вск 21:58:26 #722 №2026131 
15364976767131.jpg
>>2011386 (OP)
Драститя. Делаю проект на реакте, хочу общаться с json-файлом в папке проекта, читать из него и записывать в него. Это вообще возможно, реакт такое поддерживает? В интернете чет ничего внятного не нашел.
Аноним 09/05/21 Вск 22:03:57 #723 №2026138 
>>2025369
Будто в этом твоём петухоне нет проблемы точности плавающей точки.
Аноним 09/05/21 Вск 22:06:09 #724 №2026140 
>>2026131
> записывать в него
Земля пухом.
Аноним 10/05/21 Пнд 01:27:03 #725 №2026271 
>>2026131
Хреново искал, кейс элементарный.
Аноним 10/05/21 Пнд 02:00:42 #726 №2026284 
16203787572270.mp4
>>2026131
>записывать в него
Аноним 10/05/21 Пнд 02:10:39 #727 №2026291 
>>2025369
Куда позвали на ствжировку, туда и качусь.
Аноним 10/05/21 Пнд 02:43:22 #728 №2026297 
скиллбокс1.jpg
скиллбокс4.jpg
скиллбокс7.jpg
изображение.png
Аноны, стоит пробовать себя в стажировке в яндексе?
Или лучше сразу на галеру вкатываться?

Я туда попаду с первого раза, я скозал. Ну а вообще не попробуешь не узнаешь, но вот надо ли вот это вот оно все? Я просто слышал, что это зашквар сравнимый с скиллбоксом.
Аноним 10/05/21 Пнд 04:07:58 #729 №2026303 
>>2026131
>В интернете чет ничего внятного не нашел.
В интернете нет информации на этот счёт. Ты первый кому пришла в голову подобная невероятная идея. Что делать дальше, думай сам. Можешь патентовать.
Аноним 10/05/21 Пнд 08:20:16 #730 №2026329 
Анончики, помогите по современному решить задачку максимально коротко насколько это возможно.

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

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

=>

{
red: 3,
black: 1,
white: 2
}
Аноним 10/05/21 Пнд 09:10:00 #731 №2026344 
>>2026131
Ты ебаный дебил и я ебал твою мать.
Рект на фронте, json файл в папке проекта. Можешь читать и писать в него с сервера, можешь отправить этот json на фронт и хранить в localStorage\IndexedDB. Серверный файл реактом ты никак не потрогаешь, они вообще не связаны.
Аноним 10/05/21 Пнд 10:06:51 #732 №2026351 
>>2026329
[].reduce((acc, el) => ({...acc, el: (acc[el] ?? 0) + 1}), {});
Аноним 10/05/21 Пнд 10:50:10 #733 №2026368 
>>2026351
Красиво, спизжу себе.
Аноним 10/05/21 Пнд 10:51:20 #734 №2026369 
>>2026351
> Object { el: 1 }
Аноним 10/05/21 Пнд 10:52:45 #735 №2026370 
>>2026369
Ну напиши там [el], чо как маленький.
Аноним 10/05/21 Пнд 11:51:54 #736 №2026399 
Я сосал
Аноним 10/05/21 Пнд 12:14:22 #737 №2026413 
изображение.png
>>2011386 (OP)
Существует ли инструмент для отрисовки подобных туманностей/градиентных пятен на произвольной карте мира? Не обязательно именно в таком виде, просто нужно показать расположение неких объектов относительно карты Земли.
Аноним 10/05/21 Пнд 12:42:15 #738 №2026437 
>>2026413
Плагины посмотри к своим любимым картам
https://leafletjs.com/plugins.html#heatmaps
https://www.patrick-wied.at/static/heatmapjs/example-heatmap-leaflet.html
Аноним 10/05/21 Пнд 13:13:12 #739 №2026458 
>>2026437
Спасибо, гляну
Аноним 10/05/21 Пнд 16:26:51 #740 №2026576 
>>2026131
JSON-файл в папке проекта вебпаком превратится в тришейкнутый объект внутри скрипта.
Аноним 10/05/21 Пнд 18:12:23 #741 №2026677 
Что случилось с npm? почему он вдруг начал по 7 минут стартовать самые простые spa? Раньше стартовал за 10 секунды
Аноним 10/05/21 Пнд 18:15:11 #742 №2026680 
>>2026131
ДАвай я тебе вирусов запишу на диск через твой браузер
Аноним 10/05/21 Пнд 18:16:13 #743 №2026681 
>>2026677
Пришло то самое время.
Аноним 10/05/21 Пнд 18:27:09 #744 №2026698 
>>2026370
Где "там"?
Аноним 10/05/21 Пнд 18:27:56 #745 №2026701 
>>2026677
>самые простые spa
Это у которых 700+ пакетов?
Аноним 10/05/21 Пнд 18:30:34 #746 №2026706 
>>2026399
И как оно?
Аноним 10/05/21 Пнд 18:33:37 #747 №2026711 
>>2026351
А что делать, если версия node не очень новая? :)
Аноним 10/05/21 Пнд 18:36:57 #748 №2026715 
>>2026711
Array.map() заместо спредов.
Аноним 10/05/21 Пнд 18:54:15 #749 №2026740 
Пасаны, что по говнокурсам по реакту? Есть нормальные? Я не могу просто читать что то, мне надо параллельно смотреть хуиту, так лучше усваиваю. А по реакту вообще никаких курсов норм не знаю, посоветуйте "нормальных", пожалуйста.
Аноним 10/05/21 Пнд 18:58:13 #750 №2026754 
>>2026740
любой. реакт это элементарная библиотека
самое сложное и забывающее это верстка и клепание формочек, пропуская их велью обратным кольцом через жопу редакс
Аноним 10/05/21 Пнд 19:06:15 #751 №2026772 
>>2026754
Мне нужно сперва допердолить опп и ts, а потом уже лезть в реакт? Или моно пропустить? Я принципы наследования, классов, объектов, прототайпа понял, но я чувству, что один хуй забуду это все ибо мне сейчас нет где применять то. В реакт оно надо это всё?
Аноним 10/05/21 Пнд 19:17:45 #752 №2026805 
>>2026711
Бабель в помощь. Ну или поменяй ?? на !! в этом примере монопенисуально.
>>2026698
Не тралируй. После спреда.
Аноним 10/05/21 Пнд 19:38:10 #753 №2026854 
>>2026772
Тебе вообще не нужно ничего знать про наследование в Реакте в 2021
Сейчас можно писать все на функциональных компонентах.
Они шарят функционал через композицию, а не наследование
Не веришь мне почитай эту статью с их сайта
https://reactjs.org/docs/composition-vs-inheritance.html
Аноним 10/05/21 Пнд 19:41:28 #754 №2026859 
>>2026772
Что касается TS - это модная штука, которой пользуются, чтобы упростить работу в команде над крупными проектами
Возможно это мастхев в 2021 году
Паттерны разработки в Реакте совсем свои. ТАм нет такой хуйни как ООП, Грасп, ГОФ,Dep. injection
Аноним 10/05/21 Пнд 20:18:04 #755 №2026907 
15773041786230.jpg
>>2026854
В каком смысле можно? Так все сейчас пишут и это стандарт или это уровня можно верстать используя импортант, но за это по рукам бьют?

Я что то охуел малость от реакта. Когда я пробовал вью, все было максимально понятно и просто, но мне не понравилось, что там какая то своя ёбань, когда в реакте ты по сути пишешь js код. Сейчас читаю доки реакта и что то блядь пиздец какой то, яннп и пишу какую то хуиту, а не js код.
Аноним 10/05/21 Пнд 20:52:01 #756 №2026945 
>>2026907
В смысле раньше нельзя было, а теперь можно. Никто не хочет горить "нужно" потому что тогда код на классах автоматически превращается в легаси и его требуется переписать, а так как бы и нет. В любом случае ооп тебе пока не нужно
Аноним OP 10/05/21 Пнд 21:58:13 #757 №2027020 
И никто даже тред не перекатит, вы че угараете? Лаботрясы.

>>2027019 (OP)
>>2027019 (OP)
>>2027019 (OP)
дышим
Аноним 10/05/21 Пнд 22:25:02 #758 №2027052 
>>2026329
let obj = {};
for (let el of arr) ++obj[el] || (obj[el] = 1);
Аноним 11/05/21 Втр 08:20:09 #759 №2027287 
>>2026805
> Ну или поменяй ?? на !!
> 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 } и чуть выше в этом посте тоже), то другой анон, может он реально не понял.
Аноним 11/05/21 Втр 09:04:12 #760 №2027296 
Джуны, организуйте перекат в виде пет прожекта мб
Аноним 11/05/21 Втр 09:11:23 #761 №2027299 
>>2027296
Зачем катать на пятиста, дебил?
Аноним 11/05/21 Втр 09:14:24 #762 №2027302 
>>2027299
Вы уже который день на 3 странице
comments powered by Disqus

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