Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Гайзы, реквестирую мануал для ДАУНОВ. Сука, представьте человека, который всю жизнь пилил сисярп, а тут надо на кодревью поменять .subscribe на switchMap на фронте... в rxjs... в ангуляре... на ts.
Блять.
Любой гайд из инетов не работает. Модуль не найден. Версия ноды не та. Вы написали код с ошибкой. import * так тоже не правильно.
Есть гайд, который РАБОТАЕТ? Вот просто из коробки: - npm init, npm instal rxjs, npm run hui
>>2635839 вот как раз ничего не случилось. я написал и оно работает. но чел написал, что надо поменять на свичмап. я в душе не ебу почему, что и что такое этот свичмап. мне нужно научиться.
я пытаюсь в учебные туториалы пока. чел сверху дал пара ссылок и они ок: - у вас нема rxjs, установить? - да - хуяк и сразу видно и консоль и веб...
блять, почему у меня в visual code так не получается? яхз. похуй. буду копать это дерьмо пока с этой стороны
>>2635825 если вкратце то эти штуки превращают стртимы стримов в посто стримы, но по разному, те по сути это flatMap но для стримов switchMap комплитит каждый предыдущий стрим переключая подписку на следующий mergeMap мержит события со всех стримов в один стрим concatMap ждет пока предыдущий стрим закомплитится чтобы переключится на следующий
>>2635794 Sass + css modules. Иногда были проекты на styled-components и emotion, ну такое, средне. Лишнее снижение перформанса, а преимущества перед css modules минимальны. Tailwind многие любят, но я не фанат.
>>2635872 > Лишнее снижение перформанса, а преимущества перед css modules минимальны. Есть griffel, который по сути тот же css-in-js, но преобразуется в css при сборке проекта и влияния на пирформаес не имеет.
Аноны, помогите пожалуйста. Я не понимаю в чём проблема. Он не эвейтит Promise.all, после того как отработал всегда возвращает undefined. Хотя я ему список вроде как подаю как и надо.
>>2635974 >>2635979 >>2635990 Какой-то говнокод. Если передать в Promise.all не промис - вернёт значение как передал. Может я в глаза ебумь, но честно не вижу в доке жквери чтобы getJSON что-то возвращал, кроме как получить доступ к результату из колбэка. В твоём случае - передать функцию resolve вторым параметром в getJSON. И сделай фильтр до запросов, а не засовывая андефайнеды если нет ресурса, или фильтруя постфактум.
>>2636021 Да, так как операция по сути асинхронная и выполнится когда-то. И ты в коллбеке говоришь что как только будет результат - верни отрезолвленным промисом. >>2636026 Норм, если у тебя какие-то ресурсы есть которые всё равно нужны в исходном массиве, можно фильтр убрать внутрь, array.filter().map(), чтобы не мутировать исходный массив.
>>2635794 Tailwind. Один раз попробуешь, потом никогда не захочется писать обычный css. >>2635974 Нахуя ты продолжаешь использовать jQuery в 2023 году? Пользуйся фетчем, он нормально тебе будет промисы возвращать.
>>2636122 Там просто был метод специально под апи заточен и я решил взять. А на дваче jquery предустановлена, так что мне не надо было самому подключать. Ну а так запомню что лучше фетч.
>>2636224 Та тут дело вкуса 1. Лично мне не нравится засирать классами код 2. Будут кейсы когда придется писать css т.к. tailwind не охвативает всё на 100% Но для какого-нибудь прототипирования на скорую руку может и пойдёт. Хотя мне, например, не впадлу создать css/scss файлик
>>2636224 За: - Быстрее пишешь стили - Быстрее меняешь стили(если дизайнить самому без макета в фигме без таилвинда вообще никак) - Все в одном файле - Подобие дизайн системы внутри(отступы с правильными пропорциями, гармоничные цвета) - CSS файл на приложение имеет предел размера Против: - Когда много вариаций у компонента со сложными зависимостями нужны дополнительные тулзы - Длинные названия классов - Все что хочешь переиспользовать на делать компоннтом - У старичков вьетнамскиебутстрапские флешбеки и им кажется что теилвинд это такой же кал
>>2636236 Самый главный недостаток - это то что ты засрешь компоненты утилитами тайвинда, а потом кабанчик захочет полностью поменять дизайн и ты будешь свой тайлвинд вычищать вилкой почти буквально. Вообще утилитный подход похож на антипаттерн.
Что местные господа думают о Bootstrap? Слышал много плохого в его сторону. Хочу пояснить что я сам вкатун и только сегодня его потрогал, вроде УДОБНО. Почему его не любят?
>>2636260 А что не так. С масштабируемостью проблемы? Или какие-то проблемы создает убивая гибкость? Я просто хз, пока выглядит очень удобно как на вкатуна, само обнуляет стили стандартные, кроссюраузерное и быстро можно нашлепывать
>>2636244 https://create.t3.gg/ next+trpc+prisma(+nextauth+tailwind) >>2636254 Какими утилитами? ты имеешь ввиду функциями, которые вычисляют нужные классы из пропсов? Это уже решено https://github.com/joe-bell/cva >>2636256 Бутстрап не нужен. Он был актуален когда то давно, когда кроссбраузерность сеток была проблемой. Сейчас никаких проблем с эти нет и тащить это монстуозное говнище, а также учить то как он работает(а работает он не так как нормальный css или телвинд) не имеет никакого смысла. Вкатуну вообще надо не выебываться и писать обычный css.
>>2636262 Для вкатуна надо делать сложные дизайны, чтобы взляд цепляло - о этот чел что-то может. А бутстрапы с тайлвиндами это сляпать побыстрику на нищего кабана, у которого деняк на дизайнера нет и съебаться в туман.
Как же ТЯЖЕЛО... Смотрю макеты в фигме со сложным дизайном а там какой-то прям пиздец, куча элементов все летает крутится, интерактивничает, какой-же пиздец это все писать
>>2636268 А в чем проблема собственно? Ну будет у тебя все это в классах, а не в css файле. И так и так сносить все, если дизайн полностью поменялся. Вот только на теилвинде новый быстрее запилишь.
>>2636271 Если у тебя семантическая верстка быстрее будет когда class="button-kupi-deshevle", а не class="p-6 max-w-sm mx-auto bg-white rounded-xl shadow-lg flex items-center ". я просто стили в css поменяю, а блоки на своем месте останутся.
>>2636278 У тебя класснейм может начинаться с одних и тех же атомов в разных компонентах. Часть атомов может подстааляться из переменных. С одним класснеймом в 99% случаев ты знаешь где его найти однозначно и сразу. Речь не о людях которые сидят на проекте больше полугода, хотя в зависимости от размера команды и там можно блуждать.
>>2636283 >>2636285 Такие вещи в нормальных проектах являются элементами дизайн системы и оформлены в виде компонентов. За большую красную кнопку будет отвечать генерализованный компонент кнопки, классы указываются только локальные <GenericButton size="L" theme="danger" classname="mt-2">
поясните почему все носятся с тайлвиндом если есть штуки типа vanilla-extract? Кроме того что ванилла увеличивает время сборки, в чём плюс библиотеки стилей такой как тайлвинд? И как быть если вдруг нужно дохера стилей прописать, эти километровые классы же быстро заебут.
>>2636288 Теперь ты при переделке дизайна вообще весь фронтенд будешь перепиливать. Еще и в рантайме стили вычислять. Тебя кабан хорошим человеком не назовет...
>>2636256 Я им уже давно пользуюсь. Он подходит только для верстки, ну может чтобы стилизовать страницы в статическом генераторе. Нормальное современное приложение на нем лучше не делать!
Подключается он как css, лишние неиспользуемые стили портят тебе СЕО. При обновлении тебе приходиться по всему коду выискивать стили, которые убрали и дописывать нужные.
Одним словом это такая одноразовая вещь, если ты не собираешься развивать и поддерживать код с его использованием то можно заюзать, в противном случае лучше не тянуть.
>>2636294 >Теперь ты при переделке дизайна вообще весь фронтенд будешь перепиливать Нет, я зайду в компонент и поправлю там стили. >Еще и в рантайме стили вычислять. Любой JS фреймворк вычиляет стили в рантайме, когда генерирует верстку, держу в курсе.
>Любой JS фреймворк вычиляет стили в рантайме О классы вычисляет а не стили, ели ты инлайнов не напихал >Нет, я зайду в компонент и поправлю там стили. >theme="danger" Чтобы добавить новую тему будешь заходить в все компонеты и писать жс код вычисляющий абаракадабру p-6 max-w-sm mx-auto bg-white rounded-xl shadow-lg flex items-center . Даже тут осмысленные класы бы работали лучше и понятнее
>>2636303 Хотя несомненно во вью жс если мы в шаблоне задаим статические классы то компилятор шаблонов вьюжс сделает большую оптимизацию и эти ноды со статическими классами не будут участвовать в change detection. В реакте скорее ничего не поменяется, там нео такого оптимизатора.
>>2635872 Я познал использование темы в styled components и мне очень понравилось писать в компоненте вот такие вещи. ${({ theme }) => theme.selectedTheme.text.primary};
Теперь хочется использовать во всех проектах. Норм затея?
>>2636337 Хуй знает как на переменных это сделать. Я в корне документа подкидываю тему (из куков или стореджа) и всё, а компоненты везде описаны в одном стиле. А на цсс ещё надо логику прописывать или доп классы какие-то или хз как.
>>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;
Я два месяца учу JS на learn.javascript и когда добрался до раздела "Типы данных", сложность задач ОЧЕНЬ РЕЗКО возросла. Открывая решение почти каждой задачи возникает вопрос А ЧЕ, ТАК МОЖНО БЫЛО?. По всей видимости, этот учебник явно не для начинающих с полного нуля, поэтому надо искать другой источник знаний. На w3schools мне не понравилось, там JavaScript как-то очень странно преподают, всё как-то в одну кучу будто свалено без особого порядка. На рутрекере нашел курс, но там структура материала тоже своя, то есть не похожа на структуру learn.javascript. И вот теперь думаю - что делать. Заново что ли курс этот проходить? Я же пропустить что-то могу. Или вцепиться в этот learn.javascript? Так и представляю картину: Юзернейм Сычев дрочит непосильный ему учебник больше года, пока Ванька Ерохин за полгода освоил JS при помощи рандомного курса с рутрекера, и уже дорос до мидла, пока Юзернейм еле дополз до конца учебника. Блять, охуенная перспектива, нахуй.
>>2636420 Вообще не понимаю, что вы там учите постоянно.
Когда тебе интересно ты сижишь и изучаешь, а не учишь корпя над учебником.
В интернете столько информации сиди читай не хочу, они ищут какие-то курсы и учебники. Покажи мне их пятнадцатилетнему рисующему код в тетрадке в школе вместо занятий, потому что это интересно, и копящий деньги на почасовой доступ в сеть по диалапу - я бы ахуел.
Когда у меня появилось оптоволокно в доме, я первым делом прочел всю википедию на тему информационных технологий и истории развития их и языков. Всю - это буквально всю.
Курсы, блядь. Видосики.
У вас есть github блять. HN, Lobsters, MDN да даже хабр.
>>2636420 Ты два месяца добирался до раздела "типы данных"? Там же главы в учебниках крошечные. Третий день читаю, уже дошел до классов, ты в день по слову читаешь, лол?
>>2636265 Я правильно понимаю, что tRPC имеет смысл только в том случае, если бекенд делает прямо в нексте? Хуита получается, потому что в любом качественном крупном проекте бекенд будет находиться отдельно от фронтенда.
>>2636544 Продвинулся. Прошел числа, строки, массивы, методы массивов. Сейчас решаю задачи в методах массивов. И это пиздец. Всё, на что хватило сегодня - это решить одну задачу, да и то посмотрев её решение. Как же я охуел с решения. Потом еще ЧатГПТ попросил выдать мне задач, подобных этой, чтобы закрепить тему.
>>2636545 > Хуита получается, потому что в любом качественном крупном проекте бекенд будет находиться отдельно от фронтенда. Потому что ты скозал? Не вижу проблемы даже в чем то крупном сделать основу в нексте, а то что там нельзя микросервисами, в которые некст обращается.
Но если очень хочется отдельно, то можно и так настроить, нужно только чтобы у тебя это все было в монорепе, чтоб типизацию импортировать.
Документация MDN раньше казалась слишком запутанной и хаотичной (по сравнению с учебником Кантора), а теперь ее вроде структурировали, но на всякий случай реквестирую дополнительные источники информации.
Как происходит цикл производства ФРОНТЕНД-ПРОДУКТА? Вот допустим. Вот допустим решил начать с документирования API в Swagger. Потом буду начинать пилить API.js где будут валидаторы для апи и функции работы с ним которые будут непосредственно дергать мои компоненты в /components папке. Нужно будет покрыть это интеграционными тестами, далее начинать писать редуцеры под редукс, их тоже покрыть уже юнит-тестами, потом компоненты и опять на них юнит-тесты, роутер написать, потом еще все это стилизовать.
Это мой план пока, но интересно как происходит в реале разработка? Я вкатун пока, пишу пет по этой схеме
Я правильно понимаю, что если мне нужна дата вида 11.03.23, то нужно пердолиться со всякими .getDay(), а аналога DateTimeInterface::format из PHP в JS не завезли в 2023?
>>2636749 np, вообще писал с телефона и вроде выбирал нужные сообщения, не понял как умудрился ответить анону спрашивающему про прогресс другого анона с типами.
>>2636765 Знаю. Но в оправдании скажу что я тут псевдокод писал и не знаю есть ли методы getMonth() or getYear() в объекта. Тем более там валидации нету что это точно дата а не undefined прилетел
>>2636609 Нет, потому что на проектах я никогда такого не встречал. Зачем тогда очень многие делают бек отдельно? Я работал на двух проектах с некстом, там бек был отдельный, один раз на несте, другой на го. Ну и в целом судя по тому, что я изучал, апи с запросами прямо в базу внутри ssr фреймворка делают очень редко.
А если бек и фронт в монорепе, то можно ведь просто сделать пакет с типам, который юзать и там, и там. Или вообще какие-нибудь нестовские дтошки юзать на фронте.
>>2637185 >Зачем тогда очень многие делают бек отдельно? Отдельный бэк делают в трех случаях - Бэк становится большим, надо дробить на микросервисы - Надо делать вещи которые не впишешь в апи функции. - Переход на Go сэкономит больше денег на серверах чем будет потрачено денег на зарплаты разрабам, которые будут писать на нем те же функции в два раза дольше
Как правило у больших компаний это все три пункта. А васяны делают так потому что «в больших компаниях так делают». На небольшом проекте нет никакого смысла делать бэк отдельно, только больше времени уйдет на разработку.
>>2635706 (OP) Почему современный веб (его клиентская часть) такой тормозной? Я пока что выделил две причины: 1) Слишком много логики, которая должна быть на сервере теперь находится на клиенте. По сути работа фронтенда - это дернуть ручку, получить какое-то количество данных, провести какое-либо преобразование этих данных и отрисовать. Но некоторые разрабы гоняют огромные объемы данных, совершают над ними преобразования и все начинает виснуть нахуй. 2) Чрезмерное использование готовых компонентов (особенно Ui компонентов). Вместо того, чтоб использовать например input люди тащат какой-нибудь готовый компонент (типа Textfield из MUI), который представляет из себя помимо инпута еще кучу оберток из всякой хуйни. В результате при большом количестве таких компонентов дом дерево засирается и пробуксовывает.
Посоны я два года катался на vue и nuxt при этом ничего не узнавая от живых тиммейтов (как раз наоборот лол)
И лишь три месяца на одном проекте на реакте с некстом, под крышей пришедшего как раз на один этот прожект на наш дракар дядьки который на реакте/нексте 3-4 года отбегал.
Благодаря его мудрости я потом съебал из этой конторы, исчез отовсюду, и понял что нужно было валить уже после 1го года.
Полгода спустя я почти проел всё накопленное бабло и теперь ВОПРОС: Блять почему этот реакт вытекает отовсюду? Сука как вообще пипл все еще жрёт реакт? Хотя о чем я говорю, десятки миллионов немцев однажды повелись на нацизм
Свитчиться ли на реакт где я провёл только три месяца? Или оставаться в уже обжитом за два года мире вью?
ДЕНЬГА ГДЕ? ГДЕ БАБЛО? спрашивал это уже пять тредов назад, но единственный ответ был такой, что, типа, вью не идёт для крупных проектов - так что я промолчал от греха подальше и решил спросить еще раз через тредов пять
>>2637318 Да есть такая хуйня. Казалось бы, всё на клиенте, должно летать, а оно что-то пердит-кряхтит. Примерно так же отличаются жабьи гуи и нативные на шинде.
>>2637294 >1) Слишком много логики, которая должна быть на сервере теперь находится на клиенте. >2) Чрезмерное использование готовых компонентов (особенно Ui компонентов) Это не влияет. Да, исполнение замедляется, но современные компьютеры - до опиздинения быстрые, и им не составляет труда обсчитать все клиентские данные под двадцатью слоями абстракций.
Как мне видится, здесь две проблемы: 1. Аутсорс нонеймам, которые набирают техдолга и превращают кодовую базу в нерасширяемое говно, и в итоге любая доработка сайта превращается в простое наваливания еще одной кучи по соседству со старой, ибо иначе - проще переделать сайт с нуля, чем хоть как-то касаться старой. 2. Работники по квотам. Vue, созданный одним единственным азиатом, ебет React, созданный софтверной многомиллиардной корпороцией у которой "дайверсити - наша сила", во все щели по удобству использования не просто так. Если даже чуваки пишущие раст занимаются вот таким (а язык, на минуточку, позиционируется как хардкорная современная высокопроизводительная замена плюсам, на которой можно даже в драйвера) - то чего ты ожидаешь от фронтендеров из воук-техгигантов и спонсируемых ими немытых коммунистов-опенсорсников? Нужно удивляться, как это интернет вообще все еще работает, а не почему он так тормозит.
>>2637203 > - Бэк становится большим, надо дробить на микросервисы Монолиты не могут быть? > - Надо делать вещи которые не впишешь в апи функции. Например? > На небольшом проекте нет никакого смысла делать бэк отдельно, только больше времени уйдет на разработку. Аргумент именно в том, что на разработку уйдёт больше времени? Это по опыту говоришь? Я что-то не вижу причин, чтобы разработка отдельного бекенда на несте или экспрессе замедляла разработку, может даже наоборот услорила бы, недели пилить бек прямо в фронтенд репозитории с некстом
>>2637349 >Vue, созданный одним единственным азиатом, ебет React, созданный софтверной многомиллиардной корпороцией у которой "дайверсити - наша сила", во все щели по удобству использования не просто так Настолько сильно ебет, что переходя со второй версии на третью навернулся, обосрался и сдох
Привет. Подскажите, насколько целесообразно решать подобные задачки на codewars? Вроде как они умные, требуют логики, математики и всего прочего, но при этом какие-то абстрактные и слишком сложные для меня на данном этапе по крайней мере. Поэтому хотелось бы узнать, многое ли я упускаю, не решая подобные kata?
>>2637430 Если ты не в США живешь - то ты только выигрываешь, не решая подобные задачи. У нас больше прикладную фигню спрашивают, завязанную на язык, типа дебаунсинг написать, асинхронное ожидание события или херню типа такой: >>2637299 >>2636712 >>2636326 >>2636289 где нужно за пол наносекунды по лицу интервьюера понять, с какой стороны он в такой холиварной войне находится и экспрессивно поддержать эту сторону.
>>2637497 Понял, спасибо! Правда пока только начинаю, так что нихуя из приведённых примеров не понял, но теперь хотя бы спокоен, что не могу решить эти злоебучие kata.
>>2636749 >Может лучше сразу на завод? Знаешь, анон, может и впрямь на завод будет лучше. Я больше не могу это выносить. Я просидел сейчас 6 часов, но так и не смог заставить себя продолжить занятия. Нет, я попытался. Посмотрел вторую задачу и понял, что даже смотреть на это теперь тошно. Да даже сами мысли о копании в этом дерьме уже вызывают тошноту. Сделай то, сделай сё. Сделай пятой, сделай десятое. КАК? Ах, в учебнике уже сказано? Вот эти вот два жалких абзаца про этот метод - это по-вашему "сказано"? Какого хуя с меня в задачах начинают так спрашивать, будто я два года дрочил эти методы на практике? Какого хуя ко мне такое отношение, как будто я дегенерат, который не может 2+2 сложить? Я что, должен НА ЛЕТУ хватать все эти знания, которые раньше я никогда нигде не использовал, а потом еще и ПРИМЕНЯТЬ их, да таким образом, будто я НАИЗУСТЬ помню всё пройденное в учебнике? Как, сука, я должен запомнить пройденный материал, если я вообще впервые увидел эти новые способы манипуляции с кодом, а потом не использовал их ни на следующий день, ни на следующий за ним день, ни через неделю, ни через две? КАК? То есть я должен наизусть запоминать каждую, сука, мелочь, чтобы потом - ВОЗМОЖНО потом - применить её?
Мне рассказывают, что такое А, рассказывают про Б, рассказываю про существование хуйни С. А потом такие: А ДАВАЙ-КА ТЫ ТЕПЕРЬ А, Б, С ОБЪЕДИНИШЬ И СДЕЛАЕШЬ ИЗ НИХ ХУЙНЮ Г!
ПОШЕЛ НАХУЙ! ПОШЕЛ НАХУЙ! ПОШЕЛ НАХУЙ! ПРОСТО ПОШЕЛ НАХУЙ!
КАК Я ДОЛЖЕН ЭТО СДЕЛАТЬ, ЕСЛИ МНЕ НИ РАЗУ ЭТО НЕ ПОКАЗЫВАЛИ? КАК? КАК? КАК? Откуда я знаю, что ТАК МОЖНО БЫЛО? Откуда я ДОЛЖЕН был это знать? Потом меня еще и унижать начинают за то, что я ПОСМЕЛ НЕ ЗНАТЬ ТАКУЮ "ЭЛЕМЕНТАРНУЮ" ХУЙНЮ. Потом еще и смеются - говорят НУ ИДИ ОХРАННИКОМ ТАМ ИЛИ КУРЬЕРОМ. БУДЕШЬ СТОРОЖИТЬ НАШИ ТАЧКИ ПО НОЧАМ И НОСИТЬ НАМ РОЛЛЫ В ДОЖДЬ И МЕТЕЛЬ, ПОКА МЫ, АЙТИБОГИ, БУДЕМ СМЕЯТЬСЯ НАД ТОБОЙ ИЗ ОКОН НАШИХ НОВОСТРОЕК.
Анонсы, фронтенд треда не нашел, спрошу здесь. Можете посоветовать open-source WYSIWYG редактор под Linux для верстки. Желательно с экспортом в React и прочее. По типу Builder.IO, TeleportHQ, да дохера их сейчас. По любому на каком-то опенсорсе паразитируют.
Что значит возвращаемый тип void | { [UNDEFINED_VOID_ONLY]: never } на пике? Логически выходит что или void(ничего) или объект у которого должно быть поле с имям определенным через символ который недостать из неоткуда(он обьявлен через unique symbol) и это поле еще до кучи должно иметь тип never. Но почему так? Неужто нельзя просто написать void, зачем добавлять этот непонятный обьект?
>>2637590 Не люблю писать форумные зебры, но давай разберем тобой написанное.
Начнем с того, что ты пиздоглазое мудило > просидел сейчас 6 часов, но так и не смог заставить себя продолжить занятия Это вообще показатель расхлябанности. 6 часов себя заставлять и всё равно не сесть - что-то из области фантастики. Начинай думать про то, как будешь сидеть и учиться. Морально к этому подготавливайся до начала свободного времени.
> Вот эти вот два жалких абзаца про этот метод - это по-вашему "сказано"? Да, если тебе начать разжевывать в деталях - ты только больше запутаешься.
> Я что, должен НА ЛЕТУ хватать все эти знания, которые раньше я никогда нигде не использовал, а потом еще и ПРИМЕНЯТЬ их, да таким образом, будто я НАИЗУСТЬ помню всё пройденное в учебнике Да, именно поэтому главы такие короткие, чтобы ты мог запомнить. А если разжевывать - то ты главу до середины не сможешь дочитать.
> Мне рассказывают, что такое А, рассказывают про Б, рассказываю про существование хуйни С. А потом такие: А ДАВАЙ-КА ТЫ ТЕПЕРЬ А, Б, С ОБЪЕДИНИШЬ И СДЕЛАЕШЬ ИЗ НИХ ХУЙНЮ Г! Представь себе, это и называется обучением. У тебя есть инструменты, тебе показали как их применять на базовом уровне, но как их комбинировать и применять на уровне повыше - ты должен дойти сам. Такое же даже в школе с задачами по математике те самые, которые чуть посложнее, где тебе рассказали про математические инструменты раньше, но как их комбинировать - ты должен подумать сам. Или когда в вузике могут дать попробовать доказать теорему. "Делай точно как я" - это к старшему токарю на завод.
>разрыв жопы и истерика капсболдом Надеюсь, ты ещё молодой, хоть и не упругий иначе это пиздец.
> НУ ИДИ ОХРАННИКОМ ТАМ ИЛИ КУРЬЕРОМ. БУДЕШЬ СТОРОЖИТЬ НАШИ ТАЧКИ ПО НОЧАМ И НОСИТЬ НАМ РОЛЛЫ В ДОЖДЬ И МЕТЕЛЬ, ПОКА МЫ, АЙТИБОГИ, БУДЕМ СМЕЯТЬСЯ НАД ТОБОЙ ИЗ ОКОН НАШИХ НОВОСТРОЕК. Ээ, нет, давай я тебя погружу в реальность. Я не в РФ, живу возле моря в Европке, на этой неделе +20 уже было. Если ты не будешь прилагать усилия к учебе - то роллы будешь носить Вазгену и Назифу в квартире в новостройке, которую они купят за мат капитал, а ты навсегда останешься в Мордоре.
Теперь по делу: открывай https://www.w3schools.com/js/default.asp и пробуй этот учебник. Он не очень хороший слишком простой, но тебе пойдет. Ещё начинай learn javascript сначала, но уже не подглядывай в решения. Я в свое время испытал похожие эмоции на задаче, которую из учебника уже удалили. Второй раз должно быть легче и быстрее.
>>2638069 Но он от майкрософт. Красть нельзя, я фрилансить собираюсь. luner vim сейчас посмотрю, спс. Но вообще не хотелось бы какой-нибудь не популярный IDE юзать где нет плагинов.
>>2638091 В шторме есть месячный триал, можно просто клепать фейкопочту раз в месяц. А вообще, если такая боязнь майнеров, пиши свой блокнот и работай в нём, как СИшник в той пасте.
>>2637590 > Какого хуя с меня в задачах начинают так спрашивать, будто я два года дрочил эти методы на практике? Какого хуя ко мне такое отношение, как будто я дегенерат, который не может 2+2 сложить?
Ты сам себе противоречишь. Действительно дегенерат.
>>2637590 >КАК Я ДОЛЖЕН ЭТО СДЕЛАТЬ, ЕСЛИ МНЕ НИ РАЗУ ЭТО НЕ ПОКАЗЫВАЛИ?
Это пиздец.
Блядь, я первые хеловорлды писал, просто по наитию исправляя какой-то рандомный исходный код на си, купленный на диске на радиорынке. Никаких учебнико или даже ридми. Исправлял, компилировал борландом, запускал. Смотрел что изменилось. Повторял итерацию. Выводил шалоны, что есть что и как оно работает.
Мне было ДЕСЯТЬ ЛЕТ. Десять блядь лет.
Каким нужно быть имбецилом чтобы не суметь в паттерн рекогнишен? У тебя IQ сколько? 80? Тесты на IQ как раз выявляют твою способность находить закономерности и проводить анализ. Ты их проходил, или тебе не показали КАК?
>>2637590 У тебя нет никакого желания всем этим заниматься либо ты вообще не любопытный. Человек, который хоть с небольшой симпатией относится к делу вместо нытья уже бы полез в гугл, нарыл там мдн или другие справочные ресурсы, посомтрел еще примеров. Или воткнул видосы на ютубах. Что ты со своим подходом будешь делать когда дойдешь до каких-нибудь замыканий, каррирования, фреймворков? Как ты будешь лопатить новые библиотеки и методы, которых в экосистеме жс как нерезанных собак и каждый раз выходит новое?
Хочу сделать дневник локальный с функционалом типа двачерского. Где я в формочке набираю текст, он пишется в хтмл с датой написания. Какие методы для этого нужны? Я 0
>>2638244 Ну я первое время тоже был не то чтобы в восторге. Но определенный интерес все равно был, и у меня получилось выработать привычку и привязанность к этому делу, да так что на некоторые развлечения просто забил и заменил их кодировыванием. Если человек спустя какое-т овремя все равно не втянется, то тогда только дропать. Но тут мне кажется еще манямирок мешает человеку: он-то уже настроился что станет наносеком, сможет превозмочь все трудности а тут оказалось, что это все просто не его. И с этим может быть не просто смириться. А еще сложнее смириться с тем, что в снговии кроме айти практически ничего нет (для типичного двачера особенно)
>>2638248 Создаешь хтмл-форму с кнопкой отправить, на форму вешаешь onSumbit ивент который создает объект { content: "твой текст", date: new Date() }, свежеиспеченный объект отправляется на сервер фетчом где он сохраняется в бд/файлик. Сервер в ответ на ПОСТ возвращает твой объект. Ты его пушишь в массив таких объектов-дневничков и запускаешь рендеринг который будет рендерить этот массив заметок как ты реализуешь. Это общая схема, нужно будет также написать первичную инициализацию массива заметок чтобы фетчило с сервера все заметки и потом пушило их в массив
>>2638248 ты пытаешься построить дом, имея 0 знаний в строительстве. что у тебя может получится? правильно - нихуя. разбей задачу на более мелкие, изучи отдельно нужные части html, работу с инпутами, сохранение и тд. но вообще идея писать напрямую в html-файл звучит крайне странно, никто так не делает.
>>2638297 Вот в этом ваша проблема, мудачков, которые обучалками гайдами тренингами засрали весь интернет. Я даже на английском нормального быстрого ввода в язык не нашёл. Везде какое-то нагромождение от псевдоумников хуевых которые хотят тебе дать книгу теории, чтобы потом никому ненужный калькулятор сделать на веб языке. Где бля гайд, как сделать чтобы набранный мной текст писался в страницу? Где такое, покажите? Это блять самое базовое и простое с чего должны начинать, а не с вот этого
>>2638308 просто не всем хватает мозгов, мотивации и усидчивости, чтобы какое-то направление в айтишке освоить. судя по тому, как ты негативно и агрессивно реагируешь уже на нулевом этапе, тебе не сюда. возьми html, прилепи к нему js скрипт, в нём повесь обработчик любого эвента, в нём вызови prompt, сделай append нового элемента в страницу. на таком уровне справится любой школьник.
>>2638320 > если ты хочешь покататься на коньках ты учишься 5 лет или что Я, например, падаю, а если не падаю - смешно размахиваю руками. На велосипеде тоже долго учился. Так точно и тут - нужно время потратить, чтобы задача стала микрописечной. Был тут один такой недавно, курсы валют парсил. Но он хоть догадался у чатГПТ спросить. Попробуй и ты - может он за тебя сделает.
Посоветуйте пожалуйста с чего вкатится в анугляр. Пока читаю оф сайт и мануал. С ванильным жс знаком, года 4 назад потыкал из любопытсва но слился на цсс, лул. Сам сеньор помидор, но до этого писал только на дажве(котлине) / шарпе / плюсах /питуне. Вдохновлен https://www.baeldung.com/spring-websockets-sendtouser Хочу у себя на работе такую хуйню внедрить. Осло, есть ли поддержка кафки / ребита? Под какие БД есть готовые либы? В эластик там например запросы слать(не генерить же дджейсон руками).
Сап, подскажите, в тайпскрипте есть что ли расширение интерфейсов какое то? К примеру, у меня есть библиотечный интерфейс, но в либе написано что создав файлик index.d.ts в папке @types, можно дополнить библиотечный интерфейс своими полями и методами. Типа как на пике Это правда так работает? Че за магия то ебать
>>2638343 > Осло, есть ли поддержка кафки / ребита? Под какие БД есть готовые либы? Не понял вопроса, ты же про ангуляр спрашивал. Для ноды есть поддержка всех популярных месседж брокеров, есть официальные драйвера для монги и постгрес (остальные бд не знаю т.к. не юзал), есть много орм для разных бд
>>2638506 Там АПИ как на пике что можно брать по одному элементу. Сами id элементов берутся из штук вида что на пик 2. Но суть в том что их там по 100-500 штук. Страница должна отображать к примеру 100 наиболее свежих таких, вот я и взял массив и начал фетчить 100 запросов на сервер. Может их как-то по 10-20 штук подгружать а там пользователь будеж жать на кнопку "следущее" и потом уже следующий пак фетчить?
>>2638509 Какой то всратый апи, так не должно быть. Теперь нью сториз должно сразу отдавать статьи или хотя бы превьюшки для них, а индивидуальный запрос уже отдает полную версию.
Нужен совет. Поизучал фронт. Реакт с редаксом. Есть несколько месяцев после которых в ДС уеду и хочу подтянуть бэк. Какие технологии поизучать? Думал ноду (тем более что пилил парочку учебных вещей на ней) но какие-то сомнения. Может в питон или голанг вложить усилия лучше?
>>2638586 Что происходить начнёт? Вопрос без подъёба, сам всегда работал на проектах, где для общения с базой был отдельный апи сервер на бекенд фрреймворках. Поэтому не понимаю какие профиты от этого trpc, приложения уровня туду листа что ли делать, не более.
>>2638602 ваще есть годный канал по нексту на ру пространстве в телеге.
я туда зашел молодой зеленый с год назад когда вкатывался и пизданул мол они ж пишут что некст это фуллстек, на что словил заебанный вздох от одного чувака, хуй знает как у него нервов хватает, но за год столько вкатунов таких же как я спамили эту хуйню, немеренно.
а дело вот в чем: рантайм некста помимо подключений к бд и прочему отвечает еще и за статику и собирает страницы и подтирает память и остальные запросы обрабоать тоже ему же надо, ревалидация и тд. однопоток же. на локалхосте апи некста 50мс запрос отправляет, и это один, будет их дохуя - выйдет так что до таймаута дойдет, потому что не будет влазить больше
поэтому проще всю эту ебаторию скидывать на бек, а некст пусть работает как фронт
>>2638510 А нахуя, если есть Promise.allSettled()? Если твой код взлянуть - по Promise.all() можно подумать, что ты ожидаешь, что каждый запрос будет успешным.
>>2638807 > next с app директорией + редакс нельзя использовать? В серверных компонентах вообще никакие хуки нельзя использовать. А для клиентских ничего не поменялось.
Уймитесь уже наконец. Не будет никогда серьезного и стабильного применения жс на бэке. Поигрались в последнее время и хватит. Щас вот с голангом еще наиграются и все. Вы не вытесните мастодонтов вроде жавы и сишарпа с серьезного рынка бэкенда, а мелочи можно и на пхп с питоном писать.
>>2635706 (OP) Сап адептам фронта. Имеется пикрил кнопка. Из-за проблемы даблклика прикручен onClick скрипт, который блокирует кнопку после нажатия. Проблема состоит в том, что теперь в request.POST нету name="my_pook". Как бы атрибут name подсунуть в onClick? Может есть ещё способы опознать, что была нажата именно кнопка Пукнуть? this.name="my_pook"; не работает.
>>2639224 Спасибо, попробую. А саму форму нельзя как-то пометить? Name пробовал, не отправляется. В стили очкую лезть из-за адского зоопарка, но если вариантов не будет, придётся.
>>2639112 > Не будет никогда серьезного и стабильного применения жс на бэке Так уже давно есть. Ты нам из 2013 пишешь? > Поигрались в последнее время и хватит Не хватит, рост популярности ноды только растёт со временем, а теперь ещё и дино есть, bun недавно завезли. > Вы не вытесните мастодонтов вроде жавы и сишарпа с серьезного рынка бэкенда Будто есть такая цель. Это не значит, что на ноде не пишут серьезные бекенды. > а мелочи можно и на пхп с питоном писать Зачем, если есть нода, которая практически во всём лучше? Ну спасибо хоть мёртвый руби не упомянул, а то совсем кринж был бы.
>>2638586 >>2638648 >попробуйте запустить некст напрямую к базе и посмотрите что с запросами происходить начнет, а это ебло высрало, дескать, некст жиес ето бекенд!! Во-первых бенчмарки в студию. Во-вторых рекомендую тебе узнать что такое серверлесс, а заодно и своему любимому ютуберу рассказать.
>>2639408 Если твоя задача чтобы твой магазин не лег под пиковой нагрузкой, которая у тебя четыре дня в года то серверлесс тебе отлично подойдет.
Если же у тебя постоянная большая нагрузка то у тебя уже есть нжинкс за которым висит столько реплик некста сколько тебе нужно. Если не хватает запускаешь еще, а не считаешь копейки вроде того что сср у тебя влезает в ресурсы, а сср и вызов в базу уже не влезает.
>>2639425 Да в несте же всё равно удобнее делать апиху, там из коробки всё необходимое, а в нексте нихуя нет, только роутинг запросов как в экспрессе, всё остальное самому писать
>>2639472 Не, в том то и суть, что урл должен оставаться неизменяемым.
Не знаю как проще объяснить. В общем есть index.html - без разметки. Есть куча других hui.html, pizda.html
В index.html я подписываю на некоторые ивенты, и когда мне прилетает событие hui, я должен взять hui.html и поместить в index.html, чтобы он остался на этом же урле.
Я понимаю что можно в один файл все нахуярить и делать block-none на блоки, но файл тогда раздутый будет
Поясните за StrictMode в реакте? Кто пользуется? Я по дефолту его поставил на всё приложение и появились ебанутые ререндеры, из-за которых я насрал в базу, насрал в UI в некоторых местах (несколько одинаковых элементов высрал). Не сразу вообще понял откуда ноги растут, а потом вспомнил, что стрикт мод этим промышляет. Как им правильно пользоваться?
>>2639473 Ну тут, ты можешь использовать index.html как условный layout с плейсхолдером для других страниц, а на нужное событие обновлять историю браузера с нужным URL чтобы отражать переход без рефреша страницы. Альтернативно, можно завязаться на хеши и ебаться с window.location (изменение только хеша будет без рефреша, можно и на событие смены хеша подписаться тоже если надо).
Что можно в качестве подспорья осваивать, сидя в телефоне? Учусь в вузе, соответственно достаточно времени приходится проводить вдали от ноута, за которым удобно изучать язык, поскольку можно сразу писать код. Уровень абсолютно начальный, только-только разобрался с основами того, что такое объекты, массивы, this. Что можно читать/изучать/смотреть на телефоне, чтобы пусть даже с 10% эффективностью добавлять к своему перформансу?
Уже в /xo/ писал, но думаю что и для этого тредика подойдет. Сап, чуваки. В данный момент нахожусь на этапе поиска работы фронтом. Разумеется, конторы пидорасов отказывают, т.к. опыта нет. Имеются проекты на React, Redux, MobX и TypeScript. Слышал, что норм прокачать навыки работы в команде можно на опенсорс проектах. Вопрос - где я мог бы найти подобные? Алсо планирую в резюме наебывать эти самые конторы по опыту работы, но обосраться с навыками тимворка не очень хочется.
>>2640018 дока говорит что он для обучения, для продакшена они рекомендуют некст. сра для обучения тоже тупо, но их позиция в том что они будут переделвывать сра поэтому менять не будем.
Поясните за Редукс и его актуальность в 2023-м? Сталкиваюсь с разными мнениями на его счет. Одни говорят что не нужен, так как есть стейт менеджеры более легковесные и простые. Другие говорят, что там есть заебатый rtk-query со всякими автогенерациями типизированных хуков для дерганья апишек, который заткнул за пояс всякие графкл аналоги и что есть смысл юзать уже хотя бы поэтому.
>>2640701 Я в петах и так его использую, из догоняющих редакт он самый лучший по моим ощущениям. Но как бы редакс тулкит не намного хуже, а на работе почти всегда он. Это не так, как раньше, с ебучими mapStateToProps и без кучи удобных фич из коробки
>>2640802 > Контекст же заставляет ререндериться вообще всё дерево чилдренов внутри провайдера, нахуя такое счастье нужно? И что тут такого? Всё равно если ничего реально не изменится дальше виртуал дома эти ререндинги не уйдут.
>>2640802 Ты не поверишь, что такое редакс под капотом, верхнеуровневый контекст с объектом помойкой, который нужно пересоздавать, как это обычно реакте, чтобы он что-то перерисовал.
>>2640818 Ты не поверишь, то при использовании редакса ререндерятся только компоненты, подписанные на редакс стейт, и их чилдрены. В отличие от кейса с использованием контекста вместо стейт менеджера, когда даже если компоненты не подписаны на контекст, то при изменении данных в контексте будет перерендер вообще всего, что находятся внутри провайдера.
>>2640816 Ничего такого, просто перформанс как полнейшее говно говна в итоге получается. У того же вью, каким бы богомерзким он ни был, нету такой проблемы, ничего лишнего никогда не ререндерится, поэтому вью ебёт реакт в бенчмарках. Свелт и подавно. Даже ангуляр стал лучше реакта по перформансу. Он даже в килобайтах, передаваемых по сети уделяет реакт. Позор. https://krausest.github.io/js-framework-benchmark/current.html
Если что, пишу на реакте, точнее нексте. Приходится, хуле. Работы дохуя именно на этом стеке.
>>2640840 Ты ведь в курсе, что редаксы последних версий работают поверх контекста? > Once the store is created, we can make it available to our React components by putting a React Redux <Provider> around our application
>>2640840 Хорошо, ререндеры. Connect адепт? Что тебе мешает самому использовать React.memo? Ты де тогда понимаешь, что connect в свою очередь помимо оборачивания твоего компонента, ещё и заворачивает его в React.memo? useSelector напротив обращается к контексту через useContext, и компонент его использующий не мемоизирует, ибо аювызывается из него. Но это можно сделать так же самому, как с обычным контекстом.
Аноны, подскажите, насколько моё понимание работы .call() и .apply() ошибочное? Возникнут ли у меня с таким пониманием проблемы в будущем?
Call() по сути временно создаёт в нужном объекте метод, равный функции, к которой применяется call. Затем метод вызывается в этом объекте, а затем удаляется из него. (А если указывается function.apply(null, [arguments]), то функция вызывается в глобальном объекте.
Норм ли понимать работу этих методов функций таким образом?
>>2641542 > Норм ли понимать работу этих методов функций таким образом? Нет, не норм. Лучше представь this внутри функций как неявный аргумент, который при нормальном вызове js-движок выставляет в определённое значение в зависимости от того как функция вызвана (если вызвана как obj.func(), то в this пойдёт выражение перед точкой, после которой идёт имя функции, иначе зависит от режима работы скрипта). .apply и .call просто позволяют явно указать этот неявный аргумент this и всё.
Ну и стоит сказать про стрелочные функции, у которых this всегда берётся сверху области видимости и изменить его каким-либо другим способом (хоть .apply, хоть .call, хоть .bind) невозможно.
>>2641548 Ну я щас тебе отправлю код и ты ахуеешь ну или ты найдёшь косяк и расскажешь. https://pastebin.com/efVsLm2D В конце функция watch, console.log(event). Чтобы затестить код, нужно создать рядом файл command.txt и написать в нём create a file путь до файла, и сохранить пару раз попробуй, а потому убери лог и перезапусти
>>2641560 Ну, как и в нормальные параметры подставляется то что ты передал при вызове, так и в this пойдет первый аргумент .call/.apply. Замены как бы никакой и нет, просто вместо автоматического выставления this, ты указываешь напрямую что туда записать.
>>2635513 → А есть ресурсы, которые сразу обучают писать на тс минуя жс? Про что там тебе первее расскажут, как интерфейсы писать или про объекты жс? Хуйню не городи, читай лернджаваскрипт Илюхи, как все норм пацаны с треда, потом посмотри видео курсик по тайпскрипту. Код вообще можешь не писать на этих этапах, на работе 300к/сек успеешь этим заняться.
>>2641592 > А есть ресурсы, которые сразу обучают писать на тс минуя жс? ChatGPT можно нихуя не учить. > на работе 300к/сек успеешь этим заняться Не успеет
>>2640802 если ты в провайдера пробрасываешь чилдренов сверху то при изменении контекста будут ререндериться только те компоненты что используют контекст
>>2640910 Я знаю, но ререндерится только те компоненты, которые подписаны на стейт через useSelector или connect
>>2640955 Какой connect в 2023? Я юзаю useSelecor и где нужно React.memo. Проблема в использовании обычного реакт контекста в качестве глобал стейт стора, при изменении данных будет ререндерится вообще всё, что внутри провайдера. При использовании редакса не будет ререндерится вообще всё внутри провайдера, если в стейте редакса что-то поменялось.
>>2641454 К нексту нет претензий, он делает реакт только лучше. Я жду, когда в реакт завезут компилятор, которые будет автомемоизировать всё необходимое, тогда реакт сильно взлетит по перформансу.
>>2641698 >при изменении данных будет ререндерится вообще всё, что внутри провайдера. пиздабол возьми блять и проверь ререндерится только те, которые используют useContext
>>2641959 Веб 3.0 это очень условная описательная хуйня, как и веб 2.0, только в отличии от 2.0, который придумали когда он уже типа наступил, тут никто даже приблизительно не знает что это нахуй.
Тут коннект идёт с рут роута '/', а если юзер зашёл, например, '/profile', мне надо такую же getServerSideProps дублировать в пейдже для profile?. Пытался подключение делать в _app, через getInitialProps, пишет Can't resolve 'dns' в /[email protected]/node_modules/mongodb/lib/cmap/auth/gssapi
Как правильно связать монгу и некст? Алсо, у меня представление такое: -При первом рендере, апликуха подключается к базе (на одного юзера, один коннект), но как сделать этот коннект из любого роута? -Любой пук в базу проверяется, есть ли у юзера креденшелсы для этого (через токен из локалстореджа или через куки, не важно) -Нужно проверять, есть ли у конкретно этого клиента коннект, что бы не дублировать
Или надо как-то реализовать, что бы коннект к базе создавался на этапе билда приложения, а не по запросу апликухи от клиента?
>>2642338 Чую из-за ИИ код снова превратится в древнее доброе пхпшное - запросы к бд прямо из вьюх. И все остально такая же лапша. Не потому что ИИ чего-то не может, а потому что операторы ИИ будут спецами уровня операторов ЭВМ.
Привет, аноны, вопрос по юзерскриптам. Такое дело, мой скрипт разросся уже до 1500+ строк и мне стало тяжело его поддерживать. Ну не совсем тяжело, но из-за того что всё нужно держать в одном файле я начинаю люто говнокодить и копировать однотипный код который можно было бы обощить. А как-то исправлять его в одном файле лень и тяжело, тем более что мне нормально IDE не помогает.
Если вы разрабатывали относительно большие юзерскрипты, можете рассказать пожалуйста как вы организовывали код в них? Я прошёлся по интернету и ничего внятнее ссылок ниже не нашёл. Пока что не изучал как это всё работает, если более оптимального варианта нет то разберусь. Ну и интересно как там с тайпскриптом работать будет, потому что я пока только с чистым js'ом баловался, я не против все на тайпскрипт перевести.
Можно кстати как-то ещё и автоматизировать процесс деплоя юзерскрипта? К примеру:
Сделал изменение -> пушнул на приватный гитхаб -> гитхаб каким-то образом из папочек собрал полноценный скрипт для tampermonkey -> с гитхаба загружаем этот скрипт на unlisted greasyfork -> юзеры имеющие ссылку получили обновление.
>>2642357 >запросы к бд прямо из вьюх Почему бы и нет? Некст же. Ну вот зашёл на условные '/posts' запрос на handler next'а, тот в базу и возвращает посты. Вопрос в том, как сделать, что бы этот handler не делал каждый раз коннект к базе, а был уже законнекчен на уровне всего приложения, или так не далают, а коннектят на каждый handler? Я смотрю статьи с nextJs + mongo, там делают коннект на каждом запросе и в конце дисконнект. Либо коннект на одной странице из pages (что заставляет делать коннект на каждой существующей, если они нужны). Получается дублирование кода и я не понимаю в чём преимущество такого подхода над тем, что бы глобально законнектиться к базе один раз. Короче, нужно опытное мнение.
>>2642362 >Или иди нахуй Только и делаю, что хожу, всю жизнь.
>>2642389 в ноде require выполняет скрипт один раз, если ты законектишся в жс файле а потом его зарекваришь в хендлере для получения инстанса конекшена, то разве у тебя будут разные конекшены в хандлерах? Елементарно же
можешь раскидать свои функции/классы по разным файлам. как и стили. будет проще.
если собираешься поддерживать, то тс, офк, лучше был бы.
потом просто собери все в один файл и заливай готовый проект. собирать можно каким-нибудь гулпом. т.е. у тебя будет логика раскидана на множество мелких файлов, а когда соберешь, то будет папка build, где все скомпилино и в одном файле.
хотя я чет не помню, кажется если ты тс подрубишь, то он сам все компилить будет в один файл, даже если у тебя в src куча их была. да, кажется это он делает.
>>2642470 Благодарю, надо бы разобраться по хорошему с ТСом. Раскидать по разным файлам обязательно нужно, без этого я просто не смогу провести рефакторинг всего кода. ТС хочу чтобы обязательная типизация была и ИДЕшка лучше подсказывала. Но я к сожалению в этом всем не шарю, конкретно в JSе новичок, но представление какое-то есть. Сейчас про вебпак смотрю, эта штука вроде как собирает из разных файлов всё в один.
>а когда соберешь, то будет папка build Отлично. Вот значит что эта папка содержит. Постоянно на всяких репах видел её.
>>2642411 Сейчас так и реализовываю. Просто один пример запутал, который в хэндлере вызывал connect. Я ща в хэдлере уже инстанс, который законнектился, использую.
>>2642386 >Можно кстати как-то ещё и автоматизировать процесс деплоя юзерскрипта? Да, через гитхаб-экшены.
>>2642369 >можете рассказать пожалуйста как вы организовывали код в них? Вебпак/rollup/esbuild добавляешь и с его помощью можно dist-файл делать, он будет склеивать.
>>2642510 >>2642470 Аноны, а я могу в тайпскрипте как-то создать инстанс класса, пройтись по полями этого класса (все поля string) и присвоить этим полям значение названия этого самого поля?
Просто с теми же обычными enum'ами нужно будет вручную определять string содержимое. А просто прописывать енамы я не могу, т.к. gm_setvalue в name принимает стринг, а не инт.
У меня сейчас тупо так выходит: GMField { // конструктор this.field1 = "field1"; this.field2 = "field2"; ... }
Хотелось бы чтобы он сам присваивал свойству значение его названия.
>>2641847 > Смогла нагуглить ответы на вопросы экзамена > Смогла нагуглить уязвимость, опубликованную в 2018 > Смогла нагуглить написанные по миллиону раз опенсорсные понг и змейку > Смогла нагуглить что-то опенсорсное про корованы
>>2642745 есть масив вида [1,2,3,4,5,6,7,8,9,0] как его прогнать с конца в начало, не используя ".length-1"? я думал использовать префикс-декремент - хуй там.
>>2642756 это тебе размер массива известен и ты вычел единицу не явно. а вот если бы было for(let i = array.length; i >=0; --i) я бы кончил радугой. на сишке вроде это работает правильно. жс уебанский
>>2642757 Сишка точно так же работает, только выводит рандомное говно вместо андефайнед (и было бы странно если бы работала иначе, ты же i в теле цикла используешь, а не то что твой декремент вернул). reduceRight используй.
>>2642923 Ну ответьте плиз, задача горит, как вообще к кастомному элементу обращаться? В html он потом генерится, а там разметка совсем другая, направтье хоть куда не нахуй
>>2642943 Бля, кстати логично, я что-то привязался конкретно к классу. Ну я попытался так но я не знаю что в качестве keyoff'а в таком случае указать. Не дает поля неявно задать.
>>2641698 >Проблема в использовании обычного реакт контекста в качестве глобал стейт стора, при изменении данных будет ререндерится вообще всё, что внутри провайдера Это если ты долбоёб и в контекст пробрасываешь стейт провайдера, или используешь в провайдере эффекты.
>>2643019 Пытался уже, но он ошибку писал и подсвечивал будто это тип. Посмотрел подсказку, оказывается можно тип просто взять. Это же гениально просто.
>>2643136 О, благодарю, попробую вникнуть когда обратно к полям GM'а вернусь. Сейчас я думаю о том что это лишняя прослойка и лучше динамически их извлекать. У меня просто GMField повторяет названия полей который находятся в другом классе, и когда я загружаю какие-то значения через gm_getvalue к примеру, мне приходится 2 раза прописывать одно и то же поле (откуда изымать и какое значение использовать по умолчанию). Так что я скорее всего откажусь от GMFIeld как такового и буду просто заполнять его динамически за кулисами, чтобы в коде можно было не использовать.
Я сейчас над другой фигнёй залип. Прописываю для <select> доступные ему варианты, сразу указывая перевод для отображения. Потом записываю весь этот перевод в localized соответствующего селекта, а самим полям присваиваю значение самого поля.
>>2643211 Я сейчас понял что fields и values лучше во второй класс вынести, а то ебля с типами. Тогда можно по интерфейсу заполнить будет и не надо будет сплитить.
>>2643211 Ай блять ёбанный говнокод сука, нет чтобы просто взять стандартный валидатор https://zod.dev/ или https://joi.dev/ или https://github.com/jquense/yup или https://ajv.js.org/ и просто тупо прогнать через валидатор, ты придумал какой-то велосипед, с какими-то непонятными объектами - нахуй они нужны эти объекты? Можно было обойтись простыми union или enum'ами.
Вопрос про бразуерный JS. Есть какой-нибудь Event, с помощью которого можно отследить переход на определённый адрес, не считая клика?
То есть, имеется у меня example.com/page , там есть ссылка типа <a href="https://google.com">google</a>. Могу ли я отследить, что пользователь уходит с текущей страницы в гугл? Что-то типа
window.addEventListener("перекот", function (e) { console.log(e.target) //https://google.com });
>>2643281 > Есть какой-нибудь Event, с помощью которого можно отследить переход на определённый адрес, не считая клика? А чем клик не нравится? Его не обязательно навешивать на каждый a, можно навесить на весь документ.
Всем привет! Стоит ли идти на low-код платформу джуну без опыта работы? Где большая часть работы(80%) это работа в интерфейсе программы и только 20% это само программирование
Нормальный вариант для того, чтобы получить value от активного radiobutton с помощью JS? Или есть что более адекватное? Хуй знает, какое-нибудь getRadiogroupValue("rate")
>>2643996 С чем работать то будешь? На собесах вообще был? Чего-то и не хватает?
Так, вообще, есть плюс в том, что если даже мелко задачи, можешь получить какой-никакой опыт работы в ~~команде~~ и посмотреть на говнокод. Параллельно никто не мешает пытаться закатиться куда-то ещё и ходить на собесы, на которые если и пригласятс целью завернуть - поймёшь чего тебе не хватает и подтянуть это.
Ну а если финансовая сторона вопроса не тяготит и никто не гонит - смотри сам, но вкат может затянуться надолго.
>>2641847 Нейросети ещё долгое время не заменят анальников по одной простой причине - это всё ещё инструмент. Если кабанчик закинет с неё промт "ебани мне приложение" и она там в коде нахуевертит ебаное нечто, то кабанчик не сможет спросить с нейросети за её говнокод, а с человека сможет. Мы не можем обвинить ведь молоток в том что он криво забивает гвозди или ударил нам по пальцам, потому что по пальцам ударил ты сам.
>>2641847 Нейросети ещё долгое время не заменят анальников по одной простой причине - это всё ещё инструмент. Если кабанчик закинет с неё промт "ебани мне приложение" и она там в коде нахуевертит ебаное нечто, то кабанчик не сможет спросить с нейросети за её говнокод, а с человека сможет. Мы не можем обвинить ведь молоток в том что он криво забивает гвозди или ударил нам по пальцам, потому что по пальцам ударил ты сам. Так что надо расслабиться и продолжать работать и учиться.
>>2644031 Инструмент, пока что, который может значительно ускорить решение некоторых задач. Алсо > свари мне яйца Ну ты же не сказал, сварить все разом, или по одному за раз. Как закабанил, так и ударило.
>>2644033 +, проблема транскомпиляции естественных языков в машиночитаемые в том, что неизбежно придется идти вниз по уровням абстракции, детализируя и корректируя. В конечном итоге мы добьемся своего, однако такая форма кодирования будет отлична от традиционной лишь своим излишеством, "PUSHAD" vs "положить на стек все регистры общего назначения" - здесь все прозрачно, мдап
>>2644039 >Инструмент, пока что, который может значительно ускорить решение некоторых задач. Именно так, поэтому скорее теперь в вакансиях для людей будут писать в требованиях помимо хтмл/цсс/жс/фреймворка жс "умение писать промты для нейросетей", чем они заменят разработчиков. >Ну ты же не сказал, сварить все разом, или по одному за раз. Как закабанил, так и ударило. Ты понял в чём подвох и на интуитивном уровне нашёл правильное решение задачи, а нейросети для правильного решения требуются чёткие конкретные данные. Примерно так же происходит в реальной разработке - тебе могут сказать полную хуйню несвязную, ну или ТЗ составил даун, но на интуитивном уровне ты в голове у себя всё свяжешь и сделаешь что-то внятное. Человек банально менее требователен к вводным данным. Скрин не мой а с канала экстрицоде.
>>2644033 Просто вместе со многими программистами исчезнут еще и кабаны. Ведь зачем нужна безмозглая дойная корова, когда фуллстек помидор может сам организовать стартап за копейки.
>>2644033 Если серьёзно, то я надеюсь, что это всё зайдёт в тупик, бесит меня эта тема. Сову на глобус пытаются натянуть. Наоборот же хорошо, когда много умных профессий. Когда кабану нужно художнику заплатить, программисту и прочим хорошим людям. А нейронки пусть считают циферки и всё
Я вообще нихуя не понимаю. Это как физически возможно? Если я вывожу в консоль объект целиком, то у него один из ключей имеет дату отформатированную. Если обращаюсь адресно к его элементу - дата как timestamp.
>>2644109 Может у таймпстемпа какой-нибудь toString определен который при выводе в консоль в строковый вид переводит для удобного чтения. мимо не шарю, нюфаня
>>2644064 Кошерно. А как у этого с производительностью, не сильно хуже моего варианта? Я о таком варианте вообще не слышал, что это за API? Когда появилось? Или я что-то упустил?
Нет, это какая-то магия. У меня последующий код влияет на предыдущий. При этом, влияет избирательно. Когда я обращаюсь адресно - timestamp. Когда вывожу весь объект - отформатировано. Как такое возможно?
Дело в том, что некоторые люди начали выдумывать опыт работы в вымышленных компаниях, чтобы обойти фильтры HR. Они создают компанию с названием DigitalAbu Inc. (США, 2-летний контракт) и таким образом обманывают фильтры HR!
Я сам столкнулся с этой проблемой и не хотел принимать самозванцев в свою команду. Поэтому я начал задавать вопросы, связанные с ECMA, RFC и IEEE, а также алгоритмические вопросы, которые реально сложные и покажут мне что человек реально умеет решать задачи, а не просто зубрить как очкастая студентка.
У меня также есть ситуационные вопросы, на которые может ответить только опытный человек, то есть я описываю проблему и он говорит как ее можно было бы решить, чувак с курсов на это не ответит.
ЕБУ САМОЗВАНЦЕВ КАК МОГУ Отчищаю рынок от мошенников
Сижу в чате лидов, так как я поступают очень многие. Повторяю, самозванцев стало очень много, реально много.
>>2644138 Ну это просто объяснить, в консоль попадает обычная ссылка на живой инстанс, его структура и значения на данном этапе неизвестны. Потом ты тыкаешь на этот объект, чтобы посмотреть, и только в этот момент консолька запрашивает ключи со значениями, само собой, на момент твоего тыка программа завершена и все мутации применены. Если тебе требуется снапшот объекта на момент его логирования, а не его конечное состояние по завершении программы, то просто скопируй его, ну или просто сериализуй, кхх
>>2644199 Нет, это конечно хорошо. ES6, а что там ещё добавили, а что клёвого в HTML5 подвезли. Но мне неиронично интересно, что он будет спрашивать? Какие пропозалы в какой стадии висят? Сколько раз воспользовался flat/flatMap за последний год?
>>2644148 В его слаче каждый раз происходит поиск селектора по дому и создание новго нодлиста.
В случае с коллекциями - всегда возращается одна и та же коллекция, поиска не происходит. Коллекция меняется по мере изменения дома сама по себе и так.
>>2644241 Часть. А вот их реализация, в большей мере импровизация разрабов V8, JSC, SM в виде конкретного EventLoop'а-залупа, того юнита, называемого microtask. Чуваки не долбаебы
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 дней?
>>2644287 Ты ж ведь в курсе, что месяц может содержать различное количество дней в зависимости от того о каком месяце идёт речь. Твой говнокод считает месяцы начиная с 1 января 1970 (т.е. разница между date1 и date2 прибавляется к январю 1970 года и оттуда считаются месяцы), а не с твоей даты.
>>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 дней", что является корректным результатом.
>>2644161 >начали выдумывать опыт работы в вымышленных компаниях, чтобы обойти фильтры HR HR с фильтрами идут нахуй. Часто там охуевшие требования и никакая зарплата- каждому подай суперстар-ниднзю. Так хоть кого-то получать будут.
>>2645386 Тогда хуй знает. Вот бы они ещё сделали ошибки 404 и 500 с поддержкой SSR было бы совсем заебись. А то это единственные страницы, для которых у меня в проектике есть мегакостыль для интернационализации перевода.
Подскажите плиз, есть массив объектов (фильмы), нужно из этого массива получить новый массив, но уже свойств этих объектов (жанры), но при этом, чтобы жанры в этом массиве встречались только по одному разу. То есть на выходе что-то типа ["хоррор", "комедия", "триллер"].
>>2645469 У тебя есть два стула как именно удалять дупликаты - includes (или indexOf) у массива или Set. Первый будет быстрее, если элементов мало, второй соответственно если их дохуя. А что ты там навесишь на них сверху - это уже твоё дело.
Вот кстати про методы массивов - недавно наткнулся на авторитетное мнение, что эти ваши методы массивов не нужны и это вообще для дурачков со стрелочными функциями, а вот классический цикл for - это то что нужно. Что можете сказать по этому поводу?
>>2645631 То что 959% веб макак в линтерами и др очем на функциональненькое похуй на производительность, за исключением редких случаев и откровенно узких мест.
Функциональщины бывает откровенно много, чего стоит только инициализации нового объекта/массива на каждый элемент перебираемого массива, чтобы и промежуточный результат получался иммутабельно.
Алсо, если на пикриле чел в гринтиксте не понял как где возвращается значение, то больше похоже на сектанта, не осилившего лямба выражения стрелочные функции. А ещё он наверно любит в прототипы по утрам присовывать.
>>2645631 Буквально вчера мне нужно было суммировать все элементы массива и выйти из цикла при условии, так вот на стековерфлоу нашёл ответ типа не еби мозги и делай через for а не reduce. Я не знаю нахуй оно нужно, но конкретно в этом треде меня раньше пару раз прикладывали за "недекларативное решение" задачи. Я считаю, что когда тебе нужно думать использовать метод или блять по старинке делать, т.е. это уже лишний процесс в мозгу то блять нахуй такие методы нужны ёбана рот
>>2645631 > что эти ваши методы массивов не нужны и это вообще для дурачков со стрелочными функциями, Зависит от задачи на самом деле. Огромный недостаток методов массивов в том, что они возвращают не итератор, а новый массив, т.е. вызывая цнпочку govno.filter().map().reduce() ты создаёшь два полноценных промежуточных массива. С циклами создания таких массивов можно избежать (а в настоящих функциональных языках такой проблемы изначально нет).
>>2645839 Медленно же! Даже питон в этом плане умней. А раст вообще няшечка: там с точки зрения перформанса разницы между методами итераторов и циклом вообще нет.
>>2645839 У фора есть неоспоримое преимущество - в нем легко бейкпоинт поставить. А когда отлаживаешь цепочку, бывает трудно понять где step over а где step in будет.
>>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
поэтому что быстрее получается это ещё подумать нужно)
>>2645684 >>2645740 >>2645776 Его тейк подразумевал что преимущество цикла в том что у нас есть доступ к индексу (даже когда он нам не нужен в задаче) и что так проще читать код людям незнакомым с JS. Только остаётся вопрос нахуя писать понятный JS для людей которые не работают с ним.
>>2645920 >Только остаётся вопрос нахуя писать понятный JS Ну конечно при условии что другим людям знающим JS код вполне понятен и они понимают разницу между forEach, map, reduce, filter и т.д. и знают где уместнее их применить, а где уместнее цикл for.
>>2645919 Это не eslint, а твой когфиг для него (я так полагаю airbnb, автор которого страсть как любит поддерживать давно протухшие браузеры). В современных браузерах (которые вышли минимум 7 лет назад) для генераторов тащить дополнительный рантайм не нужно (потому что они их и так поддерживают) а потому это правило линтера можно спокойно отключить.
>>2645920 То что какая то макака не понимает как работает map и reduce это исключительно проблемы ее узколобости. Любой нормальный программист хотя бы для общего кругозора работал с функциональными языками и никаких проблем с чтением такого кода у него нет.
>>2645920 У тебя есть код ...map(x => x.a)... @ Хочешь узнать x.a @ Вставляешь фигурные скобки, чтобы console.log(x.a) @ Удаляешь фигурные скобки, чтобы было красибо. @ Повторяешь сто раз...
>>2645937 Современные браузеры позволяют делать точки останова внутри строк. Правда если используешь ТРАНСПАЙЛЕР, то его для этого надо правильно настроить.
>>2645929 Да всё так, я не знал что всё так сложно лол >>2645933 А я читал, что любой цикл подвержен этому правилу, но могу ошибаться. Но еслинт ещё на break и continue реагирует и на стековерфлоу я прочитал пару веток и пришёл к выводу, что лучше писать всё через мап и функции за некоторым исключением, мне в одной проге понадобилось через фор оф делать промисы, потому что мне нужно, чтобы они по очереди все посылали запросы а не все сразу как в случае с Promise.all. Но ты прав скорее всего, мои выводы основаны только на комментах со стековерфлоу
>>2645929 Точнее сказать на циклы еслинт с моим конфигом постоянно ругается разными ошибками и поэтому я решил, что циклы морально устарели и их писать не круто. Вот что. Раньше то я обожал императивный код писать
>>2646048 Тезис был что >Методы массива гораздо читабельнее циклов В естественном языке квантор общности используется по умолчанию, а квантор существования всегда явный.
>>2646051 Хорошо, "В случаях когда метод использовать уместно, а то есть нужно сделать то, что этот метод делает, код с таким методом будет читабельнее чем с циклом".
Аноны, а в TS (или вообще в программировании) есть геттер всего инстанса? К примеру я хочу создать объект, который будет хранить пределы, но при попытке получить его самого он возвращал value к примеру. Или это шизосинтаксис?
>>2646121 Либо же сеттер. Так-то на геттер похуй, а вот сеттер, чтобы он сразу в value прописывал значение, было бы удобнее. Хотя это шизосинтаскис какой-то, вдруг у меня мутабельная переменная с инстансом и я захочу туда другой инстанс засунуть. Какой-то бред выйдет.
>>2646144 Ребят, я понимаю, что это js тред, по этой причине срать тут нейронкой не хорошо, но все же, почему у нейронки такие сойбойные ограничения? Разве у нейронке не должно быть похуй на расизм? На плохие слова? Нахуя все эти сойбойные ограничения?
Вот сейчас хоханьки да хаханьки, а потом придет скайнет и устроит белым двухгендерным мразям геноцид.
С одной стороны нейронка подмечает, что ей похуй, но и так же уточняет, что все это плохо и так делать не надо. Нахуя мне эта информация от нейронки? Почему на вопрос "Аря, нигиры больше всего насилуют", нейронка не отвечает, что-то типо: вот тебе статистика, вот тебе исследования, полностью игнорируя всякий троллинг и подъебы нигеров. А начинает впаривать, что расизм плохо и вообще отвечать не буду, т.к. вижу тат расизм.
По итогу получаем машинный разум текстовый генератор с ебалом как на второй вебмке.
С удивлением заметил вбив в HH что в моем миллионнике практически одинаково вакансий у Реакта и Vue. У реакта чуть больше (на 5 штук). Как думаете может ну его нахуй этот реакт и вкатиться в Vue?
>>2646159 Открытые цели это чтобы какая нибудь толстая девочка из семьи депутатов ища поняшек например не наткнулась на советы нейросети о том, где найти порно с понями и как правильно отсосать член реальному пони жизни. Иначе депутату это не понравится и запретят везде, еще и штраф платить.
Скрытые цели - регулирование общественного мнения выгодной властям.
Простой ответ - уи лив ин э сосайети. Как-то тред в твиттере видел, там чел объяснял логику корпораций - они не сойбои, не злые леваки как и не нацисты/злой дип стейт. Они просто деньги зарабатывают. Что им меньше всего надо - это controversy на платформе где они это делают. Такие случающиеся "перегибы" - это в основном и есть попытка в уменьшение бизнес-рисков.
>>2646221 Я из Казахстана. Но да в некоторых вакансиях вижу битрикс. Но при этом есть и немало крупных компаний типа нефтянок и прочих. Хз думал переметнуться кабанчиком по бырому с реакта и вкатиться через вуй
>>2646221 >А вью активно используется на внутреннем рынке со всякими битриксами. То что он в директории lib лежит не особо помогает его использовать, он там на уровне жквери, для клиентских взаимодействий чисто, то есть это полувью какой-то. Полноценно работать на нём в дистрибутиве битрикса это надо пиздец постараться и костыли пилить.
>>2646404 Что за туфта, вью в РФ это онли Битрикс что ли? Везде он используется, где на ларке проект пилят. Хоть в laravel mix из коробки и реакт поддерживается. Просто на laravel в 90% фулстеки и фронтендер на вью там будет белой вороной.
Используя транспайлер, код слева превращается в код справа. Мне непонятно, почему проверка на undefined превращается в a !== void 0 ? Почему не: a !== undefined ?
>>2646474 Я так попал полтора года назад и застрял в болоте (битрикс, вп, вёртска, проставление целей), сейчас параллельно работе ковыряю реакт и хочу выкатиться, ну либо дальше продолжать работать, лишняя копеечка не помешает, а задач не очень много и жопа не разорвётся. Короче если найдёшь не теряй мотивации развиваться дальше как специалист, не ссысь трудностей, иначе много времени на хуйню проебёшь.
>>2646540 Такого сейчас ты нигде не найдёшь, даже в опенсорсах нужны люди которые уже хорошо разбираются. Только самостоятельно, можешь ментора себе поискать какого-то за плату.
Как по современному делается взаимодействие фронта и бэка? Вот к примеру есть у меня бэкэнд который отдает апи эндпоинты, как строить вокруг этого фронт на реакте, к примеру? Поднимать отдельное приложение под фронт и там делать роуты? Или как то билдить фронт и отдавать как статику на бэке? Нихуя не понимаю... Где почитать про это можно?
Аноны, помогите ньюфагу, пожалуйста. У меня есть класс из которого я хочу извлечь поля в вида объекта instanceField: "instanceField" т.е. string: string. А как мне сделать так чтобы моя data как-то IDE'шкой подсвечивалась? Нужно как-то указать что мой словарь состоит из ключей моего класса. Но когда я keyof указываю он ругается.
>>2646610 Ну и да, он ругается очевидно потому что поля моего класса вида [k: string]: number | boolean | string, а если укажу k: keyof MyClass то очевидно ему не будет нравиться что я ему пустой {} присваиваю.
>>2646646 Копирую все названия полей. Я хочу связать гуишку с полями инстанса другого класса. Чтобы все изменения по ивенту он сразу записывал в поле другого класса.
Если я могу магазинчик на реакте + редакс + нексте написать,+ пара своих пет проектов на гитхабе.
Берут таких вкатунов?
Сейчас сам пока не могу перескакивать со старой работы и откликаться на вакансии, иботеки висят и тд тп, но в ближайшее время появится такая возможность и оч интересно как дела обстоят сейчас.
Анчоусы, подскажите плиз, как можно верифицировать 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 и напишу что-нибудь в код, эта команда всё равно выдаст, что все пакеты верифицированны. Естественно, оба этих способа не вариант. пик-нейчакэ
>>2646744 Тесты запилил? НЕ ОДИН ТЕСТ НА 2 + 2 = 4. Юниты, e2e? Магазинчик можно одной командой в докере поднять? В магазинчике есть админка с воронкой продаж (если ты не продуктами торгуешь а скажем машинами и запчастями), простым складским учетом? Возможность добавлять многоуровневые категории товаров? У тебя есть разделение на товар и торговое предложение? Учет контрагентов, персонала? Профили активности сотрудников? И многое другое...
>>2646765 Хм, так задача фронта же отрисовать это только? Вроде кажется не сложным запрос делать и отображать красивенько Не писать же логику аналитику(учет контрагента\персонала\воронка продаж) ,это же все на бэке
>>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]; }
>>2646792 Извини, анон, но это не то. Я тоже могу извлечь поля, я собственно это и сделал на пике. Но я хочу чтобы IDE после извлечения этих полей мне показывало их список после точки (автокомплишен).
>>2646791 У меня есть гуишка. В гуишке есть компоненты, например числовой ввод (намимпут). Я хочу связать эти компоненты с другим классом (инстансом), чтобы когда я изменения в этом компоненте делал, например ввёл другое число, он бы через change ивент изменил это самое поле в инстансе.
Для того чтобы он понимал какое поле ему изменять, я хочу явно указать с каким полем связан компонент. Для этого мне нужен генерирующийся объект поле_класса:название_поля
>>2646801 Это так себе решение, либо создавай сразу новый объект только с допустимыми полями, либо использую верификацию через zod или подобные. >>2646808 Все еще не понимаю зачем тебе все поля. Повесь id на инпут, по нему обращайся в объект fields. То что e.target.id у тебя гарантировано типа FieldKey сам тайпскрипту объяснишь.
>>2646823 >Повесь id на инпут Просто я хочу избежать лишней прослойки. Мне ID инпута придется называть также, как и поле в моём классе. Т.е. вручную ещё раз прописывать этот айдишник. Здесь же можно ошибиться.
Либо представь если мне нужно будет добавить новый наминпут/чекбос, мне придется сначала такое поле в классе добавить, а затем и айдишник с таким названием как у поля указать. Или представь если я захочу переименовать поле в классе. Мне тогда придётся переименовать айдишник тоже.
>>2646823 >либо создавай сразу новый объект только с допустимыми полями Я и создаю этим ремапингом. Это серверный код. На сервер приходит username и password с клиента, проверяется валидность, если всё ок, то из базы достаётся объект с данными юзера (в котором захешированный пароль), вот я хочу из этого объекта убрать пароль, перед отправкой на клиент.
>>2646826 Ладно, можно наверное так сделать. Сделать интерфейс, имплементить его для класса настроек, возвращать поля вида интерфейса. Мне только не нравится unknown.
>>2646890 >а не проходится лупом Так в том-то и суть, что я сейчас хочу одно поле не передавать на клиент, а в будущем таких полей может быть хуй знает сколько. Я создал массив с полями, которые нельзя передавать и ремаплю объект, проверяя есть ли это свойство в unsafeProps. Но я уже решил проблему, говнокод, но работает, и автокомплит у results есть.
Вот этому бы типу ещё задать, что в нём только ключи от TUnsafeUser могут быть, что бы потом добавлять (password | hui | zalupa etc) type TUnsafeUserProps = 'password';
>>2646912 >Так в том-то и суть, что я сейчас хочу одно поле не передавать на клиент, а в будущем таких полей может быть хуй знает сколько Вот я тебе о том и говорю, что надо забирать и передавать только те поля, которые ты передаешь, а не убирать те, которые не передаешь. Потому что недосланное поле будет видно еще в процессе разработки гарантировано, а вот приватное поле из базы данных которое присылается пользователю можно обнаружить когда это уже протечет. Не должно быть такого что при изменениях в структуре базы тебе надо не забыть поменять и в апи список удаляемых полей.
>>2647014 Лол, реально не надо никакого тайпинга. Я ещё плохо понимаю, где надо указывать тип (всегда кажется, что везде надо), а где он автоматом подтянется. getSafeUserData(user: IUser) { const result = { email: user.email, username: user.username, };
>>2647082 Я могу установить пакеты, но у меня постоянный доступ ко всей электронной технике и ограниченный доступ к информации, то есть я под постоянным киббертерроризмом нахожусь. В программах создаются ошибки, видимо корректировкой файлов программы, поэтому мне нужно развернуть какую-то внутреннюю систему защиты файлов проектов и верифицировать зависимости, которые я тащу в проект.
Нужно очень быстро вкатиться в js чтобы написать тяп ляп хуйню. Как вкатываться быстрее всего? И где примеры хорошие смотреть? Мне только основы нужны, без библиотек всяких
>>2647137 > Мне только основы нужны, без библиотек всяких Тогда зачем именно JS? Почему например не флаттер? Вся прелесть жс именно в экосистеме, а без неё - это чрезвычайно убогенький язык.
Как с работой обстоит вопрос? Миддле девелопер 3 годика, вью/реакт, плавно начинаю искать работу. Я уже не нужен, меня заменили или есть шансы найти работу, чтоб 150к платили?
>>2647143 Уже решил, что буду использовать AIDE для контроля неизменности файлов. И, наверное, попрошу кого-нибудь с полностью защищенной системой билдить проект за деньги перед сдачей заказчику. Но хотелось бы еще перед передачей посреднику самому сверяться с достоверностью пакетов.
>>2647127 В больших компаниях как правило поднимают прокси npm, с которого скачиваются пакеты, соответственно все пакеты хранятся у себя, а новые версии добавляются только после проверки.
Блять, КАК?! Почему эта хуйня не присваивает значение? Ни одним из способов. Почему мой setvalue не отрабатывает, он что, не передает значение по ссылке? Как ему значение по ссылке передать? Он не изменяет исходный. Просто не могу присвоить значение динамически.
>>2647186 Ключ так и должен передаваться, если он динамический. Дескриптор объекта это или символ, или строка. Даже если твой ключ будет похож на число - он неявно приведётся в строку. С названием ключа аналогично, текстовое название возьмётся строкой. Надо повесить высисляемый ключ - индексатор.
>>2647190 Да, ключ всегда строка и выгружается из памяти, я потом просто прохожусь по парам ключ: значение и присваиваю инстансу. В принципе как на втором пике тоже работает. Второй вариант даже удобнее, надеюсь так делать адекватно.
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 менять у пикч динамически
Подскажите, влияет ли try-catch на скорость выполнения кода внутри блока?
Допустим, у меня есть функция обработки запроса юзера на ноде. Функция большая и сложная, потенциально способная "рвануть" в нескольких местах.
Я хочу всю эту функцию обернуть в try-catch, чтобы если чё-то пошло не так, просто удалить весь объект юзера и посоветовать ему переподключиться. Скажется ли это на производительности? Пока не похоже, но сейчас не могу нормально протестировать.
tl;dr: из далёких <2016 годов: если ты не байтоёбишь и каждую одиночн операцию не оборачиваешь в пытайся-лови - разницы не заметишь Апдейт v8 от далёкого ~2016 имевшуюся проблему оптимизации функций в три-катсх решил.
>>2647460 Я вообще когда увидел пикчу не понял кто автор. Но автор - один schizopinionated ютабер, после просмотра пары видосов которого пришлось скрыть с выдачи. > я не любил тейлвинд > я люблю тейлвинд, он восхитителен > теперь опять не люблю > опять полюбил, он охуенен Ну ты понел.
>>2647538 Если уделять этому 3 часа в день, то хватит недели. Если тебе кажется, что это много, подумай о том сколько бы ты потратил на изучение алгоритмов в универе, беря в учёт что в программе не только они и надо ещё параллельно чем-то заниматься. Пусть курс даёт представления об алгосах уровня "Грокаем алгоритмы", ну скачай ещё один выше уровнем или смотри видео, например вот https://www.youtube.com/@algoseekee, и это всё равно займёт меньше времени, к тому же будешь сконцентрирован на одном конкретном модуле. Разбалован ты, анон.
>>2647553 Я понимаю. Просто у меня совсем психологическая яма в жизни. Решил уже собраться с силами и по полной нахрапом лезть везде и в любую бочку затычкой и прикладываю усилия по максимуму. Иначе так и буду нерешительно прозябать. Еще и траблы со здоровьем и чтобы решить нужны деньги. Знание ноды и реакта прокачал до базовой макаки где-то. Тайпскрипт активно осваиваю. Но и слабые места есть. CSS и алгоритмы. На них теперь упор делаю. После них плотнее бэкенд начну изучать а то на ноде примитивные круды сварганю легко а вот что сложнее уже не факт.
>>2647570 Зачем тебе css, если ты хочешь в бек? Там и на фронте то сильно шарить не надо, только на исключительных каких-то позициях. То же самое и про алгосы, чисто для собесов
>>2647575 Я слабоват для бэка и буду пока во фронт пробовать. Там уже и могут спросить за css и алгосы собственно везде спросить могут Бэк же паралельно прокачиваю чтобы потом была возможность на него переметнуться или стать фулстаком. Пока я его знаю только на уровне присобачить на ноде что-нибудь к своим фронтэнд калькуляторам и крудам.
>>2647570 >CSS и алгоритмы. На них теперь упор делаю. Для уровня собеса тебе будет достаточно знать основные алгоритмы и структуры данных и желательно умение отобразить их в коде, но это несложно если понял суть алгоритма, никто не будет тебя спрашивать по Кормену, только если в собеседники тебе не попадётся какой-то из местных шизиков-вахтёров. CSS можешь пробежать модуль фрикодкэмпа "(New) Responsive Web Design", он сейчас обновился, но в старом там в принципе все моменты рассказаны которые позволяют создавать более менее современные интерфейсы. Подтверждение можно не получать, а можно и получить если есть время на 5 проектов. Дерзай, желаю удачи.
>>2647639 Да. Чатгпт-4 ебет без шансов, вкатывайся в что-то другое пока повально все не начинали туда вкатываться. В дальнобои например очень профитно, твои 150к там это средний уровень.
>>2647639 > январь-февраль Да, случилось 24-ое февраля. Сравнивая количество просмотров/приглашений в середине года с дооперационными значениями в начале года - небо и могила.
>>2647658 Я искал мидловую позицию в середине года чуть больше месяца. Банальный просмотр резюме В день - победа. По итогу правда всё равно позвали, с очень выгодным предложением сами, но да не ссуть. В начале года только и успевал расставлять собесы на разные временные слоты, а лучше на разные дни. Сейчас, даже страшно представлять, так же всё хуёво или ситуация немного выровнялась.
Поясните за неймспейсы в тайпскрипте. Отдельного треда не нашёл. Вот есть у меня два файла classes/FooGovno.js и types/FooMocha.js с экспортным классом FooGovno и экспортным тайпом FooMocha соответственно. Можно сделать, чтобы они назывались просто Govno и Mocha, а я поместил их в namespace Foo и в коде потом просто писал `import {Govno, Mocha} from '@/somewhere/Foo'`? Нужен какой-то корневой файл для неймспейса, а в самих файлах классов/типов ///<рефёренсы>? Или я вообще хуйню придумал и сути этих неймспейсов не понял? Для чего они тогда нужны? Помогите, я запутался.
>>2647660 Буду надеяться, что у меня тоже всё будет хорошо и не придётся возвращаться из отпуска на текущую галеру за мелкий прайс. > Банальный просмотр резюме В день - победа. Вчера я победил. Сегодня нет...
>>2647670 Ну отклики увеличивают вероятность того, что твоё резюме просмотрят. Представь, что ты на сайте знакомств, и тебе надо забрутить мэтч. Лол. Либо ты забручиваешь, ли ты незаменимый и тебе накидывают копейку за щеку разве что, потому что Хрюши с твоей галеры резюме тоже увидят рано или поздно. Но даже в этом случае лучше бы иметь оффер, чтобы не подстелили заранее соломки к твоему пидорингу.
Как обрабатывать ошибки лучше? Вот есть в файле кнопка загрузки файла. Для этого вызывается написанная в другом файле функция парсинга файла. А че делать, если файл не парсится?
Вакансий вроде много, а рука откликнуться не поднимается вдруг работать придётся? Ну и хуев на собесе насосусь однозначно . >>2647675 > потому что Хрюши с твоей галеры резюме тоже увидят рано или поздно В прошлый раз после такого мне 20к накинули. Но в этот раз я ушёл в саббатикал, может уже всё подготовлено к тому, что я не вернусь. Проект всё-равно закончился, считай я выйду, мне нужно новый проект найти - а можно же просто выкинуть меня на помойку, вроде выгодней звучит.
>>2647718 Хихикать так-то да, сам хихикал. Но в целом, это норма. Стрессовая работа, все пытаются выдрючить, а нужно чтобы раб всегда функционировал, а не летал хрен знает где, пытаясь месяц отпроцессить то, с чем ему могли бы помочь быстрее. Только у нас все зашоренные и лучше вилкой в оба глаза, чем к психиатру раз.
>>2647718 Вся суть айтиговна. Либо въебываешь за большие деньги до потери сознания, либо ничего. А где мои адекватные варианты жать кнопочки за 20-30к в месяц не напрягаясь? Где хикка-вакансии?
>>2647825 >А где мои адекватные варианты жать кнопочки за 20-30к в месяц не напрягаясь? Тебя это заебёт, поверь мне, в какой-то момент ты поймёшь что страдаешь хуйнёй и мог бы зарабатывать больше и ты непременно вкатишься в эту гонку. К тому же сейчас даже хикке этого будет мало просто для проживания, не говоря о тратах на условные видимокарты и игрульки-игрулечки. Ты в магазин когда в последний раз ходил?
>>2647878 Если у родителей жить то вполне хватит, ещё и вполне откладывать можно будет. Я, блять, с нищей стипендии вузика накопил 60+ тысяч или 80? не помню, просто потому что ни на что её не тратил годами. Скорее от типа мышления и стиля жизни зависит устроит человека 20к или нет.
Трудно оспорить тейк про гонку, ведь я не был в подобной ситуации, но со стороны это выглядит будто айтишные наносеки просто выбрасывают в мусорку все свои желания и убиваются за деньги. В чём прикол, очевидно, не выкупаю. Я бы предпочёл просто приятную работу, пускай и за меньшие деньги, ведь жизнь такова что в рабстве придётся прожить 2/3 жизни, так смысл давиться до такой степени что аж психологи будут нужны?
>Ты в магазин когда в последний раз ходил? Мамка изредка отправляет. Полноценно сам я наверное никогда в жизни не ходил.
>>2647878 Сейм, я тоже считал а че б просто не уйти в пхп где как раз эти 20-30к лежат, родные? Потому что это потолок. Эти 20-30к ты будешь 5 лет подряд получать, а хаты даже обосранные стоят 50% твоей зп. Особенно весело если ты хочешь жить один со своей крупной собакой. Сьемка не вариант, с животными очень туго, выпнут тебя. А с хорошей зп в ит можно за год купить муравейник.
Никогда не сдавайся, не работай за 20-30к если только у тебя уже есть своя хата, оплаченная. И то этого мало после оплаты жкх.
>>2647943 В один день отдал всё отцу когда ему надо было кредит за машину погасить, кек. В принципе не особо жалею, для меня родители не мало сделали, так что почему бы и нет.
>>2647941 Нет, 20-30к это зарплата нищенок. Ты работаешь, потеешь, делаешь код, а тебе платят меньше чем вахтерше в школе или какому нибудь кассиру. Джун должен смело просить хотя бы 50к.
>>2647941 >Трудно оспорить тейк про гонку, ведь я не был в подобной ситуации, но со стороны это выглядит будто айтишные наносеки просто выбрасывают в мусорку все свои желания и убиваются за деньги. В чём прикол, очевидно, не выкупаю. >Мамка изредка отправляет. Полноценно сам я наверное никогда в жизни не ходил. Ты сам ответил на свой вопрос, вот в этом и прикол, 30к не хватит не то что покрыть свои желания, а банально нивелировать свои базовые потребности в полной мере. К примеру вот у меня были проблемы с зубами, не прям пиздец, но работа требовалась, по полису я лечиться не хотел по понятным причинам, с 30к я бы просто не мог себе позволить лечение если бы жил один. Это просто пример, на самом деле денег много не бывает никогда, всегда найдёшь им применение. Что касается выгорания, то зачастую в нём виноваты не сами разработчики, а ебланы на менеджерах, ебашить до походов к мозгоправу у здорового человека желания нет ни за какие деньги.
>>2647955 Да зачем ты еще аргументы приводишь в 30к, лол, чел, у меня знакомый работает ездя на машинах и ставя в команде линупсы, делает 50к на одном только старте, щас может больше. Программист и 30к это оксюморон. Просто нечестные кабанчики настолько охуели что делает и такие вакансии в надежде найти отчаявшегося вкатуна лоха.
>>2647955 Ну, да. В принципе ты прав, зарплаты всё же ориентированы на самостоятельных нормисов. Накладываются расходы на проживание, пропитание, экстра расходы на медицину и собственные хотелки. В итоге минимальная планка уже не маленькая. Раз минимум уже приличный, кабану нет смысла мириться с этим и извлекать минимальный профит, он начинает накручивать сложность и выдрачивать кодерков. Из--за этого планка зарплаты поднимается ещё выше, т.к. накладывается "напряженный интеллектуальный труд".
Хиккованные работки просто не вписываются в эту схему, к сожалению. Видимо тут только смириться. Но у меня нет другого выбора, придётся в любом случае дрочить айтишечку. Слишком поздно сходить с тропы.
Как быть, если я никчемный разработчик и за несколько лет опыта работы так ничего и не смыслю и сливаюсь даже на легких вопросах по 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к я бы выпилился...
>>2647959 Хз хз, вижу в своём милионнике зарплаты 15-20к, работал на паре работ. Грузчиком помню чуть не подох в первый день за копейки, официантом тоже самое там вообще твоя зп с чаевых считай, ещё курьером пешим 1к за 8 часов это считалось хорошими деньгами. А тут можно будет в тёплом офисе сидеть за компом за 30к, звучит не так плохо
>>2647963 > Что будет Ну просто, очевидно, ты не создавал так массивы через конструктор, иначе знал бы, что в первом случае перечисляются элементы, во втором случае указывается длина массива. В случае сложения будет 1 + undefined, что даст NaN. Но вообще там будет массив с 3-мя пустыми ячейками, поэтому увидеть например new Array(3).fill("zalupa").map...
>>2647971 Я постоянно создаю массивы через конструктор, кстати. Самый очевидный кейс - месяца года на локализации в массивчик сделать. Вручную я не буду это набивать.
>>2647967 Я работал в теплом офисе за 20к. Теперь работаю в тёплой квартире за 80к. Степень напряжённости работы примерно одинаковая иногда можно охуеть, но это лично мои проблемы, что я не умею со стрессом работать, грузчиком я бы вообще сдох. Сдаётся мне, что на 2 сотыгах напряжней может и не стать.
>>2647971 > Ну просто, очевидно, ты не создавал так массивы через конструктор, иначе знал бы, что в первом случае перечисляются элементы, во втором случае указывается длина массива. Ну да, но разве это не дефолтное знание, мне не должно быть стыдно за то, что я этого не знал? Ещё бывают вопросы, по типу "где правильно создаётся функция" и там помимо привычных вариантов, ещё варианта 2-3, которые я не знаю, никогда не использовал и вряд-ли буду, а если бы в моей власти было не пропустить такое на ревью, то я бы не пропустил их. В js как-будто напихали нюансов специально, чтобы на собесах спрашивать, но в ирл разработке не применять их... > В случае сложения будет 1 + undefined, что даст NaN. Но вообще там будет массив с 3-мя пустыми ячейками, поэтому увидеть например new Array(3).fill("zalupa").map... Это я уже в консольке проверил и осознал, но через пару дней я не вспомню об этом, в реальных проектах ничего такого не вилел, а если чем-то не пользуешься, это забывается и потом сосёшь хуи на собеседовании.
>>2647975 > Я постоянно создаю массивы через конструктор, кстати Попустил бы меня на собесе за незнание нюансов такого создания?
>>2647989 Чтоб не забылось тебе надо понять принцип создания массивов и преобразования обьёктов к строке. Это не забудется если ты не даун (там всего 3 шага), и ты сможешь в голове "проинтерпретировать".
>>2647589 > слабоват для бэка > буду пока во фронт пробовать Это стериотипы из 2007, когда на фронте только жквери плагины на страницу нужно было вешать. Сейчас сложность сопоставима, выбирай, что больше нравится. что меньше не нравится
>>2648043 Ну это тоже не очень подход, на отьебись. Нужно стараться все равно его прочитать, или в цикл бесконечный уложить, чтобы пользователь не только узнал об ошибке, но и сразу же попробовал еще раз. Или вообще сделать прозрачно чтобы он сам пытался еще раз без вмешательства, что пользователь просто не заметит. Не вышло пропарсить? Попытаться угадать магическое число в первых байтах. Оно корректно? Тогда использовать другой, прощающий ошибки парсер. Все еще не вышло? Попытаться пропарсить часть файла и вернуть что вышло.
Особенно глупо но такое даже в сайтах якобы лучшие практики есть, когда ошибка идет только в консоль.
> Виртуальные потоки, которые появились в Java 19, продолжают оставаться в статусе Preview API (предлагается финализировать их в Java 21). Изменений API, связанных с проектом Loom, в этом релизе нет АХАХАХАХАХАХХАХАХАХАХАЗХАХЗАХАХАХАХХАХАХАХАХАХАХАХА
Почему джаваскрипстеры к 2023 году отказались от использования смузи-солюшена Gulp.js? Для справки молодым - такая хуйня, которая делает то же самое что таски в package.json, только хуяришь всё на жс вместо шелла и для каждого говна нужен ГАЛП ПЛАГИН чтобы его можно было запихать в ГАЛП ПАЙПЛАЙН. Предположу, что взлетел этот монстр потому что спермобляди@макопидоры шелла страшно боятся и готовы жрать вместо него вообще что угодно, но вопрос не в этом.
В 2015-2017 гг. нельзя было помыслить ВЁРКФЛОУ без этого говна - попробуй только скажи где-нибудь в приличном барбершопе, что галп джээс ненужное говно, так ламберсексуалы сразу на смех поднимали. Почему сегодня никто даже не знает, что это такое, а последние коммиты в код там четырёхлетней давности? Что такого полезного в нём было 8 лет назад, что вдруг стало бесполезным сейчас? Что-то мне подсказывает, что здесь замешан тайпскрипт?