Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 525 86 86
JS Thread #249 /js/ Аноним 20/04/22 Срд 13:45:09 2339952 1
image.png 103Кб, 1050x1050
1050x1050
Предыдущий тред: >>2332221 (OP)

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

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

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

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Аноним 20/04/22 Срд 14:11:20 2339968 2
На мидловские вакансии есть смысл откликаться вкатышу? А то явно джуновских не очень много.
Аноним 20/04/22 Срд 14:16:16 2339973 3
>>2339968
Откликайся вообще на всё. Любой собес это опыт и сразу понимаешь что нужно подтянуть из знаний.

вкатун, 2 недели на первой работе
Аноним 20/04/22 Срд 14:18:39 2339977 4
Аноним 20/04/22 Срд 14:51:04 2340021 5
Сап, как можно пофиксить что 5.2 - 2.8 = 2.4000000000000004?
Аноним 20/04/22 Срд 15:04:47 2340037 6
Аноним 20/04/22 Срд 15:11:10 2340047 7
Аноним 20/04/22 Срд 15:22:46 2340055 8
image.png 304Кб, 1507x772
1507x772
React
почему this.state. не стоит использовать в сетстейте?
Аноним 20/04/22 Срд 15:43:55 2340063 9
>>2340055
Потому что seState - ассинхронный.
Аноним 20/04/22 Срд 15:46:05 2340064 10
>>2340055
Реакт группирует вызовы сетстейт для улучшения производительности, например
this.setState({counter: this.state.counter + 1});
this.setState({counter: this.state.counter + 1});

превратится просто в
{counter: this.state.counter + 1}

потому что у них одинаковые ключи counter и он как бы Object.assign'ит их

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

>>2340063
Этого пидора не слушай, сам не понимает что несет.
Аноним 20/04/22 Срд 15:48:27 2340067 11
>>2340063
>Потому что seState - ассинхронный.
Да это так, только там функция во втором параметре есть, поэтому в этом нет проблемы.
>>2340064
Спасибо.
Аноним 20/04/22 Срд 16:08:50 2340093 12
пук.PNG 55Кб, 1564x656
1564x656
>>2339952 (OP)
Читая информацию на счет стажировки в Тинькофф увидел что из всех сред для JS использовать на экзамене можно только Ноду древней версии (восьмой). Так как у меня стоит 16, встал вопрос установки менеджера версий. Что посоветуете? Ставить виндоус версию NVM или есть какие-то аналоги получше? Сами чем пользуетесь?
Аноним 20/04/22 Срд 16:41:30 2340118 13
Аноним 20/04/22 Срд 18:14:42 2340190 14
Нужно ли делать компонент реакта инкапсулированным, если он используется только в одном предсказуемом месте?
Аноним 20/04/22 Срд 18:21:04 2340198 15
>>2340064
>Реакт группирует вызовы сетстейт для улучшения производительности, например
Что за хуйню ты несешь? Нихуя он блять по ключам не бегает, стейт просто строго сравнивается с предыдущим состоянием.
Вызов this.state во время вызова this.setState() имеет такие же подводные камни, как и вызов нынешнего состояния во время процедурки изменения этого состояния в ассинхронной среде. То есть непредсказуемый результат.
Аноним 20/04/22 Срд 18:23:30 2340200 16
>>2340063
>>2340064
>>2340198
Пиздец, какая же реакт параша, что люди даже толком и не знают как он работает.
Аноним 20/04/22 Срд 18:36:39 2340211 17
>>2340198
>стейт просто строго сравнивается с предыдущим состоянием
Это как раз ты несешь хуйню. Нахуя ему сравнивать стейт с прошлым? Чтобы что?
>Вызов this.state во время вызова this.setState() имеет такие же подводные камни, как и вызов нынешнего состояния во время процедурки изменения этого состояния в ассинхронной среде
Какой-то бред ебанутого. Ты молодец, если знаешь что асинхронщина может быть непредсказуемой, но какое это блять отношение это имеет к делу? Как по твоему это проблема должна решаться параметром калбека в setState(callback)? Причина одна, и это та, которую я описал. Реакт просто объединяет все вызовы сетстейт в один объект, и перезаписывает уже существующие ключи в этом объекте, именно по этой причине перезапись выполняется только у последнего сетстейта в линейном коде.
https://ru.reactjs.org/docs/react-component.html#setstate
Аноним 20/04/22 Срд 18:44:21 2340228 18
А что изучать, чтобы уметь решать задачи? В отношении не написания кода, а составления той схемы, того решения, по которому код уже будет писаться?
Аноним 20/04/22 Срд 19:06:07 2340246 19
>>2340200
Так это стандартный кишочкосрач. Причём нерелевантный к современному реакту.
>>2340211
>Это как раз ты несешь хуйню. Нахуя ему сравнивать стейт с прошлым? Чтобы что?
Чтобы блять решать, ререндерить или нет. Это если чё наиболее дорогая операция при работе с ДОМом.
>Как по твоему это проблема должна решаться параметром калбека в setState(callback)?
Влёгкую, в колбэке ты манипулируешь тем, что в него рендерер передаст, а не неопределённое состояние компонента, вызванное хуй пойми откуда.
Аноним 20/04/22 Срд 19:17:32 2340257 20
Clipboard01.jpg 87Кб, 711x755
711x755
Всем привет.
Я тут делаю такую штуку для постановки оценки от 1 до 10 путем наведения мышки на звездочки. Ну как в Кинопоиске например. То есть если курсор над, например, шестой звездочкой, то звездочки до неё должны быть активны. Ну и при клике должна оценка отправляться на сервер. Так норм или можно как-то оптимизировать? В принципе работает. Ну сейчас если курсор убрать, то ставится ноль, но потом заменю это на типа оценку пользователя, которая будет приходить с сервера.
Аноним 20/04/22 Срд 19:22:18 2340267 21
>>2340257
Можно попробовать через жс циклом ти звёзды создать и вставит куда нужно.
Аноним 20/04/22 Срд 19:22:48 2340268 22
Аноним 20/04/22 Срд 19:29:14 2340283 23
Clipboard01.jpg 21Кб, 745x157
745x157
>>2340267
>>2340268
A, ну чет я даун да. Подумал, что нужно будет как-то трахаться, чтобы в условие это передать. А оно работает прост.
Аноним 20/04/22 Срд 19:29:37 2340284 24
Нужно сделать ГСЧ на жс с заданным диапазоном,и чтобы числа на выдаче не повторялись
Аноним 20/04/22 Срд 20:09:51 2340318 25
image.png 7Кб, 364x173
364x173
Ну и нахуя ваше говно нужно, если оно даже заскоупить переменную не может? Тупо переводит все переменные в var, пиздец
Аноним 20/04/22 Срд 20:22:33 2340329 26
>>2340318
Сам высиавил таргет ес5 и жалуешься на свою криворукость. Ты мудак?
Аноним 20/04/22 Срд 20:22:55 2340330 27
Сап. Можно ли какой-то настроить MarkupToSCSS (или есть какой-то другой плагин) в вебшторме, чтобы вложенные классы переносились через амперсанд + говно типа class="about__title title" разбивалось на .title {} и на &__title {}? Или это могила? можно саблайм конечно с escctractor'ом открытым держать
Аноним 20/04/22 Срд 20:54:23 2340360 28
Аноны, в далеком 2017 играл в tera online и там меня поразили моды на ноде жс, которые могли делать буквально что угодно: перехватывать и расшифровывать пакеты, выводить сообщения на экране, статистику, менять костюмы на персонаже (подменять видимо что-то в памяти). И тогда подумал, что было бы круто уметь также.
Сейчас решил вкатиться, выбрал естественно JS. Поспрашивал в общей ветке про курсы типа яндекса и гикбрейнс, там сказали, что все они говно и не стоят своих денег. Потому сейчас в бесплатной части курса вспоминаю html и css, которые изучал еще в школе и пишу под диктовку первые строчки типа анимирования кнопки.

Вопрос. Я же правильно понимаю, что после изучения всей базы я смогу перескочить на нод и тоже писать всякие программки, делать фронт и бэк сайтов полностью, писать игры под андроид(принимать участие офк, не полностью их делать)? Или JS это вес таки про анимацию кнопок и интерактив на сайтах?
Смотрел всякие подкасты и видео на ютубе, в контексте JS идет только сайты-сайты-сайты-сайты, а мне весь этот лендинг вообще неинтересен.
Аноним 20/04/22 Срд 21:00:17 2340364 29
Аноним 20/04/22 Срд 22:12:21 2340406 30
>>2340055
По-моему то что тебе понаписали про асинхронность setState и коллбэки это все правда, но к примеру отношения не имеет. В этом случае можно и setState({...this.state, v: this.state.v+1}) делать.
Аноним 20/04/22 Срд 22:16:38 2340410 31
>>2340406
Еще один балбес пришел, откуда же вы беретесь.
Аноним 20/04/22 Срд 22:17:06 2340411 32
>>2340360
С JS'ом можно много чего сделать, так что да, не бойся. Даже если по итогу тебе захочется взять какой-нибудь другой язык для написания бэка, то впустую твоё знание не пропадёт.
Аноним 20/04/22 Срд 22:23:50 2340415 33
>>2340406
Я и знал что сетстейт асинхронен
Аноним 20/04/22 Срд 22:26:50 2340418 34
Как изучить TS, киньте годный ресурс если знаете на русском.
Аноним 20/04/22 Срд 22:28:53 2340422 35
>>2340410
Объясни зачем в ф-ции из примера нужен prevState?
Без фантазий на тему множественных вызовов setState подряд.
Аноним 20/04/22 Срд 22:31:05 2340423 36
>>2340422
>Без фантазий на тему множественных вызовов setState подряд.
Толсто.
Аноним 20/04/22 Срд 22:40:17 2340429 37
>>2340422
>ф-ции
Много сэкономил?
Аноним 20/04/22 Срд 22:42:28 2340431 38
image.png 21Кб, 590x198
590x198
Аноним 20/04/22 Срд 22:50:43 2340439 39
>>2340431
Дык ты выстави target es5
Аноним 20/04/22 Срд 22:58:55 2340448 40
>>2340439
Зачем? Какая целевая платформа у тебя сегодня неподдерживает es6?
Аноним 20/04/22 Срд 23:07:40 2340458 41
>>2340439
Ты тупой? Основное отличие ес6 от ес5 именно в том, что в 6 запилили let и const с блок-скоуп видимостью, а в 5 этого не было.
Аноним 20/04/22 Срд 23:09:12 2340459 42
Аноним 20/04/22 Срд 23:22:59 2340465 43
[code]
function A() {
console.log('A')
return <B/>
}

function B() {
console.log('B')
return <C/>
}

function C() {
console.log('C')
return null
}

function D() {
console.log('D')
return null
}

function App() {
const [state, setState] = React.useState(0)
React.useEffect(() => {
setState(state => state + 1)
}, [])
console.log('App')
return (
<div>
<A state={state}/>
<D/>
</div>
)
}[/code]

"App"
"A"
"B"
"C"
"D"
"App"
"A"
"B"
"C"
"D"

Почему так, нахуй? Почему 2ой раз "B", "C", "D" пошло перерисовываться?
Аноним 20/04/22 Срд 23:56:56 2340481 44
>>2340465
Не будет ли у вас минутки поговрит о React.memo?
Аноним 21/04/22 Чтв 00:14:35 2340485 45
Сорре за тупой вопрос. Но как вы делаете перевод тех или иных слов из базы на русский? Например название категории товара в базе данных на английском, но на странице его же нужно отобразить на русском. Просто тупо делается объект "ключ-значение" (англ-рус) или есть какие-то более элегантные способы?
Аноним 21/04/22 Чтв 01:10:33 2340510 46
Аноним 21/04/22 Чтв 01:32:21 2340517 47
>>2340459
Это платформа неподдерживаемая производителем.
Под нее пишут по прайсу x10.

И вообще для всех платформ неподдерживающих ESM код пишут отдельно и заворачивают в <script nomodule>

Progressive Enhancement это не рокет сайнс.
А вот когда вы в современные браузеры грузите легаси код - то очевидно долбоёбы. Движки, что исполняющие, что рендеринг, оптимизируют из года в год под новые фичи, а вы продолжаете пихать в них дерьмо.
Аноним 21/04/22 Чтв 01:34:43 2340520 48
>>2340517
Особенно смешно наблюдать как одновременно используют современные CSS\DOM фичи, которые поддерживаются только в современных браузерах, и одновременно грузят в них же es5-target бандл.
Аноним 21/04/22 Чтв 06:48:17 2340536 49
сетстейт не асинхронный, но он может обновляться асинхронно
Аноним 21/04/22 Чтв 06:51:10 2340537 50
Аноним 21/04/22 Чтв 06:53:49 2340538 51
Аноним 21/04/22 Чтв 08:18:42 2340548 52
Аноним 21/04/22 Чтв 08:19:39 2340549 53
16501633441720.png 580Кб, 916x1038
916x1038
Аноним 21/04/22 Чтв 09:34:17 2340567 54
Аноним 21/04/22 Чтв 10:30:55 2340581 55
Аноним 21/04/22 Чтв 11:15:19 2340599 56
>>2340485
Переводы объектов БД должны хранится в БД. Но для этого на проекте должна быть архитектура с поддержкой многоязычности, на фронте ты волшебным пакетом ничего не сделаешь.
Аноним 21/04/22 Чтв 12:00:22 2340621 57
>>2340485
Удвою этого >>2340599. Если максимально тупо объяснить, то при обращении к бэку в запросе должен быть флаг языка, на котором нужны данные, а с бэка должны приходить данные на запрошенном языке. И естественно, что для этого должны быть соответствующие данные в бд и бэк должен уметь так делать.
Аноним 21/04/22 Чтв 12:51:03 2340672 58
Аноним 21/04/22 Чтв 14:21:28 2340793 59
>>2340481
Заворачивать все в React.memo хорошая практика? Вроде везде в доках писали, что компонент перерисовывается только если у него type или пропсы меняются. Для B еще можно предположить, что он внутри A, поэтому он перерисовался, ладно.
Но с D что не так?
Аноним 21/04/22 Чтв 15:16:53 2340837 60
>>2340481
Да, расскажи как это мемоизированное говно из памяти вычищать?
Аноним 21/04/22 Чтв 15:18:56 2340842 61
>>2340093
Кроме nvm ничего и нет
Ставь wsl2 и не будь клоуном
Аноним 21/04/22 Чтв 16:08:54 2340898 62
Попытался навесить обработчик событий на коллекцию инпутов. Передал console.log для проверки, что клики работают и нет ошибок.

inputItems.forEach((e) => {
e.addEventListener('click', console.log('clicked'))
})

Зашёл в консоль и увидел, что клики срабатывают сами. Я ничего не жал.
Это как? Почему? Как исправить?
Аноним 21/04/22 Чтв 16:12:40 2340899 63
>>2340898
колбэк неправильный ()=>console.log()
+ на каждый импут клик вешать не надо, лучше на родительский элемент один навешать и он провалится на все дочерние элементы.
Аноним 21/04/22 Чтв 16:15:15 2340900 64
>>2340899
>на каждый импут вешать не надо
> ()=>console.log()
Точно, чёт затупил. Есть же всплытие.

Аноним 21/04/22 Чтв 16:21:00 2340904 65
>>2340899
> каждый импут клик вешать не надо
Получается, отслеживать нужный инпут через e.targer.
А с лейблами что делать? При том же сравнении сперва выводит false для лейбла, потом переключается на привязанный инпут и уже true
Аноним 21/04/22 Чтв 16:24:45 2340908 66
>>2340793
>Но с D что не так?
Он в App

>>2340837
Закрыть вкладку
Аноним 21/04/22 Чтв 16:36:13 2340919 67
>>2339952 (OP)
Есть кто css по курсам изучал? Посоветуйте ресурс по изучению

хочу подтянуть навыки, а то че-то верстал ща сайт каждую секунду что-то гуглил, мне кажется с такими навыками фронтендеру не стоит подаваться в джуны
Аноним 21/04/22 Чтв 16:43:06 2340927 68
>>2340919
Че там изучать-то, doka.guide накати, за пару дней прокачаешься.
Аноним 21/04/22 Чтв 16:47:09 2340931 69
image.png 8Кб, 735x121
735x121
>>2340927
Спасибо.
>че там учить-то
Да например ща верстаю, всё дивами захуярил, в итоге серч ниже бургера, хочу на одном уровне чтобы были. использовать позишин абсолют не хочу, слышал это плохая практика. Только гуглить походу.
Аноним 21/04/22 Чтв 16:49:18 2340933 70
>>2340931
Флекс контейнер родителем для них двоих сделай, все
Аноним 21/04/22 Чтв 16:50:48 2340934 71
>>2340933
Да, так и сделал.
ну в общем все равно лишним не будет подтянуть
Аноним 21/04/22 Чтв 16:51:28 2340935 72
>>2340908
>Закрыть вкладку
Заебись уровень технологии
Аноним 21/04/22 Чтв 17:08:33 2340938 73
>>2340935
А какие технологии ты ожидал? Дёргать память браузера/машины в контексте клиентских скриптов тебе всё равно не дадут.
Аноним 21/04/22 Чтв 17:10:41 2340941 74
>>2340938
Какую нахуй дергать память, ты совсем ебобо? Мемоизация это обычный кэш, реализованный на обычном JS. У любого кэша должна быть какая-то возможность его сбросить
Аноним 21/04/22 Чтв 17:11:05 2340942 75
ебать жопа сгорела. не мог понять почему justify-self не работал, а оказывается он с флексбоксом не работает. Бля, учитывая что флексбокс весь контролируется justify-content, я даже не подумал что он не работает с флексбоксом
Аноним 21/04/22 Чтв 17:37:01 2340964 76
image 21Кб, 552x277
552x277
А чё так можно было? Обращаться к базе данных без евейта?
Аноним 21/04/22 Чтв 17:42:47 2340969 77
003.jpg 73Кб, 495x1000
495x1000
Аноны, подскажите.

Вот допустим такой код:

let a = 10;

if (a > 0) {
b = 20;
}


По умолчанию переменная b объявляется при инициализации в виде var или let?

У переменной b получается глобальная область видимости, но от чего это?

От того, что она var или от того, что на необъявленные переменные let распространяется такое же правило как и для var и они по умолчанию глобальны в этом случае?
Аноним 21/04/22 Чтв 17:48:28 2340972 78
Аноним 21/04/22 Чтв 17:48:50 2340973 79
>>2340969
переменные без ключевого слова становятся глобальными
Аноним 21/04/22 Чтв 17:49:18 2340974 80
>>2340964
Ленивые вычисления в школе еще не проходили?
Аноним 21/04/22 Чтв 17:53:18 2340977 81
image.png 6Кб, 388x83
388x83
Аноним 21/04/22 Чтв 17:56:16 2340978 82
>>2340969
b не объявляется нигде, во время выполнения скрипта, если дойдет до b, будет поиск в блоке if'a, если не найдет там - будет подниматься выше по скоупам, пока не найдет b либо до глобального скопа. В твоем случае b поднимется в глобальный и будет доступна через window.
let - всегда ограничен блоком, в твоем случае блок - это сам скрипт, но это не глобальный скоп, через window доступа не будет.
Аноним 21/04/22 Чтв 17:57:40 2340979 83
Аноним 21/04/22 Чтв 17:58:26 2340980 84
>>2340973
Т. е. это правило едино и для var и для let? (понятно, что в моём варианте var и так будет в глобальной видимости)
Аноним 21/04/22 Чтв 17:59:18 2340982 85
image.png 1Кб, 174x28
174x28
Почему noImplicitAny: true не робит в cra?
Аноним 21/04/22 Чтв 18:00:46 2340986 86
Аноним 21/04/22 Чтв 18:01:07 2340988 87
>>2340973
В курсе, тут вопрос в некторорых деталях, а именно - что будет по умолчанию - var или let?
>>2340978
Понял, благодарю за ответ
Аноним 21/04/22 Чтв 18:05:58 2340995 88
image.png 2Кб, 188x84
188x84
Да че такое? В index.ts тайпскрипт будто вообще не работает
Аноним 21/04/22 Чтв 18:06:22 2340996 89
Аноним 21/04/22 Чтв 18:08:18 2340999 90
Аноним 21/04/22 Чтв 18:16:24 2341003 91
>>2340999
Так var и let это ключевые слова
Аноним 21/04/22 Чтв 18:19:56 2341007 92
>>2341003

Вот в этом примере:

let a = 10;

if (a > 0) {
b = 20;
}


b будет var или let?
Если она глобальна это делает её var?
Вот это я не могу понять.
Аноним 21/04/22 Чтв 18:20:32 2341008 93
>>2340969
Напиши "use strict" в начале, получи ошибку и не еби мозг.
Аноним 21/04/22 Чтв 18:21:50 2341009 94
image.png 119Кб, 1317x776
1317x776
>>2341007
как она может быть не глобальный, если через виндоу можно увидеть её?
Аноним 21/04/22 Чтв 18:23:47 2341011 95
>>2341009
Получается, если не указывать var или let, то по умолчанию она становится var? Потому, что let не будет свойством window.
Аноним 21/04/22 Чтв 18:24:14 2341012 96
>>2341009
У тебя Mac? Шрифты особенные
Аноним 21/04/22 Чтв 18:24:40 2341013 97
>>2341007
Да, она будет var. А теперь прекратите засирать бред своей хуйней.
Аноним 21/04/22 Чтв 18:25:01 2341015 98
>>2341011
var ограничен скоупом функции, а твоя хуйня объявляется совсем глобально, вообще везде.
Аноним 21/04/22 Чтв 18:25:02 2341016 99
Аноним 21/04/22 Чтв 18:25:17 2341019 100
>>2341012
Нет, винда, у меня просто зрение плохое и шрифты увеличенные
>>2341011
какая нах разница сынка, че ты доебываешь тупыми вопросами
Аноним 21/04/22 Чтв 18:26:05 2341021 101
>>2341015
>var ограничен скоупом функции
лол, что
Аноним 21/04/22 Чтв 18:26:23 2341023 102
>>2341015
>>2341019

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

Я понял, что переменная становится вообще глобальной. Она var или let? Или вы сами не знаете?
Аноним 21/04/22 Чтв 18:26:35 2341024 103
image.png 3Кб, 240x86
240x86
Аноним 21/04/22 Чтв 18:27:06 2341025 104
>>2341023
Глобальная значит вар. Уже тыщу раз писали.
Аноним 21/04/22 Чтв 18:27:20 2341028 105
>>2341024
Это я обосрался, забыл вызвать функцию.
Аноним 21/04/22 Чтв 18:27:43 2341029 106
>>2341025
Понял, именно это я и хотел узнать.
Чем меньше будет неясностей, тем лучше.
Аноним 21/04/22 Чтв 18:28:59 2341031 107
>>2341029
Ты бы про лексическое окружение почитал, как там переменные ищут, а то такое чувство что ты пытаешься заучить эту хуйню.
Аноним 21/04/22 Чтв 18:29:28 2341032 108
>>2341023
Она не var и не let блять. Если режим не strict, то a = 1 просто равносильно globalThis.a = 1, при условии что a раньше не было, и все.
Аноним 21/04/22 Чтв 18:30:30 2341038 109
1590833379089.png 5Кб, 213x118
213x118
1604622611636.png 10Кб, 445x184
445x184
Аноним 21/04/22 Чтв 18:32:06 2341040 110
Аноним 21/04/22 Чтв 18:33:45 2341043 111
>>2341038
сук. ладно. я думал что это не так работает.
извините
Аноним 21/04/22 Чтв 18:35:42 2341046 112
Блять на простые вопросы тут всегда срач происходит, на нормальные перекати поле по треду катается
Аноним 21/04/22 Чтв 18:36:56 2341048 113
>>2341046
На простые вопросы такие как я вкатуны пытаются объяснить, но в итоге обсёр случается типа этого - >>2341043
Аноним 21/04/22 Чтв 18:37:14 2341049 114
>>2340995
Так ты не типизировал ничего, так что там any в твоем коде и всё хорошо.
Аноним 21/04/22 Чтв 18:38:54 2341050 115
>>2341048
Вообще вопрос максимально глупый, можно же просто статью про let и var почитать, там максимально всё подробно описано
Аноним 21/04/22 Чтв 18:39:02 2341051 116
image.png 29Кб, 902x381
902x381
image.png 34Кб, 624x511
624x511
Почему так нахуй? Где ошибка ебаная, если я задал noImplicitAny? Как же я ненавижу этот непредсказуемый кусок говна. На пик 1 я задал неявно any и никакой ошибки нет.

>>2341046
Двачую
Аноним 21/04/22 Чтв 18:39:35 2341052 117
>>2341050
Я просто был максимально уверен что вар в скоупе сделает глобальным переменную, но нихуя.
Я вообще вар не использую так шо похуй
Аноним 21/04/22 Чтв 18:40:44 2341054 118
>>2341052
а на выходе в дисте то у тебя вар получается скорее всего хехехе
Аноним 21/04/22 Чтв 18:42:07 2341056 119
>>2341051
Можешь объяснить, зачем ты объявляешь переменную без значения, а потом переопределяешь ее? Почему при инициализации ты не можешь ей дать сразу значение и неявно типизировать как надо?
Аноним 21/04/22 Чтв 18:44:24 2341058 120
>>2340974
Так я понял, метод мангуса find возвращает Query объект, но если добавить await, то вернёт данные. Что за магия такая?
Аноним 21/04/22 Чтв 18:44:26 2341059 121
image.png 1Кб, 176x36
176x36
>>2341051
А с чего ты взял, что в asd any тип?
Базовые типы js выучи.
Аноним 21/04/22 Чтв 18:46:17 2341061 122
Оцените шутку:
any писать нельзя, пишем везде unknown
Аноним 21/04/22 Чтв 18:46:22 2341062 123
>>2341056
>Можешь объяснить
Могу. Но вопрос нет в том зачем я что-то делаю, в а том что TS неправильно выполняет свою работу. Если не задать переменной значение, то она неявно объявляется как any, это я и пытаюсь предотвратить, но конфиг не работает.
Аноним 21/04/22 Чтв 18:47:38 2341064 124
>>2341059
Что ты несешь, ебанутый? Причем тут базовые типы js?
Аноним 21/04/22 Чтв 18:48:42 2341068 125
1612132762713.png 13Кб, 201x78
201x78
>>2341059
Как тебе такое, илон маск?
Аноним 21/04/22 Чтв 18:50:59 2341069 126
>>2341051
>In some cases where no type annotations are present, TypeScript will fall back to a type of any for a variable when it cannot infer the type.
>In some cases
чел...
Аноним 21/04/22 Чтв 18:52:05 2341070 127
>>2341069
Ну это и есть тот самый кейс, не?
Аноним 21/04/22 Чтв 18:54:43 2341075 128
>>2341070
А стойте, я хуйню скинул. А вообще вопрос: вы ставили тайпскрипт поверх реакт криэйт апа? Если да, то попробуйте через шаблон поставить сразу. Либо это косяк тайпскрипта и в данном случае подсказка не работает (и не должна работать возможно)
Аноним 21/04/22 Чтв 18:55:41 2341077 129
Возможно подсказка заработает, если например к перемнной метод строки применить
Аноним 21/04/22 Чтв 18:56:05 2341078 130
1579339053661.png 5Кб, 283x93
283x93
>>2341075
Хз как он, но вот на сайте тайпскрипта запустил. На один any ругается, на другой — нет.
Аноним 21/04/22 Чтв 19:02:28 2341085 131
Да потому что ТС придумали только чтобы код раздувать и больший бюджет выпрашивать. Ну еще чтобы пацаны с нормальных языков совсем за опущей не считали.
Аноним 21/04/22 Чтв 19:48:10 2341123 132
image.png 44Кб, 1041x433
1041x433
image.png 14Кб, 1207x93
1207x93
>>2341051
Пчел, ты думаешь что тайпскрипт работает так, а на самом деле он работает по-другому. Почему - отправляйся на гитхаб
Аноним 21/04/22 Чтв 19:50:03 2341124 133
ts.jpg 6Кб, 146x125
146x125
ts2.jpg 4Кб, 171x90
171x90
>>2341062
Всё он правильно выполняет, у твоего высера тип высчитывается по последнему присваиванию.
Аноним 21/04/22 Чтв 19:53:30 2341129 134
У меня останется что-нибудь в голове, если прочитать доку к mongoose? По моему опыту лучше читать что-то конкретное, когда ты собираешься этим воспользоваться. Но также ради общего представления приходится читать доку, иначе нихуя не понятно. Но потом вообще ничего не помнишь из доки, да и читать доку каждой орм это вообще хуйня какая-то. Вот такая у меня вечная дилемма
Аноним 21/04/22 Чтв 20:02:29 2341147 135
>>2341129
У тебя нужда есть работать с mongoose? Если нет, то и нахуй не надо. Там какие-то ещё непонятки между гусём и нодовсим адаптером, из-за которых гусь отстаёт от фичивысирательства адаптера.
Плюс монга - мем, лучше БД своего пета на каком-нибудь postgresql реализуй, так как скорее всего тебе придётся с реляционной бд сталкиваться на работе.
Аноним 21/04/22 Чтв 20:54:55 2341185 136
>>2341147
Ну вот думаю сделать на монго и сделать бранч с постгрессом чтобы вообще оверкил был
Аноним 21/04/22 Чтв 21:04:59 2341189 137
image.png 5Кб, 213x104
213x104
>>2341058
await разворачивает любой Thenable.
Читай документацию и спецификации, чтобы не быть идиотом.
Аноним 21/04/22 Чтв 21:23:42 2341196 138
>>2341189
да я уже допёр эмпирическим методом, а зачем было про ленивые вычисления затирать?
Аноним 21/04/22 Чтв 21:38:25 2341203 139
Нужно ли всегда явно указывать типы переменных в TS? Шарю репозиторий одного не самого тупого человека, и у него в коде типы неявные, то есть просто const foo = 'str';
Аноним 21/04/22 Чтв 21:48:14 2341205 140
Хочу уже наконец выучить css, а то вкатился сразу в реакт и ничего сложнее селекторов по с '>' и флексбоксов не писал за 3 года. Какая книга есть подробная, по типу Кантора по жс?
Аноним 21/04/22 Чтв 21:51:13 2341208 141
>>2341205
https://html5book.ru/
https://doka.guide/
Не будешь ебланом и гугли абсолютно все в процессе верстки что вызывает вопросы, без этого вообще бессмысленно и все коту под анус
Аноним 21/04/22 Чтв 22:11:59 2341232 142
>>2341203
Я думаю, что можно не указывать прям для каждой переменной. Главное - это интерфейсы объектов с данными, которые используются больше чем один раз
Аноним 21/04/22 Чтв 22:40:15 2341255 143
>>2341203
Бля, какой же тип у ебаной константы, хранящей примитив?
Аноним 21/04/22 Чтв 22:51:10 2341263 144
>>2341255
Я ебу че у них там принято, может надо, тайпскрипт это же про строгость. Я вообще вчера начал вкатываться.
Аноним 21/04/22 Чтв 23:30:41 2341280 145
>>2341263
Если только вчера начал вкатываться, то как определил нетупость человека, написавшего код?
Аноним 22/04/22 Птн 00:23:54 2341316 146
>>2341196
Потому что это они и есть.
Аноним 22/04/22 Птн 01:48:36 2341335 147
Аноним 22/04/22 Птн 02:58:42 2341341 148
image.png 20Кб, 1085x253
1085x253
image.png 28Кб, 1103x214
1103x214
>>2339952 (OP)
После этого deno сдохнет обоссавшись и обосравшись?
Аноним 22/04/22 Птн 06:46:01 2341361 149
image 183Кб, 1134x638
1134x638
Аноним 22/04/22 Птн 08:03:04 2341372 150
>>2341341
Поясни. Почему он должен сдохнуть из-за поддержки нодой какой-то новой апихи?
Аноним 22/04/22 Птн 10:22:45 2341439 151
Есть какие нибудь книги про функциональное программирование на js? Все что я нашел это базовые статьи на 15 минут, а как это эффективнее применять и что то тип советов от более опытных не нашел.

И второй вопрос, вот в js есть Array и Map. Хочу привести их к одному Api: {getItem, mapItems}. Как это лучше сделать функционально ведь у Array и Map разные методы получения и прохода элементов, а значит хотелось бы передавать эти функции вместе с передачей самих структур, что бы не потерять контекст.
Аноним 22/04/22 Птн 10:34:41 2341446 152
>>2341439
Там SICP на js вроде переписывали.
Аноним 22/04/22 Птн 10:57:10 2341454 153
>>2341439
>функциональное программирование на js
И нахуя это говно нужно вообще?
Аноним 22/04/22 Птн 11:55:48 2341505 154
image.png 22Кб, 1057x254
1057x254
image.png 58Кб, 865x605
865x605
>>2339952 (OP)
Аноны, если в проекте надо список картинок вывести, то у вас они в одном формате всегда хранятся в папке (?

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

Вот думаю просто все файлы переименовать на пнг и не ебать мозг. Это всё зависит от проекта или всё же лучше как-то проверять на существование имг? И как это сделать если я код пишу в реторне, я даже не могу выбрать элемент на проверку ( хотя не уверен что там можно проверить как-то)
Аноним 22/04/22 Птн 12:05:12 2341511 155
>>2341505
Если каритнка не загрузилась, то она триггерит onError().
Аноним 22/04/22 Птн 12:06:28 2341513 156
>>2341505
>Вот думаю просто все файлы переименовать на пнг и не ебать мозг. Это всё зависит от проекта или всё же лучше как-то проверять на существование имг? И как это сделать если я код пишу в реторне, я даже не могу выбрать элемент на проверку ( хотя не уверен что там можно проверить как-то)
Напиши отдельный компонент-обертку над <img> и там можешь код писать хоть куда.
Аноним 22/04/22 Птн 12:14:58 2341518 157
Аноним 22/04/22 Птн 12:21:00 2341519 158
image.png 54Кб, 940x550
940x550
>>2341511
сделал так, тупа топ.
Аноним 22/04/22 Птн 12:55:25 2341540 159
>>2341439
Зависит от того, что ты понимаешь по функциональным программирование на js. Если про полноценную функциональщину, то ищи fp-ts, ramda и будь готов учить что такое функторы, монады, линзы и прочая залупень.
Аноним 22/04/22 Птн 13:20:50 2341561 160
>>2341540
Вчера читал как раз про монад, этот паттерн используется в самом жаваскрипте (массив это монад)
Аноним 22/04/22 Птн 13:24:10 2341566 161
>>2341561
Массив это вообще-то хэш-таблица.
Аноним 22/04/22 Птн 13:29:42 2341568 162
>>2341566
это двухсторонняя очередь
Аноним 22/04/22 Птн 13:32:31 2341571 163
>>2341568
Что тогда splice() там забыл?
Аноним 22/04/22 Птн 13:39:30 2341575 164
как мне для списка тудушек сделать лейблы к чекбоксам? айдишки же у них получается одинаковые будут? динамически айди добавлять к ним? А как с удалением тогда
Аноним 22/04/22 Птн 13:50:55 2341588 165
>>2341571
А что не так? Базовые операции реализованы, остальное уже для удобства.
Аноним 22/04/22 Птн 14:07:05 2341599 166
image.png 58Кб, 763x651
763x651
>>2341575
я сделал так, но попахивает как-то это
Аноним 22/04/22 Птн 14:15:52 2341605 167
>>2341575
У тудушек должен генерироваться айди при создании, вот его и используй для лейблов и инпутов.
Аноним 22/04/22 Птн 14:17:56 2341610 168
>>2341588
Не реализованы там базовые операции двухсторонки, так shift/unshift намного медленее push/pop.
Аноним 22/04/22 Птн 14:20:33 2341611 169
>>2341341
Нода наверно к 25 версии функциональной станет
Аноним 22/04/22 Птн 14:21:18 2341613 170
>>2341575
Долбоеб, зачем ты полез в жс если даже с html разобраться не смог?
Аноним 22/04/22 Птн 14:30:39 2341617 171
>>2341611
JS сам по себе почти функциональный язык.
Аноним 22/04/22 Птн 14:36:55 2341621 172
>>2341341
Ничего не знаю про дено, но async-api в JS проектировали ещё хуже, чем обычную модель. Хотя обычную проектировали тогда, когда JS был для снежинок на рождество, а современное вроде бы уже для крутой платформы.

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

Аноним 22/04/22 Птн 14:43:32 2341626 173
Аноним 22/04/22 Птн 14:49:26 2341634 174
Screenshot from[...].png 61Кб, 760x440
760x440
>>2341626
Очень раз за JS, что спустя 5 лет начинает что-то доходить, что вот надо, надо...
Аноним 22/04/22 Птн 14:52:01 2341638 175
>>2341613
В html то я знаю как соединить лейбл с инпутом, но обычно я делал имена типа email, name, а здесь то везде одинаковые тудушки
>>2341605
понял, ща добавлю генератор айди тогда какой-нибудь.
Аноним 22/04/22 Птн 15:10:32 2341647 176
2022-04-22 15-0[...].mkv 3396Кб, 1920x1080, 00:00:18
1920x1080
Аноним 22/04/22 Птн 15:19:52 2341651 177
>>2341647
да норма, помучто хуй ты отследишь скэйл во всех браузерах
Аноним 22/04/22 Птн 15:21:06 2341653 178
>>2341651
Ок, тогда пока не буду забивать этим башку
Аноним 22/04/22 Птн 15:42:01 2341671 179
Ненавижу блять TS, чтоб в муках подохли хуесосы которые это распиарили.
Аноним 22/04/22 Птн 15:46:11 2341678 180
>>2341621
Реактивщина вроде rxjs давно под капотом умела дергать xhr.abort(), вотс зе проблем?

>>2341341
Больше стримов богу стримов. Они же без адаптеров несовместимы? Я имею в виду Node Stream API и WebStreams API?
Аноним 22/04/22 Птн 15:50:41 2341686 181
>>2341678
>Реактивщина вроде rxjs давно под капотом умела дергать xhr.abort(), вотс зе проблем?
В том, что новый fetch интерфейс говно, из-за чего все используют велосипеды на основе легаси интерфейсов xhr.
Аноним 22/04/22 Птн 16:50:59 2341738 182
>>2341671
Вот будут тебе плотить за количество кода/часов на код, тогда и полюбишь.
Аноним 22/04/22 Птн 17:00:27 2341742 183
>>2341738
Это и есть единственная причина по которой я учу это говно, а так, никогда не притрагивался к нему.
Аноним 22/04/22 Птн 17:13:03 2341758 184
>>2341621
>Вот тупо этому fetch нельзя таймаут сделать, а это самая первая фича, которая нужна.
Не нужна. Потому что таким образом, умные и образованные разработчики веб-стандартов намекают тебе, веб макаке, что у пользователей не всегда есть качественный ШПД в интернет и ставить таймаут на запросы это выстрел себе в колено.
Аноним 22/04/22 Птн 17:22:44 2341765 185
>>2341758
>ставить таймаут на запросы это выстрел себе в колено
Тащемта таймауты на запросы обязательны, если не на отъебись говнокодишь конечно. Лучше уж юзер через 5 минут узнает, что его запрос отвалился, чем будет ждать неопределенно долгое количество времени
Аноним 22/04/22 Птн 17:54:49 2341794 186
>>2341758
>Потому что таким образом, умные и образованные разработчики веб-стандартов намекают тебе, веб макаке, что у пользователей не всегда есть качественный ШПД в интернет и ставить таймаут на запросы это выстрел себе в колено.
Да нет, просто обработка таймаутов - не фетча дело. Как минимум есть два типа таймаутов - серверный и клиентский. Серверный таймаут - статус-код по сути, а фетч ответ со статусом не считает ошибкой. Клиентский же таймаут сильно зависит от логики клиента, и клиент сам должен реджектить промисы с такими ошибками, а не фетч угадывать его хотелки.
Аноним 22/04/22 Птн 18:16:31 2341819 187
>>2341794
А чьё это дело?

Моё дело, как разработчика, получить данные. Своевнеменно. Или какое-нибудь исключение, если их получить нельзя.

И меня, как разработчика, категорически не устраивает история, когда фетч повисает по каким-либо причинам и данных своевременно нет.

Таким образом, fetch просто не пригоден для прикладного программирования. Или надо строить немеренные обвязки над ним, или пилить собственное решение на базе xhr, чем все и занимаются в итоге. Хорошо что есть вот это легаси-решение.

И не только с fetch проблема. Общая асинхронная модель всем этим страдает. Если есть какая-то ожидающая асинхронная задача, то прервать её нельзя. Нужно пилить сложные обвязки и свои костыли для прерывания. Хотя на многих других платформах можно.

Аноним 22/04/22 Птн 18:31:41 2341840 188
Vscode не показал ошибку на отсутсвующий импорт, что за хуйня может быть?
Аноним 22/04/22 Птн 18:39:30 2341846 189
>>2341840
Надо переименовать .js в .ts
Аноним 22/04/22 Птн 18:52:11 2341853 190
>>2341765
> его запрос отвалился
Для этого не нужно ставить таймаут, а обрабатывать ошибку.
Аноним 22/04/22 Птн 18:52:42 2341854 191
>>2341840
значит где-то declare global стоит.
jquery?
Аноним 22/04/22 Птн 18:55:02 2341858 192
>>2341765
>Лучше уж юзер через 5 минут узнает, что его запрос отвалился, чем будет ждать неопределенно долгое количество времени
Пчел, этим занимается браузер, нахуя ты дублишь логику http клиента встроенного в браузер у себя в проекте? Как бы если коннект не разорвался, значит загрузка идёт.
Аноним 22/04/22 Птн 18:58:55 2341863 193
Аноним 22/04/22 Птн 18:59:47 2341864 194
image.png 55Кб, 570x78
570x78
>>2341647
В консоль вообще не смотришь?
Аноним 22/04/22 Птн 19:09:42 2341871 195
Пытаюсь провести манипуляции с DOM. Есть контейнер, внутри которого инпуты.
JS должен работать только при наличии нужного класса.
Всё работает, если js код находит класс. Однако если класса нет, то ломается вёрстка, стили не применяются, а в консоли ошибка из-за попыток применить к несуществующему контейнеру методы и прочее.
Полагаю, ломается как раз из-за отсутствия контейнера.

Чтобы исправить это, можно весь связанный код обернуть в if с проверкой на наличие контейнера.
Не будет ли такое говнокодом?
Аноним 22/04/22 Птн 19:13:48 2341875 196
>>2341854
я работал с node js, но мб он тупить начал из-за оперативы
Аноним 22/04/22 Птн 19:15:16 2341878 197
>>2341871
>Полагаю
пиздец
>обернуть в if с проверкой
может вообще тогда не запускать?
Аноним 22/04/22 Птн 19:20:34 2341883 198
image.png 87Кб, 1206x644
1206x644
>>2341864
Смотрю, пока не до этого было, 3 дня реакт изучаю решил пока не трогать нихуя, сейчас загуглю как фиксить, я изучаю по старым гайдам.

Олсо, сделал роутинг в индекс.джс, если я апп буду загружать через path "/" эт норм практика? или внутри аппа лучше все руты выставлять?
Аноним 22/04/22 Птн 19:21:33 2341885 199
>>2341878
>тогда не запускать?
Не запускать скрипт?
Аноним 22/04/22 Птн 19:23:17 2341887 200
>>2341819
>А чьё это дело?
Твоё.
>Моё дело, как разработчика, получить данные. Своевнеменно.
Это зависит от сервера и инфраструктуры. Клиентский скрипт на скорость запросов влияет более чем нихуя.
>Или какое-нибудь исключение, если их получить нельзя.
"Получить нельзя" - очень расплывчатое понятие, которое зависит от бизнес-логики бэка.
> И меня, как разработчика, категорически не устраивает история, когда фетч повисает по каким-либо причинам и данных своевременно нет.
Фетч может "виснуть" только по одной причине - сервер не вернул ответ с таймаутом. А это значит, что логики таймаута нет и на сервере. Опять таки тут тебе волшебный клиентский скрипт не поможет.
>Таким образом, fetch просто не пригоден для прикладного программирования.
Ну да, его спеку писали не для того, чтобы можно было говнокодить как захочется. Это вообще всех стандартов касается.
>Или надо строить немеренные обвязки над ним, или пилить собственное решение на базе xhr, чем все и занимаются в итоге.
Проблема в том, что ты считаешь, что фетч - либа уровня "сделай заебись", а не инструмент для работы с запросами. Для сделай заебись есть либы типа аксиоса.
>Если есть какая-то ожидающая асинхронная задача, то прервать её нельзя.
Вообще-то её можно "прервать" режектом.
>Хотя на многих других платформах можно.
Какие платформы?
Аноним 22/04/22 Птн 20:18:55 2341962 201
Когда лучше использовать SVG?
Аноним 22/04/22 Птн 20:23:17 2341969 202
>>2341962
всегда, если картинка не реалистичная картинка со множеством деталей, или если нужно сделать крутую анимацию. всякие иконки, простые в векторном представлении вещи лучше делать в svg.
Аноним 22/04/22 Птн 20:24:32 2341970 203
Охуел с реакта и с его уебанской экосистемы и перекатываюсь во вью. Какие подводные?
Аноним 22/04/22 Птн 20:36:48 2341976 204
Реально ли с одной Ноды послать сообщение на другую ноду на другом компе?
Аноним 22/04/22 Птн 20:43:38 2341984 205
>>2341976
через http а как ещё лол
Аноним 22/04/22 Птн 20:47:57 2341991 206
>>2341984
те без сервера посредника реально?
Аноним 22/04/22 Птн 20:51:13 2341992 207
>>2341875
Возможно. Попробуй Ctrl+ Shift + P -> Restart TS server
>>2341883
Норм практика - пилить изначально под SSR используя встроенные роутеры Next/Remix по соответствующей доке.
Аноним 22/04/22 Птн 20:52:29 2341995 208
>>2341991
Иди послушай лекцию по основам TCP На ютабах, что бы таких тупых вопросов не задавать.
Аноним 22/04/22 Птн 20:53:07 2341998 209
>>2341991
Нода это что? Пишешь роуты на одном компе, стартуешь сервер. Потом с другого компа посылаешь запросы на роуты и получаешь ответ на другой комп
Аноним 22/04/22 Птн 20:53:16 2341999 210
>>2341995
это по идее надо знать айпи адрес компа,так?
Аноним 22/04/22 Птн 20:54:50 2342000 211
>>2341999
Может надо, а может и нет. Зависит через что ты перекидывать собрался.
Аноним 22/04/22 Птн 20:56:22 2342002 212
>>2342000
если бы я знал, я бы не спрашивал про безсерверную передачу
Аноним 22/04/22 Птн 21:09:13 2342015 213
>>2341970
что уебанского? и почему решил что вью лушче? лучше для чего?
мне вот интересно как люди к таким выводам приходят
Аноним 22/04/22 Птн 21:11:37 2342019 214
Компоненты высшего порядка использует кто-то, или легаси? Стоит на это время тратить?
Аноним 22/04/22 Птн 21:12:17 2342021 215
>>2342002
>>2341976
Что значит "на другом компе"? В локальной сети можно хоть UPnP юзать для этого.
Аноним 22/04/22 Птн 21:17:20 2342026 216
>>2342019
В реакте уже легаси, во вью можно сказать тоже
Аноним 22/04/22 Птн 21:18:53 2342029 217
>>2342021
комп в другой стране может быть
Аноним 22/04/22 Птн 21:19:08 2342030 218
Изучаю реакт, вроде базовые вещи изучил, до хуков не дошёл. Приложение - веб - магазин сделал.
Я готов к джунству/стажировку? или уже надо хуки+ редакс знать?
Аноним 22/04/22 Птн 21:21:52 2342034 219
>>2342030
Имбецил ебаный, я по постановке вопроса уже сомневаюсь, что хоть что-то там изучил.
Аноним 22/04/22 Птн 21:22:37 2342035 220
>>2342030
))
а что ты сделал то без хуков? и зачем реакт для етого использовал, можешь показать код?
Аноним 22/04/22 Птн 21:23:01 2342036 221
Аноним 22/04/22 Птн 21:23:46 2342038 222
Желающий вкатиться в айти за месяц, ты?
Аноним 22/04/22 Птн 21:24:46 2342039 223
зачем ппросто такие вопросы задавать
ты ведь всгеда омжешь открыть ххру и псомортеть требования вакансий и сопостваить вывозишь ты или нет
ну вот что ты ожидаешь услышать то
Аноним 22/04/22 Птн 21:25:36 2342040 224
image.png 68Кб, 1200x1200
1200x1200
>>2342038
Я кста да. Месяц джс изучал, 3 дня реакта.
Но я до этого на шарпе год кодил
Но по ощущениям я будто всё могу создать. видимо я на экстремуме
>
Аноним 22/04/22 Птн 21:25:36 2342041 225
>>2342030
>Приложение - веб - магазин
Кидай сюда, щас тебе код ревью устроют)
Аноним 22/04/22 Птн 21:26:19 2342042 226
>>2342041
Да ну он не совсем готов. пока просто в корзину добавляет итемы. а пейдж отдельный с оплатой не доделал, завтра сделаю
Аноним 22/04/22 Птн 21:26:41 2342043 227
>>2341858
>Пчел, этим занимается браузер, нахуя ты дублишь логику http клиента встроенного в браузер у себя в проекте?
Ты из какого века? Зачем тебе тогда вообще fetch в браузере? Ты слово ajax слышал? А SPA?

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

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

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

>Какие платформы?
python
там можно сделать cancel для задачи, если она потеряла актуальность.
Аноним 22/04/22 Птн 21:27:55 2342046 228
>>2342040
А ну так ты чёто знаешь уже. А почему с шарпа выкатился? Алсо хоть в доке реакта всё на классах, сейчас на хуках пишут
Аноним 22/04/22 Птн 21:30:16 2342049 229
>>2342046
>А почему с шарпа выкатился?
я 2 месяца поработал и меня вышварнули из-за того что я задачу не мог решить. Хотя как я потом узнал, там многих увольняли, там мой друг работает, сказал что его тоже кикнули, я потом 2 года "депрессовал" и забил на кодинг, ща вернулся во фронтенд, пока как по маслу всё идёт.

Ну я ещё в вузе учусь, лабы делал все эти годы, но на шарпе/asm
3 курс
Аноним 22/04/22 Птн 21:32:11 2342053 230
>>2342049
>вышвырнули
долгофикс
Аноним 22/04/22 Птн 21:50:54 2342071 231
>>2342043
>Ты из какого века?
из 21 века
> что приложение в состоянии понять, отправились ли данные или нет. А для этого нужны таймауты.
Что ты несешь, шизик? У тебя тот же fetch возвращает promise, с которым ты можешь использовать оператор await и метод .then. Тебе блять недостаточно этого, что бы понять, завершена отправка данных или нет?
Аноним 22/04/22 Птн 22:05:56 2342083 232
>>2342019
Не будет ли у вас минутки поговрит о React.memo?
Аноним 22/04/22 Птн 22:21:13 2342094 233
>>2342071
Так он говорит о том, что нельзя запрос отменить, который уже отправлен. Хотя ему уже написали про аборт контрол и вроде тема ичерпана была, чё вы дальше мусолите
Аноним 22/04/22 Птн 22:44:38 2342108 234
16506281678380.png 61Кб, 760x440
760x440
>>2342094
> Хотя ему уже написали про аборт контрол и вроде тема ичерпана была
Лол, исчерпана. Пока ещё ни один, НИ ОДИН браузер его не поддерживает. Тут только сотый файрфокс указан, но это пререлизовая версия, в релизе сейчас версия 99. А ещё гугол-хром есть и другие, которые в ближайшее время поддерживать не будут.

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

А ведь логика самая простая. На фронте нужен функционал, что при нажатии кнопки на сервер отправляется запрос. И надо, чтобы если запрос тормозит, пользователю показывалось сообщение "сорри, что-то не работает сейчас". И аналогичная логика в рутинных фоновых задачах, где поллинг какой-то идёт. Самая очевидная и нужная вещь для прикладного программирования, и это не додумались сделать. Это именно fetch.

Ещё есть просто вопросы к кривости асинхронности.

Просто не осилили сделать нормальную платформу. Какой язык, такие и проектировщики, одно в другое перетекает.
Аноним 22/04/22 Птн 22:55:29 2342123 235
image.png 58Кб, 1152x648
1152x648
>>2342108
>Пока ещё ни один, НИ ОДИН браузер его не поддерживает.
Какой же тупой, пиздец просто. ты смотришь на свойство "timeout", а не на сам abort controller. Вот тебе список браузеров, которые могут отменять запрос по аборту. При необходимости, ты и по таймауту можешь аборт запустить, тебе это никто не запрещает но если ты так будешь делать - ты долбоеб.
>надо, чтобы если запрос тормозит, пользователю показывалось сообщение "сорри, что-то не работает сейчас"
Чел, а если юзер входит в процентов 30 населения, которые имеет доступ к 2г интернету и для него то, что ты называешь "тормозит" абсолютно нормальная работа интернета, при которой он получает плевок в ебало от вебмакаки в виде "что-то пошло не так", какое у него мнение сложится о твоем продукте?
>Самая очевидная и нужная вещь для прикладного программирования, и это не додумались сделать.
Это додумались сделать, ты просто читать не научился за свои 20+ лет сущетствования.
Аноним 22/04/22 Птн 23:00:55 2342129 236
>>2342123
>Какой же тупой, пиздец просто. ты смотришь на свойство "timeout", а не на сам abort controller.
Мне нужен таймаут и я смотрю свойсво таймаут. На который ты раньше дал ссылку. И кто из нас тупой?

При этом xhr таймаут есть.

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

Аноним 22/04/22 Птн 23:06:04 2342132 237
>>2342129
>Мне нужен таймаут и я смотрю свойсво таймаут. На который ты раньше дал ссылку. И кто из нас тупой?
Ты, потому что несмотря на то, что тебе буквально доказали, что ты не прав ты начал строить из себя неебаца эксперта, хотя по факту являешься не более чем вкатуном.
>При этом xhr таймаут есть.
А еще во времена xhr был activex. Теперь будешь считать, что эта хуйня априори должна поддерживаться везде, где только можно? Тебе уже несколько анонов написали, что ставить таймауты на запросы это антипаттерн.
>Если я умышленно прописываю маленький таймаут, значит так надо
Значит ты костыли хуяришь, а не нормальный код.
Аноним 22/04/22 Птн 23:23:47 2342150 238
>>2342132
>Тебе уже несколько анонов написали, что ставить таймауты на запросы это антипаттерн.
Видел я приложения, которые эти аноны разрабатывают. Некоторыми можно даже пользоваться, пока интернет хороший и стабильный.

>А еще во времена xhr был activex.
Какой ещё activex? Есть исключительные ситуации, разные юз-кейсы работы кода. И их надо учитывать. А вы их не учитываете, вам всё пофиг. Будете с пеной у рта доказывать, что не надо.

Какой комьюнити, такой и язык. Поэтому JS такой кривой и исправляется еле-еле.

Но мне и не с такими поделками приходилось работать, я как-то не сильно жалуюсь.
Аноним 22/04/22 Птн 23:33:47 2342155 239
>>2342150
>Некоторыми можно даже пользоваться, пока интернет хороший и стабильный.
Вот как раз ими и можно пользоваться, твоя поделка просто насрет пользователю в ебало ошибкой о таймауте.
>Но мне и не с такими поделками приходилось работать, я как-то не сильно жалуюсь.
Кого ты хочешь наебать, если ты банально не знаешь как fetch работает? Сколько ты работал в ИТ? Месяц джуном?
Аноним 22/04/22 Птн 23:44:12 2342159 240
>>2342155
>Кого ты хочешь наебать, если ты банально не знаешь как fetch работает? Сколько ты работал в ИТ? Месяц джуном?
Лол, есть ощущение, что это ты в этой сфере год или меньше.

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

Или может мне нужен умеренный таймаут. Или вообще пофиг.

Вот, это моя задача как разработчика решать, что мне надо в конкретной ситуации, и исходя из этого конфигурировать вызов. Чего fetch не позволяет.
Аноним 22/04/22 Птн 23:46:05 2342162 241
>>2342159
>Чего fetch не позволяет.
Хватит так жестко толлить тупостью
мимо
Аноним 22/04/22 Птн 23:48:41 2342165 242
>>2342162
Покажи код, как сделать так, чтобы если в течении двух секунд данные не были получены, fetch прерывался бы.
Аноним 22/04/22 Птн 23:53:07 2342168 243
>>2342165
const ac = new AbortController();
const {signal} = ac;
setTimeout(()=>ac.abort(), 2_000);
fetch('...', {signal})
Аноним 23/04/22 Суб 00:04:50 2342174 244
>>2342165
Первая ссылка в гугле по запросу "js cancel fetch"
Аноним 23/04/22 Суб 00:09:05 2342182 245
>>2342159
От того что ты запрос закенселишь данные твои свежее не станут))
Аноним 23/04/22 Суб 00:21:37 2342197 246
>>2342182
В нестабильных сетях очень обычная история, что у тебя соединения рвутся, а ты об этом не узнаёшь. Ты должен предусматривать эти истории как штатные.

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

Причём поздние данные тоже плохи. И может нарушаться порядок из прихода. И в случае поллига может накапливаться много повисших соединений, если их не рвать.
Аноним 23/04/22 Суб 00:51:45 2342223 247
image.png 22Кб, 600x188
600x188
Аноним 23/04/22 Суб 11:30:50 2342349 248
>>2341970
Потом придется перекатываться на svelte
Аноним 23/04/22 Суб 14:58:30 2342495 249
нахуя вы с фетчем дрочитесь, если есть ахиос в котором отмена запроса уже давным давно есть
Аноним 23/04/22 Суб 15:39:51 2342512 250
>>2342495
> на каждый чих надо ставить стороннюю библиотеку вместо использования встроенного функционала
Аноним 23/04/22 Суб 15:43:51 2342514 251
Аноним 23/04/22 Суб 15:51:25 2342520 252
>>2342512
а, ну тогда пиши на ваниле и костыляй свои лодаши и реакты, всё ведь можно на внутреннем функционале написать, нахуй не нужно это ваше чужое!
Аноним 23/04/22 Суб 16:12:27 2342536 253
>>2342495
>если есть ахиос в котором отмена запроса уже давным давно есть
А акиос весит ноль байтов как fetch?
Аноним 23/04/22 Суб 16:15:40 2342546 254
>>2342520
Тут дело в том, что аксиос весит дохуя, а функционала приносит за свой вес ровным счетом нихуя. Тот же лодаш и реакт намного больше нового функционала добавляют.
Аноним 23/04/22 Суб 17:02:33 2342587 255
image.png 30Кб, 448x299
448x299
>>2342546
миник 30ку весит, а в запакованный около 5кб
>дохуя весит
Аноним 23/04/22 Суб 17:15:01 2342601 256
>>2342587
>миник 30ку
Ну да, и?
Миник фетча весит 1кб максимум, в 30 раз меньше.
Аноним 23/04/22 Суб 17:35:53 2342630 257
>>2339952 (OP)
Здарова аноны. В общем мне нужно разобраться как можно пользоваться стандартными потоками ввода вывода в Node JS (8.10.0). Мне нужно ввести два числа разделенных пробелом в одной строке и чтобы мне программка выдала их сумму а затем завершилась.

Нашел вот такое https://replit.com/@kekos88/OldTremendousProcedures#index.js решение, однако не работает нихуя. Ввожу числа - жму enter - ???? - ничего не происходит. Как это исправить? Что посоветуете почитать чтобы нормально разбираться в стандартном вводе выводе у Ноды? Ютуб туториалы идут по 4-7 часов и там слишком много ненужной мне хуеты, а на сайте ноды тупо справочник в котором хер разберешься. Че делать?
Аноним 23/04/22 Суб 18:15:58 2342658 258
Пацаны, а где мне тестировать свой код в онлайне? хочу маленькие кусочки запускать и смотреть что выдаст на реакте, в реплите нету, каждый раз чтоли запускать вскод и писать нпм старт? дохуя мороки както
Аноним 23/04/22 Суб 18:18:30 2342662 259
image.png 7Кб, 529x44
529x44
image.png 35Кб, 839x629
839x629
>>2342658
>каждый раз чтоли запускать вскод
Зачем ты его закрываешь?
>>2342630
'end' то как вызываешь?
Аноним 23/04/22 Суб 18:21:36 2342665 260
>>2342662
>Зачем ты его закрываешь?
ну ваще не закрываю, просто у меня там приложение большое уже написано, и я не хочу в нем копаться, хочу маленький файл для тестов, но ради него нужно целое реакт приложение устанавливать. по другому хз как
Аноним 23/04/22 Суб 18:25:33 2342669 261
image.png 3Кб, 146x107
146x107
Аноним 23/04/22 Суб 18:27:27 2342670 262
>>2342669
бля сори, я даун
спс
Аноним 23/04/22 Суб 18:30:40 2342674 263
>>2342662
>'end' то как вызываешь?

Ну я пробовал ctrl-c например и ctrl-d, тогда программа завершается, но результат в консоль не выводит.
Я на самом деле не понимаю что я делаю в этом коде, я его тупо скопировал.
Аноним 23/04/22 Суб 19:51:42 2342752 264
как сделать такую тему,есть на многих сайтах,есть допустим 2 заголовка-ссылки,по умолчанию 1й.Если нажать 2й,то подгружает какуюто информацию,а сайт в целом не меняется
Аноним 23/04/22 Суб 20:14:15 2342773 265
>>2342752
Кажется, ты говоришь про "табы"
Аноним 23/04/22 Суб 20:17:37 2342774 266
Аноним 23/04/22 Суб 20:55:10 2342803 267
>>2342752
Никогда не перестану поражаться тому, что люди, в большинстве своем, не способны связать двух слов.

Словно всю жизнь существуешь в мире умственно отсталых.
Аноним 23/04/22 Суб 20:57:31 2342804 268
>>2342803
а что он не так связал тут?
Аноним 23/04/22 Суб 21:16:42 2342814 269
>>2342804
>не так
Предполагая, что там что то связано
Аноним 23/04/22 Суб 23:45:22 2342850 270
Стикер 191Кб, 380x508
380x508
Пиздец, получается JS сам по себе бесполезен и нигде не нужен. Нужно обязательно учить фреймфорки, либы для них, всякие TS, ноду.
Аноним 23/04/22 Суб 23:51:50 2342853 271
Screenshot52.png 42Кб, 695x414
695x414
>>2342850
>JS сам по себе бесполезен и нигде не нужен
Хуле ты хотел от языка, где даже чтобы сгенерить рандомное целое число нужно писать гигантский костыль?
Аноним 24/04/22 Вск 00:47:39 2342881 272
image.png 400Кб, 1148x2582
1148x2582
Аноним 24/04/22 Вск 02:00:33 2342910 273
>>2342850
Можно даже JS не учить, но это возможность делать сайты на вордпрессе за 40к, без какого-либо развития.
Аноним 24/04/22 Вск 09:44:40 2342962 274
>>2342674
ctrl+c это завершение процесса, событие SIGINT.
Конец ввода это ctrl+z
>>2342658
Арендуй себе хостинг для простенького php скрипта и заливай туда по ftp файлы после сборки. Ну или арендуй себе vds и прямо на нём разрабатывай под ssh, vs code такое умеет, вебшторм тоже.
>>2342853
Уже не надо, есть crypto.getRandomValues

Аноним 24/04/22 Вск 09:49:59 2342963 275
8943798356837899.jpg 6Кб, 273x184
273x184
>>2342962
>crypto.getRandomValues
Поридж, а что скрывается за этим твоим crypto.getRandomValues знаешь? Тот же самы костыль.
Думаешь, раз обернул говно в фантик, то оно перестало быть говном?
Аноним 24/04/22 Вск 09:52:11 2342964 276
image.png 43Кб, 991x597
991x597
>>2342963
Вкатун, плиз. Там не Math.random внутри, все уже давным давно расжовано.
Аноним 24/04/22 Вск 09:58:43 2342969 277
Бля надо наверное очень умным быть, чтобы эти пакеты писать
Аноним 24/04/22 Вск 10:59:51 2343000 278
>>2342853
а как сделать,чтобы числа не повторялись?
Аноним 24/04/22 Вск 11:00:43 2343001 279
>>2343000
Никак, не придумали математики еще способа зарандомить ПОЛНОСТЬЮ уникальное число, которое гарантированно будет уникальным.
Аноним 24/04/22 Вск 11:01:55 2343002 280
>>2343001
я имел ввиду,что как в лото,надо сгенерить 6 чисел,и чтобы генерируемые числа не повтоились
Аноним 24/04/22 Вск 11:04:47 2343005 281
>>2343002
Только проверяя каждый раз, нет ли уже такого сгенерированного числа ранее, если есть - рандомить заного. В рандомайзерах сейчас гарантируется, что два числа подряд не будут одинаковыми, а вот 3 - уже нет (могу ошибаться, я давно смотрел как это реализовано в v8, сейчас могли поменять).
>как в лото
Тебе надо просто рандомно выбрать уже существующие числа из списка, а не рандомные.
Аноним 24/04/22 Вск 11:05:32 2343008 282
>>2343002
Храни результат в сете и роль до тех пор, пока его размер не станет 6.
Аноним 24/04/22 Вск 11:06:50 2343009 283
Но ведь это же логично. Если число рандомное, то у него есть шанс повториться
Аноним 24/04/22 Вск 11:08:44 2343010 284
>>2343009
Рэндомы бывают разные.
Аноним 24/04/22 Вск 11:49:00 2343047 285
В ЖС завезли упрощенный цикл ? что нибудь типо for i < 10 log("puk") ?
Аноним 24/04/22 Вск 11:50:34 2343048 286
>>2343047
Только внутри коллекций с итератором.
const hw = "hello world";
for (const char of hw) console.log(char)
Аноним 24/04/22 Вск 13:12:29 2343070 287
>>2343005
те делать массив,и удалять индекс массива после вывода числа??делать через set?
Аноним 24/04/22 Вск 13:27:57 2343078 288
>>2342962
ctrl+z это разве не остановка процесса? У меня по нажатию этой комбинации пишется Stopped имя программы.
Аноним 24/04/22 Вск 13:32:34 2343080 289
Чому браузеры до сих пор не могут в tco?
Аноним 24/04/22 Вск 13:37:56 2343081 290
Снимок экрана20[...].png 124Кб, 1366x768
1366x768
пояснительную бригаду,как это все работает
Аноним 24/04/22 Вск 13:45:43 2343086 291
Аноним 24/04/22 Вск 13:54:28 2343087 292
Снимок экрана20[...].png 135Кб, 1366x768
1366x768
>>2343086
да.
как ограничить диапазон от 1 до 6?
Аноним 24/04/22 Вск 13:55:47 2343090 293
>>2343081
я так понял,это для браузера код,а я запустил через ноду
Аноним 24/04/22 Вск 14:01:20 2343096 294
И герерить числа таким образов лучше на фронте или на бэке?
Аноним 24/04/22 Вск 14:03:40 2343100 295
>>2343096
Конечно на фронте, это же гарантирует, что никто из клиентов не подделает результат рандома.
Аноним 24/04/22 Вск 14:11:29 2343105 296
>>2343100
а разве на фронте эту крипто апи можно подделать?
Аноним 24/04/22 Вск 14:24:48 2343112 297
>>2343105
Конечно нельзя, ты же будешь всю криптолибу с каждым запросом посылать.
Аноним 24/04/22 Вск 14:44:41 2343123 298
Аноним 24/04/22 Вск 16:31:24 2343193 299
У меня браузерная игра подбирается к ОБТ, на Node и вебсокетах. Взял на пробу VDS у яндекса (Cloud Compute), работает лайк э чарм, минимальной мощности за 1200 в месяц должно хватить на несколько сотен игроков в онлайне - короче, с лихвой. Но у яндекса довольно жёсткий лимит на исходящий трафик, и после 10 первых ГБ за каждый дополнительный будет взиматься по полтора рубля.

Короче, кто-то может поделиться своим опытом с VPS/VDS у конкретного хостера (timeweb? sprinthost?)? Чтобы всё серьёзно: убунта (хотя она везде), доступ к консоли рута по SSH, при этом без жёстких лимитов на трафик и с хорошим пингом. И цена простейшей конфигурации не более 1000 р/мес желательно.
Аноним 24/04/22 Вск 16:39:19 2343196 300
>>2343070
Да, удаляй после каждого выбора из set выбранное число.
>>2343078
Зависит от терминала, в винде это конец ввода, в баше это завершение программы.
>>2343087
>от 1 до 6
делением по модулю
>>2343105
А зачем подделывать, если можно сразу ввести нужный результат без обращений к либе?

Аноним 24/04/22 Вск 16:55:42 2343206 301
>>2343193
>ОБТ
Основной боевой танк?
Аноним 24/04/22 Вск 17:13:43 2343227 302
>>2343206
открытый бета тест
Аноним 24/04/22 Вск 17:49:45 2343240 303
>>2343196
>делением по модулю
не понял
Аноним 24/04/22 Вск 17:53:06 2343241 304
>>2343196
>А зачем подделывать, если можно сразу ввести нужный результат без обращений к либе?
ну для бэка тогда надо php учить
Аноним 24/04/22 Вск 17:54:21 2343243 305
>>2343193
Игра полностью на жс?
Аноним 24/04/22 Вск 18:20:29 2343259 306
>>2343240
% 6

Пиздец костыль, как в СИ с rand.
Аноним 24/04/22 Вск 18:29:04 2343261 307
image.png 39Кб, 657x629
657x629
Аноны, поясните за говнокодство/костыли.

У меня есть стейт в котором хранится сумма товаров.
На моём сайте есть 2 раздела, основной и /Payment там оплата всех товаров будет с выводом суммы.
Пришёл к тому что у меня App - главный компонент будет хранить стейт суммы, и я каждый раз передаю этот стейт большой цепочкой компонентам. Причем я передаю аж 2 стейта, функция которая обнуляет сумму (setState({moneyStore: 0}) , а другой ветке передаю текущее количество денег. В итоге получится довольно много ссылок на этот стейт. Это нормальная практика? То есть нескольким компонентам в хуй не упёрся этот стейт, но мне приходится его по цепочке передавать потому что не могу по-другому связаться с разделами.

В идеале я хотел хранить в дочернем компоненте Payment эту сумму и там же её ресетать, но не понял как в параллельных компонентах ( а параллельные они потому что в разных разделах находятся и их нельзя рендерить друг друга) тогда менять это значение, поэтому сделал через длинную цепочку (ну она не очень длинная, но если представить что проект будет гигантским, то будет засрано всё)
Аноним 24/04/22 Вск 18:30:03 2343262 308
>>2343261
Забыл сказать. При нажатии на карточку Card у меня добавляется в moneyStore += price этой карточки.
а в пейменте на кнопку пей я ресетаю количество денег.

Аноним 24/04/22 Вск 18:39:17 2343271 309
Аноним 24/04/22 Вск 18:40:14 2343272 310
Аноним 24/04/22 Вск 18:41:20 2343273 311
Аноним 24/04/22 Вск 18:41:55 2343274 312
>>2343259
>костыль
А как некостыльно зарандомить число в диапазоне?
Аноним 24/04/22 Вск 18:43:12 2343275 313
Аноним 24/04/22 Вск 18:44:08 2343276 314
Аноним 24/04/22 Вск 18:46:35 2343277 315
>>2343275
>random(diapason)
Что это за высер? Вот у тебя есть функция, которая возвращает случайные N-бит. Покажи мне способ, как эти биты преобразовать в число в определенном диапазоне без костылей.
Аноним 24/04/22 Вск 18:47:25 2343278 316
>>2343272
Понял. Ну я пока 4й день учу реакт, решил не затрагивать его. вот сегодня только узнал что такое хуки.
Как думаешь, редакс лучше потом изучать? или уже можно садиться сразу
Аноним 24/04/22 Вск 18:49:01 2343280 317
Аноним 24/04/22 Вск 18:50:51 2343283 318
>>2343278
Смотри про редакс, про useReducer
Аноним 24/04/22 Вск 18:52:21 2343286 319
Аноним 24/04/22 Вск 18:56:21 2343288 320
Мне одному кажется что реакт - говно без задач? Чтобы сделать что-то банальное и простенькое, хватит и чистого жс, чтобы сделать сложное и комплексное - на реакте невозможно без анального пердолинга и костылей.

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

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

Проще свой фреймворк написать на ванильном жс ояебал.
Аноним 24/04/22 Вск 18:56:42 2343289 321
>>2343280
>function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}
так?
Аноним 24/04/22 Вск 18:59:15 2343294 322
>>2343289
но тогда вероятны повторы чисел
Аноним 24/04/22 Вск 19:01:02 2343302 323
>>2343196
>Зависит от терминала, в винде это конец ввода, в баше это завершение программы.

У меня WSL терминал
Аноним 24/04/22 Вск 19:03:06 2343304 324
>>2343288
>ивенты на компонентные дивы не навесить без табуляции
???
Аноним 24/04/22 Вск 19:12:37 2343310 325
Если мне нужно некоторую ссущность из редакс стора сохранять в локал сторедж (но не всё редаксостояние), мне нужно писать для этого тханк-хуянк? Причём похоже придётся писать каноничный бойлеплейтный хуянк, а не колбэк для createAsyncThunk().
Аноним 24/04/22 Вск 19:18:43 2343319 326
Аноним 24/04/22 Вск 19:18:51 2343320 327
>>2343288
>при этом ивенты на компонентные дивы не навесить без табуляции
???
function Abu(props){
return <div {...props></div>;
}
???
Аноним 24/04/22 Вск 19:20:40 2343322 328
>>2343304
onKey ивенты работают только со всякенными форменными элементами типа инпутов, потому что у оных дефолтно идет tabIndex в свойствах, у пустых контейнерных жлемнетов типа мэин и див нету такого, вручную писать надо, но это говно

>>2343320
Ты знаешь что такое ивенты? ???
Аноним 24/04/22 Вск 19:38:03 2343330 329
>>2343243
> Игра полностью на жс?
Лет 10 назад я бы мог решить, что ты спрашиваешь про flash, silverlight или java-апплет. А в 2к22 я даже хз, что может значить "не полностью на жс". Или ты про сервер? Он на NodeJS без примесей. Там серверных вычислений не то чтобы мало, но сама игрушка пошаговая, так что JS должен справляться.
Аноним 24/04/22 Вск 19:40:00 2343335 330
Аноним 24/04/22 Вск 19:41:18 2343336 331
>>2343322
В смысле? А как ты хочешь чтобы оно онки тебе давало если ты на нём фокус не можешь?
Аноним 24/04/22 Вск 19:41:49 2343338 332
>>2343330
Монетизация будет?
Аноним 24/04/22 Вск 19:47:17 2343345 333
>>2343336
Молча, элементы слушают за глобальное нажатие через основной ивент класс, в игровых движках так и сделано, либо делается (тоже за костыль считаю) через зависимость от синглотона какого-нить.

Но тут по крайней мере даже не напердолить зависимостей как на ванильном жсе чтобы все это дело контролировать. Я уж устал в эту матрешку играть, перекидывая функции. Чинишь одно, ломается другое, пиздец 'модульность и легкость в разработке'
Аноним 24/04/22 Вск 19:48:59 2343346 334
1578987600347.png 37Кб, 925x217
925x217
Аноним 24/04/22 Вск 19:49:13 2343347 335
>>2343335
Всё на JS/CSS, даже канвас не юзал, там нет сложных анимаций.

>>2343338
>Монетизация будет?
До монетизации там путь в годы, я думаю.
Аноним 24/04/22 Вск 19:51:26 2343349 336
>>2343347
>До монетизации там путь в годы, я думаю.
можно сразу плющки за бабки продавать
Аноним 24/04/22 Вск 19:54:47 2343351 337
>>2343346
Нет, у тебя так стейт не сохранится.
Аноним 24/04/22 Вск 19:55:44 2343353 338
>>2343289
изи
function getRandomNumberNoRepeat(min, max) {
const numberArray = [];
const numbersAmount = max - min + 1;
let randomValue;
return function getRandomNumber() {

if (numberArray.length === numbersAmount) {
console.log('Array of numbers is full, restart function');
return numberArray;
}

do {
randomValue = Math.floor(Math.random() * numbersAmount + min);
} while (numberArray.includes(randomValue));
numberArray.push(randomValue);

return randomValue;
}
}
const getRandom = getRandomNumberNoRepeat(1, 2);
console.log(getRandom());
Аноним 24/04/22 Вск 19:56:30 2343356 339
>>2343349
В игре пока делать нечего, кроме прохождения вступительной кампании. ПвП нет и не будет, какие там плюшки. Чистой воды игра мечты, короче. На этапе проектирования о способах монетизации мыслей не было.
Ладно, ухожу отсюда, всё-таки не /gd/
Аноним 24/04/22 Вск 19:56:57 2343357 340
>>2343351
Где не сохранится? В хэндлере ставь нужный тебе стейт. Не понимаю что не так.
Аноним 24/04/22 Вск 20:01:39 2343362 341
>>2343356
Хоть ссылку дай на тред в гд или куда-нибудь. Интересно же.
Аноним 24/04/22 Вск 20:07:33 2343367 342
>>2343357
>не понимаю
Так ты тестируй свой код чтобы понимать.
Добавь в свой хендлер стейт счетчик какой-нибудь и посмотри как он будет работать.
Аноним 24/04/22 Вск 20:10:58 2343369 343
Screenshot20220[...].png 47Кб, 999x481
999x481
Screenshot20220[...].png 43Кб, 896x303
896x303
Как называется эта болезнь?
Аноним 24/04/22 Вск 20:12:29 2343370 344
>>2343369
Жаба головного мозга
Аноним 24/04/22 Вск 20:13:17 2343372 345
image 119Кб, 736x736
736x736
Аноним 24/04/22 Вск 20:15:38 2343373 346
1633378982005.png 108Кб, 1849x509
1849x509
Аноним 24/04/22 Вск 20:19:27 2343374 347
Вы вообще знаете что такое костыли? Это когда ты пилишь свой говнокод вместо нормального. Какого хуя вы блять называете костылями готовые решения (нпм пакеты?) или когда вы говорите про костыли, вы сами себя обсираете. На реакте "писать костыли" вас никто не заставляет лол
Аноним 24/04/22 Вск 20:26:37 2343378 348
>>2343373
Ты собрался регестрировать хендер на каждый ре-рендер? У тебя на простых анимациях с пары объектов браузер вытечет.
Аноним 24/04/22 Вск 20:27:37 2343380 349
>>2343374
Тащемта хронический нпм инсталл тоже может стать костылём заместо архитектуры.
Аноним 24/04/22 Вск 20:27:40 2343381 350
>>2343353
Во первых, Math.random это не рандом и на любом нормальном проекте ты за это получил бы по рукам.
Во вторых, у тебя это медленно работает, если надо заполнить массив большой длины. Нужном енять массивы на set.
Аноним 24/04/22 Вск 20:28:14 2343382 351
>>2343381
Вернее, максимально не безопасный рандом
быстрофикс
Аноним 24/04/22 Вск 20:28:20 2343383 352
>>2343374
Кто-нибудь объясните этому дурачку что любой школьник может наклепать своих пакетов и никто ему за это даже линейкой не шлепнет.
Аноним 24/04/22 Вск 20:33:20 2343387 353
>>2343383
А я говорил про пакеты школьников? Я говорю про мастадонтов типа node-ipc
Аноним 24/04/22 Вск 20:33:55 2343388 354
1620822197755.png 74Кб, 987x521
987x521
Аноним 24/04/22 Вск 20:38:44 2343392 355
Аноним 24/04/22 Вск 20:40:40 2343395 356
>>2343392
1) использовать crypto
2) использовать Set
Аноним 24/04/22 Вск 20:42:21 2343397 357
>>2343388
А теперь проверяй свой код как в первый раз)))

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

Если бы я не был ленивой жопой мне проще было бы что-нибудь свое напердолить.
Аноним 24/04/22 Вск 20:44:34 2343398 358
Аноним 24/04/22 Вск 20:46:42 2343401 359
Screenshot20220[...].png 14Кб, 889x119
889x119
Screenshot20220[...].png 16Кб, 938x90
938x90
>>2343369
Это говно начинает меня бесить. Какой-то шизик расставил нулы по половине .d.ts? В официальной документации нет никаких нулов блять.
Кто из этих двух пидорасов мне пиздит?
Аноним 24/04/22 Вск 20:52:04 2343402 360
>>2343362
не, пока соблюдаю анонимность
может потом создам отдельный тред в /gd
Аноним 24/04/22 Вск 20:56:31 2343403 361
Какой способ обращению к стор лучше? Вижу есть connect()(), но он более многословен чем хуки useDispatch() и useSelector(). В каких случаях что выбирать?
Аноним 24/04/22 Вск 20:59:53 2343406 362
>>2343395
крипто uint8array до 255 генерит.
тогда нужна будет проверка чисел random<7 через цикл
потом mySet.has(random);
Аноним 24/04/22 Вск 21:06:14 2343408 363
>>2343406
>тогда нужна будет проверка чисел random<7
Нет. Иди читай страницу про доки про ператоры в JS.
Аноним 24/04/22 Вск 21:10:09 2343412 364
>>2343408
про побитовые или условные?
Аноним 24/04/22 Вск 21:13:17 2343413 365
>>2343412
Про бинарные арифметические
Аноним 24/04/22 Вск 21:15:54 2343415 366
>>2343413
а причем тут арифметика?
что ты собрался делить или умножает?
Аноним 24/04/22 Вск 21:17:21 2343418 367
>>2343415
Вот она то тут как раз причем. Почитай и подумай еще раз над тем, как определять, меньше ли число 7 при рандоме и надо ли это делать.
Аноним 24/04/22 Вск 21:24:02 2343423 368
>>2343418
до меня пока дошло,что там генерация идет до 255,
а нужно допустим 6 чисел из 49.
это сколько тупой работы по генерации и переборке будет
Аноним 24/04/22 Вск 21:25:23 2343425 369
>>2343398
Я использую референс к переменной через которую меняю стейт.
Это даже звучит тупо потому что стейт в реакте должен сам исполнять функцию основных характеристик компонента, иначе нахуй он такой нужен, кастыльный кастыль.
Аноним 24/04/22 Вск 21:25:23 2343426 370
>>2343423
Да, в правильную сторону мыслишь.
Аноним 24/04/22 Вск 21:40:54 2343431 371
>>2343426
function getRandomInt(min, max) {
// Create byte array and fill with 1 random number
var byteArray = new Uint8Array(1);
window.crypto.getRandomValues(byteArray);

var range = max - min + 1;
var max_range = 256;
if (byteArray[0] >= Math.floor(max_range / range) * range)
return getRandomInt(min, max);
return min + (byteArray[0] % range);
я не знал ответа,но гугление дало такое
}
Аноним 24/04/22 Вск 21:51:19 2343435 372
Indexed Databas[...].png 12Кб, 699x141
699x141
Indexed Databas[...].png 5Кб, 679x54
679x54
Аноним 24/04/22 Вск 22:14:49 2343442 373
Аноним 24/04/22 Вск 22:18:25 2343445 374
Аноним 24/04/22 Вск 23:00:38 2343474 375
Интересно, почему еще нет фреймворка Perdux?
Аноним 24/04/22 Вск 23:01:49 2343475 376
const x = document.querySelector('#test').textContent
Я не совсем понимаю. Почему, если вот так сделать: x = 'какой-то текст', то текст внутри элемента выбранного селектором не меняется?
Если вот так, то всё меняется document.querySelector('#test').textContent = "выфвфы", а если через переменную, то нет
Аноним 24/04/22 Вск 23:08:16 2343478 377
>>2343475
>const x = document.querySelector('#test').textContent
Ты получаешь значение поля объедка узла, то есть это самая обычная строка. Менять этот x это все равно что просто поменять строку этой переменной. К dom-узлу эта переменная уже никакого отношения не имеет, ты уже получил строку.
>Если вот так, то всё меняется document.querySelector('#test').textContent = "выфвфы"
Потому что document.querySelector() возвращает ссылку на объект ноды, и ты меняешь свойство этого объекта, что отражается в дом. Менять значение в переменной и свойство объедка это очень разные вещи.
Аноним 24/04/22 Вск 23:09:37 2343479 378
>>2343475
Изучай что такое ValueObject и что такое ReferenceObject, поймешь.
Аноним 24/04/22 Вск 23:12:11 2343481 379
>>2343478
Спасибо!
А есть тогда способ, чтобы эту лабуду как-то запихнуть в переменную, чтобы укоротить? Мне несколько раз нужно обращаться к ней и как-то не очень каждый раз прописывать document.querySelector('#test').textContent
Аноним 24/04/22 Вск 23:13:01 2343482 380
>>2343401
>В официальной документации

Вот ты ахуеешь, когда выяснишь, что MDN это не официальная документация, а вики.

Однажды может быть наконец отыщешь в интернете специфиуации.
Аноним 24/04/22 Вск 23:14:52 2343485 381
>>2343481
Ну так
const x = document.querySelector('#test')
x.textContent = 'Залупа'
Аноним 24/04/22 Вск 23:14:52 2343486 382
>>2343481
Блять ну сохрани вызов селектора в переменную.
Аноним 24/04/22 Вск 23:15:35 2343488 383
>>2343481
Дык запихни просто сам объект в переменную
const test = document.querySelector('#test');
test.textContent = 'пук'

А лучше иди учить жс
Аноним 24/04/22 Вск 23:20:39 2343492 384
Capture.JPG 73Кб, 1104x852
1104x852
>>2343485
>>2343486
>>2343488
Спасибо.
До этого я бы и сам догадался, наверное. Просто устал уже. Весь день сидел занимался.
Вот пилю свою борду ради практики. Основной функционал уже работает, хотя там наверное дикий говнокод
Аноним 25/04/22 Пнд 00:31:16 2343514 385
>>2343482
> Вот ты ахуеешь, когда выяснишь, что MDN это не официальная документация, а вики.
Вот же бля, а ведь ты прав...
Аноним 25/04/22 Пнд 00:39:36 2343516 386
Screenshot56.png 20Кб, 793x230
793x230
>>2343482
Ебать меня за шиворот, меня так не наебывали с начальной школы, когда родители пообещали купить сегу на новый год, а потом нихуя не купили.
Какого блять хуя в MDN гонят какой-то порожняк и ничего не сообщают про null? В спецификации IndexedDB все написано же.
Аноним 25/04/22 Пнд 01:02:34 2343523 387
>>2343516
Чтобы пориджей не душить
Они там только легонько намекают в виде if (cursor)
Аноним 25/04/22 Пнд 02:04:41 2343536 388
>>2343516
>Какого блять хуя в MDN гонят какой-то порожняк
Так всех людей, которые там работали поувольняли к хуям собачьм, там теперь сообщество базу знаний наполняет, как вики. Какое сообщество - такое и качество контента. количество вкатунов и недомидлов с 10 летним опытом разработки там зашкаливает
Аноним 25/04/22 Пнд 02:12:56 2343538 389
Аноны, а есть пример большого next.js приложения, где больше 100 компонентов и больше нескольких десятков рутов? Пытался на гитзхабе поискать - ничего не нашел больше пары страниц.
Аноним 25/04/22 Пнд 02:17:56 2343539 390
>>2343536
> недомидлов с 10 летним опытом разработки
Это как?
Аноним 25/04/22 Пнд 02:45:48 2343540 391
>>2343539
Ну вот чел работает 10 лет в одной области, а знаний едва ли наберется на уровень миддла.
Аноним 25/04/22 Пнд 07:22:03 2343566 392
Насколько хорошо vue работает с тайпскриптом? Насколько это костыльно?
Аноним 25/04/22 Пнд 13:24:14 2343695 393
Опа. Сейчас вскод неправильно отработал 2 раза, после перезапуска нодмона всё норм. Я отправлял запрос с постмена, а постман отрабатывал будто со старой версией кода, после перезапуска всё ок. Сохраняться не забывал. В чём может быть проблема? Оперативка может быть причиной?
Аноним 25/04/22 Пнд 13:29:13 2343699 394
А вот таким нормально заниматься? e.target.parentNode.parentNode.parentNode.dataset
Или так лучше не делать?
Аноним 25/04/22 Пнд 13:31:36 2343702 395
>>2343699
это что, кастомный event bubbling?
Аноним 25/04/22 Пнд 13:35:30 2343708 396
>>2343702
По клику по элементу мне нужно получить датасет, который есть у родителя этого элемента
Аноним 25/04/22 Пнд 13:44:49 2343717 397
Аноним 25/04/22 Пнд 14:35:28 2343742 398
>>2343566
Третий работает отлично, второй значительно хуже.
Аноним 25/04/22 Пнд 14:36:47 2343743 399
>>2343699
>parentNode
У интерфейса Node нет свойства dataset, а вот у parentElement - Есть.
Аноним 25/04/22 Пнд 14:42:57 2343749 400
Почему убунта грузит 12.12 ноду?
Аноним 25/04/22 Пнд 14:49:53 2343752 401
>>2343749
Ебанутый вопрос, какая бубунта и какую тебе версию надо?
Аноним 25/04/22 Пнд 14:50:39 2343754 402
Аноним 25/04/22 Пнд 14:53:53 2343760 403
Аноним 25/04/22 Пнд 14:55:59 2343761 404
123.JPG 8Кб, 556x87
556x87
Аноним 25/04/22 Пнд 15:02:43 2343771 405
image.png 13Кб, 1744x49
1744x49
Аноним 25/04/22 Пнд 15:44:23 2343819 406
Насколько тупая идея делать реальный сайт для доставки еды без cms на next.js? Просто в этом говне cms'ок копаться не хочу, плюс отточил бы навыки с реактом и нодой. Сайт если что будет реальной рабочий, но простой.
Аноним 25/04/22 Пнд 15:47:28 2343822 407
>>2343819
>Сайт если что будет реальной рабочий, но простой.
Будет* если сделаю
Аноним 25/04/22 Пнд 15:48:19 2343825 408
>>2343822
Блять, там так и было написано, зачем я это сделал
Аноним 25/04/22 Пнд 15:51:29 2343826 409
>>2343819
Может возьмёшь банальные strapi/keystone в качестве cms просто?
Аноним 25/04/22 Пнд 15:58:11 2343831 410
>>2343826
Впервые слышу о них. Спасибо, сейчас чекну.
Аноним 25/04/22 Пнд 16:29:52 2343852 411
>>2343760
Проверил через докер-образ, и правда 12-я версия.

Вообще странно, это же версия 20-го года. По идее должна бы быть 16-я версия, которая текущая LTS.
Аноним 25/04/22 Пнд 16:30:03 2343853 412
>>2343819
>Насколько тупая идея делать реальный сайт для доставки еды без cms на next.js?
Не тупая, но и не настолько простая, как тебе кажется. Для сириус бизнеса один хуй нужно будет выделять отдельный бэк сервер под задачи и пердолинг с БД, так как некст исключительно в контексте запросиков на лямбдах работает.
Аноним 25/04/22 Пнд 17:13:00 2343885 413
>>2343853
>Для сириус бизнеса один хуй нужно будет выделять отдельный бэк сервер под задачи и пердолинг с БД
Это нужно для простого сайта для заказа бургеров?
Аноним 25/04/22 Пнд 17:18:22 2343892 414
Я как фуфел сидел с темой оушен чёто там, теперь пересел обратно на дефолтную тёмную тему в вс коде и счастлив
Аноним 25/04/22 Пнд 17:22:57 2343899 415
Аноним 25/04/22 Пнд 17:37:58 2343916 416
>>2343885
>Это нужно для простого сайта для заказа бургеров?
Где ты собираешься статус заказов хранить?
Аноним 25/04/22 Пнд 17:54:58 2343929 417
Аноним 25/04/22 Пнд 18:03:52 2343936 418
>>2343929
А БД у тебя где будет?
Аноним 25/04/22 Пнд 18:16:50 2343953 419
>>2343936
На простеньком беке или CMS.
Аноним 25/04/22 Пнд 20:54:48 2344050 420
Как же я горю с реакта и типичного пердолинга 20222.
Как мне засунуть значение с условием в элемент?

Нельзя делать component.props.bla =
Я также не хочу делать тернари(почему тернари поддерживается, а простой if - нет, втф), я хочу обычный if, иначе пусть элемент использует дефолтные статы, о который я не должен ничего знать.

Ебать програмировать на реакте это когда проблема которая решается на полторы минуты, расстягивается на часы=дни я ебал.
Аноним 25/04/22 Пнд 20:56:39 2344052 421
Аноним 25/04/22 Пнд 21:12:59 2344066 422
160.png 61Кб, 200x162
200x162
Какой сейчас лучший вариант js для десктопа?
Аноним 25/04/22 Пнд 21:52:11 2344089 423
>>2344050
>почему
Потому что javascript
Аноним 25/04/22 Пнд 22:06:49 2344096 424
image 49Кб, 1001x511
1001x511
Аноним 25/04/22 Пнд 22:06:54 2344097 425
01.png 47Кб, 1920x1080
1920x1080
Аноним 25/04/22 Пнд 22:10:32 2344100 426
>>2344097
Помимо этой версии не работает локализация инструментов разработчика, не работает никакой язык, кроме аншлийского. Не критично, но сам факт напрягает.
Аноним 25/04/22 Пнд 22:27:14 2344111 427
>>2344096
Далбаеб тут ты, твоя хуйня не будет работать с элементами с с тележкой свойств и прочих вкладышей. Ты же не собираешься копипасть стену кода? Это антипатерн. А если условий больше чем 1?
Аноним 25/04/22 Пнд 22:58:22 2344140 428
>>2344111
Разбей большой элемент на элементы поменьше тогда. Ну или напиши функцию с if и вызови её где тебе надо.
Аноним 25/04/22 Пнд 22:59:39 2344141 429
Screenshot20220[...].png 11Кб, 340x413
340x413
Аноним 25/04/22 Пнд 23:03:05 2344147 430
Screenshot20220[...].png 12Кб, 367x423
367x423
>>2344141
Ебаный рот этого гугл хрома. Как он умудрился обосраться вообще? На лисе все норм
Аноним 25/04/22 Пнд 23:04:11 2344148 431
>>2344141
>Как фиксить эту хуйню?
Не использовать таблицы.
Аноним 26/04/22 Втр 00:23:56 2344209 432
image.png 63Кб, 1103x477
1103x477
Аноним 26/04/22 Втр 00:30:54 2344212 433
>>2344050
>когда проблема которая решается на полторы минуты, расстягивается на часы
Растягивается, потому не хочу. Что значит не хочу?
Аноним 26/04/22 Втр 01:30:54 2344227 434
1650925853102.jpg 319Кб, 1080x1350
1080x1350
>>2344050
>почему тернари поддерживается, а простой if - нет
Потому что тернарный оператор возвращает значение, а if ничего не возвращает, а следовательно, это ничего не может быть присвоено переменой?
Аноним 26/04/22 Втр 01:32:46 2344228 435
>>2344148
Мне надо отобразить таблицу. Что ещё мне использовать для таблицы кроме таблицы?
Аноним 26/04/22 Втр 01:49:54 2344233 436
Аноним 26/04/22 Втр 01:51:26 2344234 437
>>2344227
Абсолютно логичное и при этом абсолютно бессмысленное суждение. анекдот про холмса,ватсона и воздущный шар

Какая ж тупорылая херня, если бы я был бы умнее на 20 пунктов айсикью и не ленивым, я бы свой охуенный яп написал бы сам, логичный, для людей. У тебя блядь 100500 языков возвращают null null и еще раз null, ты захуярил undefined, ты ж блядь самый умный навреное(нет), но не продумал работу с условиями, пиздец как будто я не могу если захочу вернуть в теранри с одной стороны хуй, а с другой залупа. Разработчик жса пидорас, я все сказал. ППС Да вообще таких пидаров много. Разбираться и быть спецом в ЯП это тоже самое что иметь сертефикат душевнобольного.
Аноним 26/04/22 Втр 02:57:59 2344237 438
>>2344234
>спойлер
Ты же знаешь прекол из 00-х "Почему нет специалистов-пхпшников"?
Потому что все пхпшники дропали пхп сразу после того, как становились полноценными кодерами и понимали, какое пхп говно.
Аноним 26/04/22 Втр 08:38:11 2344272 439
1561693982292.png 4Кб, 326x99
326x99
>>2344234
Ну епта, ну напиши не тернарный оператор, напиши через IIFE и твой любимый if.
А null и undefined нужны чтобы эксплицитно "нихуя" писать как null, а если что-то пошло не так, то возвращать "undefined", типа эти случаи полезно различать.
Аноним 26/04/22 Втр 08:52:33 2344276 440
image.png 25Кб, 610x353
610x353
Вопрос по реакту от ньюфага.

Почему только со строкой где 1 случай, работает нормально, а 2 и 3 случаи не обновляют сообщение в теге p?
https://jsbin.com/hadokawori/1/edit?html,output
Аноним 26/04/22 Втр 09:27:29 2344288 441
>>2344276
1)Используй пж codesandbox
2)Посмотри туториалы реакта какие-нибудь
3)Вот я вроде сделал как должно быть, можно вообще p не рисовать
https://jsbin.com/yuzikifeko/2/edit?html,output
Аноним 26/04/22 Втр 10:11:34 2344310 442
>>2339973
скока откликов вышло перед оффером?
Аноним 26/04/22 Втр 10:16:51 2344311 443
>>2344288
Я как раз прохожу туториал и пытаюсь понять почему если ставить зеленую строчку в работу, то сообщение рендерится как и задумано, при изменении чекбокса; а если ставить красные строчки то ощущение что реакт их не видит.
Аноним 26/04/22 Втр 10:24:18 2344318 444
Проверь через ping-admin
Аноним 26/04/22 Втр 10:27:50 2344320 445
Аноним 26/04/22 Втр 10:29:00 2344321 446
>>2344066
Electron, либо nwjs если нужно не палить исходники.
Аноним 26/04/22 Втр 10:55:31 2344328 447
>>2344311
В первом случае при изменении стейта происходит ререндер компонента и код из первого случая читается.
Во втором случае код читается только при переключении чекбокса. Т.е. ты его переключаешь, значение меняется, но не запоминается между рендерами, компонент ререндерится и ты получаешь undefined. Поэтому в любом случае меседж нужно засунуть в стейт
Аноним 26/04/22 Втр 11:00:33 2344332 448
image.png 34Кб, 615x555
615x555
Там у вью официальный стейт-менеджер сменили на какую-то пыню. Кто пробовал?
Аноним 26/04/22 Втр 11:21:52 2344347 449
Что такое хуки и стейт?
Аноним 26/04/22 Втр 11:33:48 2344359 450
Аноним 26/04/22 Втр 11:38:04 2344365 451
>>2344347
Хук это способность пуджа из доты. А стейт хз)
Аноним 26/04/22 Втр 11:44:10 2344373 452
Почему гуки комментируют свой код на своем нахрюке? Они совсем ебанутые? Очень мало репок азиатов встречаю где описание и комменты на английском
Аноним 26/04/22 Втр 11:49:40 2344376 453
>>2344373
Могут себе позволить) Они же не маньки каргокультные вроде тебя
Аноним 26/04/22 Втр 11:51:08 2344379 454
image.png 33Кб, 776x276
776x276
Аноним 26/04/22 Втр 11:55:00 2344382 455
>>2344379
И? Носителей хоть и мало, но английский все равно легче понять и перевести и выучить, код нужно комментировать на английском
Аноним 26/04/22 Втр 12:07:18 2344385 456
>>2344382
А можно не комментировать на английском.
Аноним 26/04/22 Втр 12:15:49 2344393 457
>>2344382
Что легче, выучить английский или комментировать на родном языке? Внимание, для ответа нужен iq>80.
Аноним 26/04/22 Втр 12:17:23 2344394 458
>>2344393
Тут речь не про легкость, так что ебало завали
Аноним 26/04/22 Втр 12:20:02 2344395 459
image.png 0Кб, 126x22
126x22
Что тут происходит? Код scss. Че за тильда и собачка?
Аноним 26/04/22 Втр 13:06:47 2344430 460
>>2344395
Это значит тебе в конфиге вебпака нужно резолвы смотреть.
Аноним 26/04/22 Втр 13:12:40 2344435 461
>>2344394
Легкость для тебя никого не ебет, так что завали сам
Аноним 26/04/22 Втр 14:45:19 2344527 462
>>2344393
У тебя на уме ответ для того, у кого IQ=85.

А у кого IQ выше, там другой ответ будет. Среди просто людей больше тех, для кого китайский родной, а не английский. Хотя даже здесь ещё много тех, кто английский просто знает, например в Индии очень многие знают английский. А вот среди занятых в IT уже может быть совсем другая пропорция, намного больше тех, для кого английский родной, а китайский они совсем не знают.

Аноним 26/04/22 Втр 14:55:41 2344535 463
Поясните за tailwind?
Аноним 26/04/22 Втр 15:04:01 2344540 464
>>2344535
Высерок для высирания прототипов. С условием, конечно же, что ты сьебёшь в закат после разработки этого прототипа.
Аноним 26/04/22 Втр 15:23:45 2344557 465
Аноним 26/04/22 Втр 15:26:49 2344559 466
>>2344535
Что пояснить? Конкретизируй запрос свой
>>2344557
Орнул с всратой верстки
Аноним 26/04/22 Втр 15:28:40 2344562 467
>>2344557
И что это должно значить?
Аноним 26/04/22 Втр 15:29:11 2344563 468
>>2344557
Он ввёл в переводчик fuck Putin, а там перевелось как блять Путина. Получилось буквально обратное от желаемого
Аноним 26/04/22 Втр 15:30:07 2344565 469
>>2344563
Учитывая лютейшую пропаганду в США - неудивителен такой выпад
Аноним 26/04/22 Втр 15:33:40 2344568 470
>>2344557
Ничего, импортозаместим XML'ем.
Аноним 26/04/22 Втр 15:35:21 2344570 471
Почему такой хайп на айтишников, программисты в касте выше, чем прочие инженеры?
Аноним 26/04/22 Втр 15:39:34 2344575 472
>>2344570
> инженеры
Потому что говно без задач.
Аноним 26/04/22 Втр 15:44:53 2344578 473
Аноним 26/04/22 Втр 15:46:31 2344580 474
>>2344535
>Ryan Florence
>I feel like an idiot for not using Tailwind CSS until now.

>Kent C. Dodds
>Skip to the end. Use @tailwindcss.

У них же на сайте все явно написано. Это говно.
Аноним 26/04/22 Втр 15:48:13 2344582 475
Аноним 26/04/22 Втр 15:55:24 2344591 476
>>2344559
Как оно, юзабельно, неюзабельно, пишут что говно уже вон
Аноним 26/04/22 Втр 15:56:45 2344592 477
>>2344570
Потому что после крымнаша доллар удвоился. А инженегром на удалён очке намног сложнее быть.
Аноним 26/04/22 Втр 16:14:29 2344617 478
Аноним 26/04/22 Втр 16:18:13 2344623 479
>>2344617
восстал из мертвых.
когда 5 версия? лет через 5
Аноним 26/04/22 Втр 16:24:56 2344634 480
Аноним 26/04/22 Втр 16:27:19 2344637 481
>>2344634
Зато на него больше примеров.
Хотя джастифай неплох и новый
Аноним 26/04/22 Втр 16:32:33 2344642 482
>>2344591
Ну конечно говно, одно дело, когда был он да бутстрап.
А сейчас есть Chakra UI, Ant Design, css modules
Аноним 26/04/22 Втр 16:37:58 2344645 483
>>2344570
За годик инженером бесплатно почти нереально стать, а потом работать удаленно откуда хочешь.
Аноним 26/04/22 Втр 16:39:30 2344647 484
Аноним 26/04/22 Втр 17:47:58 2344694 485
Аноним 26/04/22 Втр 17:52:32 2344699 486
Аноним 26/04/22 Втр 17:56:31 2344702 487
image.png 47Кб, 902x606
902x606
да как эта хуйня заебала, качаю 1 пакет, сразу блять 666666 ошибок и приходится аудит делать, делаю аудит, скрипты пропадают
да еп твою, что не так с этим говном
Аноним 26/04/22 Втр 17:57:06 2344703 488
>>2344332
бля че этих стейт менеджеров развелось
Аноним 26/04/22 Втр 18:06:11 2344712 489
>>2344702
> сразу блять 666666 ошибок
Это не ошибки, аудит не надо делать.
Аноним 26/04/22 Втр 18:11:17 2344715 490
image.png 54Кб, 882x377
882x377
>>2344535
Зачем tailwind если можно просто
Аноним 26/04/22 Втр 18:14:14 2344721 491
>>2344702
Какой же ты тупой, пиздец. Уже сотню раз тебе npm намекнул, что надо самому сборщик настраивать, но нет, надо качать create-react-app с сотней уязвимостей и парочке node-ipc в пировых зависимостей.
Аноним 26/04/22 Втр 18:14:56 2344724 492
>>2344702
В гайде не было написано делать audit, сделал - соси хуй
Аноним 26/04/22 Втр 18:16:42 2344726 493
>>2344715

>box-shadow: 0px 0px 0px 8px ${zalupa.abu.dvach.hui.babkin px}
>просто
Неужели это проще, чем
>@inlcude "theme/box-shadow-sm"


Аноним 26/04/22 Втр 18:17:50 2344729 494
>>2344712
>аудит не надо делать
Автор node-ipc, ты? Когда соевое молоко на нормальное поменяешь?
Аноним 26/04/22 Втр 18:26:29 2344737 495
>>2344694
Весит килобайт, а весь редуксовский бойлерплейт будет на пару десятков.
Аноним 26/04/22 Втр 18:27:16 2344739 496
>>2344726
Чтобы написать инклюд нужно сначала файл создать
Аноним 26/04/22 Втр 18:30:05 2344744 497
>>2344739
Что бы тему в styled использовать нужно сначала создать файл с провайдером и, собственно, самой темой. В чем разница?
Аноним 26/04/22 Втр 18:32:44 2344748 498
>>2344744
>файл
Можно не создавать
Аноним 26/04/22 Втр 18:34:10 2344752 499
>>2344748
Согласен. Можно все провайдеры захуячить в app.tsx, так все делают.
Аноним 26/04/22 Втр 18:36:11 2344756 500
>>2344739
Компоненты тоже все в одном файле пишешь?
Аноним 26/04/22 Втр 20:55:39 2344828 501
>>2344535
Самый няшный фреймворк. для верстального фастфуда ничего лучше нет, просто все css свойства перевели в удобные маленькие классы,отсортировали по градациям и разложили по полочкам,с возможностью гибкой настройки, пиши хуйню в стиле @apply flex items-center justify-between px-4 py-6 bg-black text-white sm:block и в хуй не дуй. но в серьезных проектах вряд ли такое будешь использовать,да и в рот их ебать
Аноним 27/04/22 Срд 00:52:20 2344940 502
реакт1.png 9Кб, 1481x718
1481x718
как сделать так чтоб реакт писал в чем ошибка,а не просто был белый фон
Аноним 27/04/22 Срд 00:57:51 2344944 503
image.png 30Кб, 1098x240
1098x240
Аноним 27/04/22 Срд 01:02:10 2344946 504
>>2344944
если б это гуглилось яб не спрашивал тут
Аноним 27/04/22 Срд 01:37:27 2344964 505
>>2344946
Если бы это не гуглилось я бы тебе скрины гугла не кидал
Аноним 27/04/22 Срд 03:07:58 2344987 506
>>2344964
ты издеваешься?если б там был ответ,а не левые ссылки я б и не спрашивал
Аноним 27/04/22 Срд 06:06:55 2345000 507
export 'default' (imported as 'App') was not found in './App' (module has no exports)

Сап, изучаю React, пишу своё небольшое приложение (калькулятор), вот такую штуку выдаёт, а я просто не понимаю, что не так?
Аноним 27/04/22 Срд 06:12:19 2345001 508
Аноним 27/04/22 Срд 06:36:21 2345002 509
>>2345000
В файле App нет кода вроде 'export default ...'.
Аноним 27/04/22 Срд 08:18:53 2345014 510
>>2345000
читай про js modules, export import. Посмотри как ты эспортировал App, мб нужно при импорте обернуть его в скобки{}?
Аноним 27/04/22 Срд 08:21:14 2345015 511
Вот смотрите, например я знаю, что у экспресса есть метод json, вызов возвращает функцию для обработки жсона из запросов на сервер, используется как мидлвейр. Должен ли я читать документацию и прочее, вникать там. Или просто пользоваться и не ебать мозги?
Аноним 27/04/22 Срд 08:47:04 2345025 512
>>2345015
Если для тебя прочитать документацию метода требует титанических усилий, то пиздуй на завод. Как раз нужно импортозамещать экономику в стране, окружённой враждебными врагами и предателями.
Аноним 27/04/22 Срд 09:12:52 2345032 513
>>2345025
Ага вот тут ты и попался, там этих методов/фреймворков 100500, к каждому читать доку?
Аноним 27/04/22 Срд 09:18:57 2345033 514
>>2345032
Но ты смотришь один метод одного фреймворка. Причём не какого-нибудь соевого, вполне себе полу-легаси.
Аноним 27/04/22 Срд 09:20:46 2345035 515
>>2345033
Так я же для примера его привёл
Аноним 27/04/22 Срд 10:31:54 2345068 516
git.png 83Кб, 597x237
597x237
Бля что за херня пасаны. Git взял и удалил мои файлы какого то хуя. Как их вернуть? Именно в самом гите для коммита. Файлы по факту не удалены
Аноним 27/04/22 Срд 10:43:36 2345071 517
>>2343047
Давно, называется while.
Аноним 27/04/22 Срд 10:44:11 2345072 518
>>2345068
git add, рофлишь что ли?
Аноним 27/04/22 Срд 10:46:12 2345073 519
>>2345072
Бля эти файлы не должны быть удалены. Git add . не работает, такую же плашку показывает.
Аноним 27/04/22 Срд 10:46:30 2345074 520
>>2345073
Пишут типа индексация поломалась
Аноним 27/04/22 Срд 10:46:51 2345076 521
Аноним 27/04/22 Срд 11:02:23 2345086 522
>>2344347
Стейт это то место где могут хранится данные элемента. Но данные нужно показывать, для это используется рендеринг, но у рендеринга есть несколько стадий, типа подготовка, сам рендеринг, хуе-мое, и вот доступ к этим стадиям осуществляется через функции называемые хуками.
Аноним 27/04/22 Срд 11:11:21 2345089 523
>>2345015
Главное, покрывай тестами.
Аноним 27/04/22 Срд 11:13:26 2345093 524
Аноним 27/04/22 Срд 11:52:49 2345105 525
>>2344940
Зачем юзеру нужна причина ошибки?
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов