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

Ответить в тред Ответить в тред
Check this out!
JS Thread #208 /js/ Аноним 03/04/21 Суб 10:26:28 19846111
image 56Кб, 1050x1050
1050x1050
Предыдущий тред: >>1975601 (OP)
Больше пары строк кода в посте или на скриншоте ведут в ад.

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

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

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Старая паста - https://pastebin.com/9yRADC0s
Аноним 03/04/21 Суб 11:37:59 19846332
Играюсь с TS, есть функция:

function mkSorter<T extends { [key: string]: unknown }>(prop: keyof T) {
return (a: T, b: T) => a[prop] - b[prop];
}

Как сделать, чтобы можно было передать только такой prop, при котором prop: keyof T и еще T[K]: number

Чтобы использовать вот так:

>type SomeObjectType = {
number: number;
alsoNumber: number;
string: string;
anotherString: string;
bool: boolean;
};

const columns: ColumnsType<SomeObjectType> = [
{
title: 'Also number',
dataIndex: 'alsoNumber',
sorter: mkSorter<SomeObjectType>('alsoNumber'),
defaultSortOrder: 'descend',
},
];

И никакие значения, кроме 'number' и 'alsoNumber', нельзя было передать.

текущий нерабочий вариант — https://www.typescriptlang.org/play?#code/GYVwdgxgLglg9mABAWwNYGU4CcoFMsA8AKorgB55gAmAzogN6IDaquAngFyI1RYxgBzALpdwqMHADuSAL4A+ABQAHLHCVdWbOMEREAlAwBQiRFlxQQWJAoCGXIgBpEAI3sGAvHMQ2mKtUMQAWhdfVSUhAG5DGUNDKDYlXERMZFwAeWcAK1xoIgSk9yMTMBBkZ3wuErL8KJMbABsaOAA5UvKsSraa425efgEuHj5BWu8JKAALfHQ+wUHZgVHnODh6rmXV3BswKJkowwgEHkRD+tKwGi4AYVXzmjzEghT0rJyoB9wvQqYe+h6TWBQeq4LgAcgAgo04Igqu1QQ5-ogqDYoDYAJLUchghpNVrVLDwxFNHAVFAYbB4QjPDLZXL5RSgnEtLoEvQIkwmKi4YA2ED1KCYHBpLBcjqIUFcmgQXDUQkmGQIyJAA
Аноним 03/04/21 Суб 12:30:18 19846613
>>1984633
>И никакие значения, кроме 'number' и 'alsoNumber', нельзя было передать.
if (!Number(x)) {
throw new error("only numbers allowed")
}
Не благодари.
Аноним 03/04/21 Суб 13:34:01 19847034
Посоны, насколько в 2021 году актуальны генераторы? На собесе про них спросили и я кроме синтаксиса не смог ничего рассказать. Так и сказал, что хз когда это говно вообще может быть нужно. Сейчас стал искать use cases и там рили совсем треш. То есть все тоже самое можно сделать в разы проще, ну разве что в redux sagas используются.
Аноним 03/04/21 Суб 13:39:59 19847135
>>1984633
https://www.typescriptlang.org/play?#code/C4TwDgpgBAcgrgWwgJwJYGMDSEQGcA8AKgHxQC8UA3lANoAKUqAdlANY4D2AZlIQLoAuXvT5QIAD2AQmAE1xQmiAEYooAfigMhTCADdVAXxrsQ3XnwBQoSLEQoMAMVQQANnKKkK1eoxbwkaFg4BCSCCsqGFhZccEzowKgcLAisAMocyFLIRAA0sGKS0nK2AY7ObiGeJfboTq7uJMQAFGDIHGBCJmYwAJRUFlBQyBDAcMgsTQCGQoRQAGSweUoz87B9ZKSTNK3togC0UErbbWB8ANwWBlHW0OlIAPJKAFYQ8YTg0F4D4QgqyNoRZAXQaTFy4Dj+P4A34oYFQXDANBMADmQgRSORcMmTA4wAAFihUojmKj4cSUXClBwOC4hFSaRBsRcDBcLOgkgioOyXIgmLghABhGm83DvSD4O4QR4vN4fKo0b6Ub6DBLAFwQIQAcgAgmCOD8-pqcsqoDJJsBJgBJWQSLWg8GQlBGk3gzIoIQpdJu7KS6WvYBiiDNTWKGHITU9Y2DQYyCBcSZwFzAL3Ae7IWP-KCa2O4dBFZ2DAzG85AA
Аноним 03/04/21 Суб 13:47:35 19847226
>>1984703
Генераторы пользовали до промисов для ассинхронщины. Ещё ими можно итераторы описывать, но это уж совсем нишевый юзкейс, так как для единичного случая итерации по неитерируемой конструкции проще `for` луп ебануть и запихнуть его в явную функцию.
Аноним 03/04/21 Суб 14:23:52 19847497
data.jpg 84Кб, 1357x559
1357x559
Как выдернуть данные из полей пустых вот этих? Они у меня contenteditable. Чтобы отредактировать на контроллере.
Аноним 03/04/21 Суб 14:35:55 19847538
>>1984713
О, я тоже пытался анону так решить, почему обязательно писать T & N в типах к параметрам функции, которую сортер возвращает? Почему при просто a: T вылетает ошибка "can't use type keyof N to index T", если N это очевидно часть N?
Аноним 03/04/21 Суб 14:48:26 19847599
Аноним 03/04/21 Суб 14:49:43 198476210
>>1984713
И почему всё внезапно ломается, если записать NumericFields короче, через mapped types штуку?
https://www.typescriptlang.org/play?#code/PTAEBcE8AcFNQHIFcC2sBOBLAxgaVpAM4A8AKgHygC8oA3qANoAKomAdqANYED2AZqFIBdAFyDmQ0LAAe4WGwAmhUG1QAjDKAD8oFmLawAbpoC+DbpH6ChAKChxEqDDgBimWABslZSjVo3QQMYWdi5eAVJQAENlUgkpWXklFXVNHT0VIwxRcSYhAG4bExsSviQ2bHBMHg4UTgBlHnQ5dDIAGkQEuUVlZDQsbDdPbwpqR37Xdy8SCnIACmh0HmgxCysEAEo6ANB0WHAkdA45qLFIgDJEDrUz0EvN6koohkXlyQBaUDUXpegCopK9ngjTQAHk1AArWCVUgweB+HaqFAadD6VLoQqBKIeQg8PootHIjCY0CEcBYNgAczEZIplJJUTYPHAAAsMPVyexqaTOVSSWoeDwPGIBULYIzCiZCjZsDUyaBZR5UGxCGIAMJC5WEWFwYgg2DgqEwuG+Rg7fxBCCYcAeWBiADkAEEcTwUkT0Pa2jtAgoouAogBJRQyB3Y3H4jCe72kpotMR1RrNDB6nhgyHQ8A62Dze1IlH2jZey0KWB8KJIDzgRPgUHoEuo0D2kuEbBJKOBExegpAA
Аноним 03/04/21 Суб 14:50:01 198476311
>>1984749
<td>
<form th:action="@{edit}" method="post">
<input type="hidden" name="id" th:value="${item.getId()}" />
<input type="hidden" name="name" />
<input type="hidden" name="lastname" />
<input type="hidden" name="age" />
<input type="submit" value="Edit" class="btn btn-danger" />
</form>
</td>
Я вот если нажимаю на кнопку поле стирается, кроме возраста, значит хтмл понимает куда я нажал, но данные из формы в дебаггере пустые, нет ни нейма ни сонейма.
Аноним 03/04/21 Суб 14:51:51 198476412
Аноним 03/04/21 Суб 15:05:55 198478013
>>1984753
Там нужно N, потому что prop: keyof N, и нельзя чужими ключами обращаться к объекту. Можно просто a: N, но фактически там T & N.
NumericKeys возвращает string union, и видимо тут теряется свзять между T и N которой никогда не было

>>1984762
Там возвращаемый тип надо number, потому что T[P] это видимо хуй пойми что
Аноним 03/04/21 Суб 15:49:55 198483914
Аноним 03/04/21 Суб 17:26:09 198492715
>>1984713
Офигеть, спасибо, я всю голову сломал!
Аноним 03/04/21 Суб 17:30:52 198493016
>>1984661
это ран-тайм, а не компайл-тайм
Аноним 03/04/21 Суб 17:52:55 198493917
>>1984713
Жаль только, автокомплит нужные значения ключей не подсказывает, но это, наверное, уже нереально
Аноним 03/04/21 Суб 18:27:53 198496118
>>1984713
И еще: где про это конструкцию прочитать можно (синтаксис, как называется, доку)?

>{...} [keyof T] в NumericKeys
Аноним 03/04/21 Суб 19:58:30 198499819
>>1984961
https://www.typescriptlang.org/docs/handbook/2/indexed-access-types.html

>>1984939
https://www.typescriptlang.org/play?#code/C4TwDgpgBAyg9gWwgeQEYCsIGNgBVzQC8UA3gFBRQB2ArgqhAE4Bc1dDjA3BVAIYA2AZzgA5dk1a16TbpUHBGASyoBzVvKWrZfKnGAALJjAXK1UDae2o4cfq2u2IvKtwC+3MqEhQxSJVgBpCBBBAB5cAD4oYhIoAG0ABShlKABrYLgAMyhcAF1WXETcqAgAD2AIKgATQTZpRigAfigkyQgANyYoVzj0kCyc3M8CHzomRSwAMUUIfhrwqJj4pJTfccDgsMj8uo5usjIAegAqKEAmEChAfhBAARBAPhBACRBAbhBAaRBAURAoQEEQQFYQa8AOEEB5EHex0OB0yNCoOEUcCoUAQqXgjAqjAAjOEADQ+ErlSo1UZ+CbTWbzSLRPHrQlzLYRDEBLEVaq1PoDESkpnZEQRAAUYEYcDArACAEpSDxGBBgDRGDDObwClAAGQ+DGoOWKkTCwhRXhxHl84oAWigqB1vLAuTcBzhCKRqPgSDQmBw+EgXIA5AJhL4OK7BUdDlAAALAQT6sqQHChxi8xhkK1wRFMW2IFAYbB4Ahu5x6QyMYyaFQ+v2B4Oh0rh4CR6Ox+Hxm2hO0px3pl2c10ARwA7hBC0dToAhEC+lx+gBkQT5QQAMIGc+7dAFwgt0APCCXR6-afzqDA0HgyHQ2E1hOMABMC05wvIlDFEqlUDBEOAUJhoRZZXpuLW-gpxOpUFpz5xjIy7Jcrq-LfqePDnuKkrSrKSpGqw6rRFqJp6lAhrGsBQyUK4ZDYdW1pMEeDYOmmzoQFygqth6ojiIwhaHP6QYhmGaaVvGeG1gR9bJsRToZielG6AYRgmKodEMSWzERkwVZxvuhHcamvEthR7Zdj2JxQIA4iDTlAgC8IOOnzjvOC5QIALCBfI8Xx6eOpm3FAgCMIM8jx2R85mPOOfajhuZA3tuMLAceYEQZeMK+XeO6hD+2IMmkAE5FyVC8EgApBZQUAXlB15buF0pwBgBSpWl6WQVeeXoHEiVIJhaXYVhOGbre967m+Ez4Ywx59DAsxpvGrCcqUBWIbsTCpRlV5hU1-UFBiICDWeaVjTCnXdTg8b9cKhrLfwPWMJyIC+nVuFwi1WBtdyppcfainNmR-HukI1H1D6vrHWM-hnQFJ0fmERHXaRETkZRD1ekwz0HBp2l2fphnGWublWfptkOU5LluR5o4HuuIJkJVECCGAvBYNA8ZVCKlBhrWyRUEimSE9AyCMFUoQAIJRPNlBYIgBNilNUDMzNrDM4Kkg0TwuHk2WlMTTu-DACzXLIKwDNM6zhXFSFWWNTuvP81As182rwWZcgAB0nMINzED9TNwqhFAAAM4H7HVPAU4imt+VAnPU4wvAALK8GAoQAEIYqznKZH1+vBxqURC2TC0laF2WTYrUDK-Lwvp4zIds07RtXuzRVe1zvA86UNsJ8Xica6b5uWxH60Ypke2Cgd1fO8XtU1WLBwS2AlPe-IUAkyDLDZ0zUgcIsVclxbZdWxXeuG+rmWlKhetO932G4UPwAj4zwcgMzwM0VAGkZ79Tb-Vj0Q8CTZvQgo-uB5yvNXyRBCx1ApQm1RY8UQfqPGivoiyMVLOWViMYH7e2fgHMA50+SXUbJ-ZSAlszCXzM9TkQDGYALIEAA
Аноним 03/04/21 Суб 20:57:40 198504020
image.png 7Кб, 419x251
419x251
>>1984611 (OP)
Использую nodejs чтобы заделать кое-какой курсовик. Надо отправлять различные shell-команды и читать их stdout. Нашел решение как на пикриле при помощи либы child_process
Однако вывод stdout неверно воспринимает русскую кодировку и высирает всякую херь, как пофиксить?

И да, то ли я вообще использую? Мне надо команду ping несколько сотен раз прогнать и результат распарсить, может есть какие-то другие более полезные либы?
Аноним 03/04/21 Суб 21:11:23 198505821
>>1985040
Документация читать пробовал?
Аноним 03/04/21 Суб 21:18:35 198506422
>>1985058
Какую "документацию"? Я о выборе либы в первую очередь спрашиваю
Аноним 03/04/21 Суб 21:36:15 198508023
Бля, пишу редюсеры без редукса (на реакте).
Один из редюсеров у меня получает экшон на апдейт кое-какой хуйни, при этом он посылает кое-что на сервер, как это правильно делать? Типо вернуть стейт, а потом запрос на сервер или что? Или так:
case 'component/send_data':
return {
fetch blahblahblah
}
Но редюсеры должны возвращать стейт, не?
Аноним 03/04/21 Суб 21:48:26 198509524
>>1985064
Какой либы, долбоеб? ты используешь встроенное API ноды.

>Какую "документацию"?
Чтобы не задаваться вопросом, почему у тебя кириллица не распознается.

Аноним 03/04/21 Суб 21:53:55 198510625
>>1984998
Да вы фп-мастер! Очень здорово и круто, еще раз спасибо.
Аноним 03/04/21 Суб 22:04:04 198511226
>>1984749
ссылку бы на песочницу дал, воспроизводить самому неохота
Аноним 03/04/21 Суб 22:08:15 198511627
>>1985112
>ссылку бы на песочницу дал
А что это и как сделать?
Аноним 03/04/21 Суб 22:09:29 198511828
image.png 205Кб, 1042x1738
1042x1738
Аноним 03/04/21 Суб 22:14:59 198512229
Аноним 03/04/21 Суб 22:27:26 198513230
изображение.png 6Кб, 1334x173
1334x173
Сап, аноны, в моей шараге проводиться конкурс на создания иллюстрированной текстовой игре на JavaScript. Вопрос вот в чем, возможно ли написать код за два дня, не зная ничего? Или не стоит в этом участвовать? Решил участвовать из-за того что закрывают предметы, а мне бы очень это надо было.
Заранее благодарю за ответ.
Аноним 03/04/21 Суб 22:46:57 198513831
Аноним 03/04/21 Суб 23:38:05 198518532
>>1985122
Так у тебя на Vue или нет?
Аноним 04/04/21 Вск 00:14:35 198521733
>>1984998
Единственное, в варианте "что на самом деле надо было сделать" не получается включить свойство, если оно optional, например, alsoNumber?: number
Аноним 04/04/21 Вск 00:30:16 198522734
>>1985217
Все верно, mkSorter умеет только в number, optional - это number | undefined. Можно научить mkSorter работать с undefined, тогда должно заработать
Аноним 04/04/21 Вск 00:44:42 198523935
Могу я как-то принудительно завершить скрипт на ноде с некоторым определенным exit-кодом?
В пистоне сделал бы это:
exit(1) # завершает прогу с кодом 1
Аноним 04/04/21 Вск 01:24:44 198526336
Аноним 04/04/21 Вск 02:15:29 198529837
1000$ Нормальная минималка для реакто джуна посоны?
Или просить 1200?
Аноним 04/04/21 Вск 03:06:21 198532138
>>1985239
Можешь гуглом пользоваться научиться, например. Пиздец какой полезный скилл.
Аноним 04/04/21 Вск 08:46:35 198537539
>>1985185
Нет, контроллер на спринге, а страничка thymeleaf + html + наверное какой-то pure js должен быть, как мне кажется
Аноним 04/04/21 Вск 11:54:20 198547940
Сап экспертам Angular-a (TS) есть такая проблема - формочка CRUD-a с 2 кнопочками в каждой и rows, columns - actions (edit, delete). Еще отдельно есть кнопочка Add - с ней все просто, тыкнул, вывались новая форма, заполнил. Моя проблема в том, что на 3 функции должна быть одна страница - как Add/Edit/Delete.
Как я уже понял, в компонент нужно прокидывать action и data (что мы делаем с формой и в случае с Edit, Delete - сами поля объекта). Внимание вопрос - как блять прокинуть данные в другой компонент?
Пол дня проебался, читал про какие то Child-parent, interceptors - какая то мудренная хуйня. В итоге реализовал через rxjs, на сколько это зашкварно? Т.е. у меня нет прямого общения между компонентами, есть global state, в который прокидывается Data/action/message и в зависимости от них происходят действия в компонентах, потом они выпиливаются OnDestroy. Все работает, все заебись (ну как работает, F5 нажал, данные смыло от OnDestroy), но этот GlobalState раздувается и меня это напрягает.
Как я понял с Child-Parent - они должны быть в одном окне. Мне это нахуй не нужно, т.к. компоненты с разным Routing-ом.
Если кто наведет на путь праведный - буду очень благодарен
Аноним 04/04/21 Вск 11:58:14 198548441
>>1985479
>как блять прокинуть данные в другой компонент
Гугли Input, Output
В частности EventEmitter
Аноним 04/04/21 Вск 12:04:32 198548942
>>1985484
Я вчера все 4 способа пробовал - Child-parent, input-outpul, emmiter, через Rxjs все заработало.
Моя проблема в том, что мне нужно именно Data из одного компонента передавать в другой, без селекторов и прочей хуйни, т.е. html никак не должен знать об этой передаче
Аноним 04/04/21 Вск 12:09:23 198549643
>>1985489
Ну ты хоть нарисуй как у тебя компоненты то рендерятся. На одной странице или на разных там.

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

>реализовал через rxjs
это библиотека с утилитами, чего ты там реализовал через него?

>думает что OnDestroy вызывается при F5
хаха

>ни слова про сервисы
иди еще почитай, ты не готов
Аноним 04/04/21 Вск 12:17:07 198550244
>>1985496
OnDestroy
A lifecycle hook that is called when a directive, pipe, or service is destroyed. Use for any custom cleanup that needs to occur when the instance is destroyed.
Я на компонент вешаю OnDestroy, F5 делает ререндеринг страницы и по сути создает новую.
>это библиотека с утилитами, чего ты там реализовал через него?
свой TransferService - создаю BehaviorSubject и прокидываю в него то, что нужно передать
>Ну ты хоть нарисуй как у тебя компоненты то рендерятся. На одной странице или на разных там.
я писал выше - на разных страницах. Я все примеры, которые увидел в интернетах, они вложенные друг в друга, т.е. из дочернего вызывается родительский и наоборот. Мне это нахуй не нужно. У меня 2 компонента под разным Routing
Аноним 04/04/21 Вск 12:23:39 198550945
>>1985502
забыл добавить, что у меня в OnDestroy метод, который из Rxfs удаляет все негодные поля. Костыль на костыле короче. Но я не люблю писать хуйню, поэтому пришел сюда за помощью
Аноним 04/04/21 Вск 12:44:34 198553546
image.png 28Кб, 803x304
803x304
>>1985502
>на компонент вешаю OnDestroy, F5 делает ререндеринг страницы
хуйню как ту делаешь, ну да ладно

>свой TransferService
все правильно кроме названия, он так называется потому что ты данные передаешь?)))
Аноним 04/04/21 Вск 13:11:13 198556147
>>1985535
https://stackblitz.com/edit/angular-display-code-snippets-in-html-page-jppfwb
Я поудалял все, что не нужное. После F5 происходит flush (в OnDestroy метод, который удаляет все поля из моего dataService).
Но меня больше волнует другое - правильный ли это подход? Т.е. по сути мои страницы Component-AddEditComponent - они как бы parent и Child, но блять они в разных раутах. Да, в Component тригерится событие на изменение и ничего больше.
Так что, есть способ передачи данных между компонентами, которые не содержат друг друга или rxjs пойдет? Меня смущают раздувающееся кол-во методов для разных ситуаций - сейчас это 3 (message, data(user) и flush (удаление message, user). Правильнее бы было делать передачу между самимо компонентами, а не через отдельную службу, но я хуй знает, как это сделать не вкладывая html-льки друг в друга
Аноним 04/04/21 Вск 13:42:36 198560748
Аноним 04/04/21 Вск 14:08:37 198562049
>>1984998
О, фп-тсник в треде. Моё увожение.
Аноним 04/04/21 Вск 14:09:15 198562350
>>1985138
Спасибо, анон, знал что тут помогут.
Аноним 04/04/21 Вск 15:29:59 198570451
Mobx
Аноним 04/04/21 Вск 16:06:36 198577052
>>1985479
если хочешь сытно поебаться, но чтоб всё было по канону - можешь погуглить в сторону ngrx.
имхо, самая богоугодная имплементация redux (который, де-факто, стандарт стейт-менеджмента в мире фронта) под ангуляр. куча человекочитаемых статей на медиуме в помощь.

бтв, не вкурил, при чём здесь F5 и OnDestroy. последний вызывается на анмаунтинге компонента, а обновление страницы в любом случае выгрузит всё твоё приложение. это крч как сначала прибраться в хате, а потом спалить её.
Аноним 04/04/21 Вск 16:23:34 198580253
>>1985607
спасибо, поправил у себя, но все равно проблему не решил - у тебя все проще, мне приходится стейт затирать, т.к. юзверь может прописать в адресной строке редирект и у него останутся те же данные
>>1985770
>при чём здесь F5 и OnDestroy.
Мне нужно подсчисчать данные со стейта каждый раз, как страница закрывается, но не чистить, тогда она обновляется.
Я не силен во фронте, я вообще бэкендер, но эти переходы к фулстеку заставляют меня совокуплся с ангуляром и TS (почему блять нельзя создать класс через new, если в нем нет конструктора? что это блять за магия? Разве у классов нет базового конструктора?)
Аноним 04/04/21 Вск 16:28:52 198580654
Argument of type 'FC<{}>' is not assignable to parameter of type 'Context<{ state: any; dispatch: any; }>'.
Type 'FunctionComponent<{}>' is missing the following properties from type 'Context<{ state: any; dispatch: any; }>': Provider, Consumer

Кусок кода, где эта хуйня всплывает:
const Component: React.FC = (): JSX.Element => {
const {state, dispatch} = useContext(Context);
return (
<div></div>
)
}

Кто-нибудь сможет угадать хуле ему надо? Где я обосрался?
Аноним 04/04/21 Вск 16:33:10 198581055
>>1985802
> но не чистить, тогда она обновляется
но ведь у тебя приложение заново грузится, если ты страницу обновляешь @___@
если тебе нужно именно на фронте хранить данные после закрытия приложения (т.е. и, в частности, после перезагрузки страницы), то у тебя два стула - либо хранить в куках, либо в localStorage.
прост мне кажется не очень правильным для обработки закрытия страницы юзать OnDestroy, он не совсем для этого. можешь погуглить unload-эвент, он как раз позволяет выполнить коллбэк перед закрытием/обновлением вкладки.

про new и конструкторы - ты пытаешься проецировать опыт работы с бэком на фронт) жабоскрипт - не ООП-язык в классическом его понимании. здесь даже наследования нет - здесь прототипирование. а те же new и extends лишь синтаксический сахар поверх этого самого прототипирования (который не так давно появился).
Аноним 04/04/21 Вск 16:53:06 198582556
Объясните один момент. Сделал я учебное приложение на реакте. Оно делает запрос к API, получает данные и отрисовывает их. Но при этом грузится медленно. Отчего так? Это из-за тяжеловесности реакта? Как тогда работают большие приложения если даже маленькое так тормозит?
Аноним 04/04/21 Вск 16:55:51 198582857
Аноним 04/04/21 Вск 16:58:35 198583458
>>1985825
как тебе отвечать должны, не увидев кода?
да и хз, где ты в реакте тяжеловесность увидел
Аноним 04/04/21 Вск 17:17:53 198588359
>>1985834
Код самый обычный. Без редакса и прочего. Просто запрос в базу данных фильмов и отрисовка на странице. Но отрисовывается за раз много фильмов.
Аноним 04/04/21 Вск 17:36:43 198590960
>>1985883
Performance вкладка в хроме позволяет смотреть какие функции вызываются и сколько времени занимают. Реакт сам по себе не медленный - медленные апдейты DOM'а которые получаются когда использовать реакт неправильно.
Аноним 04/04/21 Вск 18:33:06 198594961
>>1985883
Что такое "обычный" код? Может, ты там херни наворотил с эффектами, мы же не экстрасенсы.
Аноним 04/04/21 Вск 18:47:47 198595862
>>1985883
Будто редакс это что-то необычное. Редакс еще "обычней" чем сам реакт, это просто набор чистых функций.
Аноним 04/04/21 Вск 19:23:39 198597863
Сорри за нубский вопрос. Когда в электроне редирект с одного урла в другой идет, как его отловить? Мне часть урла нужно получить.
Аноним 04/04/21 Вск 19:25:59 198598264
>>1985806
Бамп. Это пизда нахуй, в гугле ни единого слова про эту хуйню. У меня даже блять в голове примерно не складывается, что я сделал не так нахуй.
createContext получил свой ебаный тип в дженерик, как он и хотел. value провайдера полностью соответствует типу дженерика в контексте.
Что это вообще блять за ошибка такая? Функция с дженериком пустого объекта не может быть присвоена контексту<{state, dispatch}>. Это пиздец туманная ошибка, мягко говоря. Если бы там было написано: "чет не работает >пук". Было бы раз в 10 понятнее.
Что я точно выяснил: этой хуйне не нравится константа, к которой прихуячен createСontext. По какой-то блять неведомой причине:
export const сontext = React.createContext<Partial<ContextType>>({}) это триггерит тайпскрипт. Вернее попытка использовать это в компоненте, когда получаю контекст.
При этом на стэковерфлоу 0 инфы. Вообще везде 0 инфы, будто бы я первый человек на планете, который эту ошибку видит. Я даже не могу отдаленно предположить, что не так. Кто-нибудь с этим сталкивался?
Аноним 04/04/21 Вск 20:35:43 198603265
изображение.png 19Кб, 829x966
829x966
Сап, жс, такое проблема встала (пик), сам я еще очень и очень зеленый, очень надеюсь на вашу помощь, скрин с codesandbox.
Зарания благодарю за ответ.
Аноним 04/04/21 Вск 20:36:08 198603466
изображение.png 19Кб, 829x966
829x966
Сап, жс, такое проблема встала (пик), сам я еще очень и очень зеленый, очень надеюсь на вашу помощь, скрин с codesandbox.
Зарание благодарю за ответ.
Аноним 04/04/21 Вск 20:36:56 198603567
Аноним 04/04/21 Вск 20:58:56 198604368
>>1986032
ну похоже что то с рекурсией
Аноним 04/04/21 Вск 21:04:15 198604569
>>1986043
Я знаю, я ее не смог решить, поэтому и обратился за помошью сюда.
Аноним 04/04/21 Вск 21:04:42 198604670
>>1986045
помощью

быстрофикс
Аноним 04/04/21 Вск 21:09:44 198604971
>>1986045
и как тебе помогать будут по одному стектрейсу?
код бы хоть скопипастил, конкретно на котором оно падает
Аноним 04/04/21 Вск 21:18:52 198605872
>>1986049
Падает в самом начале на export const otomeGame =
Аноним 04/04/21 Вск 21:19:27 198606173
>>1986049
>>1986058
Дальше идет текст с картинками, больше ничего.
Аноним 04/04/21 Вск 21:38:49 198607974
Аноним 04/04/21 Вск 22:16:26 198610375
Стоит оформлять вкат в жаву если время на обучение будет только 2 дня в неделю?
Аноним 04/04/21 Вск 22:28:25 198610776
Аноним 04/04/21 Вск 22:34:28 198611377
Mobx
Аноним 04/04/21 Вск 22:38:32 198611678
>>1986103
Если только два - то лучше в жаваскрипт
Аноним 04/04/21 Вск 23:25:08 198616479
image.png 23Кб, 624x367
624x367
Какие же жсеры дегенераты, даже 2 числа уже не могут сложить без либки.
Аноним 04/04/21 Вск 23:27:52 198616580
>>1986164
Интересно что createMathOperation делает
Аноним 04/04/21 Вск 23:30:50 198616781
image.png 58Кб, 638x793
638x793
Аноним 05/04/21 Пнд 07:11:12 198627982
>>1986164
>>1986167
Видимо для пришибленных функциональщиной.
Аноним 05/04/21 Пнд 09:35:54 198630283
Аноним 05/04/21 Пнд 10:46:18 198632184
>>1984749
бамп. это реально сложная задача, да?
Аноним 05/04/21 Пнд 11:10:14 198633985
Аноним 05/04/21 Пнд 11:15:36 198634286
>>1986339
там одной, двух строк кода не хватает
Аноним 05/04/21 Пнд 11:17:34 198634787
Поясните ньюфагу: хочу, чтобы переменная принимала от пользователя только 3 определённых текстовых значения через prompt. объявил их как константы, создал цикл, который не должен прерваться, пока не получит одно из них

while(size != a || size != b || size != c ) {
size = prompt()
}

Но этот цикл бесконечно требует от меня ввода. Добавил даже ещё одно ИЛИ с обычным числом, чтобы цикл тупо отъебался от меня, но он и его не принимает. ЧЯДНТ?
Аноним 05/04/21 Пнд 11:20:10 198635288
>>1986342
Ну раз одной-двух, то вот тебе решение, а там ебись как хочешь:
присваиваешь каждому полю ввода ID и перебираешь на предмет "", undefined, null.
Аноним 05/04/21 Пнд 11:41:05 198637689
>>1986302
>Он орет потому что у объекта нет типа полей state и диспатч
Падажди ебана. Я же <Partial> там поставил. Это же значит, что при инициализации всех свойств может и не быть не?
Аноним 05/04/21 Пнд 11:43:27 198637890
>>1986347
Рискну предположить, что модальное окно выплёвывает в переменную size значение типа string, в то время как a \b \ c - целые числа.

Хотя = и == должны преобразовывать разные типы, чтобы можно было сравнить жопу с пальцем.

Попробуй применить parseint() к size.
Аноним 05/04/21 Пнд 11:49:46 198638491
>>1986378
Не,
const mb = 'Мб'

Я даже в условие пробовал просто строковое значение помещать, без объявления констант.
Аноним 05/04/21 Пнд 12:19:07 198640592
>>1986384
Избавься от множественных условий в while.
А в нутри цикла используй if.

while (! correctAnswer) {
size = prompt() ;
if (size == a || size == b || size == c) {
correctAnswer = true;
}

Ну ты понел. Жпг
}
Аноним 05/04/21 Пнд 12:27:47 198641593
>>1986405
Дякую. Так работает. Это учебное задание, меня скорее интересует не готовое решение, а знание, почему мой вариант не работает.
Аноним 05/04/21 Пнд 12:36:37 198641994
>>1986415
В кратце: для выхода выполниться в петле должны все условия. OR не оставляет на это шансов.

Надо более подробней - в гугол.
Аноним 05/04/21 Пнд 12:42:43 198642895
>>1986419
Чая вам, уважаемый, и кошко-жену.
Аноним 05/04/21 Пнд 12:45:59 198643396
>>1986376
Короче нет, что-то тут не то. Это, наверное, какой-то баг, тут что-то пиздец не чисто.
export const Сontext = React.createContext<Partial<ContextType>>({})
Тип у Context здесь React.Context<Parial<ContextType>>. Но тайпскрипт думает, что тип Context это FC<{}>. Из-за этого ошибка.
То что там стейт и диспатч any, это все хуйня. Я уже это пофиксил, ошибка та же самая осталась:
Argument of type 'FC<{}>' is not assignable to parameter of type 'Context<ContextType>'.
Type 'FunctionComponent<{}>' is missing the following properties from type 'Context<ContextType>': Provider, Consumer

Вопрос сводится к: какого хуя тайпскрипт вместо типа React.Context<Parial<ContextType>> видит тип: FunctionComponent<{}>. Хотя vscode прекрасно видит, что это на самом деле React.Context<Parial<ContextType>>.
А если убрать из App: React.FC = (): JSX.Element тип App React.FC, чтобы осталось: App = (): JSX.Element. То ТС начинает вместо FC<{}> в ошибку подставлять () => Element. То есть какого-то хуя у контекста, который был объявлен до компонента, вместо собственного типа тайпскрипт видит тип компонента, в файле которого он объявлен. Вот это и есть проблема. Почему так нахуй?
Аноним 05/04/21 Пнд 13:41:21 198648797
>>1986433
Reproducible example сделай, ты наверное где нибудь return забыл, лол
Аноним 05/04/21 Пнд 14:02:28 198651298
Кто шарит, что надо написать в вебпаке, чтобы мой .pug в дисте превращался в html? С помощью html-webpack-pug-plugin
Аноним 05/04/21 Пнд 14:02:37 198651499
Антош, поясни пожалуйста, с чем связан хейт фронтенда? Сам изучая пол года, от верстки бугурта особо нету, джс по Кантору сейчас допрохожу, потом наверное буду Ангуляр осваивать. Почему люди с других напрпвлений it так хейтят фронтенд?
Аноним 05/04/21 Пнд 14:03:02 1986516100
Аноним 05/04/21 Пнд 14:10:22 1986529101
>>1986512
Паг-лоадер поставь.
Аноним 05/04/21 Пнд 14:11:38 1986530102
Аноним 05/04/21 Пнд 14:14:21 1986532103
>>1986529
а ты уверен, что он нужен вместе с html-webpack-pug-plugin или просто так сказал?
Аноним 05/04/21 Пнд 14:25:37 1986544104
>>1986514
>Почему люди с других напрпвлений it так хейтят фронтенд?
В основном бугуртят пердолики, которые див от нава отличить не могут.
>Сам изучая пол года, от верстки бугурта особо нету, джс по Кантору сейчас допрохожу, потом наверное буду Ангуляр осваивать.
Лол.
Аноним 05/04/21 Пнд 14:26:57 1986547105
>>1986532
Нахуй тебе html-webpack-pug-plugin?
Аноним 05/04/21 Пнд 14:34:00 1986551106
>>1986530
https://codesandbox.io/s/kind-swirles-q1ujc
Вот. Ошибка в компоненте Consumer. Ругается на PeopleContext.
Бтв, я с нуля все написал, это не копипаст, т.е. исключено, что я где-то опечатался в изначальном скрипте.
05/04/21 Пнд 15:04:57 1986577107
Аноним 05/04/21 Пнд 15:06:58 1986578108
>>1986547
нинаю) паг лоадер ошибку выдаёт
Аноним 05/04/21 Пнд 15:09:20 1986581109
>>1986514
- формошлепство
- перекладывание JSON-ов
- jQuery-лапша как основа архитектуры приложения
- ебля с CSS, много ебли
- некробраузеры типа IE
05/04/21 Пнд 15:12:18 1986585110
>>1986581
Мобильная разработка тоже формошлепство правда без ебли с CSS, но наверняка с другой еблей. Я к тому что в любом направлении есть своя ебля, разве не так?
Аноним 05/04/21 Пнд 15:21:22 1986594111
>>1986585
Любой фронт-энд это рутина. Нет никакой принципиальной разницы между мордами в браузере, на десктопе или нативных приложухах для смартфонов. Накидываешь виджеты, дрочишь КРУДы, вот и вся инженерия...
Аноним 05/04/21 Пнд 15:27:07 1986601112
>>1986514
Потому что это говно на самом уёбищном языке программирования из существующих, а его комьюнити - обожравшиеся сои куколды, которые делают одно говно за другим под действием волн хайпов.
>потом наверное буду Ангуляр осваивать.
Начинай с Реакта, поймешь хейт.
Аноним 05/04/21 Пнд 15:41:13 1986623113
>>1986514
Основа хейта - разница в пороге входа. Вот представь, учился себе Славик 4 года на "инженера-погромиста", потом месяц дрочился по собеседованиям и вертел деревья, чтобы его взяли в саммую донную гос шарагу за 30к писать драйвера для чайников на с++. Через пару лет он таки дорос до уровня мидла и получает свои 100к. В тоже самое время обычный вкатыш в реакт может без задней мысли через полгода-под пойти тысяч за 60-70 джуном, а еще через год апнуться до мидла и получать в два раза больше. Цифры для дс, если что.
Аноним 05/04/21 Пнд 15:58:21 1986646114
Посоны, подскажите плз, а каким образом в ts можно указать, что массив должен быть однородным? То есть он может содержать элементы любого типа, но только одного. Можно это без дженериков сделать?
Аноним 05/04/21 Пнд 16:44:59 1986699115
Как в электроне перехватить и отменить Alt-Tab?
Аноним 05/04/21 Пнд 17:09:07 1986730116
>>1986623
>обычный вкатыш в реакт может без задней мысли через полгода-под пойти тысяч за 60-70 джуном, а еще через год апнуться до мидла
Чудеса да и только
Аноним 05/04/21 Пнд 17:13:35 1986739117
Аноним 05/04/21 Пнд 17:17:41 1986747118
>>1986730
Так это рили так. По крайней мере я спустя год на 110 устроился. Правда это было в дс, на ангуляре, в максимально донное место с оформлением в серую и я для этого оч сильно жопу рвал.
Аноним 05/04/21 Пнд 17:45:55 1986796119
chrome-capture.webm 79Кб, 229x64, 00:00:03
229x64
Аноним 05/04/21 Пнд 18:01:38 1986821120
Аноним 05/04/21 Пнд 18:01:47 1986822121
>>1986796
Еб твою мать блять. Еб твою мать. Я 2 дня с этой хуйней ебался. Какого хуя я не увидел, что у меня там не дефолтный импорт. Пиздец. Я еще ту же самую хуйню второй раз переписал в этот онлайн редактор. Пизда нахуй. Как называется такая хуйня, когда ты ловишь адовые затупы просто блять на ровном месте. Пиздец нахуй. Да блять, теперь все стало на свои места. Под контекстом импортировался App, поэтому такая странная ошибка. Ебаный в рот.
Аноним 05/04/21 Пнд 18:14:09 1986843122
>>1986822
Ничего не поделать брух, так тупят абсолютно все. Чем лучше у тебя настроена ide, тем меньше такой вот тупизны будет случаться, но опять же до определенного предела
Аноним 05/04/21 Пнд 18:25:27 1986867123
>>1986822
>Как называется такая хуйня, когда ты ловишь адовые затупы просто блять на ровном месте
JAVASCRIPT
Аноним 05/04/21 Пнд 18:27:00 1986873124
>>1986867
шутка смешная, а ситуация страшная
Аноним 05/04/21 Пнд 18:29:08 1986881125
>>1986873
Да лан, надо просто никогда не использовать default exports, об этом уже 4 года все знают
Аноним 05/04/21 Пнд 18:46:44 1986915126
Аноним 05/04/21 Пнд 18:57:34 1986948127
>>1986915
type Dog = {name: string, age: number}
const russianCityStreets: Dogs[] = [{name: Bobeek, age: 5}, {name: Toozeek, age: 7}, ...]
Аноним 05/04/21 Пнд 18:58:02 1986949128
>>1986881
Кто знает? airbnb eslint говорит что предпочтительнее export default
Аноним 05/04/21 Пнд 19:09:43 1986964129
>>1986948
Не не не. Я другое имел ввиду. То есть чтобы
['foo', 'bar'], [1, 2, 3, 4], [true, false] проходило, а вот ['foo', 1] - нет. То есть только homogeneous массивы
Аноним 05/04/21 Пнд 19:14:07 1986969130
Аноним 05/04/21 Пнд 19:17:49 1986978131
>>1986964
кроме как через дженерики ты тут никак и не сделаешь. в конце концов, они для того и нужны
Аноним 05/04/21 Пнд 20:17:39 1987096132
Сколько не стыдно зарабатывать в 30 лет?
Аноним 05/04/21 Пнд 20:35:27 1987129133
>>1986601
Куколды это всякие крестовики/ГОшники. Плюс скоро майкрософт им сишников подкинет, когда убьёт линукс.
Аноним 05/04/21 Пнд 20:41:46 1987135134
Аноним 05/04/21 Пнд 20:47:54 1987150135
Аноним 05/04/21 Пнд 20:50:57 1987154136
>>1986949
Те, кто написал этот конфиг еслинта, уже там не работают, лол.
Аноним 05/04/21 Пнд 21:06:30 1987164137
Подкиньте идей для JS-проекта, без бекенда.
Аноним 05/04/21 Пнд 21:11:19 1987173138
>>1987129
>майкрософт убьёт линукс
Толсто
Аноним 05/04/21 Пнд 23:50:52 1987406139
Аноним 06/04/21 Втр 00:08:21 1987415140
https://learn.javascript.ru/call-apply-decorators
Объясните, неужели программисты и правда занимаются такими мудрёными вещами как вот тут в задачах? Или это все уже реализовано библиотеками и всем таким делается парой строчек кода? Есть ли профит максимально сильно задротить над пониманием и написанием на чистом JS таких вещей?
Аноним 06/04/21 Втр 00:15:14 1987426141
Null !==
Аноним 06/04/21 Втр 00:36:32 1987457142
>>1984611 (OP)
Как в Ноде обычно запускают задачи по CRON-у? setInterval для этого подходит или это васянство?
Аноним 06/04/21 Втр 00:38:29 1987458143
>>1984611 (OP)
Сап. Помогите, мне пожалуйста, с отладкой js скрипта на сайте. При нажатии на определённый элемент он должен срабатывать. Но он не срабатывает. Как его можно отладить? Каки есть инструменты в\для firefox? Я так смотрел по дебагеру, сам скрипт присуствует в ассоциациях сайта, то есть пути прописаны корректно, очевидно что ошибка где-то в коде, но как её найти. Какие инструменты использовать?
Аноним 06/04/21 Втр 00:42:04 1987465144
>>1987415
Все это уже написано. Но иногда, когда хочется повасянить, можно переизобрести свой дебоунс или меме декоратор
Аноним 06/04/21 Втр 00:43:39 1987466145
>>1987458
Проверяй, что подписываешься на события у нужного элемента
Аноним 06/04/21 Втр 00:45:43 1987468146
19345011.jpg 117Кб, 792x595
792x595
>>1987415
Сынуля, декораторы это основа основ
Мотай на ус, пока Папа добрый
Аноним 06/04/21 Втр 00:46:13 1987470147
>>1987457
>Как в Ноде обычно запускают задачи по CRON-у?
cron ом и запускают js скрипты. cron это не аббревиатура, а название линух программы. Читай man crontab
Аноним 06/04/21 Втр 00:46:44 1987473148
>>1987458
console.log('HERE')
console.log('THERE')

не благодари
Аноним 06/04/21 Втр 00:46:47 1987474149
Аноним 06/04/21 Втр 00:49:02 1987477150
>>1987470
Вот мне например надо организовать очистку кеша в Redis-е каждые 5 минут или флаш таблицы в БД каждые 6 часов. Это как ебашить? в петухоне например есть всякие приблуды вроде Celery которые позволяют в отдельных процессах работать с подобными долгими тасками, как в ноде это делать?
Аноним 06/04/21 Втр 00:50:26 1987480151
>>1987474
Зочем ядро винды будут совать в линух и эмулировать там линух api?
Аноним 06/04/21 Втр 00:56:31 1987486152
>>1987477
Ровно как пехепешнику. Для очередей есть очереди. Таски ставятся в очереди кроном по расписанию. Таски падают - ретраятся. Все как везде самый простой способ.
Аноним 06/04/21 Втр 01:01:43 1987489153
image.png 17Кб, 851x179
851x179
>>1987468
Я понимаю что это основа. Ну вот например такая задача, неужели необходимо сейчас писать весь этот мутный код, который получается у них в итоге? Или это делается одной строкой?

Просто в этом учебнике уже не раз встречаю примеры, где ты пишешь код, а через пару глав это делается в 1000 раз проще. Я понимаю, что хорошо знать основу, я ее и так учу. Вопрос лишь в том, как глубоко ее задротить.
Аноним 06/04/21 Втр 01:15:16 1987501154
1617664427688.jpeg 421Кб, 1200x1200
1200x1200
Я хочу задать вам вопрос. Как на странице реализовать свободное перемещение элементов? Допустим есть там 5 картинок и мне нужно, чтобы их можно было двигать мышкой, ну там на передний план, задний, вверх, вниз. Я даже не знаю как поисковой запрос по этой теме написать, поэтому тут спрашиваю. Подскажите пожалуйста.
Аноним 06/04/21 Втр 01:20:17 1987507155
>>1987480
Это ты уже потом будешь спрашивать, когда запихнут.
Аноним 06/04/21 Втр 01:21:52 1987509156
>>1987489
Ты слишком заморачиваешься над этими тасками, их от пизды пишут. Ну и плюс всё это в отрыве от html/css объясняется.
Аноним 06/04/21 Втр 01:22:41 1987510157
>>1987509
Фух, спасибо анончик, вот мне тоже чет так кажется, буду учить дальше.
Аноним 06/04/21 Втр 01:23:03 1987511158
>>1987501
Есть Drag'n'Drop api, вот с него и начинай.
Аноним 06/04/21 Втр 01:36:19 1987513159
Аноним 06/04/21 Втр 01:37:47 1987514160
>>1987509
Зато не от пизды будут на собесе спрашивать
Аноним 06/04/21 Втр 02:05:30 1987523161
>>1987514
Канторовские задачки тебе на собесах не помогут, а за код с них так и вообще погонят ссаными тряпками.
Аноним 06/04/21 Втр 02:07:57 1987525162
>>1987480
И кстати шиндошс уже свою прорпиетарщину в линух запихивает:
https://en.wikipedia.org/wiki/ExFAT
>Microsoft owns patents on several elements of its design.
>Linux (mainline kernel driver for kernels 5.4 and later and FUSE)
Аноним 06/04/21 Втр 02:16:26 1987527163
>>1987525
Все используют ext4 мань
Аноним 06/04/21 Втр 02:25:53 1987528164
>>1987527
Ну да, а патентованный майками несвободный код пусть лежит в ядре, он же не мешает.
Аноним 06/04/21 Втр 02:27:13 1987529165
>>1987527
Щаззз мода на xfs прёт. Прям вовсю. Софт в логи срёт, мол, что он будет лучше работать на xfs. На всяких сорнаноаниях в задачах упоминают xfs.>>1987527
Аноним 06/04/21 Втр 02:47:44 1987538166
Заясните за такой вопрос, ребят, (задавал, получил ответил, сейчас уточняю) -- изучаю webgl, понимаю, что пишут с помощью фреймворков всяких, но мне важно понимать, что под капотом творится, да и шейдеры, как оказалось, каефовая хуйня для написания. В общем, вопрос -- на каком уровне надо знать ванильный webgl (фреймворки хуйня, изучаться за пару недель), чтобы искать уже вакансию с технологией в проде? Есть мастхэв темы для изучения, или если куб смог нарисовать, то уже годишься?
Спасибо.
Аноним 06/04/21 Втр 02:48:37 1987540167
>>1987538
Сука, изучатся, телефон заменил
Аноним 06/04/21 Втр 08:53:28 1987628168
>>1987489
советую долго не заморачиваться над этими задачами
Аноним 06/04/21 Втр 11:02:56 1987688169
>>1987527
Уже btrfs давно везде по дефолту
Аноним 06/04/21 Втр 11:13:56 1987692170
>>1987164
Хаотическая форма:
- кнопки убегают от мыши
- поля для ввода случайно меняют свои места
- переходы по табу тоже случайные
- когда вводишь текст иногда вводятся не те символы которые юзер набирает на клавиатуре + вводятся лишние символы
- при сабмите форма начинает выебываться и предлагает заполнить себя заново
Аноним 06/04/21 Втр 12:23:04 1987732171
>>1987692
Типичный интернет магазин описал.
Аноним 06/04/21 Втр 12:24:57 1987733172
Аноним 06/04/21 Втр 12:36:46 1987744173
>>1987732
Это называется "что бывает, когда на разработку формы есть десять минут"
Аноним 06/04/21 Втр 12:38:22 1987745174
Как в реакте тригерить функцию дочернего компонента из родителя? Что за пиздец? Самый просто, но ебанутый как будто бы способ, это передавать како-нибудь булеан в дочерний компонент, который потом будет обрабатываться useEffect-ом, и каждый раз при его смене будет выполнять свои эффекты. Но почему в реакте нет ничего, что очевидно бы выполняло подобный функционал? Дочернему компоненту совершенно похуй ведь, что будет эту функцию триггерить? Он ведь все равно останется независимым? Почему это не сделано по дефолту? Реакт в данынй момент предлагает создать функцию наверху и потом её же отправлять вниз к дочерним, в то время, как эта самая функция только в дочернем компоненте и используется, её всего лишь тригернуть нужно. Я понимаю, что можно еще и рефами это сделать, но это похоже на забивание гвоздя атомной бомбой. Почему блядь реакт не предлагает никакого решения для этого по дефолту?
Аноним 06/04/21 Втр 12:40:56 1987747175
>>1987745
Ну и просто, чтобы на конкретном примере:
Есть компонент внутри которого отображаются разные вкладки при клике по кнопкам. И есть всего одна единственная кнопка снаружи, которая при клике будет переключать в дочернем компоненте одну единственную вкладку на одно единственное положение. Вот по сути, мне нужно всего лишь для одной этой кнопки вызывать одну единственную функцию в дочернем компоненте. Как это можно сделать?
Аноним 06/04/21 Втр 12:46:01 1987751176
>>1987745
Ну и самый пиздецовый вариант, когда тебе нужно тригернуть по клику в одном компоненте функцию в другом. Если они вообще не связаны между собой. Через стейт менеджер городить экшены для них на каждый пук?
Аноним 06/04/21 Втр 12:59:12 1987757177
>>1987751
>Если они вообще не связаны между собой.
Если они вообще не связаны, то зачем клику в одном компоненте что-то там вызывать у другого?
>Через стейт менеджер городить экшены для них на каждый пук?
Так в этом же вся ссуть редукса в частности и фп в целом. Настало время создавать экшоны, экшоны сами не создадутся.
Аноним 06/04/21 Втр 13:00:58 1987760178
>>1987747
>есть всего одна единственная кнопка снаружи
Стейт наверх подними, дочерение комоненты он еще теребить собрался
Аноним 06/04/21 Втр 13:47:17 1987802179
>>1987474
Я спокоен за свой анус потому что я спокойно юзаю все 3 оси и не вижу в этом ничего плохого.
Аноним 06/04/21 Втр 13:49:39 1987809180
Потратил год ПРОСТО ЗРЯ НАХУЙ.

За последние 4 месяца было 11 собеседований - везде отказ. На четырех из них завалили АЛГОРИТМАМИ. ЕБАНАТЫ, ЗАЧЕМ ВАМ АЛГОРИТМЫ В ВЕБЕ?! Конченные уебища! Мало им того, что я знаю js (react + немного redux), ts, adaptive, responsive, less, sass, препроцессоры, postcss.

Блядь, я мало работал с php и node.js, но какого ХУЯ Я КАК ФРОНТЕНДЕР ДОЛЖЕН ЭТО ЗНАТЬ, СУКА?! Я понимаю общие принципы, но я же не претендую на фуллстек, ебанные твари! Я джун! Я НАЧИНАЮЩИЙ, БЛЯДЬ. ОЧНИТЕСЬ, ВЫ СЕРИТЕ! Где-то вообще спрашивали базы данных. ВЫ ЕБАНУТЫЕ? ПОЧЕМУ Я ДОЛЖЕН ЭТО ЗНАТЬ ЗА 20 ТЫСЯЧ РУБЛЕЙ, ЕБАНАТЫ?

Сука, на одном собеседовании нас было трое вкатывальщиков. МАССОВЫЕ СОБЕСЕДОВАНИЯ ДОШЛИ ДО IT. Бляяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя. Моя жопаааааааааааааааааааааааааааааааааааааааааааааа.

Скрыл все резюме, больше во фронтенд пытаться не буду. Пошли вы на хуй со своим вебом. Место действия - ДС.
Аноним 06/04/21 Втр 13:53:02 1987815181
>>1987809
Ой, какой неудобный пост. Когда я года пол назад сюда закидывал плейлист Хирьяныча на 20+ видосов по алгоритмам на си после просмотра которых вы сможете в рот нассать любому техлиду калчеры в своей дефолтной манере меня обосрали. Ну терпите теперь, хули. Идите ещё пару-тройку книжек почитайте, может быть тогда повезёт нет.
Аноним 06/04/21 Втр 14:00:49 1987822182
>>1987815
>Хирьяныч
Оно? https://www.youtube.com/watch?v=MWsfHQaUzI0
Я конечно в ахуе, со всего что сейчас происходит, но и выбора нет. У России 3 пути, вебкам, * и айти. Так что ничего не поделаешь
Аноним 06/04/21 Втр 14:07:01 1987838183
Аноним 06/04/21 Втр 14:10:24 1987848184
268156ba728aa5c[...].jpg 11Кб, 236x286
236x286
14328731510500.jpg 68Кб, 745x559
745x559
>>1987809
Чел, ты просто конч.

Если так хотел туда попасть - почему не выловил начальника отдела IT любыми способами и не обрисовал свою ситуацию? Мол, в отделе кадров рубят на ровном месте, умею то-то и то-то, хочу к вам.
Что, язык в жопу втянулся, чмошник?

Поссал на тебя, может загоришься.

Аноним 06/04/21 Втр 14:18:58 1987865185
Аноним 06/04/21 Втр 14:23:30 1987871186
>>1987848
>вкатыш
>выловил начальника отдела IT
Просто и без задней мысли?
Ещё на коленочки не забыть встать и заныть НУ ВАЗЬМИИИТИ МИНЯЯЯ
Аноним 06/04/21 Втр 14:27:08 1987877187
>>1987865
В реакте никакого делегирования событий нет вообще, даже если ты сможешь его использовать, это будет абсолютным антипаттерном
Аноним 06/04/21 Втр 14:28:10 1987879188
>>1987871
Судя по твоему вскукареку, ты вобще отбитый наглухо.

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

Если ты подходишь - возьмёт.
Аноним 06/04/21 Втр 14:31:14 1987885189
>>1987877
Не увидел ворнингов, значит, лицокнига не против нативных жсовов
Аноним 06/04/21 Втр 14:31:47 1987887190
>>1987879
>Если так хотел туда попасть - почему не выловил начальника отдела IT любыми способами и не обрисовал свою ситуацию? Мол, в отделе кадров рубят на ровном месте, умею то-то и то-то, хочу к вам
Судя по твоему вскукареку, ты вобще отбитый наглухо.

>А что тут такого?
Ну да, это ведь не начальник отдела IT задал уровень требований, которым "в отделе кадров рубят на ровном месте". Царь хороший @ бояре плохие, класека.
Аноним 06/04/21 Втр 14:32:32 1987889191
>>1987879
Бля, я однажды собеседовался в одну гос. структуру напрямую связанную с армией. Мне и ещё 3 вкатышам со мной (2 из них были не резидентами кста, что странно) выдали пропуска, заставили через рамки проходить и все вещи в камере хранения оставить, да ещё и сопровождал нас один челик с карабином.
Аноним 06/04/21 Втр 14:38:18 1987895192
wtf.png 15Кб, 408x190
408x190
Аноним 06/04/21 Втр 14:39:30 1987896193
>>1987887
>Ну да, это ведь не начальник отдела IT задал уровень требований
Ясно, добоёб аз из.
Аноним 06/04/21 Втр 14:47:23 1987905194
>>1987885
Так ты можешь вообще в обход реакта рендерить данные. Вопрос только в том, нахуя тебе реакт
Аноним 06/04/21 Втр 14:58:27 1987917195
>>1987896
По существу есть что сказать?
"умею то-то и то-то, хочу к вам" - а ничего, что на техническом собеседовании уже спрашивают буквально это?
Поясни, как твоя хуйня должна работать.
Аноним 06/04/21 Втр 15:02:05 1987919196
>>1987415
это больше для того чтобы ты понимал что вообще код может делать, а васянить обертки самому редко придется.
Аноним 06/04/21 Втр 15:02:27 1987920197
Cannot invoke an object which is possibly 'undefined'.
Тип объекта обвялен с Partial. Я не придумал ничего лучше чем, сделать
if(object) {
blahblah
}
Но это выглядит по-уебански, потому что объект это не просто объект, а dispatch, который импортируется контекстом. Можно придумать что-то получше?
Аноним 06/04/21 Втр 15:09:12 1987926198
>>1987905
>вообще в обход реакта рендерить данные
Как кастомный слушатель со стейтом и рендером связан?
>В реакте никакого делегирования событий нет вообще
В других фреймворках есть врапперы, но тк Денчик придерживается минималистичного жс-вэй подхода, решил не засорять лишними абстракциями, то что и так уже внедрено нативно


Аноним 06/04/21 Втр 15:14:15 1987930199
>>1987809
>ЕБАНАТЫ, ЗАЧЕМ ВАМ АЛГОРИТМЫ В ВЕБЕ
ну кроме поиска мне чет в голову ничего не приходит где еще алгоритмы используются навскидку
Аноним 06/04/21 Втр 15:19:07 1987938200
>>1987809
> трое вкатывальщиков. МАССОВЫЕ СОБЕСЕДОВАНИЯ ДОШЛИ ДО IT. Бляяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя. Моя жопаааааааааааааааааааааааааааааааааааааааааааааа.
Алгоритмы в вебе нужны не для того чтобы их применять, а чтобы дрочить вкатывальщиков.
Аноним 06/04/21 Втр 15:23:15 1987943201
>>1987815
Я помню твой пост, я его, кстати, сохранил в закладочки. Правда руки пока не дошли.
Аноним 06/04/21 Втр 15:26:04 1987947202
>>1987943
П.С. А смотреть там где пометка "осень" или без?
Аноним 06/04/21 Втр 15:27:11 1987948203
>>1987938
Мне кажется сам js нужен, чтобы дрочить вкатывальщиков. Там столько всякой хуеты, которую буквально одной строкой объяснить можно. И примерно половину языка можно вычеркнуть как устаревшую
Аноним 06/04/21 Втр 15:40:54 1987965204
Аноним 06/04/21 Втр 15:45:24 1987969205
>>1987965
Ну и нах всё это надо веб-девелоперу? Максимум может быть иногда приходится деревья (DOM) рекурсивно обходить
Аноним 06/04/21 Втр 15:49:18 1987977206
Аноним 06/04/21 Втр 15:55:22 1987985207
>>1987977
Вопрос не про это был. На практике зачем это надо?
Аноним 06/04/21 Втр 15:58:58 1987990208
Вот за что я ненавижу веб так это за урезанные возможности отладки.

Почему

$(window).on('click', function(e) {
show_form();

работает

а

$(a.class).on('click', function(e) {
show_form();

не работает? пробовал уже и решётку перед ней ставить и т.д. поясните, ньюфане, а.
Аноним 06/04/21 Втр 15:59:19 1987991209
Алсо что за консоль, в firefox е нихуя в это консоли ничео не вижу. Гамно какое-то
Аноним 06/04/21 Втр 16:03:13 1988000210
>>1987969
Ровно затем для чего и матан в школе и в любом универе учат - мышление развивать.
Аноним 06/04/21 Втр 16:07:55 1988004211
>>1987969
>>1988000
Вообще тут сыглы. Многое из того, что нужно учить по сути учит тебя программировать, а не просто решать какую-то конкретную задачу. Но опять же, на собесах иногда совсем охуевают
Аноним 06/04/21 Втр 16:10:24 1988009212
>>1988000
Ну пусть тогда про круглые люки на собесах спрашивают. Можно ещё из кроссвордов вопросики задавать. Или по философии. Приходишь такой на собес на реакт-макаку, а тебе - чем континентальный тип философствования отличается от аналитического? Мышление же развивать надо, ага.
Аноним 06/04/21 Втр 16:10:31 1988010213
>>1987985
>На практике зачем это надо?
на практике почти незачем, кроме случаев писать поиск, обход дом, ну или надо нахуярить велосипед.
Аноним 06/04/21 Втр 16:11:12 1988011214
>>1987965
>И где гарантии что на этот раз ты займёшься делом?
Гарантий нет. С осени начинать или с первой не-осенней лекции? Почему такой разный размер?
Аноним 06/04/21 Втр 16:28:20 1988046215
Аноним 06/04/21 Втр 16:29:49 1988048216
>>1987990
Может потому что не нужно наворачивать жикверик, а пенять на язык? На ванилле в строгом режиме тебе бы консоль насувала предупреждений, что не так работает и куда ты не то вставил.
Аноним 06/04/21 Втр 16:34:30 1988050217
>>1988011
Смотри с самого начала плейлиста. Хз что там осенью было, если повтор - ясное дело можешь не смотреть.
Аноним 06/04/21 Втр 16:38:12 1988055218
3uVQS81awHI.jpg 135Кб, 1080x1057
1080x1057
Реактобояре, помогите советом:
У меня есть список где-то из 50 радиокнопок у каждой из который весьма большой текст. Юзер должен будет выбрать один из них, но заставлять его в ручную пролистывать этот список не хочется. Подумал добавить поисковую строку, в которой можно будет вводить текст, а список кнопок будет фильтроваться по ключевой фразе. Возникает вопрос: это вообще норм решение, ведь тут будут постоянные ререндеры этих кнопок да и обрабатывать выбор с них не очень удобно.
Аноним 06/04/21 Втр 16:53:38 1988070219
>>1988055
Не пробовал только на сабмит свой поиск вешать?
Аноним 06/04/21 Втр 16:56:55 1988074220
>>1988055
> 50 радиокнопок
<select>-ом заменять не пробовал?
Аноним 06/04/21 Втр 17:01:33 1988083221
>>1988074
>у каждой из который весьма большой текст
Аноним 06/04/21 Втр 17:03:13 1988088222
>>1988074
У них слишком здоровые и жирные названия. Пихать в селект по два предложения не сильно хочется.

>>1988070
Это только часть формы, общий сабмит будет потом. Или ты про сабмит варианта?
Аноним 06/04/21 Втр 17:04:10 1988090223
>>1988046
Сей кусок не работает
array(true, true, 11)
Пытался фильтровать: boolean | number | string, но ничего не заработало
Аноним 06/04/21 Втр 17:09:18 1988098224
>>1988088
>Это только часть формы, общий сабмит будет потом. Или ты про сабмит варианта?
Сабмит поискового запроса. Или у тебя поле с фильтром - часть общего сабмита?
Аноним 06/04/21 Втр 17:10:18 1988099225
Аноним 06/04/21 Втр 17:13:23 1988106226
>>1988098
Поле с фильтром - часть общего сабмита
Аноним 06/04/21 Втр 17:15:04 1988109227
>>1988099
Да, работает, сорри. TS playground глючит
Аноним 06/04/21 Втр 17:20:57 1988120228
>>1988106
Вытащи его за пределы поля тогда. Фильтр отношения к сабмиту не имеет, только 1(ОДНУ) радиокнопку в итоге отправлять.
Аноним 06/04/21 Втр 17:24:56 1988130229
>>1988048
готовый движок нихуя не могу сделать
Аноним 06/04/21 Втр 17:26:17 1988132230
>>1988120
А что с кол-вом ререндеров кнопок делать?
Аноним 06/04/21 Втр 17:27:03 1988135231
>>1988130
Какой движок? На клиентской стороне насильно заставляют жиквериком писать?
Аноним 06/04/21 Втр 17:32:24 1988141232
>>1988055
Можно обрезай текст, как вариант
Аноним 06/04/21 Втр 17:33:00 1988142233
>>1988135
есть скрипт на jquery уже готовы на 400 строк вот мне нужно просто его запустить. я тебе что щас переписывать буду всё с нуля при том что я в вебе вообще никогда ничего не писал.

чё ты бомбишь сразу, программист-анальник ёбаный?
Аноним 06/04/21 Втр 17:35:04 1988147234
>>1988141
Не, текст трогать и менять не могу
Аноним 06/04/21 Втр 17:38:43 1988153235
>>1988132
С какими ререндерами? При сабмите будет 1(ОДИН) ререндер.
Аноним 06/04/21 Втр 17:46:32 1988158236
>>1988142
>я тебе что щас переписывать буду всё с нуля при том что я в вебе вообще никогда ничего не писал.
Ну так учи ОСНОВЫ, чё как непердолик. Ну или хотя бы доку жикверика.
Конкретно твой случай не работает, потому что жикверик ожидает строковой параметр, а ты возвращаешь значение свойства `class` объекта `a`. Вот только жиквери при неправильном запросе тихо его не выполняет, а ванильный жс метнул бы эксепшн в консоль. Так что не с теми мельницами воюешь.
Аноним 06/04/21 Втр 17:47:47 1988160237
>>1988153
Так ведь пока я буду в поле вводить слово, то список радио будет ререндерится
Аноним 06/04/21 Втр 17:50:50 1988163238
>>1988158
нахуй мне твоя дока жока и бока. делать мне нехуй в это говно время тратить кучу времени, у меня другой основной род деятельности.
Аноним 06/04/21 Втр 17:51:16 1988165239
>>1988158
короче похуй в пизду этот сайт ёбаный
Аноним 06/04/21 Втр 17:58:51 1988173240
>>1988160
Я тебе и сказал на сабмит фильтр вешать, а не на какой-нибудь `onChange`.
Аноним 06/04/21 Втр 18:01:13 1988177241
>>1988165
>>1988163
а потом они говорят да хули там ваш вротенд, хуйня ваще.
Аноним 06/04/21 Втр 18:06:52 1988184242
>>1988177
ну если этим заниматься профессионально то вротенд ничета тому же гейдеву
Аноним 06/04/21 Втр 18:07:36 1988185243
конечно на вротенд сразу так не наскочишь сходу как я, понятно дело что я могу щас достать пару книжек почитать как там всё устроено, но нахуй надо времени столько тратить, у меня уже есть основная цель
Аноним 06/04/21 Втр 18:10:14 1988188244
>>1988184
>гейдеву
проблема гейдева не в сложности а в кранчах.
Аноним 06/04/21 Втр 18:48:23 1988237245
Совет тем, кто решил вкатываться в веб: учите так, чтобы претендовать на позицию миддла (разумеется, у вас должно быть портфолио и опыт в опенсорсе). Иначе с вероятностью 90% вы не найдете работу джуном. В нашей конторе внезапно ввели обязательное правило для джунов - наличие высшего профильного образования (только очного). Всех остальных даже не рассматривают.

Количество джунов в вебе стало так много, что можно выбирать лучших и платить им копейки. Как сказал тимлид, по данным отдел хрюш на одно место js-джуна претендует примерно 300 человек (по откликам).
Аноним 06/04/21 Втр 18:49:31 1988238246
>>1988188
Движок собственный напиши на вулкане тогда и погооврим о сложности, по сравнению с этим даже бэкэнд и какой-нибудь сетевой инженеринг хуйня я щитаю
Аноним 06/04/21 Втр 18:50:39 1988240247
>>1988237
Да веб это трешак тот ещё, хз каким надо быть талантливым чтобы в 20к21 вкатываться в веб. Я с чуваком говорил который работал в говнокторе которая сайты пилила он сказал что вэб это такое днище что сисадмином больше поднимаешь чем веб пидором
Аноним 06/04/21 Втр 19:02:46 1988252248
>>1988237
Тредом не ошибся? Тебе в воркач свою шизу постить, ну или хотя бы мвп-тред .
Аноним 06/04/21 Втр 19:13:24 1988264249
>>1988252
Шизу? Это чистая правда. Я стал веб-макакой в 2016, и тогда было в 10 раз проще. Сейчас тебя даже с серьезным стеком пошлют на хуй.

Не работал с Docker? Пошел на хуй.
Не настраивал CI/CD? Пошел на хуй.
Не работал с GraphQL? Пошел на хуй.
Знаешь только один фреймворк? Пошел на хуй.
Аноним 06/04/21 Втр 19:14:25 1988268250
image.png 17Кб, 737x105
737x105
Аноним 06/04/21 Втр 19:18:25 1988278251
>>1988264
>Не работал с Docker? Пошел на хуй.
>Не работал с GraphQL? Пошел на хуй.
Ну это ещё туда-сюда

>Не настраивал CI/CD? Пошел на хуй.
Пусть нанимают девопсов. Дело фронтовика только в кнопку "ДЕПЛОЙ НАХ" тыкать. Ишь аппетиты разгуляли им и фронт педаль, и бэк-фуллстэк, и девопс-хуепс, и ещё сам тестируй всё
Аноним 06/04/21 Втр 19:19:23 1988280252
>>1988278
>Пусть нанимают девопсов
АХАХААХАХАХАХАХААХ.

Ты просто не проходил собеседования на джуна в 2021.
Аноним 06/04/21 Втр 19:22:26 1988286253
>>1988280
Не, в принципе джуну знать, что CI/CD вообще есть, всё-таки надо, но че там у него в требухе это не дело фронтовика
Аноним 06/04/21 Втр 19:22:40 1988289254
>>1988264
>Это чистая правда.
Уровня тимлид сказал, что ему хрюши на ушко нашептали.
Аноним 06/04/21 Втр 19:24:10 1988291255
>>1988289
хз как были требования так и есть
8 лет в отрасли
Аноним 06/04/21 Втр 19:37:26 1988310256
>>1988238
байтоебы на сишке напишут
> я щитаю
а писал бы на низком уровне, то считал бы сложными абстракции.
Аноним 06/04/21 Втр 22:18:29 1988443257
Аноним 06/04/21 Втр 22:26:27 1988446258
768523828.png 99Кб, 600x600
600x600
НА ФРОНТА ТЕПЕРЬ
@
НАДО ПРОФИЛЬНУЮ ВЫШКУ
@
И ЗНАНИЕ АЛГОРИТМОВ НА С
Аноним 06/04/21 Втр 22:41:51 1988455259
Аноним 06/04/21 Втр 22:51:00 1988462260
Второй месяц ищу работу, а писали про кадровый голод.. Наебщики! Ещё месяц и доем последнюю гречку, потом снова на завод. А как хотелось хотя бы на 60к устроиться, эх...
Аноним 06/04/21 Втр 23:07:30 1988465261
>>1988462
Ты опять тредом промахнулся. Пиздуй уже в воркач.
Аноним 06/04/21 Втр 23:20:58 1988471262
2854b4874b94fcc[...].jpg 37Кб, 670x440
670x440
>>1987895
Почему то музыка из Форт Боярд в голове заиграла, хотя фраза из контекста "Что? Где? Когда?"
Аноним 06/04/21 Втр 23:28:31 1988473263
image.png 46Кб, 817x537
817x537
image.png 15Кб, 562x165
562x165
Джейсоны, как забиндить на кнопку функцию reset?
Аноним 06/04/21 Втр 23:43:13 1988483264
>>1988473
Прочитать наконец одну ебаную страничку мана о том, что такое this и не выглядеть впредь идиотом.
Аноним 06/04/21 Втр 23:48:47 1988485265
>>1988473
Надо прост никогда не использовать this
Аноним 06/04/21 Втр 23:50:14 1988486266
>>1988483
Пиздос, ты агрессивная чмоня. Посал на тебя.
Аноним 06/04/21 Втр 23:51:29 1988487267
>>1988485
А как без ДЫС забиндить?
Аноним 06/04/21 Втр 23:55:46 1988489268
>>1988487
Нет this - нечего биндить)))
Аноним 07/04/21 Срд 00:10:12 1988491269
>>1988485
Всем вуемакакам перекатиться в реактомакак?
Аноним 07/04/21 Срд 00:10:58 1988492270
>>1988473
тебе красным по розовому написано что там не так
Аноним 07/04/21 Срд 00:26:02 1988503271
image.png 36Кб, 613x72
613x72
>>1988492
Я кофейным по темно-коричневому задал вопрос, перечитай его еще раз.
Аноним 07/04/21 Срд 00:45:10 1988514272
>>1988503
Прочитать, что такое зис.
Аноним 07/04/21 Срд 00:49:37 1988517273
Аноним 07/04/21 Срд 01:04:46 1988535274
>>1988514
по сути это хитровыебанный указатель
Аноним 07/04/21 Срд 02:41:54 1988602275
>>1984998
А почему? Почему автокомплит появляется во второй версии, но не в первой? Ебать этот туйпскрипт
Аноним 07/04/21 Срд 03:27:46 1988617276
>>1988486
Нет, я всего-лишь хочу, чтобы ты, мудак, научился ловить рыбу. А ты просишь, чтобы тебе ее дали.

Это не я агрессивный, это ты тупой и скудоумный.
Аноним 07/04/21 Срд 09:10:47 1988704277
Что можно написать новичку в js, кроме калькулятора?
Аноним 07/04/21 Срд 09:28:39 1988710278
Аноним 07/04/21 Срд 09:29:46 1988712279
Аноним 07/04/21 Срд 09:31:40 1988714280
t13.png 4Кб, 736x675
736x675
Как лучше сверстать такую залупу?
Аноним 07/04/21 Срд 09:34:51 1988716281
Аноним 07/04/21 Срд 10:07:47 1988728282
Аноним 07/04/21 Срд 10:11:38 1988729283
Аноним 07/04/21 Срд 11:19:10 1988757284
>>1988729
да у него this проебывается просто из-за того что вызывает вне контекста
Аноним 07/04/21 Срд 12:59:02 1988826285
>>1984611 (OP)
Сап, жсач
Почти 2 года работаю в аутсорс студии, пришел без опыта верстальщиком, сейчас работаю на Vue/vuex проекте год. Я один фронт на проекте, код ревью нет.

Проблема в следующем:
Каким образом развиваться дальше, откуда брать годную информацию чтобы можно было сразу практиковать на проекте? Чувствую что застаиваюсь, и некому подсказать где я бы мог сделать лучше.
Аноним 07/04/21 Срд 13:04:50 1988831286
Аноним 07/04/21 Срд 13:10:29 1988839287
>>1988826
>Чувствую что застаиваюсь, и некому подсказать где я бы мог сделать лучше.
Тебе на вуе никто и не будет подсказывать, так как некому.
Аноним 07/04/21 Срд 13:15:39 1988841288
бублики.png 17Кб, 333x122
333x122
>>1987458
> Какие инструменты использовать?
Хром
Аноним 07/04/21 Срд 13:57:54 1988878289
>>1987473
А без шуток, console.log'ами дебажить норм? А то видел, что говорят, что это дегенератский способ вообще, но другого не вижу особо.
Аноним 07/04/21 Срд 14:15:25 1988896290
Аноним 07/04/21 Срд 14:37:56 1988909291
>>1988841
я альтфак не могу с firefox до сих пор слезть.
Аноним 07/04/21 Срд 14:41:27 1988912292
log.png 8Кб, 290x292
290x292
>>1988878
Пиши тогда свой сервис обработки ошибок, зато не будешь дегенератом.
Аноним 07/04/21 Срд 14:43:58 1988913293
>>1988896
Ну а че толсто, как ещё дебажить? И чем всем консоль логи не нравятся? Работает же норм.
Аноним 07/04/21 Срд 15:11:34 1988930294
Хучшее, что произошло с реактом, это переход от классовых компонентов к хукам. Какой же это пиздец.Т.е. конечно мне фк нравятся намного больше. Но теперь мы имеем 90% кодовой базы, туториалов и документации, написанной на классах, и у тебя просто глаза вытекают нахуй когда ты пишешь на фк, и тут перед тобой примеры использования чего-нибудь на классах, сука ебанная блядь тварина. Крыша едет нахуй от смены синтаксиса и вообще в целом подхода к написанию кода. Какой же это ебанутый дегенеративный пиздец. Те, кто пишут доку и туториалы на классовых, и еще и используют var в примерах должны печься в отдельном котле в аду. В старом неудобном котле, с которым никто не помнит как работаттьь и все постоянно путаются, этот котел, или не этот и чтобы котел был привязан к жопе их мамаши((9(())))))))))
Аноним 07/04/21 Срд 15:12:03 1988931295
>>1988913
Консоллог синхронный. Любая асинхронность и ты сосешь жёппу
Аноним 07/04/21 Срд 15:20:18 1988943296
>>1988931
Новая ступень байтоёбства - дрочить на байтики при разработке. Код-то хоть пишешь исключительно в текстовом редакторе? А то ж редакторы всякий оверхед добавляют с подсветкой синтаксиса и прочими подсказками.
Аноним 07/04/21 Срд 15:22:25 1988951297
>>1988943
Шиз, научись выражать свои мысли, а лучше поди основы дебага подучи для начала
Аноним 07/04/21 Срд 15:26:54 1988958298
>>1988931
Что ты несешь? Что мне мешает в любые асинхронные функции\коллбеки засунуть консолог?
Аноним 07/04/21 Срд 15:32:51 1988972299
>>1988958
У тебя ошибка может происходить в тот момент, когда происходит ожидание промиса. Ты можешь консоллогом вернуть значение, которое буквально в следующем же кадре будет выдавать ошибку, но тебе консоллог при этом будет показывать, что всё заебись
Аноним 07/04/21 Срд 15:46:24 1988994300
>>1988972
Выходное значение тебе конечно же религия не позволяет в лог отправлять.
Аноним 07/04/21 Срд 15:51:24 1989008301
>>1988994
До выходного твой код может и не дожить. Это опять же мы не рассматриваем разные фреймворки, где ассинхронность может работать внутри как угодно, без прямого доступа к асинхронным функциям с твоей стороны. В каком нибудь реакте ты очень быстро сонешь, если захочешь отдебажить состояние компонента консоллогом. Хотя конечно есть ситуации, когда можно отследить какое-то поведение консоллогом, полагаться на него постоянно неправильно
Аноним 07/04/21 Срд 16:04:52 1989021302
>>1989008
>До выходного твой код может и не дожить.
Хорошие фантазии, но все промисоподобные конструкции пишут с ловлей ошибок.
>В каком нибудь реакте ты очень быстро сонешь, если захочешь отдебажить состояние компонента консоллогом.
Можно подумать дебаггер тебе сильно поможет при лазании через цепочку вызовов 100+ вспомогательных функций рякта, когда проблема скорее всего во входных данных, которые без проблем проверяются логом.
Аноним 07/04/21 Срд 17:02:09 1989069303
Аноним 07/04/21 Срд 17:20:26 1989081304
>>1987692
Прикольно, но слишком легко
Аноним 07/04/21 Срд 18:45:02 1989152305
Аноним 07/04/21 Срд 19:34:10 1989186306
>>1987692
Math random на все map методы
Аноним 07/04/21 Срд 20:07:38 1989224307
>>1987415
А библиотеки сами собой пишутся?
Аноним 07/04/21 Срд 20:10:09 1989228308
Если я коммитил, коммитил, коммитил, а потом сразу дохуя запушил, можно как-то дату посмотреть уже на гитхабе, когда я там чего коммитил?
Аноним 07/04/21 Срд 20:17:59 1989235309
>>1989224
учитывая качество думаю нейросеть пишет
Аноним 07/04/21 Срд 20:35:50 1989258310
Аноним 07/04/21 Срд 20:39:14 1989263311
>>1989081
Сделай в виде плагина к фреймворк-нейм. Плагин хаотизирует любую форму

>>1989186
Маловато будет
Аноним 07/04/21 Срд 20:54:13 1989278312
Аноним 07/04/21 Срд 20:57:59 1989282313
Аноним 07/04/21 Срд 22:04:24 1989352314
Аноним 07/04/21 Срд 22:22:00 1989372315
Как вкатиться в стайлед компонентс есть курсик на ютюбе?
Аноним 07/04/21 Срд 22:24:22 1989373316
Аноним 07/04/21 Срд 22:28:48 1989377317
>>1989373
Какой мдн? Styled components это css для рякта
Аноним 07/04/21 Срд 22:34:50 1989380318
>>1989377
>рякта
Не более чем прослойка между твоим кодом и тем что делает браузер. Всё что делает бразуер описано в MDN
Аноним 07/04/21 Срд 22:37:59 1989382319
Аноним 07/04/21 Срд 22:45:56 1989393320
>>1988930
Добро пожаловать во вротенд. А теперь представь что чувствуют люди, которые пережили жеквери, бэкбон, аврелию, дожо...и прочие технологии, которые "были да всплыли" и теперь весь этот багаж знаний нахуй не нужон.
Аноним 07/04/21 Срд 22:48:37 1989395321
>>1989393
а жабист как писал на спринге так и пишет
Аноним 07/04/21 Срд 22:51:28 1989399322
>>1988930
Ты либо ватун либо джун с маленким оптом, синьеры такую мелочь не замечают, синьеры читают код абстрактно, где какой паттерн, а потом сами реализуют подсибя.

Больше практики, напишешь проектов 20 пройдет вот эта штука с синтаксисом, проще говоря, пока что ты узко мыслишь.
Аноним 07/04/21 Срд 22:55:35 1989402323
>>1988826
Проходи собесы на позиции выше, посмотри че там требуется по стеку, подготовься и пиздуй. После собеса поймешь какие скиллы прокачивать, прокачиваешь и аплаишься.

Но есть метод проще, смари собсесы на ютубе, если отвечаешь сам на все вопросы что услышишь можешь смело идти на собес на зп выше чем сейчас
Аноним 07/04/21 Срд 23:43:35 1989468324
>>1988930

Денчик сам не может даже в своей тудушке разобраться, нахуячил там десяток файлов
Аноним 08/04/21 Чтв 00:02:49 1989491325
>>1989402
>Проходи собесы на позиции выше
Импукинг туда позовут
Аноним 08/04/21 Чтв 01:34:13 1989573326
рякт, вью или ангуляр?
Аноним 08/04/21 Чтв 05:06:59 1989637327
Аноним 08/04/21 Чтв 05:30:17 1989638328
>>1989393
>аврелия
Будто она когда-то "была". Нишевый фреймворк был и до сих пор есть. Мне нравится кстати, намного няшней реактоговна
Аноним 08/04/21 Чтв 05:54:33 1989640329
,
Аноним 08/04/21 Чтв 11:37:34 1989750330
>>1989399
Да я понимаю, я уже так и смотрю на код, типа что там вообще люди делают и смотрю только на нужные куски. Но это пиздец как бесит во первых и бывает все-таки трудно понять, когда ты с новой библой разбираешься.
Аноним 08/04/21 Чтв 12:36:02 1989829331
Storybook
Аноним 08/04/21 Чтв 14:13:32 1990007332
>>1989399
>подсибя
а потом охуеваешь от количества велосипедов на проекте, а дальше этот хрен сваливает и вы спичку тянете кто будет поддерживать это самописное говно.
Аноним 08/04/21 Чтв 14:28:40 1990034333
>>1988930
>Хучшее, что произошло с реактом, это переход от классовых компонентов к хукам.
Пиши на инферно. Там до сих пор классы в ходу, бонусом получишь нихуевый буст в перформансе. Ноу бугурт.
Аноним 08/04/21 Чтв 14:37:50 1990049334
>>1989573
Ангуляр. Там стек более стабильный, в отличии от говнореактов, у которых по несколько раз в год все меняется. Плюс есть возможность постепенно перекатиться на нормальный язык (джаву/сисярп) и забыть скриптовое говно как страшный сон.
Аноним 08/04/21 Чтв 14:50:54 1990069335
>>1990049
И придется вспомнить тырпайз кошмар, древнее ломучее легаси, код времен темной эры технологий который ты не понимаешь и тд.
Аноним 08/04/21 Чтв 14:52:15 1990074336
>>1990034
>Пиши на инферно
Ты ебнутый? Это операционная система.
Аноним 08/04/21 Чтв 15:46:17 1990135337
Вронтэндеры поделитесь бест практикс. Вот я когда создаю апп на реакте, все пишу в обин комонент, пока в голове есть мысли, после начинаю делать все на меньшие компоненты и раскидываю по папкам, обычно не больше трех компонентов больших делаю, где каждый содержит еще туд маленьких компонентов.

Как правильно подходить к структуре компонента? Видел некоторые челики начинают сразу с того что пишут маленкьие компоненты потом их объединяют импортами в один. Я так не умею. Как правильно делать?
Аноним 08/04/21 Чтв 15:46:34 1990136338
>>1988930
Не булькай, ешь что дают. Сказал абраша что пуки теперь модные, значит используем только их.
Аноним 08/04/21 Чтв 15:50:08 1990141339
>>1990136
но они медленнее классов
Аноним 08/04/21 Чтв 16:01:34 1990148340
>>1990135
Мелочевку пихай в одну директорию, это типа как кирпичи из которых потом собираешь крупняк

Крупняк уже раскидываешь по каталогам с несколькими уровнями вложенности согласно бизнес-задачам
Аноним 08/04/21 Чтв 16:05:58 1990152341
>>1990148
Нихуя не понял, можешь нарисовать?
Аноним 08/04/21 Чтв 16:11:36 1990157342
>>1990152
он имеет ввиду держи всю мелочь под рукой в одной папке как семки в кармане, а крупные модули уже по взрослому распихивай в дерево папок, чтобы не запутатся.
Аноним 08/04/21 Чтв 16:18:16 1990163343
D5F980DB-654F-4[...].png 59Кб, 476x614
476x614
>>1990157
Так типо?
Т.е. папку с маленькими так и оставить просто импорты прокидывать в большие?
Или копировать маленькие в большие в папку с маленькими удалить потом?
В первом варианте вроде проще код отлаживать.
Аноним 08/04/21 Чтв 16:21:27 1990169344
screenshot.jpg 6Кб, 244x228
244x228
Аноним 08/04/21 Чтв 16:36:11 1990183345
ВидТраекторииАл[...].webm 18873Кб, 1280x720, 00:02:33
1280x720
>>1984611 (OP)
Я так понял, отдельного TS тредика нет. Спрошу тут. Как блять в TS нормально работать с JSON?

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

Но сука, я получаю ошибку: Index signature is missing in type ...
Че блять ему надо, как быть?
Аноним 08/04/21 Чтв 16:37:39 1990184346
Аноним 08/04/21 Чтв 16:43:30 1990193347
>>1990183
> отдельного TS тредика нет
жс со статической типизацией не отдельный язык
Аноним 08/04/21 Чтв 16:49:43 1990198348
>>1990193
>TypeScript is a programming language developed and maintained by Microsoft
>TIOBE: 50 TypeScript 0.19%
Я лучше послушаю тех, кто утверждает, что будучи суперсетом JS, TS таки является самостоятельным языком, компилируемым в том числе и в JS.
Аноним 08/04/21 Чтв 16:53:51 1990199349
>>1990198
ну слушай слушай, можешь даже отдельный тред запилить.
Аноним 08/04/21 Чтв 16:54:55 1990200350
Аноним 08/04/21 Чтв 17:01:16 1990202351
>>1990200
хуява, это жс с допиленным ооп и транслятор обратно в жс.
Аноним 08/04/21 Чтв 17:04:11 1990205352
>>1990202
Ну если васян с двача так сказал, то конечно, прости.
Аноним 08/04/21 Чтв 17:05:36 1990206353
>>1990205
есть что возразить? или не транслируется?
Аноним 08/04/21 Чтв 17:06:00 1990207354
Аноним 08/04/21 Чтв 17:09:36 1990209355
>>1990183
>ебаться с типизацией, когда можно не ебаться
Аноним 08/04/21 Чтв 17:11:18 1990212356
>>1990207
любой тс код является полностью валидным жс кодом, как и кофескрыпт какой нибудь, если на кучу говна докинуть еще лопату говна чем то другим она не станет.
>>1990209
когда кода дохуя лучше иметь статику, чем потом баги ловить по всему проекту.
Аноним 08/04/21 Чтв 17:15:56 1990219357
>>1990209
>ебаться с типизацией, когда можно не ебаться
>ебаться с багами в рантайме, когда можно отдать большую их часть компилятору и тестам
А вы, сударь, либо здесь недавно, либо не делали чего-то большего, чем лендинг.
Аноним 08/04/21 Чтв 17:19:22 1990223358
16060938858540.png 273Кб, 720x583
720x583
>>1990212
>>1990219
Любители типизации сначала: еее типизация не даст нам набажить

Любители типизации после: на ровном месте изобретают очередной костыльный велосипедище, чтобы обойти ограничения тайпчекера
Аноним 08/04/21 Чтв 17:24:20 1990226359
>>1990209
Дурак, после тысячи строк начинается пиздец.
Аноним 08/04/21 Чтв 17:28:18 1990230360
f4a2d253bc573ba[...].jpg 8Кб, 173x206
173x206
Аноним 08/04/21 Чтв 17:30:10 1990232361
Аноним 08/04/21 Чтв 17:36:12 1990238362
>>1990232
Тайпскриптеры без плясок с бубном JSON в модель распарсить не могут, какие там дженерики...
Аноним 08/04/21 Чтв 17:36:15 1990239363
>>1990219
> нет 100% (((soundness)))
> писать на этом нечто большее, чем лендинг
Орео.
Аноним 08/04/21 Чтв 17:42:29 1990243364
>>1990223
Сейчас бы по файлам да роутерам прыгать.
Аноним 08/04/21 Чтв 17:45:42 1990249365
>>1990238
https://jvilk.com/MakeTypes/ + ts-to-io

В два шага без ручной работы получаем статически типизированную модель из произвольной джейсонины + кодеки для типобезопасности в рантайме. Прублемз?
Аноним 08/04/21 Чтв 17:45:58 1990250366
>>1990239
Любимый аргумент тс-диссидентов. Тем не менее, значительную часть багов тс убирает. А уж каким простым становится рефакторинг, ммм.
Аноним 08/04/21 Чтв 17:53:03 1990257367
>>1990249
> эти костыли
И тут хуяк у тебя не JSON а XML/BSON/YAML
Аноним 08/04/21 Чтв 17:57:17 1990267368
>>1990239
А на чем тогда писать, умник блять?
Аноним 08/04/21 Чтв 17:58:23 1990270369
>>1989491
Желаешь в тусовку зовущих себя «рок-звездами» программирования: React
Для получения постоянной, заурядной, но хорошо оплачиваемой работы по созданию финансовых приложений в офисной загородке под лампами дневного света: NG
Нужно по-быстрому веб-сай: Vue
Реально нужно научиться программировать: JS/TS
Аноним 08/04/21 Чтв 17:58:42 1990271370
Аноним 08/04/21 Чтв 18:00:37 1990275371
>>1990270
эээээ учить фрейворки не зная языка? эт как?
Аноним 08/04/21 Чтв 18:02:13 1990281372
>>1990267
Пурса, конечно же, младой чек.
Аноним 08/04/21 Чтв 18:13:17 1990297373
image.png 17Кб, 713x283
713x283
Аноним 08/04/21 Чтв 18:15:56 1990305374
Аноним 08/04/21 Чтв 18:40:45 1990340375
>>1990305
>PureScript was initially designed by Phil Freeman in 2013. He started to work on PureScript as various attempts to compile Haskell to JavaScript
>Paradigm Functional
Ой блять. Ой нахуй.
Аноним 08/04/21 Чтв 19:14:08 1990382376
>>1990340
Нуд
жен какой-то устойчивый мем на тему "БОРЩЕХЛЕБ В ТРЕДЕ", которым можно будет их автоматически унижать.
Аноним 08/04/21 Чтв 20:37:35 1990494377
image.png 137Кб, 773x650
773x650
Есть ли перспектива в вебе для такого бездаря, как я, у которого проблемы с алгоритмическим мышлением ? Хочу вкатится в IT, учусь в универе на программиста, 1 курс, и здесь я понял, что я - бездарь с низким для программирования интеллектом, для которого ничто кроме вёрстки html css за 15 тысяч рублей в месяц не подвластно.

Есть ли смысл идти во фрон енд, и есть ли перспектива получать зарплату хотя бы в 2 раза больше, чем у работяг с завода, такому тупаку, как я, который на codeforces совернованиях не может решить ничего, кроме первой самой лёгкой утешительной задачки, тратя при этом всё отведённое время для всех 5-6 задач ?

Что учить чтобы вкатится ?
В вёрстку за 15 тысяч рублей в месяц думаю смысла идти нет, сделать это может каждый, есть вордпресс.
Аноним 08/04/21 Чтв 20:40:34 1990499378
>>1990494
Не парься, большая часть "фронтэнда" - ноубрэйн хуитка, которая делается по надроченным шаблонам. У нас на джунов в контору такие клоуны вкатываются, что даже не веришь что он ложкой в рот попасть способен, но ничего - пилят формочки и свои 40-50 получают.
Аноним 08/04/21 Чтв 20:44:22 1990501379
>>1990499
Есть ли для такой не требующей мозги сферы перспектива на рост зп ? 40-50 явно не хватит для нормальной жизни в каком-нибудь милионнике
Аноним 08/04/21 Чтв 20:54:04 1990512380
>>1984611 (OP)
У меня проходит некий долгий запрос (резолвится промис на fetch данных, если это Нода то может быть запрос в базу) - как сделать так чтобы если прошло определенное время по таймауту, то запрос автоматически отменяется и выбрасывается исключение?
Аноним 08/04/21 Чтв 20:57:20 1990516381
>>1990512
ну проверку сделай
Аноним 08/04/21 Чтв 20:59:21 1990518382
>>1990516
Какую блин проверку? Если промис пытается резолвиться скажем более 10 секунд то его автоматически надо режекнуть, а не смотреть результат через if пост-фактум
Аноним 08/04/21 Чтв 21:27:40 1990552383
>>1990518
Просто режект промиса ты можешь сделать элементарно через setTimeout, но если тебе нужно чтобы сам процесс убило и он дальше ничего не фетчил/закрыл соединение с базой, а не висел в бэграунде, то это уже делается средствами конкретного инструмента, который ты используешь.
Аноним 08/04/21 Чтв 21:48:50 1990572384
>>1990499
Блядь, как же горит вот с такого. Живу в мухосранске, последний мой проект - сайт с ремонтами вип квартир с 3Д калькулятором, фронт на реакте, тс, некст, threejs + геймдев 3Д + фоториал 3Д, стэк вообще ебанутый, я за одну графику минимум 80к просил бы в этих ваших ДСах. Получаю 200р в час. Сил позадрачивать проблемные области после рабочего дня нет, а если забью хуй на работу, то вообще не на что жить, даже ту работу, что нашел, вообще откуда-то блядь сама свалилась рандомно, плюс еще и по самими проектам дохуя нужно еще изучать каждый день. Ебанный мухосранский ад, как отсюда выбраться нахуй?! Я уже на полном серьезе хочу в петлю и кажется, что блядь я обречен на нищее существование, пока вокруг все вкатываются со свистом на 300к сек. Пидоры, пидоры, пидоры блядь, просто пидоры.
Аноним 08/04/21 Чтв 22:24:49 1990595385
А можно в реакте перееопределить\глобально определить дефолтные компоненты, которые с маленькой буквы, типа img, p, span, такие?
Аноним 08/04/21 Чтв 22:32:31 1990599386
Аноним 08/04/21 Чтв 22:47:01 1990606387
>>1990595
В реакте нет никаких глобальных компонентов, все без исключения jsx тэги компилятся в React.createElement("img", props, ...children) и без компилятора, который об этом знает, ты jsx файл не выполнишь никак.
Аноним 08/04/21 Чтв 23:04:54 1990618388
>>1990572
200р в час за такие заебы? Чтож это за мухосрань то такая? Перекатывайся от туда нахуй, у тебя уже скилы есть явно.
Аноним 09/04/21 Птн 01:13:42 1990704389
екаув.PNG 6Кб, 486x276
486x276
angry-bowling-b[...].jpg 16Кб, 218x197
218x197
Серьёзный вопрос для серьёзных айтишников:
Каким образом этот ёбаный цикл работает-то, а блятть!? Как prop вообще принимает какое-то значение? Его же тупо объявили и нихуя ему не присвоили. Так ещё и в теле нихуя кроме его вывода в консоль нет, и при всём при этом значение prop в каждой последующей итерации меняется. Да ещё и цикл с каких то хуёв прерывается, когда все свойства перебраны. Да как так то вообще? Инфы о том как оно работает вообще нет, будто это очевидно даже тугосере-годовасику.
Сука, пичот.
Аноним 09/04/21 Птн 01:17:53 1990706390
>>1990704
ты до главы итераторов не дочитал?
проп объявлена внутри и при каждой итерации ей присваивается следующий элемент из итерируемого
Аноним 09/04/21 Птн 01:30:04 1990725391
Аноним 09/04/21 Птн 01:54:50 1990749392
>>1990725
ну не говорили че бубнить то
Аноним 09/04/21 Птн 02:16:54 1990756393
Подскажите плиз максимально быстрый способ выучить ту или иную технологию/язык для приемлимого для джуна уровня. Ковырять туториалы и задачки эффективно первое время, но дальше это в основном топтание на месте и иллюзия прогресса. Сидеть с нуля писать проекты тоже не очень эффективно: на выяснении чего-то очень не понятного уходит слишком много времени. Недавно натыкался на фишку, что надо делать уже кем-то реализованные проектики самому и поглядывать исходники, если что не понятно. Но есть еще способы осваивать материал?
Аноним 09/04/21 Птн 02:32:01 1990762394
Аноним 09/04/21 Птн 02:32:57 1990763395
>>1990756
>приемлимого для джуна уровня
Забудь это слово в js разработке. Тут сразу придется стартовать с мидла. И это уже нихуя не шутки.
Аноним 09/04/21 Птн 02:35:28 1990765396
>>1990572
Половину перечисленного тобой не знаю, сижу пилю формочки на ривакте, иногда формируя новые редюсеры в ридаксе. Получаю 150к.
Аноним 09/04/21 Птн 02:42:30 1990766397
>>1990765
Надеюсь хоть значения всех форм в стейт запихиваешь и обновляешь через `onChange`?
Аноним 09/04/21 Птн 03:10:09 1990770398
Screenshot20210[...].jpg 195Кб, 720x1117
720x1117
Аноним 09/04/21 Птн 03:19:24 1990772399
>>1990763
И как сразу стартовать с мидла, вкатышу? Через пых или как? Если нихуя нет опыта.
Аноним 09/04/21 Птн 03:37:57 1990775400
Аноним 09/04/21 Птн 03:43:40 1990776401
>>1990772
Просто базы js знать недостаточно. Нужно именно уметь в реакт + стейт менеджер с мидлвэрами + тайпскрипт + рест апи/граф кьюэл+ тестирование. Для этого надо иметь какие-то проекты, пускай пет-проекты. Можно писать сервер самому, можно использовать faker js, но суть в том что там не должно быть статик контента. Очень важен навык асихнронного программирования. То есть все эти запросики, промисы хуемисы.
Короче твоя задача показать работодателю что ты умеешь в проекты и реальный кодинг.
Аноним 09/04/21 Птн 04:28:34 1990784402
>>1990776
>реакт + стейт менеджер с мидлвэрами
Редукс ты хотел сказать.
>рест апи
Талмудическая хуитка уровня настоящего ООП. Уметь в него физически невозможно, так как всё будет упираться в бэк, который возвращает { response: 200, body: { error: 404 } } с эндпоинта уровня `/items/get-all`.
>тестирование
Конкретно в контексте джаваскрипта - очередная талмудика. Нет ты конечно должен будешь заучивать определения TDD, юнит-тестов и всяких интеграционных тестов и рассказывать о них на собесе, но на реальных проектах никто не будет включать тестирование в планы, а уж кабанчик/заказчик/менеджер будет смотреть на тебя как долбоёба, если ты вдруг удвоишь сроки для написания каких-то там тестов.
>граф кьюэл
Не используется за пределами петов, как и всякие монги. Для вкатывания сорта sql и то лучше подойдут.
>Можно писать сервер самому, можно использовать faker js
Пиздец ты ебанутый, за твой сервер на фейкере тебя обоссут на собесе.
>Для этого надо иметь какие-то проекты, пускай пет-проекты.
>Короче твоя задача показать работодателю что ты умеешь в проекты и реальный кодинг.
Ну-ка давай рассказывай, как попал на свою первую работу, а то сдаётся мне ты пиздишь как дышишь со своими охуенными советами.
Аноним 09/04/21 Птн 04:48:56 1990792403
>>1990784
Ты пробовал не в говне работать?
Аноним 09/04/21 Птн 07:54:14 1990820404
Сап, приветствую братьев по лучшему языку и экосистеме в мире
Есть вопрос по вебсокетам.
Допустим есть много пользователей соц. сети.
Но только малая часть из них друзья юзера. Он постит к себе на стену сообщение. Нужно его отобразить у его корешей в режиме реального времени.
Как мне найти моих дружбанов среди миллионов(фигурально выражаясь) активных сокет соединений.
НЕ шерстить же их все (соединения) на каждый пук пользователя?
Посоветуйте пожалуйса в какую сторону гуглить?

И скажите вообще, джуны на работе сталкиваются с подобными проблемами или они просто форочки пилят?
Аноним 09/04/21 Птн 08:01:21 1990823405
>>1990270
>Нужно по-быстрому веб-сай: Vue
а что пыху с руби уже подвергли анафиме в веб сооществе?
Аноним 09/04/21 Птн 08:46:48 1990829406
Бамп
Аноним 09/04/21 Птн 09:22:58 1990838407
>>1990820
ID юзера -> Сессия -> вебсокет
Аноним 09/04/21 Птн 09:38:25 1990840408
Посоветуйте либу для отрисовки графиков (линейные либо столбцами). Главное чтобы она была легкая и более менее нормально выглядела, либо чтобы можно было подключить только отдельно один график, чтобы всю либу не грузить.
Аноним 09/04/21 Птн 09:46:00 1990841409
>>1990838
Вообще это бековая задача и думаю джуну такое вряд ли доверят. Я не бэкендер, но в пет проекте бы сделал так, есть мапка: "id юзера"-"вебсокет соединение с клиентом", клиент отправляет запрос на пост себе на стену, на беке делается запрос к бд, чтобы получить id его друзей, ну и из мапки берутся вебсокеты его друзей и отправляется им нужное сообщение. Но думаю нормальные бэкендеры придумали бы похитрее архитектуру.
Аноним 09/04/21 Птн 09:46:44 1990843410
Аноним 09/04/21 Птн 10:04:00 1990852411
>>1990841
Ну это самая общая схема. Сразу мапить ID на вебсокет я бы не стал, мало ли ещё что-нибудь рядом понадобится прицепить, поэтому делаем объектик "Сессия" и туда складываем в том числе вебсокет
Аноним 09/04/21 Птн 10:16:25 1990856412
>>1990762
>>1990770
Кажется я понял. Нужно просто принять это как само собой разумеющееся. Как подтирание жопы после посёра.
Аноним 09/04/21 Птн 10:21:47 1990862413
>>1990856
Если тебе скинуть исходники этого for in на сишечке, ты потом прибежишь спрашивать «а почему электроны в проводах ездят, этого нигде не написано!»
А - абстракция
Аноним 09/04/21 Птн 10:23:50 1990864414
>>1990862
А вот и скинь-ка, будь добр.
Аноним 09/04/21 Птн 10:27:56 1990866415
>>1990704
> нихуя ему не присвоили
Оператор for in присваивает. И итерирует.
Аноним 09/04/21 Птн 10:30:04 1990869416
>>1990852
где почитать про эту Сессию? Как их менеджить? Где хранить: в памяти или в бд? Примеры реализации..
Аноним 09/04/21 Птн 10:35:07 1990873417
>>1990784
>за твой сервер на фейкере тебя обоссут на собесе.
ты дурак что ле блядь? это просто тестовое окружение и если не идешь на фулстак, ваще похуй какая у тебя заглушка вместо сервера стоит/какой кривизны он написан.
Аноним 09/04/21 Птн 10:36:23 1990874418
Я обыскал весь Интернет и не смог найти способ использования информации из файла JSON в скрипте JS (я хочу чтобы информация из него передавалась в скрипт и я мог использовать её в виде массива). Я отказываюсь верить что JSON файлы нельзя как-то использовать в JS скриптах (в чём тогда их смысл?), но я нашёл только как их использовать с Python. Есть инфа?
Аноним 09/04/21 Птн 10:37:33 1990875419
>>1990873
Если ты чисто фронт, зачем тебе вообще какие-то приблуды для тестовых данных?
Аноним 09/04/21 Птн 10:40:11 1990876420
>>1990756
>Ковырять туториалы и задачки эффективно первое время
Теория
>Сидеть с нуля писать проекты тоже не очень эффективно
Практика
Ты на верном пути
Аноним 09/04/21 Птн 10:40:37 1990877421
Аноним 09/04/21 Птн 10:41:50 1990879422
>>1990875
например хочу протестировать работоспособность до натягивания на сервер
Аноним 09/04/21 Птн 10:44:10 1990881423
>>1990879
ну так и работай с открытыми апи. типа погоды или реал тайм счетчика убитых полицией негров
Аноним 09/04/21 Птн 10:46:15 1990883424
Аноним 09/04/21 Птн 10:53:40 1990886425
Я в шоке, JS и правда не может воспользоваться данными из JSON файлов (Для этого нужно написать 100+ строк NodeJS кода (о чём они думали?)). В чём вообще смысл JSON файлов тогда?
Аноним 09/04/21 Птн 10:57:12 1990889426
фыв.png 42Кб, 1049x660
1049x660
Пиздос.
Аноним 09/04/21 Птн 10:59:55 1990893427
>>1990889
это уже полгода назад было. ты медленный
но я не понимаю в чем бугурт. Это же айтишники. там все левачки
Аноним 09/04/21 Птн 11:00:52 1990894428
>>1990889
Да это говно и так нахер никому не нужно, я так и не понял в чём его смысл.
Аноним 09/04/21 Птн 11:04:24 1990897429
>>1990823
1С и пыха живее всех живых, впору их здесь продвигать, как востребованные и актуальные СНГ-рынком технологии.
Аноним 09/04/21 Птн 11:06:06 1990899430
>>1990897
а вот про руби я оптимистичен не был бы, хайп ушел.
Аноним 09/04/21 Птн 11:12:21 1990904431
330231367035617[...].jpg 66Кб, 600x337
600x337
>>1990899
Через 10 лет всё будут писать только на жс (включая ботов и школьной программы по информатики), браузеры станут полноценными ОС в ОС. А пыха мутирует и заменят плюсы.
Не слежу, что там в бекендах модно нынче.
Аноним 09/04/21 Птн 11:15:42 1990908432
>>1990904
>Через 10 лет всё будут писать только на жс
да и щас стандарт веба де факто жс, да можно пистонить, но то такое.
Аноним 09/04/21 Птн 11:19:18 1990909433
>>1990869
>где почитать про эту Сессию
Например может вот этот пакет раскурить

https://www.npmjs.com/package/express-session

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

>Где хранить: в памяти или в бд
Опять же широкий архитектурный вопрос. Самое простое решение - хранить в памяти процесса самого сервера

>Примеры реализации..
https://www.youtube.com/watch?v=4tIS58sQ7Mc
Аноним 09/04/21 Птн 11:19:57 1990910434
>>1990908
>стандарт веба де факто жс, да можно пистонить
чиво блять? ты подразумеваешь сейчас и бэк и фронт?
Аноним 09/04/21 Птн 11:21:57 1990912435
image.png 9Кб, 472x111
472x111
image.png 15Кб, 654x173
654x173
>>1990886
>Я в шоке, JS и правда не может воспользоваться данными из JSON файлов (Для этого нужно написать 100+ строк NodeJS кода (о чём они думали?)). В чём вообще смысл JSON файлов тогда?

Я в шоке. Вкатывальщики и правда такие тупые, что не могут открыть документацию и прочитать пару строк мана? В чем смысл
вообще вкатываться, если ты такой идиот?
Аноним 09/04/21 Птн 11:23:59 1990914436
>>1990912
А это норм вообще с точки зрения производительности? Хуярить импорты вот так?

другой анон
Аноним 09/04/21 Птн 11:28:30 1990917437
Как сделать так чтобы нодовский скрипт не завершался пока не выполнятся все промисы и макротаски? А то он event loop может завершиться несмотря на то что в нем еще будут висеть промисы (например на запись в файл и т.п.)
Аноним 09/04/21 Птн 11:33:09 1990920438
>>1990917
Вы заебали. У вас сегодня парад какой-то?
Аноним 09/04/21 Птн 11:39:40 1990922439
Mobx
Аноним 09/04/21 Птн 11:48:05 1990928440
>>1990910
фронт, бэк конечно пишут на ноде но это обычно небольшие/средние серваки, крупные не слышал чтоб на ней писали.
Аноним 09/04/21 Птн 11:52:25 1990931441
>>1990914
> с точки зрения производительности
у тебя приложуха 90% времени ждет, какая разница
Аноним 09/04/21 Птн 12:09:24 1990944442
>>1990763
Стартовать с миддла невозможно. Скорее всего ты не знает, что такое "миддл".
Аноним 09/04/21 Птн 12:10:24 1990946443
>>1990920
Щито ты бомбишь, скажи нормально

другой анон, внезапно задумался над вопросом
Аноним 09/04/21 Птн 12:17:21 1990949444
>>1990874
К чистым джейсон файлам, которые у тебя в файловой системе, у скрипта не будет доступа без апишечек. В ноде же можно просто require/дефолтный импорт ебануть.
Аноним 09/04/21 Птн 12:20:06 1990951445
Аноним 09/04/21 Птн 12:20:59 1990953446
>>1990914
Ну а что ты предлагаешь, если этот json всё равно нужен?
Аноним 09/04/21 Птн 12:22:18 1990954447
>>1990951
Нет, мне нужно не принудительно писать await а делать так чтобы прога не завершалась пока у нее есть нерешенные промисы
Аноним 09/04/21 Птн 12:32:42 1990965448
5432.png 15Кб, 549x132
549x132
5342551.png 12Кб, 844x76
844x76
>>1990954
Так ведь и так не завершается ничего пока промис не выполнится, разве нет?
Аноним 09/04/21 Птн 12:47:59 1990977449
>>1990912
Это дерьмо только для nodeJS. Я просто недоумевал, что для того чтобы использовать JSON файлы (У КОТОРЫХ БУКВАЛЬНО В ИМЕНИ ЕСТЬ СЛОВО JAVASCRIPT) нужно скачивать отдельную парашу типо nodejs и что-то с ней делать. Если бы люди работающие над JS были бы белыми и имели IQ выше 100, то они бы просто добавили функцию добавления инфы из файла JSON в скрипт JS.
Аноним 09/04/21 Птн 12:50:57 1990978450
>>1990977
>нужно скачивать отдельную парашу типо nodejs
Блять... тебе и правда надо объяснять почему клиентский жабаскрипт в браузере не может читать/писать произвольные файлы на диске?
Аноним 09/04/21 Птн 12:51:59 1990980451
А гитхаб точно нужен? Мне стыдно свое говно туда выкладывать.
Аноним 09/04/21 Птн 12:54:30 1990982452
image.png 15Кб, 664x228
664x228
image.png 73Кб, 958x776
958x776
>>1990917
>Как сделать так чтобы нодовский скрипт не завершался пока не выполнятся все промисы и макротаски? А то он event loop может завершиться несмотря на то что в нем еще будут висеть промисы (например на запись в файл и т.п.)
Ты немного не прав. Как раз если висят промисы на запись в файл, то ивент луп не может завершиться с нихуя. А вот пустые промисы, как пик 1 - могут. Почему так - ответ на пик 2 пушо промис - это просто обертка над колбэками, схуяли обычная лямбда должна останавливать ноду от завершения процесса?
Аноним 09/04/21 Птн 12:55:07 1990983453
>>1990978
Я всё это понимаю, но меня просто шокировало то, что JS не может использовать JSON файлы (мне даже смешно произносить это предложение, но это правда).
Аноним 09/04/21 Птн 13:04:00 1990990454
>>1990977
>то они бы просто добавили функцию добавления инфы из файла JSON в скрипт JS.
Так они это и сделали, вот только эти файлы ты можешь исключительно через апишечки типа фетча/файлсистема поглощать.
Аноним 09/04/21 Птн 13:33:54 1991014455
>>1990977
Такая функция есть, она называется fetch. А айкью тут у тебя, как у хлебушка.
Аноним 09/04/21 Птн 13:41:19 1991017456
>>1990977
Чел пчелиба, многие фичи не добавляются в жс из соображений безопасности. И примерно 100% всех остальных фич не добавляются туда потому, что тогда просто у тебя будет ровно нулевая поддержка браузеров, а это ровно то, что нужно любому сайту в первую очередь
Аноним 09/04/21 Птн 13:49:31 1991023457
Аноним 09/04/21 Птн 14:31:12 1991065458
Посоны, мне сейчас оффер кинули. Удаленка, зп чуть больше 90к чистыми + ежеквартальные премии в 75% от оклада, дмс и переаттестация для определения грейда каждые полгода. Тим лид и команда оч понравились на собесе. До этого получал 120 на руки (зп была серая и без премий), но это было в офисе и в дс. Коммерческой разработки у меня 8 месяцев опыта + до этого год вкатывался. Я сильно проебусь если его приму? Других вариантов на ангуляре для удаленки особо нет, в основном зовут ковырять реакт.
Аноним 09/04/21 Птн 14:40:44 1991077459
>>1991065
если понравилось то попробуй хуль.
Аноним 09/04/21 Птн 14:49:36 1991086460
>>1991077
Ну я просто хз адекватно это или слишком уж ниже рынка
Аноним 09/04/21 Птн 14:57:18 1991093461
Аноним 09/04/21 Птн 17:35:55 1991227462
>>1990784
>Редукс ты хотел сказать.
в 90% случаев да. Но есть также mobx и совсем редко rxjs.
>Талмудическая хуитка уровня настоящего ООП
Всмысле лол? Хуитка это RESTfull , а REST API это база блять, это знать надо нахуй. Что такое блять заголовок, что такое тело, как сервак это обрабатывает. Какие статусы ответа бывает и все такое.
>Конкретно в контексте джаваскрипта - очередная талмудика.
Лол кек, сейчас 50% от всех вакансий и 80% от нормальных компаний требуют юнит-тестирование. Это кабаны в веб стиудиях ниихуя не тестируют.
>Не используется за пределами петов, как и всякие монги. Для вкатывания сорта sql и то лучше подойдут.
Ясно.
>Пиздец ты ебанутый, за твой сервер на фейкере тебя обоссут на собесе.
Ясно.
>Ну-ка давай рассказывай, как попал на свою первую работу, а то сдаётся мне ты пиздишь как дышишь со своими охуенными советами.
Я катился еще верстаком 3 года назад, пока это еще можно было сделать. Сейчас вакансий верстаков нет. Сразу фронты.
Аноним 09/04/21 Птн 17:39:36 1991232463
>>1990840
https://recharts.org
Пилил такую для реакт проектов, в целом норм. В принципе неплохо кастомизируется, есть самые популярные графики. Доки тоже норм.
Аноним 09/04/21 Птн 17:42:40 1991234464
>>1990889
Пиздуй на завод гречневый. Там тебе и портретик с пыней будет на стеночке висть и леваки с фемками угрожать не будут.
Аноним 09/04/21 Птн 17:47:58 1991240465
>>1990978
Самое забавное, что может. Мне один пхпшник на работе доказывал что может. Я говорю ты хуле мне пиздишь, надо типо сервак поднимать хуе мое, а потом попробовал и блять реально. Попробуй сам положи json в папочку со скриптом и попробуй его дернуть через ajax или fetch. Я ахнул когда увидел что лезет из скрипта. Почувствовал себя чмонькой и извинился перед пхпшником.
Аноним 09/04/21 Птн 17:49:42 1991244466
>>1991065
> 90к чистыми
Блять хватит дэмпинговать рынок.

>на ангуляре
А ну тогда похуй.
Аноним 09/04/21 Птн 19:11:49 1991306467
>>1991086
Так премии же ж, половина зарплаты серая считай.
Аноним 09/04/21 Птн 19:43:51 1991330468
>>1991240
>ajax
>Access to XMLHttpRequest at 'file:///test.json' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.

>fetch
>Fetch API cannot load file:///test.json. URL scheme must be "http" or "https" for CORS request
Аноним 09/04/21 Птн 20:26:22 1991348469
>>1991330
Надо локалхост запустить.
Аноним 09/04/21 Птн 20:27:55 1991349470
105709943351826[...].jpg 52Кб, 500x416
500x416
Аноним 09/04/21 Птн 20:30:07 1991350471
>>1991349
Я кстати мидлую на фронте.
Аноним 09/04/21 Птн 21:32:13 1991396472
>>1991348
А локалхост теперь не сервер?
Аноним 09/04/21 Птн 21:44:15