Этого треда уже нет.
Это копия, сохраненная 6 августа 2022 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image.png103 Кб, 1050x1050
JS Thread #249 /js/ 2339952 В конец треда | Веб
Предыдущий тред: >>2332221 (OP)

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

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

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

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

вкатун, 2 недели на первой работе
5 2340021
Сап, как можно пофиксить что 5.2 - 2.8 = 2.4000000000000004?
6 2340037
>>40021

> (5.2 1000 - 2.8 1000) / 1000


2.4
7 2340047
>>40021
toFixed
image.png304 Кб, 1507x772
8 2340055
React
почему this.state. не стоит использовать в сетстейте?
9 2340063
>>40055
Потому что seState - ассинхронный.
10 2340064
>>40055
Реакт группирует вызовы сетстейт для улучшения производительности, например
this.setState({counter: this.state.counter + 1});
this.setState({counter: this.state.counter + 1});

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

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

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

>>40063
Этого пидора не слушай, сам не понимает что несет.
11 2340067
>>40063

>Потому что seState - ассинхронный.


Да это так, только там функция во втором параметре есть, поэтому в этом нет проблемы.
>>40064
Спасибо.
пук.PNG55 Кб, 1564x656
12 2340093
>>39952 (OP)
Читая информацию на счет стажировки в Тинькофф увидел что из всех сред для JS использовать на экзамене можно только Ноду древней версии (восьмой). Так как у меня стоит 16, встал вопрос установки менеджера версий. Что посоветуете? Ставить виндоус версию NVM или есть какие-то аналоги получше? Сами чем пользуетесь?
13 2340118
14 2340190
Нужно ли делать компонент реакта инкапсулированным, если он используется только в одном предсказуемом месте?
15 2340198
>>40064

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


Что за хуйню ты несешь? Нихуя он блять по ключам не бегает, стейт просто строго сравнивается с предыдущим состоянием.
Вызов this.state во время вызова this.setState() имеет такие же подводные камни, как и вызов нынешнего состояния во время процедурки изменения этого состояния в ассинхронной среде. То есть непредсказуемый результат.
16 2340200
>>40063
>>40064
>>40198
Пиздец, какая же реакт параша, что люди даже толком и не знают как он работает.
17 2340211
>>40198

>стейт просто строго сравнивается с предыдущим состоянием


Это как раз ты несешь хуйню. Нахуя ему сравнивать стейт с прошлым? Чтобы что?

>Вызов this.state во время вызова this.setState() имеет такие же подводные камни, как и вызов нынешнего состояния во время процедурки изменения этого состояния в ассинхронной среде


Какой-то бред ебанутого. Ты молодец, если знаешь что асинхронщина может быть непредсказуемой, но какое это блять отношение это имеет к делу? Как по твоему это проблема должна решаться параметром калбека в setState(callback)? Причина одна, и это та, которую я описал. Реакт просто объединяет все вызовы сетстейт в один объект, и перезаписывает уже существующие ключи в этом объекте, именно по этой причине перезапись выполняется только у последнего сетстейта в линейном коде.
https://ru.reactjs.org/docs/react-component.html#setstate
18 2340228
А что изучать, чтобы уметь решать задачи? В отношении не написания кода, а составления той схемы, того решения, по которому код уже будет писаться?
19 2340246
>>40200
Так это стандартный кишочкосрач. Причём нерелевантный к современному реакту.
>>40211

>Это как раз ты несешь хуйню. Нахуя ему сравнивать стейт с прошлым? Чтобы что?


Чтобы блять решать, ререндерить или нет. Это если чё наиболее дорогая операция при работе с ДОМом.

>Как по твоему это проблема должна решаться параметром калбека в setState(callback)?


Влёгкую, в колбэке ты манипулируешь тем, что в него рендерер передаст, а не неопределённое состояние компонента, вызванное хуй пойми откуда.
Clipboard01.jpg87 Кб, 711x755
20 2340257
Всем привет.
Я тут делаю такую штуку для постановки оценки от 1 до 10 путем наведения мышки на звездочки. Ну как в Кинопоиске например. То есть если курсор над, например, шестой звездочкой, то звездочки до неё должны быть активны. Ну и при клике должна оценка отправляться на сервер. Так норм или можно как-то оптимизировать? В принципе работает. Ну сейчас если курсор убрать, то ставится ноль, но потом заменю это на типа оценку пользователя, которая будет приходить с сервера.
21 2340267
>>40257
Можно попробовать через жс циклом ти звёзды создать и вставит куда нужно.
22 2340268
>>40257
v-for
Clipboard01.jpg21 Кб, 745x157
23 2340283
>>40267
>>40268
A, ну чет я даун да. Подумал, что нужно будет как-то трахаться, чтобы в условие это передать. А оно работает прост.
24 2340284
Нужно сделать ГСЧ на жс с заданным диапазоном,и чтобы числа на выдаче не повторялись
image.png7 Кб, 364x173
25 2340318
Ну и нахуя ваше говно нужно, если оно даже заскоупить переменную не может? Тупо переводит все переменные в var, пиздец
26 2340329
>>40318
Сам высиавил таргет ес5 и жалуешься на свою криворукость. Ты мудак?
27 2340330
Сап. Можно ли какой-то настроить MarkupToSCSS (или есть какой-то другой плагин) в вебшторме, чтобы вложенные классы переносились через амперсанд + говно типа class="about__title title" разбивалось на .title {} и на &__title {}? Или это могила? можно саблайм конечно с escctractor'ом открытым держать
28 2340360
Аноны, в далеком 2017 играл в tera online и там меня поразили моды на ноде жс, которые могли делать буквально что угодно: перехватывать и расшифровывать пакеты, выводить сообщения на экране, статистику, менять костюмы на персонаже (подменять видимо что-то в памяти). И тогда подумал, что было бы круто уметь также.
Сейчас решил вкатиться, выбрал естественно JS. Поспрашивал в общей ветке про курсы типа яндекса и гикбрейнс, там сказали, что все они говно и не стоят своих денег. Потому сейчас в бесплатной части курса вспоминаю html и css, которые изучал еще в школе и пишу под диктовку первые строчки типа анимирования кнопки.

Вопрос. Я же правильно понимаю, что после изучения всей базы я смогу перескочить на нод и тоже писать всякие программки, делать фронт и бэк сайтов полностью, писать игры под андроид(принимать участие офк, не полностью их делать)? Или JS это вес таки про анимацию кнопок и интерактив на сайтах?
Смотрел всякие подкасты и видео на ютубе, в контексте JS идет только сайты-сайты-сайты-сайты, а мне весь этот лендинг вообще неинтересен.
29 2340364
>>40360
Верните мемслеш
30 2340406
>>40055
По-моему то что тебе понаписали про асинхронность setState и коллбэки это все правда, но к примеру отношения не имеет. В этом случае можно и setState({...this.state, v: this.state.v+1}) делать.
31 2340410
>>40406
Еще один балбес пришел, откуда же вы беретесь.
32 2340411
>>40360
С JS'ом можно много чего сделать, так что да, не бойся. Даже если по итогу тебе захочется взять какой-нибудь другой язык для написания бэка, то впустую твоё знание не пропадёт.
33 2340415
>>40406
Я и знал что сетстейт асинхронен
34 2340418
Как изучить TS, киньте годный ресурс если знаете на русском.
35 2340422
>>40410
Объясни зачем в ф-ции из примера нужен prevState?
Без фантазий на тему множественных вызовов setState подряд.
36 2340423
>>40422

>Без фантазий на тему множественных вызовов setState подряд.


Толсто.
37 2340429
>>40422

>ф-ции


Много сэкономил?
image.png21 Кб, 590x198
38 2340431
>>40318
Пиздабол.
39 2340439
>>40431
Дык ты выстави target es5
40 2340448
>>40439
Зачем? Какая целевая платформа у тебя сегодня неподдерживает es6?
41 2340458
>>40439
Ты тупой? Основное отличие ес6 от ес5 именно в том, что в 6 запилили let и const с блок-скоуп видимостью, а в 5 этого не было.
42 2340459
43 2340465
[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" пошло перерисовываться?
43 2340465
[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" пошло перерисовываться?
44 2340481
>>40465
Не будет ли у вас минутки поговрит о React.memo?
45 2340485
Сорре за тупой вопрос. Но как вы делаете перевод тех или иных слов из базы на русский? Например название категории товара в базе данных на английском, но на странице его же нужно отобразить на русском. Просто тупо делается объект "ключ-значение" (англ-рус) или есть какие-то более элегантные способы?
46 2340510
>>40485
react-i18next+lokalise
47 2340517
>>40459
Это платформа неподдерживаемая производителем.
Под нее пишут по прайсу x10.

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

Progressive Enhancement это не рокет сайнс.
А вот когда вы в современные браузеры грузите легаси код - то очевидно долбоёбы. Движки, что исполняющие, что рендеринг, оптимизируют из года в год под новые фичи, а вы продолжаете пихать в них дерьмо.
48 2340520
>>40517
Особенно смешно наблюдать как одновременно используют современные CSS\DOM фичи, которые поддерживаются только в современных браузерах, и одновременно грузят в них же es5-target бандл.
49 2340536
сетстейт не асинхронный, но он может обновляться асинхронно
50 2340537
>>40418
Владилен Минин
52 2340548
>>40228
ТРИЗ
16501633441720.png580 Кб, 916x1038
53 2340549
>>40284
Делай, разрешаю.
54 2340567
>>40549
Но я не знаю
55 2340581
>>40567
Спроси у гугла.
56 2340599
>>40485
Переводы объектов БД должны хранится в БД. Но для этого на проекте должна быть архитектура с поддержкой многоязычности, на фронте ты волшебным пакетом ничего не сделаешь.
57 2340621
>>40485
Удвою этого >>40599. Если максимально тупо объяснить, то при обращении к бэку в запросе должен быть флаг языка, на котором нужны данные, а с бэка должны приходить данные на запрошенном языке. И естественно, что для этого должны быть соответствующие данные в бд и бэк должен уметь так делать.
58 2340672
Доступна серверная JavaScript-платформа Node.js 18.0
https://www.opennet.ru/opennews/art.shtml?num=57054
59 2340793
>>40481
Заворачивать все в React.memo хорошая практика? Вроде везде в доках писали, что компонент перерисовывается только если у него type или пропсы меняются. Для B еще можно предположить, что он внутри A, поэтому он перерисовался, ладно.
Но с D что не так?
60 2340837
>>40481
Да, расскажи как это мемоизированное говно из памяти вычищать?
61 2340842
>>40093
Кроме nvm ничего и нет
Ставь wsl2 и не будь клоуном
62 2340898
Попытался навесить обработчик событий на коллекцию инпутов. Передал console.log для проверки, что клики работают и нет ошибок.

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

Зашёл в консоль и увидел, что клики срабатывают сами. Я ничего не жал.
Это как? Почему? Как исправить?
63 2340899
>>40898
колбэк неправильный ()=>console.log()
+ на каждый импут клик вешать не надо, лучше на родительский элемент один навешать и он провалится на все дочерние элементы.
64 2340900
>>40899

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


> ()=>console.log()


Точно, чёт затупил. Есть же всплытие.
65 2340904
>>40899

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


Получается, отслеживать нужный инпут через e.targer.
А с лейблами что делать? При том же сравнении сперва выводит false для лейбла, потом переключается на привязанный инпут и уже true
66 2340908
>>40793

>Но с D что не так?


Он в App

>>40837
Закрыть вкладку
67 2340919
>>39952 (OP)
Есть кто css по курсам изучал? Посоветуйте ресурс по изучению

хочу подтянуть навыки, а то че-то верстал ща сайт каждую секунду что-то гуглил, мне кажется с такими навыками фронтендеру не стоит подаваться в джуны
68 2340927
>>40919
Че там изучать-то, doka.guide накати, за пару дней прокачаешься.
image.png8 Кб, 735x121
69 2340931
>>40927
Спасибо.

>че там учить-то


Да например ща верстаю, всё дивами захуярил, в итоге серч ниже бургера, хочу на одном уровне чтобы были. использовать позишин абсолют не хочу, слышал это плохая практика. Только гуглить походу.
70 2340933
>>40931
Флекс контейнер родителем для них двоих сделай, все
71 2340934
>>40933
Да, так и сделал.
ну в общем все равно лишним не будет подтянуть
72 2340935
>>40908

>Закрыть вкладку


Заебись уровень технологии
73 2340938
>>40935
А какие технологии ты ожидал? Дёргать память браузера/машины в контексте клиентских скриптов тебе всё равно не дадут.
74 2340941
>>40938
Какую нахуй дергать память, ты совсем ебобо? Мемоизация это обычный кэш, реализованный на обычном JS. У любого кэша должна быть какая-то возможность его сбросить
75 2340942
ебать жопа сгорела. не мог понять почему justify-self не работал, а оказывается он с флексбоксом не работает. Бля, учитывая что флексбокс весь контролируется justify-content, я даже не подумал что он не работает с флексбоксом
image21 Кб, 552x277
76 2340964
А чё так можно было? Обращаться к базе данных без евейта?
003.jpg73 Кб, 495x1000
77 2340969
Аноны, подскажите.

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

let a = 10;

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


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

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

От того, что она var или от того, что на необъявленные переменные let распространяется такое же правило как и для var и они по умолчанию глобальны в этом случае?
79 2340973
>>40969
переменные без ключевого слова становятся глобальными
80 2340974
>>40964
Ленивые вычисления в школе еще не проходили?
image.png6 Кб, 388x83
81 2340977
82 2340978
>>40969
b не объявляется нигде, во время выполнения скрипта, если дойдет до b, будет поиск в блоке if'a, если не найдет там - будет подниматься выше по скоупам, пока не найдет b либо до глобального скопа. В твоем случае b поднимется в глобальный и будет доступна через window.
let - всегда ограничен блоком, в твоем случае блок - это сам скрипт, но это не глобальный скоп, через window доступа не будет.
83 2340979
>>40977

>'use strict'


сыра...
84 2340980
>>40973
Т. е. это правило едино и для var и для let? (понятно, что в моём варианте var и так будет в глобальной видимости)
image.png1 Кб, 174x28
85 2340982
Почему noImplicitAny: true не робит в cra?
86 2340986
>>40980
Какое правильно?
87 2340988
>>40973
В курсе, тут вопрос в некторорых деталях, а именно - что будет по умолчанию - var или let?
>>40978
Понял, благодарю за ответ
image.png2 Кб, 188x84
88 2340995
Да че такое? В index.ts тайпскрипт будто вообще не работает
89 2340996
>>40995

>index.tsx*

90 2340999
>>40986
Вот это
>>40973
91 2341003
>>40999
Так var и let это ключевые слова
92 2341007
>>41003

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

let a = 10;

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


b будет var или let?
Если она глобальна это делает её var?
Вот это я не могу понять.
93 2341008
>>40969
Напиши "use strict" в начале, получи ошибку и не еби мозг.
image.png119 Кб, 1317x776
94 2341009
>>41007
как она может быть не глобальный, если через виндоу можно увидеть её?
95 2341011
>>41009
Получается, если не указывать var или let, то по умолчанию она становится var? Потому, что let не будет свойством window.
96 2341012
>>41009
У тебя Mac? Шрифты особенные
97 2341013
>>41007
Да, она будет var. А теперь прекратите засирать бред своей хуйней.
98 2341015
>>41011
var ограничен скоупом функции, а твоя хуйня объявляется совсем глобально, вообще везде.
99 2341016
>>41013

>бред


т*
100 2341019
>>41012
Нет, винда, у меня просто зрение плохое и шрифты увеличенные
>>41011
какая нах разница сынка, че ты доебываешь тупыми вопросами
101 2341021
>>41015

>var ограничен скоупом функции


лол, что
102 2341023
>>41015
>>41019

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

Я понял, что переменная становится вообще глобальной. Она var или let? Или вы сами не знаете?
image.png3 Кб, 240x86
103 2341024
>>41015
Ты обосрался
104 2341025
>>41023
Глобальная значит вар. Уже тыщу раз писали.
105 2341028
>>41024
Это я обосрался, забыл вызвать функцию.
106 2341029
>>41025
Понял, именно это я и хотел узнать.
Чем меньше будет неясностей, тем лучше.
107 2341031
>>41029
Ты бы про лексическое окружение почитал, как там переменные ищут, а то такое чувство что ты пытаешься заучить эту хуйню.
108 2341032
>>41023
Она не var и не let блять. Если режим не strict, то a = 1 просто равносильно globalThis.a = 1, при условии что a раньше не было, и все.
111 2341043
>>41038
сук. ладно. я думал что это не так работает.
извините
112 2341046
Блять на простые вопросы тут всегда срач происходит, на нормальные перекати поле по треду катается
113 2341048
>>41046
На простые вопросы такие как я вкатуны пытаются объяснить, но в итоге обсёр случается типа этого - >>41043
114 2341049
>>40995
Так ты не типизировал ничего, так что там any в твоем коде и всё хорошо.
115 2341050
>>41048
Вообще вопрос максимально глупый, можно же просто статью про let и var почитать, там максимально всё подробно описано
116 2341051
Почему так нахуй? Где ошибка ебаная, если я задал noImplicitAny? Как же я ненавижу этот непредсказуемый кусок говна. На пик 1 я задал неявно any и никакой ошибки нет.

>>41046
Двачую
117 2341052
>>41050
Я просто был максимально уверен что вар в скоупе сделает глобальным переменную, но нихуя.
Я вообще вар не использую так шо похуй
118 2341054
>>41052
а на выходе в дисте то у тебя вар получается скорее всего хехехе
119 2341056
>>41051
Можешь объяснить, зачем ты объявляешь переменную без значения, а потом переопределяешь ее? Почему при инициализации ты не можешь ей дать сразу значение и неявно типизировать как надо?
120 2341058
>>40974
Так я понял, метод мангуса find возвращает Query объект, но если добавить await, то вернёт данные. Что за магия такая?
image.png1 Кб, 176x36
121 2341059
>>41051
А с чего ты взял, что в asd any тип?
Базовые типы js выучи.
122 2341061
Оцените шутку:
any писать нельзя, пишем везде unknown
123 2341062
>>41056

>Можешь объяснить


Могу. Но вопрос нет в том зачем я что-то делаю, в а том что TS неправильно выполняет свою работу. Если не задать переменной значение, то она неявно объявляется как any, это я и пытаюсь предотвратить, но конфиг не работает.
124 2341064
>>41059
Что ты несешь, ебанутый? Причем тут базовые типы js?
1612132762713.png13 Кб, 201x78
125 2341068
>>41059
Как тебе такое, илон маск?
126 2341069
>>41051

>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


чел...
127 2341070
>>41069
Ну это и есть тот самый кейс, не?
128 2341075
>>41070
А стойте, я хуйню скинул. А вообще вопрос: вы ставили тайпскрипт поверх реакт криэйт апа? Если да, то попробуйте через шаблон поставить сразу. Либо это косяк тайпскрипта и в данном случае подсказка не работает (и не должна работать возможно)
129 2341077
Возможно подсказка заработает, если например к перемнной метод строки применить
1579339053661.png5 Кб, 283x93
130 2341078
>>41075
Хз как он, но вот на сайте тайпскрипта запустил. На один any ругается, на другой — нет.
131 2341085
Да потому что ТС придумали только чтобы код раздувать и больший бюджет выпрашивать. Ну еще чтобы пацаны с нормальных языков совсем за опущей не считали.
132 2341123
>>41051
Пчел, ты думаешь что тайпскрипт работает так, а на самом деле он работает по-другому. Почему - отправляйся на гитхаб
133 2341124
>>41062
Всё он правильно выполняет, у твоего высера тип высчитывается по последнему присваиванию.
134 2341129
У меня останется что-нибудь в голове, если прочитать доку к mongoose? По моему опыту лучше читать что-то конкретное, когда ты собираешься этим воспользоваться. Но также ради общего представления приходится читать доку, иначе нихуя не понятно. Но потом вообще ничего не помнишь из доки, да и читать доку каждой орм это вообще хуйня какая-то. Вот такая у меня вечная дилемма
135 2341147
>>41129
У тебя нужда есть работать с mongoose? Если нет, то и нахуй не надо. Там какие-то ещё непонятки между гусём и нодовсим адаптером, из-за которых гусь отстаёт от фичивысирательства адаптера.
Плюс монга - мем, лучше БД своего пета на каком-нибудь postgresql реализуй, так как скорее всего тебе придётся с реляционной бд сталкиваться на работе.
136 2341185
>>41147
Ну вот думаю сделать на монго и сделать бранч с постгрессом чтобы вообще оверкил был
image.png5 Кб, 213x104
137 2341189
>>41058
await разворачивает любой Thenable.
Читай документацию и спецификации, чтобы не быть идиотом.
138 2341196
>>41189
да я уже допёр эмпирическим методом, а зачем было про ленивые вычисления затирать?
139 2341203
Нужно ли всегда явно указывать типы переменных в TS? Шарю репозиторий одного не самого тупого человека, и у него в коде типы неявные, то есть просто const foo = 'str';
140 2341205
Хочу уже наконец выучить css, а то вкатился сразу в реакт и ничего сложнее селекторов по с '>' и флексбоксов не писал за 3 года. Какая книга есть подробная, по типу Кантора по жс?
141 2341208
>>41205
https://html5book.ru/
https://doka.guide/
Не будешь ебланом и гугли абсолютно все в процессе верстки что вызывает вопросы, без этого вообще бессмысленно и все коту под анус
142 2341232
>>41203
Я думаю, что можно не указывать прям для каждой переменной. Главное - это интерфейсы объектов с данными, которые используются больше чем один раз
143 2341255
>>41203
Бля, какой же тип у ебаной константы, хранящей примитив?
144 2341263
>>41255
Я ебу че у них там принято, может надо, тайпскрипт это же про строгость. Я вообще вчера начал вкатываться.
145 2341280
>>41263
Если только вчера начал вкатываться, то как определил нетупость человека, написавшего код?
146 2341316
>>41196
Потому что это они и есть.
147 2341335
>>41280
По его проектам
148 2341341
>>39952 (OP)
После этого deno сдохнет обоссавшись и обосравшись?
image183 Кб, 1134x638
149 2341361
150 2341372
>>41341
Поясни. Почему он должен сдохнуть из-за поддержки нодой какой-то новой апихи?
151 2341439
Есть какие нибудь книги про функциональное программирование на js? Все что я нашел это базовые статьи на 15 минут, а как это эффективнее применять и что то тип советов от более опытных не нашел.

И второй вопрос, вот в js есть Array и Map. Хочу привести их к одному Api: {getItem, mapItems}. Как это лучше сделать функционально ведь у Array и Map разные методы получения и прохода элементов, а значит хотелось бы передавать эти функции вместе с передачей самих структур, что бы не потерять контекст.
152 2341446
>>41439
Там SICP на js вроде переписывали.
153 2341454
>>41439

>функциональное программирование на js


И нахуя это говно нужно вообще?
154 2341505
>>39952 (OP)
Аноны, если в проекте надо список картинок вывести, то у вас они в одном формате всегда хранятся в папке (?

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

Вот думаю просто все файлы переименовать на пнг и не ебать мозг. Это всё зависит от проекта или всё же лучше как-то проверять на существование имг? И как это сделать если я код пишу в реторне, я даже не могу выбрать элемент на проверку ( хотя не уверен что там можно проверить как-то)
155 2341511
>>41505
Если каритнка не загрузилась, то она триггерит onError().
156 2341513
>>41505

>Вот думаю просто все файлы переименовать на пнг и не ебать мозг. Это всё зависит от проекта или всё же лучше как-то проверять на существование имг? И как это сделать если я код пишу в реторне, я даже не могу выбрать элемент на проверку ( хотя не уверен что там можно проверить как-то)


Напиши отдельный компонент-обертку над <img> и там можешь код писать хоть куда.
157 2341518
>>41513
>>41511
Спасибо.
image.png54 Кб, 940x550
158 2341519
>>41511
сделал так, тупа топ.
159 2341540
>>41439
Зависит от того, что ты понимаешь по функциональным программирование на js. Если про полноценную функциональщину, то ищи fp-ts, ramda и будь готов учить что такое функторы, монады, линзы и прочая залупень.
160 2341561
>>41540
Вчера читал как раз про монад, этот паттерн используется в самом жаваскрипте (массив это монад)
161 2341566
>>41561
Массив это вообще-то хэш-таблица.
162 2341568
>>41566
это двухсторонняя очередь
163 2341571
>>41568
Что тогда splice() там забыл?
164 2341575
как мне для списка тудушек сделать лейблы к чекбоксам? айдишки же у них получается одинаковые будут? динамически айди добавлять к ним? А как с удалением тогда
165 2341588
>>41571
А что не так? Базовые операции реализованы, остальное уже для удобства.
image.png58 Кб, 763x651
166 2341599
>>41575
я сделал так, но попахивает как-то это
167 2341605
>>41575
У тудушек должен генерироваться айди при создании, вот его и используй для лейблов и инпутов.
168 2341610
>>41588
Не реализованы там базовые операции двухсторонки, так shift/unshift намного медленее push/pop.
169 2341611
>>41341
Нода наверно к 25 версии функциональной станет
170 2341613
>>41575
Долбоеб, зачем ты полез в жс если даже с html разобраться не смог?
171 2341617
>>41611
JS сам по себе почти функциональный язык.
172 2341621
>>41341
Ничего не знаю про дено, но async-api в JS проектировали ещё хуже, чем обычную модель. Хотя обычную проектировали тогда, когда JS был для снежинок на рождество, а современное вроде бы уже для крутой платформы.

Вот тупо этому fetch нельзя таймаут сделать, а это самая первая фича, которая нужна. Задачи, что в планировщик ушли, нельзя прервать. Из-за этого надо городить неебические костыли вместо нормального программирования.
Screenshot from 2022-04-22 14-47-36.png61 Кб, 760x440
174 2341634
>>41626
Очень раз за JS, что спустя 5 лет начинает что-то доходить, что вот надо, надо...
175 2341638
>>41613
В html то я знаю как соединить лейбл с инпутом, но обычно я делал имена типа email, name, а здесь то везде одинаковые тудушки
>>41605
понял, ща добавлю генератор айди тогда какой-нибудь.
2022-04-22 15-07-33.mkv3,3 Мб, webm,
1920x1080, 0:18
176 2341647
>>39952 (OP)
Эт норма? корзина в хедере
177 2341651
>>41647
да норма, помучто хуй ты отследишь скэйл во всех браузерах
178 2341653
>>41651
Ок, тогда пока не буду забивать этим башку
179 2341671
Ненавижу блять TS, чтоб в муках подохли хуесосы которые это распиарили.
180 2341678
>>41621
Реактивщина вроде rxjs давно под капотом умела дергать xhr.abort(), вотс зе проблем?

>>41341
Больше стримов богу стримов. Они же без адаптеров несовместимы? Я имею в виду Node Stream API и WebStreams API?
181 2341686
>>41678

>Реактивщина вроде rxjs давно под капотом умела дергать xhr.abort(), вотс зе проблем?


В том, что новый fetch интерфейс говно, из-за чего все используют велосипеды на основе легаси интерфейсов xhr.
182 2341738
>>41671
Вот будут тебе плотить за количество кода/часов на код, тогда и полюбишь.
183 2341742
>>41738
Это и есть единственная причина по которой я учу это говно, а так, никогда не притрагивался к нему.
184 2341758
>>41621

>Вот тупо этому fetch нельзя таймаут сделать, а это самая первая фича, которая нужна.


Не нужна. Потому что таким образом, умные и образованные разработчики веб-стандартов намекают тебе, веб макаке, что у пользователей не всегда есть качественный ШПД в интернет и ставить таймаут на запросы это выстрел себе в колено.
185 2341765
>>41758

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


Тащемта таймауты на запросы обязательны, если не на отъебись говнокодишь конечно. Лучше уж юзер через 5 минут узнает, что его запрос отвалился, чем будет ждать неопределенно долгое количество времени
186 2341794
>>41758

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


Да нет, просто обработка таймаутов - не фетча дело. Как минимум есть два типа таймаутов - серверный и клиентский. Серверный таймаут - статус-код по сути, а фетч ответ со статусом не считает ошибкой. Клиентский же таймаут сильно зависит от логики клиента, и клиент сам должен реджектить промисы с такими ошибками, а не фетч угадывать его хотелки.
187 2341819
>>41794
А чьё это дело?

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

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

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

И не только с fetch проблема. Общая асинхронная модель всем этим страдает. Если есть какая-то ожидающая асинхронная задача, то прервать её нельзя. Нужно пилить сложные обвязки и свои костыли для прерывания. Хотя на многих других платформах можно.
188 2341840
Vscode не показал ошибку на отсутсвующий импорт, что за хуйня может быть?
189 2341846
>>41840
Надо переименовать .js в .ts
190 2341853
>>41765

> его запрос отвалился


Для этого не нужно ставить таймаут, а обрабатывать ошибку.
191 2341854
>>41840
значит где-то declare global стоит.
jquery?
192 2341858
>>41765

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


Пчел, этим занимается браузер, нахуя ты дублишь логику http клиента встроенного в браузер у себя в проекте? Как бы если коннект не разорвался, значит загрузка идёт.
193 2341863
>>41647
Нет.
image.png55 Кб, 570x78
194 2341864
>>41647
В консоль вообще не смотришь?
195 2341871
Пытаюсь провести манипуляции с DOM. Есть контейнер, внутри которого инпуты.
JS должен работать только при наличии нужного класса.
Всё работает, если js код находит класс. Однако если класса нет, то ломается вёрстка, стили не применяются, а в консоли ошибка из-за попыток применить к несуществующему контейнеру методы и прочее.
Полагаю, ломается как раз из-за отсутствия контейнера.

Чтобы исправить это, можно весь связанный код обернуть в if с проверкой на наличие контейнера.
Не будет ли такое говнокодом?
196 2341875
>>41854
я работал с node js, но мб он тупить начал из-за оперативы
197 2341878
>>41871

>Полагаю


пиздец

>обернуть в if с проверкой


может вообще тогда не запускать?
image.png87 Кб, 1206x644
198 2341883
>>41864
Смотрю, пока не до этого было, 3 дня реакт изучаю решил пока не трогать нихуя, сейчас загуглю как фиксить, я изучаю по старым гайдам.

Олсо, сделал роутинг в индекс.джс, если я апп буду загружать через path "/" эт норм практика? или внутри аппа лучше все руты выставлять?
199 2341885
>>41878

>тогда не запускать?


Не запускать скрипт?
200 2341887
>>41819

>А чьё это дело?


Твоё.

>Моё дело, как разработчика, получить данные. Своевнеменно.


Это зависит от сервера и инфраструктуры. Клиентский скрипт на скорость запросов влияет более чем нихуя.

>Или какое-нибудь исключение, если их получить нельзя.


"Получить нельзя" - очень расплывчатое понятие, которое зависит от бизнес-логики бэка.

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


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

>Таким образом, fetch просто не пригоден для прикладного программирования.


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

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


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

>Если есть какая-то ожидающая асинхронная задача, то прервать её нельзя.


Вообще-то её можно "прервать" режектом.

>Хотя на многих других платформах можно.


Какие платформы?
201 2341962
Когда лучше использовать SVG?
202 2341969
>>41962
всегда, если картинка не реалистичная картинка со множеством деталей, или если нужно сделать крутую анимацию. всякие иконки, простые в векторном представлении вещи лучше делать в svg.
203 2341970
Охуел с реакта и с его уебанской экосистемы и перекатываюсь во вью. Какие подводные?
204 2341976
Реально ли с одной Ноды послать сообщение на другую ноду на другом компе?
205 2341984
>>41976
через http а как ещё лол
206 2341991
>>41984
те без сервера посредника реально?
207 2341992
>>41875
Возможно. Попробуй Ctrl+ Shift + P -> Restart TS server
>>41883
Норм практика - пилить изначально под SSR используя встроенные роутеры Next/Remix по соответствующей доке.
208 2341995
>>41991
Иди послушай лекцию по основам TCP На ютабах, что бы таких тупых вопросов не задавать.
209 2341998
>>41991
Нода это что? Пишешь роуты на одном компе, стартуешь сервер. Потом с другого компа посылаешь запросы на роуты и получаешь ответ на другой комп
210 2341999
>>41995
это по идее надо знать айпи адрес компа,так?
211 2342000
>>41999
Может надо, а может и нет. Зависит через что ты перекидывать собрался.
212 2342002
>>42000
если бы я знал, я бы не спрашивал про безсерверную передачу
213 2342015
>>41970
что уебанского? и почему решил что вью лушче? лучше для чего?
мне вот интересно как люди к таким выводам приходят
214 2342019
Компоненты высшего порядка использует кто-то, или легаси? Стоит на это время тратить?
215 2342021
>>42002
>>41976
Что значит "на другом компе"? В локальной сети можно хоть UPnP юзать для этого.
216 2342026
>>42019
В реакте уже легаси, во вью можно сказать тоже
217 2342029
>>42021
комп в другой стране может быть
218 2342030
Изучаю реакт, вроде базовые вещи изучил, до хуков не дошёл. Приложение - веб - магазин сделал.
Я готов к джунству/стажировку? или уже надо хуки+ редакс знать?
219 2342034
>>42030
Имбецил ебаный, я по постановке вопроса уже сомневаюсь, что хоть что-то там изучил.
220 2342035
>>42030
))
а что ты сделал то без хуков? и зачем реакт для етого использовал, можешь показать код?
221 2342036
>>42035
>>42034
Ой всё, пошёл дальше изучать
кек
222 2342038
Желающий вкатиться в айти за месяц, ты?
223 2342039
зачем ппросто такие вопросы задавать
ты ведь всгеда омжешь открыть ххру и псомортеть требования вакансий и сопостваить вывозишь ты или нет
ну вот что ты ожидаешь услышать то
image.png68 Кб, 1200x1200
224 2342040
>>42038
Я кста да. Месяц джс изучал, 3 дня реакта.
Но я до этого на шарпе год кодил
Но по ощущениям я будто всё могу создать. видимо я на экстремуме

>

225 2342041
>>42030

>Приложение - веб - магазин


Кидай сюда, щас тебе код ревью устроют)
226 2342042
>>42041
Да ну он не совсем готов. пока просто в корзину добавляет итемы. а пейдж отдельный с оплатой не доделал, завтра сделаю
227 2342043
>>41858

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


Ты из какого века? Зачем тебе тогда вообще fetch в браузере? Ты слово ajax слышал? А SPA?

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

>>41887

>"Получить нельзя" - очень расплывчатое понятие, которое зависит от бизнес-логики бэка.


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

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


Просто разрабы JS как на старте не в состоянии были что-то адекватно проектировать, так и в зрелом проекте. Просто такие люди. Язык определяет мышление, какой язык, такое и комьюнити.

>Какие платформы?


python
там можно сделать cancel для задачи, если она потеряла актуальность.
228 2342046
>>42040
А ну так ты чёто знаешь уже. А почему с шарпа выкатился? Алсо хоть в доке реакта всё на классах, сейчас на хуках пишут
229 2342049
>>42046

>А почему с шарпа выкатился?


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

Ну я ещё в вузе учусь, лабы делал все эти годы, но на шарпе/asm
3 курс
230 2342053
>>42049

>вышвырнули


долгофикс
231 2342071
>>42043

>Ты из какого века?


из 21 века

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


Что ты несешь, шизик? У тебя тот же fetch возвращает promise, с которым ты можешь использовать оператор await и метод .then. Тебе блять недостаточно этого, что бы понять, завершена отправка данных или нет?
232 2342083
>>42019
Не будет ли у вас минутки поговрит о React.memo?
233 2342094
>>42071
Так он говорит о том, что нельзя запрос отменить, который уже отправлен. Хотя ему уже написали про аборт контрол и вроде тема ичерпана была, чё вы дальше мусолите
16506281678380.png61 Кб, 760x440
234 2342108
>>42094

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


Лол, исчерпана. Пока ещё ни один, НИ ОДИН браузер его не поддерживает. Тут только сотый файрфокс указан, но это пререлизовая версия, в релизе сейчас версия 99. А ещё гугол-хром есть и другие, которые в ближайшее время поддерживать не будут.

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


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

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

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

Просто не осилили сделать нормальную платформу. Какой язык, такие и проектировщики, одно в другое перетекает.
image.png58 Кб, 1152x648
235 2342123
>>42108

>Пока ещё ни один, НИ ОДИН браузер его не поддерживает.


Какой же тупой, пиздец просто. ты смотришь на свойство "timeout", а не на сам abort controller. Вот тебе список браузеров, которые могут отменять запрос по аборту. При необходимости, ты и по таймауту можешь аборт запустить, тебе это никто не запрещает но если ты так будешь делать - ты долбоеб.

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


Чел, а если юзер входит в процентов 30 населения, которые имеет доступ к 2г интернету и для него то, что ты называешь "тормозит" абсолютно нормальная работа интернета, при которой он получает плевок в ебало от вебмакаки в виде "что-то пошло не так", какое у него мнение сложится о твоем продукте?

>Самая очевидная и нужная вещь для прикладного программирования, и это не додумались сделать.


Это додумались сделать, ты просто читать не научился за свои 20+ лет сущетствования.
236 2342129
>>42123

>Какой же тупой, пиздец просто. ты смотришь на свойство "timeout", а не на сам abort controller.


Мне нужен таймаут и я смотрю свойсво таймаут. На который ты раньше дал ссылку. И кто из нас тупой?

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

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


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

>Мне нужен таймаут и я смотрю свойсво таймаут. На который ты раньше дал ссылку. И кто из нас тупой?


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

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


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

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


Значит ты костыли хуяришь, а не нормальный код.
238 2342150
>>42132

>Тебе уже несколько анонов написали, что ставить таймауты на запросы это антипаттерн.


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

>А еще во времена xhr был activex.


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

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

Но мне и не с такими поделками приходилось работать, я как-то не сильно жалуюсь.
239 2342155
>>42150

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


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

>Но мне и не с такими поделками приходилось работать, я как-то не сильно жалуюсь.


Кого ты хочешь наебать, если ты банально не знаешь как fetch работает? Сколько ты работал в ИТ? Месяц джуном?
240 2342159
>>42155

>Кого ты хочешь наебать, если ты банально не знаешь как fetch работает? Сколько ты работал в ИТ? Месяц джуном?


Лол, есть ощущение, что это ты в этой сфере год или меньше.

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


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

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

Вот, это моя задача как разработчика решать, что мне надо в конкретной ситуации, и исходя из этого конфигурировать вызов. Чего fetch не позволяет.
241 2342162
>>42159

>Чего fetch не позволяет.


Хватит так жестко толлить тупостью
мимо
242 2342165
>>42162
Покажи код, как сделать так, чтобы если в течении двух секунд данные не были получены, fetch прерывался бы.
243 2342168
>>42165
const ac = new AbortController();
const {signal} = ac;
setTimeout(()=>ac.abort(), 2_000);
fetch('...', {signal})
244 2342174
>>42165
Первая ссылка в гугле по запросу "js cancel fetch"
245 2342182
>>42159
От того что ты запрос закенселишь данные твои свежее не станут))
246 2342197
>>42182
В нестабильных сетях очень обычная история, что у тебя соединения рвутся, а ты об этом не узнаёшь. Ты должен предусматривать эти истории как штатные.

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

Причём поздние данные тоже плохи. И может нарушаться порядок из прихода. И в случае поллига может накапливаться много повисших соединений, если их не рвать.
image.png22 Кб, 600x188
247 2342223
248 2342349
>>41970
Потом придется перекатываться на svelte
249 2342495
нахуя вы с фетчем дрочитесь, если есть ахиос в котором отмена запроса уже давным давно есть
250 2342512
>>42495

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

251 2342514
252 2342520
>>42512
а, ну тогда пиши на ваниле и костыляй свои лодаши и реакты, всё ведь можно на внутреннем функционале написать, нахуй не нужно это ваше чужое!
253 2342536
>>42495

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


А акиос весит ноль байтов как fetch?
254 2342546
>>42520
Тут дело в том, что аксиос весит дохуя, а функционала приносит за свой вес ровным счетом нихуя. Тот же лодаш и реакт намного больше нового функционала добавляют.
image.png30 Кб, 448x299
255 2342587
>>42546
миник 30ку весит, а в запакованный около 5кб

>дохуя весит

256 2342601
>>42587

>миник 30ку


Ну да, и?
Миник фетча весит 1кб максимум, в 30 раз меньше.
257 2342630
>>39952 (OP)
Здарова аноны. В общем мне нужно разобраться как можно пользоваться стандартными потоками ввода вывода в Node JS (8.10.0). Мне нужно ввести два числа разделенных пробелом в одной строке и чтобы мне программка выдала их сумму а затем завершилась.

Нашел вот такое https://replit.com/@kekos88/OldTremendousProcedures#index.js решение, однако не работает нихуя. Ввожу числа - жму enter - ???? - ничего не происходит. Как это исправить? Что посоветуете почитать чтобы нормально разбираться в стандартном вводе выводе у Ноды? Ютуб туториалы идут по 4-7 часов и там слишком много ненужной мне хуеты, а на сайте ноды тупо справочник в котором хер разберешься. Че делать?
258 2342658
Пацаны, а где мне тестировать свой код в онлайне? хочу маленькие кусочки запускать и смотреть что выдаст на реакте, в реплите нету, каждый раз чтоли запускать вскод и писать нпм старт? дохуя мороки както
259 2342662
>>42658

>каждый раз чтоли запускать вскод


Зачем ты его закрываешь?
>>42630
'end' то как вызываешь?
260 2342665
>>42662

>Зачем ты его закрываешь?


ну ваще не закрываю, просто у меня там приложение большое уже написано, и я не хочу в нем копаться, хочу маленький файл для тестов, но ради него нужно целое реакт приложение устанавливать. по другому хз как
image.png3 Кб, 146x107
261 2342669
>>42665
Перечитай оп пост
262 2342670
>>42669
бля сори, я даун
спс
263 2342674
>>42662

>'end' то как вызываешь?



Ну я пробовал ctrl-c например и ctrl-d, тогда программа завершается, но результат в консоль не выводит.
Я на самом деле не понимаю что я делаю в этом коде, я его тупо скопировал.
264 2342752
как сделать такую тему,есть на многих сайтах,есть допустим 2 заголовка-ссылки,по умолчанию 1й.Если нажать 2й,то подгружает какуюто информацию,а сайт в целом не меняется
265 2342773
>>42752
Кажется, ты говоришь про "табы"
266 2342774
>>42773
точно,оно
267 2342803
>>42752
Никогда не перестану поражаться тому, что люди, в большинстве своем, не способны связать двух слов.

Словно всю жизнь существуешь в мире умственно отсталых.
268 2342804
>>42803
а что он не так связал тут?
269 2342814
>>42804

>не так


Предполагая, что там что то связано
Стикер191 Кб, 380x508
270 2342850
Пиздец, получается JS сам по себе бесполезен и нигде не нужен. Нужно обязательно учить фреймфорки, либы для них, всякие TS, ноду.
Screenshot52.png42 Кб, 695x414
271 2342853
>>42850

>JS сам по себе бесполезен и нигде не нужен


Хуле ты хотел от языка, где даже чтобы сгенерить рандомное целое число нужно писать гигантский костыль?
image.png400 Кб, 1148x2582
272 2342881
>>42850
Ты кое что забыл
273 2342910
>>42850
Можно даже JS не учить, но это возможность делать сайты на вордпрессе за 40к, без какого-либо развития.
274 2342962
>>42674
ctrl+c это завершение процесса, событие SIGINT.
Конец ввода это ctrl+z
>>42658
Арендуй себе хостинг для простенького php скрипта и заливай туда по ftp файлы после сборки. Ну или арендуй себе vds и прямо на нём разрабатывай под ssh, vs code такое умеет, вебшторм тоже.
>>42853
Уже не надо, есть crypto.getRandomValues
8943798356837899.jpg6 Кб, 273x184
275 2342963
>>42962

>crypto.getRandomValues


Поридж, а что скрывается за этим твоим crypto.getRandomValues знаешь? Тот же самы костыль.
Думаешь, раз обернул говно в фантик, то оно перестало быть говном?
image.png43 Кб, 991x597
276 2342964
>>42963
Вкатун, плиз. Там не Math.random внутри, все уже давным давно расжовано.
277 2342969
Бля надо наверное очень умным быть, чтобы эти пакеты писать
278 2343000
>>42853
а как сделать,чтобы числа не повторялись?
279 2343001
>>43000
Никак, не придумали математики еще способа зарандомить ПОЛНОСТЬЮ уникальное число, которое гарантированно будет уникальным.
280 2343002
>>43001
я имел ввиду,что как в лото,надо сгенерить 6 чисел,и чтобы генерируемые числа не повтоились
281 2343005
>>43002
Только проверяя каждый раз, нет ли уже такого сгенерированного числа ранее, если есть - рандомить заного. В рандомайзерах сейчас гарантируется, что два числа подряд не будут одинаковыми, а вот 3 - уже нет (могу ошибаться, я давно смотрел как это реализовано в v8, сейчас могли поменять).

>как в лото


Тебе надо просто рандомно выбрать уже существующие числа из списка, а не рандомные.
282 2343008
>>43002
Храни результат в сете и роль до тех пор, пока его размер не станет 6.
283 2343009
Но ведь это же логично. Если число рандомное, то у него есть шанс повториться
284 2343010
>>43009
Рэндомы бывают разные.
285 2343047
В ЖС завезли упрощенный цикл ? что нибудь типо for i < 10 log("puk") ?
286 2343048
>>43047
Только внутри коллекций с итератором.
const hw = "hello world";
for (const char of hw) console.log(char)
287 2343070
>>43005
те делать массив,и удалять индекс массива после вывода числа??делать через set?
288 2343078
>>42962
ctrl+z это разве не остановка процесса? У меня по нажатию этой комбинации пишется Stopped имя программы.
289 2343080
Чому браузеры до сих пор не могут в tco?
Снимок экрана2022-04-2410-36-17.png124 Кб, 1366x768
290 2343081
пояснительную бригаду,как это все работает
291 2343086
>>43081
hui budesh?
Снимок экрана2022-04-2410-36-17.png135 Кб, 1366x768
292 2343087
>>43086
да.
как ограничить диапазон от 1 до 6?
293 2343090
>>43081
я так понял,это для браузера код,а я запустил через ноду
294 2343096
И герерить числа таким образов лучше на фронте или на бэке?
295 2343100
>>43096
Конечно на фронте, это же гарантирует, что никто из клиентов не подделает результат рандома.
296 2343105
>>43100
а разве на фронте эту крипто апи можно подделать?
297 2343112
>>43105
Конечно нельзя, ты же будешь всю криптолибу с каждым запросом посылать.
298 2343123
>>43100
А че не на бэке?
299 2343193
У меня браузерная игра подбирается к ОБТ, на Node и вебсокетах. Взял на пробу VDS у яндекса (Cloud Compute), работает лайк э чарм, минимальной мощности за 1200 в месяц должно хватить на несколько сотен игроков в онлайне - короче, с лихвой. Но у яндекса довольно жёсткий лимит на исходящий трафик, и после 10 первых ГБ за каждый дополнительный будет взиматься по полтора рубля.

Короче, кто-то может поделиться своим опытом с VPS/VDS у конкретного хостера (timeweb? sprinthost?)? Чтобы всё серьёзно: убунта (хотя она везде), доступ к консоли рута по SSH, при этом без жёстких лимитов на трафик и с хорошим пингом. И цена простейшей конфигурации не более 1000 р/мес желательно.
300 2343196
>>43070
Да, удаляй после каждого выбора из set выбранное число.
>>43078
Зависит от терминала, в винде это конец ввода, в баше это завершение программы.
>>43087

>от 1 до 6


делением по модулю
>>43105
А зачем подделывать, если можно сразу ввести нужный результат без обращений к либе?
301 2343206
>>43193

>ОБТ


Основной боевой танк?
302 2343227
>>43206
открытый бета тест
303 2343240
>>43196

>делением по модулю


не понял
304 2343241
>>43196

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


ну для бэка тогда надо php учить
305 2343243
>>43193
Игра полностью на жс?
306 2343259
>>43240
% 6

Пиздец костыль, как в СИ с rand.
image.png39 Кб, 657x629
307 2343261
Аноны, поясните за говнокодство/костыли.

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

В идеале я хотел хранить в дочернем компоненте Payment эту сумму и там же её ресетать, но не понял как в параллельных компонентах ( а параллельные они потому что в разных разделах находятся и их нельзя рендерить друг друга) тогда менять это значение, поэтому сделал через длинную цепочку (ну она не очень длинная, но если представить что проект будет гигантским, то будет засрано всё)
308 2343262
>>43261
Забыл сказать. При нажатии на карточку Card у меня добавляется в moneyStore += price этой карточки.
а в пейменте на кнопку пей я ресетаю количество денег.
309 2343271
>>43269 (Del)
Прикольный сайт
310 2343272
>>43261
Так есть же редакс
311 2343273
>>43269 (Del)
Съеби
312 2343274
>>43259

>костыль


А как некостыльно зарандомить число в диапазоне?
313 2343275
>>43274
random(diapason)
314 2343276
>>43275
так твм от 0 до 1
315 2343277
>>43275

>random(diapason)


Что это за высер? Вот у тебя есть функция, которая возвращает случайные N-бит. Покажи мне способ, как эти биты преобразовать в число в определенном диапазоне без костылей.
316 2343278
>>43272
Понял. Ну я пока 4й день учу реакт, решил не затрагивать его. вот сегодня только узнал что такое хуки.
Как думаешь, редакс лучше потом изучать? или уже можно садиться сразу
317 2343280
>>43277
>>43276
блять я чёт ржу пиздец ща ёбнусь
318 2343283
>>43278
Смотри про редакс, про useReducer
319 2343286
320 2343288
Мне одному кажется что реакт - говно без задач? Чтобы сделать что-то банальное и простенькое, хватит и чистого жс, чтобы сделать сложное и комплексное - на реакте невозможно без анального пердолинга и костылей.

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

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

Проще свой фреймворк написать на ванильном жс ояебал.
321 2343289
>>43280

>function getRandomArbitrary(min, max) {


return Math.random() * (max - min) + min;
}
так?
322 2343294
>>43289
но тогда вероятны повторы чисел
323 2343302
>>43196

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



У меня WSL терминал
324 2343304
>>43288

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


???
325 2343310
Если мне нужно некоторую ссущность из редакс стора сохранять в локал сторедж (но не всё редаксостояние), мне нужно писать для этого тханк-хуянк? Причём похоже придётся писать каноничный бойлеплейтный хуянк, а не колбэк для createAsyncThunk().
326 2343319
>>43193
Что за игра?
327 2343320
>>43288

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


???
function Abu(props){
return <div {...props></div>;
}
???
328 2343322
>>43304
onKey ивенты работают только со всякенными форменными элементами типа инпутов, потому что у оных дефолтно идет tabIndex в свойствах, у пустых контейнерных жлемнетов типа мэин и див нету такого, вручную писать надо, но это говно

>>43320
Ты знаешь что такое ивенты? ???
329 2343330
>>43243

> Игра полностью на жс?


Лет 10 назад я бы мог решить, что ты спрашиваешь про flash, silverlight или java-апплет. А в 2к22 я даже хз, что может значить "не полностью на жс". Или ты про сервер? Он на NodeJS без примесей. Там серверных вычислений не то чтобы мало, но сама игрушка пошаговая, так что JS должен справляться.
330 2343335
>>43330
Я про фронт
331 2343336
>>43322
В смысле? А как ты хочешь чтобы оно онки тебе давало если ты на нём фокус не можешь?
332 2343338
>>43330
Монетизация будет?
333 2343345
>>43336
Молча, элементы слушают за глобальное нажатие через основной ивент класс, в игровых движках так и сделано, либо делается (тоже за костыль считаю) через зависимость от синглотона какого-нить.

Но тут по крайней мере даже не напердолить зависимостей как на ванильном жсе чтобы все это дело контролировать. Я уж устал в эту матрешку играть, перекидывая функции. Чинишь одно, ломается другое, пиздец 'модульность и легкость в разработке'
1578987600347.png37 Кб, 925x217
334 2343346
>>43345
Так типа?
335 2343347
>>43335
Всё на JS/CSS, даже канвас не юзал, там нет сложных анимаций.

>>43338

>Монетизация будет?


До монетизации там путь в годы, я думаю.
336 2343349
>>43347

>До монетизации там путь в годы, я думаю.


можно сразу плющки за бабки продавать
337 2343351
>>43346
Нет, у тебя так стейт не сохранится.
338 2343353
>>43289
изи
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());
339 2343356
>>43349
В игре пока делать нечего, кроме прохождения вступительной кампании. ПвП нет и не будет, какие там плюшки. Чистой воды игра мечты, короче. На этапе проектирования о способах монетизации мыслей не было.
Ладно, ухожу отсюда, всё-таки не /gd/
340 2343357
>>43351
Где не сохранится? В хэндлере ставь нужный тебе стейт. Не понимаю что не так.
341 2343362
>>43356
Хоть ссылку дай на тред в гд или куда-нибудь. Интересно же.
342 2343367
>>43357

>не понимаю


Так ты тестируй свой код чтобы понимать.
Добавь в свой хендлер стейт счетчик какой-нибудь и посмотри как он будет работать.
343 2343369
Как называется эта болезнь?
344 2343370
>>43369
Жаба головного мозга
image119 Кб, 736x736
345 2343372
1633378982005.png108 Кб, 1849x509
346 2343373
>>43367
ммм?
347 2343374
Вы вообще знаете что такое костыли? Это когда ты пилишь свой говнокод вместо нормального. Какого хуя вы блять называете костылями готовые решения (нпм пакеты?) или когда вы говорите про костыли, вы сами себя обсираете. На реакте "писать костыли" вас никто не заставляет лол
348 2343378
>>43373
Ты собрался регестрировать хендер на каждый ре-рендер? У тебя на простых анимациях с пары объектов браузер вытечет.
349 2343380
>>43374
Тащемта хронический нпм инсталл тоже может стать костылём заместо архитектуры.
350 2343381
>>43353
Во первых, Math.random это не рандом и на любом нормальном проекте ты за это получил бы по рукам.
Во вторых, у тебя это медленно работает, если надо заполнить массив большой длины. Нужном енять массивы на set.
351 2343382
>>43381
Вернее, максимально не безопасный рандом
быстрофикс
352 2343383
>>43374
Кто-нибудь объясните этому дурачку что любой школьник может наклепать своих пакетов и никто ему за это даже линейкой не шлепнет.
353 2343387
>>43383
А я говорил про пакеты школьников? Я говорю про мастадонтов типа node-ipc
1620822197755.png74 Кб, 987x521
354 2343388
>>43378
Вот ты доебался.
355 2343392
>>43381
А что делать?
356 2343395
>>43392
1) использовать crypto
2) использовать Set
357 2343397
>>43388
А теперь проверяй свой код как в первый раз)))

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

Если бы я не был ленивой жопой мне проще было бы что-нибудь свое напердолить.
358 2343398
>>43397
Покажи как у тебя.
359 2343401
>>43369
Это говно начинает меня бесить. Какой-то шизик расставил нулы по половине .d.ts? В официальной документации нет никаких нулов блять.
Кто из этих двух пидорасов мне пиздит?
360 2343402
>>43362
не, пока соблюдаю анонимность
может потом создам отдельный тред в /gd
361 2343403
Какой способ обращению к стор лучше? Вижу есть connect()(), но он более многословен чем хуки useDispatch() и useSelector(). В каких случаях что выбирать?
362 2343406
>>43395
крипто uint8array до 255 генерит.
тогда нужна будет проверка чисел random<7 через цикл
потом mySet.has(random);
363 2343408
>>43406

>тогда нужна будет проверка чисел random<7


Нет. Иди читай страницу про доки про ператоры в JS.
364 2343412
>>43408
про побитовые или условные?
365 2343413
>>43412
Про бинарные арифметические
366 2343415
>>43413
а причем тут арифметика?
что ты собрался делить или умножает?
367 2343418
>>43415
Вот она то тут как раз причем. Почитай и подумай еще раз над тем, как определять, меньше ли число 7 при рандоме и надо ли это делать.
368 2343423
>>43418
до меня пока дошло,что там генерация идет до 255,
а нужно допустим 6 чисел из 49.
это сколько тупой работы по генерации и переборке будет
369 2343425
>>43398
Я использую референс к переменной через которую меняю стейт.
Это даже звучит тупо потому что стейт в реакте должен сам исполнять функцию основных характеристик компонента, иначе нахуй он такой нужен, кастыльный кастыль.
370 2343426
>>43423
Да, в правильную сторону мыслишь.
371 2343431
>>43426
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);
я не знал ответа,но гугление дало такое
}
372 2343435
>>43369
>>43401
Как бы тебе сказать...
373 2343442
>>43403
Бамп вопросу
374 2343445
>>43442
Хуки
375 2343474
Интересно, почему еще нет фреймворка Perdux?
376 2343475
const x = document.querySelector('#test').textContent
Я не совсем понимаю. Почему, если вот так сделать: x = 'какой-то текст', то текст внутри элемента выбранного селектором не меняется?
Если вот так, то всё меняется document.querySelector('#test').textContent = "выфвфы", а если через переменную, то нет
377 2343478
>>43475

>const x = document.querySelector('#test').textContent


Ты получаешь значение поля объедка узла, то есть это самая обычная строка. Менять этот x это все равно что просто поменять строку этой переменной. К dom-узлу эта переменная уже никакого отношения не имеет, ты уже получил строку.

>Если вот так, то всё меняется document.querySelector('#test').textContent = "выфвфы"


Потому что document.querySelector() возвращает ссылку на объект ноды, и ты меняешь свойство этого объекта, что отражается в дом. Менять значение в переменной и свойство объедка это очень разные вещи.
378 2343479
>>43475
Изучай что такое ValueObject и что такое ReferenceObject, поймешь.
379 2343481
>>43478
Спасибо!
А есть тогда способ, чтобы эту лабуду как-то запихнуть в переменную, чтобы укоротить? Мне несколько раз нужно обращаться к ней и как-то не очень каждый раз прописывать document.querySelector('#test').textContent
380 2343482
>>43401

>В официальной документации



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

Однажды может быть наконец отыщешь в интернете специфиуации.
381 2343485
>>43481
Ну так
const x = document.querySelector('#test')
x.textContent = 'Залупа'
382 2343486
>>43481
Блять ну сохрани вызов селектора в переменную.
383 2343488
>>43481
Дык запихни просто сам объект в переменную
const test = document.querySelector('#test');
test.textContent = 'пук'

А лучше иди учить жс
Capture.JPG73 Кб, 1104x852
384 2343492
>>43485
>>43486
>>43488
Спасибо.
До этого я бы и сам догадался, наверное. Просто устал уже. Весь день сидел занимался.
Вот пилю свою борду ради практики. Основной функционал уже работает, хотя там наверное дикий говнокод
385 2343514
>>43482

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


Вот же бля, а ведь ты прав...
Screenshot56.png20 Кб, 793x230
386 2343516
>>43482
Ебать меня за шиворот, меня так не наебывали с начальной школы, когда родители пообещали купить сегу на новый год, а потом нихуя не купили.
Какого блять хуя в MDN гонят какой-то порожняк и ничего не сообщают про null? В спецификации IndexedDB все написано же.
387 2343523
>>43516
Чтобы пориджей не душить
Они там только легонько намекают в виде if (cursor)
388 2343536
>>43516

>Какого блять хуя в MDN гонят какой-то порожняк


Так всех людей, которые там работали поувольняли к хуям собачьм, там теперь сообщество базу знаний наполняет, как вики. Какое сообщество - такое и качество контента. количество вкатунов и недомидлов с 10 летним опытом разработки там зашкаливает
389 2343538
Аноны, а есть пример большого next.js приложения, где больше 100 компонентов и больше нескольких десятков рутов? Пытался на гитзхабе поискать - ничего не нашел больше пары страниц.
390 2343539
>>43536

> недомидлов с 10 летним опытом разработки


Это как?
391 2343540
>>43539
Ну вот чел работает 10 лет в одной области, а знаний едва ли наберется на уровень миддла.
392 2343566
Насколько хорошо vue работает с тайпскриптом? Насколько это костыльно?
393 2343695
Опа. Сейчас вскод неправильно отработал 2 раза, после перезапуска нодмона всё норм. Я отправлял запрос с постмена, а постман отрабатывал будто со старой версией кода, после перезапуска всё ок. Сохраняться не забывал. В чём может быть проблема? Оперативка может быть причиной?
394 2343699
А вот таким нормально заниматься? e.target.parentNode.parentNode.parentNode.dataset
Или так лучше не делать?
395 2343702
>>43699
это что, кастомный event bubbling?
396 2343708
>>43702
По клику по элементу мне нужно получить датасет, который есть у родителя этого элемента
397 2343717
>>43699
closest юзай.
398 2343742
>>43566
Третий работает отлично, второй значительно хуже.
399 2343743
>>43699

>parentNode


У интерфейса Node нет свойства dataset, а вот у parentElement - Есть.
400 2343749
Почему убунта грузит 12.12 ноду?
401 2343752
>>43749
Ебанутый вопрос, какая бубунта и какую тебе версию надо?
402 2343754
>>43752
22.04 и 18.0
403 2343760
>>43754
Следовывай этой инструкции:
https://github.com/nodesource/distributions/blob/master/README.md
123.JPG8 Кб, 556x87
404 2343761
image.png13 Кб, 1744x49
405 2343771
>>43761
Хватит срать в штаны, открой доку.
https://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1950641247
406 2343819
Насколько тупая идея делать реальный сайт для доставки еды без cms на next.js? Просто в этом говне cms'ок копаться не хочу, плюс отточил бы навыки с реактом и нодой. Сайт если что будет реальной рабочий, но простой.
407 2343822
>>43819

>Сайт если что будет реальной рабочий, но простой.


Будет* если сделаю
408 2343825
>>43822
Блять, там так и было написано, зачем я это сделал
409 2343826
>>43819
Может возьмёшь банальные strapi/keystone в качестве cms просто?
410 2343831
>>43826
Впервые слышу о них. Спасибо, сейчас чекну.
411 2343852
>>43760
Проверил через докер-образ, и правда 12-я версия.

Вообще странно, это же версия 20-го года. По идее должна бы быть 16-я версия, которая текущая LTS.
412 2343853
>>43819

>Насколько тупая идея делать реальный сайт для доставки еды без cms на next.js?


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

>Для сириус бизнеса один хуй нужно будет выделять отдельный бэк сервер под задачи и пердолинг с БД


Это нужно для простого сайта для заказа бургеров?
414 2343892
Я как фуфел сидел с темой оушен чёто там, теперь пересел обратно на дефолтную тёмную тему в вс коде и счастлив
415 2343899
>>43892
Держи в курсе
416 2343916
>>43885

>Это нужно для простого сайта для заказа бургеров?


Где ты собираешься статус заказов хранить?
417 2343929
>>43916
В бд, где еще.
418 2343936
>>43929
А БД у тебя где будет?
419 2343953
>>43936
На простеньком беке или CMS.
420 2344050
Как же я горю с реакта и типичного пердолинга 20222.
Как мне засунуть значение с условием в элемент?

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

Ебать програмировать на реакте это когда проблема которая решается на полторы минуты, расстягивается на часы=дни я ебал.
421 2344052
>>43853
9 из 10
160.png61 Кб, 200x162
422 2344066
Какой сейчас лучший вариант js для десктопа?
423 2344089
>>44050

>почему


Потому что javascript
image49 Кб, 1001x511
424 2344096
>>44050
чел...
01.png47 Кб, 1920x1080
425 2344097
У всех не работает ссылка https://developer.chrome.com/ru/blog/new-in-devtools-100/ или только у меня?
Из под TOR - всё работает. Блокировка провайдера?
426 2344100
>>44097
Помимо этой версии не работает локализация инструментов разработчика, не работает никакой язык, кроме аншлийского. Не критично, но сам факт напрягает.
427 2344111
>>44096
Далбаеб тут ты, твоя хуйня не будет работать с элементами с с тележкой свойств и прочих вкладышей. Ты же не собираешься копипасть стену кода? Это антипатерн. А если условий больше чем 1?
428 2344140
>>44111
Разбей большой элемент на элементы поменьше тогда. Ну или напиши функцию с if и вызови её где тебе надо.
Screenshot20220425225818.png11 Кб, 340x413
429 2344141
https://codepen.io/chriscoyier/pen/NWKrXQx
У меня такая же хуйня. Почему у таблицы получились неровные рамки? Как фиксить эту хуйню?
Screenshot20220425230210.png12 Кб, 367x423
430 2344147
>>44141
Ебаный рот этого гугл хрома. Как он умудрился обосраться вообще? На лисе все норм
431 2344148
>>44141

>Как фиксить эту хуйню?


Не использовать таблицы.
image.png63 Кб, 1103x477
432 2344209
>>44050

> почему тернари поддерживается, а простой if - нет, втф


Потому что JSX — сахарок для шаблонных строк.
https://www.w3schools.com/js/js_string_templates.asp
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Template_literals
433 2344212
>>44050

>когда проблема которая решается на полторы минуты, расстягивается на часы


Растягивается, потому не хочу. Что значит не хочу?
1650925853102.jpg319 Кб, 1080x1350
434 2344227
>>44050

>почему тернари поддерживается, а простой if - нет


Потому что тернарный оператор возвращает значение, а if ничего не возвращает, а следовательно, это ничего не может быть присвоено переменой?
435 2344228
>>44148
Мне надо отобразить таблицу. Что ещё мне использовать для таблицы кроме таблицы?
436 2344233
437 2344234
>>44227
Абсолютно логичное и при этом абсолютно бессмысленное суждение. анекдот про холмса,ватсона и воздущный шар

Какая ж тупорылая херня, если бы я был бы умнее на 20 пунктов айсикью и не ленивым, я бы свой охуенный яп написал бы сам, логичный, для людей. У тебя блядь 100500 языков возвращают null null и еще раз null, ты захуярил undefined, ты ж блядь самый умный навреное(нет), но не продумал работу с условиями, пиздец как будто я не могу если захочу вернуть в теранри с одной стороны хуй, а с другой залупа. Разработчик жса пидорас, я все сказал. ППС Да вообще таких пидаров много. Разбираться и быть спецом в ЯП это тоже самое что иметь сертефикат душевнобольного.
438 2344237
>>44234

>спойлер


Ты же знаешь прекол из 00-х "Почему нет специалистов-пхпшников"?
Потому что все пхпшники дропали пхп сразу после того, как становились полноценными кодерами и понимали, какое пхп говно.
1561693982292.png4 Кб, 326x99
439 2344272
>>44234
Ну епта, ну напиши не тернарный оператор, напиши через IIFE и твой любимый if.
А null и undefined нужны чтобы эксплицитно "нихуя" писать как null, а если что-то пошло не так, то возвращать "undefined", типа эти случаи полезно различать.
image.png25 Кб, 610x353
440 2344276
Вопрос по реакту от ньюфага.

Почему только со строкой где 1 случай, работает нормально, а 2 и 3 случаи не обновляют сообщение в теге p?
https://jsbin.com/hadokawori/1/edit?html,output
441 2344288
>>44276
1)Используй пж codesandbox
2)Посмотри туториалы реакта какие-нибудь
3)Вот я вроде сделал как должно быть, можно вообще p не рисовать
https://jsbin.com/yuzikifeko/2/edit?html,output
442 2344310
>>39973
скока откликов вышло перед оффером?
443 2344311
>>44288
Я как раз прохожу туториал и пытаюсь понять почему если ставить зеленую строчку в работу, то сообщение рендерится как и задумано, при изменении чекбокса; а если ставить красные строчки то ощущение что реакт их не видит.
444 2344318
Проверь через ping-admin
445 2344320
446 2344321
>>44066
Electron, либо nwjs если нужно не палить исходники.
447 2344328
>>44311
В первом случае при изменении стейта происходит ререндер компонента и код из первого случая читается.
Во втором случае код читается только при переключении чекбокса. Т.е. ты его переключаешь, значение меняется, но не запоминается между рендерами, компонент ререндерится и ты получаешь undefined. Поэтому в любом случае меседж нужно засунуть в стейт
image.png34 Кб, 615x555
448 2344332
Там у вью официальный стейт-менеджер сменили на какую-то пыню. Кто пробовал?
449 2344347
Что такое хуки и стейт?
450 2344359
>>44347
крюки и состояние
451 2344365
>>44347
Хук это способность пуджа из доты. А стейт хз)
452 2344373
Почему гуки комментируют свой код на своем нахрюке? Они совсем ебанутые? Очень мало репок азиатов встречаю где описание и комменты на английском
453 2344376
>>44373
Могут себе позволить) Они же не маньки каргокультные вроде тебя
image.png33 Кб, 776x276
454 2344379
455 2344382
>>44379
И? Носителей хоть и мало, но английский все равно легче понять и перевести и выучить, код нужно комментировать на английском
456 2344385
>>44382
А можно не комментировать на английском.
457 2344393
>>44382
Что легче, выучить английский или комментировать на родном языке? Внимание, для ответа нужен iq>80.
458 2344394
>>44393
Тут речь не про легкость, так что ебало завали
image.png126x22
459 2344395
Что тут происходит? Код scss. Че за тильда и собачка?
460 2344430
>>44395
Это значит тебе в конфиге вебпака нужно резолвы смотреть.
461 2344435
>>44394
Легкость для тебя никого не ебет, так что завали сам
462 2344527
>>44393
У тебя на уме ответ для того, у кого IQ=85.

А у кого IQ выше, там другой ответ будет. Среди просто людей больше тех, для кого китайский родной, а не английский. Хотя даже здесь ещё много тех, кто английский просто знает, например в Индии очень многие знают английский. А вот среди занятых в IT уже может быть совсем другая пропорция, намного больше тех, для кого английский родной, а китайский они совсем не знают.
463 2344535
Поясните за tailwind?
464 2344540
>>44535
Высерок для высирания прототипов. С условием, конечно же, что ты сьебёшь в закат после разработки этого прототипа.
465 2344557
JSON ВСЁ! ДЕД ПОЕХАЛ!
https://www.crockford.com/putin.html
466 2344559
>>44535
Что пояснить? Конкретизируй запрос свой
>>44557
Орнул с всратой верстки
467 2344562
>>44557
И что это должно значить?
468 2344563
>>44557
Он ввёл в переводчик fuck Putin, а там перевелось как блять Путина. Получилось буквально обратное от желаемого
469 2344565
>>44563
Учитывая лютейшую пропаганду в США - неудивителен такой выпад
470 2344568
>>44557
Ничего, импортозаместим XML'ем.
471 2344570
Почему такой хайп на айтишников, программисты в касте выше, чем прочие инженеры?
472 2344575
>>44570

> инженеры


Потому что говно без задач.
473 2344578
>>44565

>пропаганда


>в США


/0
474 2344580
>>44535

>Ryan Florence


>I feel like an idiot for not using Tailwind CSS until now.



>Kent C. Dodds


>Skip to the end. Use @tailwindcss.



У них же на сайте все явно написано. Это говно.
475 2344582
>>44578
+15¢
476 2344591
>>44559
Как оно, юзабельно, неюзабельно, пишут что говно уже вон
477 2344592
>>44570
Потому что после крымнаша доллар удвоился. А инженегром на удалён очке намног сложнее быть.
478 2344617
Ну всё, у экспресса начали выходить новые версии:
https://github.com/expressjs/express/releases/tag/4.18.0
479 2344623
>>44617
восстал из мертвых.
когда 5 версия? лет через 5
481 2344637
>>44634
Зато на него больше примеров.
Хотя джастифай неплох и новый
482 2344642
>>44591
Ну конечно говно, одно дело, когда был он да бутстрап.
А сейчас есть Chakra UI, Ant Design, css modules
483 2344645
>>44570
За годик инженером бесплатно почти нереально стать, а потом работать удаленно откуда хочешь.
484 2344647
485 2344694
>>44332
Extremely light
Pinia weighs around 1kb, you will forget it's even there!

> https://bundlephobia.com/package/pinia

image.png47 Кб, 902x606
487 2344702
да как эта хуйня заебала, качаю 1 пакет, сразу блять 666666 ошибок и приходится аудит делать, делаю аудит, скрипты пропадают
да еп твою, что не так с этим говном
488 2344703
>>44332
бля че этих стейт менеджеров развелось
489 2344712
>>44702

> сразу блять 666666 ошибок


Это не ошибки, аудит не надо делать.
image.png54 Кб, 882x377
490 2344715
>>44535
Зачем tailwind если можно просто
491 2344721
>>44702
Какой же ты тупой, пиздец. Уже сотню раз тебе npm намекнул, что надо самому сборщик настраивать, но нет, надо качать create-react-app с сотней уязвимостей и парочке node-ipc в пировых зависимостей.
492 2344724
>>44702
В гайде не было написано делать audit, сделал - соси хуй
493 2344726
>>44715

>box-shadow: 0px 0px 0px 8px ${zalupa.abu.dvach.hui.babkin px}


>просто


Неужели это проще, чем

>@inlcude "theme/box-shadow-sm"

494 2344729
>>44712

>аудит не надо делать


Автор node-ipc, ты? Когда соевое молоко на нормальное поменяешь?
495 2344737
>>44694
Весит килобайт, а весь редуксовский бойлерплейт будет на пару десятков.
496 2344739
>>44726
Чтобы написать инклюд нужно сначала файл создать
497 2344744
>>44739
Что бы тему в styled использовать нужно сначала создать файл с провайдером и, собственно, самой темой. В чем разница?
498 2344748
>>44744

>файл


Можно не создавать
499 2344752
>>44748
Согласен. Можно все провайдеры захуячить в app.tsx, так все делают.
500 2344756
>>44739
Компоненты тоже все в одном файле пишешь?
501 2344828
>>44535
Самый няшный фреймворк. для верстального фастфуда ничего лучше нет, просто все css свойства перевели в удобные маленькие классы,отсортировали по градациям и разложили по полочкам,с возможностью гибкой настройки, пиши хуйню в стиле @apply flex items-center justify-between px-4 py-6 bg-black text-white sm:block и в хуй не дуй. но в серьезных проектах вряд ли такое будешь использовать,да и в рот их ебать
реакт1.png9 Кб, 1481x718
502 2344940
как сделать так чтоб реакт писал в чем ошибка,а не просто был белый фон
image.png30 Кб, 1098x240
503 2344944
504 2344946
>>44944
если б это гуглилось яб не спрашивал тут
505 2344964
>>44946
Если бы это не гуглилось я бы тебе скрины гугла не кидал
506 2344987
>>44964
ты издеваешься?если б там был ответ,а не левые ссылки я б и не спрашивал
507 2345000
export 'default' (imported as 'App') was not found in './App' (module has no exports)

Сап, изучаю React, пишу своё небольшое приложение (калькулятор), вот такую штуку выдаёт, а я просто не понимаю, что не так?
508 2345001
Реактомарафон от верцеля, который мы заслужили:
https://github.com/vercel/workshop-reacthaton
509 2345002
>>45000
В файле App нет кода вроде 'export default ...'.
510 2345014
>>45000
читай про js modules, export import. Посмотри как ты эспортировал App, мб нужно при импорте обернуть его в скобки{}?
511 2345015
Вот смотрите, например я знаю, что у экспресса есть метод json, вызов возвращает функцию для обработки жсона из запросов на сервер, используется как мидлвейр. Должен ли я читать документацию и прочее, вникать там. Или просто пользоваться и не ебать мозги?
512 2345025
>>45015
Если для тебя прочитать документацию метода требует титанических усилий, то пиздуй на завод. Как раз нужно импортозамещать экономику в стране, окружённой враждебными врагами и предателями.
513 2345032
>>45025
Ага вот тут ты и попался, там этих методов/фреймворков 100500, к каждому читать доку?
514 2345033
>>45032
Но ты смотришь один метод одного фреймворка. Причём не какого-нибудь соевого, вполне себе полу-легаси.
515 2345035
>>45033
Так я же для примера его привёл
git.png83 Кб, 597x237
516 2345068
Бля что за херня пасаны. Git взял и удалил мои файлы какого то хуя. Как их вернуть? Именно в самом гите для коммита. Файлы по факту не удалены
517 2345071
>>43047
Давно, называется while.
518 2345072
>>45068
git add, рофлишь что ли?
519 2345073
>>45072
Бля эти файлы не должны быть удалены. Git add . не работает, такую же плашку показывает.
520 2345074
>>45073
Пишут типа индексация поломалась
521 2345076
>>43193
Спроси в web
522 2345086
>>44347
Стейт это то место где могут хранится данные элемента. Но данные нужно показывать, для это используется рендеринг, но у рендеринга есть несколько стадий, типа подготовка, сам рендеринг, хуе-мое, и вот доступ к этим стадиям осуществляется через функции называемые хуками.
523 2345089
>>45015
Главное, покрывай тестами.
524 2345093
ПЕРЕКАТ >>2345092 (OP) ПЕРЕКАТ >>2345092 (OP) ПЕРЕКАТ >>2345092 (OP)
525 2345105
>>44940
Зачем юзеру нужна причина ошибки?
Тред утонул или удален.
Это копия, сохраненная 6 августа 2022 года.

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

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