Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
>>2474688 → То, что нужны дженерики и так понятно, только какие? Сейчас у меня функция выглядит так: type IType = "string" | "number" | "object"; type IOutputType = undefined | string | number | Record<string, unknown>;
function transformValue( value: unknown, type: IType ): IOutputType;
Проблема в том, что у результирующего объекта у всех ключей будет сигнатура IOutputType, а мне надо тайпскрипту указать более явную связь между ключами types и их значениями.
>>2474784 >А как ты это использовать будешь? Для фильтрации query параметров клиентского роутера. Функция немного другая, но суть та же - получение объекта с приведёными типами в зависимости от сигнатуры второго аргумента. >Но ты же описываешь пример данных, которые в рантейме уже придут в приложение, а там никакого тайпскрипта уже нет Причём здесь рантайм? У этой функции сигнатура возврата зависит исключительно от сигнатуры аргумента types, который создаётся скриптом, а не зависит от входных данных. Этот объект - всего-лишь пример как она должна работать и что у результирующего объекта сигнатура может разительно отличаться от входного.
>>2474815 Я бы сделал так: 1. Поставил бы any тип на возвращаемый результат 2. Создал бы to do с номером задачи в таск-трекере где описал бы проблему и указал, что она требует дополнительного изучения и исследования 3. Просто доделал бы текущую задачу 4. Как только появилось бы время, вернулся бы к этой to do
В теории, сделать то, что ты хочешь можно, но value стремится к нулю. И больше похоже на перфекционизм
>>2474834 >1. Поставил бы any тип на возвращаемый результат Но там не any, возвращается всегда объект, с ключами, указанными в types, и значениями, типы которых зависят от значений этих ключей. >3. Просто доделал бы текущую задачу Да уже подумал, что пока добавлю обязательный колбэк парсинга в декоратор, и буду писать залупу вида const query_value = !router.query.query_value ? router.query.query_value : Array.isArray(router.query.query_value) ? router.query.query_value[0]: router.query.query_value, но хотелось бы более декларативненько. >А если это твой петпрожект, то вообще хуй забей Тащемта как раз петпрожект, а забить хуй не получится, так как мне это нужно для реализации страниц с пагинацией, зависящей от урла, и у них в этом плане у всех одинаковое и бойлерплейтное базовое поведение.
>>2474866 >а забить хуй не получится Зависит от цели на которую направлен проект. Если ты дрочишь типы, то остановись и изучи проблему. Если ты тренируешься просто делать что-то, то лучше вообще взять готовый компонент для пагинации
>>2474878 >Зависит от цели на которую направлен проект. Цель - как можно сильнее абстрагировать бойлерплейт пагинации и соответственно минимизировать боль при написании пагинированных страниц и их последующего рефакторинга. Это не для кабана тасочка с дедлайном, а для сохранения своих нервных клеток и времени. >Если ты дрочишь типы, то остановись и изучи проблему. Проблема в том, как привязать выходной тип функции к типу аргумента, не городя ручками перегрузки/многоэтажные инферы/промежуточные интерфейсы. Так-то понятно, что в случае выше можно просто добавить обязательный дженерик ReturnShape и сделать ключи types зависимыми от этого дженерика, и забить хуй на время. Но хотелось бы более лениво, чтобы тайпскрипт всё сам угадывал, а я бы только писал процiдурки. >то лучше вообще взять готовый компонент для пагинации Я уже навернул говна с "готовыми компонентами", так что нет. Плюс сомневаюсь, что в природе есть либа, пагинационный компонент которой бы ещё парсил query некстжсовского роутера по шаблону изкаробки. Так что он тут бы не помог. >Ты только вкатываешься? Да, только вчера кантора открыл.
>>2474904 Еще раз прочел то, как ты хочешь все это трансформировать и появился вопрос: а почему в месте получения этих данных просто не написать, что они не обязательные? Ну и в случае с объектом, просто корректно описать его структуру именно при получении. Зачем ты получаешь параметры, которые, якобы, обязательные, но потом пишешь костыль, который тебе будет все это оборачивать так, как будто они не обязательные
>>2474976 >а почему в месте получения этих данных просто не написать, что они не обязательные? Причём здесь необязательность? В запросе вполне может не оказаться ключа из types, в этом случае, а также во всех случаях провала приведения по значению типа ключа, у финального объекта значение ключа будет undefined. Не путай { key?: type } и { key: type | undefined }, у этих сигнатур разная семантика в плане поведения Object.entries()/Object.keys()/Object.values() и key in obj оператора. В большинстве случаев на эту разницу можно положить, но не во всех.
>>2475007 >Не путай { key?: type } и { key: type | undefined } >у этих сигнатур разная семантика в плане поведения Object.entries()/Object.keys()/Object.values() и key in obj оператора Это ты сейчас что-то путаешь. Перечисленные тобой методы работают с данными, а это >{ key?: type } и { key: type | undefined } Лишь описание их структуры
Но если у тебя есть конкретные примеры на которых поведение и правда будет разным, то принеси, пожалуйста. Очень интересно и познавательно будет
>>2475084 Object.keys(obj), где obj : {key: number| undefined} всегда возвращает ['key'] Object.keys(obj), где obj: {key?: number} может вернуть либо [], либо ["key"] мимо
>>2475084 Аналогично для функций, если ты тип аргумента задаш к примеру как {k: number | undefined}, то у тебя при попытке передать {} в эту функцию нихуя не скомпилируется. А вот если укажешь {k?:number} - все будет ок все тот же мимо
>>2475105 Если ты роут таким образом, что туда могут какие-то параметры не передать, то или бери значения по умолчанию или пиши компонент таким образом, чтобы эти параметры были внутри него не обязательными. Звучит так, как будто сам проблему выдумал и теперь героически ее решаешь
>>2475109 >Ты троллить тупостью начинаешь. Отрой доку тайпскрипта и прочитай, либо загугли и открой первую ссылку. Не сливайся так жидко, анон, прошу.
Да, я уже понял, что там поведение некоторых методов разное. Тебе это как мешает? Ты не можешь по-другому код написать? Но ты обоснуй необходимость именно такой ебли с этими параметрами. В конструкторе компонента можно просто param.p1 || defaults.p1 написать и будет все прекрасно работать
>>2475310 Добавит все ключи параметров, даже ненужные, так что тоже перезвоним. >>2475312 >ответ на ваш вопрос о том, как работать с данными в ТС без описания структур данных был дан Еблан, он отключит вообще всё на строке, а не только один тип.
>>2475331 >default >ненужные Вкатун, успокойся. >он отключит вообще всё на строке, а не только один тип. Ну отключит, дальше что? Ответ на вопрос был дан.
>>2475331 >Использует typescript >Каким-то чудом пишет код, который позволяет передавать ненужные параметры в компонент >Говорит, что не будет перезванивать
>>2475351 Мы сейчас на дваче, поэтому я тебе ещё раз повторю - пошёл нахуй, гной подзалупный. Ты начал терять берега и ПРОВЕРЯТЬ РАБОТНИКА, как только решил что нашёл исполнителя за мелкий прайс и сейчас будешь им красиво командовать. Пошёл. Нахуй.
ну лан. так как в вакансиетреде воркача сидит полтора анона, запощу тут:
ищу человека, который умеет в линукс и яваскрипт. нужно модифицировать плагин noVNC для Proxmox, а конкретно - сделать запись видео. например, прикрутить вот этот прокси сервер https://github.com/amitbet/vncproxy и писать копию трафика в файл, чтобы потом можно было пересматривать видео в оффлайне. вот ещё примеры подходящего софта: от разрабов novnc https://github.com/novnc/websockify/issues/224 или от левых челов https://groups.google.com/g/novnc/c/CiI0bEH-Eoo встроенный в noVNC плеер: https://github.com/novnc/noVNC/blob/master/tests/vnc_playback.html в proxmox половину функционала noVNC вырезали. насколько я понял по рандомно разбросанным файлам - там вообще какая-то старая версия noVNC, которую скомпоновали в один большой файл из кучи модулей. кароч нужен кто-то, кто хорошо разбирается в яваскрипте и всём этом говне - надо разобраться, как именно noVNC прикручен к проксмоксу, вкорячить между ними прокси, а в веб-гуй noVNC добавить кнопки типа "начать запись", "остановить запись".
пару месяцев периодически читал доки, гайды, смотрел видосики, вот решил запилить типа бэк для какого-то условного интернет-магазина: https://github.com/qqscrte/eshop-nestjs-backend Что я сделал не так/что можно добавить/сделать лучше? надеюсь не обоссут
>>2475744 Свойства это то что есть у объекта в жабаскрипте (в частности у объекта узла дома), а атрибут то что есть у узла дома и то что ты пишешь в хтмл. К свойствам ты обращаешься как к свойствам любого объекта. К атрибутам ты обращаешься через гетатрибут/сетатрибут. Атрибуты доступны как свойства с таким же именем кроме class, которому соответствует свойству className. Свойства, которые браузер узнал как атрибуты, доступны как атрибуты, левые свойства — нет.
Сап сеньёры-помидоры, нужна ваша помощь. Кто-нибудь пытался работать с вебсокетами внутри redux-саг? Использую у себя singnalR в связке с redux-saga и не могу понять какого хуя eventChannel не работает. Вот тут схематично накидал код: https://codesandbox.io/s/headless-hill-0nyj1i?file=/src/index.js Вернее, бесконечный цикл который оборачивает take начинает отрабатывать, но спустя пару секунд как-будто зависает и любые эмиты не отрабатывают. Причём сообщение с хаба доходит и его можно отлогировать, но дальше ничего не происходит т.е. логи из кода идут в след. порядке: 1 - канал запущен 2 - Цикл отрабатывает (в зависимости от бразуера данное сообщение выводится от 700 до 2700 раз, после чего перестаёт выводится) 3 - Спустя некоторое время сокеты отвечают и логируется "Сообщение получено" А дальше вообще ничего не происходит. Что за хуйня?
Выучил React - но понял, что мне не нравится программировать. Понял что не получаю удовольствия от написания кода - а скорее даже наоборот. И иду в профессию только ради денег.
Стоит ли мне продолжать? Вроде и JS изучил, и React, осталось только Redux и TypeScript. Но стоит ли?
>>2476140 >useNavigate Когда ты сабмитишь форму и когда надо сделать редирект после её сабмита. Когда ты контент вставляешь через innerHTML и не можешь использовать Link.
>>2476199 >У тебя код в finally выполнится только в случае ошибки, иначе ты просто будешь крутить бесконечный цикл. или я что-то напутал Боже блять. Не позорься и иди прочитай документацию перед тем как лезть со своими объяснениями.
Сап, программач, Я juniour Node.js Backend разработчик. Получил задание написать (почти) с нуля бэк с использованием Nest.js + MongoDB для мобильного приложения. Хотелось бы, чтобы приложение легко масштабировалось, так как хотелки у заказчиков возникают постоянно.
Проблема возникла на стадии проектирования, приложение содержит довольно много вариантов авторизации. С учётом того, что используется noSQL бд, нужно ли разделять логику по пользователям и авторизации пользователей или сливать всё в одну коллекцию?
Единственный норм бэкендер в компании свалил в отпуск на 2 недели, моя команда состоит целиком и полностью из фронтов и мобильных разработчиков конченных идиотов, а мне очень нужна подсказка
Помогите написать функцию, которая принимает строку х и возвращает количество символов в ней. Через что вообще её писать? В for вбить цикл, а дальше сумму через прибавление единиц считать?
Как через функцию считать количество определённой буквы в слове? Создал пустую переменную для хранения, цикл с of. Нужно сводить всё слово к LowerCase? Нужно ли присваивать букве переменную для ввода в цикл?
>>2476340 Ебаные однострочники совсем ошизели. >>2476334 >>2476370 Через обычный for посчитай, самый очевидный и производительный вариант. >Нужно сводить всё слово к LowerCase Нет, только твою букву свести к upper и lower, затем сравнивать на соответствие одному из этих символов.
>>2476437 Это имело смысл в каких-то 90-х ранне-нулевых, в старых фланаганах был справочник по всей хуйне, сейчас быстрее загуглить, чем листать ебаный справочник. Теперь это больше учебник по основам.
>>2476450 ну вообще я читаю по learn js и freecodecsmp, еще курсов куча. но про Фленагана всегда хорошо отзывались, у меня есть книга но издание старое, до Esma script 6.. ну может оно и не надо. сейчас сказали жопа будет с айти рынком по крайней мере у нас в рф.. немного конечно демотивация
>>2476450 > сейчас быстрее загуглить, чем листать ебаный справочник. а потом копипастить консольные команды в пхп скрипт и создавать треды "двач чому не робiт?" жаль я не успел скрин сделать, лольный тред был
>>2476485 >жопа будет Наоборот. Все айтишники разъехались, брать некого на работу. Мы уже набираем всех, кто хоть немного js знает, реакту и тс обучим сами.
>>2476491 Мы сишарпера миддлового не можем уже пол года найти. Откликов банально нет. Тестировщика вот джуна искали 3 месяца, только сейчас оффер отправили.
>>2476501 Ну раз ты сказал >>2476502 Пиздуй на собес скорее, напиши что 2 года опыта и всё. Отпишешься как прошло. >>2476505 >миддлового Оно и понятно. Какой дурак пойдет на работу туда, где есть вакансия мидл? Спихнуть обязаности сеньера и платить поменьше, обуславливая "тыж мидл"
>>2476510 >Спихнуть обязаности сеньера и платить поменьше, обуславливая "тыж мидл" Ну хуй знает. У нас по сути там уже готовый небольшой бэкенд уже написанный, все что от него требуется - мелки едоработки по нему и багофиксы. Вполне себе работа для джуна, не то что для миддла.
>>2476570 >document.documentElement.lang = 'en' Меняет язык страницы. >location.reload(); Перезагружает страницу и язык на ней снова становится тот, который был изначально ты че хочешь шизик припадочный??? >>2476599 А теперь напиши что бы этот кал занимал N памяти вместо от 3N до 4N как у тебя. И что бы асимптотическая сложность была N, а не 4*N. Не напишешь - не получишь оффер на стажера.
>>2476650 >O(4n) нахуй не имеет смысл , потому что это то же самое, что и O(n). Что ты несешь, шизик? Каким образом выполнить 4 операции это тоже самое, что выполнить одну? У тебя совсем с арифметикой плохо? Константа в нотации большого O не обязана отбрасываться, учи матчасть.
>>2476678 Ну если мы говорим про О нотацию в CS а не в математике, то полная запись это O(n) + c, где O(n) - это сложность от ввода, а c - время процессора на простой.
>>2476656 Я думаю, что чел выше имел ввиду, что сложность всё равно линейная остается, хотя я согласен, что x!=4x.
>>2475381 актуально, нужен человек с опытом работы с линуксом, не уровня "curl github.com/asdf/install.sh | sudo bash -", а способный установить ОС и компильнуть сорца.
желателен дискорд или любое другое средство связи, не требующее анальных регистраций как в телеге.
Помогите, я не могу понять разницу между let и const. Это же одно и то же, блять!
И let, и const нельзя переобъявить (redeclare, простите, я не знаю, как по-русски, лень гуглить). И let, и const нельзя переназначить (reassigne). И let, и const имеют block scope, для каждого {блока} своя let и const. И let, и const должны быть объявлены (declare) перед использованием.
При этом еще и const, оказывается, не такая уж и константа - ковыряйся в свойствах переменной сколько хочешь, при этом выдавая её за ту же переменную. Охуеть не встать, такое-то ПОСТОЯНСТВО.
Блять, а разница в чем? В этом вот (не)постоянстве?
>>2476752 f(n) = O(g(n)) если существуют такие положительные целые M и n0, что f(n) <= M * g(n) для всех n >= n0 (и это определение для cs, у математиков немного другое). Хз где ты там взял c и нахуя оно там вообще нужно.
Асимптотическая сложность говорит о порядке роста времени, которое мы затратим на вычисления, от количества данных. Все константы нам здесь не важны вообще хотя бы потому что мы в душе не ебем че там процессор делает и как долго (и не только множители, но и например 2^n и 3^n здесь одно и то же, логарифмы тоже, поэтому обычно не уточняют основание логарифма, а просто пишут log n). Это именно про сложность нашей хуйни.
Изучаю сейчас HTML и CSS, до JS еще не дошел. Возник такой вопрос, как сделать анимированное всплывающее окно? Чтобы оно выезжало с задержкой то есть. Свойство display не анимируется с помощью transition, как я понял.
Сейчас пытаюсь разобраться в инкрементах, понимаю как это работает, но не понимаю почему. Например, на пике1 в рамках присваивания переменной b значения a++, помимо переменной b меняется и переменная a, хотя по моей логике a не должна меняться. Тогда, например, почему на пике2 при a+1 переменная a остается неизменной?
Почему 'Xx' работает по поиску большой или малой буквы в функции? Написано, что искать будет или букву или подстроку, то есть само сочетание Xx полность, а не что-то подходящее из него.
'Misha' // ищем подстроку name.includes('Mis'), // true name.includes('mis'), // false Почему false, если должно находить любую из букв по отдельности тогда?
>>2477293 В смысле наоборот? Написано, что ищет целиком подстроку, в кавычках же единое значение. Тогда как прописать, чтобы искало значение в строке полностью как указано?
>>2477303 >А должно искать Хх в строке. Как так прописать? Это функция если что. >Т.к. опции кейс-инсенситив поиска нет, надо делать это вручную и искать просто x. А если 2 раза указать заглавную и маленькую в двух строчках кода?
>>2477339 Хотел понять как через 'или' можно 2 символа указать. А как всё значение в точности целиком тогда искать, если ищет только совпадения с любым из входящие?
>>2477442 Называть файлы только строчными буквами, заместо пробелов и _ использовать -, экспортировать и импортировать только поимённо. Дефолтные экспорты использовать только тогда, когда от тебя фреймфорк требует.
Какие команды nodы покажут логи\ошибки кода дополнительно? Потому что щас писал бота дискорда по гайдам, ошибки все пофиксил что были, а сейчас просто процесс заканчивает работу и всё.
>>2477934 >>2477954 Да,так и вышло, спасибо за помощь. Оказалось скобки функции не дописал... Вот бы конечно нода выставляло это как варнинг,было бы идеально.
>>2478045 >Оказалось скобки функции не дописал Не "скобки не дописал", а "функцию не вызвал". >Вот бы конечно нода выставляло это как варнинг,было бы идеально. Схуёв ли рантайм должен подтирать за тобой? Ставь тайпскрипт/еслинт, чтобы он тебя пиздил палками за неправильный код.
Объясните плиз, как на реальной работе ДЖ используется? Даже если в вакансии указано JS разработчик, то основная работа все ещё будет css и создание обложки, а самого джса там будет 20% от объема работы и на крутящиеся кнопочки?
Здравствуйте, есть одна задача - стригерить выполнение js функции (или ивента) со стороны сервера. У меня в голове пока каша только теория, поправте меня если я что-то не то пишу: Насколько я пока теоретически понимаю это делается через веб сокеты, т.е. на клиентской стороне (js) при инициализации страницы (через get запрос) генерится и передается уникальный айди открытия сокета и генерации "ссылки", открывается сокет и на него вешается ивент, т.е. когда сервер стучится и что-то передает по этой "ссылке" начинается выполнение заданого кода. Вопрос 1 - если мне нужно это только в одну сторону на клиент, нужно ли мне дополнительно делать/открывать сокеты на сервер. Вопрос 2 - что делать с безопасностью, т.е. разрешить выполнять только на обращения с ориджин сервера? Нужен ли какой-то токен/соль или js весь открытий и здесь ничего не сделаешь? Если кто знает, пожалуйста, киньте линк по сабжу/примерами.
>>2478597 Окей, а можно ведь тогда как-то держать сокеты открытыми и таким образом держать соединение, и в определенный момент стригерить выполнение js функции? Мне почему-то кажется что должно существовать более элегантное решение нежели вываливать динамические стейты на апишку сервера и js'ом раз в n секунд чекать эндпоинт.
>>2478605 >Окей, а можно ведь тогда как-то держать сокеты открытыми и таким образом держать соединение, и в определенный момент стригерить выполнение js функции? 1. Страница загружается 2. Сразу же стартует соединение с сервером через сокет 3. Сокет в любое время, если все ок, может вызвать все что ты захочешь на клиенте
По сути тот анон выше тебе так и написал, только не так многословно
>>2478601 >Почему пишет 'abbreviation' is declared but its value is never read? Точно это пишет? У тебя там было несколько опечаток в коде Какие редактором кода пользуешься? В 2022 году они должны такие ошибки подсвечивать
>>2478614 Какой лучше редактор? Я в браузере набираю. Ещё хотел узнать, почему < words.length, а не <=. Ведь тогда последний символ не будет прогоняться.
>У тебя там было несколько опечаток в коде abbreviation исправил, теперь undefined. У меня скобок в return нет, а с ними вообще не работает.
В браузере тоже можно, но это не серьезно: нельзя сохранить и не удобно с несколькими файлами работать
>Ещё хотел узнать, почему < words.length, а не <=. Ведь тогда последний символ не будет прогоняться. Я только опечатки исправил. Хз что там еще надо поправить
>У меня скобок в return нет, а с ними вообще не работает Значит ты что-то еще пропустил. Будь внимательнее. Рабочий код есть на пике. Смотри и ищи отличия
> Ещё хотел узнать, почему < words.length, а не <= Потому что с нуля
> abbreviation исправил, теперь undefined. У меня скобок в return нет, а с ними вообще не работает. Без скобок ты возвратишь саму функцию toUppercase, а не результат. А андефайнед потому что это toUpperCase, а не toUppercase
>>2478570 Веслал почти всё время в саас энтерпрайзе. Это решения компаний для внутреннего использования сотрудниками. На стили было в разной степени похуй и я занимался логикой. Если проект ориентирован на внешних клиентов - там будет много задроча с css.
>>2478593 >>2478644 Не то. Я ожидал,что проблема из-за ошибки в компоненте с инпутом, что морально позволило опустить остальной код, но, оказалось, дело в том, что реальный компонент объявлен внутри родителя (хук useRoutes) и получает search и setSearch из него неявно.
>>2474693 (OP) Это вообще норм что я по пол дня сижу над всякими задачками на алгоритмы? Хз как буду проходить собес, когда за 10-15 минут надо накодить рабочее решение и тебя ещё вдобавок обоссут за говнокод.
Как, все же, отражать весь ввод сразу в юрлке? Думал, раз при setSearchParams в onChange слетает фокус, а при его смене в useEffect на уровне инпута бесконечный цикл, то при переносе useSearchParams на родителя будет работать - но нихуя. Видимо, это считается за изменение состояния родителя и приводит к ререндеру его и инпута.
>>2479271 Элементы находятся на одном уровне, там контекст не должен играть никакой роли. Причем элемент с меньшим индексом находится ниже. Я бы не спрашивал просто так.
>>2479217 >Он же не может запускать код по изменению элемента. Друг, хватит страдать хуйней. Тебе надо установить значение инпута ОДИН раз при первой загрузке формы, далее только менять урл.
>>2479471 ДЕЛАЕТ ФУНКЦИЮ СКЛАДЫВАЮЩУЮ АРГУМЕНТЫ @ ДВАЧ А КАК ИНИЦИАЛИЗИРОВАТЬ ПЕРЕМЕННЫЕ ВНУТРИ ФУНКЦИИ ПРАВИЛЬНО @ В ФУНКЦИИ ВООБЩЕ ПЕРЕМЕННЫЕ НЕ НУЖНЫ @ Я ДУМАЛ ТУТ СПЕЦЫ СИДЯТ
>>2479474 >>2479471 Сейчас мы с вами в прямом эфире разберемся с этой задачей как профи. Смотрите сюда:
Сначала нужно какую-то музыку поставить, чтобы все как у про было. Я запускаю продиджей. Мне кажется, что именно их слушали те самые профессиональные программисты Далее включаем IDE. У меня под рукой только webstorm
LdaSmi - Load an integer literal into the accumulator as a Smi Ldar - Load accumulator with value from register
То как это интерпретируется внутри v8 - пикрил
Уже можно сказать, что разницы между let, var и конст на уровне интерпретатора нет, но от объявления параметра в функции они отличаются. Офк, все в конечном итоге сводится к работе с регистрами, но можно точно сказать, что это и не let и не var
>>2479498 Дальше копать лень. Давайте итог подведем:
let и const - это всего лишь синтаксический сахар над var. Где-то на уровне выше того, который мы рассматривали, есть логика, которая AST обрабатывает и проверяет на то куда там и как выходит или не выходит переменная. В этом смысле они, конечно, разделяются между собой, но в конечном итоге все сводится к LdaSmi коду
Далее, непосредственно вопрос, который был задан выше: параметр в функции - это let или var? Ответ: это и не let и не var. Это параметр функции, который имеет отдельную логику обработки
>>2474693 (OP) Здравствуйте, уважаемые! Скажите, в JS есть вариант сразу найти работу/подработку на удалёнке/фрилансе на 4-5 часов в сутки? По деньгам достаточно минимума, важна именно минимальная длительность рабочего дня.
>>2479483 >>2479495 >>2479498 >>2479511 Я тот, кто задал этот вопрос. БЛАГОДАРЮ ЗА ОТВЕТ! Теперь стало понятнее и хотя бы понял, в каком направлении копать, если далее возникнут подобные вопросы.
>>2479672 на, за 5 минут накидал что-то вроде работает document.querySelectorAll('.post__refmap').forEach((p) => {if(p.children.length < 3) p.closest('.post').remove()})
>>2480193 Вкатываться в конкретный язык программирования - моветон. Учи парадигмы программирования, паттерны и алгоритмы. Тогда будешь переключаться между языками как сумасшедший
А выучить синтаксис языка (который на 90% поход на все то, что ты уже встречал ранее) или прочитать документацию по фреймворку, чтобы сначать с ним работать, это максимум неделя времени
>>2480195 >Учи парадигмы программирования, паттерны и алгоритмы Анон, я это всё и так делаю. Цель максимально быстро найти работу, дальше перекатиться в интересующую область. >>2480194 Братишка, 1с оставлю для тебя. Тебе меньше конкурентов.
>>2480237 Зря ты так. Весь твой скепсис насчет 1С построен только на том, что он не распиарен инфоцыганами так, как жопаскрипты с питонами. Но по факту на нем работа будет всегда, чего не скажешь о модных технологиях, которые теперь уже не особо нужны.
>>2480237 > Цель максимально быстро найти работу 1. Находишь интересующую тебя вакансию 2. Дрочишь до умопомрачения то что там указано в требования 3. … 4. Вы приняты
А спрашивать на двача что учить - это кринж, конечно
>>2480295 >Весь твой скепсис насчет 1С построен только на том, что он не распиарен инфоцыганами Что ты забыл в этом треде? Пиздуй в БД бухучёт исправлять.
>>2480334 Я учу vue и слышал, что есть nuxt для серверного рендеринга или генерации статики. И мне интересно какие приложения делаются чисто на vue как SPA без применения nuxt в реальной жизни. Вот как я понимаю админки вполне себе как SPA работают и серверный рендеринг там не надо.
>>2480328 >2. Дрочишь до умопомрачения то что там указано в требования >3. В требованиях фреймворки-однодневки, нигде больше не встречающиеся в вакансиях для ждунов >4. ... >5. Вакансия закрывается на этапе прочтения трети доки по фреймворку >6. Вкатываешься в Битрикс, довольно урчишь
Пацаны, помогите плиз понять логику редакса без самого редакса, на голом ЖС. Может кто пожалуйста на функциях написать простой пример, скажем каунтер с начальным стейтом 0 и прибавляющий и отнимающий по 1 числу. Чтобы на одной странице без html и либ различных. Ну или скинуть ссылку где это показывается.
>>2480509 Redux, с точки зрения кода — это объект, внутри которого лежат данные. Он используется остальными частями приложения для их хранения, изменения и извлечения. В простейшем случае для решения подобной задачи подошел бы и обычный объект JavaScript.
Но такой подход не позволяет отслеживать изменение данных. Если какая-то часть приложения изменила их, то мы об этом не узнаем, а значит не сможем отреагировать, например перерисовав нужную часть экрана. Redux решает эту проблему. Изменение данных внутри контейнера порождает события, на которые можно подписываться и выполнять произвольную логику (обычно перерисовку экрана). Достигается это за счет того, что данные внутри Redux изменяются не напрямую, как в случае обычного объекта, а через указание "действий" (actions).
Единственный способ произвести изменения состояния в хранилище — это передать/отправить действие (action) в функцию dispatch. Действие — обычный JS-объект, в котором присутствует минимум одно свойство — type. Никаких ограничений на содержимое этого свойства не накладывается, главное, чтобы внутри контейнера был подходящий ему обработчик (в switch).
Сам процесс изменения состояния описан внутри контейнера, а снаружи мы лишь говорим, какое изменение необходимо выполнить. Этот подход резко отличается от того, как мы делали в React, где чтение состояния и его обновление находится снаружи.
>>2480538 Спасибо, я это понял в теории. И на практике тоже с самим редаксом. Мне бы реализацию увидеть на простом примере и голом ЖС без самого редакса, чтобы понять как это реализовано. Мне говорили что редакс это чисто паттерны функционального программирования. Вот и хотелось бы увидеть это на голом ЖС
>>2480629 Три принципа Подведём итог. Что главное в Redux:
Single source of truth — используя Redux, мы работаем только с одним контейнером на приложение. Это одно из ключевых отличий от Flux-архитектуры. Всё состояние в одном месте. State is read-only — данные меняются только косвенно, используя функциональный стиль. Changes are made with pure functions — внутри хранилища можно использовать только чистые функции. Тут правила даже строже, чем во Flux, так как не позволяется использовать даже Date.now() и ему подобные функции, которые хотя и не обладают побочными эффектами, но все же являются недетерминированными. Все подобные вызовы должны делаться до вызова dispatch (подробнее об этом далее).
>>2480630 Начальное состояние Выше упоминалось, что начальное состояние задаётся в определении редьюсера:
const reducer = (state = 0, action) => { / ... / } Но часто этого недостаточно. Данные могут прийти из бэкенда и их нужно прогрузить в контейнер перед началом работы. Для этого случая в Redux есть особый путь:
const store = createStore(reducer, initState); // @@redux/INIT Redux посылает специальное действие, которое нельзя перехватывать. Если редьюсер реализован правильно и содержит секцию default в switch, то контейнер заполнится данными из initState. Пример:
const reducer = (state = 0, action) => { switch (action.type) { case 'INCREMENT': return state + 1; case 'DECREMENT': return state - 1; default: return state; } };
const store = createStore(reducer, 100);
store.getState(); // 100 В коде выше, функция createStore вызовет редьюсер так: reducer(100, '@@redux/INIT'). Затем выполнится ветка default и состоянием контейнера станет число 100.
Блять аноны, есть возможность релокейта по работе, но учусь на 4 курсе, жалко три года проебанных, но и страшно что закроют и не выпустят. Что делать то
>>2480676 Что за специальность? Если около CS, то нормальный ли диплом? Выдадут копию на английском, достаточно ли кредитов для перезачет его и тд. Если нет - смело вали и даже не думай. Иначе - хуй знает, даже в вакансиях с jQuery есть пункт "bachelor degree".
>>2480676 Чел, что лучше: корка мухосранской шараги, которая нах никому не нужна вне этого Мухосранска, или гарантированная жизнь, причём в капиталистической стране? Ну я хуй знает.
>>2480705 >вуз довольно мухосранский >про кредиты хз Иди узнавай про кредиты в Болонской системе, конвертируется или нет, сколько их будет и посмотри сколько должно быть по основным предметам. Если не перезачитывается - уезжаешь, не говорят внятно - уезжаешь, впадлу узнавать - уезжаешь.
Тут уже наверное все как и я из РФ/Украины/Беларуси съебали. Скажите, где фронтовые вакансии смотрите, а то ощущение что хайп на жс прошел давно, а я даже не насладился сотыгами.
>>2480676 Смело уезжай. Диплом хорош, когда это топ вуз и топ специальность. В крайнем случае потом купишь корочку синергии если хочется формально иметь хоть какой нибудь диплом. Но по факту везде ценят опыт и знания/скиллы.
>>2480621 >>2480629 >>2480630 >>2480634 Спасибо большое. Только один неясный момент. Почему бы диспатч в createStore не определить как возвращающую функцию? dispatch: action => state = reducer(state,action))
Здрасте, я хочу изучить NuxtJS. Как считаете, пойдет ли для прочтения книга Hands-on Nuxt.js Web Development 2020 года? Как думаете, 2020 год нормально, или слишком старая книга?
>>2481081 Хз, зная как в реакте упростили жизнь хуками то не задумываясь сказал бы redux toolkit. Но сейчас изучаю его и всякие createAsyncThunk, createSlice и прочая параша еще более запутанными кажутся чем чистый redux. Поэтому забил хуй и без тулкита вкатываюсь
Господа аноны. Нахожусь на стадии активного трудового вкатываения в жс. Приобрел книгу "jQuery в действии" Б. Бибо. Посоветуйте еще чего-нибудь полезного, в частности для разработки PWA приложений
>>2481411 Бля а где можно за минимум времени поизучать? Уже тайпскрипт освоил с реакторедаксами и нодами (ясное дело на уровне нуба но ютуб клон какой могу сделать на этом стеке) а в верстку так и не научился.
>>2481395 >Нахожусь на стадии активного трудового вкатываения в жс. Приобрел книгу Оййй бляятт, уууоойй блять, только не говорите ему. на скрине суть, на других стеках почти сейм, 400 челов на 1 место
Что со мной не так нахуй? Я не могу писать код. Вернее я его успешно пишу, но просто ужасно медленно. За день сверстал меню (плашку сверху) и меню которое выплывает сбоку по клику. Все. Я не прокрастинировал, я честно весь день писал код, и это все чего я добился, простейшая логика и менюшка плавно выезжающая сбоку. Пиздец блять. Я этой хуйней 2 года занимаюсь, как начать писать быстрее? Я просто понять не могу блять.
>>2481700 Так я трудоустроен, я ебанутый что ли назад выкатываться? Просто я меееееееедленный, мне уже несколько раз замечание делали. Все думают что я хуи пинаю, а я работаю блять.
>>2481711 Я не могу блять. Я пишу код (разметку), потом верстаю (сразу делаю адаптивно, чтобы все красиво пиксель в пиксель с макетом), потом пишу логику, потом тесты, потом нахуй день кончается и я опять нихуя не сделал. У меня еще такая привычка дурацкая по 40 раз возвращаться к сделанной работе и проверять, все ли меня устраивает, можно ли где-то что-то сделать проще лучше и т.д.
>>2481724 Потому что очевидно проще сначала сверстать, а потом писать логику. Так проще, нагляднее, чем без верстки, чем со всратой версткой для теста которую потом переписывать. >>2481727 Да тут дело не только в перфекционизме, я просто думаю медленно что ли.
>>2481729 >Потому что очевидно проще сначала сверстать, а потом писать логику. Ага, а потом вся логика в императивном говне, потому что ты уже сверстал.
>>2481694 Когда было 2 года опыта было похожее. Сейчас я думаю, как решить задачу, когда лежу на диване или гуляю. Потом код писать быстрее получается. Ну и стоит послушать совет >>2481730 Если верстка ещё где-то нужна, юнит тесты на бойлерплейн не нужны.
Нужна возможность добавлять mp4, а не только картинки.
Создал src/pages/testvid.js по образцу с пика 2, и закинул тестовый видеофайл в нужную папку Это "кирпичик", который мы можем добавлять в файлы страниц.
Как теперь добавить его на страницу? Как-то нужно скопировать темплейт и сделать оверрайд? Установить аддон? Как-то иначе?
Сорян, если тупо спрашиваю или не даю нужной инфы.
>>2481432 >Смысл нуба брать, если можно хардовых челов набрать? У хардовых челов уже есть работа. А если вдруг и вывалится на рынок, то у него запросы адовые. Компании могут сколько угодно плакать, что джуны не нужны, но мидлов и сеньорит им никто не даст, тем более по дешевке.
Бля, аноны, кто шарит в Тайпскрипте? Такая проблема, там где надо типы простые JS типы прописывать, интерфейсы и дженерики там я более менее соображаю. Но вот когда специфичные готовые типы из либ всяких типа редакса то жутко тупить начинаю. Как это фиксить?
>>2482130 Но проблема не в попапах, а в типах либ, которые скатываются в ебанину с вагоном дженериков, у которых ожидаемый тип тоже из вагона дженериков состоит. Плюс тайпскрипт рекомендовал в прошлом однобуквенные дженерики, так что существует пласт кода, в котором нужно ковыряться в кишочках сигнатуры, потому что в попапе будет залупа уровня IZalupa<C, B, T>. Достачно сложные структуры очень сложно выразить без юнионов/интерсекшенов, а значит их нужно писать через типы заместо интерфейсов, что выливается во многоэтажные сообщения об ошибках в виде безымянного литерала.
>>2474693 (OP) Пацаны, как оперативно освежить в памяти современную вёрстку с чисто практической точки зрения? Сто лет с бэка не вылазил, нихуя не помню уже а тут всякие гриды да модные семантические элементы.
>>2482281 Гриды это цсс, к верстке не имеет отношения. Семантическую вёрстку никто не пишет, слишком сложна для мартышек, хуярят по старинке на дивах (некоторые даже батоны на дивах делают, лол). Вообще в плане элементарной веб-грамотности щас полный упадок и декаданс, так что лепи все на дивах, оборачивай каждый див во враппер-див на всякий случай, ну и ещё пару дивов в каждый контейнер вкидывай на случай, если филлеры понадобятся. мимо 6 лет варюсь в таком котле из петушиного поноса
>>2482281 >>2482290 Ах да, забыл добавить еще пару важных вещей, которым надо следовать, чтобы уверенно сойти за своего: - обязательно вставляй все картинки через <img> или <svg>. Чем жирнее получится HTML - тем лучше. Альт-атрибут всегда оставляй пустой или, еще лучше, пиши туда что-нибудь типа "image" или "pic". - старайся не использовать для форматированного текста тэги типа <h1..6>, <p> и т.д. Вместо этого делай все это дивами и обвешивай классами, аля <div class="red bold-600 underline-green font-size-14">. В идеале все стили у тебя должны оказаться внутри HTML, с отдельным классом на каждую css проперти и каждое ее значение. - всегда держи в уме, что лейауты в 2022 можно делать исключительно на флексах и гридах, поэтому все элементы попарно оборачивай в специальные врапперные дивы. - старайся использовать по максимуму новые фишки HTML5, такие как contenteditable. Если у тебя есть форма - сделай ее дивом, инпуты тоже сделай дивами с contenteditable="true". Сабмит-кнопку тоже сделай дивом. Ресет-кнопку старайся не использовать никогда. - если пришлось все-таки сделать форму на инпутах, никогда не добавляй инпутам лейблы. Вместо этого всегда используй placeholder. Рекомендую выбирать для плейсхолдеров максимально обобщенный текст вроде "Enter text", и задать цвет текста плейсхолдера как можно ближе к фоновому цвету. - заранее думай обо всех возможных девайсах и навешивай соответствующие классы на все элементы. Аля <div class="xs-3 md-4 lg-6 xl-12"> - рекомендую помещать <meta charset="utf-8"> как можно ближе к концу HTML документа.
>>2482281 Никому твои гриды нахуй не нужны, все юзают максиму бутстрап сетку и то это продвинутые. Все остальные ебашут дивы и флексбоксы и знаешь что? Это практично и быстро. Освой флексбокс остальное хуета.
Продолжаю ньюфажествовать. Удалось засунуть своё видео вверх страницы. Но не удалось найти функцию, которая собирает картинки из папки.
>>2481927 1) поподробнее можно? я так по одной строчке не пойму куда двигаться. что именно нужно заменить? в проекте сейчас нет плагина gatsby-plugin-image и плагина для видео, но видео вроде и так работает
>>2482302 Это настолько же практично и быстро, как вытирать жопу пальцем и потом его облизывать. Один сплошной профит: быстро, не надо тратиться на бумагу, руки мыть не надо, воду не тратишь.
>>2482307 Наврал. gatsby-plugin-image есть. Но дальше опять затык. Эдитор направил в декларацию, а где само тело функции? VSCode больше никуда не может прыгнуть отсюда.
>>2482307 >>2482316 Чел, никто не будет вникать в твою хуйню и бежать помогать тебе на каждый пук. Учись самостоятельно разбираться в проблемах, пригодится в профессии.
Дано: - темплейт (пик 1) - который берет кучку картинок в папке (пик 2) - и маркдаун файл (пик 3) - и генерит из неё страничку (пик 4)
Нужно: чтобы можно было закинуть в эту папку еще и видео, и оно подхватилось и как и картинка.
Что я пока безуспешно пытаюсь сделать: найти место, которое нужно модифицировать, чтобы в массив попадали еще и видео. Тут затык, так как я не понимаю, где оно собирает файлы, нужно ли это делать через некие конфиги или шейдинг файлов.
>>2482301 >- заранее думай обо всех возможных девайсах и навешивай соответствующие классы на все элементы. Аля <div class="xs-3 md-4 lg-6 xl-12"> Вокруг этого аж целый фреймворк сделали, который требует больше ёбли для установки и поддержки, чем бутстрап, но при этом более костыльный и ограниченный, чем бутстрап. >>2482315 Тащемта недостаточно практично, можно жопу напрямую лизать.
>>2482336 Темплейт ничего не берёт сам, он только принимает массив с контентом и маппит во вьюху. Смотри на пропсы, которые ты кидаешь в темплейт, смотри, откуда оно берёт data.images.nodes.
>>2482191 Однобуквенные дженерики, особенно когда их несколько, это вообще пиздец, таким мудакам надо отрывать руки и засовывать в жопу ладонью внутрь. Насмотрятся блять в какой-нибудь JDK и тупо копируют, ебучие каргокультяпки.
есть модальное окно, которое должно закрываться по ескейпу но не закрывается сука, какого хуя в консоли я вижу свою функцию но она какого то хуя не вызывается эта же функция на кнопках работает норм
Прошел тутор Gatsby в 7 частях, маломальски привык к структуре проекта, и нашел graphql запросы, закопанные в отдельной неприметной папке. Теперь видеофайлы автоматически подхватываются из папок, как я и хотел.
Есть во такая кривулина в макете на figma. Как ее лучше перенести в проект? Она должна быть внутри блока, перекрывать часть фона и на ней будет надпись. Сама она как есть весит аж 5 мб, думаю, вставлять ее картинкой будет хуевой идеей.
>>2483840 > Сама она как есть весит аж 5 мб, думаю, вставлять ее картинкой будет хуевой идеей. И тут ты, конечно же, сразу подумал про svg. И что надумал?
Есть одна программа, для которой можно писать скрипты на луа. Хочу приложение на ноде чтобы оно могло взаимодействовать с этой программой через апи для луа. Как это реализовать? Я нагуглил что для взаимодействия между программами есть named pipes, как я понял, это просто поток, куда одна программа может писать, а другая читать. Будет тогда два пайпа, пусть в один луа пишет, в другой нода, ну и типа вот. Или лучше просто сделать сервер на локалхосте через LuaSocket и так взаимодействовать?
>>2484364 Я ничего из этого не знаю, я только в реакт с недавних пор пытался вкатиться. А с файлом поди будет медленно, скорость не то чтобы пиздец нужна, но достаточно критична. >>2484365 Неа
Вот есть апаче, nginx с ними всё понятно. Но нода без этого может работать. Как засетапить сервер на ноде? Ну я знаю, что если покупаешь сервак, то там можно выбрать типа у тебя среда для ноды будет и он автоматически всё сделает. А вручную как это выглядит? Допустим у меня есть удалённый сервер. Заливаю файлы через ftp, через ssh подключаюсь и прописываю npm start, правильно? А если сервак крашнулся как сделать чтобы он автоматом стартовался?
В обучалке внутри реакт фрагмента ставят div со стилями. Разве можно стили внутри фрагмента прописать? А то у долбана с ютуба получается, стили работают, а у меня нет.
>>2484444 фрагмент нужен чтобы не было лишних divов (т.е. return должен возвращать 1 див и если это будет фрагмент, то он не отрендерится). inline-стили можно прописать для тестов, но прописать стили там дохуя вариантов можешь не заморачиваться, у тебя не работает мб потому что ты ошибся где-то
>>2484458 Зачем тебе фрагмент, если внутри всё равно див, который содержит в себе всё остальное? >у долбана с ютуба получается Принеси видео, самому интересно.
>>2484457 Testing library https://testing-library.com/. И то, стараюсь максимально отмазаться от тестов на фронте. Люди ради покрытия тестируют экшены/редьюсеры, меня от этого уже блевать тянет.
>>2484779 Имею в виду, можно ли сделать сравнения просто через значения i, не передавая их в переменные const current = numbers; const previous = numbers[i - 1]
У меня в коде написаны функции и я хочу в дебаггере смотреть что делается внутри них, но дебаггер, когда доходит до функции просто показывает рядом с вызовом результат.
Мне код надо как-то в простыню развернуть чтоб посмотреть все шаги или как это сделать?
>>2482302 >Никому твои гриды нахуй не нужны, все юзают максиму бутстрап сетку и то это продвинутые. Пиздец, что за хуйню я прочитал. Гриды тебе почти всю адаптивность делают автоматически без запросов и сложные композиции ты без них вообще хуй сделаешь.
>>2482315 >Это настолько же практично и быстро, как вытирать жопу пальцем и потом его облизывать. Один сплошной профит: быстро, не надо тратиться на бумагу, руки мыть не надо, воду не тратишь. Двачую.
>>2484845 Если одно из значений одного интервала лежит между значений другого интервала, то берутся крайний значение из обоих интервалов и создаётся новый интервал из их крайних значений.
>>2484869 Может, новое значение неверно задано? Нужно сделать так, чтобы прошлые не добавлялись, то есть заменить в сумме 2 значения на одно новое или несколько.
>>2484877 >Нужно сделать так, чтобы прошлые не добавлялись, то есть заменить в сумме 2 значения на одно новое или несколько. Я уже неделю думаю как это сделать.
Посоветуйте какой-нибудь гайд про ноду (ну и вообще про бекенд). Чтобы там про че за сервер, че за клиент, кто такой этот ваш сокет и как обычно все это делают. А то на сайте ноды только "ну вот так можно сервер с хелло ворлдом сделать, а теперь читайте апи референс с миллиардом всего". Желательно текстом, а не видео.
>>2474693 (OP) Здравствуйте. Посоветуйте каким костылем заменить бэкенд на учебном проекте. Вроде бы Firebase неплох, но сложилось впечатление что для его использования необходимо перечитать кучу документации. Может быть есть варианты побыстрее и попроще? Желательно бесплатные.
Интересно как в ноде всякие мидлвары используются. Их можно чуть ли не бесконечно пропихнуть в функцию и они передают действие от одной мидлвары другой через next(). Как подобную логику на чистом JS реализовать можно без фреймворков?
>>2485225 JSON.parse() для парсинга джейсонов в целом. response.json() парсит только тела ответа. >>2485249 Если ты про экспресс, то нихуя не бесконечные и никакие там действия не "передаются". Если не заметил, то у всех колбэков одинаковая арность, и даже у сраного обработчика ошибок присутствует req, res, next в аргументах. И все действия заключаются в мутации аргументов req и res.
>>2485280 >>2485225 >>2485221 Поясните, плиз. Вот я понимаю, что JSON - это стандартный объект и документацию к нему можно в любой доке по js увидеть что такое тут response? Это то, что возвращает fetch или что?
>>2485451 Да, это понятно, но что скрывается под этим именем - это уже большой вопрос. Я все еще рассуждаю в контексте изначального вопроса >вызов метода на ответе от сервере response.json() и JSON.parse() это не одно и тоже? в чем разница?
JSON.parse() как минимум принимает аргумент, а response.json() - нет и единственное ли это различие или нет, неизвестно. Может он какие-то екзепшны кидает или наоборот нет. Вот к этому я и веду, что надо смотреть исходники конкретной реализации
>>2485408 >JSON - это стандартный объект JSON это формат сериализации, а также класс в жс со статическими методами. >что такое тут response Открываешь доку экспресса и смотришь. >>2485572 Ты блять вообще про какой контекст говоришь, браузерный или серверный, наркоман? С такими тупыми вопросами тебе только на фронт пиздовать.
>>2485578 >JSON это формат сериализации, Ну это очевидно. Не души
>а также класс в жс со статическими методами. Не класс, а объект. И в чем смысл уточнять, если ты и так понимаешь о чем идет речь?
>Ты блять вообще про какой контекст говоришь, браузерный или серверный, наркоман? Все мои посты - это попытка выяснить о каком именно инструменте идет речь, который возвращает этот "response". Потому я и написал в самом первом посте, что надо плясать от того, откуда он приходит.; Тот же expressjs тоже возвращает response и что, это автоматически будет значить, что он возвращает это >https://developer.mozilla.org/en-US/docs/Web/API/Response
>>2485582 >Не класс, а объект. Откуда тогда у этого "объекта" статичные методы? >https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON#static_methods >И в чем смысл уточнять, если ты и так понимаешь о чем идет речь? Проблема в том, что ты нихуя не понимаешь. >Все мои посты - это попытка выяснить о каком именно инструменте идет речь, который возвращает этот "response". Ты так и не назвал контекст в котором этот response вызывается.
>>2485595 >Откуда тогда у этого "объекта" статичные методы? Расскажи лучше почему конструкция let foo = new JSON() не будет работать
>Проблема в том, что ты нихуя не понимаешь. Объясни
>Ты так и не назвал контекст в котором этот response вызывается. Я прямым текстом написал, что я этот контекст их хочу выяснить. Как я могу его назвать, если я его не знаю?
>>2485601 В том, что статичные методы имеют смысл только в контексте классов. >>2485612 >Расскажи лучше почему конструкция let foo = new JSON() не будет работать Потому что у него нет конструктора. >Я прямым текстом написал, что я этот контекст их хочу выяснить. Как я могу его назвать, если я его не знаю? Ты ебанутый? Контекст браузерный или серверный?
Сап. Помогите ньюфагу. Вообще бэк изучаю, но решил тут прикрутить какой-нибудь фронт для него. Решил использовать вьюжс. В общем, у меня все страницы рендерятся в диве в главном компоненте, я добавил к этому диву класс section (использую bulma, этот класс типа делает padding) и на всех страницах есть такой отступ, он мне нравится, но я бы хотел чтобы его не было на главной страцице, то есть только в одном view чтоб это правило не работало (я сделал для главной страницы типа картинку фоновую и хочу чтоб она была на всю ширину и высоту). Это можно как-то сделать? Или не надо было так делать и надо добавлять этот паддинг для каждого вью отдельно? Типа воздействовать из компонента на css родителя?
>>2485740 Ну хз это особенность вью или нет, но у него в компонентах можно писать style scoped и тогда css применяется только для этого компонента, а не вообще ко всему сайту. Вот я и подумал, мб можно как-то обратиться к родительскому компоненту из scoped. Типа чтоб только при открытии этого компонента менялся класс родителя.
>>2485710 >Потому что у него нет конструктора Класс у которого нет конструктора? Ты уверен?
>Ты ебанутый? Контекст браузерный или серверный? Так это ты ебнутый, лол. Анон задающий вопрос выше должен это уточнить. Я тебе уже несколько раз сказал, что я не знаю о каком response идет речь
>>2485810 >Класс у которого нет конструктора? Ты уверен? Легко, так как конструктор - всего-лишь поле объекта. >Так это ты ебнутый, лол. Анон задающий вопрос выше должен это уточнить. Я тебе уже несколько раз сказал, что я не знаю о каком response идет речь Хули тогда ты у меня спрашиваешь, уточнятель хуев?
Хватит спорить о какой-то унылой срани. Если вам так важно, то откройте стандарт (а лучше старый, который es5, где классов вообще нет, а жсон есть)
> 18 ECMAScript Standard Built-in Objects > There are certain built-in objects available whenever an ECMAScript Script or Module begins execution. ... > 25.5 The JSON Object > The JSON object: > > is %JSON%. > is the initial value of the "JSON" property of the global object. > is an ordinary object. > contains two functions, parse and stringify, that are used to parse and construct JSON texts. > has a [[Prototype]] internal slot whose value is %Object.prototype%. > does not have a [[Construct]] internal method; it cannot be used as a constructor with the new operator. > does not have a [[Call]] internal method; it cannot be invoked as a function.
>>2486029 >хз что на мдн имели ввиду Скорее всего они сами не поняли. Но если за этим правда есть какое-то обхяснение, это было бы интересно выяснить. На собеседовании таким кинуть в работодателя, он охуеет и сразу возьмет на работу
>они не понимают разницу между жс и ес Жс лишь одна из имплементаций ес, как акшонскрипт, который был во флеше. Имплементация не обязана полностью следовать стандарту, на котором основывается. Жс дрисня не только потому, что имплементирует ес через жопу, но и потому, что в собственном стандарте у него противоречия между легаси из палеозоя и свежими фичами, принятыми в стандарт и описанными на мдн/в3.
>>2486035 Не возьмёт, просто зачтёт тебе тему, и только если сам знает, о чём ты говоришь. На собесах нужно, чтоб мдн и дока нужного фреймворка от зубов отскакивали, даже если просто зазубришь без вникания.
>>2486121 >На собесах нужно, чтоб мдн и дока нужного фреймворка от зубов отскакивали, даже если просто зазубришь без вникания Спорно. Дока на то и дока, что нужно уметь ею пользоваться, а не учить наизусть. Меня на текущее место работы взяли исключительно проверив знания базы типа алгоритмов, паттернов, структур и ванильного JS, когда как уже на рабочем месте используется TS + несколько узких либ
>>2486142 Когда как, на самом деле. Могут не дойти до теории на собесе вообще, просто дать задачки порешать, а могут наоборот, целый этап выделить только на теорию. Во втором случае чаще важнее отвечать по доке, чем объяснять своими словами. Но самый гумоз это когда начинают гонять по легаси ебаному, которое лет пять, если не больше, никто не использует на практике.
Более менее понял как реализовать логику редакса на голом ЖС. Но как быть если редюсеров может быть от 1 до бесконечности? Как тогда можно реализовать эту логику?
>>2485999 Но зачем, когда можно сраться по семантике каждого отдельного билтина разной степени древности? Между нодой, ДОМом, екмаскриптом и тайпскриптом, контента ещё на пару сотен тредов. >>2486035 Есть конечно объяснение, этот "объект" был добавлен в спеку и реализован во времена, когда "классы" в жс писали только извращенцы, через функции-конструкторы. По факту он используется как статичный класс.
Блин, парни) как всё таки запустить через скрипт на google.com смену языка? document.documentElement.lang = 'ru' меняет, но ничего не происходит, а location.reload() всё сбрасывает.
>>2486381 1. Юнит-тесты - это про тестирование какой-то отдельной, изолированной сущности. Например, функции конвертации чего-то, которая чистая и сама в себе
2. Если ты в коде сервиса просто перекладываешь параметры в запрос и отправляешь их дальше без какой либо обработки, то это не надо тестировать (ну или это уже не юнит тесты)
Расскажи какую проблему ты решаешь написанием тестов для сервиса. Тогда будет понятно что выбрать надо
>>2486370 >Классов в js все ещё нет, гений. Это синтаксический сахар над все теми же функциями-конструкторами Давай расскажи ещё про синтаксический сахарок в контексте обсуждения семантики.
Аноны, помогите пожалуйста. Вот есть функции добавления массива информации. Дальше он перегоняется в json строку. И при отправке запроса выходит вот эта ошибка. Я так понимаю, что перезаписывается какая-то константа, но не вижу где.
>>2484845 >>2485013 Такую хуйню за часик написал. Только вот тесты производительности чо то не проходит. function sumIntervals(intervals) { const a = [] const b = [] intervals.forEach(item => { a.forEach( (temp, index) => { item = overlap(item,temp,index,a) }) a.push(item) }) // тут можно как нить рекурсивно или через функцию сделать чтобы пересечения среди пересечений вычленить, лень было a.forEach(item => { b.forEach( (temp, index) => { item = overlap(item,temp,index,b) }) b.push(item) })
>>2486545 Экстрасенсы в отпуске, ты скинул только функции в которых ничего криминального не происходит. Алсо переписал бы на класс с методами, дёргать внешнюю переменную в функциях такое себе.
Смотрю курс Абрамова по редаксу. Он показывает как сделать простой стор на JS. Он ебанутый? Если я вызову store.getState перед диспатчем там же будет undefined.
Кто-нибудь шарит за васм? У меня есть программа на фортране (расчеты хуйни, старше меня), хочу запихать её в браузер. Подскажите куда копать, а то у меня уже голова болит от каких-то компиляторов, хуяторов, пишут что вот гцц и вот бекенд из ллвм, я ничего не понимаю, половина этой хуйни ещё и для линукса, как её у на винде то запустить вообще. Я gfortran то себе с трудом поставил.
>>2486843 >половина этой хуйни ещё и для линукса Сына-сычина, хватит играть кудахтере, пора ставить GNU Linux и начать за кудахтером работать. На крайняк купи мак
>>2486687 У тебя в первом случае в цикле может использоваться i как индекс, например, text. text из первого случая === i из второго случая. Поэтому когда ты просто переписываешь на for of, ты, условно говоря, в цикле дёргаешь не "строка"[4], а "строка"["к"].