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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 611 115 127
JS Thread #269 /js/ Аноним 10/03/23 Птн 14:03:56 2635706 1
image.png 51Кб, 250x250
250x250
Предыдущий тред: >>2621834 (OP) (OP)

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

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

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

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Аноним 10/03/23 Птн 14:08:50 2635714 2
image.png 16Кб, 512x512
512x512
image.png 304Кб, 888x1024
888x1024
>>2635706 (OP)
База треда.

Ангуляр для чедов.
Вью для беток.
Реакт для омежек.
Аноним 10/03/23 Птн 14:12:28 2635716 3
>>2635714
Ангуляродед, прими таблетки.
Аноним 10/03/23 Птн 14:20:34 2635726 4
>>2635714
jQuery - для чедо (jjQuery - для гигачедов).
Всё остальное - для петухов.
Аноним 10/03/23 Птн 15:02:35 2635765 5
>>2635714
Next.js для 300кк/нс чедов

Остальное хуйня и не нужно во фронтенд разработке
Аноним 10/03/23 Птн 15:53:14 2635794 6
>>2635765
Что используешь для стилей с некстом?
Аноним 10/03/23 Птн 16:11:44 2635807 7
Гайзы, реквестирую мануал для ДАУНОВ. Сука, представьте человека, который всю жизнь пилил сисярп, а тут надо на кодревью поменять .subscribe на switchMap на фронте... в rxjs... в ангуляре... на ts.

Блять.

Любой гайд из инетов не работает. Модуль не найден. Версия ноды не та. Вы написали код с ошибкой. import * так тоже не правильно.

Есть гайд, который РАБОТАЕТ? Вот просто из коробки:
- npm init, npm instal rxjs, npm run hui

Я много прошу?
Аноним 10/03/23 Птн 16:30:43 2635825 8
Аноним 10/03/23 Птн 16:41:13 2635839 9
>>2635807
Да, фронт держится на говне, палках и некрофилии. Как только ты выходишь за пределы доки ℅либа_нейм% - начинается дрочь с мёртвыми пакетами, разницей в версиях и так далее.
Я так полагаю, случилось что-то уровня субскриб субскрибера субскрибит.
Пара ссылок с переделыванием:
https://stackoverflow.com/questions/61384197/how-to-replace-subscribe-by-mergemap-or-switchmap
https://stackoverflow.com/questions/54090015/rxjs-subscribe-inside-subscribe-with-actions-on-error
Аноним 10/03/23 Птн 16:41:52 2635841 10
Аноним 10/03/23 Птн 16:45:57 2635845 11
>>2635839
вот как раз ничего не случилось. я написал и оно работает. но чел написал, что надо поменять на свичмап. я в душе не ебу почему, что и что такое этот свичмап. мне нужно научиться.

я пытаюсь в учебные туториалы пока. чел сверху дал пара ссылок и они ок:
- у вас нема rxjs, установить?
- да
- хуяк и сразу видно и консоль и веб...

блять, почему у меня в visual code так не получается? яхз. похуй. буду копать это дерьмо пока с этой стороны
Аноним 10/03/23 Птн 16:46:55 2635847 12
>>2635825
если вкратце то эти штуки превращают стртимы стримов в посто стримы, но по разному, те по сути это flatMap но для стримов
switchMap комплитит каждый предыдущий стрим переключая подписку на следующий
mergeMap мержит события со всех стримов в один стрим
concatMap ждет пока предыдущий стрим закомплитится чтобы переключится на следующий
Аноним 10/03/23 Птн 16:48:05 2635851 13
>>2635847
вроде так если я не забыл...
Аноним 10/03/23 Птн 16:52:55 2635859 14
>>2635714
Если бы это было правдой, такие посты были бы не нужны, так что иди прокачивай свою сигму дальше
Аноним 10/03/23 Птн 17:06:02 2635872 15
>>2635794
Sass + css modules. Иногда были проекты на styled-components и emotion, ну такое, средне. Лишнее снижение перформанса, а преимущества перед css modules минимальны. Tailwind многие любят, но я не фанат.
Аноним 10/03/23 Птн 17:07:38 2635875 16
1.jpg 248Кб, 1356x2258
1356x2258
бинг умеет
Аноним 10/03/23 Птн 17:11:28 2635883 17
>>2635872
> Лишнее снижение перформанса, а преимущества перед css modules минимальны.
Есть griffel, который по сути тот же css-in-js, но преобразуется в css при сборке проекта и влияния на пирформаес не имеет.
Аноним 10/03/23 Птн 17:23:00 2635898 18
>>2635883
Да есть и linaria, и stitches, и vanilla-extract, но всё равно на модулях как-то приятнее писать стили
Аноним 10/03/23 Птн 17:43:21 2635919 19
>>2635898
Что ж приятного если нельзя - использовать в именах классов

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

хотя может что-то есть для этого?

мимо
Аноним 10/03/23 Птн 18:56:02 2635974 20
1678463762559.png 9Кб, 643x119
643x119
Аноны, помогите пожалуйста. Я не понимаю в чём проблема. Он не эвейтит Promise.all, после того как отработал всегда возвращает undefined. Хотя я ему список вроде как подаю как и надо.
Аноним 10/03/23 Птн 19:02:32 2635979 21
>>2635974
Я кажется полнейший долбоеб, похоже туда промисы нужно кидать внутрь.
Аноним 10/03/23 Птн 19:11:21 2635990 22
1678464681359.png 16Кб, 529x248
529x248
>>2635974
Работает. Пиздец конечно пришлось кодом насрать ради простой фигни...
Аноним 10/03/23 Птн 19:17:45 2636005 23
>>2635839
>>2635825
>>2635847
если вам интересно, то я написал в чатГПТ: а какого хуя оно так, и оно мне ответило... и я все починил. ахуенно.
Аноним 10/03/23 Птн 19:22:07 2636012 24
>>2635974
>>2635979
>>2635990
Какой-то говнокод. Если передать в Promise.all не промис - вернёт значение как передал.
Может я в глаза ебумь, но честно не вижу в доке жквери чтобы getJSON что-то возвращал, кроме как получить доступ к результату из колбэка.
В твоём случае - передать функцию resolve вторым параметром в getJSON.
И сделай фильтр до запросов, а не засовывая андефайнеды если нет ресурса, или фильтруя постфактум.
Аноним 10/03/23 Птн 19:30:10 2636021 25
1678465811061.png 13Кб, 533x204
533x204
>>2636012
Да, так лучше выглядит, благодарю. Ну и без промиса он андефайнд по кд возвращает.
Аноним 10/03/23 Птн 19:33:40 2636026 26
1678466020933.png 12Кб, 567x156
567x156
Даже так
Аноним 10/03/23 Птн 19:38:41 2636033 27
>>2636021
Да, так как операция по сути асинхронная и выполнится когда-то. И ты в коллбеке говоришь что как только будет результат - верни отрезолвленным промисом.
>>2636026
Норм, если у тебя какие-то ресурсы есть которые всё равно нужны в исходном массиве, можно фильтр убрать внутрь, array.filter().map(), чтобы не мутировать исходный массив.
Аноним 10/03/23 Птн 19:43:00 2636040 28
>>2636033
Понял, спасибо. Но мне как раз не нужны они потом. Одноразовые.
Аноним 10/03/23 Птн 20:04:25 2636073 29
>>2635872
Что скажешь про нововведение с папкой app?
Аноним 10/03/23 Птн 20:52:58 2636122 30
>>2635794
Tailwind. Один раз попробуешь, потом никогда не захочется писать обычный css.
>>2635974
Нахуя ты продолжаешь использовать jQuery в 2023 году? Пользуйся фетчем, он нормально тебе будет промисы возвращать.
Аноним 10/03/23 Птн 20:57:36 2636127 31
based.jpeg 522Кб, 4096x2315
4096x2315
База по фреймворкам
Аноним 10/03/23 Птн 21:00:05 2636129 32
>>2636122
Там просто был метод специально под апи заточен и я решил взять. А на дваче jquery предустановлена, так что мне не надо было самому подключать. Ну а так запомню что лучше фетч.
Аноним 10/03/23 Птн 21:36:57 2636139 33
Есть кто перекатился с фронта на бэк и чувствует себя счастливым?
Аноним 10/03/23 Птн 21:39:25 2636143 34
show.png 10Кб, 270x120
270x120
>>2636122
>Tailwind. Один раз попробуешь,
Попробовал на нескольких проектах, больше не хочу... Тайлвинд для фулкеков
Аноним 10/03/23 Птн 21:40:19 2636144 35
image.png 57Кб, 200x199
200x199
>>2636127
ууу сука, дай Бог через лет 10 хоть бы всё устаканилось
Аноним 10/03/23 Птн 21:41:07 2636146 36
Аноним 10/03/23 Птн 22:18:06 2636214 37
>>2636073
Сырое поделие пока что, с ним как раз css in js не работает из-за react server components, если не ошибаюсь
Аноним 10/03/23 Птн 22:23:28 2636224 38
Аноним 10/03/23 Птн 22:30:46 2636231 39
>>2636224
Та тут дело вкуса
1. Лично мне не нравится засирать классами код
2. Будут кейсы когда придется писать css т.к. tailwind не охвативает всё на 100%
Но для какого-нибудь прототипирования на скорую руку может и пойдёт. Хотя мне, например, не впадлу создать css/scss файлик
Аноним 10/03/23 Птн 22:32:27 2636236 40
>>2636224
За:
- Быстрее пишешь стили
- Быстрее меняешь стили(если дизайнить самому без макета в фигме без таилвинда вообще никак)
- Все в одном файле
- Подобие дизайн системы внутри(отступы с правильными пропорциями, гармоничные цвета)
- CSS файл на приложение имеет предел размера
Против:
- Когда много вариаций у компонента со сложными зависимостями нужны дополнительные тулзы
- Длинные названия классов
- Все что хочешь переиспользовать на делать компоннтом
- У старичков вьетнамскиебутстрапские флешбеки и им кажется что теилвинд это такой же кал
Аноним 10/03/23 Птн 22:41:02 2636244 41
>>2636127
Что за скуфеу-е3-фзз?
Аноним 10/03/23 Птн 22:48:56 2636254 42
>>2636236
Самый главный недостаток - это то что ты засрешь компоненты утилитами тайвинда, а потом кабанчик захочет полностью поменять дизайн и ты будешь свой тайлвинд вычищать вилкой почти буквально. Вообще утилитный подход похож на антипаттерн.
Аноним 10/03/23 Птн 22:52:51 2636256 43
Что местные господа думают о Bootstrap? Слышал много плохого в его сторону. Хочу пояснить что я сам вкатун и только сегодня его потрогал, вроде УДОБНО. Почему его не любят?
Аноним 10/03/23 Птн 22:57:56 2636260 44
>>2636256
Только для админки где кабан будет статистику смотреть и товары на сайт добавлять.
Аноним 10/03/23 Птн 23:00:58 2636262 45
>>2636260
А что не так. С масштабируемостью проблемы? Или какие-то проблемы создает убивая гибкость? Я просто хз, пока выглядит очень удобно как на вкатуна, само обнуляет стили стандартные, кроссюраузерное и быстро можно нашлепывать
Аноним 10/03/23 Птн 23:04:37 2636265 46
>>2636244
https://create.t3.gg/
next+trpc+prisma(+nextauth+tailwind)
>>2636254
Какими утилитами? ты имеешь ввиду функциями, которые вычисляют нужные классы из пропсов?
Это уже решено https://github.com/joe-bell/cva
>>2636256
Бутстрап не нужен. Он был актуален когда то давно, когда кроссбраузерность сеток была проблемой. Сейчас никаких проблем с эти нет и тащить это монстуозное говнище, а также учить то как он работает(а работает он не так как нормальный css или телвинд) не имеет никакого смысла.
Вкатуну вообще надо не выебываться и писать обычный css.
Аноним 10/03/23 Птн 23:06:18 2636266 47
>>2636262
Для вкатуна надо делать сложные дизайны, чтобы взляд цепляло - о этот чел что-то может. А бутстрапы с тайлвиндами это сляпать побыстрику на нищего кабана, у которого деняк на дизайнера нет и съебаться в туман.
Аноним 10/03/23 Птн 23:09:59 2636268 48
Аноним 10/03/23 Птн 23:11:41 2636269 49
>>2636266
>>2636265

Как же ТЯЖЕЛО... Смотрю макеты в фигме со сложным дизайном а там какой-то прям пиздец, куча элементов все летает крутится, интерактивничает, какой-же пиздец это все писать
Аноним 10/03/23 Птн 23:13:47 2636271 50
>>2636268
А в чем проблема собственно? Ну будет у тебя все это в классах, а не в css файле. И так и так сносить все, если дизайн полностью поменялся. Вот только на теилвинде новый быстрее запилишь.
Аноним 10/03/23 Птн 23:20:42 2636275 51
>>2636271
Если у тебя семантическая верстка быстрее будет когда class="button-kupi-deshevle", а не class="p-6 max-w-sm mx-auto bg-white rounded-xl shadow-lg flex items-center ". я просто стили в css поменяю, а блоки на своем месте останутся.
Аноним 10/03/23 Птн 23:22:51 2636276 52
>>2636275
Тайлвинд это как бы ты решил на жс только однострочники писать вместо нормального кода
Аноним 10/03/23 Птн 23:34:59 2636278 53
>>2636275
Каким образом замена параметров внутри . button-kupi-deshevle{ } будет быстрее замены параметров внутри <button class=" " /> ?
Аноним 10/03/23 Птн 23:39:54 2636283 54
>>2636278
У тебя класснейм может начинаться с одних и тех же атомов в разных компонентах. Часть атомов может подстааляться из переменных. С одним класснеймом в 99% случаев ты знаешь где его найти однозначно и сразу. Речь не о людях которые сидят на проекте больше полугода, хотя в зависимости от размера команды и там можно блуждать.

мимо
Аноним 10/03/23 Птн 23:42:14 2636285 55
>>2636278
Элементарно, Ватсон
.button-kupi-deshevle {
@extend .kupi-button;
padding: 2rem;
}

А у тебя копипаста абракадабры из компонента в компонент. В большем проекте не может быть одной кнопки красного цвета.
Аноним 10/03/23 Птн 23:46:46 2636288 56
>>2636283
>>2636285
Такие вещи в нормальных проектах являются элементами дизайн системы и оформлены в виде компонентов. За большую красную кнопку будет отвечать генерализованный компонент кнопки, классы указываются только локальные <GenericButton size="L" theme="danger" classname="mt-2">
Аноним 10/03/23 Птн 23:47:27 2636289 57
поясните почему все носятся с тайлвиндом если есть штуки типа vanilla-extract? Кроме того что ванилла увеличивает время сборки, в чём плюс библиотеки стилей такой как тайлвинд? И как быть если вдруг нужно дохера стилей прописать, эти километровые классы же быстро заебут.
Аноним 10/03/23 Птн 23:49:25 2636290 58
16222893868590.webm 2556Кб, 640x480, 00:00:13
640x480
Аноним 10/03/23 Птн 23:51:52 2636294 59
>>2636288
Теперь ты при переделке дизайна вообще весь фронтенд будешь перепиливать. Еще и в рантайме стили вычислять. Тебя кабан хорошим человеком не назовет...
Аноним 10/03/23 Птн 23:53:29 2636295 60
>>2636256
Я им уже давно пользуюсь.
Он подходит только для верстки, ну может чтобы стилизовать страницы в статическом генераторе.
Нормальное современное приложение на нем лучше не делать!

Подключается он как css, лишние неиспользуемые стили портят тебе СЕО. При обновлении тебе приходиться по всему коду выискивать стили, которые убрали и дописывать нужные.

Одним словом это такая одноразовая вещь, если ты не собираешься развивать и поддерживать код с его использованием то можно заюзать, в противном случае лучше не тянуть.
Аноним 10/03/23 Птн 23:54:19 2636297 61
>>2636294
>Теперь ты при переделке дизайна вообще весь фронтенд будешь перепиливать
Нет, я зайду в компонент и поправлю там стили.
>Еще и в рантайме стили вычислять.
Любой JS фреймворк вычиляет стили в рантайме, когда генерирует верстку, держу в курсе.
Аноним 10/03/23 Птн 23:58:10 2636300 62
Аноним 11/03/23 Суб 00:00:51 2636301 63
>Любой JS фреймворк вычиляет стили в рантайме
О классы вычисляет а не стили, ели ты инлайнов не напихал
>Нет, я зайду в компонент и поправлю там стили.
>theme="danger"
Чтобы добавить новую тему будешь заходить в все компонеты и писать жс код вычисляющий абаракадабру p-6 max-w-sm mx-auto bg-white rounded-xl shadow-lg flex items-center . Даже тут осмысленные класы бы работали лучше и понятнее
Аноним 11/03/23 Суб 00:04:01 2636303 64
>>2636301
Хотя в тайлвинде он тоже будет классы вычислять. Ладно уже задуплятся пора...
Аноним 11/03/23 Суб 00:11:54 2636308 65
>>2636303
Хотя несомненно во вью жс если мы в шаблоне задаим статические классы то компилятор шаблонов вьюжс сделает большую оптимизацию и эти ноды со статическими классами не будут участвовать в change detection. В реакте скорее ничего не поменяется, там нео такого оптимизатора.
Аноним 11/03/23 Суб 01:11:11 2636326 66
>>2635872
Я познал использование темы в styled components и мне очень понравилось писать в компоненте вот такие вещи.
${({ theme }) => theme.selectedTheme.text.primary};

Теперь хочется использовать во всех проектах. Норм затея?
Аноним 11/03/23 Суб 01:28:07 2636337 67
>>2636326
Нахуя всё это нужно, когда есть CSS-переменные. которые вопрос темы давно закрыли?
Аноним 11/03/23 Суб 01:45:29 2636349 68
>>2636337
Хуй знает как на переменных это сделать. Я в корне документа подкидываю тему (из куков или стореджа) и всё, а компоненты везде описаны в одном стиле. А на цсс ещё надо логику прописывать или доп классы какие-то или хз как.
Аноним 11/03/23 Суб 02:40:48 2636382 69
>>2636349
> Хуй знает как на переменных это сделать.
JS программисты
@
2023 год
@
не знают как переключать CSS стили средствами js.


В жс (только в инлайновом скрипте, чтоб прям в html встроен был, иначе при открытии страницы темы мигать будут) выставляешь тему:
document.querySelector(':root').setAttribute('data-theme', '<...>');
здесь же можно проверять какую тему предпочитает пользователь по умолчанию - светлую или тёмную при помощи window.matchMedia('(prefers-color-scheme: dark)');

в CSS пишешь правила, например:
/ Дефолтная тема, так же срабатывает если js отключён. Намекаем браузеру, что она светлая, чтобы он выставил правильные цвета скроллбаров. /
:root {
color-scheme: only light;

--color-background: #f4f4f4;
}

/ Другая светлая тема. /
:root[data-theme="light2"] {
color-scheme: only light;

--color-background: #d3d3d3;
}

/ Тёмная тема. Так же говорим браузеру, что она тёмная. /
:root[data-theme="dark"] {
color-scheme: only dark;

--color-background: #333;
}
Аноним 11/03/23 Суб 02:52:58 2636388 70
>>2636382
Нормуль. Выглядит удобно.
Аноним 11/03/23 Суб 07:30:06 2636420 71
Я два месяца учу JS на learn.javascript и когда добрался до раздела "Типы данных", сложность задач ОЧЕНЬ РЕЗКО возросла. Открывая решение почти каждой задачи возникает вопрос А ЧЕ, ТАК МОЖНО БЫЛО?. По всей видимости, этот учебник явно не для начинающих с полного нуля, поэтому надо искать другой источник знаний. На w3schools мне не понравилось, там JavaScript как-то очень странно преподают, всё как-то в одну кучу будто свалено без особого порядка. На рутрекере нашел курс, но там структура материала тоже своя, то есть не похожа на структуру learn.javascript. И вот теперь думаю - что делать. Заново что ли курс этот проходить? Я же пропустить что-то могу. Или вцепиться в этот learn.javascript? Так и представляю картину: Юзернейм Сычев дрочит непосильный ему учебник больше года, пока Ванька Ерохин за полгода освоил JS при помощи рандомного курса с рутрекера, и уже дорос до мидла, пока Юзернейм еле дополз до конца учебника. Блять, охуенная перспектива, нахуй.
Аноним 11/03/23 Суб 07:55:08 2636435 72
>>2636420
Учил математику в первом классе и всё заебись было, а потом СЛОЖНОСТЬ РЕЗКО ВОЗРОСЛА.
Аноним 11/03/23 Суб 09:32:38 2636466 73
>>2636420
Вообще не понимаю, что вы там учите постоянно.

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

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

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

Курсы, блядь. Видосики.

У вас есть github блять. HN, Lobsters, MDN да даже хабр.
Аноним 11/03/23 Суб 10:09:42 2636515 74
>>2636033
Фильтр и так ничего не мутирует, а возвращает новый массив.
Аноним 11/03/23 Суб 10:35:23 2636538 75
>>2636420
Ты два месяца добирался до раздела "типы данных"? Там же главы в учебниках крошечные.
Третий день читаю, уже дошел до классов, ты в день по слову читаешь, лол?
11/03/23 Суб 10:36:12 2636539 76
>>2636538
Третий день читаешь, а всё на копипасты отвечаешь.
Аноним 11/03/23 Суб 10:42:09 2636544 77
>>2636420
Ты что, с прошлого раза не продвинулся дальше по учебнику? Пахнет копипастой.
Аноним 11/03/23 Суб 10:43:58 2636545 78
>>2636265
Я правильно понимаю, что tRPC имеет смысл только в том случае, если бекенд делает прямо в нексте? Хуита получается, потому что в любом качественном крупном проекте бекенд будет находиться отдельно от фронтенда.
Аноним 11/03/23 Суб 12:05:07 2636607 79
>>2636544
Продвинулся. Прошел числа, строки, массивы, методы массивов. Сейчас решаю задачи в методах массивов. И это пиздец. Всё, на что хватило сегодня - это решить одну задачу, да и то посмотрев её решение. Как же я охуел с решения. Потом еще ЧатГПТ попросил выдать мне задач, подобных этой, чтобы закрепить тему.
Аноним 11/03/23 Суб 12:09:20 2636609 80
>>2636545
> Хуита получается, потому что в любом качественном крупном проекте бекенд будет находиться отдельно от фронтенда.
Потому что ты скозал? Не вижу проблемы даже в чем то крупном сделать основу в нексте, а то что там нельзя микросервисами, в которые некст обращается.

Но если очень хочется отдельно, то можно и так настроить, нужно только чтобы у тебя это все было в монорепе, чтоб типизацию импортировать.
Аноним 11/03/23 Суб 12:11:15 2636611 81
давай по новой.mp4 264Кб, 1280x720, 00:00:01
1280x720
>>2636607
> решить одну задачу
> посмотрев её решение
Аноним 11/03/23 Суб 12:12:24 2636613 82
>>2636611
Да. Потому что я сидел разбирал её, пытаясь понять, что происходит.
Аноним 11/03/23 Суб 12:17:14 2636619 83
>>2636613
Это ты должен главу перечитывать и искать там объяснения, а не подсматривать решение. Название задачи скажи.
Аноним 11/03/23 Суб 12:20:29 2636621 84
Посоветуйте годный курс/гайд/книгу по CSS.

Документация MDN раньше казалась слишком запутанной и хаотичной (по сравнению с учебником Кантора), а теперь ее вроде структурировали, но на всякий случай реквестирую дополнительные источники информации.
Аноним 11/03/23 Суб 12:25:50 2636622 85
>>2636033
>
Спасибо, капитошкаан, теперь найди строчку с перезаписью массива.
Аноним 11/03/23 Суб 12:27:04 2636625 86
Аноним 11/03/23 Суб 12:28:54 2636630 87
Аноним 11/03/23 Суб 12:38:49 2636640 88
Аноним 11/03/23 Суб 13:04:38 2636656 89
>>2636640
Спасибо, потворник хаоса. Больше хаоса этому хаосу!
Аноним 11/03/23 Суб 13:05:01 2636657 90
>>2636619
Самая первая задача в списке.
Аноним 11/03/23 Суб 14:37:58 2636712 91
image 46Кб, 815x620
815x620
Как происходит цикл производства ФРОНТЕНД-ПРОДУКТА? Вот допустим. Вот допустим решил начать с документирования API в Swagger. Потом буду начинать пилить API.js где будут валидаторы для апи и функции работы с ним которые будут непосредственно дергать мои компоненты в /components папке. Нужно будет покрыть это интеграционными тестами, далее начинать писать редуцеры под редукс, их тоже покрыть уже юнит-тестами, потом компоненты и опять на них юнит-тесты, роутер написать, потом еще все это стилизовать.

Это мой план пока, но интересно как происходит в реале разработка? Я вкатун пока, пишу пет по этой схеме
Аноним 11/03/23 Суб 14:40:36 2636715 92
>>2636712
Сумбурно написал, надеюсь кто-то понял что я хотел сказать
Аноним 11/03/23 Суб 14:54:33 2636731 93
Я правильно понимаю, что если мне нужна дата вида 11.03.23, то нужно пердолиться со всякими .getDay(), а аналога DateTimeInterface::format из PHP в JS не завезли в 2023?
Аноним 11/03/23 Суб 14:58:10 2636737 94
изображение.png 64Кб, 870x557
870x557
изображение.png 204Кб, 1189x1196
1189x1196
Пиздец говнокод получился.
Аноним 11/03/23 Суб 14:59:23 2636739 95
>>2636731
Не благодори

```js
const format = (d) => `${d.getDay()}.${d.getMonth()}.${d.getYear % 100}`;
```
Аноним 11/03/23 Суб 15:04:44 2636749 96
>>2636640
Сразу не увидел, что он мутирует исходный результатом фильтра.
>>2636657
Может лучше сразу на завод?
Аноним 11/03/23 Суб 15:07:22 2636752 97
>>2636712
Забей на тесты. Если хочешь потом показывать репозиторий - сделай по одному каждого типа, чтобы продемонстрировать, что ты это умеешь.
Аноним 11/03/23 Суб 15:08:14 2636754 98
Аноним 11/03/23 Суб 15:10:58 2636757 99
>>2636737
>niggers
>nigger
>new_string
О, метишь в яндекс?

else там не нужен. Еще переделай задачу с for (без методов массива), чтобы избавиться от if.
Аноним 11/03/23 Суб 15:13:41 2636761 100
>>2636749
np, вообще писал с телефона и вроде выбирал нужные сообщения, не понял как умудрился ответить анону спрашивающему про прогресс другого анона с типами.
Аноним 11/03/23 Суб 15:14:54 2636765 101
>>2636739
Ты забыл .padStart ещё для ведущих нулей. Не костыли, повторяю.

>>2636754
Пасиб, дядь ECMA, терплю и обтекаю.
Аноним 11/03/23 Суб 15:17:33 2636769 102
>>2636765
Знаю. Но в оправдании скажу что я тут псевдокод писал и не знаю есть ли методы getMonth() or getYear() в объекта. Тем более там валидации нету что это точно дата а не undefined прилетел
Аноним 11/03/23 Суб 15:19:24 2636773 103
>>2636757
>else там не нужен
Почему? Стрелочная функция с несколькими строками обязательно должна что-то возвращать.
Аноним 11/03/23 Суб 15:21:31 2636775 104
Готовлюсь к собесу, пару лет не следил что там сейчас модно. Нужно ли уже вертеть деревья? Что по тайпскрипту часто спрашивают?
Аноним 11/03/23 Суб 15:22:53 2636776 105
>>2636773
Он имеет в виду что код вида
if (...) {
return 1;
} else {
return 2;
}

лучше писать так:
if (...) {
return 1;
}
return 2;
Аноним 11/03/23 Суб 15:24:11 2636778 106
Аноним 11/03/23 Суб 15:25:14 2636780 107
>>2636778
Не всегда удобно, плюс перед return'ами может быть код.
Аноним 11/03/23 Суб 15:25:15 2636781 108
>>2636776
let test_string = "this-is-the-test-string";

camelize = function(str) {

let arrFromString = str.split("-");
console.log(arrFromString);
let niggers = arrFromString.map((item, index) => {
if (index != 0) {
return item[0].toUpperCase() + item.slice(1);
}
return item;

});
new_string = niggers.join('');
return new_string;
}

если без else return item, то не работает.
Странно.
Аноним 11/03/23 Суб 15:27:37 2636783 109
>>2636731
import {format} from "date-fns"

format(rawDate, "DD.MM.YY")
Аноним 11/03/23 Суб 15:42:32 2636798 110
>>2635716
Реактопердикс, спок.

>>2635726
А вот этому деду и правда нужны таблетки.

>>2635765
Это что-то на уровне светл?

>>2635859
Если бы это было не правдой, такие посты были бы не нужны, так что иди прокачивай свою омежность дальше.
Аноним 11/03/23 Суб 15:57:10 2636805 111
image.png 138Кб, 500x356
500x356
>>2636775
>Нужно ли уже вертеть деревья?
Аноним 11/03/23 Суб 19:25:23 2637185 112
>>2636609
Нет, потому что на проектах я никогда такого не встречал. Зачем тогда очень многие делают бек отдельно? Я работал на двух проектах с некстом, там бек был отдельный, один раз на несте, другой на го. Ну и в целом судя по тому, что я изучал, апи с запросами прямо в базу внутри ssr фреймворка делают очень редко.

А если бек и фронт в монорепе, то можно ведь просто сделать пакет с типам, который юзать и там, и там. Или вообще какие-нибудь нестовские дтошки юзать на фронте.
Аноним 11/03/23 Суб 19:43:41 2637203 113
>>2637185
>Зачем тогда очень многие делают бек отдельно?
Отдельный бэк делают в трех случаях
- Бэк становится большим, надо дробить на микросервисы
- Надо делать вещи которые не впишешь в апи функции.
- Переход на Go сэкономит больше денег на серверах чем будет потрачено денег на зарплаты разрабам, которые будут писать на нем те же функции в два раза дольше

Как правило у больших компаний это все три пункта. А васяны делают так потому что «в больших компаниях так делают». На небольшом проекте нет никакого смысла делать бэк отдельно, только больше времени уйдет на разработку.
Аноним 11/03/23 Суб 21:28:14 2637294 114
>>2635706 (OP)
Почему современный веб (его клиентская часть) такой тормозной? Я пока что выделил две причины:
1) Слишком много логики, которая должна быть на сервере теперь находится на клиенте. По сути работа фронтенда - это дернуть ручку, получить какое-то количество данных, провести какое-либо преобразование этих данных и отрисовать. Но некоторые разрабы гоняют огромные объемы данных, совершают над ними преобразования и все начинает виснуть нахуй.
2) Чрезмерное использование готовых компонентов (особенно Ui компонентов). Вместо того, чтоб использовать например input люди тащат какой-нибудь готовый компонент (типа Textfield из MUI), который представляет из себя помимо инпута еще кучу оберток из всякой хуйни. В результате при большом количестве таких компонентов дом дерево засирается и пробуксовывает.
Аноним 11/03/23 Суб 21:30:12 2637295 115
>>2637294
Что ты подразумеваешь под тормознутостью? Какие сайты тебе кажутся тормознутыми?
Аноним 11/03/23 Суб 21:36:16 2637299 116
Лень гуглить, как мне в vitest тестировать неэкспортированные методы из es-модулей?
Аноним 11/03/23 Суб 21:39:32 2637302 117
Посоны я два года катался на vue и nuxt при этом ничего не узнавая от живых тиммейтов (как раз наоборот лол)

И лишь три месяца на одном проекте на реакте с некстом, под крышей пришедшего как раз на один этот прожект на наш дракар дядьки который на реакте/нексте 3-4 года отбегал.

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

Полгода спустя я почти проел всё накопленное бабло и теперь ВОПРОС:
Блять почему этот реакт вытекает отовсюду? Сука как вообще пипл все еще жрёт реакт? Хотя о чем я говорю, десятки миллионов немцев однажды повелись на нацизм

Свитчиться ли на реакт где я провёл только три месяца? Или оставаться в уже обжитом за два года мире вью?

ДЕНЬГА ГДЕ? ГДЕ БАБЛО?
спрашивал это уже пять тредов назад, но единственный ответ был такой, что, типа, вью не идёт для крупных проектов - так что я промолчал от греха подальше и решил спросить еще раз через тредов пять
Аноним 11/03/23 Суб 21:43:17 2637308 118
>>2637294
Раздутые либы в основном. Сам погляди насколько огромен средний node_modules
Аноним 11/03/23 Суб 21:45:30 2637313 119
Аноним 11/03/23 Суб 21:49:51 2637318 120
>>2637313
- Социальная сеть
- Нинужно как и протыклассники
- Заблокировано в РФ

Даже рад, что оно тормозит. Есть другие примеры?

мимо
Аноним 11/03/23 Суб 21:55:05 2637326 121
>>2637318
Да есть такая хуйня. Казалось бы, всё на клиенте, должно летать, а оно что-то пердит-кряхтит. Примерно так же отличаются жабьи гуи и нативные на шинде.
Аноним 11/03/23 Суб 22:16:28 2637349 122
1678281039676596.png 130Кб, 1690x874
1690x874
>>2637294
>1) Слишком много логики, которая должна быть на сервере теперь находится на клиенте.
>2) Чрезмерное использование готовых компонентов (особенно Ui компонентов)
Это не влияет. Да, исполнение замедляется, но современные компьютеры - до опиздинения быстрые, и им не составляет труда обсчитать все клиентские данные под двадцатью слоями абстракций.

Как мне видится, здесь две проблемы:
1. Аутсорс нонеймам, которые набирают техдолга и превращают кодовую базу в нерасширяемое говно, и в итоге любая доработка сайта превращается в простое наваливания еще одной кучи по соседству со старой, ибо иначе - проще переделать сайт с нуля, чем хоть как-то касаться старой.
2. Работники по квотам. Vue, созданный одним единственным азиатом, ебет React, созданный софтверной многомиллиардной корпороцией у которой "дайверсити - наша сила", во все щели по удобству использования не просто так. Если даже чуваки пишущие раст занимаются вот таким (а язык, на минуточку, позиционируется как хардкорная современная высокопроизводительная замена плюсам, на которой можно даже в драйвера) - то чего ты ожидаешь от фронтендеров из воук-техгигантов и спонсируемых ими немытых коммунистов-опенсорсников? Нужно удивляться, как это интернет вообще все еще работает, а не почему он так тормозит.
Аноним 11/03/23 Суб 22:38:53 2637371 123
>>2637203
> - Бэк становится большим, надо дробить на микросервисы
Монолиты не могут быть?
> - Надо делать вещи которые не впишешь в апи функции.
Например?
> На небольшом проекте нет никакого смысла делать бэк отдельно, только больше времени уйдет на разработку.
Аргумент именно в том, что на разработку уйдёт больше времени? Это по опыту говоришь? Я что-то не вижу причин, чтобы разработка отдельного бекенда на несте или экспрессе замедляла разработку, может даже наоборот услорила бы, недели пилить бек прямо в фронтенд репозитории с некстом
Аноним 11/03/23 Суб 22:54:43 2637392 124
>>2637349
>Vue, созданный одним единственным азиатом, ебет React, созданный софтверной многомиллиардной корпороцией у которой "дайверсити - наша сила", во все щели по удобству использования не просто так
Настолько сильно ебет, что переходя со второй версии на третью навернулся, обосрался и сдох
Аноним 11/03/23 Суб 23:35:46 2637430 125
image.png 114Кб, 1163x796
1163x796
image.png 39Кб, 1257x491
1257x491
Привет. Подскажите, насколько целесообразно решать подобные задачки на codewars? Вроде как они умные, требуют логики, математики и всего прочего, но при этом какие-то абстрактные и слишком сложные для меня на данном этапе по крайней мере. Поэтому хотелось бы узнать, многое ли я упускаю, не решая подобные kata?
Аноним 12/03/23 Вск 00:46:45 2637497 126
>>2637430
Если ты не в США живешь - то ты только выигрываешь, не решая подобные задачи. У нас больше прикладную фигню спрашивают, завязанную на язык, типа дебаунсинг написать, асинхронное ожидание события или херню типа такой:
>>2637299
>>2636712
>>2636326
>>2636289
где нужно за пол наносекунды по лицу интервьюера понять, с какой стороны он в такой холиварной войне находится и экспрессивно поддержать эту сторону.
Аноним 12/03/23 Вск 01:19:44 2637510 127
>>2637497
Понял, спасибо! Правда пока только начинаю, так что нихуя из приведённых примеров не понял, но теперь хотя бы спокоен, что не могу решить эти злоебучие kata.
Аноним 12/03/23 Вск 08:34:14 2637558 128
>>2637313
Он и 15 лет назад тормозил по сравнению со всем остальным вебом. Там очевидно криорукие сидят.
Аноним 12/03/23 Вск 10:17:15 2637582 129
>>2637497
если ты не решаешь каты до 4 уровня то это плохой знак
Аноним 12/03/23 Вск 10:24:36 2637590 130
>>2636749
>Может лучше сразу на завод?
Знаешь, анон, может и впрямь на завод будет лучше. Я больше не могу это выносить. Я просидел сейчас 6 часов, но так и не смог заставить себя продолжить занятия. Нет, я попытался. Посмотрел вторую задачу и понял, что даже смотреть на это теперь тошно. Да даже сами мысли о копании в этом дерьме уже вызывают тошноту. Сделай то, сделай сё. Сделай пятой, сделай десятое. КАК? Ах, в учебнике уже сказано? Вот эти вот два жалких абзаца про этот метод - это по-вашему "сказано"? Какого хуя с меня в задачах начинают так спрашивать, будто я два года дрочил эти методы на практике? Какого хуя ко мне такое отношение, как будто я дегенерат, который не может 2+2 сложить? Я что, должен НА ЛЕТУ хватать все эти знания, которые раньше я никогда нигде не использовал, а потом еще и ПРИМЕНЯТЬ их, да таким образом, будто я НАИЗУСТЬ помню всё пройденное в учебнике? Как, сука, я должен запомнить пройденный материал, если я вообще впервые увидел эти новые способы манипуляции с кодом, а потом не использовал их ни на следующий день, ни на следующий за ним день, ни через неделю, ни через две? КАК? То есть я должен наизусть запоминать каждую, сука, мелочь, чтобы потом - ВОЗМОЖНО потом - применить её?

Мне рассказывают, что такое А, рассказывают про Б, рассказываю про существование хуйни С. А потом такие: А ДАВАЙ-КА ТЫ ТЕПЕРЬ А, Б, С ОБЪЕДИНИШЬ И СДЕЛАЕШЬ ИЗ НИХ ХУЙНЮ Г!

ПОШЕЛ НАХУЙ!
ПОШЕЛ НАХУЙ!
ПОШЕЛ НАХУЙ!
ПРОСТО ПОШЕЛ НАХУЙ!

КАК Я ДОЛЖЕН ЭТО СДЕЛАТЬ, ЕСЛИ МНЕ НИ РАЗУ ЭТО НЕ ПОКАЗЫВАЛИ? КАК? КАК? КАК? Откуда я знаю, что ТАК МОЖНО БЫЛО? Откуда я ДОЛЖЕН был это знать? Потом меня еще и унижать начинают за то, что я ПОСМЕЛ НЕ ЗНАТЬ ТАКУЮ "ЭЛЕМЕНТАРНУЮ" ХУЙНЮ. Потом еще и смеются - говорят НУ ИДИ ОХРАННИКОМ ТАМ ИЛИ КУРЬЕРОМ. БУДЕШЬ СТОРОЖИТЬ НАШИ ТАЧКИ ПО НОЧАМ И НОСИТЬ НАМ РОЛЛЫ В ДОЖДЬ И МЕТЕЛЬ, ПОКА МЫ, АЙТИБОГИ, БУДЕМ СМЕЯТЬСЯ НАД ТОБОЙ ИЗ ОКОН НАШИХ НОВОСТРОЕК.
Аноним 12/03/23 Вск 11:16:53 2637639 131
based rms.mp4 8192Кб, 1920x1080, 00:00:06
1920x1080
>>2637349
> немытых коммунистов-опенсорсников
Где бы ты был без опен-сорса? Писал бы свой жквери на каждом проекте.
Аноним 12/03/23 Вск 12:09:48 2637709 132
>>2637590
А вас предупреждали, выкатываться нужно лет в 14, потом заебетесь наверстывать за теми, кому программировать реально интересно.
Аноним 12/03/23 Вск 15:06:48 2637890 133
Анонсы, фронтенд треда не нашел, спрошу здесь.
Можете посоветовать open-source WYSIWYG редактор под Linux для верстки. Желательно с экспортом в React и прочее.
По типу Builder.IO, TeleportHQ, да дохера их сейчас. По любому на каком-то опенсорсе паразитируют.
Аноним 12/03/23 Вск 15:29:34 2637921 134
>>2637582
Интервьюер об этом никогда не узнает.
Аноним 12/03/23 Вск 15:38:04 2637928 135
Посоветуйте бесплатный хороший IDE для веб-разработки.
Брекетс и атом закрылись.
Аноним 12/03/23 Вск 16:08:53 2637980 136
>>2637928
Очевидный VSCode/VSCodium?
Аноним 12/03/23 Вск 16:10:16 2637984 137
Аноним 12/03/23 Вск 16:13:41 2637990 138
image.png 23Кб, 589x98
589x98
Что значит возвращаемый тип void | { [UNDEFINED_VOID_ONLY]: never } на пике? Логически выходит что или void(ничего) или объект у которого должно быть поле с имям определенным через символ который недостать из неоткуда(он обьявлен через unique symbol) и это поле еще до кучи должно иметь тип never. Но почему так? Неужто нельзя просто написать void, зачем добавлять этот непонятный обьект?
Аноним 12/03/23 Вск 16:33:17 2638024 139
>>2637590
Не люблю писать форумные зебры, но давай разберем тобой написанное.

Начнем с того, что ты пиздоглазое мудило
> просидел сейчас 6 часов, но так и не смог заставить себя продолжить занятия
Это вообще показатель расхлябанности. 6 часов себя заставлять и всё равно не сесть - что-то из области фантастики. Начинай думать про то, как будешь сидеть и учиться. Морально к этому подготавливайся до начала свободного времени.

> Вот эти вот два жалких абзаца про этот метод - это по-вашему "сказано"?
Да, если тебе начать разжевывать в деталях - ты только больше запутаешься.

> Я что, должен НА ЛЕТУ хватать все эти знания, которые раньше я никогда нигде не использовал, а потом еще и ПРИМЕНЯТЬ их, да таким образом, будто я НАИЗУСТЬ помню всё пройденное в учебнике
Да, именно поэтому главы такие короткие, чтобы ты мог запомнить. А если разжевывать - то ты главу до середины не сможешь дочитать.

> Мне рассказывают, что такое А, рассказывают про Б, рассказываю про существование хуйни С. А потом такие: А ДАВАЙ-КА ТЫ ТЕПЕРЬ А, Б, С ОБЪЕДИНИШЬ И СДЕЛАЕШЬ ИЗ НИХ ХУЙНЮ Г!
Представь себе, это и называется обучением. У тебя есть инструменты, тебе показали как их применять на базовом уровне, но как их комбинировать и применять на уровне повыше - ты должен дойти сам. Такое же даже в школе с задачами по математике те самые, которые чуть посложнее, где тебе рассказали про математические инструменты раньше, но как их комбинировать - ты должен подумать сам. Или когда в вузике могут дать попробовать доказать теорему. "Делай точно как я" - это к старшему токарю на завод.

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

> НУ ИДИ ОХРАННИКОМ ТАМ ИЛИ КУРЬЕРОМ. БУДЕШЬ СТОРОЖИТЬ НАШИ ТАЧКИ ПО НОЧАМ И НОСИТЬ НАМ РОЛЛЫ В ДОЖДЬ И МЕТЕЛЬ, ПОКА МЫ, АЙТИБОГИ, БУДЕМ СМЕЯТЬСЯ НАД ТОБОЙ ИЗ ОКОН НАШИХ НОВОСТРОЕК.
Ээ, нет, давай я тебя погружу в реальность. Я не в РФ, живу возле моря в Европке, на этой неделе +20 уже было. Если ты не будешь прилагать усилия к учебе - то роллы будешь носить Вазгену и Назифу в квартире в новостройке, которую они купят за мат капитал, а ты навсегда останешься в Мордоре.

Теперь по делу: открывай https://www.w3schools.com/js/default.asp и пробуй этот учебник. Он не очень хороший слишком простой, но тебе пойдет. Ещё начинай learn javascript сначала, но уже не подглядывай в решения. Я в свое время испытал похожие эмоции на задаче, которую из учебника уже удалили. Второй раз должно быть легче и быстрее.
Аноним 12/03/23 Вск 16:57:30 2638063 140
>>2637980
Не хочу продукты майкрософт, они разрабатывают продукты для добычи нефти.
>>2637984
Слишком долго настраивать.
Что скажете про Eclipse IDE?
Аноним 12/03/23 Вск 17:00:08 2638069 141
>>2638063
Так вскопиум свободный. Можешь ещё вебшторм купить или украсть. Или взять какой-нибудь lunar vim.
Аноним 12/03/23 Вск 17:14:14 2638091 142
>>2638069
Но он от майкрософт. Красть нельзя, я фрилансить собираюсь. luner vim сейчас посмотрю, спс. Но вообще не хотелось бы какой-нибудь не популярный IDE юзать где нет плагинов.
Аноним 12/03/23 Вск 17:18:41 2638094 143
>>2638091
В шторме есть месячный триал, можно просто клепать фейкопочту раз в месяц.
А вообще, если такая боязнь майнеров, пиши свой блокнот и работай в нём, как СИшник в той пасте.
Аноним 12/03/23 Вск 17:20:44 2638100 144
>>2638091
Лунар это просто сборка вима чтобы самому не пердолить.
Аноним 12/03/23 Вск 17:30:19 2638110 145
>>2638094
А фейкопочта не попадет под какую-нибудь статью о не надлежащем использовании ПО?
Какие майнеры могут быть в опенсоурсе?
Аноним 12/03/23 Вск 17:32:07 2638111 146
>>2637928
Из хороших только vscode и webstorm
Аноним 12/03/23 Вск 17:36:40 2638116 147
>>2637590
> Какого хуя с меня в задачах начинают так спрашивать, будто я два года дрочил эти методы на практике? Какого хуя ко мне такое отношение, как будто я дегенерат, который не может 2+2 сложить?

Ты сам себе противоречишь. Действительно дегенерат.
Аноним 12/03/23 Вск 17:41:35 2638122 148
>>2637590
>КАК Я ДОЛЖЕН ЭТО СДЕЛАТЬ, ЕСЛИ МНЕ НИ РАЗУ ЭТО НЕ ПОКАЗЫВАЛИ?

Это пиздец.

Блядь, я первые хеловорлды писал, просто по наитию исправляя какой-то рандомный исходный код на си, купленный на диске на радиорынке. Никаких учебнико или даже ридми. Исправлял, компилировал борландом, запускал. Смотрел что изменилось. Повторял итерацию. Выводил шалоны, что есть что и как оно работает.

Мне было ДЕСЯТЬ ЛЕТ. Десять блядь лет.

Каким нужно быть имбецилом чтобы не суметь в паттерн рекогнишен? У тебя IQ сколько? 80? Тесты на IQ как раз выявляют твою способность находить закономерности и проводить анализ. Ты их проходил, или тебе не показали КАК?
12/03/23 Вск 17:53:33 2638135 149
>>2638122
В 10 лет проще, чем в 30. Если что.
Аноним 12/03/23 Вск 18:35:18 2638188 150
>>2637590
У тебя нет никакого желания всем этим заниматься либо ты вообще не любопытный. Человек, который хоть с небольшой симпатией относится к делу вместо нытья уже бы полез в гугл, нарыл там мдн или другие справочные ресурсы, посомтрел еще примеров. Или воткнул видосы на ютубах. Что ты со своим подходом будешь делать когда дойдешь до каких-нибудь замыканий, каррирования, фреймворков? Как ты будешь лопатить новые библиотеки и методы, которых в экосистеме жс как нерезанных собак и каждый раз выходит новое?
Аноним 12/03/23 Вск 19:02:16 2638244 151
>>2638188
встречал несколько раз таких анонов.

загораются, начинают первый хелловорд писать, на дваче создавать треды где просят наставника и всякой помощи.

а через пару дней-недель просто хуй забивают.

и повторяют эту итерацию несколько раз.

хз нахуя им айтишка, если честно.
Аноним 12/03/23 Вск 19:06:22 2638248 152
Хочу сделать дневник локальный с функционалом типа двачерского. Где я в формочке набираю текст, он пишется в хтмл с датой написания.
Какие методы для этого нужны? Я 0
Аноним 12/03/23 Вск 19:07:05 2638251 153
>>2638244
Ну я первое время тоже был не то чтобы в восторге. Но определенный интерес все равно был, и у меня получилось выработать привычку и привязанность к этому делу, да так что на некоторые развлечения просто забил и заменил их кодировыванием. Если человек спустя какое-т овремя все равно не втянется, то тогда только дропать. Но тут мне кажется еще манямирок мешает человеку: он-то уже настроился что станет наносеком, сможет превозмочь все трудности а тут оказалось, что это все просто не его. И с этим может быть не просто смириться. А еще сложнее смириться с тем, что в снговии кроме айти практически ничего нет (для типичного двачера особенно)
Аноним 12/03/23 Вск 19:15:29 2638260 154
>>2638248
Создаешь хтмл-форму с кнопкой отправить, на форму вешаешь onSumbit ивент который создает объект { content: "твой текст", date: new Date() }, свежеиспеченный объект отправляется на сервер фетчом где он сохраняется в бд/файлик. Сервер в ответ на ПОСТ возвращает твой объект. Ты его пушишь в массив таких объектов-дневничков и запускаешь рендеринг который будет рендерить этот массив заметок как ты реализуешь. Это общая схема, нужно будет также написать первичную инициализацию массива заметок чтобы фетчило с сервера все заметки и потом пушило их в массив
12/03/23 Вск 19:21:01 2638268 155
>>2638260
Он же написал, что он 0. Че тебя так разнесло-то. Прекращай выпендриваться.
Аноним 12/03/23 Вск 19:38:44 2638294 156
>>2636798
какая же ты жалкая вниманиеблядь, кек
Аноним 12/03/23 Вск 19:41:41 2638297 157
>>2638248
ты пытаешься построить дом, имея 0 знаний в строительстве. что у тебя может получится? правильно - нихуя. разбей задачу на более мелкие, изучи отдельно нужные части html, работу с инпутами, сохранение и тд. но вообще идея писать напрямую в html-файл звучит крайне странно, никто так не делает.
Аноним 12/03/23 Вск 19:43:33 2638301 158
>>2638260
Я думаю всё намного проще. Должен быть какой-то метод который берёт значение из тега, затем передаёт его методу .innerHTML + Date()
Аноним 12/03/23 Вск 19:49:20 2638308 159
325326.JPG 51Кб, 858x906
858x906
>>2638297
Вот в этом ваша проблема, мудачков, которые обучалками гайдами тренингами засрали весь интернет. Я даже на английском нормального быстрого ввода в язык не нашёл. Везде какое-то нагромождение от псевдоумников хуевых которые хотят тебе дать книгу теории, чтобы потом никому ненужный калькулятор сделать на веб языке.
Где бля гайд, как сделать чтобы набранный мной текст писался в страницу? Где такое, покажите? Это блять самое базовое и простое с чего должны начинать, а не с вот этого
Аноним 12/03/23 Вск 19:59:17 2638315 160
>>2638308
жс не умеет писать в файлы, даунич.
Аноним 12/03/23 Вск 20:01:14 2638318 161
>>2638308
просто не всем хватает мозгов, мотивации и усидчивости, чтобы какое-то направление в айтишке освоить. судя по тому, как ты негативно и агрессивно реагируешь уже на нулевом этапе, тебе не сюда.

возьми html, прилепи к нему js скрипт, в нём повесь обработчик любого эвента, в нём вызови prompt, сделай append нового элемента в страницу. на таком уровне справится любой школьник.
Аноним 12/03/23 Вск 20:04:50 2638320 162
>>2638318
зачем мне осваивать язык для одной микрописечной задачи?
если ты хочешь покататься на коньках ты учишься 5 лет или что?
Аноним 12/03/23 Вск 20:12:41 2638324 163
Аноним 12/03/23 Вск 20:13:02 2638325 164
>>2638320
понятно всё с тобой
Аноним 12/03/23 Вск 20:16:23 2638328 165
я понял что это язык для тёлок
пока
Аноним 12/03/23 Вск 20:16:39 2638329 166
image.png 1293Кб, 1130x720
1130x720
>>2638251
Дисциплина решает, верно.
Аноним 12/03/23 Вск 20:18:05 2638331 167
>>2638308
Ты тот Анон который 3 дня дрочил чатгпт?
Узнал тебя по твоим шизовысерам.
Аноним 12/03/23 Вск 20:18:56 2638332 168
>>2638244
Я так тоже делал на протяжении 10 лет, в конечном итоге устал сдаваться и вкатился, сижу мидлую
Аноним 12/03/23 Вск 20:19:12 2638333 169
Аноним 12/03/23 Вск 20:27:26 2638341 170
>>2638320
> если ты хочешь покататься на коньках ты учишься 5 лет или что
Я, например, падаю, а если не падаю - смешно размахиваю руками. На велосипеде тоже долго учился.
Так точно и тут - нужно время потратить, чтобы задача стала микрописечной. Был тут один такой недавно, курсы валют парсил. Но он хоть догадался у чатГПТ спросить. Попробуй и ты - может он за тебя сделает.
Аноним 12/03/23 Вск 20:27:55 2638343 171
Посоветуйте пожалуйста с чего вкатится в анугляр.
Пока читаю оф сайт и мануал.
С ванильным жс знаком, года 4 назад потыкал из любопытсва но слился на цсс, лул.
Сам сеньор помидор, но до этого писал только на дажве(котлине) / шарпе / плюсах /питуне.
Вдохновлен https://www.baeldung.com/spring-websockets-sendtouser
Хочу у себя на работе такую хуйню внедрить.
Осло, есть ли поддержка кафки / ребита? Под какие БД есть готовые либы? В эластик там например запросы слать(не генерить же дджейсон руками).
Аноним 12/03/23 Вск 20:31:36 2638345 172
>>2637928
intelij idea. ключ украсть в гугле
Аноним 12/03/23 Вск 20:42:51 2638352 173
изображение.png 193Кб, 1797x1021
1797x1021
А хотя в целом понятно как эта хуйня между собой взаимосвязана. >>2638343
Но если есть внемяемые гайды для тех кто уже умеет кодить буду рад ссылкам.
Аноним 12/03/23 Вск 20:43:48 2638354 174
>>2638341
Бля в любом языке есть core, база, основа которую можно давать любому школьнику СРАЗУ. И это не бесполезный хелоуворлд.
Аноним 12/03/23 Вск 21:09:47 2638367 175
>>2638354
Начинай инфоцыганить, запиши свой курс. Предисловие к курсу у тебя уже есть.
Аноним 12/03/23 Вск 21:22:41 2638379 176
>>2638354
Ух бля уникальные иф елсе в КАЖДОМ ЯП! нихуясебе!
Аноним 12/03/23 Вск 22:12:32 2638433 177
>>2638122
Если ты такой крутой, то что ты делаешь в треде по самому (по мнению илитки вроде тебя) дегенератскому языку программирования?
Аноним 12/03/23 Вск 22:46:26 2638462 178
image.png 7Кб, 292x162
292x162
Сап, подскажите, в тайпскрипте есть что ли расширение интерфейсов какое то?
К примеру, у меня есть библиотечный интерфейс, но в либе написано что создав файлик index.d.ts в папке @types, можно дополнить библиотечный интерфейс своими полями и методами. Типа как на пике
Это правда так работает? Че за магия то ебать
Аноним 12/03/23 Вск 23:24:59 2638482 179
>>2638462
>, в тайпскрипте есть что ли расширение интерфейсов какое то?
Есть
interface Dog extends Animal {
breed: string;
}

Ну и то что ты привел тоже работает.
Аноним 12/03/23 Вск 23:44:25 2638491 180
>>2638433
Соломеное чучело.

Ты выдумал себе позицию постороннего человека и просишь ее его обосновать. Подумай, что ты делаешь не так.
Аноним 12/03/23 Вск 23:50:38 2638495 181
Аноним 12/03/23 Вск 23:56:59 2638497 182
>>2638343
> Осло, есть ли поддержка кафки / ребита? Под какие БД есть готовые либы?
Не понял вопроса, ты же про ангуляр спрашивал. Для ноды есть поддержка всех популярных месседж брокеров, есть официальные драйвера для монги и постгрес (остальные бд не знаю т.к. не юзал), есть много орм для разных бд
Аноним 13/03/23 Пнд 00:27:57 2638503 183
image.png 7Кб, 118x327
118x327
Делать 200+ HTTP-запросов через Promise.all() это норма для веб-макакинга? Что-то закрадывается сомнение что нет
Аноним 13/03/23 Пнд 00:38:48 2638506 184
>>2638503
Если запросы независимые, то норма
Аноним 13/03/23 Пнд 00:41:25 2638507 185
>>2638503
Лучше Promise.allSettled(), Promise.all() наебнет все, если хоть одна ошибка будет.
Аноним 13/03/23 Пнд 00:43:58 2638509 186
image.png 5Кб, 404x55
404x55
image.png 15Кб, 417x151
417x151
>>2638506
Там АПИ как на пике что можно брать по одному элементу. Сами id элементов берутся из штук вида что на пик 2. Но суть в том что их там по 100-500 штук. Страница должна отображать к примеру 100 наиболее свежих таких, вот я и взял массив и начал фетчить 100 запросов на сервер. Может их как-то по 10-20 штук подгружать а там пользователь будеж жать на кнопку "следущее" и потом уже следующий пак фетчить?
Аноним 13/03/23 Пнд 00:45:00 2638510 187
>>2638507
У меня там сделано что все что наебнулось не с 200 ОК то улетает исключением до добавление в Promise.all()
Аноним 13/03/23 Пнд 01:02:04 2638519 188
>>2638509
Какой то всратый апи, так не должно быть. Теперь нью сториз должно сразу отдавать статьи или хотя бы превьюшки для них, а индивидуальный запрос уже отдает полную версию.
Аноним 13/03/23 Пнд 06:36:54 2638580 189
Нужен совет. Поизучал фронт. Реакт с редаксом. Есть несколько месяцев после которых в ДС уеду и хочу подтянуть бэк. Какие технологии поизучать? Думал ноду (тем более что пилил парочку учебных вещей на ней) но какие-то сомнения. Может в питон или голанг вложить усилия лучше?
Аноним 13/03/23 Пнд 06:42:23 2638583 190
>>2635765
два чаю

мимомакакавкатившаясявнекстнаугад
Аноним 13/03/23 Пнд 06:59:13 2638586 191
>>2636127

>t3 stack с некстом...

госпаде почему этого дурачка соевого Тео долбаеба кто-то ваще котирует

попробуйте запустить некст напрямую к базе и посмотрите что с запросами происходить начнет, а это ебло высрало, дескать, некст жиес ето бекенд!!
Аноним 13/03/23 Пнд 08:05:59 2638602 192
>>2638586
Что происходить начнёт? Вопрос без подъёба, сам всегда работал на проектах, где для общения с базой был отдельный апи сервер на бекенд фрреймворках. Поэтому не понимаю какие профиты от этого trpc, приложения уровня туду листа что ли делать, не более.
Аноним 13/03/23 Пнд 09:40:52 2638648 193
>>2638602
ваще есть годный канал по нексту на ру пространстве в телеге.

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

а дело вот в чем: рантайм некста помимо подключений к бд и прочему отвечает еще и за статику и собирает страницы и подтирает память и остальные запросы обрабоать тоже ему же надо, ревалидация и тд. однопоток же. на локалхосте апи некста 50мс запрос отправляет, и это один, будет их дохуя - выйдет так что до таймаута дойдет, потому что не будет влазить больше

поэтому проще всю эту ебаторию скидывать на бек, а некст пусть работает как фронт
Аноним 13/03/23 Пнд 10:14:36 2638655 194
>>2638510
А нахуя, если есть Promise.allSettled()? Если твой код взлянуть - по Promise.all() можно подумать, что ты ожидаешь, что каждый запрос будет успешным.
Аноним 13/03/23 Пнд 10:36:04 2638671 195
>>2637392
Поясни че не так с 3 версией, мб из-за того что вьютифай обосрался популярность могла упасть у вью 3?
Аноним 13/03/23 Пнд 10:44:20 2638677 196
>>2638648
Тут один персонаж писал, что ничего плохого нету в том, чтобы на нексте апишку писать >>2637203
Аноним 13/03/23 Пнд 11:33:12 2638729 197
>>2638519
Полностью согласен. Но что есть то есть. Приходится новости подгружать
Аноним 13/03/23 Пнд 12:31:14 2638780 198
Аноним 13/03/23 Пнд 12:49:53 2638807 199
next с app директорией + редакс нельзя использовать?
Только с старым некстом и некст-редакс-враппером?
Аноним 13/03/23 Пнд 13:32:06 2638833 200
>>2638807
> next с app директорией + редакс нельзя использовать?
В серверных компонентах вообще никакие хуки нельзя использовать. А для клиентских ничего не поменялось.
Аноним 13/03/23 Пнд 17:13:47 2639060 201
>>2638677
нассать ему в рот за такое
Аноним 13/03/23 Пнд 17:47:35 2639112 202
Уймитесь уже наконец. Не будет никогда серьезного и стабильного применения жс на бэке. Поигрались в последнее время и хватит. Щас вот с голангом еще наиграются и все. Вы не вытесните мастодонтов вроде жавы и сишарпа с серьезного рынка бэкенда, а мелочи можно и на пхп с питоном писать.
Аноним 13/03/23 Пнд 18:08:18 2639145 203
>>2639112
А питон как сюда пролез?
Аноним 13/03/23 Пнд 18:10:31 2639151 204
>>2639145
Он вообще везде пролез, несмотря на все попытка гвидо его уничтожить таким-то переходом на третью версию.
Аноним 13/03/23 Пнд 18:15:19 2639160 205
>>2639151
Может это не питон, а червь пидор?
Аноним 13/03/23 Пнд 18:52:21 2639210 206
image.png 4Кб, 548x52
548x52
>>2635706 (OP)
Сап адептам фронта. Имеется пикрил кнопка. Из-за проблемы даблклика прикручен onClick скрипт, который блокирует кнопку после нажатия. Проблема состоит в том, что теперь в request.POST нету name="my_pook". Как бы атрибут name подсунуть в onClick? Может есть ещё способы опознать, что была нажата именно кнопка Пукнуть? this.name="my_pook"; не работает.
Аноним 13/03/23 Пнд 18:59:27 2639224 207
>>2639210
Вместо откючения ставь кнопке стили с pointer-events: none; и потом сабмить. Отключённые элементы не передаются на сервер.
Аноним 13/03/23 Пнд 19:04:52 2639232 208
>>2639224
Спасибо, попробую. А саму форму нельзя как-то пометить? Name пробовал, не отправляется. В стили очкую лезть из-за адского зоопарка, но если вариантов не будет, придётся.
Аноним 13/03/23 Пнд 19:23:08 2639249 209
>>2639224
>pointer-events: none;
Блин, понял твою идею. Благодарю, работает.
onClick="this.style='pointer-events: none;'; this.form.submit(); this.value='Пук…';">
Аноним 13/03/23 Пнд 22:26:41 2639365 210
>>2639112
> Не будет никогда серьезного и стабильного применения жс на бэке
Так уже давно есть. Ты нам из 2013 пишешь?
> Поигрались в последнее время и хватит
Не хватит, рост популярности ноды только растёт со временем, а теперь ещё и дино есть, bun недавно завезли.
> Вы не вытесните мастодонтов вроде жавы и сишарпа с серьезного рынка бэкенда
Будто есть такая цель. Это не значит, что на ноде не пишут серьезные бекенды.
> а мелочи можно и на пхп с питоном писать
Зачем, если есть нода, которая практически во всём лучше? Ну спасибо хоть мёртвый руби не упомянул, а то совсем кринж был бы.
Аноним 13/03/23 Пнд 22:55:14 2639396 211
>>2638586
>>2638648
>попробуйте запустить некст напрямую к базе и посмотрите что с запросами происходить начнет, а это ебло высрало, дескать, некст жиес ето бекенд!!
Во-первых бенчмарки в студию.
Во-вторых рекомендую тебе узнать что такое серверлесс, а заодно и своему любимому ютуберу рассказать.
Аноним 13/03/23 Пнд 23:12:04 2639408 212
>>2639396
> серверлесс
Чтобы отдавать тонны бабла амазону?
Аноним 13/03/23 Пнд 23:22:39 2639425 213
>>2639408
Если твоя задача чтобы твой магазин не лег под пиковой нагрузкой, которая у тебя четыре дня в года то серверлесс тебе отлично подойдет.

Если же у тебя постоянная большая нагрузка то у тебя уже есть нжинкс за которым висит столько реплик некста сколько тебе нужно. Если не хватает запускаешь еще, а не считаешь копейки вроде того что сср у тебя влезает в ресурсы, а сср и вызов в базу уже не влезает.
Аноним 13/03/23 Пнд 23:34:01 2639432 214
>>2639425
Да в несте же всё равно удобнее делать апиху, там из коробки всё необходимое, а в нексте нихуя нет, только роутинг запросов как в экспрессе, всё остальное самому писать
Аноним 14/03/23 Втр 01:06:59 2639469 215
Господа, поясните, можно ли на ванильном жсе сделать типо SPA?

Надо так, есть куча файликов html, и есть один index, где я функциями рендерю код нужного html файлика.

Не спрашивайте зачем, так надо
Аноним 14/03/23 Втр 01:15:49 2639472 216
Аноним 14/03/23 Втр 01:18:21 2639473 217
>>2639472
Не, в том то и суть, что урл должен оставаться неизменяемым.

Не знаю как проще объяснить.
В общем есть index.html - без разметки. Есть куча других hui.html, pizda.html

В index.html я подписываю на некоторые ивенты, и когда мне прилетает событие hui, я должен взять hui.html и поместить в index.html, чтобы он остался на этом же урле.

Я понимаю что можно в один файл все нахуярить и делать block-none на блоки, но файл тогда раздутый будет
Аноним 14/03/23 Втр 01:21:25 2639474 218
>>2639472
>>2639473
А вообще да, pushState это оно самое. Спасибо
Аноним 14/03/23 Втр 01:34:54 2639475 219
Поясните за StrictMode в реакте? Кто пользуется? Я по дефолту его поставил на всё приложение и появились ебанутые ререндеры, из-за которых я насрал в базу, насрал в UI в некоторых местах (несколько одинаковых элементов высрал). Не сразу вообще понял откуда ноги растут, а потом вспомнил, что стрикт мод этим промышляет. Как им правильно пользоваться?
Аноним 14/03/23 Втр 01:39:22 2639476 220
>>2639473
Ну тут, ты можешь использовать index.html как условный layout с плейсхолдером для других страниц, а на нужное событие обновлять историю браузера с нужным URL чтобы отражать переход без рефреша страницы. Альтернативно, можно завязаться на хеши и ебаться с window.location (изменение только хеша будет без рефреша, можно и на событие смены хеша подписаться тоже если надо).
Аноним 14/03/23 Втр 04:41:56 2639488 221
>>2639475
В стрикт-моде некоторые хуки (например useEffect) выполняются два раза. Видимо вы эти хуки используете неправильно и потому у вас и идёт двойная запись в базу, тот же useEffect должен быть обратимым, т.е. при вызове функции которая возвращается внутри хука, все его изменения должны быть отменены. https://beta.reactjs.org/reference/react/useEffect#my-effect-runs-twice-when-the-component-mounts
Аноним 14/03/23 Втр 06:44:41 2639506 222
Что можно в качестве подспорья осваивать, сидя в телефоне?
Учусь в вузе, соответственно достаточно времени приходится проводить вдали от ноута, за которым удобно изучать язык, поскольку можно сразу писать код.
Уровень абсолютно начальный, только-только разобрался с основами того, что такое объекты, массивы, this.
Что можно читать/изучать/смотреть на телефоне, чтобы пусть даже с 10% эффективностью добавлять к своему перформансу?
Аноним 14/03/23 Втр 09:38:41 2639534 223
У меня в резюме один недоделанный сайт
Аноним 14/03/23 Втр 13:29:46 2639722 224
>>2639506
Книги читай. Изоппика шапки ньюфаг-треда. Все по порядку и читай.
Аноним 14/03/23 Втр 13:30:56 2639724 225
>>2639506
Общайся с тяночками пока в вузе, знакомься с ровными пацанами. Иначе потом хуже будет.
Аноним 14/03/23 Втр 13:50:52 2639755 226
Аноним 14/03/23 Втр 14:37:12 2639816 227
Аноним 14/03/23 Втр 15:29:57 2639881 228
Уже в /xo/ писал, но думаю что и для этого тредика подойдет.
Сап, чуваки. В данный момент нахожусь на этапе поиска работы фронтом. Разумеется, конторы пидорасов отказывают, т.к. опыта нет. Имеются проекты на React, Redux, MobX и TypeScript.
Слышал, что норм прокачать навыки работы в команде можно на опенсорс проектах. Вопрос - где я мог бы найти подобные?
Алсо планирую в резюме наебывать эти самые конторы по опыту работы, но обосраться с навыками тимворка не очень хочется.
Аноним 14/03/23 Втр 16:33:56 2639954 229
>75 vulnerabilities (12 low, 15 moderate, 44 high, 4 critical)
CRA из коробки.
Аноним 14/03/23 Втр 17:16:29 2640010 230
>>2639954
>2023 год
>cra
Ебало представили?
Аноним 14/03/23 Втр 17:23:29 2640018 231
>>2640010
Так дока реакта сама говорит использовать.
Аноним 14/03/23 Втр 17:38:46 2640033 232
image.png 354Кб, 1860x482
1860x482
>>2640018
дока говорит что он для обучения, для продакшена они рекомендуют некст. сра для обучения тоже тупо, но их позиция в том что они будут переделвывать сра поэтому менять не будем.
Аноним 14/03/23 Втр 17:45:40 2640043 233
>>2640033
Если мне ваш SSR нахуй не нужон? На какой стул садиться?
Аноним 14/03/23 Втр 17:50:12 2640048 234
Аноним 14/03/23 Втр 17:54:28 2640050 235
>>2640048
Ебашить всё Client Components'ами?
Аноним 14/03/23 Втр 17:56:54 2640053 236
>>2640050
Ну если ты зачем-то делаешь с бета-версией app-каталога, то да. В pages компоненты по умолчанию клиентские и ничего делать сверх не надо.
Аноним 15/03/23 Срд 08:30:47 2640657 237
aadf48d2f864cef[...].jpg 17Кб, 800x494
800x494
Поясните за Редукс и его актуальность в 2023-м? Сталкиваюсь с разными мнениями на его счет. Одни говорят что не нужен, так как есть стейт менеджеры более легковесные и простые. Другие говорят, что там есть заебатый rtk-query со всякими автогенерациями типизированных хуков для дерганья апишек, который заткнул за пояс всякие графкл аналоги и что есть смысл юзать уже хотя бы поэтому.
Аноним 15/03/23 Срд 08:56:33 2640671 238
>>2640657
Redux-toolkit охуенный, 90% проектов делается на нём
Аноним 15/03/23 Срд 10:03:25 2640698 239
>>2640657
Почти все проекты на нем, актуальность высока. Но в действительности это кал на 90% состоящий из бойлерплейта.
Аноним 15/03/23 Срд 10:07:21 2640700 240
>>2640698
Ты из какого года вещаешь? С тулкитом бойлерплейта стало очень мало.
Аноним 15/03/23 Срд 10:09:32 2640701 241
>>2640700
Попробуй какой-нибудь zustand для пета, затем вернись на свой проект с тулкитом и охуей.
Аноним 15/03/23 Срд 10:15:08 2640705 242
>>2640701
Я в петах и так его использую, из догоняющих редакт он самый лучший по моим ощущениям. Но как бы редакс тулкит не намного хуже, а на работе почти всегда он. Это не так, как раньше, с ебучими mapStateToProps и без кучи удобных фич из коробки
Аноним 15/03/23 Срд 11:37:55 2640777 243
>>2640657
Реакт кверя + контекст решает 90% задач. Редукс нужен только в очень особенных случаях.
Аноним 15/03/23 Срд 11:55:45 2640787 244
Если в 2к23 мне нужно сверстать таблицу с кучей строк и столбцов, то для этого нужно использовать table или div?
Аноним 15/03/23 Срд 12:05:10 2640796 245
>>2640787
По семантике table, а вообще как хочешь. Хоть каштомные теги используй: <govno><mocha></mocha></govno><concha></concha>
Аноним 15/03/23 Срд 12:12:46 2640802 246
>>2640777
Контекст же заставляет ререндериться вообще всё дерево чилдренов внутри провайдера, нахуя такое счастье нужно?
Аноним 15/03/23 Срд 12:30:54 2640815 247
>>2640787
Если это таблица, то тег должен быть table.
Аноним 15/03/23 Срд 12:31:02 2640816 248
>>2640802
> Контекст же заставляет ререндериться вообще всё дерево чилдренов внутри провайдера, нахуя такое счастье нужно?
И что тут такого? Всё равно если ничего реально не изменится дальше виртуал дома эти ререндинги не уйдут.
Аноним 15/03/23 Срд 12:32:58 2640818 249
>>2640802
Ты не поверишь, что такое редакс под капотом, верхнеуровневый контекст с объектом помойкой, который нужно пересоздавать, как это обычно реакте, чтобы он что-то перерисовал.
Аноним 15/03/23 Срд 12:35:56 2640822 250
>>2640787
Если не table и волнуешься о метрики хоть чуть-чуть при этом - то можно как сказал анон >>2640796 только развесить role атрибуты корректно.
Аноним 15/03/23 Срд 12:48:23 2640829 251
>>2640787
> в 2к23
Для этого используют ChatGPT.
Аноним 15/03/23 Срд 12:57:03 2640840 252
>>2640818
Ты не поверишь, то при использовании редакса ререндерятся только компоненты, подписанные на редакс стейт, и их чилдрены. В отличие от кейса с использованием контекста вместо стейт менеджера, когда даже если компоненты не подписаны на контекст, то при изменении данных в контексте будет перерендер вообще всего, что находятся внутри провайдера.

>>2640816
Ничего такого, просто перформанс как полнейшее говно говна в итоге получается. У того же вью, каким бы богомерзким он ни был, нету такой проблемы, ничего лишнего никогда не ререндерится, поэтому вью ебёт реакт в бенчмарках. Свелт и подавно. Даже ангуляр стал лучше реакта по перформансу. Он даже в килобайтах, передаваемых по сети уделяет реакт. Позор.
https://krausest.github.io/js-framework-benchmark/current.html

Если что, пишу на реакте, точнее нексте. Приходится, хуле. Работы дохуя именно на этом стеке.
Аноним 15/03/23 Срд 14:15:47 2640910 253
>>2640840
Ты ведь в курсе, что редаксы последних версий работают поверх контекста?
> Once the store is created, we can make it available to our React components by putting a React Redux <Provider> around our application
Аноним 15/03/23 Срд 14:43:18 2640955 254
>>2640840
Хорошо, ререндеры.
Connect адепт? Что тебе мешает самому использовать React.memo? Ты де тогда понимаешь, что connect в свою очередь помимо оборачивания твоего компонента, ещё и заворачивает его в React.memo?
useSelector напротив обращается к контексту через useContext, и компонент его использующий не мемоизирует, ибо аювызывается из него. Но это можно сделать так же самому, как с обычным контекстом.
Аноним 15/03/23 Срд 19:57:55 2641454 255
>>2640840
>точнее нексте.
Ну это знатная тормозятина так-то.
Аноним 15/03/23 Срд 21:36:19 2641542 256
image.png 26Кб, 699x398
699x398
Аноны, подскажите, насколько моё понимание работы .call() и .apply() ошибочное? Возникнут ли у меня с таким пониманием проблемы в будущем?

Call() по сути временно создаёт в нужном объекте метод, равный функции, к которой применяется call. Затем метод вызывается в этом объекте, а затем удаляется из него.
(А если указывается function.apply(null, [arguments]), то функция вызывается в глобальном объекте.

Норм ли понимать работу этих методов функций таким образом?
Аноним 15/03/23 Срд 21:38:32 2641546 257
У вас было такое, что убираешь из кода console.log и он перестаёт работать? Что за бред у меня получился
Аноним 15/03/23 Срд 21:40:55 2641548 258
>>2641546
Хрюкнул. Что там у тебя консоль лог чинит в коде.
Аноним 15/03/23 Срд 21:42:51 2641551 259
>>2641542
> Норм ли понимать работу этих методов функций таким образом?
Нет, не норм. Лучше представь this внутри функций как неявный аргумент, который при нормальном вызове js-движок выставляет в определённое значение в зависимости от того как функция вызвана (если вызвана как obj.func(), то в this пойдёт выражение перед точкой, после которой идёт имя функции, иначе зависит от режима работы скрипта). .apply и .call просто позволяют явно указать этот неявный аргумент this и всё.

Ну и стоит сказать про стрелочные функции, у которых this всегда берётся сверху области видимости и изменить его каким-либо другим способом (хоть .apply, хоть .call, хоть .bind) невозможно.
Аноним 15/03/23 Срд 21:49:23 2641560 260
image.png 27Кб, 646x526
646x526
>>2641551
То есть как бы чисто на момент вызова функции все this внутри функции заменяются на объект, переданный первым аргументом в call() и apply()?
Аноним 15/03/23 Срд 21:51:00 2641562 261
>>2641548
Ну я щас тебе отправлю код и ты ахуеешь ну или ты найдёшь косяк и расскажешь.
https://pastebin.com/efVsLm2D
В конце функция watch, console.log(event).
Чтобы затестить код, нужно создать рядом файл command.txt и написать в нём
create a file путь до файла, и сохранить пару раз попробуй, а потому убери лог и перезапусти
Аноним 15/03/23 Срд 21:53:42 2641568 262
>>2641560
Ну, как и в нормальные параметры подставляется то что ты передал при вызове, так и в this пойдет первый аргумент .call/.apply. Замены как бы никакой и нет, просто вместо автоматического выставления this, ты указываешь напрямую что туда записать.
Аноним 15/03/23 Срд 21:54:35 2641569 263
>>2641568
Стало понятнее. Спасибо!
Аноним 15/03/23 Срд 22:08:14 2641577 264
>>2641562
Причём везде этот watch с консоль логом пишут на стековерфлоу том же, но пояснений я не нашёл
Аноним 15/03/23 Срд 22:26:18 2641592 265
>>2635513 →
А есть ресурсы, которые сразу обучают писать на тс минуя жс?
Про что там тебе первее расскажут, как интерфейсы писать или про объекты жс? Хуйню не городи, читай лернджаваскрипт Илюхи, как все норм пацаны с треда, потом посмотри видео курсик по тайпскрипту. Код вообще можешь не писать на этих этапах, на работе 300к/сек успеешь этим заняться.
Аноним 15/03/23 Срд 22:26:52 2641594 266
image.png 514Кб, 1080x828
1080x828
>>2641560
>>2641542
Зря тратишь время, вкат закрыт, чатЖПТ всех порешал.
Если это хобби, то ок.
Аноним 15/03/23 Срд 22:28:27 2641596 267
>>2641592
> А есть ресурсы, которые сразу обучают писать на тс минуя жс?
ChatGPT можно нихуя не учить.
> на работе 300к/сек успеешь этим заняться
Не успеет
Аноним 15/03/23 Срд 22:39:20 2641603 268
В sql есть знак %, например like "%a" будет значить Все запросы заканчивающиеся на a
Как реализовать такое же в жс? Есть аналог %?
Аноним 15/03/23 Срд 22:41:32 2641606 269
>>2641603
Есть регулярные выражения. Их и используй.
Аноним 15/03/23 Срд 22:43:34 2641608 270
Аноним 15/03/23 Срд 22:46:58 2641612 271
>>2640802
если ты в провайдера пробрасываешь чилдренов сверху то при изменении контекста будут ререндериться только те компоненты что используют контекст
Аноним 15/03/23 Срд 23:08:20 2641629 272
>>2641608
>Template literals
Они не для сравнений
Аноним 16/03/23 Чтв 00:03:30 2641698 273
>>2640910
Я знаю, но ререндерится только те компоненты, которые подписаны на стейт через useSelector или connect

>>2640955
Какой connect в 2023? Я юзаю useSelecor и где нужно React.memo. Проблема в использовании обычного реакт контекста в качестве глобал стейт стора, при изменении данных будет ререндерится вообще всё, что внутри провайдера. При использовании редакса не будет ререндерится вообще всё внутри провайдера, если в стейте редакса что-то поменялось.

>>2641454
К нексту нет претензий, он делает реакт только лучше. Я жду, когда в реакт завезут компилятор, которые будет автомемоизировать всё необходимое, тогда реакт сильно взлетит по перформансу.
Аноним 16/03/23 Чтв 05:05:20 2641781 274
>>2641698
>при изменении данных будет ререндерится вообще всё, что внутри провайдера.
пиздабол
возьми блять и проверь
ререндерится только те, которые используют useContext
Аноним 16/03/23 Чтв 10:00:48 2641845 275
Аноним 16/03/23 Чтв 10:07:22 2641847 276
image.png 37Кб, 428x503
428x503
Кароче не советую никому вкатываться, походу реально заменят всех наносеков нейросетками
Аноним 16/03/23 Чтв 10:49:43 2641860 277
>>2641847
ВРЁТИ ВРЁТИ ЛАЛАЛА Я НЕ СЛУШАЮ

серьёзно блядь, хватит мучать, заменяйте и увольняйте к хуям, заебало жить в страхе за свою жёпу
Аноним 16/03/23 Чтв 10:51:26 2641862 278
>>2641860
Да я же прикалываюсь или нет? Я уже запутался
Аноним 16/03/23 Чтв 10:53:46 2641865 279
>>2641862
Нет, ты не троллишь, ты серьезно.
Аноним 16/03/23 Чтв 12:47:54 2641942 280
>>2641847
А если как хобби?
За бесплатно или даже за дешево простому ивану город тверь никто же её не будет давать
Аноним 16/03/23 Чтв 13:20:34 2641959 281
>>2636144
на подходе веб 3.0 и смена парадигмы
Аноним 16/03/23 Чтв 13:22:09 2641960 282
>>2641942
Ты справшиваешь у меня можно ли тебе заниматься хобби?
Аноним 16/03/23 Чтв 13:37:14 2641973 283
>>2641959
Веб 3.0 это очень условная описательная хуйня, как и веб 2.0, только в отличии от 2.0, который придумали когда он уже типа наступил, тут никто даже приблизительно не знает что это нахуй.
Аноним 16/03/23 Чтв 13:53:50 2641997 284
1678964030037.png 76Кб, 352x352
352x352
>>2641847
Заказао себе exit bag, пусть лежит до наступления неминуемого нейропиздеца, который уже на пороге. Больше нам нет места в этом мире.
Аноним 16/03/23 Чтв 18:47:36 2642338 285
Некст жабаскриптизёры, подскажите. Вот у меня некст приложение, в котором на каждом роуте нужен коннект с базой данных (один коннект, но с разных роутов). (монго), я посмотрел пример
https://github.com/vercel/next.js/tree/canary/examples/with-mongodb

Тут коннект идёт с рут роута '/', а если юзер зашёл, например, '/profile', мне надо такую же getServerSideProps дублировать в пейдже для profile?. Пытался подключение делать в _app, через getInitialProps, пишет Can't resolve 'dns' в /mongodb@5.1.0/node_modules/mongodb/lib/cmap/auth/gssapi

Как правильно связать монгу и некст? Алсо, у меня представление такое:
-При первом рендере, апликуха подключается к базе (на одного юзера, один коннект), но как сделать этот коннект из любого роута?
-Любой пук в базу проверяется, есть ли у юзера креденшелсы для этого (через токен из локалстореджа или через куки, не важно)
-Нужно проверять, есть ли у конкретно этого клиента коннект, что бы не дублировать

Или надо как-то реализовать, что бы коннект к базе создавался на этапе билда приложения, а не по запросу апликухи от клиента?
Аноним 16/03/23 Чтв 19:10:06 2642357 286
>>2642338
Чую из-за ИИ код снова превратится в древнее доброе пхпшное - запросы к бд прямо из вьюх. И все остально такая же лапша. Не потому что ИИ чего-то не может, а потому что операторы ИИ будут спецами уровня операторов ЭВМ.
Аноним 16/03/23 Чтв 19:14:52 2642362 287
>>2642338
Короче если хочешь счастья пиши бек на языках с нормальными большими фреймворками. То есть пыха, жава и шарп. Или иди нахуй.
Аноним 16/03/23 Чтв 19:24:55 2642369 288
Привет, аноны, вопрос по юзерскриптам. Такое дело, мой скрипт разросся уже до 1500+ строк и мне стало тяжело его поддерживать. Ну не совсем тяжело, но из-за того что всё нужно держать в одном файле я начинаю люто говнокодить и копировать однотипный код который можно было бы обощить. А как-то исправлять его в одном файле лень и тяжело, тем более что мне нормально IDE не помогает.

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

https://stackoverflow.com/questions/41212558/develop-tampermonkey-scripts-in-a-real-ide-with-automatic-deployment-to-openuser
https://github.com/Trim21/webpack-userscript-template
Аноним 16/03/23 Чтв 19:38:02 2642386 289
Можно кстати как-то ещё и автоматизировать процесс деплоя юзерскрипта? К примеру:

Сделал изменение -> пушнул на приватный гитхаб -> гитхаб каким-то образом из папочек собрал полноценный скрипт для tampermonkey -> с гитхаба загружаем этот скрипт на unlisted greasyfork -> юзеры имеющие ссылку получили обновление.

>>2642369
Аноним 16/03/23 Чтв 19:39:29 2642389 290
>>2642357
>запросы к бд прямо из вьюх
Почему бы и нет? Некст же. Ну вот зашёл на условные '/posts' запрос на handler next'а, тот в базу и возвращает посты. Вопрос в том, как сделать, что бы этот handler не делал каждый раз коннект к базе, а был уже законнекчен на уровне всего приложения, или так не далают, а коннектят на каждый handler? Я смотрю статьи с nextJs + mongo, там делают коннект на каждом запросе и в конце дисконнект. Либо коннект на одной странице из pages (что заставляет делать коннект на каждой существующей, если они нужны). Получается дублирование кода и я не понимаю в чём преимущество такого подхода над тем, что бы глобально законнектиться к базе один раз. Короче, нужно опытное мнение.

>>2642362
>Или иди нахуй
Только и делаю, что хожу, всю жизнь.
Аноним 16/03/23 Чтв 20:02:11 2642411 291
>>2642389
в ноде require выполняет скрипт один раз, если ты законектишся в жс файле а потом его зарекваришь в хендлере для получения инстанса конекшена, то разве у тебя будут разные конекшены в хандлерах? Елементарно же
Аноним 16/03/23 Чтв 21:07:54 2642470 292
>>2642369
можешь и на жсе чисто +- писать.

можешь раскидать свои функции/классы по разным файлам.
как и стили. будет проще.

если собираешься поддерживать, то тс, офк, лучше был бы.

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

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

https://habr.com/ru/post/250569/
Аноним 16/03/23 Чтв 21:15:14 2642473 293
>>2642470
Благодарю, надо бы разобраться по хорошему с ТСом. Раскидать по разным файлам обязательно нужно, без этого я просто не смогу провести рефакторинг всего кода. ТС хочу чтобы обязательная типизация была и ИДЕшка лучше подсказывала. Но я к сожалению в этом всем не шарю, конкретно в JSе новичок, но представление какое-то есть. Сейчас про вебпак смотрю, эта штука вроде как собирает из разных файлов всё в один.

>а когда соберешь, то будет папка build
Отлично. Вот значит что эта папка содержит. Постоянно на всяких репах видел её.
Аноним 16/03/23 Чтв 21:21:52 2642483 294
>>2642411
Сейчас так и реализовываю. Просто один пример запутал, который в хэндлере вызывал connect. Я ща в хэдлере уже инстанс, который законнектился, использую.
Аноним 16/03/23 Чтв 21:37:13 2642510 295
>>2642386
>Можно кстати как-то ещё и автоматизировать процесс деплоя юзерскрипта?
Да, через гитхаб-экшены.

>>2642369
>можете рассказать пожалуйста как вы организовывали код в них?
Вебпак/rollup/esbuild добавляешь и с его помощью можно dist-файл делать, он будет склеивать.
Аноним 17/03/23 Птн 02:28:22 2642681 296
1679009303741.png 25Кб, 971x275
971x275
Заюзал по итогу этот темплейт. Дикая годнота.
https://github.com/pboymt/userscript-typescript-template

>>2642510
>>2642470
Аноны, а я могу в тайпскрипте как-то создать инстанс класса, пройтись по полями этого класса (все поля string) и присвоить этим полям значение названия этого самого поля?

Просто с теми же обычными enum'ами нужно будет вручную определять string содержимое. А просто прописывать енамы я не могу, т.к. gm_setvalue в name принимает стринг, а не инт.

У меня сейчас тупо так выходит:
GMField {
// конструктор
this.field1 = "field1";
this.field2 = "field2";
...
}

Хотелось бы чтобы он сам присваивал свойству значение его названия.
Аноним 17/03/23 Птн 02:48:41 2642687 297
1679010523556.png 19Кб, 322x419
322x419
>>2642681
Хотя можно просто делать this.field = "" а потом как на пикриле получать и короче проблем не должно быть.
Аноним 17/03/23 Птн 02:53:29 2642693 298
1679010811699.png 13Кб, 428x236
428x236
1679010811699.png 12Кб, 536x146
536x146
1679010811700.png 15Кб, 907x107
907x107
Началось блять.
Аноним 17/03/23 Птн 02:56:27 2642695 299
1679010990327.png 16Кб, 600x183
600x183
>>2642693
О, это так работает, нихуя себе. Типо он думал что я индексирую а не по ключу беру.
Аноним 17/03/23 Птн 02:58:18 2642698 300
1679011100778.png 12Кб, 370x239
370x239
1679011100779.png 17Кб, 521x220
521x220
1679011100779.png 1Кб, 116x60
116x60
>>2642681
Заебись.

Сорян что насрал в тред, просто хотелось с кем-то поделиться продвижением. Ладно, пойду спать.
Аноним 17/03/23 Птн 03:09:54 2642702 301
1679011796882.png 25Кб, 514x408
514x408
1679011796883.png 9Кб, 446x137
446x137
1679011796883.png 1Кб, 126x44
126x44
Аноним 17/03/23 Птн 03:12:15 2642704 302
1679011937892.png 32Кб, 541x502
541x502
>>2642702
Бля, тогда уж так чтобы соблюдать всё.
Аноним 17/03/23 Птн 05:23:23 2642730 303
>>2641847
> Смогла нагуглить ответы на вопросы экзамена
> Смогла нагуглить уязвимость, опубликованную в 2018
> Смогла нагуглить написанные по миллиону раз опенсорсные понг и змейку
> Смогла нагуглить что-то опенсорсное про корованы

Действительно, довольно умный чатбот.
Аноним 17/03/23 Птн 06:48:54 2642744 304
image.png 2Кб, 323x20
323x20
ебать нахуй, а как мне писать декремент, чтобы не писать уебанский -1 к стартовому условию?
Аноним 17/03/23 Птн 06:57:36 2642745 305
Аноним 17/03/23 Птн 07:22:38 2642753 306
>>2642745
есть масив вида [1,2,3,4,5,6,7,8,9,0]
как его прогнать с конца в начало, не используя ".length-1"?
я думал использовать префикс-декремент - хуй там.
Рождённый_для_поражений !0nclfNLqvw 17/03/23 Птн 07:32:47 2642756 307
image.png 7Кб, 455x134
455x134
image.png 3Кб, 152x293
152x293
>>2642753
так работает же декремент
Аноним 17/03/23 Птн 07:34:49 2642757 308
>>2642756
это тебе размер массива известен
и ты вычел единицу не явно.
а вот если бы было
for(let i = array.length; i >=0; --i)
я бы кончил радугой.
на сишке вроде это работает правильно.
жс уебанский
Аноним 17/03/23 Птн 08:43:24 2642777 309
>>2642757
Что значит "вычел не явно"? Внутри блока for нет разницы между постфиксным и префиксным декрементом.
Аноним 17/03/23 Птн 08:50:27 2642784 310
Screenshot2023-[...].jpg 117Кб, 1080x2400
1080x2400
>>2642757
Твой вариант и на js работает же
Аноним 17/03/23 Птн 10:04:03 2642798 311
image.png 23Кб, 865x224
865x224
>>2642757
Сишка точно так же работает, только выводит рандомное говно вместо андефайнед (и было бы странно если бы работала иначе, ты же i в теле цикла используешь, а не то что твой декремент вернул).
reduceRight используй.
Аноним 17/03/23 Птн 10:55:45 2642834 312
>>2642698
А этот as keyof не ломает ничего? Можно передать левый филд на похуй ведь?
Аноним 17/03/23 Птн 11:04:57 2642845 313
>>2642834
Да, все эти явные приведения по сути обход системы типов тайпскрипта. Ты гарантируешь что тип верен и просишь компилятор заткнуться.
Аноним 17/03/23 Птн 11:06:25 2642847 314
>>2642845
Ясно. Я сам просто магию из дженериков городил для похожей задачи вместо того чтобы костылем заткнуть.
Аноним 17/03/23 Птн 13:10:46 2642923 315
image.png 18Кб, 715x319
715x319
Аноним 17/03/23 Птн 13:25:09 2642937 316
>>2642847
Можешь подробнее написать как ты такую задачу решал, пожалуйста? Интересно узнать.
Аноним 17/03/23 Птн 13:32:27 2642943 317
>>2642937
А зачем тебе именно класс, а не объект?

мимо
Аноним 17/03/23 Птн 13:45:22 2642957 318
>>2642923
Ну ответьте плиз, задача горит, как вообще к кастомному элементу обращаться? В html он потом генерится, а там разметка совсем другая, направтье хоть куда не нахуй
Аноним 17/03/23 Птн 14:01:05 2642974 319
>>2642937
Дак там не идентичная задача, мне вообще нужно было используя конфиг-схему распарить дрисню из строки и заполнить структуру.
Аноним 17/03/23 Птн 14:24:07 2643009 320
чё никто не шарит или просто неинтересно? >>2641562
Аноним 17/03/23 Птн 14:28:55 2643013 321
1679052538438.png 12Кб, 446x220
446x220
>>2642943
Бля, кстати логично, я что-то привязался конкретно к классу. Ну я попытался так но я не знаю что в качестве keyoff'а в таком случае указать. Не дает поля неявно задать.
Аноним 17/03/23 Птн 14:29:06 2643014 322
>>2641698
>Проблема в использовании обычного реакт контекста в качестве глобал стейт стора, при изменении данных будет ререндерится вообще всё, что внутри провайдера
Это если ты долбоёб и в контекст пробрасываешь стейт провайдера, или используешь в провайдере эффекты.
Аноним 17/03/23 Птн 14:31:31 2643019 323
Аноним 17/03/23 Птн 14:32:47 2643021 324
1679052770106.png 47Кб, 1097x369
1097x369
1679052770113.png 8Кб, 554x157
554x157
>>2643019
Пытался уже, но он ошибку писал и подсвечивал будто это тип. Посмотрел подсказку, оказывается можно тип просто взять. Это же гениально просто.
Аноним 17/03/23 Птн 14:33:29 2643022 325
>>2643019
А, ты буквально и написал то что я сделал, точно.
Аноним 17/03/23 Птн 14:35:16 2643023 326
>>2643009
У меня одинаково работает.
Аноним 17/03/23 Птн 14:54:16 2643062 327
test2.mp4 33574Кб, 1920x1080, 00:00:45
1920x1080
Аноним 17/03/23 Птн 15:10:52 2643083 328
image.png 52Кб, 387x887
387x887
Аноним 17/03/23 Птн 15:26:56 2643098 329
>>2643083
У тебя система не винда 10? Тогда может отличаться поведение watch. В любому случае странная хуйня
Аноним 17/03/23 Птн 16:01:44 2643136 330
>>2643013
>>2643021
Сделай типизацию по ТСовскому, сверху вниз, а не через type assertion снизу.
Вот 2 варианта как это сделать. В первом получишь аналог твоего текущего объекта, который зафрижен, чтобы предотвратить изменения, так как типизация это позволяет, не явная как у тебя и указанный тип объекта в моём случае.
Второй вариант - немножк ебли с перечислением нужных полей, конструируется объект как тебе нужно, поля в TS жёстко прибиты, ТС об этом знает, линтер выебет.
https://www.typescriptlang.org/play?#code/MYewdgzgLgBA5gWwGIEsCmAbAJhAXDAbwG0BrNAT32gCcUw4BdKqW+gXxgF5CAoGfmADMAjPgBEYgDR8BggEzipM-oIDMinmx48o5AA5oYAaQoQuMMuRCCYug9fjJ02CAG5tAeQBGAKzTAoADpLCAAKRFRMHABKZRhAwRBqAFEAQ2AAC1DLLgA+R0iXUgoGc0to9x5QSBAMNECMEDhwpyiICs9ffyDBajQ0AC80FsKY1xgAegmYPT6ANzQwWFSwchhMlbg0CB4pmDQADz0k2ABXMA36NFSvOpgQLoDd6cPj6lgI5xxKvbRqaiSzwKXwgDVq5jEWEEGTEVXAEFq9UazW8fgCgRQECQAKGYBGIOi0Um0xYpzQ2iBegwKxgACFJDAMJjYCEYHQYKl-qlyAzqjRTgF7o8oDp9IYTOQIAAVU5UwzcIhiEjCKQwJVyVVK1RiBhArCypnAVJQbbrcAmpb3GwS6UGwxQEBmhByk0YNYIY2ZNkivks0wAQS5lGMphlcvMiuVmpIGoZWp12js4tMAFUwChwOYbWG6kQwKcEF4-qU9kqVTAAD5qmNiSvV7WJsUwUYQVHmABK-iSWAAPDa0xmwAyaHQ4Lk4ZBYIIQfgW23uCFA9RuYE+vrgMNQg8fAzynleAIhT5iuRSguKO5D30oKdqGAj+42AyCBxUmYVuRYhPoEIQQpmyC84WAGQarmg66btuu4UESnD5KEcQEIEyFQTAJ5MMB5BsNEz6vu+qxfnyiJgs005tB0RF1CRoRkS4cgdDwtE4MEwjEvcJCMSCwQACxsWAqQZDwQA
Аноним 17/03/23 Птн 16:02:54 2643138 331
>>2643136
Скрыло длинноссылку на песочницу ТС

>>2642943-кун
Аноним 17/03/23 Птн 16:08:10 2643140 332
Аноним 17/03/23 Птн 16:23:33 2643157 333
Аноним 17/03/23 Птн 17:07:25 2643211 334
1679062048361.png 72Кб, 789x859
789x859
1679062048362.png 7Кб, 470x97
470x97
1679062048363.png 11Кб, 585x113
585x113
1679062048364.png 28Кб, 538x524
538x524
>>2643136
О, благодарю, попробую вникнуть когда обратно к полям GM'а вернусь. Сейчас я думаю о том что это лишняя прослойка и лучше динамически их извлекать. У меня просто GMField повторяет названия полей который находятся в другом классе, и когда я загружаю какие-то значения через gm_getvalue к примеру, мне приходится 2 раза прописывать одно и то же поле (откуда изымать и какое значение использовать по умолчанию). Так что я скорее всего откажусь от GMFIeld как такового и буду просто заполнять его динамически за кулисами, чтобы в коде можно было не использовать.

Я сейчас над другой фигнёй залип. Прописываю для <select> доступные ему варианты, сразу указывая перевод для отображения. Потом записываю весь этот перевод в localized соответствующего селекта, а самим полям присваиваю значение самого поля.

Так нормально делать?
Аноним 17/03/23 Птн 17:15:33 2643228 335
>>2643211
Я сейчас понял что fields и values лучше во второй класс вынести, а то ебля с типами. Тогда можно по интерфейсу заполнить будет и не надо будет сплитить.
Аноним 17/03/23 Птн 17:22:32 2643238 336
1679062955784.png 7Кб, 502x100
502x100
Аноним 17/03/23 Птн 17:23:18 2643239 337
>>2643211
Ай блять ёбанный говнокод сука, нет чтобы просто взять стандартный валидатор https://zod.dev/ или https://joi.dev/ или https://github.com/jquense/yup или https://ajv.js.org/ и просто тупо прогнать через валидатор, ты придумал какой-то велосипед, с какими-то непонятными объектами - нахуй они нужны эти объекты? Можно было обойтись простыми union или enum'ами.
Аноним 17/03/23 Птн 17:28:47 2643252 338
>>2643239
Ладно, в принципе тут действительно может и простых енамов хватить. Сейчас подумаю.
Аноним 17/03/23 Птн 17:29:27 2643254 339
>>2643252
Ну а где я буду переводы для этих кнопок хранить если я энамами сделаю?
Аноним 17/03/23 Птн 17:37:38 2643274 340
>>2643239
Короче то что ты скинул подойдёт для валидации жсона из апишек, за это спасибо, применю.
Аноним 17/03/23 Птн 17:41:29 2643281 341
Вопрос про бразуерный JS. Есть какой-нибудь Event, с помощью которого можно отследить переход на определённый адрес, не считая клика?

То есть, имеется у меня example.com/page , там есть ссылка типа <a href="https://google.com">google</a>. Могу ли я отследить, что пользователь уходит с текущей страницы в гугл? Что-то типа

window.addEventListener("перекот", function (e) { console.log(e.target) //https://google.com });
Аноним 17/03/23 Птн 17:59:42 2643307 342
>>2643281
> Есть какой-нибудь Event, с помощью которого можно отследить переход на определённый адрес, не считая клика?
А чем клик не нравится? Его не обязательно навешивать на каждый a, можно навесить на весь документ.

document.addEventListener('click', (e) => {
if (e.target.tagName === 'A' && e.target.href.includes('google.com')) {
e.preventDefault();
e.stopPropagation();
alert('Азаза!');
}
}, true);
Аноним 17/03/23 Птн 19:22:54 2643428 343
>>2643281
нет, это секьюрити риск же.
Аноним 17/03/23 Птн 22:09:58 2643559 344
>>2643307
>>2643428
Спасибо, сделал через клик. Тем более, что вспомнил о существовании document.querySelector('a[href=^"google"]')
Аноним 17/03/23 Птн 23:48:37 2643735 345
Аноним 18/03/23 Суб 00:10:40 2643759 346
16785557280310.jpg 373Кб, 1014x1280
1014x1280
>>2643650
Мурка сенсей - аватар с котом, и чел который собирает донаты на кошку/кота/приют питомцев дозу. Совпадение?
Аноним 18/03/23 Суб 11:10:56 2643996 347
Всем привет! Стоит ли идти на low-код платформу джуну без опыта работы? Где большая часть работы(80%) это работа в интерфейсе программы и только 20% это само программирование
Аноним 18/03/23 Суб 11:44:40 2644010 348
document.querySelector('input[name="rate"]:checked').value;

Нормальный вариант для того, чтобы получить value от активного radiobutton с помощью JS? Или есть что более адекватное? Хуй знает, какое-нибудь getRadiogroupValue("rate")
Аноним 18/03/23 Суб 11:52:58 2644018 349
>>2643996
С чем работать то будешь?
На собесах вообще был? Чего-то и не хватает?

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

Ну а если финансовая сторона вопроса не тяготит и никто не гонит - смотри сам, но вкат может затянуться надолго.
Аноним 18/03/23 Суб 12:02:59 2644031 350
photo2023-03-18[...].jpg 30Кб, 728x554
728x554
>>2641847
Нейросети ещё долгое время не заменят анальников по одной простой причине - это всё ещё инструмент. Если кабанчик закинет с неё промт "ебани мне приложение" и она там в коде нахуевертит ебаное нечто, то кабанчик не сможет спросить с нейросети за её говнокод, а с человека сможет. Мы не можем обвинить ведь молоток в том что он криво забивает гвозди или ударил нам по пальцам, потому что по пальцам ударил ты сам.
Аноним 18/03/23 Суб 12:03:52 2644033 351
photo2023-03-18[...].jpg 30Кб, 728x554
728x554
>>2641847
Нейросети ещё долгое время не заменят анальников по одной простой причине - это всё ещё инструмент. Если кабанчик закинет с неё промт "ебани мне приложение" и она там в коде нахуевертит ебаное нечто, то кабанчик не сможет спросить с нейросети за её говнокод, а с человека сможет. Мы не можем обвинить ведь молоток в том что он криво забивает гвозди или ударил нам по пальцам, потому что по пальцам ударил ты сам. Так что надо расслабиться и продолжать работать и учиться.
Аноним 18/03/23 Суб 12:05:08 2644036 352
>>2644031
>>2644033
Макаба залагала. А у чатгпт бы не залагала.
Аноним 18/03/23 Суб 12:07:10 2644039 353
>>2644031
Инструмент, пока что, который может значительно ускорить решение некоторых задач.
Алсо
> свари мне яйца
Ну ты же не сказал, сварить все разом, или по одному за раз. Как закабанил, так и ударило.
Yuki.hs 18/03/23 Суб 12:16:55 2644049 354
>>2644033
+, проблема транскомпиляции естественных языков в машиночитаемые в том, что неизбежно придется идти вниз по уровням абстракции, детализируя и корректируя. В конечном итоге мы добьемся своего, однако такая форма кодирования будет отлична от традиционной лишь своим излишеством, "PUSHAD" vs "положить на стек все регистры общего назначения" - здесь все прозрачно, мдап
Аноним 18/03/23 Суб 12:17:00 2644050 355
>>2644039
>Инструмент, пока что, который может значительно ускорить решение некоторых задач.
Именно так, поэтому скорее теперь в вакансиях для людей будут писать в требованиях помимо хтмл/цсс/жс/фреймворка жс "умение писать промты для нейросетей", чем они заменят разработчиков.
>Ну ты же не сказал, сварить все разом, или по одному за раз. Как закабанил, так и ударило.
Ты понял в чём подвох и на интуитивном уровне нашёл правильное решение задачи, а нейросети для правильного решения требуются чёткие конкретные данные. Примерно так же происходит в реальной разработке - тебе могут сказать полную хуйню несвязную, ну или ТЗ составил даун, но на интуитивном уровне ты в голове у себя всё свяжешь и сделаешь что-то внятное. Человек банально менее требователен к вводным данным. Скрин не мой а с канала экстрицоде.
Аноним 18/03/23 Суб 12:33:40 2644064 356
image.png 20Кб, 1050x174
1050x174
Аноним 18/03/23 Суб 12:45:20 2644076 357
>>2644033
Просто вместе со многими программистами исчезнут еще и кабаны. Ведь зачем нужна безмозглая дойная корова, когда фуллстек помидор может сам организовать стартап за копейки.
Аноним 18/03/23 Суб 12:49:26 2644083 358
>>2644033
Если серьёзно, то я надеюсь, что это всё зайдёт в тупик, бесит меня эта тема. Сову на глобус пытаются натянуть. Наоборот же хорошо, когда много умных профессий. Когда кабану нужно художнику заплатить, программисту и прочим хорошим людям. А нейронки пусть считают циферки и всё
Аноним 18/03/23 Суб 13:00:30 2644096 359
>>2644050
ТЗ и дизайн та ещё боль. Да, понял твою мысль.
Аноним 18/03/23 Суб 13:05:49 2644100 360
Ребзь на что делать упор подготавливаясь к собесам? На тайпскрипт с жс или на реакт с редаксом?
Аноним 18/03/23 Суб 13:15:44 2644109 361
изображение.png 34Кб, 1008x210
1008x210
Я вообще нихуя не понимаю. Это как физически возможно? Если я вывожу в консоль объект целиком, то у него один из ключей имеет дату отформатированную. Если обращаюсь адресно к его элементу - дата как timestamp.
Аноним 18/03/23 Суб 13:20:27 2644119 362
>>2644109
Может у таймпстемпа какой-нибудь toString определен который при выводе в консоль в строковый вид переводит для удобного чтения.
мимо не шарю, нюфаня
Аноним 18/03/23 Суб 13:29:20 2644128 363
>>2644064
Кошерно. А как у этого с производительностью, не сильно хуже моего варианта? Я о таком варианте вообще не слышал, что это за API? Когда появилось? Или я что-то упустил?
Аноним 18/03/23 Суб 13:39:56 2644138 364
изображение.png 54Кб, 713x526
713x526
изображение.png 13Кб, 973x119
973x119
>>2644109
>>2644119

Нет, это какая-то магия. У меня последующий код влияет на предыдущий. При этом, влияет избирательно. Когда я обращаюсь адресно - timestamp. Когда вывожу весь объект - отформатировано. Как такое возможно?
Аноним 18/03/23 Суб 13:45:33 2644148 365
>>2644128
> одно тащит элементы с DOM трёхэтажным селектором
> другое тащит элементы с DOM по ID да, можно работать с элементом по его ID
Ну я даже не знаю какой селектор выглядит тяжелее.
Иногда бывает полезно посмотреть интерфейсы элемента, а не только атрибуты тега.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/elements
https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormControlsCollection

инб4: забенчь, интересно во сколько спичек разница

мимо
Аноним 18/03/23 Суб 14:01:42 2644161 366
ECMA, RFC, IEEE! реально спрашивают.

Дело в том, что некоторые люди начали выдумывать опыт работы в вымышленных компаниях, чтобы обойти фильтры HR. Они создают компанию с названием DigitalAbu Inc. (США, 2-летний контракт) и таким образом обманывают фильтры HR!

Но конечно перед этим заучив все вопросы или записав себе шпаргалки : https://itvdn.com/ru/blog/article/300-devops

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

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

ЕБУ САМОЗВАНЦЕВ КАК МОГУ
Отчищаю рынок от мошенников

Сижу в чате лидов, так как я поступают очень многие.
Повторяю, самозванцев стало очень много, реально много.
Yuki.hs 18/03/23 Суб 14:01:53 2644162 367
Снимок экрана 2[...].png 34Кб, 441x254
441x254
>>2644138
Ну это просто объяснить, в консоль попадает обычная ссылка на живой инстанс, его структура и значения на данном этапе неизвестны. Потом ты тыкаешь на этот объект, чтобы посмотреть, и только в этот момент консолька запрашивает ключи со значениями, само собой, на момент твоего тыка программа завершена и все мутации применены.
Если тебе требуется снапшот объекта на момент его логирования, а не его конечное состояние по завершении программы, то просто скопируй его, ну или просто сериализуй, кхх
Аноним 18/03/23 Суб 14:08:51 2644170 368
>>2644161
В какой версии добавили промисы? В RFC с каким номером расписаны HTTP(S)? По какому ISO дату форматировать? Совсем поехал?
Аноним 18/03/23 Суб 14:36:42 2644199 369
Аноним 18/03/23 Суб 14:40:39 2644203 370
1679139639505.png 332Кб, 786x620
786x620
Аноним 18/03/23 Суб 14:45:52 2644208 371
image.png 71Кб, 449x605
449x605
>>2644033
Хотел выебнуться, но чет не получилось. Подумал бот воспринимает контекст буквально, т.к. каждое яйцо, но чет с пояснениями тоже не выехал.
Аноним 18/03/23 Суб 14:45:56 2644209 372
image.png 819Кб, 1024x640
1024x640
Аноним 18/03/23 Суб 14:58:36 2644231 373
>>2644199
Нет, это конечно хорошо. ES6, а что там ещё добавили, а что клёвого в HTML5 подвезли. Но мне неиронично интересно, что он будет спрашивать? Какие пропозалы в какой стадии висят? Сколько раз воспользовался flat/flatMap за последний год?
Аноним 18/03/23 Суб 14:59:54 2644233 374
>>2644161
На какую позицию вопросы, какая зп?
Аноним 18/03/23 Суб 15:02:28 2644241 375
Аноним 18/03/23 Суб 15:03:27 2644242 376
>>2644128
Это стандартное апи форм, которые вы почему-то перестали использовать. Ему 25 лет.
Аноним 18/03/23 Суб 15:05:23 2644246 377
>>2644148
В его слаче каждый раз происходит поиск селектора по дому и создание новго нодлиста.

В случае с коллекциями - всегда возращается одна и та же коллекция, поиска не происходит. Коллекция меняется по мере изменения дома сама по себе и так.
Yuki.hs 18/03/23 Суб 15:10:13 2644250 378
>>2644241
Часть. А вот их реализация, в большей мере импровизация разрабов V8, JSC, SM в виде конкретного EventLoop'а-залупа, того юнита, называемого microtask.
Чуваки не долбаебы
Аноним 18/03/23 Суб 15:36:35 2644283 379
>>2644233
junior+ 100 000 рублей

Ниже грейд не нужен, не понимаю долабебов которые нанимают трейни и прочий скам.
Аноним 18/03/23 Суб 15:39:12 2644287 380
function getDateDifference(date1, date2) {
if (!(date1 instanceof Date) || !(date2 instanceof Date)) {
throw new Error("Invalid arguments");
return;
}
let diff = new Date(date2 - date1);
let years = diff.getFullYear() - 1970;
let months = diff.getMonth();
let days = diff.getDate();

return `${years} лет, ${months} месяцев, ${days} дней`;
}

почему разница между датами "2023-03-01" и "2023-05-3" составляет 2 месяца и 5 дней, вместо очевидных 2 месяцев и 2 дней?
Аноним 18/03/23 Суб 15:46:54 2644297 381
>>2644287
Ты ж ведь в курсе, что месяц может содержать различное количество дней в зависимости от того о каком месяце идёт речь. Твой говнокод считает месяцы начиная с 1 января 1970 (т.е. разница между date1 и date2 прибавляется к январю 1970 года и оттуда считаются месяцы), а не с твоей даты.
Аноним 18/03/23 Суб 16:17:29 2644328 382
>>2644287
Проблема возникает из-за того, что в JavaScript метод getMonth() возвращает номер месяца, начиная с 0 (0 для января, 1 для февраля и т.д.), а не с 1. Поэтому, если разница между датами содержит несколько месяцев, метод getMonth() вернет число месяцев минус 1. В вашем примере, разница между "2023-03-01" и "2023-05-03" составляет 2 месяца и 2 дня. Однако, при вызове метода getMonth(), он вернет 1, что означает февраль, а не март.

Для решения этой проблемы можно добавить 1 к числу месяцев, возвращаемых методом getMonth(). Вот исправленный код:

javascript
Copy code
function getDateDifference(date1, date2) {
if (!(date1 instanceof Date) || !(date2 instanceof Date)) {
throw new Error("Invalid arguments");
return;
}
let diff = new Date(date2 - date1);
let years = diff.getFullYear() - 1970;
let months = diff.getMonth() + 1;
let days = diff.getDate();

return `${years} лет, ${months} месяцев, ${days} дней`;
}
Теперь вызов функции getDateDifference(new Date("2023-03-01"), new Date("2023-05-03")) вернет строку "0 лет, 2 месяцев, 2 дней", что является корректным результатом.
Аноним 18/03/23 Суб 17:04:12 2644383 383
>>2644328
Хорошая попытка, но чатгпт эту хуйню не решает
Аноним 18/03/23 Суб 17:08:10 2644395 384
>>2644328
Бля, туда надо какой-то двач-пресет с ебланами, даунами и макаками, а то этот блевотный поучительно-вежливый тон сразу палится.
Аноним 18/03/23 Суб 19:56:34 2644597 385
>>2644395
"Ты хуй, а мать твоя шлюха, и вот почему: …"
Аноним 19/03/23 Вск 01:49:51 2644860 386
>>2644161
ахахаха, то есть мяу. вот это ты фантазёр, конечно.
Аноним 19/03/23 Вск 10:02:08 2644939 387
>>2637590
Пиздуй на Хекслет, там есть пара бесплатных вводных курсов по жсу
Аноним 19/03/23 Вск 16:41:48 2645267 388
>>2644161
>начали выдумывать опыт работы в вымышленных компаниях, чтобы обойти фильтры HR
HR с фильтрами идут нахуй. Часто там охуевшие требования и никакая зарплата- каждому подай суперстар-ниднзю. Так хоть кого-то получать будут.
Аноним 19/03/23 Вск 17:27:02 2645373 389
>>2636073
Я люблю задавать этот вопрос джунам, джун знает зачем эту папку сделали, и если он ответит это гарантированный тру миддл а не волк

Кто догадается итт получит цистерну чая.
Аноним 19/03/23 Вск 17:28:21 2645376 390
>>2645373
Чтобы сделать тру-сервер сайд рендеринг для некоторых компонентов, без костыле-гидрации как сейчас.
Аноним 19/03/23 Вск 17:29:37 2645377 391
>>2645376
Да, это одна из задач, но есть и другая.
Аноним 19/03/23 Вск 17:30:24 2645383 392
>>2645377
Лэйауты без костылей?
Аноним 19/03/23 Вск 17:33:32 2645386 393
>>2645383
В том числе. Тут архитектурная задача была. Как чистый код у бэков.
Аноним 19/03/23 Вск 17:35:39 2645390 394
>>2645386
Тогда хуй знает. Вот бы они ещё сделали ошибки 404 и 500 с поддержкой SSR было бы совсем заебись. А то это единственные страницы, для которых у меня в проектике есть мегакостыль для интернационализации перевода.
Аноним 19/03/23 Вск 17:44:14 2645400 395
>>2645386
>чистый код у бэков

Какое отношение чистый код имеет к бэкам?
Аноним 19/03/23 Вск 17:45:33 2645403 396
>>2645373
>зачем эту папку

Мамку.

Если бы ты мне ирл задал вопрос про папку, я бы тебе ебальник обоссал за твою некомпетентность.
Аноним 19/03/23 Вск 17:47:27 2645404 397
>>2645403
Этот прыщеёб порвался. Компилируйте следующего.
Аноним 19/03/23 Вск 18:19:57 2645449 398
Подскажите плиз, есть массив объектов (фильмы), нужно из этого массива получить новый массив, но уже свойств этих объектов (жанры), но при этом, чтобы жанры в этом массиве встречались только по одному разу. То есть на выходе что-то типа ["хоррор", "комедия", "триллер"].
Аноним 19/03/23 Вск 18:26:37 2645468 399
>>2645449
Вместо массива используй множество (он же Set). Тогда все повторения автоматом удалятся.
Аноним 19/03/23 Вск 18:30:49 2645469 400
>>2645468
А как-то через reduce можно?
Аноним 19/03/23 Вск 18:32:59 2645474 401
>>2645469
У тебя есть два стула как именно удалять дупликаты - includes (или indexOf) у массива или Set. Первый будет быстрее, если элементов мало, второй соответственно если их дохуя. А что ты там навесишь на них сверху - это уже твоё дело.
Аноним 19/03/23 Вск 18:34:01 2645477 402
> если элементов мало
Уточню - если уникальных элементов мало.
Аноним 19/03/23 Вск 19:01:57 2645537 403
>>2637590
Я как раз делаю стартап где на практике все это решается.
Аноним 19/03/23 Вск 19:03:51 2645544 404
image.png 48Кб, 1415x509
1415x509
В общем получилось так, как-то громоздко всё это.
Аноним 19/03/23 Вск 19:07:19 2645552 405
>>2645469
Можно, если в качестве аккумулятора использовать new Set

arr.reduce((acc, item) => {
...
}, new Set());
Аноним 19/03/23 Вск 19:08:39 2645556 406
>>2645544
С массивом:

const result = games.reduce((arr, { genre }) => {
if (!arr.includes(genre)) {
arr.push(genre);
}
return arr;
}, []);

С сетом:

const result = new Set(games.map(({ genre }) => genre));
Аноним 19/03/23 Вск 19:11:29 2645561 407
Аноним 19/03/23 Вск 19:46:14 2645631 408
image.png 98Кб, 1198x628
1198x628
Вот кстати про методы массивов - недавно наткнулся на авторитетное мнение, что эти ваши методы массивов не нужны и это вообще для дурачков со стрелочными функциями, а вот классический цикл for - это то что нужно. Что можете сказать по этому поводу?
Аноним 19/03/23 Вск 20:14:03 2645684 409
>>2645631
То что 959% веб макак в линтерами и др очем на функциональненькое похуй на производительность, за исключением редких случаев и откровенно узких мест.

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

Алсо, если на пикриле чел в гринтиксте не понял как где возвращается значение, то больше похоже на сектанта, не осилившего лямба выражения стрелочные функции. А ещё он наверно любит в прототипы по утрам присовывать.
Аноним 19/03/23 Вск 20:37:18 2645740 410
>>2645631
Буквально вчера мне нужно было суммировать все элементы массива и выйти из цикла при условии, так вот на стековерфлоу нашёл ответ типа не еби мозги и делай через for а не reduce. Я не знаю нахуй оно нужно, но конкретно в этом треде меня раньше пару раз прикладывали за "недекларативное решение" задачи. Я считаю, что когда тебе нужно думать использовать метод или блять по старинке делать, т.е. это уже лишний процесс в мозгу то блять нахуй такие методы нужны ёбана рот
Аноним 19/03/23 Вск 20:51:32 2645776 411
>>2645631
> что эти ваши методы массивов не нужны и это вообще для дурачков со стрелочными функциями,
Зависит от задачи на самом деле. Огромный недостаток методов массивов в том, что они возвращают не итератор, а новый массив, т.е. вызывая цнпочку govno.filter().map().reduce() ты создаёшь два полноценных промежуточных массива. С циклами создания таких массивов можно избежать (а в настоящих функциональных языках такой проблемы изначально нет).
Аноним 19/03/23 Вск 21:19:00 2645839 412
>>2645776
>вызывая цнпочку govno.filter().map().reduce() ты создаёшь два полноценных промежуточных массива

ну создаешь и создаешь, тебе не поебать?
Аноним 19/03/23 Вск 21:23:02 2645846 413
>>2645839
Медленно же! Даже питон в этом плане умней. А раст вообще няшечка: там с точки зрения перформанса разницы между методами итераторов и циклом вообще нет.
Аноним 19/03/23 Вск 21:23:21 2645847 414
>>2645839
У фора есть неоспоримое преимущество - в нем легко бейкпоинт поставить. А когда отлаживаешь цепочку, бывает трудно понять где step over а где step in будет.
Аноним 19/03/23 Вск 21:24:51 2645852 415
>>2645847
А от сообщений об ошибках в rxjs повесится можно...
Аноним 19/03/23 Вск 21:40:20 2645874 416
>>2645846
Что медленнее? Код выполнится на 2 наносекунды дольше чем мог бы? Ух, бля, тут определенно стоит ебаться с этим.
Аноним 19/03/23 Вск 21:47:42 2645892 417
>>2645874
А потом такие жалуются почему браузеры отжарвют гигабайты памяти и тормозят.
Аноним 19/03/23 Вск 22:02:58 2645918 418
>>2645892
Да, именно из-за предпочтения редюса фор циклу.

Логика уровня /b
Аноним 19/03/23 Вск 22:03:51 2645919 419
>>2645776
а еслинт ругается на циклы: iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations

поэтому что быстрее получается это ещё подумать нужно)
Аноним 19/03/23 Вск 22:04:20 2645920 420
image.png 107Кб, 1229x603
1229x603
image.png 148Кб, 1169x664
1169x664
>>2645684
>>2645740
>>2645776
Его тейк подразумевал что преимущество цикла в том что у нас есть доступ к индексу (даже когда он нам не нужен в задаче) и что так проще читать код людям незнакомым с JS. Только остаётся вопрос нахуя писать понятный JS для людей которые не работают с ним.
Аноним 19/03/23 Вск 22:07:38 2645927 421
>>2645920
>Только остаётся вопрос нахуя писать понятный JS
Ну конечно при условии что другим людям знающим JS код вполне понятен и они понимают разницу между forEach, map, reduce, filter и т.д. и знают где уместнее их применить, а где уместнее цикл for.
Аноним 19/03/23 Вск 22:09:40 2645929 422
>>2645919
Это не eslint, а твой когфиг для него (я так полагаю airbnb, автор которого страсть как любит поддерживать давно протухшие браузеры). В современных браузерах (которые вышли минимум 7 лет назад) для генераторов тащить дополнительный рантайм не нужно (потому что они их и так поддерживают) а потому это правило линтера можно спокойно отключить.

https://caniuse.com/es6-generators
Аноним 19/03/23 Вск 22:11:18 2645933 423
>>2645919
И да, речь идёт про for-of циклы, а есть ещё более старые циклы вида for (let a = 0; a < 10; a += 1) { ... }
Аноним 19/03/23 Вск 22:11:48 2645934 424
>>2645920
То что какая то макака не понимает как работает map и reduce это исключительно проблемы ее узколобости. Любой нормальный программист хотя бы для общего кругозора работал с функциональными языками и никаких проблем с чтением такого кода у него нет.
Аноним 19/03/23 Вск 22:13:50 2645937 425
>>2645920
У тебя есть код
...map(x => x.a)...
@
Хочешь узнать x.a
@
Вставляешь фигурные скобки, чтобы console.log(x.a)
@
Удаляешь фигурные скобки, чтобы было красибо.
@
Повторяешь сто раз...
Аноним 19/03/23 Вск 22:15:20 2645940 426
>>2645937
Современные браузеры позволяют делать точки останова внутри строк. Правда если используешь ТРАНСПАЙЛЕР, то его для этого надо правильно настроить.
Аноним 19/03/23 Вск 22:15:48 2645943 427
>>2645920
Боже, Майкрософт, найди пути завезти Linq в JS.
Аноним 19/03/23 Вск 22:17:54 2645947 428
>>2645929
Да всё так, я не знал что всё так сложно лол
>>2645933
А я читал, что любой цикл подвержен этому правилу, но могу ошибаться. Но еслинт ещё на break и continue реагирует и на стековерфлоу я прочитал пару веток и пришёл к выводу, что лучше писать всё через мап и функции за некоторым исключением, мне в одной проге понадобилось через фор оф делать промисы, потому что мне нужно, чтобы они по очереди все посылали запросы а не все сразу как в случае с Promise.all. Но ты прав скорее всего, мои выводы основаны только на комментах со стековерфлоу
Аноним 19/03/23 Вск 22:25:50 2645960 429
>>2645929
Точнее сказать на циклы еслинт с моим конфигом постоянно ругается разными ошибками и поэтому я решил, что циклы морально устарели и их писать не круто. Вот что. Раньше то я обожал императивный код писать
Аноним 19/03/23 Вск 22:28:00 2645963 430
>>2645940
Куча цепочек с омномимными функциями.
@
Многоуровневые цепочки внутри цепочек
@
Хочешь понять где ошибка
@
Смотришь стектрейс
@
Anonymous call
@
Anonymous call
@
Anonymous call
@
...
Аноним 19/03/23 Вск 22:29:21 2645965 431
>>2645960
Вот так шизик (этот lijarb реально шизс манией поддержки 10-летних браузеров испортил анона.
Аноним 19/03/23 Вск 22:34:56 2645967 432
Методы массива гораздо читабельнее циклов имхо. Ты просто сразу видишь что делается с одним элементом и всё.
Аноним 19/03/23 Вск 22:36:20 2645969 433
>>2645965
ну как бы ещё хочу сказать, что airbnb config предлагает поставить сам eslint по дефолту
Аноним 19/03/23 Вск 22:37:16 2645970 434
>>2645967
теперь напиши мержесорт используя только методы массива
Аноним 20/03/23 Пнд 00:17:24 2646048 435
>>2645970
Очевидно методы стоит использовать если тебе нужно написать что-то, для чего они нужны, а не вообще для любых циклов.
Аноним 20/03/23 Пнд 00:23:21 2646051 436
>>2646048
Тезис был что
>Методы массива гораздо читабельнее циклов
В естественном языке квантор общности используется по умолчанию, а квантор существования всегда явный.
Аноним 20/03/23 Пнд 00:26:58 2646054 437
>>2646051
Хорошо, "В случаях когда метод использовать уместно, а то есть нужно сделать то, что этот метод делает, код с таким методом будет читабельнее чем с циклом".
Аноним 20/03/23 Пнд 02:50:22 2646121 438
1679269825085.png 8Кб, 387x155
387x155
1679269825086.png 15Кб, 599x212
599x212
Аноны, а в TS (или вообще в программировании) есть геттер всего инстанса? К примеру я хочу создать объект, который будет хранить пределы, но при попытке получить его самого он возвращал value к примеру. Или это шизосинтаксис?
Аноним 20/03/23 Пнд 02:55:06 2646123 439
>>2646121
Либо же сеттер. Так-то на геттер похуй, а вот сеттер, чтобы он сразу в value прописывал значение, было бы удобнее. Хотя это шизосинтаскис какой-то, вдруг у меня мутабельная переменная с инстансом и я захочу туда другой инстанс засунуть. Какой-то бред выйдет.
Аноним 20/03/23 Пнд 04:02:47 2646137 440
image.png 90Кб, 442x857
442x857
>>2644208
>>2644033
Лол, я смог. Ну, 50 на 50, он как бы и понял, но все же продолжает выебываться своими сойбойными мозгами.
Аноним 20/03/23 Пнд 04:09:54 2646140 441
image.png 36Кб, 439x382
439x382
>>2646137
Хотя ладно, решил выебнуться, а в итоге обосрался.
Впрочем, обосрался как и бот.
Аноним 20/03/23 Пнд 04:21:46 2646144 442
image.png 74Кб, 444x772
444x772
image.png 207Кб, 500x399
500x399
Аноним 20/03/23 Пнд 04:52:25 2646159 443
image.png 63Кб, 448x652
448x652
сойбой.mp4 593Кб, 672x904, 00:00:03
672x904
Three Days Grac[...].mp4 27884Кб, 1280x720, 00:03:25
1280x720
image.png 81Кб, 457x726
457x726
>>2646144
Ребят, я понимаю, что это js тред, по этой причине срать тут нейронкой не хорошо, но все же, почему у нейронки такие сойбойные ограничения? Разве у нейронке не должно быть похуй на расизм? На плохие слова? Нахуя все эти сойбойные ограничения?

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

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

По итогу получаем машинный разум текстовый генератор с ебалом как на второй вебмке.
Аноним 20/03/23 Пнд 06:41:29 2646183 444
С удивлением заметил вбив в HH что в моем миллионнике практически одинаково вакансий у Реакта и Vue. У реакта чуть больше (на 5 штук). Как думаете может ну его нахуй этот реакт и вкатиться в Vue?
Аноним 20/03/23 Пнд 07:18:17 2646194 445
>>2646159
Открытые цели это чтобы какая нибудь толстая девочка из семьи депутатов ища поняшек например не наткнулась на советы нейросети о том, где найти порно с понями и как правильно отсосать член реальному пони жизни. Иначе депутату это не понравится и запретят везде, еще и штраф платить.

Скрытые цели - регулирование общественного мнения выгодной властям.
Аноним 20/03/23 Пнд 08:33:51 2646214 446
>>2646159

Простой ответ - уи лив ин э сосайети.
Как-то тред в твиттере видел, там чел объяснял логику корпораций - они не сойбои, не злые леваки как и не нацисты/злой дип стейт. Они просто деньги зарабатывают. Что им меньше всего надо - это controversy на платформе где они это делают. Такие случающиеся "перегибы" - это в основном и есть попытка в уменьшение бизнес-рисков.
Аноним 20/03/23 Пнд 08:35:24 2646215 447
>>2646214
Ну да, это похоже на правду
Аноним 20/03/23 Пнд 08:38:00 2646216 448
>>2646183

А по ангуляру сколько?
Аноним 20/03/23 Пнд 08:40:41 2646217 449
Аноним 20/03/23 Пнд 09:01:20 2646221 450
>>2646183
Куча реактеров уехала после начала сво работать на западного барина. А вью активно используется на внутреннем рынке со всякими битриксами.
Аноним 20/03/23 Пнд 09:13:13 2646225 451
>>2646221
Я из Казахстана. Но да в некоторых вакансиях вижу битрикс. Но при этом есть и немало крупных компаний типа нефтянок и прочих. Хз думал переметнуться кабанчиком по бырому с реакта и вкатиться через вуй
Аноним 20/03/23 Пнд 09:40:48 2646241 452
>>2646225
В этом есть смысл, сам подумываю об этом. Реакт в ближайшие годы отправится на свалку, кмк.
Аноним 20/03/23 Пнд 09:59:50 2646261 453
>>2646159
Там вшит модуль модерации и об этом предупреждают при регистрации.
Аноним 20/03/23 Пнд 10:03:59 2646262 454
>>2646221
>А вью активно используется на внутреннем рынке со всякими битриксами.
То что он в директории lib лежит не особо помогает его использовать, он там на уровне жквери, для клиентских взаимодействий чисто, то есть это полувью какой-то. Полноценно работать на нём в дистрибутиве битрикса это надо пиздец постараться и костыли пилить.
Аноним 20/03/23 Пнд 12:13:05 2646404 455
>>2646262
Он роль жеквери как раз и выполняет там, да. Поэтому со вью не так однозначно в плане вакух. Есть высокий риск вступить в говно.
Аноним 20/03/23 Пнд 12:24:51 2646418 456
>>2646404
Что за туфта, вью в РФ это онли Битрикс что ли? Везде он используется, где на ларке проект пилят. Хоть в laravel mix из коробки и реакт поддерживается. Просто на laravel в 90% фулстеки и фронтендер на вью там будет белой вороной.
Аноним 20/03/23 Пнд 12:34:22 2646434 457
image.png 11Кб, 666x141
666x141
Используя транспайлер, код слева превращается в код справа.
Мне непонятно, почему проверка на undefined превращается в
a !== void 0 ?
Почему не:
a !== undefined ?
Аноним 20/03/23 Пнд 12:39:42 2646444 458
>>2646418
А на каком стеке шанс вката выше? Реакт с нодой или вьюха с ларавелем?
Аноним 20/03/23 Пнд 12:41:11 2646445 459
>>2646434
void 0 - 6 символов
undefined - 9 символов

Вот и вся причина.
Аноним 20/03/23 Пнд 12:46:31 2646452 460
image.png 64Кб, 912x732
912x732
Аноним 20/03/23 Пнд 12:52:37 2646458 461
>>2646418
Ларавель - это тот же битрикс, только более модный и менее кривой. Да и вообще пыху нужно избегать как говна.
Аноним 20/03/23 Пнд 12:58:20 2646461 462
>>2646444
Не знаю. Я вкатывался, когда с улицы брали, если про три принципа ООП ответишь.
Аноним 20/03/23 Пнд 13:25:15 2646469 463
>>2646183
Ты же не всю жизнь будешь на локальный рынок работать. Придерживайся курса, развивай Реакт навыки
Аноним 20/03/23 Пнд 13:35:33 2646474 464
Вообще реально на какую-нибудь удаленную стажировку устроиться чтоб навыки прокачать? Ну или какой опен сорс проект?
Аноним 20/03/23 Пнд 14:17:12 2646536 465
>>2646474
Я так попал полтора года назад и застрял в болоте (битрикс, вп, вёртска, проставление целей), сейчас параллельно работе ковыряю реакт и хочу выкатиться, ну либо дальше продолжать работать, лишняя копеечка не помешает, а задач не очень много и жопа не разорвётся. Короче если найдёшь не теряй мотивации развиваться дальше как специалист, не ссысь трудностей, иначе много времени на хуйню проебёшь.
Аноним 20/03/23 Пнд 14:19:55 2646540 466
>>2646536
Ну вот я и хочу именно реакт стажировку. Чтобы паралельно еще не приходилось его на стороне доучивать.
Аноним 20/03/23 Пнд 14:32:37 2646547 467
>>2646540
Такого сейчас ты нигде не найдёшь, даже в опенсорсах нужны люди которые уже хорошо разбираются. Только самостоятельно, можешь ментора себе поискать какого-то за плату.
Аноним 20/03/23 Пнд 15:37:55 2646608 468
Как по современному делается взаимодействие фронта и бэка? Вот к примеру есть у меня бэкэнд который отдает апи эндпоинты, как строить вокруг этого фронт на реакте, к примеру? Поднимать отдельное приложение под фронт и там делать роуты? Или как то билдить фронт и отдавать как статику на бэке? Нихуя не понимаю... Где почитать про это можно?
20/03/23 Пнд 15:40:46 2646609 469
1679316049004.png 8Кб, 412x170
412x170
Аноны, помогите ньюфагу, пожалуйста. У меня есть класс из которого я хочу извлечь поля в вида объекта instanceField: "instanceField" т.е. string: string. А как мне сделать так чтобы моя data как-то IDE'шкой подсвечивалась? Нужно как-то указать что мой словарь состоит из ключей моего класса. Но когда я keyof указываю он ругается.
Аноним 20/03/23 Пнд 15:41:12 2646610 470
Аноним 20/03/23 Пнд 15:43:45 2646613 471
>>2646610
Ну и да, он ругается очевидно потому что поля моего класса вида [k: string]: number | boolean | string, а если укажу k: keyof MyClass то очевидно ему не будет нравиться что я ему пустой {} присваиваю.
Аноним 20/03/23 Пнд 16:23:51 2646646 472
>>2646609
Что это за хуйня и зачем ты копируешь все поля объекта?
Аноним 20/03/23 Пнд 16:28:37 2646652 473
1679318919919.png 7Кб, 947x57
947x57
1679318919919.png 0Кб, 52x20
52x20
1679318919919.png 9Кб, 674x106
674x106
>>2646646
Копирую все названия полей. Я хочу связать гуишку с полями инстанса другого класса. Чтобы все изменения по ивенту он сразу записывал в поле другого класса.
Аноним 20/03/23 Пнд 16:53:37 2646678 474
>>2646547
Оно того стоит? А то там деньги немаленькие и риск есть нарваться на инфоцыгана
Аноним 20/03/23 Пнд 17:35:13 2646744 475
Если я могу магазинчик на реакте + редакс + нексте написать,+ пара своих пет проектов на гитхабе.

Берут таких вкатунов?

Сейчас сам пока не могу перескакивать со старой работы и откликаться на вакансии, иботеки висят и тд тп, но в ближайшее время появится такая возможность и оч интересно как дела обстоят сейчас.
Аноним 20/03/23 Пнд 17:52:04 2646761 476
Река-Цитарум-01[...].jpg 82Кб, 500x357
500x357
Анчоусы, подскажите плиз, как можно верифицировать npm пакет уже скачанный в проект? У меня серьезные проблемсы с интернетом, поэтому я не могу прогуглить как следует.
Вот в dist.integrity у него записан Subresource Integrity (SRI)
https://registry.npmjs.org/react-slick/0.29.0
sha512-TGdOKE+ZkJHHeC4aaoH85m8RnFyWqdqRfAGkhd6dirmATXMZWAxOpTLmw2Ll/jPTQ3eEG7ercFr/sbzdeYCJXA==
это хэш тарбола, сам тарбол лежит в
dist.tarball
Если я установлю пакет в проект и скачаю его из node_modules, и разархивирую скачанный из dist.tarball тарбол, то у них будет немного другая вложенность папок.
Файлы в тарболе лежат в: /react-slick-0.29.0/package
Файлы в node_modules лежат в: /react-slick/
Тогда я создаю папки /react-slick-0.29.0/package и кладу в них файлы из скачанного через npm пакета.
Потом я делаю из него тарбол командой
sudo tar cvzf doc.tar.gz ./react-slick-0.29.0
и достаю хэш
cat react-slick-0.29.0.tgz | openssl dgst -sha512 -binary | openssl base64 -A
который получается не таким как в dist.integrity.
Гугл говорит, что это из-за даты формирования оригинального тарбола. И это судя по всему так, потому что, если я снова создам нужный каталог, скопирую туда файлы, сделаю tgz и достану хэш, он будет опять другим.
Вопрос такой, каким образом тогда можно найти дату создания оригинального tgz и применить его к созданному из node_modules. Для применения вроде бы есть атрибут --mtime у команды tar, но я не уверен, что он работает как надо. Алсо, я проделываю это на linux и если посмотреть размер файлов без папки, то он одинаковый, как на винде, но если посмотреть размер с папками, то на linux размер больше, это норма? Алсо, может быть есть какой-то другой способ как можно верифицировать пакет?
Я нашел инструкции к 2-м онлайн способам, это сверка PGP подписи и ECDSA (написано, что npm мигрирует с 1-го на 2-й).
В 1-м случае ты скачиваешь себе PGP подпись и dist.integrity и сравниваешь по ним, что npm, откуда ты будешь его качать, оригинальный.
Во 2- случае, если я правильно понял, npm по одной команде автоматически формирует строки для каждого пакета
${package.name}@${package.version}:${package.dist.integrity}
подписывает её, используя видимо какую-то свою Key Management System, и генерирует подпись, которая лежит в dist.signatures[0].sig и сверяет эту подпись онлайн.
Делается это одной командой npm audit signatures, но это никак не верифицирует файлы, уже установленные у тебя в проекте. То есть, если я открою любой пакет в node_modules и напишу что-нибудь в код, эта команда всё равно выдаст, что все пакеты верифицированны.
Естественно, оба этих способа не вариант.
пик-нейчакэ
Аноним 20/03/23 Пнд 17:54:50 2646765 477
>>2646744
Тесты запилил? НЕ ОДИН ТЕСТ НА 2 + 2 = 4. Юниты, e2e? Магазинчик можно одной командой в докере поднять? В магазинчике есть админка с воронкой продаж (если ты не продуктами торгуешь а скажем машинами и запчастями), простым складским учетом? Возможность добавлять многоуровневые категории товаров? У тебя есть разделение на товар и торговое предложение? Учет контрагентов, персонала? Профили активности сотрудников? И многое другое...
Аноним 20/03/23 Пнд 17:59:18 2646773 478
>>2646652
>>2646609
Бамп вопросу. Кто-то должен знать как это делать, раз вы в треде тут контрагентов из докера одной командой ставите.
Аноним 20/03/23 Пнд 18:05:07 2646780 479
>>2646765
Хм, так задача фронта же отрисовать это только? Вроде кажется не сложным запрос делать и отображать красивенько
Не писать же логику аналитику(учет контрагента\персонала\воронка продаж) ,это же все на бэке
Аноним 20/03/23 Пнд 18:15:02 2646791 480
>>2646652
> Копирую все названия полей
Зачем тебе все названия полей? Ты ебалу какую то делаешь.
Аноним 20/03/23 Пнд 18:16:47 2646792 481
Аноним 20/03/23 Пнд 18:17:54 2646793 482
>>2646792
да мне бы 70 хватило...
Аноним 20/03/23 Пнд 18:19:09 2646795 483
>>2646793
Да тебе бы и собачьего корма...
Аноним 20/03/23 Пнд 18:20:14 2646799 484
>>2646793
Тогда иди в ИП Кабаныч. Там тоже самое надо но за 70
Аноним 20/03/23 Пнд 18:21:03 2646801 485
>>2646773
Бамп вопросу. Вот только что столкнулся стакой залупой. Есть набор полей с данными пользователя с базы, но там есть и те, которые нельзя отдавать на клиент, надо сделать ремап полей.

function remap<T extends IUser >(user: T) :Omit<T, TUnsafeUserProps> {
const result = {} as Omit<T, TUnsafeUserProps>;

for (const item in user) {
if (UNSAFE_USER_PROPS.includes(item)) {
continue;
}

// вот тут заебал ныть.
result[item] = user[item];
}

return result;
}
Аноним 20/03/23 Пнд 18:23:56 2646808 486
1679325839773.png 7Кб, 356x77
356x77
>>2646792
Извини, анон, но это не то. Я тоже могу извлечь поля, я собственно это и сделал на пике. Но я хочу чтобы IDE после извлечения этих полей мне показывало их список после точки (автокомплишен).

>>2646791
У меня есть гуишка. В гуишке есть компоненты, например числовой ввод (намимпут). Я хочу связать эти компоненты с другим классом (инстансом), чтобы когда я изменения в этом компоненте делал, например ввёл другое число, он бы через change ивент изменил это самое поле в инстансе.

Для того чтобы он понимал какое поле ему изменять, я хочу явно указать с каким полем связан компонент. Для этого мне нужен генерирующийся объект поле_класса:название_поля
Аноним 20/03/23 Пнд 18:33:19 2646823 487
>>2646801
Это так себе решение, либо создавай сразу новый объект только с допустимыми полями, либо использую верификацию через zod или подобные.
>>2646808
Все еще не понимаю зачем тебе все поля. Повесь id на инпут, по нему обращайся в объект fields. То что e.target.id у тебя гарантировано типа FieldKey сам тайпскрипту объяснишь.
Аноним 20/03/23 Пнд 18:37:46 2646826 488
>>2646823
>Повесь id на инпут
Просто я хочу избежать лишней прослойки. Мне ID инпута придется называть также, как и поле в моём классе. Т.е. вручную ещё раз прописывать этот айдишник. Здесь же можно ошибиться.

Либо представь если мне нужно будет добавить новый наминпут/чекбос, мне придется сначала такое поле в классе добавить, а затем и айдишник с таким названием как у поля указать. Или представь если я захочу переименовать поле в классе. Мне тогда придётся переименовать айдишник тоже.
Аноним 20/03/23 Пнд 18:39:38 2646827 489
>>2646823
>либо создавай сразу новый объект только с допустимыми полями
Я и создаю этим ремапингом. Это серверный код. На сервер приходит username и password с клиента, проверяется валидность, если всё ок, то из базы достаётся объект с данными юзера (в котором захешированный пароль), вот я хочу из этого объекта убрать пароль, перед отправкой на клиент.
Аноним 20/03/23 Пнд 18:58:37 2646844 490
1679327920199.png 2Кб, 226x50
226x50
1679327920200.png 4Кб, 441x59
441x59
1679327920200.png 10Кб, 421x188
421x188
1679327920200.png 5Кб, 278x75
278x75
>>2646826
Ладно, можно наверное так сделать. Сделать интерфейс, имплементить его для класса настроек, возвращать поля вида интерфейса. Мне только не нравится unknown.
Аноним 20/03/23 Пнд 19:00:56 2646848 491
>>2646844
Ну а ещё мне ненравится что мне пришлось все сделать any.
Аноним 20/03/23 Пнд 19:01:02 2646849 492
1.png 51Кб, 774x464
774x464
>>2646808
Такой говнокод хотел?
Аноним 20/03/23 Пнд 19:02:24 2646851 493
1679328147890.png 6Кб, 532x93
532x93
>>2646848
А, ну в принципе можно даже не ставить any, когда указываешь as unknown ему дальше похуй.
Аноним 20/03/23 Пнд 19:02:48 2646852 494
>>2646849
Да, заебись. Сейчас вникну как ты это сделал.
Аноним 20/03/23 Пнд 19:04:02 2646855 495
>>2646849
Только у тебя fields попал в поля, что не свойство, а метод класса. Избавиться бы от этого.
Аноним 20/03/23 Пнд 19:16:49 2646877 496
>>2646855
А в принципе и так норм. Вроде охуенно получилось, большое спасибо.
Аноним 20/03/23 Пнд 19:25:48 2646890 497
>>2646827
Я имею ввиду создать сразу объект а не проходится лупом.
const {name, id} = fromDb
const toFrontend = {name, id}
Аноним 20/03/23 Пнд 19:31:05 2646894 498
>>2646792
Скинь проект гитхаба тогда пожалуйста, с примером того что нужно уметь за сотыгу.
Аноним 20/03/23 Пнд 19:32:59 2646900 499
Посоветуйте какой-нибудь годный сет практических упражнений конкретно на закрепление понимания работы this, пожалуйста, если такой есть.
Аноним 20/03/23 Пнд 19:40:31 2646912 500
>>2646890
>а не проходится лупом
Так в том-то и суть, что я сейчас хочу одно поле не передавать на клиент, а в будущем таких полей может быть хуй знает сколько. Я создал массив с полями, которые нельзя передавать и ремаплю объект, проверяя есть ли это свойство в unsafeProps. Но я уже решил проблему, говнокод, но работает, и автокомплит у results есть.

Вот этому бы типу ещё задать, что в нём только ключи от TUnsafeUser могут быть, что бы потом добавлять (password | hui | zalupa etc)
type TUnsafeUserProps = 'password';

type TSafeUserData<T extends TUnsafeUser> = Omit<
Pick<T, keyof TUser>,
TUnsafeUserProps
>;

getSafeUserData<
TUserDoc extends TUnsafeUser,
TResult extends TSafeUserData<TUserDoc>,
>(userDocument: TUserDoc): TResult {
const user = userDocument.toObject();

const result = {} as TResult;

for (const item in user) {
if (UNSAFE_USER_PROPS.includes(item)) {
continue;
}

result[item as keyof TResult] = user[item];
}

return result;
}
Аноним 20/03/23 Пнд 19:45:53 2646917 501
>>2646912
Ну и TUnsafeUser - расширенный тип пользователя документом монги и TUser просто тип данных юзера.
Аноним 20/03/23 Пнд 19:53:25 2646928 502
>>2646912
>Так в том-то и суть, что я сейчас хочу одно поле не передавать на клиент, а в будущем таких полей может быть хуй знает сколько
Вот я тебе о том и говорю, что надо забирать и передавать только те поля, которые ты передаешь, а не убирать те, которые не передаешь. Потому что недосланное поле будет видно еще в процессе разработки гарантировано, а вот приватное поле из базы данных которое присылается пользователю можно обнаружить когда это уже протечет. Не должно быть такого что при изменениях в структуре базы тебе надо не забыть поменять и в апи список удаляемых полей.
Аноним 20/03/23 Пнд 20:11:13 2646955 503
>>2646928
Окей, как расписать тип такому объекту?
const {name, id} = fromDb
const toFrontend = {name, id}
Аноним 20/03/23 Пнд 20:20:01 2646964 504
>>2646848
Ну неудивительно, что не нравится. Это всё равно что не использовать TS. В подавляющем большинстве случаев any не должно в коде быть.
Аноним 20/03/23 Пнд 20:59:39 2647014 505
>>2646955
Автоматом пропишется же, если у тебя данные в fromDb типизированные.
Аноним 20/03/23 Пнд 21:25:52 2647042 506
>>2647014
Лол, реально не надо никакого тайпинга. Я ещё плохо понимаю, где надо указывать тип (всегда кажется, что везде надо), а где он автоматом подтянется.
getSafeUserData(user: IUser) {
const result = {
email: user.email,
username: user.username,
};

return result;
}
Аноним 20/03/23 Пнд 22:05:21 2647082 507
>>2646761
>как можно верифицировать npm пакет уже скачанный в проект?
Не знаю.
Почему пакет нельзя просто установить?
Аноним 20/03/23 Пнд 22:46:11 2647127 508
>>2647082
Я могу установить пакеты, но у меня постоянный доступ ко всей электронной технике и ограниченный доступ к информации, то есть я под постоянным киббертерроризмом нахожусь. В программах создаются ошибки, видимо корректировкой файлов программы, поэтому мне нужно развернуть какую-то внутреннюю систему защиты файлов проектов и верифицировать зависимости, которые я тащу в проект.
Аноним 20/03/23 Пнд 23:07:22 2647137 509
Нужно очень быстро вкатиться в js чтобы написать тяп ляп хуйню. Как вкатываться быстрее всего? И где примеры хорошие смотреть? Мне только основы нужны, без библиотек всяких
Аноним 20/03/23 Пнд 23:09:48 2647140 510
>>2647137
> Мне только основы нужны, без библиотек всяких
Тогда зачем именно JS? Почему например не флаттер? Вся прелесть жс именно в экосистеме, а без неё - это чрезвычайно убогенький язык.
Аноним 20/03/23 Пнд 23:11:03 2647141 511
>>2647140
Вот такое уебанское задание. Я планирую забыть язык через неделю навсегда
Аноним 20/03/23 Пнд 23:11:16 2647143 512
>>2647127
fs.watch / chokidar на папку с модулями, чтобы понять, для начала, меняется что-то или нет?
Аноним 20/03/23 Пнд 23:12:00 2647145 513
>>2647141
Проще тогда нанять фрилансера, который тебе за несколько сотен рублей напишет код, чем изучать самому.
Аноним 20/03/23 Пнд 23:20:14 2647156 514
Как с работой обстоит вопрос? Миддле девелопер 3 годика, вью/реакт, плавно начинаю искать работу. Я уже не нужен, меня заменили или есть шансы найти работу, чтоб 150к платили?
Аноним 20/03/23 Пнд 23:32:33 2647162 515
Как программу на файлы бить? Модули ебано работают и ошибки дают
Аноним 20/03/23 Пнд 23:34:50 2647167 516
>>2647143
Уже решил, что буду использовать AIDE для контроля неизменности файлов. И, наверное, попрошу кого-нибудь с полностью защищенной системой билдить проект за деньги перед сдачей заказчику. Но хотелось бы еще перед передачей посреднику самому сверяться с достоверностью пакетов.
Аноним 20/03/23 Пнд 23:54:08 2647172 517
>>2647127
В больших компаниях как правило поднимают прокси npm, с которого скачиваются пакеты, соответственно все пакеты хранятся у себя, а новые версии добавляются только после проверки.
Аноним 21/03/23 Втр 00:13:05 2647184 518
1679346785531.png 21Кб, 626x178
626x178
1679346785533.png 7Кб, 821x78
821x78
1679346785534.png 14Кб, 520x136
520x136
Блять, КАК?! Почему эта хуйня не присваивает значение? Ни одним из способов. Почему мой setvalue не отрабатывает, он что, не передает значение по ссылке? Как ему значение по ссылке передать? Он не изменяет исходный. Просто не могу присвоить значение динамически.
Аноним 21/03/23 Втр 00:19:40 2647185 519
>>2647184
> пик 1
Я полагаю, ты хочешь передать в setValue this.hueta.settings, а не this.hueta?
Аноним 21/03/23 Втр 00:19:43 2647186 520
1679347183134.png 7Кб, 640x45
640x45
>>2647184
Ладно, вот так работает. Но я всё равно хочу знать как это делать по нормальному.
Аноним 21/03/23 Втр 00:21:19 2647188 521
>>2647185
Ебать я даун тупой и слепой и дегенерат и унтерок. Прошу простить.
Аноним 21/03/23 Втр 00:21:54 2647189 522
Что-то невнимательность начала проявляться под вечер. Ну, наверное это нормально.
Аноним 21/03/23 Втр 00:22:34 2647190 523
>>2647186
Ключ так и должен передаваться, если он динамический. Дескриптор объекта это или символ, или строка. Даже если твой ключ будет похож на число - он неявно приведётся в строку. С названием ключа аналогично, текстовое название возьмётся строкой. Надо повесить высисляемый ключ - индексатор.
Аноним 21/03/23 Втр 00:27:51 2647192 524
1679347671771.png 6Кб, 535x62
535x62
1679347671772.png 3Кб, 423x26
423x26
Да, теперь работает, отлично.

>>2647190
Да, ключ всегда строка и выгружается из памяти, я потом просто прохожусь по парам ключ: значение и присваиваю инстансу. В принципе как на втором пике тоже работает. Второй вариант даже удобнее, надеюсь так делать адекватно.
Аноним 21/03/23 Втр 08:45:37 2647285 525
Есть у меня HTML код

<article>
<img src="bildoj/ifk/ifk+0.png" id="ifk">
<img src="bildoj/dato/dato+0.png" id="dato">
<ul>
</ul>
</article>
</main>
<script src="js/main.js"></script>
</body>

и JS

var zono = new Date().toLocaleTimeString('en-us',{timeZoneName:'short'}).split(' ')[2].slice(3);
document.getElementById('ifk').src = "bildoj/ifk/ifk" + zono + ".png";

все это крутится на NGINX, но не работает JS меняющий картинку по часовому поясу, хотя локально все норм определяется и парсится, +3 от GMT+3, я уже все проблемы в бэкэнде решил, а эту не могу решить, чтобы src менять у пикч динамически
Аноним 21/03/23 Втр 09:30:45 2647314 526
image.png 65Кб, 445x494
445x494
>>2646194
Не пущать и запретить. Маняврирование общественным мнением через бота, прям черное зеркало какое-то. Но отрицать не стану.

>>2646214
Логично. Но не менее печально от результата.

>>2646261
Там я в телеге. Фейкмобилы уже все расхватали, так что хоть так.
Аноним 21/03/23 Втр 10:20:46 2647342 527
Подскажите, влияет ли try-catch на скорость выполнения кода внутри блока?

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

Я хочу всю эту функцию обернуть в try-catch, чтобы если чё-то пошло не так, просто удалить весь объект юзера и посоветовать ему переподключиться. Скажется ли это на производительности? Пока не похоже, но сейчас не могу нормально протестировать.
Аноним 21/03/23 Втр 10:53:52 2647363 528
>>2647342
https://stackoverflow.com/a/19728876

tl;dr: из далёких <2016 годов: если ты не байтоёбишь и каждую одиночн операцию не оборачиваешь в пытайся-лови - разницы не заметишь
Апдейт v8 от далёкого ~2016 имевшуюся проблему оптимизации функций в три-катсх решил.
Аноним 21/03/23 Втр 12:02:00 2647419 529
>>2647167
У меня на проекте вот так >>2647172, брат жив, зависимость есть.
Аноним 21/03/23 Втр 12:32:18 2647460 530
WHICHFRAMEWORKT[...].jpg 665Кб, 4096x2315
4096x2315
>>2636127
Почему Gatsby тут нету?
Аноним 21/03/23 Втр 12:36:54 2647463 531
>>2647460
Главное астро запихал в статик сайт, на котором и приложения можно делать, а гетсби, который для этого создан нет
Аноним 21/03/23 Втр 12:50:19 2647481 532
>>2647460
Я вообще когда увидел пикчу не понял кто автор.
Но автор - один schizopinionated ютабер, после просмотра пары видосов которого пришлось скрыть с выдачи.
> я не любил тейлвинд
> я люблю тейлвинд, он восхитителен
> теперь опять не люблю
> опять полюбил, он охуенен
Ну ты понел.
Аноним 21/03/23 Втр 13:36:10 2647524 533
Пацы, скажите стоит дрочить алгоритмы и структуры данных на интервью для вката? Или лучше на другом сосредоточить усилия? Что скажете?
Аноним 21/03/23 Втр 13:38:42 2647528 534
Аноним 21/03/23 Втр 13:43:28 2647535 535
Аноним 21/03/23 Втр 13:49:10 2647538 536
>>2647528
Жопа. Скачал курс по ним на 20 с хуем часов. Не то чтобы сложно просто долго(
Аноним 21/03/23 Втр 14:18:32 2647553 537
>>2647538
Если уделять этому 3 часа в день, то хватит недели. Если тебе кажется, что это много, подумай о том сколько бы ты потратил на изучение алгоритмов в универе, беря в учёт что в программе не только они и надо ещё параллельно чем-то заниматься. Пусть курс даёт представления об алгосах уровня "Грокаем алгоритмы", ну скачай ещё один выше уровнем или смотри видео, например вот https://www.youtube.com/@algoseekee, и это всё равно займёт меньше времени, к тому же будешь сконцентрирован на одном конкретном модуле. Разбалован ты, анон.
Аноним 21/03/23 Втр 14:33:40 2647570 538
>>2647553
Я понимаю. Просто у меня совсем психологическая яма в жизни. Решил уже собраться с силами и по полной нахрапом лезть везде и в любую бочку затычкой и прикладываю усилия по максимуму. Иначе так и буду нерешительно прозябать. Еще и траблы со здоровьем и чтобы решить нужны деньги. Знание ноды и реакта прокачал до базовой макаки где-то. Тайпскрипт активно осваиваю. Но и слабые места есть. CSS и алгоритмы. На них теперь упор делаю. После них плотнее бэкенд начну изучать а то на ноде примитивные круды сварганю легко а вот что сложнее уже не факт.
Аноним 21/03/23 Втр 14:37:34 2647575 539
>>2647570
Зачем тебе css, если ты хочешь в бек? Там и на фронте то сильно шарить не надо, только на исключительных каких-то позициях. То же самое и про алгосы, чисто для собесов
Аноним 21/03/23 Втр 14:51:21 2647589 540
>>2647575
Я слабоват для бэка и буду пока во фронт пробовать. Там уже и могут спросить за css и алгосы собственно везде спросить могут
Бэк же паралельно прокачиваю чтобы потом была возможность на него переметнуться или стать фулстаком. Пока я его знаю только на уровне присобачить на ноде что-нибудь к своим фронтэнд калькуляторам и крудам.
Аноним 21/03/23 Втр 14:56:32 2647598 541
>>2647570
>CSS и алгоритмы. На них теперь упор делаю.
Для уровня собеса тебе будет достаточно знать основные алгоритмы и структуры данных и желательно умение отобразить их в коде, но это несложно если понял суть алгоритма, никто не будет тебя спрашивать по Кормену, только если в собеседники тебе не попадётся какой-то из местных шизиков-вахтёров. CSS можешь пробежать модуль фрикодкэмпа "(New) Responsive Web Design", он сейчас обновился, но в старом там в принципе все моменты рассказаны которые позволяют создавать более менее современные интерфейсы. Подтверждение можно не получать, а можно и получить если есть время на 5 проектов. Дерзай, желаю удачи.
Аноним 21/03/23 Втр 14:57:43 2647599 542
>>2647589
В топ-конторах за css особо не спрашивают. У кобанычей любая рандомная хуйня будет, смысла ко всему готовится тоже особо нет
Аноним 21/03/23 Втр 14:59:56 2647605 543
>>2647535
Проиграл. И грустно и правда.
Аноним 21/03/23 Втр 15:01:46 2647609 544
>>2647598
>фрикодкэмп
Кстати там же и по алгоритмам и структурам данных есть модуль, называется как раз "Coding Interview Prep".
Аноним 21/03/23 Втр 15:05:31 2647617 545
>>2647598
Спасибо большое. Так и сделаю, выучу по фрикодкэмпу css. Курс свой допройду и начну откликаться на вакансии.

>>2647599
Понял, спасибо, утешил. Тогда тем более фрикодкэмпа хватит.
Аноним 21/03/23 Втр 15:22:13 2647639 546
>>2647156
Бамп. В прошлом январе-феврале просмотров резюме было раз в 10 больше, всё настолько хуже стало?
Аноним 21/03/23 Втр 15:31:06 2647653 547
>>2647639
Да.
Чатгпт-4 ебет без шансов, вкатывайся в что-то другое пока повально все не начинали туда вкатываться.
В дальнобои например очень профитно, твои 150к там это средний уровень.
Аноним 21/03/23 Втр 15:31:42 2647655 548
>>2647653
А если сможешь свалить из рашки то будешь намного больше чем какой-то синьер получать даже.
Аноним 21/03/23 Втр 15:32:02 2647656 549
>>2647639
> январь-февраль
Да, случилось 24-ое февраля. Сравнивая количество просмотров/приглашений в середине года с дооперационными значениями в начале года - небо и могила.
Аноним 21/03/23 Втр 15:32:04 2647657 550
>>2647653
> 150к там это средний уровень.
Так и в жиесе вроде средний, не?
Аноним 21/03/23 Втр 15:33:11 2647658 551
>>2647656
Но с 3 годами опыта ведь ещё можно найти работу? Я смотрю тут вкатаны даже есть, значит 3 года = оффер, хоть какой-нибудь?
Аноним 21/03/23 Втр 15:37:09 2647660 552
>>2647658
Я искал мидловую позицию в середине года чуть больше месяца. Банальный просмотр резюме В день - победа. По итогу правда всё равно позвали, с очень выгодным предложением сами, но да не ссуть. В начале года только и успевал расставлять собесы на разные временные слоты, а лучше на разные дни. Сейчас, даже страшно представлять, так же всё хуёво или ситуация немного выровнялась.
Аноним 21/03/23 Втр 15:37:50 2647661 553
Поясните за неймспейсы в тайпскрипте. Отдельного треда не нашёл.
Вот есть у меня два файла classes/FooGovno.js и types/FooMocha.js с экспортным классом FooGovno и экспортным тайпом FooMocha соответственно. Можно сделать, чтобы они назывались просто Govno и Mocha, а я поместил их в namespace Foo и в коде потом просто писал `import {Govno, Mocha} from '@/somewhere/Foo'`? Нужен какой-то корневой файл для неймспейса, а в самих файлах классов/типов ///<рефёренсы>? Или я вообще хуйню придумал и сути этих неймспейсов не понял? Для чего они тогда нужны? Помогите, я запутался.
Аноним 21/03/23 Втр 15:38:57 2647662 554
Аноним 21/03/23 Втр 15:39:28 2647665 555
>>2647660
Буду надеяться, что у меня тоже всё будет хорошо и не придётся возвращаться из отпуска на текущую галеру за мелкий прайс.
> Банальный просмотр резюме В день - победа.
Вчера я победил. Сегодня нет...
Аноним 21/03/23 Втр 15:43:55 2647667 556
>>2647665
Ну тут только терпение, анон. Терпение и отклики, мониторинг новых вакансий. Удачи с этим.
Аноним 21/03/23 Втр 15:47:46 2647670 557
>>2647667
> и отклики
С этим проблемы, тревожно откликаться...
> Удачи с этим.
Да, только она мне и поможет.
Аноним 21/03/23 Втр 15:51:53 2647675 558
>>2647670
Ну отклики увеличивают вероятность того, что твоё резюме просмотрят. Представь, что ты на сайте знакомств, и тебе надо забрутить мэтч. Лол.
Либо ты забручиваешь, ли ты незаменимый и тебе накидывают копейку за щеку разве что, потому что Хрюши с твоей галеры резюме тоже увидят рано или поздно. Но даже в этом случае лучше бы иметь оффер, чтобы не подстелили заранее соломки к твоему пидорингу.
Аноним 21/03/23 Втр 15:55:29 2647682 559
Как обрабатывать ошибки лучше? Вот есть в файле кнопка загрузки файла. Для этого вызывается написанная в другом файле функция парсинга файла. А че делать, если файл не парсится?
Аноним 21/03/23 Втр 16:08:54 2647693 560
Вакансий вроде много, а рука откликнуться не поднимается вдруг работать придётся? Ну и хуев на собесе насосусь однозначно .
>>2647675
> потому что Хрюши с твоей галеры резюме тоже увидят рано или поздно
В прошлый раз после такого мне 20к накинули. Но в этот раз я ушёл в саббатикал, может уже всё подготовлено к тому, что я не вернусь. Проект всё-равно закончился, считай я выйду, мне нужно новый проект найти - а можно же просто выкинуть меня на помойку, вроде выгодней звучит.
Аноним 21/03/23 Втр 16:17:04 2647706 561
>>2647314
Ну разрабы не готовы чтобы их поделие заблочили власти из за того что оно небезопасно. Я думаю они и сами не рады ее цензурить.
Аноним 21/03/23 Втр 16:28:14 2647718 562
4242.png 55Кб, 797x933
797x933
Не знаю почему, но хихикнул с этого.
Аноним 21/03/23 Втр 16:33:04 2647729 563
Аноним 21/03/23 Втр 16:51:46 2647750 564
>>2647718
Хихикать так-то да, сам хихикал. Но в целом, это норма. Стрессовая работа, все пытаются выдрючить, а нужно чтобы раб всегда функционировал, а не летал хрен знает где, пытаясь месяц отпроцессить то, с чем ему могли бы помочь быстрее. Только у нас все зашоренные и лучше вилкой в оба глаза, чем к психиатру раз.
Аноним 21/03/23 Втр 18:08:04 2647825 565
>>2647718
Вся суть айтиговна. Либо въебываешь за большие деньги до потери сознания, либо ничего. А где мои адекватные варианты жать кнопочки за 20-30к в месяц не напрягаясь? Где хикка-вакансии?
Аноним 21/03/23 Втр 18:39:59 2647878 566
>>2647825
>А где мои адекватные варианты жать кнопочки за 20-30к в месяц не напрягаясь?
Тебя это заебёт, поверь мне, в какой-то момент ты поймёшь что страдаешь хуйнёй и мог бы зарабатывать больше и ты непременно вкатишься в эту гонку. К тому же сейчас даже хикке этого будет мало просто для проживания, не говоря о тратах на условные видимокарты и игрульки-игрулечки. Ты в магазин когда в последний раз ходил?
Аноним 21/03/23 Втр 18:42:03 2647886 567
Поможите, я написал в фале класс, хочу в другом файле вызвать. Импорты не работают, модули не загружаются. Как мне до класса достучаться?
Аноним 21/03/23 Втр 18:46:07 2647894 568
>>2647886
Ты через импорт или реквайр пытаешься импортировать? Покажи код.
Аноним 21/03/23 Втр 19:52:33 2647941 569
>>2647878
Если у родителей жить то вполне хватит, ещё и вполне откладывать можно будет. Я, блять, с нищей стипендии вузика накопил 60+ тысяч или 80? не помню, просто потому что ни на что её не тратил годами. Скорее от типа мышления и стиля жизни зависит устроит человека 20к или нет.

Трудно оспорить тейк про гонку, ведь я не был в подобной ситуации, но со стороны это выглядит будто айтишные наносеки просто выбрасывают в мусорку все свои желания и убиваются за деньги. В чём прикол, очевидно, не выкупаю. Я бы предпочёл просто приятную работу, пускай и за меньшие деньги, ведь жизнь такова что в рабстве придётся прожить 2/3 жизни, так смысл давиться до такой степени что аж психологи будут нужны?

>Ты в магазин когда в последний раз ходил?
Мамка изредка отправляет. Полноценно сам я наверное никогда в жизни не ходил.
Аноним 21/03/23 Втр 19:56:09 2647943 570
>>2647941
Накопил, но куда ты их потратил?
Суть в обеспечении жизни, съем там все такое.
Аноним 21/03/23 Втр 19:57:22 2647946 571
>>2647878
Сейм, я тоже считал а че б просто не уйти в пхп где как раз эти 20-30к лежат, родные? Потому что это потолок. Эти 20-30к ты будешь 5 лет подряд получать, а хаты даже обосранные стоят 50% твоей зп. Особенно весело если ты хочешь жить один со своей крупной собакой. Сьемка не вариант, с животными очень туго, выпнут тебя. А с хорошей зп в ит можно за год купить муравейник.

Никогда не сдавайся, не работай за 20-30к если только у тебя уже есть своя хата, оплаченная. И то этого мало после оплаты жкх.
Аноним 21/03/23 Втр 19:59:19 2647949 572
>>2647718
Ну как бы все так, у меня сенька в европе (он там родился) по блату работает уже сколько лет, и то он тоже ходит к психологу.
Аноним 21/03/23 Втр 19:59:39 2647950 573
>>2647943
В один день отдал всё отцу когда ему надо было кредит за машину погасить, кек. В принципе не особо жалею, для меня родители не мало сделали, так что почему бы и нет.
Аноним 21/03/23 Втр 20:00:24 2647952 574
>>2647941
Нет, 20-30к это зарплата нищенок. Ты работаешь, потеешь, делаешь код, а тебе платят меньше чем вахтерше в школе или какому нибудь кассиру. Джун должен смело просить хотя бы 50к.
Аноним 21/03/23 Втр 20:03:45 2647955 575
>>2647941
>Трудно оспорить тейк про гонку, ведь я не был в подобной ситуации, но со стороны это выглядит будто айтишные наносеки просто выбрасывают в мусорку все свои желания и убиваются за деньги. В чём прикол, очевидно, не выкупаю.
>Мамка изредка отправляет. Полноценно сам я наверное никогда в жизни не ходил.
Ты сам ответил на свой вопрос, вот в этом и прикол, 30к не хватит не то что покрыть свои желания, а банально нивелировать свои базовые потребности в полной мере. К примеру вот у меня были проблемы с зубами, не прям пиздец, но работа требовалась, по полису я лечиться не хотел по понятным причинам, с 30к я бы просто не мог себе позволить лечение если бы жил один. Это просто пример, на самом деле денег много не бывает никогда, всегда найдёшь им применение. Что касается выгорания, то зачастую в нём виноваты не сами разработчики, а ебланы на менеджерах, ебашить до походов к мозгоправу у здорового человека желания нет ни за какие деньги.
Аноним 21/03/23 Втр 20:08:23 2647959 576
>>2647955
Да зачем ты еще аргументы приводишь в 30к, лол, чел, у меня знакомый работает ездя на машинах и ставя в команде линупсы, делает 50к на одном только старте, щас может больше. Программист и 30к это оксюморон. Просто нечестные кабанчики настолько охуели что делает и такие вакансии в надежде найти отчаявшегося вкатуна лоха.
Аноним 21/03/23 Втр 20:11:07 2647961 577
>>2647955
Ну, да. В принципе ты прав, зарплаты всё же ориентированы на самостоятельных нормисов. Накладываются расходы на проживание, пропитание, экстра расходы на медицину и собственные хотелки. В итоге минимальная планка уже не маленькая. Раз минимум уже приличный, кабану нет смысла мириться с этим и извлекать минимальный профит, он начинает накручивать сложность и выдрачивать кодерков. Из--за этого планка зарплаты поднимается ещё выше, т.к. накладывается "напряженный интеллектуальный труд".

Хиккованные работки просто не вписываются в эту схему, к сожалению. Видимо тут только смириться. Но у меня нет другого выбора, придётся в любом случае дрочить айтишечку. Слишком поздно сходить с тропы.
Аноним 21/03/23 Втр 20:17:04 2647963 578
Как быть, если я никчемный разработчик и за несколько лет опыта работы так ничего и не смыслю и сливаюсь даже на легких вопросах по js?
Вот, например, тест https://learn.javascript.ru/quiz/js-basic - я там 50% только набрал, я сливаюсь на вопросах, по типу
"Что выведет выражение ниже?
let a = new Array(1,2), b = new Array(3);
alert(a[0] + b[0]);" - может айти, это не моё?
Это ведь был тест для вкатышей, которые прочли учебник...


>>2647825
Я на такой вакансии работаю, ненапряжно - только платят 80к, а не 30. При зп в 30к я бы выпилился...
Аноним 21/03/23 Втр 20:23:33 2647967 579
>>2647959
Хз хз, вижу в своём милионнике зарплаты 15-20к, работал на паре работ. Грузчиком помню чуть не подох в первый день за копейки, официантом тоже самое там вообще твоя зп с чаевых считай, ещё курьером пешим 1к за 8 часов это считалось хорошими деньгами. А тут можно будет в тёплом офисе сидеть за компом за 30к, звучит не так плохо
Аноним 21/03/23 Втр 20:25:33 2647971 580
>>2647963
> Что будет
Ну просто, очевидно, ты не создавал так массивы через конструктор, иначе знал бы, что в первом случае перечисляются элементы, во втором случае указывается длина массива.
В случае сложения будет 1 + undefined, что даст NaN. Но вообще там будет массив с 3-мя пустыми ячейками, поэтому увидеть например new Array(3).fill("zalupa").map...
Аноним 21/03/23 Втр 20:26:16 2647973 581
>>2647967
Звучит плохо. Хату ты с ипотекой получишь только через лет 10-15.
Аноним 21/03/23 Втр 20:27:04 2647975 582
>>2647971
Я постоянно создаю массивы через конструктор, кстати. Самый очевидный кейс - месяца года на локализации в массивчик сделать. Вручную я не буду это набивать.
Аноним 21/03/23 Втр 20:28:13 2647977 583
>>2647975
А map через reduce напишешь?
Аноним 21/03/23 Втр 20:28:23 2647978 584
>>2647971
Вот так
new Array(12).fill(null).map((_, index) => ...)
Может есть попроще способ, но мне прям заходит. В питоне такое часто встречается.

Array() это не конструктор, а функция.
Аноним 21/03/23 Втр 20:29:15 2647980 585
>>2647977
Ну не знаю, вроде это простейший способ получить последовательность чисел от 1 до н. Все остальные способы нечитаемые.
Аноним 21/03/23 Втр 20:33:09 2647986 586
Аноним 21/03/23 Втр 20:34:15 2647987 587
>>2647986
Я про то когда без new, то функция.
Аноним 21/03/23 Втр 20:35:28 2647989 588
>>2647967
Я работал в теплом офисе за 20к. Теперь работаю в тёплой квартире за 80к. Степень напряжённости работы примерно одинаковая иногда можно охуеть, но это лично мои проблемы, что я не умею со стрессом работать, грузчиком я бы вообще сдох. Сдаётся мне, что на 2 сотыгах напряжней может и не стать.

>>2647971
> Ну просто, очевидно, ты не создавал так массивы через конструктор, иначе знал бы, что в первом случае перечисляются элементы, во втором случае указывается длина массива.
Ну да, но разве это не дефолтное знание, мне не должно быть стыдно за то, что я этого не знал?
Ещё бывают вопросы, по типу "где правильно создаётся функция" и там помимо привычных вариантов, ещё варианта 2-3, которые я не знаю, никогда не использовал и вряд-ли буду, а если бы в моей власти было не пропустить такое на ревью, то я бы не пропустил их. В js как-будто напихали нюансов специально, чтобы на собесах спрашивать, но в ирл разработке не применять их...
> В случае сложения будет 1 + undefined, что даст NaN. Но вообще там будет массив с 3-мя пустыми ячейками, поэтому увидеть например new Array(3).fill("zalupa").map...
Это я уже в консольке проверил и осознал, но через пару дней я не вспомню об этом, в реальных проектах ничего такого не вилел, а если чем-то не пользуешься, это забывается и потом сосёшь хуи на собеседовании.

>>2647975
> Я постоянно создаю массивы через конструктор, кстати
Попустил бы меня на собесе за незнание нюансов такого создания?
Аноним 21/03/23 Втр 20:36:25 2647991 589
>>2647989
Нет конечно. Со временем сам научишься так делать.
typeof Array

'function'

typeof new Array

'object'
Это из консоли киви. Кстати советую этот браузер на смартфон (айосблядки соснули), там прям чистый порт девтулс с пк.
Аноним 21/03/23 Втр 20:37:54 2647993 590
Аноним 21/03/23 Втр 20:38:28 2647994 591
>>2647989
Чтоб не забылось тебе надо понять принцип создания массивов и преобразования обьёктов к строке. Это не забудется если ты не даун (там всего 3 шага), и ты сможешь в голове "проинтерпретировать".
Аноним 21/03/23 Втр 20:41:00 2647998 592
>>2647991
> киви
О, спасибо, Анон. А то иногда хочется потыкать сайт и не бежать за ПК.
Аноним 21/03/23 Втр 21:02:19 2648037 593
>>2647589
> слабоват для бэка
> буду пока во фронт пробовать
Это стериотипы из 2007, когда на фронте только жквери плагины на страницу нужно было вешать. Сейчас сложность сопоставима, выбирай, что больше нравится. что меньше не нравится
Аноним 21/03/23 Втр 21:08:24 2648043 594
>>2647682
Отлавливать ошибку парсинга через try...catch, потом отрисовывать ошибку в ui.
Аноним 21/03/23 Втр 22:52:13 2648162 595
>>2648043
Ну это тоже не очень подход, на отьебись. Нужно стараться все равно его прочитать, или в цикл бесконечный уложить, чтобы пользователь не только узнал об ошибке, но и сразу же попробовал еще раз. Или вообще сделать прозрачно чтобы он сам пытался еще раз без вмешательства, что пользователь просто не заметит. Не вышло пропарсить? Попытаться угадать магическое число в первых байтах. Оно корректно? Тогда использовать другой, прощающий ошибки парсер. Все еще не вышло? Попытаться пропарсить часть файла и вернуть что вышло.


Особенно глупо но такое даже в сайтах якобы лучшие практики есть, когда ошибка идет только в консоль.
Аноним 22/03/23 Срд 00:09:49 2648233 596
Пошёл нахуй, пидор.
Аноним 22/03/23 Срд 00:32:34 2648247 597
Аноним 22/03/23 Срд 00:38:21 2648250 598
Аноним 22/03/23 Срд 00:39:25 2648251 599
Аноним 22/03/23 Срд 06:03:45 2648333 600
> Виртуальные потоки, которые появились в Java 19, продолжают оставаться в статусе Preview API (предлагается финализировать их в Java 21). Изменений API, связанных с проектом Loom, в этом релизе нет
АХАХАХАХАХАХХАХАХАХАХАЗХАХЗАХАХАХАХХАХАХАХАХАХАХАХА
Аноним 22/03/23 Срд 06:05:48 2648336 601
бля не тот тред
Аноним 22/03/23 Срд 09:01:40 2648387 602
>>2648251
Быдло, ты вообще видишь разницу между "по чему" и "почему"?
Аноним 22/03/23 Срд 10:59:54 2648439 603
Аноним 22/03/23 Срд 19:02:44 2649040 604
Аноним 23/03/23 Чтв 21:48:57 2650586 605
>>2647463
На нем легко сделать SSR с react+mobx или там куча ебли с совместимостями?
Аноним 24/03/23 Птн 12:46:39 2651075 606
Почему джаваскрипстеры к 2023 году отказались от использования смузи-солюшена Gulp.js? Для справки молодым - такая хуйня, которая делает то же самое что таски в package.json, только хуяришь всё на жс вместо шелла и для каждого говна нужен ГАЛП ПЛАГИН чтобы его можно было запихать в ГАЛП ПАЙПЛАЙН. Предположу, что взлетел этот монстр потому что спермобляди@макопидоры шелла страшно боятся и готовы жрать вместо него вообще что угодно, но вопрос не в этом.

В 2015-2017 гг. нельзя было помыслить ВЁРКФЛОУ без этого говна - попробуй только скажи где-нибудь в приличном барбершопе, что галп джээс ненужное говно, так ламберсексуалы сразу на смех поднимали. Почему сегодня никто даже не знает, что это такое, а последние коммиты в код там четырёхлетней давности? Что такого полезного в нём было 8 лет назад, что вдруг стало бесполезным сейчас? Что-то мне подсказывает, что здесь замешан тайпскрипт?
Аноним 24/03/23 Птн 18:57:29 2651564 607
>>2651075
У сеньора горит пукан что надо переучиваться?
Джуниор после месячного курса Аноним 24/03/23 Птн 21:25:29 2651689 608
252534722741152[...].mp4 19626Кб, 900x1600, 00:00:15
900x1600
Первый день на новой работе
Аноним 27/03/23 Пнд 19:21:12 2654625 609
>>2651689
У джуна всё перечисленное должно от зубов отскакивать. На видосе трейни.
Аноним 28/03/23 Втр 02:42:06 2654843 610
>>2636276
Тайлвинд это завуалированный говноатрибут style только так, чтобы казалось будто ты не говнокодишь

Мало того что портянка нечитабельна, ты будешь постоянно лезть в код хтмл чтобы подправить верстку. Сюда же относится реактовые стайловые компоненты.
01/04/23 Суб 13:23:37 2659211 611
t
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов