Это копия, сохраненная 20 мая 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Старая паста, частично устарела - https://pastebin.com/9yRADC0s
Возвращай массив или обьект
пишешь для каждого значения по функции
Вызови функцию два раза.
Почему
Какую вложенную, наркоман? Если первый вызов возвращает функцию, то 5 пойдёт аргументом.
потому что у кантора эта глава объяснена как предисловие к промисам
Объясните плиз как сделать в VS Code фишку, когда половина экрана - VS Code, а другая половина - браузер, чтоб можно было сразу видеть результаты своей писанины?
>Да, они мне ConfigurationFactory тип не запилили. А @types сделали.
Ты поехавший ставить отдельный пакет ради одного генерик интерфейса? Ещё и вебпаковские типы удаляет, одна история охуительней другой просто.
Потому что у всех по-разному. Плюс многое зависит от того, насколько быстро ты найдешь ту методигу обучения, с которой ты максимально быстро будешь обучаться.
это типа если нажать над или под элементом?
> не ограничивая кол-во символов
все равно ограничивай чтоб тестировщикам сложнее жилось и они туда lorem ipsum не пихали
логично
Надо версию приложений туда вписывать, а там неизвестно скок цифр будет , может 0.0.1 а может 103.5489.9038737378 , надо как то сделать, хз как , плачу в углу :(
Он просто запускает страницу в браузере, но нужной магеи не происходит.
console.log('List: + ${key} +" "+${user[key]}' );
}
где ошибка?
Парни, как замутить подобное: сделать так чтобы некое окно для ввода сообщения увеличивалось при вводе текста для того, чтобы видеть весь набранный текст
(на ванильном жс)
так блин, а почему он обращается к объекту this вместо объекта Event который должен передаваться как аргумент функции-хендлера?
хотя тут жкьюри юзается, это уже о многом говорит
Потому что хэндлеры событий выполняются в контексте элементов, на которых они произошли. И жквери тут не при чем - это ванильное поведние.
Хотя то, что ты этого не знаешь, о многом говорит.
>какая разница между onfocus и onmouseover?
>>62944
>The click event is raised when the user clicks on an element. It fires after the mousedown and mouseup events, in that order.
>это типа если нажать над или под элементом?
>>62998
>console.log('List: + ${key} +" "+${user[key]}' );
>где ошибка?
Можно покидать тред. Зекач всё.
Какой-то залетный петух-вкатун оттаял по весне, и уже поджог твое очко. Правильно вали, нам тут такие слабозадые не нужны.
Счастливо оставаться!
Это вообще другим умным словом называется: каррирование (очередная калька с английского currying).
Ну а замыкания – техника языка, хуй знает что конкретного тыт ту хочешь знать.
Незнаю, я их прототипы не смотрел. Получается call дает this второй функция которая замыкает?
>Незнаю, я их прототипы не смотрел.
А своей головой ты думать не обучен, выходит?
было время, когда в стандартной библиотеке не было ни bind ни call ни даже apply, и мы их имплементировали вручную. И что бы ты делал?
1. keyup/keydown в инпутах юзать нельзя, только событие oninput
2. У этого клована окно расширится и если каким-то образом данные оттуда сотрутся (отправятся на бэк например и сотрутся), то высота останется прежней
Че агрессивный такой? Тебя палками пиздят, что бы ты как охранная собака на всех гавкал?
Ууух бля! Apply не имплеметировал, хуй не сосал, жизни не видал.
Нужен на Typescript, который считай уже стандарт.
function animate({timing, draw, duration}) {
Что за фигурные скобки внутри которых три переменных?
Это значит тобi пiзда.
> было время, когда в стандартной библиотеке не было ни bind ни call ни даже apply, и мы их имплементировали вручную.
Они еще до ес3 были даже, кого ты там вручную имплементировал?
Да я просто никогда не пробовал, а в вакансиях пишут про ооп - вот и решил, сделать калькулятор на ооп и посмотреть, вдруг это реально удобнее.
Пробуй, и так и так
ладно, сделал через функцию
эт jsx
>>62747 (OP)
Как мне сделать так чтоб по клику из моей функции-рендера, которая мапит мои обьекты, выбранный обьект переносился в другой компонент? Я пробывал в функции инициализировать стейт и просто класть элементы в массив из стейта, но тогда все очень медленно начинает работать
Почему написанная мной хуйня работает?
123/10 ~ 12
12/10 ~ 1
1/10 < 1
то есть, третьей итерации цикла уже не должно быть и, соответственно, i должно быть равно 2. Но в конце программы у меня получается нужное число.
Что происходит????
Заранее спасибо за ответ.
Нихуя не понял. Можно по-русски?
> Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
У вас там абзац устарел.
> Фрилансить версталой - гиблое дело. Да и вообще фрилансить без опыта работы - гиблое дело. Да и вообще фрилансить в 2017 - гиблое дело.
сделай пуллреквест на обновления даты
не помогай дауну
Как построить дачу?
Тебя до es3 не было?
В одном проекте увидел вот такое объвление прототипа для всех функций. Че-то не въезжаю что оно делает?
>var __method = this
Если мы обращаемся внутри function определенной в пототипе то что будет this?
608x342, 0:09
for работает без задержек, он проходит полный цикл от 1-до 10
после чего в работу идет таймер, он показывает то что отработал в конце цикл - 10, у тебя стоит таймер на результат цикла, а не на сам цикл.
Если хочешь что бы таймер работал на тело цикла - надо сам таймер обернуть в таймаут, учи матчасть и ваще пиздай кантора читать, там все написано
да.
>2021 год
Ты сейчас кекнешь, но на собесах тебя периодически будут спрашивать про var. Возможно даже такой же вопрос зададут
Да хуле там спрашивать.
Сколько не был на собесах всегда спрашивали про отличия var от let. Отвечал что у вар только функциональная и глобальная области видимости а у let глобальная и блочная.
Зумерок тут пару тредов назад загибал что его заставляют писать var в тех легаси-частях проекта где уже есть var. Он все копротивлялся и верещал о какой-то "битве" которую ему не выиграть. Это ты? Как сосется?
А откуда вкатываются? Слышал, что нодовик - это как правило бекендер, перешедший с другого языка (например Java), а вовсе не вчерашняя реакт-мартышка, которая захотела попробовать себя в бэкенде.
Я думал такие отморозки вымерли давно.
Вдруг меня заебет фронтенд и захочется что-то новое, но без дрочева с другими языками. На JS же можно все что хочешь делать, это очень удобно. Но это только на первый взгляд, на самом деле ты заперт в пределах профессии.
У меня этот вопрос был сегодня на собесе, но почему работает именно так я не понял. Вот и пришёл сюда.
Зачем на жс пишут бэк?
Расскажи как именно он работает без задержек. Пошагово. Когда что идёт в стек, в очередь задач. Когда задачи начинают выполняться. Куда и какое значение переменной i сохраняется. Ну ты понял.
Бандлер соберет твой говнопроект сам
Нихуя соби, нашел репетитора себе.
Учи сам, смотри ролики на ютубе, читай learn.java и ydkjs
Пока сам не разберешь, не поймешь
Ну подучи другой язык. Сам язык ты за месяц новый поучишь. Основная ебля пойдет с бэком а там что на ноде что в другой среде одинаково будешь ебаться и лишь сэкономишь месяц поскольку знаешь жс уже. Оно того стоит? Я считаю что нет.
function bgChange() {
alert('Menu');
}
h1.addEventListener('click', bgChange);
почему не работает?
Прочитай про block scope и function scope.
Если коротко то все вары в глобальной области видимости кроме тех что внутри блока {} функции. А let не выходит в глобальную область видимости если внутри любого блока {} будь то функция, объект, if или for
Ну просто это пиздец долго, надо пересмотреть кучу видосов и статей, где говорят одно и то же, но с разными нюансами. Я надеялся что кто-то здесь хотя-бы минимально может объяснить все по шагам.
Ну типа вызвали функцию а (на пике), в стеке глобал говно и эта функция. Переменная і поднялась, в ней undefined. Идём по циклу, на каждую итерацию в і идёт значение и планируется таск с текущим значением... Так по крайней мере выглядит. Но на деле всё не так, а как? Откуда в запланированный таск идёт значение переменной?
>Если коротко то все вары в глобальной области видимости кроме тех что внутри блока {} функции
Нет. man use strict & es modules
Я это понимаю, но мы ведь планируем таск с текущим значением, разве нет? Если нет, то на каком моменте в таск подставляется значение переменной, разве оно не замыкается?
Ты дальше прочитай
> где говорят одно и то же
Я просто пытаюсь заабузить местных анонов и найти ответ быстрей.
Ты пытаешься заучить, что 2 + 2 = 4, без всякого понимания почему.
Когда тебя спросят чему равно 2 + 5 ты.
Да что ты говоришь
The faulty assumption is that in strict mode all global variables are disallowed. Actually only undefined global variables throw an error.
Говорю, что ты тупой.
>module features are imported into the scope of a single script — they aren't available in the global scope
Кек. Не знаете принципов работы модульной системы js в 2021-ом? Мы вам перезвоним.
Вот именно что ты тупой. Изначально ты говорил про use strict. И выяснилось что это пиздеж и глобал скоуп есть в use strict. Едем дальше. Модули. Глобальная область видимости и там есть поскольку:
When a module system is enabled it’s harder to make global variables, but one can still do it. By defining a variable in HTML, outside any function, a global variable can be created
>>64069
Вот именно мы вам перезвоним кек
When a module system is enabled it’s harder to make global variables, but one can still do it. By defining a variable in HTML, outside any function, a global variable can be created
>Since the code is a module, not a script, all the declarations will be scoped to that module, not globally visible across all scripts and modules.
Вместо свелте солид. Официально.
/*
Дезинфекция?
Открой спеку и почитай.
Написано же, жожаскрипт. Скрипт. Скриптовый язык программирования. Скрипты. Что тебе непонятно?
Репл.ит, нашел.
Птушо массивы (как и объекты) не равны друг другу, даже при одинаковом содержании.
https://yandex.ru/dev/maps/jsapi/doc/2.1/ref/reference/borders.load.html
Новенький апи Яндекс карт
Примеры даны с var)
Ну, где эти зумерки что вечно ноют что "var никрасива нимодна!"?
== и === при сравнении объектов в js проверяет являются ли они одним и тем же объектом а не сравнивают одинаково ли их содержимое. Для этого есть deepEqual из lodash
<script src="https://zalupen.com/src"></script>
(zalupen.com это другой ресурс) Если при исполнении этого внешнего скрипта падает какая-то ошибка, то как мне ее перехватить?
Это тот яндекс чей говнокод уже стал мемом? На вот почитай как человек охуевал когда писал для апи яндекса библиотеку
https://habr.com/ru/post/462607/
>Да там чухонцы одни в этом Яндексе! Сброд пидорасов, кто вообще туда пойдет?
>Да Гугол ваш это кибергулаг ебаный, там пидорасы да BLM одни, нахер их
>Microsoft - подсосники Гейца, пусть Виндой своей сами обмазываются, 2021 год на дворе кому они нужны?!
>Пейсбук ибаное гавно на похапэ написанное! Даже если оффер мне дадут, пошлю их нахер!
>"Pro Massive BioTech Enterprise (ИП Дрищукин) ищет молодых амбициозных программистов к себе в стартап! Оплата сдельная, первые 2 месяца работаем за идею, потом как получится!" БЛЯ ВОТ ЭТО Я ПОНИМАЮ ПЕРЕДОВЫЕ ТЕХНОЛОГИИ!
Нет варианта настроить так, чтобы я мог переключаться между этими задачами (HTML и Python) и у меня настройка конфигурации от одной не цеплялась к другой.
Или надо всё таки каждый раз папку менять когда хочу поменять "платформу"?
То есть, у меня конфигурация запуска для питона и HTML одновременно не хранятся, они перезаписывают друг друга.
Settings > Workspace
Есть дохуя конторок вроде Evil Martians, которые нормальный код релизят и беспокоятся над качеством кода. Еще и руководства выпускают в паблик и опенсорс двигают. И зарплатка там 5-8к изи будет.
Яндекс, гугл и прочее дерьмо - днина без этических убеждений и работают там пидорасы буквально.
Вроде через Ctrl + R выводит список. Вполне удобно.
Тебя курсануть?
Ай не пизди, так про что угодно можно спиздануть. Базовые знания всё равно откуда-то нужно получать
Какая разница, что там в примерах, вар никто не юзает, что ты пытаешься доказать? Что нужно вар использовать? ты долбоёб что ли сука
Через второй аргумент connect'а mapDispatch, сначала ты импортиш акшонкреатор через import потом передаешь его в mapDispatch, далее компонент уже получает "пережеванный" редаксом твой ac, через пропсы
А как ещё собираешься хранить данные за пределами оперативной памяти? Даже с БД ты в любом случае что-то читаешь на диске, а потом конвертируешь в джейсон и обратно на любой пук клиента.
В твоём конкретном случае разве что только строгое разделение состояния между "пользователь редактирует компоненты" и "пользователь подтверждает изменения" поможет. Соответсвенно первое состояние исключительно на клиентской стороне пропукиванием локалстораджа существует и только при втором идёт запрос в бэк.
можно ли так делать вообще как я хочу
явно как-то не так нужно обращаться к массиву в стейте
https://codesandbox.io/s/sleepy-burnell-682yd
Я про то каким именно образом компонент конвертировать в строку и потом из строки.
Зачем весь компонент конвертировать, если достаточно только пользовательские настройки в джейсон пихать?
Действительно. Только вот если у меня поддержка 1000 компонентов, а он использует 3. Мне надо всю 1000 импортировать, чтоб применить к нужному настройки и отрендерить....или есть способ как-то динамически ипорт только нужных компонентов сделать?
>днина без этических убеждений
Правильно я понимаю, если тебе придет оффер из этой "днины" то ты даже на собес не пойдешь? М? Самому себе пиздеть-то не зазорно?
Создаёшь отдельную сущность, которая хранит пользовательские настройки и инжектится при иницализации страницы.
Тут слышал что в том же Реакте пишут в функциональном стиле но вот чего не понимаю: как блин вообще можно писать крупные проекты (где хотя бы несколько модулей на 200+ строк и несколько сущностей) без ООП? КАК? Ты же запутаешься пиздец в своих сущностях и то что из чего вызывается
Конечно не запутаешься, надо просто запомнить всю цепочку наследований и все переопределения методов в этих цепочках. Всё это смазывать выражениями типа this.props.hui без каких-либо деструктуризаций.
Ждун открыл для себя зрелую систему с множеством клиентов и мир обратной совместимости, охуеть.
>надо просто запомнить всю цепочку наследований и все переопределения методов в этих цепочках
Но ведь LSP говорит что это не важно...
Мне-то зачем идти, у меня свои проекты, ололо.
Даже сотрудничать не буду, даже продаваться не буду, даж за миллиард.
Допустим у меня есть 10 различный слов и 10 соответствующих цветов
Генерирую подобный объект
const colors = {
/dogs?/ : "red,
/cats?/ : "green",
/mouses?/ : "blue",
...
}
Теперь хочу из этого объекта получать нужный цвет в зависимости от слова (dog / dogs должны получить red и т.п)
Например, черз for in пробегать по каждому ключу и через regex.test(str) проверять его, а потмо уже делать дальнейшие шаги вне этого вопроса
Норм или подобное как то по другому реализуется?
Нахуя?
Делаешь ключи просто строчки cat, dog
Потом джойнишь ключи через | и крафтишь одну регулярку
(joined)s?
И потом по матчу выбираешь обратно значение.
Мне вот интересно, для интерпретатора есть какая-то разница если я вызываю:
obj.myProperty
ИЛИ
obj["myProperty"]
?
Конечно, для первого вызова нужно всего-лишь по ASCII пробежаться, чтобы распарсить. А во втором нужно тащить весь юникод.
Ну да, никто не запрещает.
Но мы ж программисты, нам анус распидорасит даже если мы комменты на русском начнём писать. Даже если проект строго на российский рынок, в текстовках забит русский язык и делает его только русскоязычная команда.
Коммент на мордорском наречии === подписаться что ты хуй и чмо
все, я дебил. Прочитал доку. Taged templates это
Реакт по жизни обижен....
Я так понял что если я легко читаю ydkjs, то уже можно приступать к изучению фреймворка?
Да. Если есть понимание основ джс, то фреймворки не проблема. См. выше скрин чела, которые спрашивает почему if else не работает. Джса не знает, зато костыли на реакте пытается писать уже
Ура анон! Знаменательный день! Сегодня приступаю к реакту, а однажды я буду запускать ракеты вместе с илоном маском!
Гавно
Сколько директив написал?
Кто-то должен остаться непродажным. Иначе весь мир погрязнет в монополии капиталистического дерьма. Если уж я битард-аутист, то почему бы не я.
Круто анончик! В нашем мире тяжело не продаться, вон телега на ладан дышит, но вроде нашла выход не продаваться.
Лол кек
"Битард-аутист" как только получит власть/деньги мгновенно превратится в конченное алчное чмо
>не продаваться
Откуда вы блин беретесь?.. "Не продается" чувак который в свое время сам же вызвался чтобы продать жопу ФСБшникам?
Он известный инцел и черт, всерьез думать что такой чел "не продается", значит иметь ICQ 50
Ты сумасшедший! тебе в /ЗОГ/, тут сидят адекваты.
>в монополии капиталистического дерьма
Либерального ты хотел сказать?
>>64838
Братишка, тебя даже вчерашний шторм не разбудил. Телеграм теперь с радостью делится инфой с фсбшниками, если окажется, что ты дохуя террорист.
>>64841
>Он известный инцел и черт, всерьез думать что такой чел "не продается"
Охуенные истории. Как раз женатики моментально и продаются, у них ведь жена, дети, кредиты, РАБотка и всё это мигом улетучится, если они по линии партии не будут ровно шагать.
Потому что if в жс не возвращает ничего, а тернарный возвращает значение. И про это есть в документации чуть ли не на первой же странице.
Дебил, они просто к строкам приводятся.
Ключи объекта – строки, какими константами не обмазывайся.
Ну так-то телега то еще дерьмо.
В идеале подобные чятики/соцсети должны быть основаны на технологиях вроде gun.js, но лучше, чтобы на тайпскрипте и с компилятором тайпскрипта и собственная минималистичная распределённая файловая система, для файловой и kv бд
>>64839
А еще мои решения могут быть некорректными.
По этому даже принятие решений должно быть максимально децентрализованным и оторванным от конкретного человека. И основанными на регламенте, каких-то базовых идеях и принципах принятия решений.
Все эти проблемы давно известны и обоссаны.
>>64852
> ты хотел сказать?
Атош.
В ECMAscript 6 ключи объекта могут быть объектами. То есть и регэкспами и функциями тоже. Мы вам перезвоним.
Ок, я обосрался, ты прав.
>на технологиях вроде gun.js, но лучше, чтобы на тайпскрипте и с компилятором тайпскрипт
Чиво блять?) тыскозал?
Пиздец, когда дети уже научатся что стек технологий это лишь инструмент и перестанут совать свои must have вскукареки куда ни вздумается
Проиграл с шизика.
У децентрализованной либы должна быть одна кодовая база под всё, чтобы хэши совпадали и можно было устраивать проверки на подлинность.
Лол, если ты полез в семантику, то нет.
ExpressionStatement нужен сверху чтобы Expression в Statement переделать.
В говнокоде выше такового и нет.
И еще вопрос: если eslintrc лежит не в src, а, например, в config, то eslint plugin для вебпака начинает ругаться на отсутствие файла конфига, в ридми плагина на гитхабе искал как указать местоположение конфига, но нихуя не нашел.
>arr.forEach(function(item, index, array) {
// ... делать что-то с item
});
я ничего не понял,что в скобках?
Нет, мань. Statement- это общее название любых конструкций. И они уже делятся на Expression Block Function и прочие.
На какой паек можно рассчитывать после задротства вашей хуйни??
Если серьезно, то стоит ли вкатываться, если я работаю на заводе получаю 45к на руки? Через сколько я смогу выйти на походу за? Я не тролль.
Пример нахуя: дженерик форма, которая не знает что в ней, должна пульнуть beforeSubmit, и дождаться, чтобы все, кто на это подписался, отработали, и дали добро.
Как я сделяль: сервис с одной обсерваблой (beforeSubmit) и пустым массивом обсервабл, все желающие компоненты добавляют мердж своих обсервабл с beforeSubmit в массив сервиса, форма подписывает свой сабмит на мердж этого массива, а по нажатию кнопки пуляет beforeSubmit.
Это нельзя как-то сократить до одной?
>через сколько я смогу выйти на походу за?
Год после начала работы. 3 года после начала вката.
>задротства вашей хуйни
Но ты не вкатишься, так как охуеешь от объема "хуйни" которую нужно будет изучить. Без искренней тяги и удовольствия это маловозможно.
fd
Спасибо.
Нахуй ты своё лицо запостил, инцел?
Че блять?
чтобы этот сахар скомпилировался в параметр для функции, ты же не можеш написать fun(a, if (true) {puk} )
>сайты если надо не SPA и не пыха
Если не SPA или не соевый стэк, то сайтики без пыхи бесмысленно делать.
>Ебашить шаблоны и сервить питоном, нодой?
Как ты ещё странички на своём сайтике собираешься отдавать?
>Как ты ещё странички на своём сайтике собираешься отдавать?
Ну может есть какая-то новая тулза как блейзор на сисярпе
а как от # избавиться?
Ниухя не понятно в вашем тайскрипте, но тут единичный случай описывается как я понял. Но с окончанием s это я для примера придумал
На деле там ситуация когда слово cat может быть в виде cåt căts cât или cåts
Поэтому я и подумал, чтоб сразу были ключи в виде универсальных регулярок, которые ловят каждый случай
Или, например, вообще прдставим что вместо обычных слов прилетает в первый раз телефонный номер определенной структуры (+7-777-777-77-77) - в таких случаях должен отдаваться всегда красный цвет
Вторым прилетает какая нибудь дата в виде дд-мм-гг - всегда должен отдаваться желтый цвет
Прилетает ip адрес - зеленый цвет
Прилетает ссылка - оранжевый цвет
Т.е у меня, например, уже есть готовые регулярки для каждого подобного случая и я просто хочу организовать наименее всратый шаблон, который обрабатывал бы эти данные
Ты не видишь разницу между Expression и ExpressionStatement?
Expression – это не Statement.
EpresssionStatement – это Statement. Грубо говоря Expression отбитый ; или переносом строки.
Во-первых если ты делаешь словарь, то юзать надо не объект, а Map, и ключи к нему могут быть хоть из конской залупы.
Во-вторых хоть че ты юзай, но без доп обработки у тебя не будет получения результата в одно действие - так что разницы между регуляркой в ключе или строкой абсолютно нет.
Ты просто наркоманишь свойства/значения. В твоём случае цвета - свойства, а разнообразные строки - их значения. Твой парсер должен анализировать входящие строки и присваивать их к нужным цветам в зависимости от результата. Вот парсер как раз и будет всё это дело регулярками прогонять, а не через for in по свойствам объекта.
const colors = {
cat: "green",
dog: "blue",
test: (val: string) => {
if(val.match("^dogs?$")) {
return colors.dog
}
if(val.match("^cats?$")) {
return colors.cat
}
return undefined
}
}
console.log(colors.test("dog"));
console.log(colors.test("dogs"));
console.log(colors.test("dogss"));
console.log(colors.test("cat"));
console.log(colors.test("caagvs"));
приделать к каждой кнопке обработчик?
Ты жертва ООП что ли или бывший бекэндер?
Пытаюсь решить еженедельную задачку Литкода, но не все тест кейсы проходят. Задача дефолтная на самом деле. Даны номиналы монеток, нужно используя наименьшее число монет набрать нужную сумму
Код:
https://pastebin.com/SRDqhETW
Задачка:
https://leetcode.com/explore/featured/card/march-leetcoding-challenge-2021/589/week-2-march-8th-march-14th/3668/
Нормальные люди и не пишут. Реакт - это как вба в экселе, у них задача сделать все быстренько самому за 1 раз пока ты все в голове держишь, а дальше работа сводится к простейшим правкам, которые может сделать даже секретутка.
ты негр?
ExtractTextPlugin конкретно вот энтот нужен плагин
Для CSS нужно пользовать MiniCssExtractPlugin, который всё сам расставит, главное его в модулях скормить.
output.filename отвечает за конечные пути скриптов.
output.assetModuleFilename - за всё остальное.
Разные сорта ассетов можно пердолить в module.rules.{}.generator.filename
Те обьявление константы одновременно с ее инициализацией бесполезная фича? Найс вкатилу порвало
Собес в Альфа Банк. В половине примеров var. Зумерки, не слышу ваших вскукареков?..
по мотивам:
>>63931
>>64311
Какой блять вар? let есть на все случаи жизни
>>65667
>константы
Верстала, ты вообще в курсе что такое константа? Константа подразумевает также иммутабельность данных а не только невозможность юзания блядского переприсваивания повторяю на всякий случай еще раз: это ЕДИНСТВЕННОЕ отличие const от let
>>65673
неа (пикрил)
>Константа
Для этого она и была создана, что бы зарезервировать имя константы что бы тупорылые "ооп"эшники не срали слишком часто себе в штаны и не засирали stackowerflow
entries() returns an iterable over entries encoded as [key, value] Arrays. For Arrays, the values are the Array elements and the keys are their indices. For Sets, each key and value are the same – the Set element.
но ведь next в итераторе выбрасывает результат в формате
return {
value: any,
done: boolean
};
Откуда там берется еще и ключ?
>иммутабельность
Для значений так и есть, для обьектов есть другие способы сделать иммутабельность
Ты наркоман что ли? Во-первых как ты собираешься делать querySelector до того, как у тебя появились дом элементы? Во-вторых ты просто ебаную дичь написал. От начал и до конца. Сначала бери уже готовые проекты и пробуй в них изменения вносить, но только по мануалам и используя уже устоявшиеся конструкции. Ближайшие месяца так 4 придется только этим заниматься, пока не начнешь понимать что к чему. button = addEventListener. Вообще охуеть.
>Какой блять вар? let есть на все случаи жизни
Так let для педиков, которые не могут уследить за скоупом если интерпретатор не стучит им по рукам.
>неа (пикрил)
Что неа, долбоеб. Прочитай, чем в котлине var от val отличается.
val - это и есть const из жс, а var - это let.
>пикрил
const val foo = some в котлине это const foo = freeze(some) в js.
val foo = some в котлине это const foo = some в js
var foo = some в котлине это let foo = some в js
Строго говоря такое поведение не только в js и котлине имеется, оно удивляет только вкатунов, вчера родившихся. В джаве это final поля, в c# это readonly - всё это модификаторы неизменяемости только ссылки на данные, но если данные ссылочного типа, то по этой самой ссылке сами данные могут меняться.
мимо
Для этого надо весь рантайм ронять.
Но это сломало бы старый код, даже при условии использования строгого режима. Был шанс, ввести такое поведение с введением es-модулей, которые гарантированно не исполняются легаси-движками, но было слишком поздно, к тому моменту все уже ввели.
В целом, никакой вины комитета тут нет - была задача ввести изменяемые переменные с блочной областью видимости, и неизменяемые. Их надо было назвать.
Стояли предложение вместо const ввести те самые final и readonly уже устоявшиеся в других языках, но в итоге сошлись на const, и хорошо.
То поведение о котором все негодуют и которого почему-то ожидают - априори не могло быть введено на этом уровне - это ниебический оверхед, потому что у ТОГО САМОГО НАСТОЯЩЕГО CONST поведение deepFreeze - у вас бы каждое объявление константы с объектом в качестве значения имело бы сложность больше, чем самый толстый хуй, что вы сосали. Учитывая прототипную модель наследования - это вообще в целом невозможно - потому что У ТОГО САМОГО НАСТОЯЩЕГО CONST прототипы тоже должны фризится, внезапно.
В целом, мало кто понимает, что жс в браузерах именно жс, а не какой-то другой язык, потому что веб обязан быть обратно совместим.
Наверное потому что умножение - это просто сокращенная запись сложения и запись "abc"*2 ничем не отличается от "abc" + "abc"? Совсем жопаскриптеры охуели, на нормальные языке ебало раскрывают из-за умножения строк нахуй.
Нихуя себе, не знал что конст на самом деле не конст.
Серьезно?
Так и чем притензия к string + number кардинально отличается от string * number?
Почему в одном случае можно,а в другом нельзя, если и в том и в другом типы операндов одни и те же, и тип результат один и тот же, мань?
(number, string) => string
Потому что в первом случае ты говоришь интерпретатору "вот тут у меня два совершенно разных типа, но я хочу их скомбинировать хуй пойми как, сделай приведение типов за меня и скомбинируй как получится ок да?", и если интерпретатор не шлет тебя сразу же нахуй с такими запросами, то получается жопоскрипт. А во втором случае - это просто shorthand запись функции multiply(string, n). Постыдился бы высирать свои шизоидные сравнения уровня "и там и там число и строка, так что записи одинаковые".
Ты про какую "третью"?
Умноженная строка.
Какой результат команды "повторить строку n раз", как думаешь? Примерно почувствовать сможешь?
Что значит хуй пойми как? Кому хуй пойми? Тебе? Ты что тупой? Не понимаешь что такое конкатенация и каким образом происходит приведение типов при ней?
Хм. И какой должен быть результат у операции 'hello' * -10 в таком случае? Как повторить строку минус десять раз?
>вот тут у меня два совершенно разных типа, но я хочу их скомбинировать хуй пойми как, сделай приведение типов за меня и скомбинируй как получится ок да?
лоооол. то есть в одном случае ты понимаешь что 'string' * 2, это неявная запись string.repeat(2), а во втором случае, что string + 2 это запись 'string' + str(2) не понимаешь? как называется эта болезнь?
Норма - это то, что используется большинством. Так что самый нормальный ЯП - это жс.
Независимо от того как делится, какой результат умножения строки на 1,17?
JavaScript.
>Неприязнь авто кастов
>мимо тоже болею
Ты ее постоянно используешь, как минимум в условных выражениях. Потому что к булу явно ты ничего не приводишь.
Чмондель, петухон - топ 1 ЯП по популярности. Жду когда начнешь маняврировать и верещать "это другое"
>Ты ее постоянно используешь, как минимум в условных выражениях. Потому что к булу явно ты ничего не приводишь.
Ты не поверишь.
1. Гитхаб не единственная метрика, чухонец
2. Даже если смотреть только по манязвездам то петухон всегда на 2м месте и отстает от жопаскрипта незначительно
>РЯЯЯ ПИТОН ВСЕГДА ТОП 1
@
ПОКАЗЫВАЕТ СТАТИСТИКУ
@
>РЯЯЯ НУ ТАК ТО ПИОМ ВСЕГДАВ ТОП ДВА СТАБИЛЬНО
А я снова повторяю малолетнему дауну: манябенчмарков существует просто море, но петухон там всегда у топа
>манябенчмарков
>бенчмарков
>маня
Маня это ты. А это официальная статистика гитхаба . https://octoverse.github.com/
Такой же, какой должен быть у функции repeat("abc", -10) - ошибка аргумента.
>>65765
Потому что второй случай - это не просто запись append("abc", something), работающая с конкретным ограниченным интерфейсом, это ебаный кривой комбайн, который пытается перемолоть все - от undefined + undefined до {} + new Date(). Как он будет работать в каком конкретном случае ты не скажешь никогда в жизни. Ты же как и подобает жопоскрипт дурачку, виляешь жопой и подменяешь понятия. В руби string 4 - это обычный вызов метода String#, который ты можешь объявить для любого класса, в жопоскрипте something + somethingElse - это встроенный в язык низкоуровневый оператор, в который напихали столько костылей, что никакому инвалиду не снилось. Сравнивать их и говорить, что это одно и то же может только абсолютно необразованный жопоскриптер.
Хорошо, хоть в js манкипатчинг уже не модный
>Потому что второй случай - это не просто запись append("abc", something), работающая с конкретным ограниченным интерфейсом, это ебаный кривой комбайн, который пытается перемолоть все - от undefined + undefined до {} + new Date().
Алё, у тебя "понятный алгоритм" обсирается при нецелочисленных числах.
Скорее обсираешься ты, когда говоришь алгоритму "повтори действие два с половиной раза, но что является половиной я не скажу".
>обсирается при нецелочисленных числах.
Ошибка типа, обсирание уровня динамической типизации - это другое
>>65829
Прикольно, особенности реплов.
В дебаггере хрома это распарсилось в пустой блок и унарный плюс, в ноде как объект + массив.
Кажется хром тут более прав. Если завернуть в выражение, то оба парсят в бинарный плюс.
Наверное нодовский репл это как-то по-уебански эвалит, тупо обернув в console.log например.
>Мы говорим про умножение строки на число, про повторение действий ты уже сам нафантазировал.
Расскажешь, что именно такое умножение, если не повторение действия(сложения), гений?
>Не забудь написать простыню обработки типов
Написал, держи:
raise ArugmentError.new('hui tebe a ne umnojenie') unless n.is_a?(Integer)
>Не забудь написать простыню обработки типов
За то какая функция будет вызвана оператором отвечает сам питон. Если для тебя
if type(x) != int: сри экзепшонами
простыня... ну хуй знает
Если хочешь норм работу - да. Последние 2 года на всех моих собесах требовался.
мимо-Regular Software Engineer
>На собесах требовался
Хуй знает, месяц ищу работу, с десяток собеседований прошёл, только на одном спросили что-то там про дженерики (но это пиздос а не собес был).
На остальных:
>Знаешь?
>Ну да
>Ок, вот задачка. Пиши на ваниле чтоб не ебаться с типами да вебпаками
На работе да, везде тс кроме одного оффера. Но на собеседованиях и спрашивать то нечего.
https://stackoverflow.com/questions/8173232/how-to-make-exe-files-from-a-node-js-app
На размышление дается 30 секунд?
https://github.com/azat-io/you-dont-know-js-ru
Есть где на русском дочитать, анончики?
Нашел в вк, если надо кому.
https://vk.com/doc44301783_511335587?hash=2308423fa181eaec7d&dl=3bd4a89b814575d435
А в чем проблема? Делай на модулях. Правда лучше стайледы, но это долгий разговор с шизами
Ну блять я и собираюсь делать на модулях. Проблема в том, что будет 15 модулей scss и один css. Это не говно? Я и спрашиваю. Это норм так делать или нет? Или мне css из этого одного модуля запихнуть в какой-нибудь scss модуль и не париться, что фактически это не scss.
Да шиз бы и на собаке свои стили делал, файлы стилей для него - как лук для вампира.
scss - это надстройка на css синтанксисом, любой валидный css так же будет валидным scss. А импортировать в файлах ты и подавно можешь что угодно, хоть .css, хоть .scss хоть .sass
Да мне это все ясно как. Вопрос касается исключительно того, это нормальная практика или нет? Не будет это выглядеть как лютое говно? Я хуй знает как объяснить. Вот ты делаешь проект на джаваскрипе. И тут хуяк, внезапно 3 модуля написанных на тайпскрипте. Работает? Работает. Вопрос в том, это норм вообще или нет?
Но у тебя же все будет на scss, это норм.
Вот если бы ты делал половину на стайледах, а половину на css и еще немношк инлайнил, вот тогда было бы не норм
"Норм" определяется только твои контекстом и целями, о которых ты не сказал ни слова. Никто не будет гадать, почему тебе там в голову стукнуло иметь один css файл и 14 scss.
Главное чтобы глаза не ослепли от такой библиотеки, нужно попасть в оверхед, таксказать.
> Собираюсь использовать модульный scss в реакт-проекте. Проект микроскопический
PostCSS + PReact/
Нужно создавать экземпляры данных сущностей на каждый новый запрос или по одному экземпляру глобально?
>Надо просто каждую функцию/класс отделять в отдельный js-файл?
нахуя?
Странный вопрос, как будто ты вчера узнал, что такое компьютерная программа
Нет конечно же, всё это сгружают на машину клиента, даром что браузеры уже могут в es6-модули изкаробки.
Серьёзней некуда. Вебпак в нынешнем году - удел бумерков-ретроградов.
>а тебе надо было докрутить всякие выпадающие меню, слайдеры и прочую интеракцию с пользователем
Без бизнес-логики пердящие меню делается без жс.
>>66433
Спасибо. Но, да, я имел ввиду
>>66440
>работу с дом
Вот у этих бы спираченное найти или наподобие:
https://htmlacademy.ru/projects
Кстати да, че тебе мешает найти сверстанные макеты кокодемии, скачать их и прикручивать что только вздумается?
Зайди на рутрекер и набери в поиске vanilla javascript (или js) projects или просто javascript (js) projects. Там есть раздачи, где пилятся по 30-50 небольших проектов. Может что-то оттуда тебе подойдет.
Ты че долбоеб? Не понимаю как такие кретины открывают двач, но поиском пользоваться не умеют.
Чего б вздрочнуть из известных задач чтоб хотя бы универские лабы вспомнить и типовые какие-нибудь алгоритмы заучить?
На вскидку придумал: Переворот дерева, покрас графа, задача коммивояжера и поиск пути в целом, А* например.
Мы вам перезвоним.
Верстал, спок.
>>66506
Че эт за говно вообще? Нормальные поцаны юзают кастом спектру https://picturepan2.github.io/ в сасе.
сап пр нужна помощь:
случайно стал лидом фронтенд отдела предыдущий лид уволился и оставил меня а я не то чтобы прям синьер помидор
есть один проект react+ts+graphql состоит из ядра и "тем" клиентов
со стилями все понятно, мы можем переопределять стили для разных клиентов без особых проблем
проблема с переопределением верстки
На данный момент решена прокидыванием и заменой компонентов через контекст в "темах клиентов"
выглядит примерно как
<RenderPropsContext value={clientRenderers} />
<Product />
</RenderPropsContext>
так-же остро стоит проблема переопределения логики: компоненты мы можем заменить в рантайме да, но вот логика в redux одна на всех и если кому-то потребуется ее изменить, возникнут проблемы ( либо мы будем в мастере добавлять клиентозависимую логику в редьюсеры либо хз че делать вообще )
щас заметил что скорость разработки дико упала и думаю насколько идиотская затея если я сделаю
ветки master
clientA-master
clientB-master
и сразу прям в приложении буду переопределять и логику и компоненты и все такое а потом с каждым новым релизом мастера просто мержить все это говно в отдельные ветки?
Охуеешь разные ветки поддерживать, так как они со временем все сильнее отдаляться друг от друга будут. Гит конечно децентрализованный, но только в том смысле, что ты можешь форкнуть код и независимо от источника пердолить свой локальный форк до посинения, а не хуярить несколько отдельных веток сразу.
тоже пиздец не нравится эта идея, впрочем как и
if(globalContext.clientName === 'XXX'){doThis()}
else if(globalContext.clientName ===' YYY'){doThat()}
аккуратненько размазанное по всему проекту в тысяче мест(
Нихуя не понятно.
Но вести две параллельные ветки заебешься, рано или поздно конфликты и рутина тебя победят.
const a: object = {}
a[0] = 0 //Property '0' does not exist on type '{}'
Мне нужен объект с неопределенными свойствами. Но не пустой. Я могу конечно использовать any, но он включает и примитивные значения.
Либо
{
[key: number]: any,
[key: string]: any
}
Но неужели нет ничего более элегантного?
Для такого тебе нужен слой абстракции.
В ООП подходе например у тебя один класс с базовой реализацией и интерфейсом, а его наследники уже свою логику дописывают.
В одном месте где-то инстанциируется нужная версия класса, а потом со всеми экземплярами работа идёт изоморфно.
Если у вас там дрочат на функциональные компоненты и аггрегацию вместо композициии, то обмазывайся интерфейсами – то же самое будет, но больше церемоний. Полиморфизм можно в хуки унести ещё.
>>66531
Record
const b: {a:string} = {a:"a"}
Но TS не дает мне даже сделать проверку.
c = b["x"] ?? 3
TS вместо того чтоб понять что "c" всегда равен 3. Выдает ошибку что свойства "x" нет. Как сделать тип для которого такое обращение не будет вызывать ошибки?
парами ключ-значение
Пихай массив массивов, очевидно же.
>>66528
две? Повезет если их меньше десяти будет, продаваны и коммерческий отдел суки слишком хорошо работают..
>>66532
ну с ооп более менее понятно как решали бы ( в bff на nest'е типа того и делаем )
> там дрочат на функциональные компоненты
this
Спасибо всем, попробую еще на гитхабе похожие проекты поискать посмотреть как там решается
Вопрос:
Есть в css класс у div "switchable".
Можно этому классу прикрутить методы? Чтобы найдя его через
element = querySelector("div.switchable")
я мог делать:
element.delete()
element.moveup()
element.movedown()
Ну, во-первых, ТС прав, ты пишешь заведомо не логичный код, он тебе на этапе статического анализа это сообщает.
Можешь тот же any (ну, string). А вообще кажется ты хочешь это: https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates
> две? Повезет если их меньше десяти будет
Сам ответил на свой вопрос. Либо отдельные компоненты и абстракция над, либо сосать. Поддерживать три ветки уже проблемой будет, особенно если в них нахуярят своей логики.
Как анjн советовал построй слой абстракции над этим дерьмом и всё. Не за зря же тимлидом стал. Почти архитектор!
То есть вот так:
if() {
код
}
else {}
Ты ничего не прикручиваешь к css классу, наркоман. Эти методы прикручаются к HTMLElement, инстанс которого возвращается селектором. Тут только или свой каштомный элемент пердолить, или вынести эти функции в отдельный модуль и вызывать их обычным способом.
Опять ты на связь выходишь?
>Ты ничего не прикручиваешьтишь к css классу, наркоман.
Я и спрашиваю можно так или нет.
Нет так нет.
Что нелогичного в проверке, ключ может быть заранее не известен.
За остальное спасибо, почитаю
Для регистрации достаточно мыла/имени и пароля.
уже лет пять как все заходят через фб/гугл
Только в том что сборщик может его легко уничтожить и почему клч должен быть объектом?
ладно норм решил?
Просто найди либу логин-токенами и возьми её. Наверняка их дохуя уже насрали.
Эмм... Написал в консоли браузера также как и этот пендос предлагает, мне выпадают ошибки, втф?
В ее начале я вызываю e.preventDefault()
Могу ли я при некоторых обстоятельствах, каким-то образом в конце функции отменить этот preventDefault(), объявить что теперь нужно начать стандартную обработку события?
ну и че это такое, подключил либу uuid https://www.npmjs.com/package/uuid#uuidv4options-buffer-offset
использую ее как на пик1, я проверил, ключи генерит при том уникальные, но реакт все равно выдает ошибку про кеи в листе
на пик2 пример ключей
Так напиши пример как надо
У тебя опечатка, долбоёб. Тебе же об том написали прямо, хули ты сюда пришёл?
Ну всё пиздец, ЖС опять в жопу насрал.
Все работает, ты рукожоп просто
Ты таким образом при каждом ререндере новый ключ получаешь. А для пользователя отдельного он не должен меняться. Заверня его в переменную а потом прокидывай в Key
Вижу тут кулстори про reduce
https://medium.com/@stasonmars/как-работает-reduce-в-javascript-когда-его-нужно-применять-и-какие-крутые-вещи-можно-с-ним-b650c397bee6
Я может чего блять не понимаю, но нахера это все? В 90% случаев его можно заменить циклом for и все станет читаемее
ЧЕРНАЯ МАТЕРЯ ЖИЗНИ ФЛОЙД ГЕРОЙ 21 ВЕКА!
Пиздец конечно, ебанный нарк, ублюдок и мразь - герой нашего времени, который угрожал пистолетом беременной женщине, чтобы добыть денег на очередную дозу. Все кто поддерживает БЛМ сознательные ублюдки и подонки, желающие развалить цивилизацию и скатить её в хаос с говном и репрессиями. Гоните это говно подальше от себя, к борьбе с расизмом это не имеет никакого отношения, и скорее напротив, является проявление настоящего расизма на уровне 3Р
>можно заменить циклом for и все станет читаемее
За императивные простыни погонят ссаными тряпками с собеса.
>const euros = [29.76, 41.85, 46.5];
>const average = euros.reduce((total, amount, index, array) => {
> total += amount;
> if( index === array.length-1) {
> return total/array.length;
> }else {
> return total;
> }
>});average // 39.37
Ну да посчитать сумму и поделить не проще, надо вот такой пиздец писать.
>Map и Filter как редюсеры
Охуеть он листал какую-то книжку по фп, возможно даже sicp
>const average = euros.reduce((total, amount, index, array) => {
> total += amount
> return total/array.length
>}, 0);
К чему это? И да он обосрался Код хз что считает, но точно не среднее арифметическое
Зачем ты это принёс?
Как можно сделать на CSS (на гридах, например) так, чтобы часть этих дивов расположились сверху блока по заданной сетке (красное)? А остальные дивы (их много - нефиксированное количество) должны остаться стопкой снизу, как и были.
Хуя как гей-либерала порвало.
Пидор, спок.
Как же они заебали. Буквально каждое дерьмо зашкварили.
С собеса сой-боев, за то что мужские сиськи не второго размера и страница жрёт недостаточно памяти?
Вижу тут кулстори про медиум
Я может чего блять не понимаю, но нахера это все? В 90% случаев его можно заменить докой и все станет понятнее
Графоманство
За то, что нехватило мозгов осилить более деликатный и удобный функциональный подход.
ну так ты опускал ложку в борщ, поднимал её, подносил ко рту, и заливал себе в рот вместо того, чтобы просто есть его
Ты не понял отсылки. Но я поясню. Мимо мамкин-борщехлёб. Кодирую на хачкеле и сейчас пытаюсь вкатиться во фронтенд чтобы не есть одни борщи. Такие дела. Поэтому подход может быть удобный и деликатный, но нахуй он нужен, если тебя никуда не берут?
оформи ка срыгалет в джава тред
Как дела?
Это копия, сохраненная 20 мая 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.