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

JS Thread #269 /js/

 Аноним 10/03/23 Птн 14:03:56 #1 №2635706 
image.png
Предыдущий тред: >>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 #2 №2635714 
image.png
image.png
>>2635706 (OP)
База треда.

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

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

Блять.

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

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

Я много прошу?
Аноним 10/03/23 Птн 16:30:43 #8 №2635825 
>>2635807
https://blog.angular-university.io/rxjs-higher-order-mapping/
https://playcode.io/rxjs
Аноним 10/03/23 Птн 16:41:13 #9 №2635839 
>>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 #10 №2635841 
>>2635825
ахуеть! спасибо.
Аноним 10/03/23 Птн 16:45:57 #11 №2635845 
>>2635839
вот как раз ничего не случилось. я написал и оно работает. но чел написал, что надо поменять на свичмап. я в душе не ебу почему, что и что такое этот свичмап. мне нужно научиться.

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

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

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

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

мимо
Аноним 10/03/23 Птн 18:56:02 #20 №2635974 
1678463762559.png
Аноны, помогите пожалуйста. Я не понимаю в чём проблема. Он не эвейтит Promise.all, после того как отработал всегда возвращает undefined. Хотя я ему список вроде как подаю как и надо.
Аноним 10/03/23 Птн 19:02:32 #21 №2635979 
>>2635974
Я кажется полнейший долбоеб, похоже туда промисы нужно кидать внутрь.
Аноним 10/03/23 Птн 19:11:21 #22 №2635990 
1678464681359.png
>>2635974
Работает. Пиздец конечно пришлось кодом насрать ради простой фигни...
Аноним 10/03/23 Птн 19:17:45 #23 №2636005 
>>2635839
>>2635825
>>2635847
если вам интересно, то я написал в чатГПТ: а какого хуя оно так, и оно мне ответило... и я все починил. ахуенно.
Аноним 10/03/23 Птн 19:22:07 #24 №2636012 
>>2635974
>>2635979
>>2635990
Какой-то говнокод. Если передать в Promise.all не промис - вернёт значение как передал.
Может я в глаза ебумь, но честно не вижу в доке жквери чтобы getJSON что-то возвращал, кроме как получить доступ к результату из колбэка.
В твоём случае - передать функцию resolve вторым параметром в getJSON.
И сделай фильтр до запросов, а не засовывая андефайнеды если нет ресурса, или фильтруя постфактум.
Аноним 10/03/23 Птн 19:30:10 #25 №2636021 
1678465811061.png
>>2636012
Да, так лучше выглядит, благодарю. Ну и без промиса он андефайнд по кд возвращает.
Аноним 10/03/23 Птн 19:33:40 #26 №2636026 
1678466020933.png
Даже так
Аноним 10/03/23 Птн 19:38:41 #27 №2636033 
>>2636021
Да, так как операция по сути асинхронная и выполнится когда-то. И ты в коллбеке говоришь что как только будет результат - верни отрезолвленным промисом.
>>2636026
Норм, если у тебя какие-то ресурсы есть которые всё равно нужны в исходном массиве, можно фильтр убрать внутрь, array.filter().map(), чтобы не мутировать исходный массив.
Аноним 10/03/23 Птн 19:43:00 #28 №2636040 
>>2636033
Понял, спасибо. Но мне как раз не нужны они потом. Одноразовые.
Аноним 10/03/23 Птн 20:04:25 #29 №2636073 
>>2635872
Что скажешь про нововведение с папкой app?
Аноним 10/03/23 Птн 20:52:58 #30 №2636122 
>>2635794
Tailwind. Один раз попробуешь, потом никогда не захочется писать обычный css.
>>2635974
Нахуя ты продолжаешь использовать jQuery в 2023 году? Пользуйся фетчем, он нормально тебе будет промисы возвращать.
Аноним 10/03/23 Птн 20:57:36 #31 №2636127 
based.jpeg
База по фреймворкам
Аноним 10/03/23 Птн 21:00:05 #32 №2636129 
>>2636122
Там просто был метод специально под апи заточен и я решил взять. А на дваче jquery предустановлена, так что мне не надо было самому подключать. Ну а так запомню что лучше фетч.
Аноним 10/03/23 Птн 21:36:57 #33 №2636139 
Есть кто перекатился с фронта на бэк и чувствует себя счастливым?
Аноним 10/03/23 Птн 21:39:25 #34 №2636143 
show.png
>>2636122
>Tailwind. Один раз попробуешь,
Попробовал на нескольких проектах, больше не хочу... Тайлвинд для фулкеков
Аноним 10/03/23 Птн 21:40:19 #35 №2636144 
image.png
>>2636127
ууу сука, дай Бог через лет 10 хоть бы всё устаканилось
Аноним 10/03/23 Птн 21:41:07 #36 №2636146 
>>2636122
>Tailwind
хуита
Аноним 10/03/23 Птн 22:18:06 #37 №2636214 
>>2636073
Сырое поделие пока что, с ним как раз css in js не работает из-за react server components, если не ошибаюсь
Аноним 10/03/23 Птн 22:23:28 #38 №2636224 
>>2636146
>>2636143
>>2636122
Какие аргументы за и против tailwind?
Аноним 10/03/23 Птн 22:30:46 #39 №2636231 
>>2636224
Та тут дело вкуса
1. Лично мне не нравится засирать классами код
2. Будут кейсы когда придется писать css т.к. tailwind не охвативает всё на 100%
Но для какого-нибудь прототипирования на скорую руку может и пойдёт. Хотя мне, например, не впадлу создать css/scss файлик
Аноним 10/03/23 Птн 22:32:27 #40 №2636236 
>>2636224
За:
- Быстрее пишешь стили
- Быстрее меняешь стили(если дизайнить самому без макета в фигме без таилвинда вообще никак)
- Все в одном файле
- Подобие дизайн системы внутри(отступы с правильными пропорциями, гармоничные цвета)
- CSS файл на приложение имеет предел размера
Против:
- Когда много вариаций у компонента со сложными зависимостями нужны дополнительные тулзы
- Длинные названия классов
- Все что хочешь переиспользовать на делать компоннтом
- У старичков вьетнамскиебутстрапские флешбеки и им кажется что теилвинд это такой же кал
Аноним 10/03/23 Птн 22:41:02 #41 №2636244 
>>2636127
Что за скуфеу-е3-фзз?
Аноним 10/03/23 Птн 22:48:56 #42 №2636254 
>>2636236
Самый главный недостаток - это то что ты засрешь компоненты утилитами тайвинда, а потом кабанчик захочет полностью поменять дизайн и ты будешь свой тайлвинд вычищать вилкой почти буквально. Вообще утилитный подход похож на антипаттерн.
Аноним 10/03/23 Птн 22:52:51 #43 №2636256 
Что местные господа думают о Bootstrap? Слышал много плохого в его сторону. Хочу пояснить что я сам вкатун и только сегодня его потрогал, вроде УДОБНО. Почему его не любят?
Аноним 10/03/23 Птн 22:57:56 #44 №2636260 
>>2636256
Только для админки где кабан будет статистику смотреть и товары на сайт добавлять.
Аноним 10/03/23 Птн 23:00:58 #45 №2636262 
>>2636260
А что не так. С масштабируемостью проблемы? Или какие-то проблемы создает убивая гибкость? Я просто хз, пока выглядит очень удобно как на вкатуна, само обнуляет стили стандартные, кроссюраузерное и быстро можно нашлепывать
Аноним 10/03/23 Птн 23:04:37 #46 №2636265 
>>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 #47 №2636266 
>>2636262
Для вкатуна надо делать сложные дизайны, чтобы взляд цепляло - о этот чел что-то может. А бутстрапы с тайлвиндами это сляпать побыстрику на нищего кабана, у которого деняк на дизайнера нет и съебаться в туман.
Аноним 10/03/23 Птн 23:09:59 #48 №2636268 
>>2636265
>Какими утилитами?
Utility-First
Building complex components from a constrained set of primitive utilities.

https://tailwindcss.com/docs/utility-first

p-6 max-w-sm mx-auto bg-white rounded-xl shadow-lg flex items-center
Аноним 10/03/23 Птн 23:11:41 #49 №2636269 
>>2636266
>>2636265

Как же ТЯЖЕЛО... Смотрю макеты в фигме со сложным дизайном а там какой-то прям пиздец, куча элементов все летает крутится, интерактивничает, какой-же пиздец это все писать
Аноним 10/03/23 Птн 23:13:47 #50 №2636271 
>>2636268
А в чем проблема собственно? Ну будет у тебя все это в классах, а не в css файле. И так и так сносить все, если дизайн полностью поменялся. Вот только на теилвинде новый быстрее запилишь.
Аноним 10/03/23 Птн 23:20:42 #51 №2636275 
>>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 #52 №2636276 
>>2636275
Тайлвинд это как бы ты решил на жс только однострочники писать вместо нормального кода
Аноним 10/03/23 Птн 23:34:59 #53 №2636278 
>>2636275
Каким образом замена параметров внутри . button-kupi-deshevle{ } будет быстрее замены параметров внутри <button class=" " /> ?
Аноним 10/03/23 Птн 23:39:54 #54 №2636283 
>>2636278
У тебя класснейм может начинаться с одних и тех же атомов в разных компонентах. Часть атомов может подстааляться из переменных. С одним класснеймом в 99% случаев ты знаешь где его найти однозначно и сразу. Речь не о людях которые сидят на проекте больше полугода, хотя в зависимости от размера команды и там можно блуждать.

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

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

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

Одним словом это такая одноразовая вещь, если ты не собираешься развивать и поддерживать код с его использованием то можно заюзать, в противном случае лучше не тянуть.
Аноним 10/03/23 Птн 23:54:19 #61 №2636297 
>>2636294
>Теперь ты при переделке дизайна вообще весь фронтенд будешь перепиливать
Нет, я зайду в компонент и поправлю там стили.
>Еще и в рантайме стили вычислять.
Любой JS фреймворк вычиляет стили в рантайме, когда генерирует верстку, держу в курсе.
Аноним 10/03/23 Птн 23:58:10 #62 №2636300 
>>2636262
>обнуляет стили
Не обнуляет, а нормализует.
Ты сам можешь это делать.
https://github.com/sindresorhus/modern-normalize
Аноним 11/03/23 Суб 00:00:51 #63 №2636301 
>Любой 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 #64 №2636303 
>>2636301
Хотя в тайлвинде он тоже будет классы вычислять. Ладно уже задуплятся пора...
Аноним 11/03/23 Суб 00:11:54 #65 №2636308 
>>2636303
Хотя несомненно во вью жс если мы в шаблоне задаим статические классы то компилятор шаблонов вьюжс сделает большую оптимизацию и эти ноды со статическими классами не будут участвовать в change detection. В реакте скорее ничего не поменяется, там нео такого оптимизатора.
Аноним 11/03/23 Суб 01:11:11 #66 №2636326 
>>2635872
Я познал использование темы в styled components и мне очень понравилось писать в компоненте вот такие вещи.
${({ theme }) => theme.selectedTheme.text.primary};

Теперь хочется использовать во всех проектах. Норм затея?
Аноним 11/03/23 Суб 01:28:07 #67 №2636337 
>>2636326
Нахуя всё это нужно, когда есть CSS-переменные. которые вопрос темы давно закрыли?
Аноним 11/03/23 Суб 01:45:29 #68 №2636349 
>>2636337
Хуй знает как на переменных это сделать. Я в корне документа подкидываю тему (из куков или стореджа) и всё, а компоненты везде описаны в одном стиле. А на цсс ещё надо логику прописывать или доп классы какие-то или хз как.
Аноним 11/03/23 Суб 02:40:48 #69 №2636382 
>>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 #70 №2636388 
>>2636382
Нормуль. Выглядит удобно.
Аноним 11/03/23 Суб 07:30:06 #71 №2636420 
Я два месяца учу JS на learn.javascript и когда добрался до раздела "Типы данных", сложность задач ОЧЕНЬ РЕЗКО возросла. Открывая решение почти каждой задачи возникает вопрос А ЧЕ, ТАК МОЖНО БЫЛО?. По всей видимости, этот учебник явно не для начинающих с полного нуля, поэтому надо искать другой источник знаний. На w3schools мне не понравилось, там JavaScript как-то очень странно преподают, всё как-то в одну кучу будто свалено без особого порядка. На рутрекере нашел курс, но там структура материала тоже своя, то есть не похожа на структуру learn.javascript. И вот теперь думаю - что делать. Заново что ли курс этот проходить? Я же пропустить что-то могу. Или вцепиться в этот learn.javascript? Так и представляю картину: Юзернейм Сычев дрочит непосильный ему учебник больше года, пока Ванька Ерохин за полгода освоил JS при помощи рандомного курса с рутрекера, и уже дорос до мидла, пока Юзернейм еле дополз до конца учебника. Блять, охуенная перспектива, нахуй.
Аноним 11/03/23 Суб 07:55:08 #72 №2636435 
>>2636420
Учил математику в первом классе и всё заебись было, а потом СЛОЖНОСТЬ РЕЗКО ВОЗРОСЛА.
Аноним 11/03/23 Суб 09:32:38 #73 №2636466 
>>2636420
Вообще не понимаю, что вы там учите постоянно.

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

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

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

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

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

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

Документация MDN раньше казалась слишком запутанной и хаотичной (по сравнению с учебником Кантора), а теперь ее вроде структурировали, но на всякий случай реквестирую дополнительные источники информации.
Аноним 11/03/23 Суб 12:25:50 #85 №2636622 
>>2636033
>
Спасибо, капитошкаан, теперь найди строчку с перезаписью массива.
Аноним 11/03/23 Суб 12:27:04 #86 №2636625 
>>2636622 это сюда >>2636538
Аноним 11/03/23 Суб 12:28:54 #87 №2636630 
Блядь... Нихуя не проснулся ещё. >>2636625 => >>2636515
Аноним 11/03/23 Суб 12:38:49 #88 №2636640 
>>2636630
Бляяяяддьь... Как же я обосрался. Сюда.
>>2636625 - >>2636515 - >>2636630 - >>2636622



Аноним 11/03/23 Суб 13:04:38 #89 №2636656 
>>2636640
Спасибо, потворник хаоса. Больше хаоса этому хаосу!
Аноним 11/03/23 Суб 13:05:01 #90 №2636657 
>>2636619
Самая первая задача в списке.
Аноним 11/03/23 Суб 14:37:58 #91 №2636712 
image
Как происходит цикл производства ФРОНТЕНД-ПРОДУКТА? Вот допустим. Вот допустим решил начать с документирования API в Swagger. Потом буду начинать пилить API.js где будут валидаторы для апи и функции работы с ним которые будут непосредственно дергать мои компоненты в /components папке. Нужно будет покрыть это интеграционными тестами, далее начинать писать редуцеры под редукс, их тоже покрыть уже юнит-тестами, потом компоненты и опять на них юнит-тесты, роутер написать, потом еще все это стилизовать.

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

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

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

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

лучше писать так:
if (...) {
return 1;
}
return 2;
Аноним 11/03/23 Суб 15:24:11 #106 №2636778 
>>2636776

return ... ? 1 : 2;
Аноним 11/03/23 Суб 15:25:14 #107 №2636780 
>>2636778
Не всегда удобно, плюс перед return'ами может быть код.
Аноним 11/03/23 Суб 15:25:15 #108 №2636781 
>>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 #109 №2636783 
>>2636731
import {format} from "date-fns"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это пиздец.

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

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

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

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

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

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

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

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

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

Ты выдумал себе позицию постороннего человека и просишь ее его обосновать. Подумай, что ты делаешь не так.
Аноним 12/03/23 Вск 23:50:38 #181 №2638495 
>>2638315
Ты чего такой дерзкий? Даунич тут ты, получается.

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

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

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

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

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

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

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

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

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

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

Не спрашивайте зачем, так надо
Аноним 14/03/23 Втр 01:15:49 #216 №2639472 
>>2639469
Нихуя непонятно, что ты хочешь.
Если ты там уже трекаешь, что рендерить, то так понимаю, вопрос в отображаемом URL в адресной строке? Можешь сам затолкать https://developer.mozilla.org/en-US/docs/Web/API/History/pushState
Аноним 14/03/23 Втр 01:18:21 #217 №2639473 
>>2639472
Не, в том то и суть, что урл должен оставаться неизменяемым.

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

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

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

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

Если что, пишу на реакте, точнее нексте. Приходится, хуле. Работы дохуя именно на этом стеке.
Аноним 15/03/23 Срд 14:15:47 #253 №2640910 
>>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 #254 №2640955 
>>2640840
Хорошо, ререндеры.
Connect адепт? Что тебе мешает самому использовать React.memo? Ты де тогда понимаешь, что connect в свою очередь помимо оборачивания твоего компонента, ещё и заворачивает его в React.memo?
useSelector напротив обращается к контексту через useContext, и компонент его использующий не мемоизирует, ибо аювызывается из него. Но это можно сделать так же самому, как с обычным контекстом.
Аноним 15/03/23 Срд 19:57:55 #255 №2641454 
>>2640840
>точнее нексте.
Ну это знатная тормозятина так-то.
Аноним 15/03/23 Срд 21:36:19 #256 №2641542 
image.png
Аноны, подскажите, насколько моё понимание работы .call() и .apply() ошибочное? Возникнут ли у меня с таким пониманием проблемы в будущем?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>>2642369
>можете рассказать пожалуйста как вы организовывали код в них?
Вебпак/rollup/esbuild добавляешь и с его помощью можно dist-файл делать, он будет склеивать.
Аноним 17/03/23 Птн 02:28:22 #296 №2642681 
1679009303741.png
Заюзал по итогу этот темплейт. Дикая годнота.
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 #297 №2642687 
1679010523556.png
>>2642681
Хотя можно просто делать this.field = "" а потом как на пикриле получать и короче проблем не должно быть.
Аноним 17/03/23 Птн 02:53:29 #298 №2642693 
1679010811699.png
1679010811699.png
1679010811700.png
Началось блять.
Аноним 17/03/23 Птн 02:56:27 #299 №2642695 
1679010990327.png
>>2642693
О, это так работает, нихуя себе. Типо он думал что я индексирую а не по ключу беру.
Аноним 17/03/23 Птн 02:58:18 #300 №2642698 
1679011100778.png
1679011100779.png
1679011100779.png
>>2642681
Заебись.

Сорян что насрал в тред, просто хотелось с кем-то поделиться продвижением. Ладно, пойду спать.
Аноним 17/03/23 Птн 03:09:54 #301 №2642702 
1679011796882.png
1679011796883.png
1679011796883.png
>>2642698
Даже так лучше.
Аноним 17/03/23 Птн 03:12:15 #302 №2642704 
1679011937892.png
>>2642702
Бля, тогда уж так чтобы соблюдать всё.
Аноним 17/03/23 Птн 05:23:23 #303 №2642730 
>>2641847
> Смогла нагуглить ответы на вопросы экзамена
> Смогла нагуглить уязвимость, опубликованную в 2018
> Смогла нагуглить написанные по миллиону раз опенсорсные понг и змейку
> Смогла нагуглить что-то опенсорсное про корованы

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

https://vuikit.js.org/guide/tabs
Аноним 17/03/23 Птн 13:25:09 #316 №2642937 
>>2642847
Можешь подробнее написать как ты такую задачу решал, пожалуйста? Интересно узнать.
Аноним 17/03/23 Птн 13:32:27 #317 №2642943 
>>2642937
А зачем тебе именно класс, а не объект?

мимо
Аноним 17/03/23 Птн 13:45:22 #318 №2642957 
>>2642923
Ну ответьте плиз, задача горит, как вообще к кастомному элементу обращаться? В html он потом генерится, а там разметка совсем другая, направтье хоть куда не нахуй
Аноним 17/03/23 Птн 14:01:05 #319 №2642974 
>>2642937
Дак там не идентичная задача, мне вообще нужно было используя конфиг-схему распарить дрисню из строки и заполнить структуру.
Аноним 17/03/23 Птн 14:24:07 #320 №2643009 
чё никто не шарит или просто неинтересно? >>2641562
Аноним 17/03/23 Птн 14:28:55 #321 №2643013 
1679052538438.png
>>2642943
Бля, кстати логично, я что-то привязался конкретно к классу. Ну я попытался так но я не знаю что в качестве keyoff'а в таком случае указать. Не дает поля неявно задать.
Аноним 17/03/23 Птн 14:29:06 #322 №2643014 
>>2641698
>Проблема в использовании обычного реакт контекста в качестве глобал стейт стора, при изменении данных будет ререндерится вообще всё, что внутри провайдера
Это если ты долбоёб и в контекст пробрасываешь стейт провайдера, или используешь в провайдере эффекты.
Аноним 17/03/23 Птн 14:31:31 #323 №2643019 
>>2643013
keyof typeof gmField
Аноним 17/03/23 Птн 14:32:47 #324 №2643021 
1679052770106.png
1679052770113.png
>>2643019
Пытался уже, но он ошибку писал и подсвечивал будто это тип. Посмотрел подсказку, оказывается можно тип просто взять. Это же гениально просто.
Аноним 17/03/23 Птн 14:33:29 #325 №2643022 
>>2643019
А, ты буквально и написал то что я сделал, точно.
Аноним 17/03/23 Птн 14:35:16 #326 №2643023 
>>2643009
У меня одинаково работает.
Аноним 17/03/23 Птн 14:54:16 #327 №2643062 
test2.mp4
Аноним 17/03/23 Птн 15:10:52 #328 №2643083 
image.png
>>2643062
Аноним 17/03/23 Птн 15:26:56 #329 №2643098 
>>2643083
У тебя система не винда 10? Тогда может отличаться поведение watch. В любому случае странная хуйня
Аноним 17/03/23 Птн 16:01:44 #330 №2643136 
>>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 #331 №2643138 
>>2643136
Скрыло длинноссылку на песочницу ТС

>>2642943-кун
Аноним 17/03/23 Птн 16:08:10 #332 №2643140 
>>2642784
>>2642798
брух. пойду проверять, пасибо
Аноним 17/03/23 Птн 16:23:33 #333 №2643157 
>>2641960
Да..
Аноним 17/03/23 Птн 17:07:25 #334 №2643211 
1679062048361.png
1679062048362.png
1679062048363.png
1679062048364.png
>>2643136
О, благодарю, попробую вникнуть когда обратно к полям GM'а вернусь. Сейчас я думаю о том что это лишняя прослойка и лучше динамически их извлекать. У меня просто GMField повторяет названия полей который находятся в другом классе, и когда я загружаю какие-то значения через gm_getvalue к примеру, мне приходится 2 раза прописывать одно и то же поле (откуда изымать и какое значение использовать по умолчанию). Так что я скорее всего откажусь от GMFIeld как такового и буду просто заполнять его динамически за кулисами, чтобы в коде можно было не использовать.

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

Так нормально делать?
Аноним 17/03/23 Птн 17:15:33 #335 №2643228 
>>2643211
Я сейчас понял что fields и values лучше во второй класс вынести, а то ебля с типами. Тогда можно по интерфейсу заполнить будет и не надо будет сплитить.
Аноним 17/03/23 Птн 17:22:32 #336 №2643238 
1679062955784.png
>>2643228
Типо так.
Аноним 17/03/23 Птн 17:23:18 #337 №2643239 
>>2643211
Ай блять ёбанный говнокод сука, нет чтобы просто взять стандартный валидатор https://zod.dev/ или https://joi.dev/ или https://github.com/jquense/yup или https://ajv.js.org/ и просто тупо прогнать через валидатор, ты придумал какой-то велосипед, с какими-то непонятными объектами - нахуй они нужны эти объекты? Можно было обойтись простыми union или enum'ами.
Аноним 17/03/23 Птн 17:28:47 #338 №2643252 
>>2643239
Ладно, в принципе тут действительно может и простых енамов хватить. Сейчас подумаю.
Аноним 17/03/23 Птн 17:29:27 #339 №2643254 
>>2643252
Ну а где я буду переводы для этих кнопок хранить если я энамами сделаю?
Аноним 17/03/23 Птн 17:37:38 #340 №2643274 
>>2643239
Короче то что ты скинул подойдёт для валидации жсона из апишек, за это спасибо, применю.
Аноним 17/03/23 Птн 17:41:29 #341 №2643281 
Вопрос про бразуерный 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 #342 №2643307 
>>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 #343 №2643428 
>>2643281
нет, это секьюрити риск же.
Аноним 17/03/23 Птн 22:09:58 #344 №2643559 
>>2643307
>>2643428
Спасибо, сделал через клик. Тем более, что вспомнил о существовании document.querySelector('a[href=^"google"]')
Аноним 17/03/23 Птн 23:48:37 #345 №2643735 
>>2643281
https://developer.mozilla.org/en-US/docs/Web/API/Navigation_API
Аноним 18/03/23 Суб 00:10:40 #346 №2643759 
16785557280310.jpg
>>2643650
Мурка сенсей - аватар с котом, и чел который собирает донаты на кошку/кота/приют питомцев дозу. Совпадение?
Аноним 18/03/23 Суб 11:10:56 #347 №2643996 
Всем привет! Стоит ли идти на low-код платформу джуну без опыта работы? Где большая часть работы(80%) это работа в интерфейсе программы и только 20% это само программирование
Аноним 18/03/23 Суб 11:44:40 #348 №2644010 
document.querySelector('input[name="rate"]:checked').value;

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

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

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

Нет, это какая-то магия. У меня последующий код влияет на предыдущий. При этом, влияет избирательно. Когда я обращаюсь адресно - timestamp. Когда вывожу весь объект - отформатировано. Как такое возможно?
Аноним 18/03/23 Суб 13:45:33 #365 №2644148 
>>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 #366 №2644161 
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 #367 №2644162 
Снимок экрана 2023-03-18 в 14.00.46.png
>>2644138
Ну это просто объяснить, в консоль попадает обычная ссылка на живой инстанс, его структура и значения на данном этапе неизвестны. Потом ты тыкаешь на этот объект, чтобы посмотреть, и только в этот момент консолька запрашивает ключи со значениями, само собой, на момент твоего тыка программа завершена и все мутации применены.
Если тебе требуется снапшот объекта на момент его логирования, а не его конечное состояние по завершении программы, то просто скопируй его, ну или просто сериализуй, кхх
Аноним 18/03/23 Суб 14:08:51 #368 №2644170 
>>2644161
В какой версии добавили промисы? В RFC с каким номером расписаны HTTP(S)? По какому ISO дату форматировать? Совсем поехал?
Аноним 18/03/23 Суб 14:36:42 #369 №2644199 
>>2644170
1) ES2015
2) https://datatracker.ietf.org/doc/rfc7230/
3) ISO 8601 YYY-MM-DDTHH:mm:ss.sssZ
Аноним 18/03/23 Суб 14:40:39 #370 №2644203 
1679139639505.png
>>2644199
> 1) ES2015
> 2) https://datatracker.ietf.org/doc/rfc7230/
> 3) ISO 8601 YYY-MM-DDTHH:mm:ss.sssZ
Аноним 18/03/23 Суб 14:45:52 #371 №2644208 
image.png
>>2644033
Хотел выебнуться, но чет не получилось. Подумал бот воспринимает контекст буквально, т.к. каждое яйцо, но чет с пояснениями тоже не выехал.
Аноним 18/03/23 Суб 14:45:56 #372 №2644209 
image.png
>>2644203
>самозванец
Аноним 18/03/23 Суб 14:58:36 #373 №2644231 
>>2644199
Нет, это конечно хорошо. ES6, а что там ещё добавили, а что клёвого в HTML5 подвезли. Но мне неиронично интересно, что он будет спрашивать? Какие пропозалы в какой стадии висят? Сколько раз воспользовался flat/flatMap за последний год?
Аноним 18/03/23 Суб 14:59:54 #374 №2644233 
>>2644161
На какую позицию вопросы, какая зп?
Аноним 18/03/23 Суб 15:02:28 #375 №2644241 
>>2644203
>>2644199
Промисы не часть ES.

Вы два долбоёба.
Аноним 18/03/23 Суб 15:03:27 #376 №2644242 
>>2644128
Это стандартное апи форм, которые вы почему-то перестали использовать. Ему 25 лет.
Аноним 18/03/23 Суб 15:05:23 #377 №2644246 
>>2644148
В его слаче каждый раз происходит поиск селектора по дому и создание новго нодлиста.

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

Ниже грейд не нужен, не понимаю долабебов которые нанимают трейни и прочий скам.
Аноним 18/03/23 Суб 15:39:12 #380 №2644287 
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 #381 №2644297 
>>2644287
Ты ж ведь в курсе, что месяц может содержать различное количество дней в зависимости от того о каком месяце идёт речь. Твой говнокод считает месяцы начиная с 1 января 1970 (т.е. разница между date1 и date2 прибавляется к январю 1970 года и оттуда считаются месяцы), а не с твоей даты.
Аноним 18/03/23 Суб 16:17:29 #382 №2644328 
>>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 #383 №2644383 
>>2644328
Хорошая попытка, но чатгпт эту хуйню не решает
Аноним 18/03/23 Суб 17:08:10 #384 №2644395 
>>2644328
Бля, туда надо какой-то двач-пресет с ебланами, даунами и макаками, а то этот блевотный поучительно-вежливый тон сразу палится.
Аноним 18/03/23 Суб 19:56:34 #385 №2644597 
>>2644395
"Ты хуй, а мать твоя шлюха, и вот почему: …"
Аноним 19/03/23 Вск 01:49:51 #386 №2644860 
>>2644161
ахахаха, то есть мяу. вот это ты фантазёр, конечно.
Аноним 19/03/23 Вск 10:02:08 #387 №2644939 
>>2637590
Пиздуй на Хекслет, там есть пара бесплатных вводных курсов по жсу
Аноним 19/03/23 Вск 16:41:48 #388 №2645267 
>>2644161
>начали выдумывать опыт работы в вымышленных компаниях, чтобы обойти фильтры HR
HR с фильтрами идут нахуй. Часто там охуевшие требования и никакая зарплата- каждому подай суперстар-ниднзю. Так хоть кого-то получать будут.
Аноним 19/03/23 Вск 17:27:02 #389 №2645373 
>>2636073
Я люблю задавать этот вопрос джунам, джун знает зачем эту папку сделали, и если он ответит это гарантированный тру миддл а не волк

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

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

Мамку.

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

arr.reduce((acc, item) => {
...
}, new Set());
Аноним 19/03/23 Вск 19:08:39 #406 №2645556 
>>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 #407 №2645561 
>>2645556
от души анончик
Аноним 19/03/23 Вск 19:46:14 #408 №2645631 
image.png
Вот кстати про методы массивов - недавно наткнулся на авторитетное мнение, что эти ваши методы массивов не нужны и это вообще для дурачков со стрелочными функциями, а вот классический цикл for - это то что нужно. Что можете сказать по этому поводу?
Аноним 19/03/23 Вск 20:14:03 #409 №2645684 
>>2645631
То что 959% веб макак в линтерами и др очем на функциональненькое похуй на производительность, за исключением редких случаев и откровенно узких мест.

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

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

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

Логика уровня /b
Аноним 19/03/23 Вск 22:03:51 #419 №2645919 
>>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 #420 №2645920 
image.png
image.png
>>2645684
>>2645740
>>2645776
Его тейк подразумевал что преимущество цикла в том что у нас есть доступ к индексу (даже когда он нам не нужен в задаче) и что так проще читать код людям незнакомым с JS. Только остаётся вопрос нахуя писать понятный JS для людей которые не работают с ним.
Аноним 19/03/23 Вск 22:07:38 #421 №2645927 
>>2645920
>Только остаётся вопрос нахуя писать понятный JS
Ну конечно при условии что другим людям знающим JS код вполне понятен и они понимают разницу между forEach, map, reduce, filter и т.д. и знают где уместнее их применить, а где уместнее цикл for.
Аноним 19/03/23 Вск 22:09:40 #422 №2645929 
>>2645919
Это не eslint, а твой когфиг для него (я так полагаю airbnb, автор которого страсть как любит поддерживать давно протухшие браузеры). В современных браузерах (которые вышли минимум 7 лет назад) для генераторов тащить дополнительный рантайм не нужно (потому что они их и так поддерживают) а потому это правило линтера можно спокойно отключить.

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

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

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

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

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

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

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

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

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

Сейчас сам пока не могу перескакивать со старой работы и откликаться на вакансии, иботеки висят и тд тп, но в ближайшее время появится такая возможность и оч интересно как дела обстоят сейчас.
Аноним 20/03/23 Пнд 17:52:04 #476 №2646761 
Река-Цитарум-01-162659001.jpg
Анчоусы, подскажите плиз, как можно верифицировать 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 #477 №2646765 
>>2646744
Тесты запилил? НЕ ОДИН ТЕСТ НА 2 + 2 = 4. Юниты, e2e? Магазинчик можно одной командой в докере поднять? В магазинчике есть админка с воронкой продаж (если ты не продуктами торгуешь а скажем машинами и запчастями), простым складским учетом? Возможность добавлять многоуровневые категории товаров? У тебя есть разделение на товар и торговое предложение? Учет контрагентов, персонала? Профили активности сотрудников? И многое другое...
Аноним 20/03/23 Пнд 17:59:18 #478 №2646773 
>>2646652
>>2646609
Бамп вопросу. Кто-то должен знать как это делать, раз вы в треде тут контрагентов из докера одной командой ставите.
Аноним 20/03/23 Пнд 18:05:07 #479 №2646780 
>>2646765
Хм, так задача фронта же отрисовать это только? Вроде кажется не сложным запрос делать и отображать красивенько
Не писать же логику аналитику(учет контрагента\персонала\воронка продаж) ,это же все на бэке
Аноним 20/03/23 Пнд 18:15:02 #480 №2646791 
>>2646652
> Копирую все названия полей
Зачем тебе все названия полей? Ты ебалу какую то делаешь.
Аноним 20/03/23 Пнд 18:16:47 #481 №2646792 
>>2646780
Думаешь тебе за нихуя три сотыги?
>>2646773
Не понял что тыхочешь но навсякей
https://pastebin.com/raw/exurvsmJ
Аноним 20/03/23 Пнд 18:17:54 #482 №2646793 
>>2646792
да мне бы 70 хватило...
Аноним 20/03/23 Пнд 18:19:09 #483 №2646795 
>>2646793
Да тебе бы и собачьего корма...
Аноним 20/03/23 Пнд 18:20:14 #484 №2646799 
>>2646793
Тогда иди в ИП Кабаныч. Там тоже самое надо но за 70
Аноним 20/03/23 Пнд 18:21:03 #485 №2646801 
>>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 #486 №2646808 
1679325839773.png
>>2646792
Извини, анон, но это не то. Я тоже могу извлечь поля, я собственно это и сделал на пике. Но я хочу чтобы IDE после извлечения этих полей мне показывало их список после точки (автокомплишен).

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

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

Либо представь если мне нужно будет добавить новый наминпут/чекбос, мне придется сначала такое поле в классе добавить, а затем и айдишник с таким названием как у поля указать. Или представь если я захочу переименовать поле в классе. Мне тогда придётся переименовать айдишник тоже.
Аноним 20/03/23 Пнд 18:39:38 #489 №2646827 
>>2646823
>либо создавай сразу новый объект только с допустимыми полями
Я и создаю этим ремапингом. Это серверный код. На сервер приходит username и password с клиента, проверяется валидность, если всё ок, то из базы достаётся объект с данными юзера (в котором захешированный пароль), вот я хочу из этого объекта убрать пароль, перед отправкой на клиент.
Аноним 20/03/23 Пнд 18:58:37 #490 №2646844 
1679327920199.png
1679327920200.png
1679327920200.png
1679327920200.png
>>2646826
Ладно, можно наверное так сделать. Сделать интерфейс, имплементить его для класса настроек, возвращать поля вида интерфейса. Мне только не нравится unknown.
Аноним 20/03/23 Пнд 19:00:56 #491 №2646848 
>>2646844
Ну а ещё мне ненравится что мне пришлось все сделать any.
Аноним 20/03/23 Пнд 19:01:02 #492 №2646849 
1.png
>>2646808
Такой говнокод хотел?
Аноним 20/03/23 Пнд 19:02:24 #493 №2646851 
1679328147890.png
>>2646848
А, ну в принципе можно даже не ставить any, когда указываешь as unknown ему дальше похуй.
Аноним 20/03/23 Пнд 19:02:48 #494 №2646852 
>>2646849
Да, заебись. Сейчас вникну как ты это сделал.
Аноним 20/03/23 Пнд 19:04:02 #495 №2646855 
>>2646849
Только у тебя fields попал в поля, что не свойство, а метод класса. Избавиться бы от этого.
Аноним 20/03/23 Пнд 19:16:49 #496 №2646877 
>>2646855
А в принципе и так норм. Вроде охуенно получилось, большое спасибо.
Аноним 20/03/23 Пнд 19:25:48 #497 №2646890 
>>2646827
Я имею ввиду создать сразу объект а не проходится лупом.
const {name, id} = fromDb
const toFrontend = {name, id}
Аноним 20/03/23 Пнд 19:31:05 #498 №2646894 
>>2646792
Скинь проект гитхаба тогда пожалуйста, с примером того что нужно уметь за сотыгу.
Аноним 20/03/23 Пнд 19:32:59 #499 №2646900 
Посоветуйте какой-нибудь годный сет практических упражнений конкретно на закрепление понимания работы this, пожалуйста, если такой есть.
Аноним 20/03/23 Пнд 19:40:31 #500 №2646912 
>>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 #501 №2646917 
>>2646912
Ну и TUnsafeUser - расширенный тип пользователя документом монги и TUser просто тип данных юзера.
Аноним 20/03/23 Пнд 19:53:25 #502 №2646928 
>>2646912
>Так в том-то и суть, что я сейчас хочу одно поле не передавать на клиент, а в будущем таких полей может быть хуй знает сколько
Вот я тебе о том и говорю, что надо забирать и передавать только те поля, которые ты передаешь, а не убирать те, которые не передаешь. Потому что недосланное поле будет видно еще в процессе разработки гарантировано, а вот приватное поле из базы данных которое присылается пользователю можно обнаружить когда это уже протечет. Не должно быть такого что при изменениях в структуре базы тебе надо не забыть поменять и в апи список удаляемых полей.
Аноним 20/03/23 Пнд 20:11:13 #503 №2646955 
>>2646928
Окей, как расписать тип такому объекту?
const {name, id} = fromDb
const toFrontend = {name, id}
Аноним 20/03/23 Пнд 20:20:01 #504 №2646964 
>>2646848
Ну неудивительно, что не нравится. Это всё равно что не использовать TS. В подавляющем большинстве случаев any не должно в коде быть.
Аноним 20/03/23 Пнд 20:59:39 #505 №2647014 
>>2646955
Автоматом пропишется же, если у тебя данные в fromDb типизированные.
Аноним 20/03/23 Пнд 21:25:52 #506 №2647042 
>>2647014
Лол, реально не надо никакого тайпинга. Я ещё плохо понимаю, где надо указывать тип (всегда кажется, что везде надо), а где он автоматом подтянется.
getSafeUserData(user: IUser) {
const result = {
email: user.email,
username: user.username,
};

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

>>2647190
Да, ключ всегда строка и выгружается из памяти, я потом просто прохожусь по парам ключ: значение и присваиваю инстансу. В принципе как на втором пике тоже работает. Второй вариант даже удобнее, надеюсь так делать адекватно.
Аноним 21/03/23 Втр 08:45:37 #525 №2647285 
Есть у меня 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 #526 №2647314 
image.png
>>2646194
Не пущать и запретить. Маняврирование общественным мнением через бота, прям черное зеркало какое-то. Но отрицать не стану.

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

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

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

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

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

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

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

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

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

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

Array() это не конструктор, а функция.
Аноним 21/03/23 Втр 20:29:15 #585 №2647980 
>>2647977
Ну не знаю, вроде это простейший способ получить последовательность чисел от 1 до н. Все остальные способы нечитаемые.
Аноним 21/03/23 Втр 20:33:09 #586 №2647986 
>>2647978
Да, это норм. Другого не завезли пока.

> Функция
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Array

>>2647980
Это вопрос с собесов от любителей поебать прототипы.
Аноним 21/03/23 Втр 20:34:15 #587 №2647987 
>>2647986
Я про то когда без new, то функция.
Аноним 21/03/23 Втр 20:35:28 #588 №2647989 
>>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 #589 №2647991 
>>2647989
Нет конечно. Со временем сам научишься так делать.
typeof Array

'function'

typeof new Array

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


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

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

Мало того что портянка нечитабельна, ты будешь постоянно лезть в код хтмл чтобы подправить верстку. Сюда же относится реактовые стайловые компоненты.
sage[mailto:sage] Аноним 01/04/23 Суб 13:23:37 #611 №2659211 
t
comments powered by Disqus

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