Вы видите копию треда, сохраненную 3 июня 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
Этот график самые важные вещи прячет в углу слева справа.
Алсо, нубов можно детектить по "контекст апи это стейт менеджмент".
Лолблять, чтобы лаконичный тернарник был читабельным среди простыней JSX, его один хуй надо растягивать на три строчки, что уже не сильно лаконично выглядит по сравнению с обычным ифом. А со вложенными тернарниками вообще пиздец.
Изучаю Кантора и никак не могу вдуплить декораторы
function wrapper(func){
function foo(){
coco++;
return func.apply(this, arguments);
}
let foo.coco = 2;
return foo;
}
Поясните пожалуйста по своему(не по канторовски) как оно работает и почему конкретно в этом примере выпадает ошибка по foo.coco хотя у Кантора обьявленный так же массив глотает?
Учи полифилы, чтобы не быть реактом.
Сам кто по масти будешь?
>в углу слева справа
Так слева или справа? Или в углу?
Или мопед не твой, ты просто разместил объяву?
Ну да, не меньше. Это при плотном занятии - каждый день, минимум по 5-8 часов.
Я JS учил 2 месяца, реакт где-то 2-3 месяца. по 8 часов в день, выходной для отдыха брал раз в две недели. А так каждый день ебашил.
> минимум по 5-8 часов
Человек не может заниматься деятельностью, которая требует повышенной концентрации больше 2-3 часов. Ты либо пиздишь, либо это обучение уровня "одной рукой дрочу, другой интерпретатор щекочу" с попеременным скроллингом двачей.
>Человек не может
Ну раз ты сказал тогда ладно.
Пойду Маску скажу который по 14 часов хуярит, ему очень важно твое мнение будет, как и мне.
Ну так выключи свое говноправило, которое никакого функционального смысла не несет, а только ограничивает возможности.
Как фейсбук такой текучий фон сделал что реагирует на мышь?
https://www.facebookconnect.com/en
>Как фейсбук такой текучий фон сделал что реагирует на мышь?
Пиздуй уже учить CSS, я даже не понял, что ты имеешь ввиду.
Фон у него блять на мышь реагирует, одна история охуительней другой просто.
Canvas
Потому что нет такого синтаксиса "let foo.coco = 2". Либо ты пишешь "foo.coco = 2" - запись свойства в объект, либо "let coco = 2" - объявление переменной в текущем контексте.
Если ты в не в курсе, то ограничивание возможностей нарочное. Чем меньше возможностей (бессмысленных типа if инлайново писать, какой вообще if в функциональщине), тем чище код.
>Чем меньше возможностей, тем чище код
>какой вообще if в функциональщине
Вы прослушали мнение жопоскриптера, который в жизни не видел ни чистого кода, ни функционального, но мнение почему-то имеет по обоим.
>какой вообще if в функциональщине
В жс нету функци анальщины, только процидурки через процидурки.
https://medium.com/@alivander/сортировка-пузырьком-javascript-54462b2989a6
?
По синтаксису у меня короче и понятней.
Переменные - это let. const - это бесполезный жопоскриптерский костыль, который мало того, что не дает ничего полезного А ИСЛИ У МИНЯ ВСЕ ПИРИМЕННЫЕ В ПРОЕКТИ ПИРИОПРЕДИЛЯТ КАК БЫТЬ????, так еще и семантически вводит в заблуждение, особенно в таких случаях, когда ты мутируешь то, что строкой выше назвал "константой".
Хуже тем, что ты больше раз по массиву проходишься. А еще про метки и continue лучше вообще навсегда забудь
Неосилятор конста опять подорвался. Пиздуй уже на варах писать в глобал скоупе, пердед.
И вар и конст - это одинаковые жопоскриптерские костыли, один ведет себя не как нормальная переменная, второй ведет себя не как нормальная константа. Так что пиздуй на них писать лучше ты.
>один ведет себя не как нормальная переменная, второй ведет себя не как нормальная константа
Окатыша с другого языка забыли спросить, как переменные должны себя везти.
Ну вот и пиши на варах, дурачок. Вдруг тебе переменная в глобал скоупе понадобится, а ее там нет? Ты же на констах пишешь по аналогичной вытащенной из жопы причине, почему бы на варах не писать?
>Ну вот и пиши на варах, дурачок. Вдруг тебе переменная в глобал скоупе понадобится, а ее там нет? Ты же на констах пишешь по аналогичной вытащенной из жопы причине, почему бы на варах не писать?
Опять неосилятор конста показывает своё скудоумие.
Так, я сейчас понял что вообще не пузрьковую сортировку написал, там по-другому работает.
А почему не использовать метки и континью?
const data1 = [17, 21, 23];
let str = "";
const printForecast = function (arr) {
for (let i = 0; i < arr.length; i++) {
str += `${arr}ºC in ${[i + 1]} days... `;
}
console.log("... " + str);
};
console.log(printForecast(data1));
Если таким англо-редукционизмом страдать, то вообще весь код - композиция ноликов и единиц.
У него с next.js не очень хорошо. Нужен стейт менеджер чтобы с некстом нормально работал.
Вот так всё выводится:
let arr = ['a', 'b', 'c'];
let x = arr.length;
while (x --> 0) {
console.log(arr[x]);
}
А вот так почему-то не выводится 'a':
let arr = ['a', 'b', 'c'];
let x = arr.length;
while (0 <-- x) {
console.log(arr[x]);
}
Потому что --x и x-- выполняются в разном порядке.
>nest.js
>next.js
>nuxt.js
Я не пойму, у креаклов фантазия закончилась и они не смогли придумать более разнообразные названия своих библиотечек?
export function FadeInOut(
speedIn: number = 300,
speedOut: number = 300
) {
return trigger('FadeInOut', [
state('hidden', style({
opacity: 0
})),
state('shown', style({
opacity: 1
})),
transition('hidden => shown', animate(`${speedIn}ms ease-in`)),
transition('shown => hidden', animate(`${speedOut}ms ease-in`)),
]);
}
@Component({
animations: [ FadeInOut( 1000, 1000 ) ]
})
Не получается настроить "на лету" по условию, как в знаке вопроса прокинуть в нее значение из сервиса или самого компонента например? Или она на этапе компиляции генерируется навсегда? Как тогда настраивать гибко анимацию в реал тайме? Может есть бест практис? Пишут какие-то токены импортировать, но я не понимаю что это и откуда.
@Component({
animations: [ FadeInOut( ? ) ]
})
export function FadeInOut(
speedIn: number = 300,
speedOut: number = 300
) {
return trigger('FadeInOut', [
state('hidden', style({
opacity: 0
})),
state('shown', style({
opacity: 1
})),
transition('hidden => shown', animate(`${speedIn}ms ease-in`)),
transition('shown => hidden', animate(`${speedOut}ms ease-in`)),
]);
}
@Component({
animations: [ FadeInOut( 1000, 1000 ) ]
})
Не получается настроить "на лету" по условию, как в знаке вопроса прокинуть в нее значение из сервиса или самого компонента например? Или она на этапе компиляции генерируется навсегда? Как тогда настраивать гибко анимацию в реал тайме? Может есть бест практис? Пишут какие-то токены импортировать, но я не понимаю что это и откуда.
@Component({
animations: [ FadeInOut( ? ) ]
})
>Как тогда настраивать гибко анимацию в реал тайме?
Использовать CSS keyframes и CSS variables
Просто...и без лишних слов. Домо аригато, сэмпай. Работаете с ангуляром? Есть советы, как глубже понять его? Очень нравится фреймворк, но доки не хватает или слишком сложная для меня. Статьи что мне попадаются все либо устаревшие либо с плохими практиками (даже я вижу). Обычно если возникает затык, не могу ничего найти. В гиттере ангуляра тоже не отвечают часто или не совсем релейтед. Может есть какое ещё ламповое комьюнити?
>>04247
Если фреймворк располагает к использованию своих инструментов, почему бы не пользоваться ими?
>как глубже понять его
Писать больше кода, очевидно же
>не могу ничего найти
Ищи сильнее, оче полезный скилл
>ламповое комьюнити
форум с молнией))0
Сука, я нихуя не понимаю почему это не работает. Он просто не видит экспоненту и в тупую умножает на 2. Я не могу использовать переменную в качестве экспоненты? К тому же, вместо сложения делает конкатенацию. Что за говно?
Андерстуд!
Вот это типичный процесс выставления токена посетителю в типичном проекте на пхп
Мне заявляют что это збс)
Это не типичный. Типичный это когда хэш ставят в сессионную куку.
>пишу тут скрипт на js,
>бот на этом сайте кликает на определённую кнопку
Сначала хотел помочь, а потом понял что пахнет какой-то хуйней.
О простите, мистер сеньор, я на жсе до этого не писал и сейчас делаю это только лишь благодаря чтению доки и стака.
Двач, пытаюсь скопмилить код вебпаком, проект на реакте. Вроде всё компилируется успешно, но когда смотрю результат, в консоли вижу ошибку "Uncaught ReferenceError: React is not define"
Конфиг в пикрилах.
Ну штош.
добрый вечер.
если ты не можешь блять загуглить, как в js реализовано округление чисел, а для чего используется toFixed(), то хули ты в айти забыл?
https://learn.javascript.ru/number#netochnye-vychisleniya
>>04949
не ругайся на отсталого, даунам тоже надо помогать
Покупай битоины, если их еще нет подожди пока выйдут
Там обычные дивы с процентными размерами.
Охуенная тема.
>так еще и семантически вводит в заблуждение, особенно в таких случаях, когда ты мутируешь то, что строкой выше назвал "константой".
Конст не запрещает мутирование в джаваскрипте, он запрещает переприсваивание. Это принципиально разные вещи.
Не смогу что-то конкретное посоветовать. Понимание приходит с опытом. Много по разным ресурсам шарился/пробовал/смотрел и в какой-то момент пришел к пониманию как все это работает
Охуенный прикол. Теперь и деньги не посчитаешь на компьютере, пойду счёты протру от пыли.
В тырпрайз языках предназначенных для счета денех есть децимал тип
Для численных расчетов на компуктере действует принцип: выбери два из трех - быстро, точно, дешево
Как я себе представляю явная польза может быть ощутима в приложухе с большим количеством связных данных когда поставщик не знает заранее в каких комбинациях они будут нужны. Вроде очевидно, но не понятно чем это лучше того что было раньше, условно через включения полей в хмлках. Во вторых в обоих вариантах не понятно на какое место уходит производительность, если у вас данные в апи мапятся не 1:1 из базы, есть сложные агрегации и т.д. (т.е. лично мне это было непонятно и с хмл апи где можно фильтровать и ембедить что хочешь). Ну и эта история только про получение данных.
Я попробую вот привести пару кейсов которые я делал с "обычными" апи, а м.б. кто-то раздуплит мне в каких графкуел и синк через аполло заходит в теории нормально.
1. Представь себе массовый фотошоп с тонким клиентом, картинки в слои грузятся на сервер через апи хранилища, основной сервер управляет настройками композиции и стейтом сессии, отдельно пачка воркеров в фоне все обрабатывает. В этом случае у меня довольно жосткий контракт с апи, все действия порезаны по стейтам сессии и что вообще делается итд.
2. Представь себе банальный инфопортал - форум, блог, каталоги со всяким гавном, ну ты понял. В принципе в плане контракта мне тут важно только чтобы кто-то не заджоинил что-то через задницу, агрегат на агрегат и не уложил серв. Т.к. точки и ответы заранее установлены то это исключается изначально.
3. Ну и допустим дэшборд для "дада вейрхауза" куда просто пушится всё говно и потом с фильтрами можно вытаскивать и группировать.
Спасибо за внимание.
Убрал, вот теперь что ловлю
Для мобилок, или для бфф а фронты сами рест ручек наделают. Для вёба рест наше всие
Есть одна контора, разрабатывают работают на С# в основном, так же используют JS. По всем признакам - для моего мухосранска вполне серьезная. Отправлял им резюме на разработчика (на удачу) и в техподдержку. В общем они готовы меня взять в техподдержку. Как сами пишут в описании вакансии есть возможность вкатится в разработку в дальнейшем.
Мой уровень знаний: ковыряю JS усиленно в течении месяцев трех, изучил основы HTML, CSS. Так же имею кое-какие познания в С#(по гайду из соседнего треда).
Нахуй им сдался вкатыш из техподдержки в разработчиках? Будешь там со всякими дебичами по 12 часов в день проводить, и за эти 12 часов ты нихуя не будешь расти как профессионал.
Да ты чо ебать, правда? Только вот вопрос был не в том, как криво работает конст и как он хуево и обманчиво назван, а в том, нахуй он нужен в принципе.
Рабочий день 8 часов. Точно так же я сейчас работаю, изучаю в свободное время. Только текущая работа с разработкой вообще никак не связана и отсюда я точно никуда не перекачусь.
>а в том, нахуй он нужен в принципе.
ТC39 забыли хуйло с двача спросить, что нужно в языке, а что нет.
Религиозный дурачок, который заменяет свое мнение и аргументацию кивком на некие божественные авторитеты, ты?
Пофиксил, собралось. Ура!
Константные ссылки есть во многих языках, а не только в жс.
То, что у тебя кругозора нет и дальше своего носа ты не видишь, не делает что-то не нужным.
>Константные ссылки есть во многих языках, а не только в жс.
В каких, мань? Пхп, питон, руби имеют нормальную динамическую систему переменных и прекрасно обходятся без этой шизы. Любой же функциональный язык в принципе не дает тебе ничего мутировать, кроме специально сделанных для этого конструкций. Если ты говоришь про обосранный final в какой-нибудь жабе, то там еще до твоего рождения идут холивары по поводу его нужности, и адепты этого говна так же не ушли в аргументации дальше тупости уровня "А ВДРУГ КТО-ТО ПРИДЕТ И ВСЕ ПЕРЕОБЪЯВИТ"
Нз собрат-макака
>Религиозный дурачок, который заменяет свое мнение и аргументацию кивком на некие божественные авторитеты, ты?
Ну ты-то конечно же просвещенный интеллектуал, который даже в конст не может.
> список динамикопараши
> функциональщина
> нормальные языки даже не вспомнил
Все с тобой ясно, борщехлёб.
То есть клоны джавы у нас теперь определяют индустрию? Про final я уже сказал. И еще серанул с дебила, который сидит в треде жопоскрипта нахуй, но имеет наглость открывать рот на нормальные динамические языки.
О, констошизик приперся
Ну-ка, утенок, поясни зачем НУЖЕН const? Какой от него профит? Ты блн используешь его исключительно потому что начитался другого кожа где пишут так же, а не потому что тебе реально нужен const
>В конст я не могу как раз потому, что я не религиозный дурачок и мне недостаточно для использования бесполезной фичи аргументации вроде "гугл так в гайде написал, значит и ты пиши, думать не надо".
Думающий интеллектуал подал голос.
Но если ты не используешь const, то это значит что ты в большой вероятностью не пользуешься линтерами (не перенастраиваешь же ты их чтобы не ругались на var и let). А это звоночек, указывающий на то что ты ничего не изучаешь, не читаешь. Небось в notepad++ код пишешь
Ты объявляешь переменную с let которая не меняется в коде, eslint с любым популярным конфигом ругается на это
А при клиентском CSR перехода нет и значит GET запросов и отправки заголовков нет?
Ты бля в курсах что линтер можно настраивать?
Да настраивать так что он тебе будет ругаться даже на то что у тебя отступы после скобочек разные?
Да действительно.
Я изначально об этом написал
>не перенастраиваешь же ты их чтобы не ругались на var и let
Не предполагал же что у тебя ОКР
Не мочь следовать общепринятым правилам это возможно психическое расстройство. Эти правила не ничего от тебя неестественного не требуют. Это как использовать нож и вилку в ресторане, а не хватать еду руками.
https://github.com/palantir/tslint
>This repository has been archived by the owner. It is now read-only.
>TSLint is deprecated.
>Не мочь следовать общепринятым правилам это возможно психическое расстройство. Эти правила не ничего от тебя неестественного не требуют.
Ты имеешь в виду - ставить const, как рекомендуется, а не лепить везде let?
Да
Мужик сам устанавливает правила и не позволяет кому-то со стороны решать за него. В отличие от левачья и женомужей Мужик всегда четко ставит цель и идет к ней, Мужик ведет а не является ведомым
Не знаю как ты, но я вилкой и ножом пользуюсь не потому, что это "общепринятые правила", а из соображений гигиены. Правильной аналогией тут было "не ходить в церковь вместе со всеми - это возможное психическое расстройство, ничего сверхъестественного от тебя не требуется".
Пожвлуйста, скажи что это постирония. Пожалуйста.
Зачем с обсуждаемой темы перескакиваешь, дурачок религиозный? И в жопоскрипте такого синтаксиса нет, ты перепутал его с отрыжкой майкрософта.
Именно тебе и говорят, ведь это ты не можешь сказать ничего в защиту используемой тобой фичи/технологии, кроме "все используют, да и в библии линтера так написано". С тайпскриптом думаю будет ровно та же самая аргументация.
Настоящие мужики обсираются с конста, ясно.
Что там защищать, дебил? Если ты даже базово понять не можешь смысл конста, то с тобой не о чем разговаривать. Это как англо-педерасту доказывать, что гетеросексуализм является нормой, а не гомосексуализм.
Я прекрасно понимаю смысл конста - это абсолютно бесполезная, кривая и не несущая никаких практических преимуществ надстройка над обычной переменной.
Не понимают его смысл как раз констошизики, вся попытка "аргументации" которых упирается либо в ad populum(все в церковь ходят и ставят конст, а ты что самый умный?), либо в ad verecundiam(ну как жи нет, вон даже майкрософт инженеры в бога верят и конст ставят), либо на абсолютно необоснованные фантазии, начинающиеся с "а вдруг"(а вдруг у меня в проекте кто-то все переменные переопределит). Что-то в защиту серанешь или "не о чем разгорваривать" слив окончательный?
>Не понимают его смысл как раз констошизики, вся попытка "аргументации" которых упирается либо в ad populum(все в церковь ходят и ставят конст, а ты что самый умный?), либо в ad verecundiam(ну как жи нет, вон даже майкрософт инженеры в бога верят и конст ставят), либо на абсолютно необоснованные фантазии, начинающиеся с "а вдруг"(а вдруг у меня в проекте кто-то все переменные переопределит). Что-то в защиту серанешь или "не о чем разгорваривать" слив окончательный?
Успокойся летошиз, никто ничего на защищает, в своём туду-листе заместо проекта можешь хоть вообще без ключевых слов переменные обьявлять, прям как в питоне.
Спасибо за инпут
Не нужно в обычных приложениях от слова совсем. Может быть полезно только когда у тебя публичное огромное API и клиентам может понадобиться что угодно в каких угодно комбинациях. Но если ты заранее знаешь все юзкейсы для своего API и то, что клиентские приложения должны с ним делать, то просто пишешь эти юзкейсы виде стандартных рест эндпоинтов - это покрывает 99.99% случаев любой разработки.
Ну вот мне так и казалось изначально, но это не раскрывает момент с вводом данных и так же не объясняет почему все хотят все делать через него, скажем так большое публичное апи без четкого контракта это не то чтобы у каждого второго есть.
>почему все хотят все делать через него,
Спрашивать надо у тех, кто хочет делать. Но обычно по подобным вопросам аргументов не дождешься и решения принимаются на основании "все так делают", "гугл сделал, и мы сделаем". Первый день в айти что ли?
Есть еще встроенная документация с описанием апи (не нужен свагер) и параметров, встроенное кэширование и возможность его вручную сбрасывать.
(huinya)=>(huinya2)=>(huinya3) hui(huinya3)
Как она называется и как работает, что будет передаваться в huinya2 и в huinya3?
>Есть еще встроенная документация с описанием апи
Нету. Документация - это описание юзкейсов, а не набор "название:тип" колонок. По такой аналогии можно схему базы данных называть "документацией приложения", а че, все используемые типы и таблицы есть.
>встроенное кэширование и возможность его вручную сбрасывать.
Что это вообще означает, наркоман? grahql - это язык запросов, там нет никакого кеширования, это полностью ответственность приложения/сервера.
Ты еще одну стрелку в конце проебал
Не говоря уже о том что у тебя аргументы в функциях не используются почему-то кроме последнего
Не говоря уж о том, что накалякавшему это функци-анальщику надо вколоть галоперидол и оторвать руки
Браузер это среда, в которой выполняется базовый жс. Её может и не быть, в той же ноде, например.
На кухне ты можешь готовить обед, а в туалете не можешь. На спортплощадке ты можешь заниматься на турничках, но в твоем автомобиле никаких турничков нет, и ты вообще в нем сидишь, можешь только рулить и нажимать на педали.
Ты - это JavaScript. А кухня, туалет, спортплощадка и тачка - это твои окружения, которыми ты управляешь. Браузер - это одно из таких окружений. API браузера - это твои кастрюли, которые есть на кухне, но нет в туалете, как Geolocation API нет в ноде. Но при желании, ты можешь в свой туалет принести миксре, и мешать пюрешку, пока срешь, как и в ноду и в любое программное окружение ты можешь затащить полифил реализующий PI другого окружения, или просто кастомную библиотеку, как в тачку принести резиновую куклу, и там ее ебать.
Родился на улице Герцена, в гастрономе номер двадцать два. Известный экономист, по призванию своему — библиотекарь. В народе — колхозник. В магазине — продавец. В экономике, так сказать, необходим.
Так вот, я только что такой охуенный срайт сделал, большой такой срайт, кстати. И очень быстро, кстати.
>Так по факту апи среды это что такое?
То, что встроено в среду.
>Код на плюсах, который вызывается в жс коде?
Тебя это ебать не должно. Он может быть хоть на перле написан. Это какое значение имеет? API - это ИНТЕРФЕЙС.
Если ты настолько трудный и не можешь сформулировать свой конкретный интерес, который на самом деле заключается в том, на чем конкретно реализованы те или иные API в браузере, то ответ таков
ЗАВИСИТ ОТ КОНКРЕТНОГО БРАУЗЕРА И ЕГО ВЕРСИСИ И ВООБЩЕ ЛЕВОЙ ПЯТКИ АЛЛАХА. Сегодня метод может быть написан на плюсах, завтра на жс, или наоборот. На чем угодно может быть написан. Открывай сорцы конкретного окружения, конкретного релиза и читай.
API браузера - это просто набор неких глобальных переменных, которые ты можешь использовать в своем коде. По сути браузер загружает твой код примерно таким образом:
window.fetch = function fetch() {...}
window.Request = class Request {...}
window.Response = class Response {...}
// твой код
И соответственно твой код получает доступ ко всем этим глобальным переменным и их функционалу(fetch, Request, Response). Но если ты свой код запустишь в окружении, в котором таких переменных нет(то есть в окружении с отличающимся API, например в ноде), то он работать не будет и тебе придется эти переменные объявлять и реализовывать самому - это называется полифилл.
Ну меня ебет, потому что в других языках апи среды(операционки) вызывается только библиотечным всяким кодом. А тут мне для самых простых вещей самому постоянно приходится дергать методы непонятно чего с хуй знает чем в сорцах.
Типа если быть конструктивны мне надо к этим апи, как к операторам языка относиться. Типа есть они и ниче с ними не сделаешь?
Ну вот а в жопоскрипте через жопу и исторически сложилось, что импортов нормальных не было и поэтому вместо библиотек насрали функционалом прямо в глобал скоуп. Плюс если ты импортируешь библиотеку, то ты подразумеваешь, что твое окружение тем или иным образом ее предоставляет, то есть по сути то же самое.
>Ну меня ебет, потому что в других языках апи среды(операционки) вызывается только библиотечным всяким кодом
Нет. Ты можешь сисколы дергать сколько душе угодно без библиотечного кода.
Аналогично во множестве прочих языков RTL всегда загружена в память по-дефолту, просто ты в своем коде явно прописываешь импорты, что ты хочешь использовать в том или ином модуле, потому что используешь статический язык, например.
>Типа если быть конструктивны мне надо к этим апи, как к операторам языка относиться. Типа есть они и ниче с ними не сделаешь?
Что ты с ними сделать хочешь? Че за хуйню ты несешь вообще? Перегрузить можешь. Можешь удалить из окружения текущего процесса - в паамяти все останется все равно, но тебе интерфейсы станут недоступны.
Ты несешь какую-то дичь, у тебя ниебические пробелы в знаниях.
Ну есть пробелы само собой. Я иначе бы не спросил.
Просто мне один жсер начал объяснять асинхронность на пальцах типа асинхронность без параллельного выполнения задач. Типа все евент лупа разруливает.
А я ему а лупа типа не параллельная задача? А он мне так же как вы - лупа часть среды и тебя ебать не должно.
Это прямо девиз языка - "тебя это ебать не должно".
Ну я с ним чуть не подрался короче. А тут можно спрашивать свободно такое.
API по определению интерфейс. Тебе надо уметь работать с интерфейсом, и не нужно думать о том, что там внутри.
Ты путаешь понятия "изучать JS" и "программирование под браузер, фронтенд". Это разные вещи вот совсем.
На бэкенде нет большинства браузерных API, зато у node.js есть своя большая стандартная библиотека, которой нет в браузере.
Это значит, что ты проваливаешься в слоях абстракций, при чем, проваливаешься, как тебе вздумается.
То, что браузер работает поверх ОС, а ОС поверх железа определенной архитектуры тебя почему не беспокоит? Проваливайся сразу на уровень опкодов, и доебывайся до того, почему у одного польхователя твой код будет использовать SIMD операции, а у другого нет.
Или научись мыслить абстрактно и не мешать хуй, как детородный орган, с мочеиспускательным каналом, который в него встроен (а может и нет, если ты мутант).
Все, что тебя должно волновать в конкретный момент времени это ИНТЕФРЕЙС того уровня абстракции, с которым ты работаешь.
>асинхронность без параллельного выполнения задач. Типа все евент лупа разруливает.
Внизу эвентлупа лежит пул тредов, которые вполне себе могут работать параллелльно, если позволяет окружение. Это твой код, который дергает эвентлуп работает в отдельном ОДНОМ потоке. Но это совершенно не значит, что задачи которые ты пушишь в очередь тасок лупа будут выполняться в том порядке в котором ты их запушил в него, или не параллельно. Зависит от того, что именно это за задачи.
> асинхронность на пальцах
Тебе в чат однокассников все твои друзья пишут хуеву тучу сообещний, но читаешь ты их и отвечаешь им в одном потоке, не всем по порядку. При этом пока отвечаешь, может прилететь новое сообщение, но обработаешь ты его лишь тогда, когда ОСВОБОДИШЬСЯ от выполнения текущго, и если пере ним вдруг нет более приоритетеного.
Попробуй включить голову. Каким место тех поддержка связана с разработкой? Ты с тем же успехом можешь пойти в аэропорту продавать бургеры и мечтать стать пилотом. На вкат уйдёт минимум 6-8 месяцев, если ты готов за 20к сайты-визитки на jquery ковырять. Вкат на джуна в более-менее норм место займет 8 - 16 месяцев фултайма. Стоит добавить, что в говностудиях особого смысла нет. Ничему ты там толком не научишься и отметка о работа в ИП Пахом твоё резюме не украсит. Лучше ищи работу в дс и понаезжай. Именно в таком порядке. Через год-полтора можешь уже на удаленку перекатываться и в своё село возвращаться, если захочешь.
Компилятор будет ругаться на any. Это единственный путь? Как вообще с тайпскриптом обрабатываются данные от запроса по сети?
Ну вот, нагуглил.
https://quicktype.io/typescript - пойдет?
Один хуй придется делать лишний файл в котором один только интерфейс этой хуйни. Да и то блять, АПИ позволяет исключать некоторые данные из ответа, придется потом вопросики проставлять во всех строках.
Пока тс-шиз ублажает анальный компилятор и ставит вопросики, не понимая, зачем ему тс сдался вообще, жс-альфач просто парсит жсон и работает с тем, что пришло без задней мысли.
Я вот пописал на ТСе пару месяцев, теперь вообще не могу писать на жс. Это блять просто невыносимо.
Альфачи обязательно тупые что ли по-твоему?
если пописал на любом статике с сильной типизацией языке то ванильный жс потом кошмар
>2000 полей
Ты как с этим работать собрался вообще? Ленивая собака, сделай интерфейс для своих 12 полей, ничего тут сложного нет.
>Ты как с этим работать собрался вообще?
Как-то придется.
>Ленивая собака, сделай интерфейс для своих 12 полей, ничего тут сложного нет.
Иди в пизду, если бы там было 12 полей, я бы даже не спрашивал.
>Как типизировать данные с сервера? Вот я получаю с сервера объект, там 2000 полей. Как мне тип этого объекта указать?
Написать скрипт, который автоматически определял тип данных и генерирует тип для TS. Еще можешь сначала сгенерировать JSON Schema, и уже при помощи нее создавать тип.
Если говно назвать шоколадом тоблерон оно всё так же будет вонять и вкус у него от этого не изменится.
ну да. очередь - структура, а цикол задача.
Типо я - не я, все вопросы мамка(браузер) решает.
Челик выше мне все верно так то сказал, про то что у многих языков операционка многие вопросики решает.
Но тут какой-то прям заоблачный уровень несамостоятельности. Непривычно как-то.
Рискни, если это лучше твоей текущей работы. Не особо верь, тому что пишут в вакансиях. Раньше работал в техподе. Случайно наткнулся на обьявление со старой работы. Заливают, что через полгода все становятся тестировщиками или аналитиками. Полная чушь. Не могут предложить ничего особенного, вот и кормят обещаниями.
У большинства языков есть рантайм, который за тебя овер чего решает. Даже у zero overhead языков вроде си или раста есть rtl.
>Непривычно как-то.
Это не непривычно называется. А узость кругозора.
Вместо того, чтобы просирать штаны в треде с нелепыми вопросами, давно отправился бы в википедию изучать разницу между встраиваемыми языками и всеми остальными. Об этом специально для тебя написали прямо на странице о том, что такое Язык программирования, чтобы ты вопросов не задавал. А ты эту страницу даже прочитать не удосужился.
В useEffect получаю данные с сервера. Для получения этих данных, мне нужно вставить в фетч пару переменных, которые выдергиваются из стейта. Ну вы поняли, да? useEffect ругается на exhaustive deps, если не впихнуть в массив зависимостей те самые данные из стейта. Проблема в том, что как раз перед фетчем, данные в стейте изменяются, итого получается вместо одного запроса на сервер целых 6. Поясняю:
1й запрос - инишиал стейт, сервер присылает чушь.
2й запрос - первая переменная изменилась, сервер присылает чушь.
3й запрос - вторая переменная изменилась, сервер присылает чушь.
4й запрос - третья переменная изменилась, сервер присылает чушь.
5й запрос - четвертая переменная изменилась, сервер присылает чушь.
6й запрос - единственный правильный и нужный запрос, когда все 5 переменных имеют корректные значения.
Как это пофиксить? Если хуй забить на экзостив депс, то фетч данных выполняется с инишиал стейтом, забивая хуй на ожидание, пока там что-то вытащится и вставится в строку запроса.
Очень интересно слушать про аргументы от сущности, которая сама приводит аргументы уровня НИПАНЯТНА.
Интересный кстати вопрос. Найдешь-напиши сюда.
Я бы на твоём месте постарался всё-таки именно в джуны/стажёры разработчики вкатиться. Ты так будешь прямо на работе улучшать навыки вместо проёба 8 часов на унылое и бесполезное общение с клиентами техподдержки
Изучай стандартную библиотеку ноды, express, потом nest.js + typescript, библиотеки для работы с вебсокетами, базами и очередями, аутентификацию и авторизацию
2000 уникальных полей с уникальными типами? Тебе там апишка всю базу данных выблёвывает что ли каждому пользователю? Проект изначально без тс писался? Имеет ли вообще смысл типизировать всё это говно?
В опциАнальный тип
d3 же
Звучит как наебка что бы закрыть вакансию в своем колл центре, там всегда большая текучка. Но сходи на собес и узнай че там, если адекватные люди собеседуют то выводы сам сделаешь
Застрять на тухлой работе и смириться со своим положением гораздо легче, чем тебе кажется, не попадайся в эту ловушку.
>как мне типизировать данные приходящие с сервера
Надо установить валидаторы на данные, во фреймворках они уже должны быть в том или ином виде, хз, бэком особо не занимался
А так TS это статическая типизация, но она все равно слабая а не сильная
В том и дело, что там компилится-то? Функционально этот тс продолжает работать? Конструкции вида function func(value: string) { console.log(value)} во что-то превращается или просто все типы исчезают в рантайме? Бабель там что-то транспилирует или нет?
Получается тс только для разработки нужен и в райнтаме после билда там вообще ничего от него не остается что ли?
Статическая типизация спасает от ошибок во время компиляции
Сильная типизация - от ошибок во время рантайма
Иди на Жаву тогда
Что у тебя за терминология? Сильная/слабая типизация это же не про рантайм, а про неявное приведение типов и складывание ужа с ежом
Это же вообще разные вещи. Я не улавливаю тут связи.
Или ты про что? Ты делаешь запросы к своему беку? Выдавай токен индивидуально после авторизации. Хули ты там изобретаешь
>1) Описание проблемы
Любой хуй из интернета может нажать ф12 и узнать мой АПИ ключ.
2) Твоя цель
Секс с няшной тян.
Я думал об этом, но хз. Это микропет. Стоит ли поднимать бэк чисто ради того, чтобы 1 ключ спрятать. Если начнется какая-то ебатория, то я смогу просто ключ поменять да и все. Неприятно, но не более.
Обычно же разворачиваешь тян, а там монада...
есть вот
axios.all(реквесты).then(callback)
Реквесты начинают выполняться одновременно.
callback начинает выполняться когда все реквесты ответят.
axios.get().then(callback)
начинает выполняться сразу
Но если их зацилкить в цикле то они будут один другого ждать
Мне надо чтобы реквесты начинались одновременно, а каллбэк срабатывал по мере выполнения каждого ревеста, а не ждал самый медленный
сильная в рантайме складывание ежа с ужом выплюнет ошибку, а слабая сложит, а ты сиди и думай откуда эти данные вообще берутся.
Изза таких уебанов как ты люди и ненавидят вас айтишников-инцелов ебаных.
Вместо того чтобы помочь выёбываешься.
Почему вы все такие сойбои?
Если в обработчике оставить просто две функции, то вторая срабатывает быстрее чем первая
Специально для таких, как ты, айтишники написали тонны подробной документации, статей и литературы. А ты, вместо того, чтобы пойти и прочитать это все, бегаешь по форумам с нубскими вопросами и, брызжа слюной, предъявляешь претензии о том, что тебе не хотят разжевывать примитивные вещи или поискать за тебя.
Тратить время на тебя - это неблагодарное дело и Сизифов труд. Потому такое и отношение.
В целом, твоя реакция в цитате
> айтишников-инцелов ебаных.
лишь подтверждает твой уровень развития и то, насколько ты заслуживаешь подобного отношения к себе.
Какой же ты уёбок.
Специально для таких как я придумали форумы, чтобы на них спрашивать вопросы которые вызывают затруднение, а ты уебан сидишь тут и потешает своё ЧСВ вместо того чтобы помогать и дать нужную ссылку, что в прочем проще чем писать тонны гавна.
Ты пытаешься делать, не зная основ и требуешь тебе что-то объяснить, даже не открыв learn.javascript. Иди читать базу, всё разжёвано десять раз. Promise, блядь, race.
Ох, ну ты и высрал в тред.
Да нахуй мне твоя база нужна мне надо сделать один раз и забыть навсегда эту хуйню и тебя
Ну тогда иди нахуй.
Очень странный код. Зачем setState делать внутри промиса? Что тебе мешает вызвать search тоже с аргументом?
Я вообще другой чел, если что. Но теперь согласен с тем, кто отвечал тебе выше. И у тебя ещё рот открывается говорить что-то про ЧСВ. Какой же стыд.
Я дурак чтоли уносить деньги ЧСВшным тварям.
Давай, нужно больше оскорблений. Это конечно новый уровень тупизны. Тебе уже сказали, что тебе нужно, но ты всё равно исходишь на говно. Просто образец бесполезности и агрессивности. Кек.
race только один ответ возвращает, а нужны все.
Ты о чем?
Проект на жс выглядит как зоопарк фреймворков, тулзов и плагинов. Если ты думаешь "сейчас 2 дня поразбираюсь и заебашу приложение", то ты пиздец как не прав. Ты заебешься нырять в этот деревенский сортир, прежде чем вообще хоть что-то напишешь.
>бестпрактисы должны же быть
Хз, что ты понимаешь под "бестпрактис".
Бестпрактис это обмазаться реактом или ангуляром. Все это собирается через вебпак (ебля с которым это совершенно отдельная песня, потому что иногда этот пидорас работает через жопу по чисто магическим причинам). Хорошо бы еще обмазаться styled components или хотя бы модульным ксс. Ко всему этому до черта маленьких плагинов и всяких тулзов. Прямо сейчас в моем проекте (литерали 300 строк кода, одноклеточная функциональность) установлено 47 различных зависимостей и напердолено 10 конфиг-файлов.
Нет он не переусложняет. Всегда когда начинаю проект на работе наворачиваю сразу кучу дерьма.
мимо шел
все так и есть, а ты думал шутеечки про зоопарк фронтэнда просто шутеечки.
Быдло вкатывается во фронт. Ура.
Нет, все так и есть. И это еще без тестов. Блять, да просто зайди к Арчакову в гит и охуей.
https://github.com/Archakov06/
npm install isarray isnull isundefined
Я не придумал ничего лучше чем, делать числа строку, проверять ее длину, и если там 1 символ, то делать из строки массив, потом делать новый массив, в который на позицию первого элемента ставить 0, а потом расширять массив оригинальным массивом из строки, и из нового массива делать строку, которая уже возвращается из функции. Я перемудрил? Или норм? Есть ли способ сделать это проще?
Отсылка к объекту, о котором идёт речь в данном контексте (хз как ещё описать). В данном случае это label, соответственно, если вызвать функцию с аргументом label вместо this, то ничего не изменится.
Ты пытаешься использовать динамический this в том месте, где он у тебя статический. Или замени arrow function на FE, или ссылайся на екущий элемент иным образом.
И пиздуй перечитывать, что такое this, как он работает, и в чем разница между bound/arrow function и method\function
В твоем случае изменится. У тебя this указывает не на label.
Колхоз прототипирования, сначала думал каждому элементу задать уникальный id, потом передумал и временно оставил так. Там должен быть класс, конечно.
Т.е. в redux.js ? Просто я все время состояния хранил в одном месте с визуальными компонентами, сегодня узнал что стейты лучше вообще не хранить рядом с компонентами, а импортировать их из вне.
Некоторые пишут в иде вместо редактора
В чем отличие ООП от функциональщины?
Может кто объяснить подробно? Или статейку подкиньте подробную - почему хуки лучше классов?
спс
Потому что this - сложна, а замыкания - легко
На перформанс и синтаксис похуй
Классы не значит ооп
Функции не значит фп
Раньше были только компоненты с рендером и эффектами, теперь компоненты с рендером и хуки с эффектами
>Раньше были только компоненты с рендером и эффектами, теперь компоненты с рендером и хуки с эффектами
Ну так в классах был жизненный цикл, дидмаунт, дидапдейт. Можно было им напрямую управлять, шо типо заебись.
Щас жизненным циклом управляют хуки, у них все тоже самое, и дид маунт и дид апдейт дается. В чем разница то если делают тожи самое?
С точки зрения выполнения действий нихуя не поменялось. Если учитывать что хуки проще в использовании.
Короче из всего координального интересного что я нашел -
Классы когда рендрерят асинхронную функцию, рендерят стейт который пользователь может за время асинхронной функции изменить, и this. упадет новое значение, после чего класс отрендерит его.
А в функциональщине пока пользователь работает ничего для асинхронной функции не меняется, она какое состояние зацепила в момент своего вызова, такое и покажет. В классах не так.
Это кажется и называется побочными действиями, без которых просят писать функции
>жизненный цикл, дидмаунт, дидапдейт
Нинужна, потому что можно сразу смотреть на нужный state и props, без "а вот теперь новые пропс пришли. какие именно? разбирайся-ка сам"
>проще в использовании
Ради этого
Точно, спасибо братишка, в хуках мы видим изменяемый пропс и стейт а в дидапдейте нет, только сам факт. Спс
Ну короче я понял примерно для чего хуки и функции, проще отлаживать и читать, меньше незапланированных срабатываний не нужных, типо так безопаснее в целом, чем ковыряться в классах и искать че сломалось
Все работает по шаблону MVC
Undefined is not an operator.
я тупой, а что лучше для тупых? ПИТОН ИЛИ ДЖАВАСКРИПТ?
Открываешь в шапке треда руководство для вката, мотаешь в самый верх и изучаешь
На википедии прочитай про html как он появился и зачем, поковыряй его, если понравится учи js если нет питон
>Привет, двач. Рубрика вопросы от зелёного. Начал тут разбираться с нодой и наткнулся на странную фигню в модуле fs. Есть программа, которая создаёт файл в указанной директории с указанным текстом, а потом добавляет к этому тексту ещё текста, попутно комментируя это в консоли. По логике, сначала в консоль должно выводиться "Файл создан", затем "Файл изменён", но нода так не думает. Если запускать программу несколько раз подряд - порядок надписей меняется, хотя в файле, с которым я работаю, все изменения остаются идентичными. Почему так нахуй?
ПОЕХАВШИЙ
Сосоны, почему здесь this не работает? Кто знает?
Метод привязан через .call но всё равно не работает:
(function () {
this.removeAnsiCodes = function () {
...
};
}).call(AnsiHighlight.prototype);
Демо:
https://jsfiddle.net/0xcoder/hnsxb85o/630/
Ебанутый? Хранение ключа в .env как минимум позволяет другим разработчикам свои ключи при разработке использовать, а не твой.
Ну так пиздуй на эти форумы, что здесь забыл?
Самая базовая установка вебпака - 300+ либ. И это только чтобы выплёвывать 1 жс файл без трансформаций.
Во первых - какой нахуй вар? Используй лет. Во вторых - JavaScript the definitive guide тебе в помощь.
>Во первых - какой нахуй вар?
Воу, воу, а мы вам перезвоним тебе не прописать? Может заодно скажешь, нахуй мне нужно знать классовые компоненты в реакте в 2021 году от рождества Христова?
Единственное что ты должен знать по вар это то, что его не нужно никогда использовать.
>нахуй мне нужно знать классовые компоненты в реакте в 2021 году от рождества Христова?
Да, нахуй. Оно депрекейтед.
Всмысле жирнее? Это самая лучшая книга по жс.
Все эти детали легко понимаются после понимания замыкания.
Но так как у Кантора забивают хуй на объяснение всяких важных деталей, как например возврат значений у функций, то получается каша.
Стрелочная функция использует область определения в которой она объявлена, в отличие от обычной функции.
Видишь, вароеб? Я эту хуйню до сих пор помню, и я джавист блядь, но читал книгу носорога. И ты читай.
Да блядь, где вы собеседования проходите вообще?
Все эти ваши "нахуй не нужно" разбиваются о простейшие вопросы на собесе уровня:
console.log(a);
var a = 100;
console.log(b);
let b = 100;
И что вы будете делать? Просто молча срать в штаны на собесе? А вот оказывается, что референс еррор в этом случае выдаст именно лет, а вар отконсолит undefined.
Причем я понимаю, что много из этого именно что НАХУЙ НЕ НУЖНО, я уже работаю пару месяцев с знакомым челом, а вот собесов так и не прошел. Поэтому и приходится дрочить всю эту срань.
>Видишь, вароеб? Я эту хуйню до сих пор помню, и я джавист блядь, но читал книгу носорога. И ты читай.
Ну вот видимо и придется вароёбствовать с носорогами
>>07917
Понемногу разобрался уже, спасибо.
>>07916
Вот с этого у меня жопа и горит, что все знания даются фрагментированно, и ты узнаешь о важных вещах вообще случайно читая статьи на другие темы
Только так? Мб можно передавать часть типа, деструктуризацией какой, чтоб компилятор понимал меня с полуслова!? Тайпскрипт же умный должен быть
А чего тут плохого? Нода поддерживает модули, думаешь создатель вебпака будет костылить свой функционал на каждый пук (который ещё должен быть мультиплатформенный) только для того, чтобы список зависимостей пакету уменьшить?
Ты не ошибся? Консоль очищал? У меня на А выдаёт андефайнед. На Б референс еррор
Какой есть халявный или недорогой сервис деплоя кроссплатформы (ионик и реактнатив) в яблостор без мака? Гугл усиленно предлагает кодмаджик, какие у него подводные/альтернативы?
>Ты не понимаешь как работает hoisting что ли? Раздул драму из ничего.
Ты сам-то сходу сможешь ответить какой будет результат вот здесь:
var double = 22;
function double(num) {
return (num*2);
}
console.log(typeof double);
Какой тип у double будет? Уже чуть посложнее говно со всплытием начинает восприниматься и вот тут я раздуваю драму.
И вот дальше скажи, почему let всплывает точно так же, и точно так же будет присвоен undefined до присваивания значения, но обратиться к let нельзя будет.
И главное, что эта ебанина исключительно для собесов нужна. Да, я драматизирую
Как там пацаны? Стайлед компонентс все еще говно?
Любая реализация CSSOM будет говном, так это всегда оверхед с примесью жабоскрипта в стилях.
Ну, есть охуительная альтернатива в виде папки с миллионом файлов. 10 лишних строчек в скриптовом файле это плохо, а вот 200 модулей, это заебись.
>>07999
>>08011
По мне философия работы с CSS такая, если проект не большой и простота работы с кодом для кодеров не выливается ни во что серьезное на стороне клиента, то используйте стайледы. Если ты пилишь ёба гуглоамазоны, которыми будут пользоваться миллиарды людей, и каждая наносекунда отрисовки -100кк далларов дохода в секунду, то нужно ебаться с css и вылизывать производительность до предела. В противном случае это оверкилл либо в одну, либо в другую сторону. Если у тебя 2.5 страницы с 10 компонентами, сильно ли ты просрешь в производительности со стайледами?
Ну и мне кажется еще не пришло время того самого css решения, которое сначала было бы удобно кодерам, а потом при билде полностью компилировалось бы в pure css решение. Что и решило бы все проблемы разом.
>Ты сам-то сходу сможешь ответить какой будет результат вот здесь:
Я бы сказал первым делом, что это говнокод, который противоречит принципам чистого кода и использует устаревшие возможности языка, и человека который написал такой код нужно повесить. Нахуй ты ебёшь мозг deprecated поебенью? Никто не объявляет function и var уже, кроме отбитых кончей, которые учатся на ютубе по устаревшим роликам. Тебя ебёт, как интерпретатор работает? Ты думаешь, тебя ебать будут такими вопросами на собеседовании, вопросами в духе "что покажет console.log(+!NaN)"? Ты преувеличиваешь. Такие обдолбанные васяны вкатываются, посмотрев один спираченный курсик Буры и сверстав тудушку, а ты страдаешь ОКР на ровном месте.
Блядь, чел, ты не поверишь, мне именно что такие вопросы и задавали. Если бы ты увидел какую ебалу я сейчас делаю за гроши, вы бы тут всем тредом орали, вот ровно про то, что я тебе скинул и про ебанутые +!NaN. Про нан вообще был один из первых вопросов на моём самом первом собесе, но потом-то я гештальт закрыл. А вот сейчас планирую рабочие проекты допилить, сдать, и уже искать работу на удаленке во что бы то ни стало за нормальные деньги. Стек по которому я работаю сейчас - ts + next со всеми втекающими и вытекающими серверного рендеринга, немного возни с сервером и беком, вплоть до сборки докера. Я вообще в ахуе с того, куда я уже полез на этом проекте, и насколько это далеко от джуновского фронта. А вот потом приходишь на собес и тебе на полном серъезе ебут мозги, с тем, что будет в приоритете поднятия, пустая вар переменная или декларация функции, ммм, сука? Понятное дело, что там не все вопросы такого разряда, но изъебства порой бывают именно на уровне задач Пилы из ужастика. Как пример:
var a = 10;
function func() {
вот тут а будет = undefined
if(a) {
console.log(a);
var a = 5;
}
func();
Что выведет консоль? А нихуя не выведет, проверку не пройдет, так как вар станет сначала андефайнед, поскольку ифовый блок объявление вар проигнорит, и ему сразу присвоится новое значение undefined. А вот до присвоения var 5 = оно уже не доберется. И думаешь с такими ответами ты не будешь срать на собесе? Вопрос о том, нахуй мне нужен вар, после того, как я не использовал его ни в одной строке своего реального кода в своей жизни, мне можно не задавать, за такие вопросы у нас во дворе сам понимаешь что делают. И я собеседиантам тоже бы с радостью въебал, но мне не перезвонили. А по всяким шарагам теперь мотаться я уже и сам не хочу, так что буду нацеливаться на минимум уровень мидла, чтобы в приличное место взяли. Вот и приходится обмазываться всяким говном несвежим и свежим.
У тебя наверное эффект только при ховере возникает через анимацию? Можешь повесить на общий предок транзишн, а по ховеру менять само значение. https://developer.mozilla.org/ru/docs/Web/CSS/transition
Вот тут прямо есть примеры того, что тебе нужно
>, вот ровно про то, что я тебе скинул и про ебанутые +!NaN.
Блядь, пока текст редактировал, написал как шиз, в общем про вот этот самый нан меня спросили на моем самом первом собесе
С опытом приходит интуитивное понимание, на самом деле все элементарно. Как выше уже сказали, важно понимать замыкания и lexical scope, а не просто дрочить логику переменных.
надо понимать что все есть замыкания, но у типичного вкатуна нет понимания чем замыкание отличается от просто классических функции в других языках.
пиздец жса начинается когда пытаешься начать собирать это ебаное лего в проект, а скоупы это херня.
Пиздец, какие же в этом треде ебанашки сидят. Ну вот что ты несешь, ебанько.
Замыкание это объект. При этом все скоупы связаны прототипной цепочкой наследования.
Вешаю вместо body стили на * вообще ко всему применятся, на body не ко всему. Это помимо css modules еще внешняя либа materialze подключена, пиздец мусорка.
ну если брать функцию как объект да
Документацию пробовал открыть, дебил?
https://developer.mozilla.org/ru/docs/Web/API/Event/currentTarget
>Документацию пробовал открыть, дебил?
Бля, мне и в голову не пришло бы смотреть документацию, как и любому нормальному человеку. Наплодили объектов с одинаковыми названиями, так что теперь, на каждый микропук бежать 300 страниц доки перечитывать.
Сейчас бы этого не делать в 2021. Бэм-шиз, ты?
Не неси хуйни, пиздабол. Ты даже гуглить не пробовал. Ссылка на нужную страницу документацию в первой строке поискового запроса.
Ты тоталитарный неведа долбоеб,а не нормальный человек.
так понимаю почти все разрабатывают приложухи на рекате, соответственно и готовых компонентов в разы больше.
Дебич, мне просто поебать. Нахуя мне что-то гуглить, если я могу продолжить ковырять код и раз в 10 минут отвлекаться, чтобы рефрешнуть тред, и посмотреть, не ответил ли мне кто-нибудь краткой выжимкой в двух словах. Но тут, к сожалению, ты прибежал, и распукался ссылками на нахуй никому не нужный русский МДН.
Так ты же дебс, который без понимания что-то пукает про current target в реакте, хотя это нихуя не реактовсксая вещь. То есть тебе лишь бы высраться на тему, в которой не понимаешь, вместо того, чтобы сначала взять и открыть первую строчку из гугла
>Так ты же дебс, который без понимания что-то пукает про current target в реакте, хотя это нихуя не реактовсксая вещь. То есть тебе лишь бы высраться на тему, в которой не пон
Ты долбоеб, послушай меня блять. Я никогда в жизни этим не интересовался. Это раз блять. Это для меня сейчас имеет околонулевую важность. Это два блять. Вместо того чтобы что-то гуглить и читать, из того, что в ближайшие пару часов мне просто нахуй не нужно, я поступил умнее: я спросил в треде, где обычно вкратце отвечают по сути. У меня даже на сотую тысячную блять десятимиллиардную секунды не промелькнула мысль: "хммм, интересно пиздец, нужно это загуглить". Потому что мне сейчас это нахуй не нужно, долбоеб, ты правда думаешь, что гугл у тебя одного работает? Еще раз блять, если в твой микромозг с первого раза такая сложная информация не залезает: мне гораздо удобнее спросить в треде и пойти заниматься актуальными в данный момент вещами, а потом через какое-то время просто прочитать ответ, чем что-то искать в гугле. Какое блять из этих слов в твой ебаный альцгеймерный мозг никак не может забраться? Это три блять.
>У меня даже на сотую тысячную блять десятимиллиардную секунды не промелькнула мысль
Верно, потому что ты типикал дегенерат.
Ты пост печатал дольше, чем нашел бы ответ в первой строчке гугла.
Зачем ты так порвался бро? =)
Нет. Теперь я чуточку умнее, ведь я нашел главного душнилу треда и некст раз буду сразу слать тебя нахуй )
бамп вопросу. что лучше для mobile приложений?
const [update, setUpdate] = useState(false)
И далее условие перезагрузки
if(something) {
setUpdate(prevState => !prevState)
}
Есть ли НОРМАЛЬНОЕ решение? А то потом горит варнинг что update defined but not used.
Зачем тебе принудительно обновлять компонент? Вся суть компонента в том и заключается, что он обновляется только если прямые зависимости поменялись, если они такие же, то рендериться должно то же самое.
Мимо дроченый питонист на хую копчёный
>Блять, да просто зайди к Арчакову в гит и охуей
Это нормально - пересоздавать массив при добавлении элемента или проверять каждый элемент при удалении конкретного элемента? Я знаю про иммутабельность редукса, но от такого все равно не по себе. Не обоссут ли за такое на собеседованиях, или для фронтенда это норма?
>deno
Не приближайся к этой параше на пушечный выстрел, пока она не взлетит (а она не взлетает).
Лучше всего - иди в ООО "Рога и копыта" и поработай полгодика за еду, а потом ищи куда перекатиться.
Алсо, чем в питоне занимался, почему перекатываешься? Вакансии же есть.
мимо фуллстак на жс, нет ни чулков, ни пояса верности
Я б за такое по голове настучал, не важно, фронт или не фронт. Дичайший жор производительности на пустом месте.
Алсо, soa - баззворд из нулевых, не используй его. Серверлесс гораздо моднее.
> Алсо, чем в питоне занимался,
Ничем. Формально я не программист. Я просто знаю питон на +/- неплохом уровне, чтобы пройти собес. Из примечательных проектов это постилка на сосач с апи антикапчи и сайт на джанго, который проходил тесты на одном самописном сайте https://10.edu-reg.ru/login/ на 100%. В последнем случае я просто изучал джанго, а мне просто нужен был бэк на питоне, т е и fastapi, и flask сгодились бы.
> почему перекатываешься? Вакансии же есть.
Потому что хочу знать еще язык. Си и прочие знаю поверхностно и уходить дальше написания скетчей для блядуины не планирую. Жаба говно, го огрызок, хаскел для шизов, руби убер. Выбор не велик. А js как фюрер в вебе, но на нем еще можно писать (вставить любую модную зумерскую тему).
По образованию полухуй, полу техник по компутерным системам. Писать код выгоднее, чем ремонтировать телефоны всяким Ахмедам и тетям Ларисам, а кушать я хочу
Логично. Одна большая просьба - никогда, никогда блядь не прячь ссылки и вообще кликабельные элементы под спойлеры.
Вообще есть еще как минимум сишарп (который на тс внешне очень похож) и котлин (привет, мобилки). Но если хочешь именно ноду (которая довольно сильно отличается от браузерного жс) - мой тебе совет, запили какой-нибудь проект для личного пользования, на работе или дома. Игру вот простенькую например. Заодно и практические навыки до минимального необходимого уровня подтянешь. И скачай еще vscode (чтоб код писать), впили туда eslint (гугл -> vs code eslint) и поставь github desktop (чтоб на гитхаб проект заливать) Все, собственно.
Юзаю vscode уже давно. Хотя зачем, если есть vim Пару вялых реп на гитхабе есть (впрочем, есть мысли перекатиться на gitlab). Да и вообще неплохо шарю за оба самых популярных ребенка пидераса Торвальдса. Котлин это онли ведро, а мне такое не заходит. Решетками обмазываться не позволяет религия, да и зачем писать прикладное по на шарпе, если есть електрон можно этого не делать.
А вообще ты попал прям в точку, анон. Моя цель на ближайшее время это накидать пару проектов в портфолио, чтобы потом слушать довольное урчание эйчара на собесе. Я посмотрел интервью одного бекендера жабаскриптизера и тогда собственно подумал "а почему бы и нет".
Возможно, мои проекты для личного пользования слишком специфичные. Если мне что-то нужно это или парсинг данных, или эксплоит (см мой пост выше) или браузерный кейлоггер на js.
Т е как ты понял, я умею много чего, но абсолютно все довольно хуйово. Поэтому настал час выбрать что-то одно и практиковать до уровня, когда нестыдно
>Возможно, мои проекты для личного пользования слишком специфичные. Если мне что-то нужно это или парсинг данных, или эксплоит (см мой пост выше) или браузерный кейлоггер на js.
Да нихуя кстати, проекты как проекты. Минимальное владение инструменом демонстрируют.
>электрон
Страдающая от ожирения реактогадость, node-webkit гораздо лучше.
Кст, а почему гитлаб? На гитхабе ж нормально.
Мб .NET и не такая плохая штука и я просто не знаю, но от энтерпрайза просто тянет чем-то очень нехорошим. Можешь понюхать жабу и го и то же самое будет. Геймдев на шарпе онли юнити, а юнити кал (мне так на ютубе сказали). Да и вообще вряд ли что-то кроме win ориентированных приложений получится писать, ибо mono говно без задач и под юниксы на шарпах не пишут
Гитлаб дает возможность бесплатно создавать приватные репы. Да и вообще стильно модно молодёжно
upd да и вообще логотип лисички лучше, чем маскот сквидварда с усато волосатым ебалом. Базарю я питон выучил, из-за прикольного логотипа
>Гитлаб дает возможность бесплатно создавать приватные репы
Эээ, так это и гитхаб умеет сто лет в обед. Да и вообще они по функциям идентичны. Не, ну если из соображениц стиля - то перекатывайся, но лично я обычно ожидаю увидеть код на гитхабе.
>от энтерпрайза просто тянет чем-то очень нехорошим
Или энтерпрайз, или веб, или геймдев - что еще-то. И кстати каждый вставит тебе свой, особенный хуй в жопу.
Изучай стандартную библиотеку ноды, express, потом nest.js + typescript, библиотеки для работы с вебсокетами, базами и очередями, аутентификацию и авторизацию
>>08584
Это нормально при работе с редаксом, так и должно быть
>>08596
Какой там жор производительности, три килобайта памяти, который GC быстро высвободит?
>>08629
> Жаба говно, го огрызок
Лол. А я наоборот с ноды на го ушёл. А жаба тебе чем не нравится? А сишарп?
Да я тот самый челик на 50к, который тут по основному недавно бегал, лол. Вкатился через одного своего знакомого, который посадил детальки чертить, а потом такой "слыш а у нас погромисты есть" - ну я и перепрыгнул
>Какой там жор производительности, три килобайта памяти, который GC быстро высвободит?
Ладно, не жор, мне просто такой код не нравится. Так лучше?
> А жаба тебе чем не нравится? А сишарп?
Энтерпрайз. Впрочем, у шарпа хотя бы лицо не индусское
> typescript
Меня на самом деле волнует этот вопрос. Его стоит учить параллельно или как? В таком случае чую, что в голове будет каша
redux-toolkit
js не очень хорошо знаю
>Это нормально при работе с редаксом, так и должно быть
Мой вопрос был в том, почему это стало нормой. Для туду листа может быть и похуй, но есть много ситуаций, когда такой подход убьет всю производительность. Как, например, это будет работать с бесконечной лентой, особенно если юзер прокручивает ее уже в течение часа?
Сборщик мусора удаляет из памяти старый массив. Единовременно будут существовать максимум два таких массива, при копировании старого чтобы создать новый и добавить туда новые элементы, затем старый можно выбрасывать. Но да, редакс это жуткое отродье ФП-шизов
Да хз. Я тоже так думал, а потом начал с ним работать (ну, не совсем с redux, c ngrx, но паттерн тот же). И для здоровых фронтенд проектов, особенно когда состояние компонентов взаимозависимо - крайне удобно.
Если ты хочешь принудительно обновить компонент, значит это очевидно какой-то антипеттерн и ты хуйню каку-то придумал. А потом делают мемасики, где у них реакт плохой
В манямирке жсобдебила миллион файлов волшебным образом превращается в 10 строчек кода. Видать там твой говнофреймворк научился мысли макаки читать и автоматом подставляет наборы правил в элементе.
>Если у тебя 2.5 страницы с 10 компонентами, сильно ли ты просрешь в производительности со стайледами?
Если у тебя 2.5 страницы, нахуй тащить говнолибу в проект?
>Ну и мне кажется еще не пришло время того самого css решения, которое сначала было бы удобно кодерам
Так давно пришло, вон даже в сасс завезли модули, всё как макаки любят. Проблема в бутстрап архитекторах, которым хочется скачать либу "сделать заебись", так как каскадность и селекторы - сложна.
>Страдающая от ожирения реактогадость, node-webkit гораздо лучше.
Причем тут вообще реакт? Они оба основаны на движке хромиума, приблизительно одинаковые по производительности и могут работать с любыми фреймворками. Только электрон намного популярнее, имеет отличную документацию и больше фичей.
Этот код можно абстрагировать в функции чтобы не писать каждый раз. Например, первый case на скрине можно вынести в функцию "добавить к концу массива".
// Было
retirn {
state,
...items: [...state.items, action.payload]
}
// Cтало
const append = (item, array) => [...array, item];
return {
state,
....items: append(action.payload, state.items)
}
Все подобные функции давно уже написаны в перфомансном виде в ФП библиотеках: https://ramdajs.com/docs/#append
А то как на скриншоте это просто самый примитивный варик для туду-листа чтобы вкатунам понятно было.
Проебался с спредом, ну вы поняли
return {
...state,
items: append(action.payload, state.items)
}
Оказывается, люди чтобы не держать открытой консоль используют отдельный софт для запуска ботов в фоне. Но нахуя нужен этот костыль, который ещё и ошибки сам может генерировать, разве не проще запускать через демона?
Кто-нибудь это использует. Поясните, нахуя.
const doSomething = async () => {
const someData = await fetch(someOtherData)
openModal();
dispatch({type: someAction, payload: someData})
}
по паттернам и алгоритмам можешь любой почитать, но алгоритмы на фронте редко используются.
тыж блять сам всё только что по пунктам ответ расписал
Пиздец, автор этого текста считает, что у него трёхзначный айсикью? Лол! Смерть от кринжа.
Не пробовал написать вместо dispatch({type: someAction, payload: someData}) на
await dispatch({type: someAction, payload: someData}) ?
Консоль лог тоже не работает, нихуя не выводит, хотя модал открывается. Я мейби и ждун, но я не тупой, я такие вещи сразу проверяю. Бтв, я теперь на 100% понимаю все прелести TDD, прямо чувствую, что нужно в тесты вкатываться. Вот написал функцию, а она не работает, почему хуй его знает. С редуксом хоть в дебагере можно было бы глянуть, а с useReducer только хуй пососать можно
<form th:action="@{delete}" method="post">
<input type="hidden" name="id" th:value="${item.getId()}" />
<input type="submit" value="Delete" class="btn btn-danger" />
</form>
Есть вот такая кнопка, для удаления юзера, ее логика примерно такая же как мне нужна, для edit, в edit на данный момент я пишу все также и есть функция onclick, которая остается на экране, только если type="button", но id всегда одинаковый.
Так вот проблема в том, что мне нужно в модальное окно передать id юзера. Как поступить? Спасибо за любые советы
Изучаю ts. Начал с понятного - tg api. Стянул один реп и пошел изучать. И я охуел сначала, что у всего есть типы и это очень удобно, а потом с того, что у message нет атрибута text. Знатно бомбанув пошел курить доки и наткнулся на это объяснение (пик). Т е не каждое сообщение имеет текст и это нужно отдельно проверить, а vscode мне сама об этом сказала. И охуеть, но атрубут text появился (sic!) в if блоке проверки! Учите ts, посоны, ts сила
Иногда читаю сообщения всяких аутистов и сначала не понимаю что они хотят. Надо бы забить хуй, но я в итоге погружаюсь в тему, думаю мало ли что-нибудь интересное. В итоге хуета какая-то.
Твои завышенные ожидания находятся только в твоей голове, типо это твои личные проблемы.
Я например все написанное здесь воспринимаю иначе. Для меня априори все написанное тут не интересно, но я прочитаю и будет здорово если там что то интересное окажется.
Т.е. хорошие сообщения для меня тут исключение
Я, а не наоборот. Попробуй так ж мыслить, может легче будет жить
var vowelsCount = 0;
function getCount(str) {
return (str.match(/[aeiou]/gi) || []).length;
}
console.log(getCount("abv"));
console.log(vowelsCount);
Можем, без каких [] ?
сделай console.log(null || []) поймёшь
Да вот знаю, я заебался уже с этим нуллом, ленгтх которого меня посылает нахуй сразу.
Вот я это решение с [ ] нашел и интересно стало почему это работает. Вроде понял, а вроде и нет.
А как лучше сделать, не подскажешь? Раз уж это такое себе решение.
Код здесь https://replit.com/@PureMonk/ThreadbareModestTruespace#index.js
(нажимаем на вкладку code)
Дебаггер в модале ничего не дает. Никаких аномалий.
Прописал дебаггер в асинхронной функции, которая получает данные и открывает модал и заметил одну хуйню.
Во время диспатча экшона модал уже существует (на экране он уже отрисован, все заебись), но не открывается если нажать на него в реакт-дебаг-тулз (или как-то так, расширение для хрома), пишет "Could not inspect element with id XX". При этом в самом модале есть дочерний компонент, куда и отправляются диспатчером экшоны, так вот, его на этапе диспатча нет даже в реак-дебаггере. То есть экшен уходит, все заебись, но никуда не приходит, потому что приходить не куда. Хотя на экране компонент уже отрисован, все заебись. Вот это меня пиздец сбило с толку вчера, я весь день думал, что косяк в редюсере, который неправильно обрабатывает экшон.
Как это можно пофиксить? Пробовал сделать обернуть функцию-диспатчер в setTimeout, это нихуя не сработало. По прежнему компонент отрисовался, а изменений стейта нет. И, на всякий случай, это не ошибка в "применении "стейта", если из реакт дебаггера изменять стейт вручную, то все изменения видно.
1) Ковырять ноду и уйти в бек
2) Задрочить верстку и пробовать вкатиться на работу в какой-нибудь Тинькофф или Яндекс.
Правильно ли я оцениваю ситуацию? Насколько вообще в 2021 году актуальна верстка? Можно ли не задрачивая ее стать фронтовиком 300к в секунду?
>RTFM
Так я и REED этот MANUAl. И вот в какой момент нахуй применять article, а в какой section?
https://developer.mozilla.org/ru/docs/Web/HTML/Element/section
https://developer.mozilla.org/ru/docs/Web/HTML/Element/article
Есть сайт, на ней форма авторизации, как мне сделать проверку формы на правильные логин и пароль, логины и пароли хранятся в файле.
Спасибо
Кому ты пиздишь?
Даже по приведенным тобой ссылкам ясно и четко написано, что section это дочерний элемент article. Что на что ты менять собрался?
Привет! Все очень просто, тебе нужно всего-лишь нанять человечка за денежку, который все это сделает.
ну ты сам подумой чо хочешь то - если в управление, то я бы еще попрошарился в ноде, покодил бы и там и там, посвыкся бы с подходами к разработке, пол-десяточка лет бы так поработал, решая разные по стеку, уровню организации и сложности, задачки. а потом уже искал где-нибудь место лида. короче, оба стула. какбы, эта работа такая, где ты товар и ты стоишь столько сколько ты можешь сделать. а если ты можешь всё от "покрасить кнопочку", до "разработать архитектуру системы управления миром", вот тогда ты будешь 300к/нс. Ну либо если будешь пиздеть складно, но сейчас не об этом.
А еще меня поражает как люди смотрят на вёрстку. типа это вообще какая то отдельная хуета, которая собой и составляет фронтенд. Блять, давай посадим тебя в разработку какой-нибудь внутренней приложухи с параллельной разработкой своего ui/dev-kit'а. да тыж засохнешь там без своего material.
имхо, ты, как разработчик пользовательских интерфейсов, да и просто как разработчик, обязан стремиться к глубокому пониманию всех своих инструментов разработки.
>имхо, ты, как разработчик пользовательских интерфейсов, да и просто как разработчик, обязан стремиться к глубокому пониманию всех своих инструментов разработки.
Угу, если не выучил на зубок сырцы всей тысячи пакетов своего вебпаковского конфига, то ты не вротендер вовсе.
кароче, если речь идёт не о проверке на истинность (if там или тернарник), то эта штука работает так, что она по очереди приводит значение к булю и передаёт первое истинное. в случае null || [] это массив, в случае 0 || null || undefined || [].length || 'хуй' это 'хуй'. почитай про приведения типов и вот это
https://learn.javascript.ru/logical-operators
про лучше, хз. я бы либо таким способом воспользовался, либо str.split(regexp).length - 1. но шо то уродливо, шо это. я не знаю зачем разработчики жабаскрипта сделали такую неконсистентную хуйню, что match может возвращать либо массив либо null, но блять, сделали, живи с этим
Ты сначала вкатись, а потом про зп спрашивай.
ну не, не настолько конечно. жизни не хватит всё так задрочить.
Это скорее к тому, что чем больше ты знаешь про свои инструменты разработки тем быстрее ты будешь, собстна, разрабатывать. и тем меньше твои шансы выстрелить себе в ногу
Господа, реквестирую помощи, на проекте используются сокеты с низким значением таймаута, пользователи переехали с ишака на chrome с его новомодным троттлингом скриптов при неактивной вкладке, в итоге пользователи шуршат в другой вкладке читают документы, возвращаются назад, а приложение отвалилось по таймауту. Как решать сию досадность? В лоб - повышать таймаут? Или как то элегантно можно? Галочки в хроме ставить не вариант, они с обновами слетают.
юзайте сокет.ио, там страховки и фаллбэки на все случаи жизни.
использую его десять лет, никогда ничего не отваливалось.
Это нормальный, но весьма устаревший подход.
Уверен, что тебе действительно нужен спрайтшит? Как твой спрайтшит ведет на экранах с разным dpi? Уверен, что растр это твой выбор в 2021 году? Уверен, что его нельзя заменить специализированным шрифтом-пиктограм, или набором svg?
Да не, у меня игра браузерная, придумываю реализацию игрового поля из тайлов. Сейчас там вообще канвас, но чет подумываю перейти на DOM и css, а то больно много матана. Благо, поле довольно статичное.
Фух ебать разобрался, самописный сабскрайбер при обновлении вызывался без аргумента, в который надо передавать стейт. Ебать мой хуй. Я пошел спать.
Короче, я ебал. Хоть обосрись, компонент загружен, отображается на экране, но в процессе дебага недоступен, экшоны туда тоже не уходят. Что делать, я не ебу. Кто-нибудь сталкивался с такой хуйней?
В модале есть компонент. И есть функция, которая открывает модал с компонентом и диспатчит туда (через useReducer) некоторые данные. Данные не доходят. Компонент отрисован на экране, но недоступен из реакт-дебаггера, есть включить хромовский дебаггер и поймать момент диспатча экшона.
Не сработало. Ну я хуй знает. Есть еще идея, но это пиздец геморрой, отдельный компонент пилить придется. Если никто не знает, что делать, то придется пробовать.
Щас накидаю по-быстрому.
>отдельный компонент пилить придется
Разве в этом не суть реакта - пилить отдельный компонент при возникновении сложности?
Ну типо будет 2 одинаковых компонента, которые отличаются на 1 функцию. Ну охуенно, заебись.
>>10583
ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ.
>>10514
Вот, накидал, точь в точь имитирует мой код, и тот же баг, не диспатчит в модал.
Модал здесь это, если что, открывающаяся форма quote of the day.
https://codesandbox.io/s/charming-breeze-cgp80
Захотел покрыть свой проект автотестами, но влип.
Мне надо как-то при запуске сайта, ещё до того как все прогрузилось сунуть в <script> нужный мне скрипт, который замокает некоторые методы.
И я не могу докумекать как это сделать.
1. Webdriverio умеет запускать скрипт на странице и он срабатывает, но только после того как вся страница загрузилась. К этому моменту приложение уже решило что метода нужного нет (потому что его изначально не было, а потом появился).
2. Думал в сторону прокси сервера, который будет инжектить нужный скрипт, но не могу понять как его заставить работать и видеть трафик локального дев сервера реакта на localhost:3000
Есть идеи?
Нет в объектно ориентированном композиции. Только наследование и агрегация. Композиция - это чистое ФП.
Двощ, помоги. Изучаю промисы и вот такой затык. Как сделать так, чтобы вывело 1, потом ['x'] не оборачивая остальные функции в .then в setTimeout?
Ты говори промису делать одновременно и микро таски и макро таски, что бы микротаски шли в ряд пиши promise.then(микротаск).then(микротаск).then(микротаск)
Макротаски нужны ток для выполнения асинхронных функций типо таймаута и запросов
>>10726
Я вроде как разобрался. В моем случае надо было возвращать промис в каждом then, тогда получается цепочка и все идет чередом.
З.Ы. А где есть хороший материал по промисам, чтоб примеры были связанные с DOM-деревом, работа forEach в then и прочее. В основном везде, где натыкаюсь примеры недостаточно информативны, кмк.
Ой, это я наверное обосрался уже чисто на codepen, завтра посмотрю. Я же с нуля писал, а не копипастил.
Ух, не только лишь он экономит два символа на каждом объявлении, так еще и несколькл перменных на один let! Иногда конечно видимо лишний раз шифт то зажимает для кавычек, но не всегда! Еще и wsl на дебиане для двух файлов, лол
А он так и передается, если transaction будет undefined, то и в объекте он такой будет.
Забавно как это кореллирует с тем фактом, что нет пробелов в for и скобках функции, сам по себе for в 2021,
Очередной пруф что let-дауны просто слабые кодеры, которые не в состоянии понять почему важно подчеркивать непереприсваемость.
Есть массив, пусть будет [1, 2, 3, 4, 5]
Из этого массива нужно получить массивы
[1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 3, 4, 5]
Как это можно сделать?
>АРЯЯЯ FOR НИКРУТА! НИКРУТА ЯСКОЗАЛ!
>Почему?
>ДА ТЫ СЛАБЫЙ КОДЕР ПРОСТО! СЛАБЫЙ! СОСАТЬ НАХУЙ! FOR БЛЯТЬ НАХУЙ!
>Ты можешь конкретно сказать что с ним не так?
>БЛЯТЬ ДА ЩАС ЖЕ 2021! НЕ 2020! FOR ОН ЮЗАЕТ АХАХАХ СУКА САСАТЬ
ааа, так это получается можно сказать просто на тру проверка. спасибо большое
Поясните почему в блок скопах лучше делать лет и конст чтобы они оставались локальными? Вар же будет удобнее по идее, разве нет?
У тебя ничего не должно было заработать, так как нельзя вызвать промис как функцию. Если у тебя там "return promise", то ты просто возвращал тот промис, который у тебя записан в переменную "promise". А заработало у тебя всё, потому что в твоем коде значение, записанное в промисе, никак не используется. То есть ты просто написал обычный код, но по ржачному засунул его в then'ы
А ты попробуй
Тоже не понимаю в чём проблема. Его разве кто-то использует кроме как для циклов?
Хотя если таким удобно через ваил писать однострочные циклы, то ладно. Правда код читать пиздец
if (mode === "development") {
injectScript()
}
в главном бандле.
Или добавить entry в дев конфиге вебпака.
Про бабель и тс там в ютубе не слышали вообще да? Пиздец, еще поддерживаемость кода вручную писать будем?
Не слушайте его, вас этим варом заебут на собесах старые пердуны, кодящие еще с середины 19 века. В работе он не будет использоваться никогда
> кароче, если речь идёт не о проверке на истинность (if там или тернарник), то эта штука работает так, что она по очереди приводит значение к булю и передаёт первое истинное.
> если речь идёт не о проверке на истинность (if там или тернарник)
А если о?
Блять. Я понял где я обосрался. Я с какого-то хуя решил, что все редюсеры, работают как в редуксе. Т.Е. Доступные для любого компонента, что useReducer(x) в одном, и useReducer(x) в другом компоненте, это один и тот же редюсер который находится где-то во вне. Я блять забыл, что это просто хук в одном из компонентом. Пизда.
А как можно наебать систему и воспользоваться тем редюсером из другого компонента?
>А как можно наебать систему и воспользоваться тем редюсером из другого компонента?
Написать его в отдельный файл и экспортировать.
> Бля, вот или я долбоеб, или я долбоеб не могущий в базовые алгоритмы
> Есть массив, пусть будет [1, 2, 3, 4, 5]
> Из этого массива нужно получить массивы
> [1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 3, 4, 5]
> Как это можно сделать?
function* combs(arr) {
for (let i = 1; i < 2 arr.length; i++) {
yield(arr.filter((item, index) => i & 2 index));
}
}
// разумеется, не для слишком длинных исходных массивов, но для них ты в любом случае охуеешь хранить результаты.
Блядб.
function combs(arr) {
for (let i = 1; i < 2 arr.length; i++) {
yield(arr.filter((item, index) => i & 2 * index));
}
}
Думал о первом варианте. Но мне это надо делать во время тестов, а не просто захардкодить через дот енв.
Есть ли тут знатоки, можно как-то проксировать и перехватить запрос на локалхост?
Лол, ещё лучше.
Попытка №2:
function* combs(arr) {
for (let i = 1; i < 1 << arr.length; i++) {
yield(arr.filter((item, index) => i & 1 << index));
}
}
Ок, я сделал так:
export const useCustomReducer = () => {
const [state, dispatch] = useReducer(reducer, initial state)
return {
state,
dispatch
}
}
В двух компонентах импортирую этот useCustomReducer и делаю так:
const {state, dispatch} = useCustomReducer();
dispatch(something)
И все еще при открытии модала экшон не доходит. Это потому что я ОПЯТЬ использую две РАЗНЫЕ инстанции одного редюсера (кастомного хука)? Если да, то как надо-то его экспортировать, я чет не пойму? Хуки можно писать либо в кастомном хуке, либо в компоненте, а из компонента нельзя экспортировать.
Окей, новая проблема.
У меня используется валидация из react-hook-form. Когда открывается модал с переданным стейтом (и стейт отображается, все заебись), то нужно прокликать по всем полям, иначе будет ошибка required. При этом в поля можно даже ничего не вводить, сверх того, что там есть, достаточно просто прокликать, типо "активировать" их. Это мой первый опыт работы с react-hook-form, кто-нибудь знает как эту хуйню обойти? Есть идея искусственно зафокусить все три поля из кода и остановить фокус на первом.
Это нормальный UX. Никто не хочет при открытии формы получать в лицо 200 ошибок. "Я еще ничего не нажал, а ваша форма уже кричит на меня"
>Это нормальный UX
Я не понимаю. Это обвинение в том что я говно сделал? (мейби так и есть).
>Никто не хочет при открытии формы получать в лицо 200 ошибок.
Ну так получается-то наоборот. Поля формы заполнены, но если их отправить, то выскакивают ошибки, которых быть не должно, потому что поля не пустые.
Да, я не так прочитал, см пост выше
>useForm({ defaultValues }) если данные есть сразу, если не сразу то form.reset({ defaultValues })
Аааа, вон оно что. А я тупо из стейта читаю значения формы.
А вообще, это разве не одно и тоже? Что я меняю стейт и читаю его, что я буду читать стейт в default values?
Нет, одни хуй, ничего не помогает.
Блять проблема странная какая-то, будто бы форма (вернее функция валидации) не воспринимает введенное значение, до тех пор пока форма не зафокусилась. Даже если в инпуте уже есть значение, react-hook-form его не видит до тех пор, пока форма не попала в фокус. defaultValue, настройки режима валидации и перевалидации - ничего не помогает.
Причем эта ошибка связана только с required, другие способы валидации подобных ошибок не генерируют. Есть эксперты по react-hook-form? В чем тут дело?
При чтении из стейта, форма не считает, что инпуты пустые, до тех пор, пока поля не попадут в фокус. Учитывая, что форма по-дефолту фокусируется на ошибке, то приходится несколько раз кликать на submit или руками кликать по всем полям.
Что в коде? Куда мне смотреть в коде? Я ничего особенного не сделал, форма 1 в 1 как в getting started на странице react-hook-form.
Вот пример инпута:
const options = {
required: {
required: "Required field",
}
<input className="input" type="text" {...register("input", options.required)} value={state.input} onChange={handleChange} />
{errors.input && <span className="input">{errors.input.message}</span>}
Ну конечно там такого нет, там и форма кукольная. Я не думаю, что onChange и value, что-то настолько разъебали в коде react-hook-form, что форма перестала воспринимать value до тех пор пока на ней не сфокусируешься.
Вот нашел такой пример https://jsfiddle.net/gxab98nq/ Работает если сортировать по авиакомпаниям(carrier)
> ...items.map(n => n.carrier) ])];
>items.filter(n => filteredBrands.includes(n.carrier));
Как изменить, что б сортировать по пересадкам?
Два вложенных фор лупа и slice по индексу. Изи
Вы видите копию треда, сохраненную 3 июня 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.