Это копия, сохраненная 23 декабря 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Перезадам вопрос.
Слышал ли кто нибудь о такой конторе как reelmotion games?
Было достаточно лайтовое и простое тех собеседование, я уже забил хуец, хоп и тут оффер.
В гугле инфы о ней ноль, очковато как то, с учетом релокации из мухосрани в ДС-2
В жесе нету многомерных масивов, только jagged.
Хуй знает, что ты там "поправил", вроде бы и там и там норм
вот фул гайд + картинку надо сохранить. если копируешь, то размер растёт
material-ui, но там реакт ешо нужон. эмм bootstrap если без реакта
Чурка, ты?
Мне нужно в сервисе условных товаров получить пользователя айдишник которого, передается в функцию. Собственно вопрос, можно ли как-то использовать ЮзерРепозиторий внутри сервиса товара?
Чаю вам.
Blazor если .NET. Только тихо, а то так ЖС макаки без работы останутся.
Да.
Я запрещаю писать тебе юнит тесты и требую, чтобы ты валялся на диване и кушал конфеты
Настолько тупой вопрос или что?
вот с тяганием железок или диетами всякими всё просто - делать определенные действия и будет счастье, а как стать прогером я так и не понял, лол, хоть и окончил айтишный бакалавриат и 1 курс айти маги.
что делать?
типа я прокидываю функцию, тестирую его в другом компоненте, но coverage мне на эту строку ругается
Что же вы так любите коллбэки внутрь атрибутов пихать. Неужели нет места инициализировать функцию и передать в атрибут (а потом протестировать её)
Вообще у меня в соседнем компоненте так и сделано. А эту никак коллбечную протестировать нельзя?
Просто я ее тестирую в этой basicInpute и не вижу смысла второй раз здесь еще тестить
i у тебя не в обработчике (ещё и без ключевого слова).
govno - это не обработчик. Обработчик - безымянная функция.
Ели тебе нужно считать количество нажатий на каждый див, то это знание нужно где-то отдельно хранить, а не в одной переменной на всех.
Подскажите, почему такая байда. Вот код страницы и ее отображение в FF (актуальной версии).
Почему-то латинские буквы в label отображаются русскими! Хотя в плейсхолдере все ок.
Что за магия?
Половина SO забита жквери ссаниной.
>>148257
>>148270
Вот, гляньте, даже в кодпен такая же байда, если открывать FF.
Если открывать хромомъ, то все ок.
Вот сам код, попробуйте у себя вставить в https://codepen.io/pen/
Может это у меня в системе какой-нибудь червь подэкранный кодировки выгрыз.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form>
<input type="text" placeholder="Username">
<label>Username</label>
</form>
</body>
</html>
Может у тебя шрифты наебнулись в винде. Или у тебя ФФ какая-то кастомизированная с ломанной кодировкой. А может ты в конфиг ФФ лазил и что-то накрутил.
Попробуй в CSS задать фэмили фонт какой нибудь который есть у тебя с латиницей.
Вообще странная ебота
По идее не шрифт, т.к. шняга только в тегах label. Во всех остальных тегах все пучком. Конфиги у ФФ не крутил. Но на всякий случай попробовал зайти под нулевым профилем - и та же фигня :|>>148360
Да, в опере у меня тоже норм. И в хроме.
А вот в ИЕ11 та же хурьма! Права была бабушка, когда советовала на линукс перекатываться X__X
Я тебе говорю, залей как зип архив, а не скопипасть.
Ну и попробуй там подобавлять всяких других символов, цифры там или ещё какую хуйню.
Залей на хост, если есть. И зайди по адресу в фф на сайт. И проверь, будет ли так же.
Я слабо представляю, что тебе нужно.
Хранить количество нажатий можно тупо в html или сделать мемоизацию. А если нужно сохранять данные при перезагрузке страницы - то в storage.
https://jsfiddle.net/e84t7vjq/
Вот самое простое в html.
>>2147882 →
При итерации по массивам используй методы массивов, типа foreach/reduce и т.п. Если у тебя вложенные циклы или еще какие-то вычисления внутри, то выноси колбеки в отдельные функции и как-нибудь их вызывай. Можешь погуглить про функциональное программирование https://www.youtube.com/watch?v=2QAUAZ5qgJM
Конечная цель такой работы с циклами в том, чтобы твой код при чтении не нужно было фактически писать второй раз у себя в голове, а можно было бы просто понять всё взглянув на него поверхностно.
Например вместо твоего цикла могло быть что-то вроде
const sum = arr.forEach(sumAllNestedNumbers)
И соответственно если внутри этого коллбека sumAllNestedNumbers нужно еще разделять логику, то и там создавай отдельные именованные функции и вызывай их. Т.е. такой код можно понять всего лишь посмотрев на названия методов и коллбеков.
Заодно сразу скажу на будущее, поскольку это относится к тому же правилу по сути, не используй "магические переменные", т.е. если у тебя где-то в коде есть что-то вроде input.height + container.height - 20, то вот это вот "20" нужно вынести в константу, и назвать как-то отдельно, например const INPUT_SPACER = 20, и использовать уже эту переменную, чтобы потом ни ты сам, ни твои коллеги не думали о том, а что же это число значит и откуда оно нахуй взялось.
Сап аноны, хочу запилить свою борду на JS.
Функционал будет такой же как и здесь (ну не считая рекламы лол): много борд, в них множество тредов на которые можно отвечать (с поддержкой гринтекста и всего такого), возможность бампа\саги И Т.Д.
На фронте я выбрал Реакт, а вот с серверной частью не определился - либо Нест, либо Експресс. Еще не до конца продумал структуру БД ну это наверное нужно спрашивать не здесь.
Может у кого-то есть идеи какой стек подобрать (другие языки не рассматриваю), какие подводные и всё такое? С меня как обычно.
99% борды - БД. А что ты там используешь для пропукивания записей БД конечному пользователю - абсолютно однохуйственно. Так что тебе как раз надо начинать с моделей БД и их структурах, а стек уже потом прилепишь.
Почему эта девочка такая недовольная?
class UserProfile {
constructor(
public name: string,
public age: number
) {}
}
class TomProfile extends UserProfile {
name: string = 'Tom'
constructor(age: number) {
super(name, age)
}
}
Говорит, что name не существует, возможно вы имели ввиду статическое поле TomProfile.name? А с каких хуёв оно вдруг стало статическим?
Я и сам хочу это понять, вот урок который я смотрю, я вообще не ебу нахуй блядь в пизду откуда он это взял, я таких примеров вообще нигде больше не нашел, посмотри тут, в комментах только 1 чел про это написал, но ему он ответил, что ты где-то проебался.
https://youtu.be/wTwPThKzu-U?t=236 вот тут ссылка с таймкодом.
Как это должно быть сделано правильно?
Вон же выше код. Я в итоге в производном классе просто обращаюсь к статическому полю через TomProfile.name
т.е.
constructor(age: number) {
super(TomProfile.name, age)
}
Коменты под видосиком почитай, там же написано что автор не запускал код и вобще лолкек.
super(name, age) - name здесь это window.name. У тебя видимо нода?
>super(TomProfile.name, age)
>Property 'name' does not exist on type 'typeof TomProfile'.(2339)
Ну и как, работает?
Ну в общем у меня всё работает, пока что и так сойдет, потом разберусь уже во всём подробнее
Заебись работает
Нахуй вообще лезешь в тс, особенно в классы, если даже не знаешь синтаксиса жсовских классов?
>не отличаешь тайпскриптовский сахарок от тела класса
>если даже не знаешь синтаксиса жсовских классов
Бинго!
А самое охуенное значешь что? Готов? Готов? Воздуха набрал? Что после собеса об этом точно так же можно будет забыть нахуй как и до него. Потому что, кому нахуй нужны классы? Ебало представил моё?
Вроде кайфанул когда типизировал максимально точно, но выглядит ужасно.
Что можно сделать с этим?
Вынести объявление типа в отдельный интерфейс.
Самая хуевая дока, которую я когда либо читал. Её специально, видимо, писали, чтобы ещё больше нихуй не понять и обобраться.
лол что? ты почитай доку экспресса, а потом ещё какого-нибудь говна неизвестного наверни
Ребят, всем привет. Хотел посоветоваться, с кем-то из опытных. Как и многие сегодняшние джуны, после курсов начал искать работу. Спустя месяц, десятка тестовых дали первый оффер. Hr сказал о зп, назвал цифру 45к, трудоустройство черное(то есть зп просто переводом на карту). Стек был vue. Я согласился и с радостью начал работать. На радостях взял платный курс по вью, в академии
Работа удаленка, задачи не сложные, верстка, написать часть функционала и правка багов. Спустя почти 1,5 месяца, после прихода первой зп, я удивился ее размеру. Она была 25к, спросил у начальника, он сказал для джунов у нас 25, а hr не наш, и он работает за сделку. И типо с опытом, повысим тебе 2х. Но не в ближайшее время.
Теперь вопрос к вам, это у многих джунов так? Это норма текущего рынка работы?
Пишу сюда, так просто хотел услышать разные мнения и советы
место действия - Москва
Нет. Это нихуя не норма. Тебя наёбывают, особенно по меркам Москвы. Никаких гарантий повышения они тебе не предоставили.
В моем мухосранске джунам без опыта 25к платят, это правда. Но суть в том, что тебя уже hr наебал. Что мешает им тебя ещё раз наебать? Короче я бы ушёл на твоём месте, но поступай так, как считаешь нужным
- css modules
- styled-components
- styled jsx
- emotion
Хз, все джуны хотят получить хоть какой то опыт, чтобы потом уже рассматривать договора и говорить за норм зп. Поэтому при первом оффере, хочется просто сесть и работать, а не тратить ещё не пойми сколько времени, чтобы найти что то другое...
Ничего не подсказывает. Я просто почитал introduction каждого из них. И я хочу узнать какой из них самый мэйнстримный, чтоб под него готовиться.
ну пока видимо так, я не искал идеальный вариант с белой зп, релокейт на бали и полный пакет дмс. Просто есть знакомый, который уже год работу ищет, тоже идеальную. И вот вооружившись чужим опытом, я вышел на рынок труда
Как по мне из всех зол css modules - меньшее зло. Реализация выглядит несуразно, по сравнению с тем же vue или svelte, но что поделать. А так хз на самом деле. Везде по разному. Тебе самому какой подход нравится? Ты же наверняка доку по ним читал
Ну, я introduction только прочитал каждого из способа стилизации, дальше СЛОЖНА, там что-то про server-side-rendering пишут.
Я SSR не понимаю. Просто хочу научиться вёрстку, стили под Next.js делать. Позже попытаюсь после изучения стилей познать SSR.
Из прочитанного показалось, что styled-components, styled jsx, emotion - это ничуть ли одно и тоже. Показалось очень похожим друг на друга. Показалось, что css-modules - это немного другое, чем остальное.
Просто узнать хочу, что самое мэйнстримное, чтоб попасть в моду.
Бамп вопросу про юнит тесты
> Просто узнать хочу, что самое мэйнстримное, чтоб попасть в моду.
Смотри, где плашки блм висят.
>Просто узнать хочу, что самое мэйнстримное, чтоб попасть в моду.
На
https://risingstars.js.org/2020/ru#section-all
Нету там
Не знаю, в курсе ли ты, но Там рассматривались либы с плашкой css-in-js. Css modules не относится к этому подходу
>rs school
Погуглил, все бесплатно обучают всему и сразу, потом еще и трудоустройство, неужели все так идеально и нет подводных?
Ну блен, вера в бога-машину, омниссия, механикусы, стремление к технологиям, вот это всё
Он хотел сказать (но поскольку аутист, не смог) что массив массивов не то же самое что и многомерный.
W3schools ебош, там по шагам. Мне помогло понять основы.
Хотелось бы какой-нибудь пример реализации того как (и на чем) делать, чтобы по нажатию кнопки не просто отправлялся POST запрос, но и ответ на него записывался в переменную, а потом с этой переменной было if условие для показа пользователю новой формы. А то я по основной специальности от веба далёк и нагуглить что-то подобное, чтобы на примере разобраться не выходит.
https://youtu.be/OrxmtDw4pVI
Не частично, а полностью.
Получить данные из формы: https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormData
Отправить данные на сервер: https://developer.mozilla.org/en-US/docs/Web/API/fetch
А шишндошс разработали индусы. И че теперь?
Так сходи и посмотри как сделано.
Обычно так и делают, только с айди. Ну или юзают какой-то общий функционал аплоада картинок и в поле аватарка пихают её имя/айди.
Не понял? Там же вроди сеньоры из говноепама обучать должны?
Чет какой-то пиздец происходит.
Смотрю вакансии по москве на ждуна реактера. Везде ебаное вью. Везде устаревшее говно (бэм, гулп, жиквери и прочее). Где реакт, там стоят ебанутые требования вроде того, что у (джуна!!!!!) должен быть 1 год опыта командной разработки. Плюс почти везде реакт-натив и в задачах для джуна стоит разработка ux дизайна, верстка по макету надизайненного, собственно код, и еще приложение на мобилку запилить. То есть кабан хочет на 30-40к нанять раба, который ему с нуля запилит дизайн, верстку, функционал, приложение на мобилку. (Спасибо что пока бэк пилить не надо). И это не считая всякой ебанутой хуйни, вроде того, что на половине вакух, хотят чтобы ты еще и сидел, по БЭМу придумывал ебанутые названия классов вроде: top-navbar__inner-wrapper_menu__navlist__navitem__link-green-round. Это пиздец. Я хуй знает как мне работу искать
>запилит дизайн, верстку, функционал, приложение на мобилку
Ебать это так сложно? Или ты хотел ковыряя в носу писать обработчик на кнопку и получать 300кк сек?
>Спасибо что пока бэк пилить не надо
Дело времени, всё популярнее становится, чтоб чел сразу делал react + express или nest
Ебать, я хотел будучи джуном выполнять обязанности джуна, а не дизайнера, верстальщика, джуна и отдела по разработке мобильной хуйни. Вот это я охуел, да? Да еще и ВИЛКА 30-40к меня не устраивает.
То есть кабан нанимает миддла-фулстека, называет это "джуниор фронтэнд" и платит 30к имея прибыль как с продажи героина? Мммм, кайф.
От фронта хотят чтобы он занимался фронтом а не только дрочью на реакт, вот это новость
Найс подмена понятий. То есть выполнять работу дизайнера и разработчика под ведро это фронт, а пользоваться одним из инструментов разработки фронта это не фронт?
>То есть выполнять работу дизайнера и разработчика под ведро это фронт
Да
>а пользоваться одним из инструментов разработки фронта это не фронт?
Каким ещё инструментом, что не фронт? Ты блядь мысли научись выражать.
И кстати, скрин вакансии в студию.
Ой ясно, дурачек тролит. Сам пишет про реакт и через 5 минут делает вид, что не понимает о чем идет речь.
Портфель собрал?
Сначала Вася один делает дизайн, верстку, логику, и все тоже самое под мобилки и конечно же бек для мобилок, ведь хуй разберешься что потребуется запросить с мобилки и как оно вообще будет работать. Ну и времени нет! А потом дизайн расползается, модальные окошки не открываются, в поле ИМЯ ПОЛЬЗОВАТЕЛЯ выводится null, мобильное приложение через пять минут работы падает... Конечно же Вася виноват, плохой работник.
> на ждуна реактера. Везде ебаное вью
Как же заебал фрейморкодроч. Разницы между реактом и вью фактически ноль целых ноль десятых. Если нормально умеешь в что-то одно, сможешь и в другое.
Да нихуя. Будешь ебаться первое время и брак клепать. А потом все уйдет в релиз кривое и косое ибо времени нет доделывать, а ты еще не успеешь уволиться чтобы с горящей жопой на проде не править по ночам.
А если Васе ещё и сказали чтобы он для всего этого написал свой браузер, свою ОС, своё небо и землю, как хорошо что Вася не живёт в манямирке.
Пока что бывает кабаны в манямирке живут, так как реальная ситуация и прошлого описана. Но скорее это всего артефакты управления, кода хотелки кабана вот в таком виде до разработчика доходят. Просто всем (менеджерам) пох.
Ну хуй знает в чем ваша проблема. Писал на ванилле, jquery, backbone, extjs, angularjs, react, vue и ещё паре самописных говен. После всего этого вуй это просто отдых.
> ебанутые требования вроде того, что у (джуна!!!!!) должен быть 1 год опыта командной разработки
Это абсолютно нормальное требование, джуниор - это младший специалист, а без опыта - стажёр/интерн/trainee
Ты может хотел сказать "опыта работы с хуйнянейм"? Потому что после года КОММЕРЧЕСКОЙ разработки так-то мидлами становятся.
Если устраивался на фронта, а занимаешься и беком в том числе то это хуево. А если хуево делаешь свою работу то кто ещё виноват то.
Да так то понятно, что если Вася в говно наступил, то это сам виноват.
Или въебывай или уебывай!
Ну хуле делать, качаю курс по ux/ui и реакт нейтиву. Буду вписываться в рыночек.
> Везде ебаное вью.
Ты на джуна вакансии смотришь, какая тебе разница? Почитай доку, поделай пет-проект и откликайся, тебе в любом случае полгода ментор будет сопли подтирать, прежде чем дадут относительную свободу действий. Да и в эко-системе вуя даже в наксте такой ебучий зоопарк, что все равно на другом проекте по-другому делать все будешь. Главное в js уметь хорошо, верстку знать и не начинать пускать слюни при виде задач на асинхронность и алгоритмы.
Адекватных людей в дс2 вообще нихуя не найти, приходят на собесы такие овощи с айтишными корочками, что плакать хочется. Пользуйтесь моментом, вкатуны.
Зделой чтобы доллары падали как снег.
Да там размер массива небольшой, но твой вариант лучше конечно
>Адекватных людей в дс2 вообще нихуя не найти
>25 тысяч нормальная зарплата, поворачивай обратно!
Покажите нормалный пример мобильной версии какого-нибудь приложения которе не тормозит как тварь и им можно пользоваться? Какой смысл в мобильной версии если в 99% получается хуйня.
Сделай чтобы попобава летала и от мышки убегала.
Судя по моему опыту, всем более-менее похуй, лучше сделай что-то более объемноё по работе, чтобы можно было оценить, как ты там с редуксом работаешь, как архитектуру выстраиваешь. Т.е. не обязательно большой сайт, но чтобы было что оценивать в целом. А дальше уже главное базу хорошо выучить, чтобы на собесах в штаны не срать. Лично у меня даже со сранным мувисерчером сделанным очень всрато и хаотично были приглашения на собесы, а вот на сами собесах я уже обсирался по полной, и лучше бы больше времени на изучение основ тратил
>можно
Разрешаю.
> Только вот код, на гитхаб ссылку давать что ли, для удобства?
Да как хочешь все равно всем похуй
themoviedb
Но имей ввиду, мувисёрчер это уже почти что мем. Что-то типа тудушки или hello world. Впрочем, всем похуй
Мне 2 недели назад дали тестовое мувисерчер написать кек, в понедельник выхожу на работу за сотыгу
Но я где то прочел что с версии 2.1 тайпскрипта такие модуль если не имеют файла типов- получают тип any и компилируются. Это так?
Есть ли какой то способ изъебнуться и без файлов делараций подтянуть модули ноды в тс код? Чисто естество испытательский интерес.
И еще - когда уже в один тс модуль подтягивается другой тс модуль допустим - export {Cats} from "./modules/cats"; То если тип Cats не определен - тс все равно его подтянет и сбилдит - типизируя его как any. Почему он так не может сделать с JS кодом?
>зареквайрив
Надо import
>Есть ли какой то способ изъебнуться и без файлов делараций подтянуть модули ноды в тс код? Чисто естество испытательский интерес.
yarn add @types/node -D
>Почему он так не может сделать с JS кодом?
JS говно
Всем похуй? Блин, ну главное что можно
А что, форумы нужны чтобы тебе помогать? Есть чо, так выкладывай, нет, так иди нахуй.
> а только советует не делать вообще/забить хуй/а зачем те
Правильно советуют.
Теперь вопрос - как мне эту ебанину поделить на массивы? На форуме вычитать про "метод split", но нихуя не понял как им пользоваться в моемслучае. Че подскажете?
Как ты блять будешь этот путь передавать другому скрипту?
А зачем те, по факту?
Схуяли?
text.split(/\n\n\d+\n/)
Нахуй собственноручно конкурентов взращивать? Пиздуй как деды сам всё пердоль, опездал.
Что лучше: пойти работать на любую дноработу, попутно пытаясь в фронтенды, на любой стек(предпочтительно вуе), либо пойти обычным версталой, а потом уже как-нибудь в фронтенды(в моих фантазиях версталой в разы проще стать/быстрее)?
Знаю жс, вуе, верстку, щупал php, sql'и, другие неймтехнологии, которых я не знаю, но которые учатся за вечер, язык подвешен, ебало прищявое, но приятное, мама сказала.
https://www.youtube.com/c/CulesCoding18/videos
У него для новичков хорошие видео, объясняет медленно, материал несложный, видео короткие. Показывает как пощупать новичку азы material UI и next.
мимо-35лвл вкатун
нет, компания у которой свои продукты, я на поддержку. Пригодился мой небольшой опыт любительского парсинга на ноде
поддержка - в смысле допиливать функционал и искать ошибки. Контора в Москве, я сам нет.
Пока в отеле капчую, но это дорого, думаю сегодня найти какую-нибудь в пределах 25. А зачем эта информация? При устройстве на галеру требуют прописку? Или что-то типо?
Нет. Расслабься. Просто ты сказал, что жить тебе максимум 2 месяца. Хотел уточнить, ты снимаешь хату или нет
Входные данные: Есть небольшой опыт вёрстки, в основном одностраничников и статичных сайтов на бутстрапе, знаю базовый JS на уровне простеньких задач из туториалов, однажды юзал jquery. Ну т.е. по факту вкатыш конечно, т.к. опыта коммерческого программирования нет.
Что хочу: Вкатиться в настоящий фронтенд, твёрдо и чётко. Есть вариант, куда могут взять без формального собеседования (не блат, хорошо себя зарекомендовал на том проекте, но не как разработчик), если я освою Ангуляр и TS.
Вопрос: Понимаю, что для лучшего освоения, лучше сразу начать пилить свой проектик на ангуляре, вместо сотен часов просмотра туториалов. Унылый шаблонный блог пилить не хочется или с этого и стоит начинать? Или лучше всё таки сначала повторить руками что-то из туториала, а потом уже пытаться делать самому? Есть аноны, вкатившиеся в ангуляр с околонуля? Буду рад любым советам.
Для того, чтобы учить какой-то фреймворк предпочтительней сначала нормально знать JS. Знаешь ли ты как работают промисы, контекст исполнения, event loop, this, классы в ES6? Если да, то можешь начинать учить TS и только потом Angular. Если ты не знаешь или знаешь плохо вышеперечисленное мною, то за TS с Ангуляром тоже, конечно, можно садиться, но во-первых, приготовься страдать, а во-вторых, будь готов при любом удобном случае закрывать свои пробелы.
Благодарю за ответ!
>Знаешь ли ты как работают промисы, контекст исполнения, event loop, this, классы в ES6?
Поверхностно всё знаю, но кроме this ничего на практике не использовал. Ну я в принципе готов закрывать пробелы, но для начала как раз их для себя и нужно определить по ходу дела.
А как TS учить лучше? Я просто почитал про него, посмотрел примеры, по факту это вроде просто надстройка над JS с добавлением строгой типизации. Т.е. не вижу принципиально разницы и например почему нельзя сразу начать учить TS и пробовать писать на нём, вместо того чтобы перед этим дрочить JS?
> Т.е. не вижу принципиально разницы и например почему нельзя сразу начать учить TS и пробовать писать на нём, вместо того чтобы перед этим дрочить JS?
Во первых, сам TS довольно объёмный и ты будешь распыляться. Если еще и слой онгуляра добавить - вообще пиздец. хотя, ангуляр может приучить к ООПшному и "взрослому" стилю с пеленок, меньше шанс стать реактодебилом и есть шанс перекатиться в бек.
Во вторых, ты не поймешь чем TS хорош и зачем/когда нужен.
Но, если у тебя СРОКИ ГОРЯТ, то вкатывайся как ты и описал, потом подтянешься.
Я сам с бека вкатился в ангуляр довольно легко, до этого, конечно, изучал и сам ЖС еще пожилой даже без летов и сдали нормальный проект на нем. Но мне знания АСП (бека) очень помогали, конечно, как минимум по верхам.
>А как TS учить лучше?
Официальная дока норм
>почему нельзя сразу начать учить TS и пробовать писать на нём, вместо того чтобы перед этим дрочить JS
Банально, чтобы набить руку и хорошо понимать разницу между языками. А то будет у тебя в коде spread оператор, а ты такой "вау какая пиздатая фича в TS", а это часть JS уже давно. Ну и вообще не всё пишется на TS сейчас.
"allowJs": true
>Знаешь ли ты как работают промисы, контекст исполнения, event loop, this, классы в ES6?
Так, оцените миня лол.
>промисы
Ну промис это что-то типа асинхронщины. Мы создаем екшн, оборачиваем его в промис, который позволяет нам подписываться не результат выполнения без блокировки потока выполнения. Как правило, полезно для всяких ИО операций. У промиса есть несколько результирущих колбеков типа онерор, саккес и т.д. Можно их группировать через всякие вейтОлл для паралельного ожидания тут, наверное слово "выполнение" не подходитт?. Модный асинк/евейт - сахарок над промисом, где обработчики, по сути, создаются неявно самим ЖС. Ну в мискростасках будет выполняться еще. После завершения екшена промис диспозится ну тут отличие от обсервабла
> контекст исполнения
Бля. Тут зис еботня имеется ввиду? Хотя зис отдельным вопросом.
Ну у ЖС немного ебанутое поведение с зисом, где оно может меняться взависимости от места вызова. Типичный пример: какой-то онклик хендлер будет иметь в зис сам евент нажатия, а не ф-цию/контекст/класс в которой создан. Можно играться с аплай/байнд.
>event loop
ЖЕсный таск шедулер. Есть стек ем... обычный... для обычных синхронных функций, есть макротаски для всяких таймаутов и онкликов?, есть микро для промисов. Очередь выполнения такова- "обычный" стек 1 выполнился - смотрим макро, есть завершенный - выполняем один - смотрим микро - есть завершенные, выполняем все.
>классы в ES6
Эту хуйню пррдумали жукропы. Попытка изобразить нормальный ООП с подтягиванием старой легаси прототипной системы. Имеет все теже свойства и проблемы (типа ебнутого зис), что и предущие прототипное говно. И, посколько в жес нетипизирован имеет спорную ценность.
Вы мне перезвоните?
Так блин, в чем прикол этой операции на последней строчке? Нахрена мы Date.now() делим на 1000? Я понимаю если б мы сложили Date.now() с 60х60 - это получается время на 60 минут вперед с настоящего момента. Но нахера делить на 1000?
Ангулар довольно сложный в архитектурном плане фреймворк. Тайпскрипт классная вещь, но тут трабла в том что ты не поймешь почему. Плюс геморрой с настройкой.
Если тебе вот прям два месяца порви-сраку что бы взяли - пили бложик по туториалам. После как устроишься на работу - на каждом повороте ты будешь отлавливать по 50 косяков, которых ты вообще не будешь понимать, и будешь по каждому ковыряться по полдня. Будет море боли - но ты уже будешь в работе, и работодателю не будет выгодно тебя менять.
Не запутывай его. Тайпскрипт это в первую очередь дипизация, и только для нее стоздавался. А что бы понять суть типизации - это нужно сожрать ложку говна без. Навасянить какое нибудь свое, забить на неделю - вернуться и понять что ты нихуя не помнишь, и у тебя какое то неподдерживаемое говно. И тут тайпскрипт и ооп как манна небесная. Я с пхп бекенда перекотился на нода бекенд. Типы это необходимость.
>Я с пхп бекенда перекотился на нода бекенд
На какой фреймворк? Норм отнеслись к тому что ты ранее только на пхп писал а не на жс?
мимо пхп-петух, думающий о перекате в ноду
промис - это в первую очередь паттерн. Вшитый в стандарт js.
контекст выполнения -нихуя не еботня, а очень важная вещь.
классы js не совсем сахар над прототипами.
nestjs, typeorm
>>Норм отнеслись к тому что ты ранее только на пхп писал а не на жс?
Я ранее и на ноде писал, чисто для себя. Всякую ерунду, но много времени в ноде копротивлялся, дрочился с потоками, событиями и прочей поебенью, и js знал, хотя и кусками, но основы знаю уверено - промисы, работу лексического окружения, this и прочее. А на пхп - ларавел и слим, свое приложение навасянил в своей конторе ( морда на вью ) - им до сих пор пользуются. Пытался в ООП-е , читал Зандстру. Шла фабрика через билдер.
А вообще я довольно таки нубас. Тяжело пока что пишу. Работа связана с хеадлес-браузерами. Так что я теперь могу бота написасть.
Миллисекунды перевести в секунды? Надо было вторые скобки на 1000 умножать
Если await это просто сахарок, то перепиши плез вот этот код на промисы и then:
async function func() {
let res = 0;
for (let i = 0; i < 100; i ++) {
__const value_1 = await foo_1(i);
__const value_2 = await foo_2(i);
__if (value_2 > value_1) {
____res += value_2
__} else {
____res += value_1 * i;
__}
}
return res;
}
>Нахрена мы Date.now() делим на 1000?
Date в миллисекундах возвращает timestamp. Делем на тыщу - получаем секунды
п.с.
Много спрашивали про ооп, а на современном пхп, если ты не баран которому лень, можно очень здорово развернуться в этом направлении.
>промис - это в первую очередь паттерн. Вшитый в стандарт js.
Справедливо.
>контекст выполнения -нихуя не еботня, а очень важная вещь.
Ага, "особый" путь жэса.
>классы js не совсем сахар над прототипами.
А что еще? Вот тут вот говрят, что сахарок онли.
Вот тут что-то пытаются объяснить https://www.toptal.com/javascript/es6-class-chaos-keeps-js-developer-up
Но я увидел только то, что в инстнсе класса есть метаинформация о типе и все.
>>149926
сасай
>Вот тут вот говрят, что сахарок онли.
https://stackoverflow.com/questions/57929143/javascript-when-to-use-a-class-vs-a-prototype
отклеилось
>>А что еще? Вот тут вот говрят, что сахарок онли.
HomeObject свойство погугли.
>>Ага, "особый" путь жэса.
В каждом языке своя дрочка с this|self и прочим. В пхп своя еботня, в жс своя. Но эти детали знать необходимо, потому что их используют. Читать код человека который пердолит проект - а тебя подтянули - это навык который в том числе заставляет тебя этими деталями обрастать - потому что пишут люди как их прет.
Переписал и оптимизировал заодно. Но await читался бы получше, особенно во второй функции.
мимо
Свитч - это человек, которому нравится исполнять обе роли в БДСМ, и активную, и пассивную. И, в зависимости от своего настроения или настроения партнера, свитч "переключается" между активной и пассивной ролями. Например, сегодня свитч жестокий Господин, а завтра перевоплощается в покорного раба.
А класс тогда что за человек?
Что он там от меня просит? Из ошибки этой нихуя не понятно. Я знаю что нужно создавать классы с новым синтаксисом классов, просто для общей наглядности хочу это понять, в жс код с пика два работает, но где и какую типизацию указать для такого создания класса в тс я не понимаю. Нагуглить тоже не смог
Так ладно, нашел, тс не позволяет вообще такого делать и прямо говорит, чтобы я пиздовал пилить классы, а не вот это вот
Клей везде свою аватарку, чтоб можно было тебя узнавать и гнорить обсерать.
Поясните про RS School?
>можно тупо в html
Вот это хуйня. Мудаков сующих свои огрызки во фронт, надо нахуй выгонять из ИТ к хуям.
Я пробую на typeorm querybuilder переписать жирный запрос на 200 строк, но он например не поддерживает right join. Мне влом ебаться думать как райт жоин на лефт джоин переделать можно, скажите вообще смысл есть переписывать на куерибилдер или как то по другому это делается?
Ладно я вроде включил мозг и это оказалось несложно
Всё зависит от ситуации и задачи.
Выгонять надо ебланов, которые порят категоричную хуйню, не разобравшись в вопросе.
какая-нибудь хуйня для быстрого вычисления? нода на плюсах написана кста
Ныне я вижу, что в примерах кода в документации next.js тоже нету точек с запятой.
Значит надо оказываться от точек с запятой?
Исключительно зависит от кодстайла на проекте.
Очевидно самый универсальный - питон.
Но в последнее время хуярю на js чтобы удобно делать графику. Думаю сделать бэкэнд на python и фронт на js потому что браузер не вытягивает обработку данных.
У меня целая функция написана для "сложения" объектов.
addObj : function (a,b,e) {
var x;
if (e == undefined) {e=[];}
for (x in b){
if (!e.includes(x) && b[x] != undefined) {a[x]=b[x];}
}return a;
},
Нет слов....
Разомну твою попку и смачно кончу туда. Заставлю носить пробку и на следующие сутки будешь хавать всю ту кончу
Вопросы?
Ебать пидоров - это не гомосексуализм. Это установка доминирование и подтверждение статуса Альфача. У нас в конторе уже давно так, не закрыл спринт - выбирай, либо увольняешься, либо вафлишься. К началу ковида пара отчаивавшихся таки решили завафлиться, но я их потом все равно уволил
>Ебать пидоров - это не гомосексуализм
Это всего лишь твой аутотренинг. Гомосексуализм это парень + парень или девушка+девушка. Потому что гомо = одинаковый, секс = пол.
Мимо
Array.from(Array(100).keys(), i => fetchValue(i)) тогда уж.
>оптимизировал
Твой вариант не обеспечивает изначальный порядок выполнения. Что не отменяет того, что этот код можно переписать без async/await.
background:
linear-gradient(blue, red),
red;
А ТАК НЕ РАБОТАЕТ
background:
red,
linear-gradient(blue, red);
ОБЪЯСНИТЕ МНЕ
Подскажите плиз основные темы из жс, с того же учебника кантора, которые вы бы посоветовали чтобы уверенно себя чувствовать с wdio и сайпрес.
Я сейчас пишу тесты, и они вроде работают, но для меня в большинстве своем какая-то магия происходит. Хочется разбираться в жс хотя бы на уровне интерна, но не хочется забивать мозг лишней для себя (кака автоматизатора) инфой.
Ты захотишь в пакеты библиотек реализующие нативные расширения через N-API.
В этом вашем лодаше не нашел
На первой пикче код. Там консоль лог, чтобы посмотреть, срабатывает ли флаг max-old-space-size, и дальше пытаюсь заполнить 200 миллионов ячеек массива рандомными единицами и нулями. 100 миллионов заполняется, а 200 миллионов не заполняются.
На второй пикче ошибка. Весь день гугления реддитов и каких-то нонейм блогов не помог. Везде советуют сделать max-old-space-size, а он не устраняет ошибку.
Нода версии 13.14.0 - последнее что на семерку ставится.
Можете подсказать, чего я не понимаю и где мне почитать, чтобы понимать?
Int8Array не предлагать. 200 миллионов ячеек по 64 бит должно в 1.5 гиг помещаться, у меня же 16.
https://prayer.herokuapp.com/api/#/ - ссылка на него.
Мну нужно фетчить prayers, то бишь обхекты молитв, а потом они добавляются в стор, все очевидно. Но если вы попробуете, то фетчить оно будет объект ошибки, потому что я не авторизован в этом API. Для авторизации там надо какое-то value. Что блять для этого надо сделать? написать сначала бэк (повторю, использовать axios). Кароч памагити, завтра планировал показать тимлиду свой прогресс, а у меня фетчит ошибку ) Я уверен, что это пиздец зеленый вопрос и вы сразу поймете и объясните мне че к чему. Бтв, пришел сюда, потому что не гуглилось подобное. Спасибо
Как теперь все это запилить на сервер?
я только учусь
Так, ладно. Раз уж ты вкатун, то постараюсь разжевать, хотя с телефона это дико неудобно.
Во первых, мой друг, тебе надо зарегистрироваться, чтобы авторизоваться. Логично? Логично! Чтобы зарегистрироваться- тебе надо нажать "try it out" в запросе sign up и заполнить необходимые поля данными своими (пик 1). Нажимаешь execute.
Если все хорошо - в ответе придёт json. Внутри ответа от сервера будет token. Копируешь его.
Нажимаешь кнопку "Authorize" и вставляешь в поле свой токен (пикрил 2). Нажимаешь Authorize. Готово. Теперь ты авторизован. Теперь идёшь получать свои молитвы. Кстати ответ будет приходить в виде пустого массива, я проверил, но статус код ответа 200, так что все хорошо. Это всё
Вот например без всей этой защиты:
Я захожу на сайте nelezdebil.com, открывается пустая страница. А скрипт на этой странице делает еще и запрос к allmymoney.com и списывает все мои деньги.
Вопрос в том, как он это сделает без моих пользовательских данных? Любая веб страница имеет возможность получать все мои куки при запросе на сервер одинаковый сервер из любого места на любой странице?
Вот пример с защитой:
2. Заходишь на плохой сайт, он хочет украсть деньги на сайте банка, но браузер с помощью SOSP механизма сразу бросает такой запрос с прогиба и запрещает его, запрещая кроссдоменное общение.
CORS: в этом случае позволяет обходить SOSP ограничение, и при запросе браузер отправляет серверу инфу о том, с какого сайта произошел запрос, и если в ответе сервера Access-Control-Allow-Origin значится ресурс с которого был произведен запрос, браузер не запрещает общение между ними.
Вопрос собственно только в том, а что может получить левый домен при обращении к серверу банка из моего браузера? Если он что-то может получить, почему бы ему это "полученное" не отправить каким угодно образом без моего участия?
все супер, спасибо. теперь у меня появилось представление как апишки устроены, но это норм что приходит пустой массив? я стал это делать раньше сроков, чтобы искусственную дату не писать, а в итоге эниэвй придется? пахую, спасибо тебе анонче
> но это норм что приходит пустой массив?
Да, это нормально, очень часто такое указывается в спецификации. Это значит, что просто нет записей, на данный момент. Либо иногда такое делают со стороны бэкенда, если нужно вернуть какой-либо быстрый ответ для фронта
чисто технически, в этом асинхронном запросе именно с этого API не будет смысла? у меня итак initial state пустой массив
Так, я пытался понять, и запутался еще больше.
Зачем браузеру вообще добавлять заголовок Origin, если CORS это механизм в браузере?
Сервер же и так может заблочить обращения к себе из любого домена без согласования с браузером пользователя.
Ты злонеренный запрос с любыми заголовками можно сделать, браузеру ведь нужен только ответ от сервера с разрешенными доменами?
Если это просто дефолтный механизм защиты, чтобы как минимум добронамеренные запросы получать, то как он обходит запретитульную кросдоменную политику браузера?
В общем нужен знающий человек, который мог бы пояснить по хардкору.
Смысл есть, потому что потом записи добавят, я думаю. Ты же фронтом занимаешься. На своей стороне ты должен отвалилировать кейс, когда никаких записей вообще не содержится
Вы приняты
Что, прям при всех?
Не понял твоего не понял
1) Браузер всегда с аяксом отправляет кукисы сохраненные для домена на который делается запрос
2) С куками запрос пройдет авторизацию на сервере
3) Без кук не пройдет
4) Без твое браузера злоумышленник не может авторизоваться в банке
5) Поэтому он на своей злоумышленной странице через твой браузер делает запросы к домену банка
6) Браузер видит что запрос должен сделаться к другому домену
7) Браузер делает префлайт запрос. Смотрит разрешены ли такие запросы со всех доменов или одного избранного
8) Префлайт запрос делается браузером молча и независимо то аякса злоумышленника
9) Из ответа к префлайту браузер узнает, что запрос к апи банка не разрешен для всех доменов и для злоумышленного домена в частности
10) Поэтому даже если запрос злоумышленника авторизован, он не реализуется
>Array.from(Array(100).keys(), i => fetchValue(i)) тогда уж.
Только полный шизоид может всерьез написать эту нечитаемую монструзною залупу для элементарной задачи "повторить действие 100 раз" вместо обычного цикла и добавить "тогда уж".
>вместо обычного цикла
for-чушка, ты? Помнишь как мы всем опенспейсом нассали тебе в кружку на собесе?
Шиз, расскажи-ка, как под капотом работает Array.from и Array(100)? Какой механизм там используется для итерации и заполнения массива? Не стесняйся, рассказывай. Ой, неужто циклы? Да еще и с мутацией массива? А зачем же ты сука ебаная используешь те же циклы, но маскируешь их в куче говна с нулем семантики вместо двух строчек цикла? Какая у этого цель, кроме как твоя шизодная нелюбовь к оператору for?
Ну по правде говоря у тебя for of тоже не сишный а всякие там итераторы внутре
А какая тебе разница как под капотом? В ассемблере циклов нет, только goto, значит весь код так писать нужно?
Пиши так и не выёбывайся, раз в шортхенды не можешь:
```
background-color: red;
background-image: linear-gradient(blue, red);
```
База
Большое спасибо
JSON.stringify(obj)
> по 64 бит
Схуяли объект типа Булеан внутри объекта Аррай занимает 64 бита?
Это самые настоящие объекты и только int8 и прочие дают предсказуемый размер.
У меня вот в телефоне 2 гига оперативки и он вылетает с ошибками при парсинге json больше 40 МБ. А если не парсить, то можно больше загрузить. Магия?
У него нет никакого объекта типа булеан. У него обычные примитивные булы. Они хранятся прямо в указателе. https://v8.dev/blog/pointer-compression
УБИРАЕШЬ GOTO
@
.THEN().THEN().THEN()
@
ВОТ ТЕПЕРЬ ЗАЕБИСЬ
Это значит, что не нужно изобретать нижний уровень на верхнем, нужно просто спуститься на шаг ниже, если нужно. В том примере долбоебство с генерацией ряда чисел через массивы.
Никто же не мешает записать в строчку цикл если уж так хочется в одну строчку. Благо точки с запятыми есть.
Мимо
Сильно сомневаюсь, что вызов конструктора так оптимизирован. Но если да, тогда ему наверное нужно вызвать сборщик мусора чтобы очистить промежуточные переменные.
Там нет вызова конструктора. Он вызывает обычную функцию. Она не создает объекта.
Ну ладно, видно у него и память не утекает, и вообще все заебись работает, просто он нуб.
Это баг в v8 тянется с 2015 года.
Ты можешь создать много разных массивов (в том числе живущих одновременно) максимальной длиной примерно в 110 миллионов элементов, но не можешь создать один превышающий этот предел даже если размера кучи достаточно. При чем этот регрессирующий баг - до 2015 года все работало как надо.
https://github.com/nodejs/node/issues/25465
https://bugs.chromium.org/p/v8/issues/detail?id=3951
Единственный способ - это использовать массивы фиксированного размера, под которые память выделяется в момент сих создания. То есть типизированные, которые тебе не подходят.
Динамические массивы сложны в своем устройстве, память под них выделяется в процессе заполнения опираясь на capacity. А так как твой юзкейс далеко нестандартный (никто просто не использует динамические массивы таких размеров), то и баги в отношении этого фиксят лениво.
Даже если ты сделаешь let a = Array(200_000_000).fill(true) твоя v8 упадет так же, как у него.
Он не делает в своем скрипте ничего особенного. Boolean(some) - это то же самое что !!some. Это обычное приведение типа через вызов функции, а не конструктора.
На семерку можно поставить любую ноду, просто надо выставить какой-то флаг там, почитай варнинги
Некоторые вротенд пакеты уже требуют как минимум 12 версию.
12 * 0.1 = 1.2000000000000002
Вот такая хуйня. Округлять не вариант, нужно дохуя знаков после запятой.
В пистоне есть Decimal.
В жопаскрипте должен быть аналог этого: https://mikemcl.github.io/decimal.js/
Спасибо, попробую заюзать.
Я конечно не в тему скажу, но ты мог бы показать как у тебя объект StreamRoutes выглядит?
Понял. Интересно выглядит. Спасибо
>Это значит, что не нужно изобретать нижний уровень на верхнем, нужно просто спуститься на шаг ниже, если нужно.
>Никто же не мешает записать в строчку цикл если уж так хочется в одну строчку. Благо точки с запятыми есть.
ого, да всем похуй, я for не помню как пишется, и должен вспоминать ради того чтобы удовлетворить эстетические шизофазические чувства какого то хуя
>Никто же не мешает записать в строчку цикл если уж так хочется в одну строчку. Благо точки с запятыми есть.
умелец в forы умеет а линтера или преттира на проектах не держит, ручками форматит. типичный умник хуев.
>Вместо уроков объекты копировал?
Ты так говоришь, как будто это что-то плохо. Лучше с детства заниматься полезными профильными занятиями.
так это ты не писал ничего в жизни, только задачки сраные школьные сидишь думаешь если циклы помнишь, у любого нормального пацана мидла фронта спроси когда он цикл писал последний раз он не вспомнит. и сидит учит чему то кого то, ручками епта расставляет переносы строк, в одну строку их пишет епта. клоун
>УБИРАЕШЬ GOTO
>@
>.THEN().THEN().THEN()
>@
>ВОТ ТЕПЕРЬ ЗАЕБИСЬ
и да, всё так, заебись, это вообще вещи разных порядков и вселенных ебать мой хуй, но клоун походу видит и там и там 4 английские буквы и буквально считает что then это тоже самое что гото по этому признаку, иного объяснения не вижу этой шизофазии
так это ты себя своим ответом обоссал и в очередной раз подписался в собственной некомпетентности и что твои пуки в треде слушать не нужно, потому что только школота и профнепригодные импотенты меряются фимозными пипками кто сложнее цыкол говна напишет, а специалисты кто деньги получает наоборот код упрощают по максимуму для понимания.
Ну ладно. Ты король, ты господин. Но соль в том, что цикл в данном конкретном случае выше гораздо читабельнее.
Понятно что ты индус и зарабатываешь. Но себе то не ври.
читабельнее если ты школьник решающий кодварс или че там модно у детей, если ты циклы пишешь и тебе это привычно. если ты циклы не писал год-два то нечитабельно.
люди которые работают не пишут циклы. => нечитабельно. а ты должен писать код так чтобы в нем было удобно разбираться разработчикам.
я не помню че там в начале этой ветки клоунской но Array(100).fill("").forEach(() => { пук среньк }) это устойчивая идиома или как там это называется. в общем каждый это узнает и сразу поймет. а фор пук среньк ненужно и вообще ошибешься в <= и на раз больше выполнится. кроме случая если большой перебор массива, на пару тыщ записей хоть, там это быстрее, но если вы перебираете такой массив на фронте то вы обосрались на уровне архитектуры друзья
Погугли как у себя в браузере включить shadow dom и будет тебе счастье
Ты же понимаешь, что это максимум твое имхо. Ты так пыжишься доказать что я школьник траляля, да я как бы и не запрещаю тебе так думать, но пойми это не аргумент. "Ряяя все так пишут. Ряяя читабельно яскозал. Ряяя ты школьник дебил Аллах..."
Почему бы тебе не отпустить эту часть и не перейти к аргументам. Если тебе это не интересно настолько что ты не можешь пролистать и перечитать забытый тобой код который ты так рьяно защищаешь, то просто не отвечай.
я тебе и предоставляю аргументы, лол, ебаный ты дегенерат, это ты представляешь вместо аргументов эфемерный пук пидорашки с магическим мышлением - ах зачем нам блядь писать Array(100) если под капотом цикл. это не аргумент, мудак. аргумент это то что говорю тебе я - то что Array(100).fill("") узнаёт каждый разработчик и понимает что это 100 раз выполнится, а циклы нихуя никто не помнит и не знает и можно легко в нем обосраться. одна из целей разработчика это писать понятный другим код.
Array.from(Array(100).keys(), i => fetchValue(i)) хуйня но всё равно понятнее циклов
Array(100).fill("").forEach топ
Я лично не ругаюсь, а хочу понять логику человека. Просто на дваче принят такой стиль общения.
это значительно более глубокая и системная проблема сообщества, чем просто спор о цикле. потому что в сообществе не видят разницы между аргументом и хуйней из жопы магической. такие вот клоуны говорят "пук не будем писать удобный Array(100) потому что под капотом цикл поэтому напишем цикл" и потом дети ходят и надрачивают на такую чушь, несмотря на то что это неудобное говно неподдерживаемое. этот образ мышления экстраполируется на выбор библиотек потом например.
>>151201
Как ты заебал, ну не я писал про капот. НЕ Я. Там написано мимо, специально чтобы не было недопонимания.
Мне просто впадлу оспаривать твои пацанские выходки, хоть клоун, хоть альфа самцом будь. Можешь как угодно меня называть, все равно я это не читаю.
Пиздеть только прекращай. Потом сам начнёшь верит в свой же пиздежь и перестанешь реальность отличать от щизы.
Твой случай действительно удобнее через вызов, ведь это один вызов. Но ты пойми. Это другой случай. Ты дохуя спец там понятно. Но как же ты запизделся, что хуяришь какую попало хуйню, придумывешь характеристики мне - все что угодно.
>Мне просто впадлу оспаривать твои пацанские выходки, хоть клоун, хоть альфа самцом будь.
ну сорян на стаковерфлоу или в реакт русскоговорящее сообщество тогда можешь сходить поспорить, если неохота мои аргументы вычленять. там добрые ребята эксзаводчане с пикабу и скиллбокса раздадут тебе советов вежливых и полезных донельзя
>Как ты заебал, ну не я писал про капот. НЕ Я. Там написано мимо, специально чтобы не было недопонимания.
ты ёпта
>Это значит, что не нужно изобретать нижний уровень на верхнем, нужно просто спуститься на шаг ниже, если нужно.
алё
>Это другой случай.
не форыч а мап будет просто. один хуй даже то что анон написал лучше. а так
await Promise.all(Array(100).fill("").map(_, i => fetch(i)))
Когда пытаешься запустить процесс ноды на семерке, она не запускается и пишет в консоль, мол, семерка не поддерживается НО можно выставить такой-то флаг в конфиге и юзать ноду на свой старх и риск (нихуя не будет)
Ладно хуй с тобой.
>но Array(100).fill("").forEach(() => { пук среньк }) это устойчивая идиома
Нихуя обосрамс методошизика. Ты как эту "идиому" присвоишь в переменную?
const tvoyaMama = await Promise.all(Array(100).fill("").map((_, i) => fetch(i)))
в начало ветки смотри ебаноид
1280x720, 0:07
Поподешь к нам - еще прежде чем рот откроешь, обольем тебя смуззи, опустим, будешь в петушином углу картриджи сидеть заправлять. Естественно сразу же прогон пустим по другим конторам, что ты теперь законтаченный и с тобой даже переписываться - зашквар
Ты сначала скажи что не так с гречкой.
Держи в курсе.
>Зачем ты мне говна советуешь? Что я тебе плохого сделал?
10я ветка ноды - последняя, в которой нет бага с заполнением больших динамических массивов.
Ко мне приходит жсон с массивом:
{ "array": [1, 2, 3] }
У меня есть словарь, который должен переводить числа, которые пришли:
let names = {1: "odin", 2: "dva", 3: "tri"}
и есть ретурн, в котором надо возвращать уже переведенные числа:
return "это ретурн с числами " + array + "."
Как мне заменить каждую цифру пришедшего массива в ретурне?
Это значит, что ты невнимательно прочитал мое сообщение, не прошел по ссылкам на темы в баг-трекерах (где подробно описана суть бага и разницу в ветках нод) и не погрузился в ответ на собственный вопрос, из чего следует, что я напрасно потратил время, отвечая тебе.
Ходил по ссылкам. На github. Там написано, что в 10-й ноде в 3 раза массивнее массивы можно делоть.
Прост тут буквально три дня назад в /hw/ в интелл-треде рвался. Хочу железо на новое обновить и пытался выяснить, можно ли на windows 7 ставить дрова от windows 10 или придется на linux переходить. Ну и мне все дружно начали советовать десятку ставить. Вот и ты мне написал "Поставь 10ю." из-за чего и триггернулся.
Не православно выглядит
Эта функция присваивает переменной x из внешнего скоупа значение пять, и возвращает 5, как и положено. Это вполне очевидно, тупиздень. Учи язык.
По тому что твой код (промышленный) не должен быть похож на шарады. В идеальном случае он должен одним проходом читаться и пониматься, если читающий в контексте, какую задачу этот код решает. Если читающий пытается понять что код делает, конечно так не получится.
Так ты лучше вызови функцию, которая вызовет функцию, которая присвоит перменной х из внешнего скоупа значение 5.
() => () => x = 5
Еще смотря как линтер настроен и на что ругается. Если ругается только на использование значения операции присваивания, то плохо. Если на сайд эффекты в функции, то хорошо ругается.
есть что-то подобное, только по реакту? https://javascript.info/
курсы эти ебаные смотреть нет желания вообще, столько воды, заебываюсь скипать, объясняют какой то банальный js, что создается такое чувство, что я не реакт пришел учить, а js повторять
Не поверишь...
У реакта "учить" только jsx, который как бы xml, но не совсем. В остальном ты пропукиваешь аргументы компонентной функции, то есть то, что делаешь в жсе.
Сделай приложение по типу https://dota2protracker.com/ но с нормальным юаем и мобильной версией на реакте. При затупе смотри документацию.
Есть пагинация. Есть данные которые axios'ом подтягиваются.
Как запустить пагинацию, когда элементы отрисовались?
> Как запустить пагинацию, когда элементы отрисовались?
Что подразумевается под этим? В смысле "запустить пагинацию"?
Боже мой, как же я вас за это ненавижу. Чувак, тебе нужна помощь - изволь корректно и ясно излагать свою мысль, а не пиши как пономарь. Мы не можем залезть тебе в голову и узнать, что значит "запустить пагинацию". Её отрисовать надо? Или подтянуть какие-то данные?
Есть хорошая поговорка: "Без внятного тз - результат хз"
Есть список, который подтягивается.
Есть функция пагинации, которая изменяет сортируемый список.
Есть флаг getIsLoadedProducts, который true, когда список загружен.
Как мне по флагу getIsLoadedProducts запустить функцию пагинации?
>Array(100).fill("") узнаёт каждый разработчик и понимает
>а циклы нихуя никто не помнит и не знает и можно легко в нем обосраться
Идет 2021 год, а в треде по программированию(пусть и жопоскрипта, но все же) на полном серьезе защищают реализацию "чтобы повторить действие 100 раз нужно заполнить массив сотней пустых строк и итерировать по нему, это каждый разработчик поймет", аргументируя это тем, что "циклы непонятна". Ну еб твою мать, тебе нахуй не стыдно?
> Как мне по флагу getIsLoadedProducts запустить функцию пагинации?
Ну слава богу. Теперь ясно.
Есть несколько способов это сделать.
Можно в том месте, где у тебя getIsLoadedProducts меняет своё значение на true запускать функцию пагинации.
Можно в компоненте списка поставить watch на переменную getIsLoadedProducts и проверять, что если она будет равна true, то запускай функцию пагинации.
Показал бы пример, но я тилибона трудно отвечать. Может кто-нибудь подтянется
Скорее
watch: {
__getIsLoadedProducts() {
____if (this.getIsLoadedProducts) ______this.doPagination()
__}
}
Так говорилось в контексте итерации по массивам, лол.
Цикловики даже контекст разговора понять не могут. Впрочем, ничего удивительного.
Пишу веб-морду для редактирования данных в бд через рест апи.
Бэк на django ninja, фрон (пока) на чистом жсе.
Суть такая: каждая строка бд содержит 20 полей, половина из них редактируемые.
Отрисовываю каждую строку в виде таблицы (так удобнее данные представлять), и оборачиваю в <form>, соответственно изменяемые поля оборачиваю в <input>.
Какие-то поля должны отображаться как чекбоксы, какие-то просто как поля с заранее заданной строкой, какие-то выпадающим списком, какие-то в виде кнопки, по нажатию которой будет модальное окно вылазить.
Вопрос в чем: форма не предполагает наличие кнопки Submit (ну точнее я пока не вижу в ней надобности), соответственно отправка должна происходить в момент внесения изменений в строку/нажатия чекбокса/выбора значения из выпадающего списка и т.п. Как мне тогда каждое событие отлавливать? Вместо .onsubmit использовать .onformdata?
вот и то о чем я говорю, унылый эфемерный магический пук "пок пок как так можно заполнить массив 100 раз и по нему пройтись ета жи глупость!!!!!" выдаваемый пидарашкой будто это аргумент
Нажатие на энтер тригерит сабмит даже без кнопки.
Если у тебя каждое изменение посылает пук в бд, то это хуёвый дизайн бэкенда и хуёвый юзер экспириенс на фронте.
Раздели взаимодействие с таблицей на стадии и отправляй запрос только после подтверждения изменений юзером.
Можно совсем поехать и запилить отдельный статус редактирования, который пачкой отправляет несколько изменённых полей после подтверждения изменений.
Для итерации в языках программирования есть специальная конструкция: циклы. Почему ты не хочешь использовать специально созданную для итерации конструкцию в местах, где тебе нужна итерация, а хочешь использовать хуй знает что? Потому что тебе СЛОЖНА разорабться, как работает цикл? И ты это выдаешь за аргумент, пидорашка?
Началось все с задачи, в которой нужно было 100 раз выполнить одно действие, и вместо стандартного цикла ФП-шизик предложил хуярить Array.from Array(100), с чего и пошел разговор. Нахуй высрался?
потому что никто не помнит как работают циклы из реальных разработчиков и им сложно будет ебать мозг и велика вероятность ошибки, лишнего исполнения цикла или просто проеба, и это аргумент, потому что конкретно влияет на поддерживаемость и читаемость кода. а твой пук ебучий это не аргумент, это шизофазические бредни тупорылого школьника с магическим мышлением блядь)))00)) а еще, чмо, в языках программирования есть гото для возвращения к прошлой инструкции, а для асинхронных действий есть коллбеки, поэтому давай вместо циклов и жс писать на ассемблере с гото, а вместо промисов и авейтов юзать коллбеки, только потому что обоссанный школьник видит в этом магию своим продуктом мозговым идентичным натуральному
>хуёвый дизайн бэкенда
Могу на фронте логику отправки изменить, чтобы реже отправлялись запросы, но не вижу в этом проблем, сервис не для тысячи человек пишется.
>хуёвый юзер экспириенс на фронте
Могу при введении изменений попробовать запилить плашку с указателем и внутри кнопку "Обновить", так будет юзер-френдли?
ну концептуально помнят но никто сходу не поймет как написать вообще ебаный for так чтобы он выполнился сто раз
это надо сидеть и думать хули там ставить i = 0 или i = 1 или i <= 100 или i <= 99 епты и i+= 1 или че писать любому разработчику. потому что их не юзают годами
Array(100).fill("").forEach сразу понятно индекс первый 0 второй 1 третий 2 и так 100 раз всегда
forEach скрывает реализацию с i под капотом чтобы белый человек об этом не думал и просто знал что 100 раз пройдется цикл
но ебучие джуны фимозные хуи свои мерят тем кто больше заебётся и больше помнит ебаного синтаксиса ненужного нахуй абсолютно никогда
>это надо сидеть и думать хули там ставить i = 0 или i = 1 или i <= 100 или i <= 99
Блять, ты че несешь?)
То есть подытожим:
1) Ты пользуешься циклами только если они уже обернуты кем-то за тебя в синтаксический сахарок вроде forEach
2) Как только требуется самому написать элементарную утилити-функцию вроде repeat(times, callback) ты ссышь себе в штаны и городишь ебанутые костыли поверх известного тебе сахарка, отказываясь при этом потратить две минуты на вспоминание синтаксиса стандартной конструкции языка
3) Аргументируешь это через "я опечатаюсь", т.е не можешь даже написать две строчки тестов для проверки условия цикла
4) Считаешь всех остальных разработчиков такими же тупыми и не способными разобраться том, что делает цикл for
Вывод - ебанутая необучаемая агрессивная макака-индус. Даже если ты вчера вкатился, то это пиздец.
>им сложно будет ебать мозг и велика вероятность ошибки
Я конечно мимо проходил, т.к. в js вкатился месяц назад из питона, но мне например в цикле надо было недавно при условии брейк вызвать, и чтобы это с forEach, надо костыль через throw писать? Мне удобнее и понятнее через обычный for описать.
Ну напиши мне на циклах for конструкцию arr.map(...).filter(...).forEach(...) так, чтобы код легко читался и модифицировался
Твоя конструкция уже написана на циклах, просто какой-то добрый человек за тебя их скрыл в функциях. Каждый раз будешь ему звонить и просить еще функцию дописать, когда стандартный набор не покрывает твой юзкейс?
Конвеер конвеером, юзается он там где ему место, например в ангуляре в rxjs часто через конвееры хуярятся Observable, или когда просто на фронте надо пробежаться по говновиджетам. Есть уйма ситуаций где обычный подход конвеера просто не катит, как в той же ситуации с break про которую тебе упоминали, на беке кстати часто профитнее хуйнуть одну функцию-хендлер которая через for of проитерируется по массиву и выполнит все необходимое, потому что хуйнуть конвеер который пробежится по объемному массиву 3-4 раза вместо 1 - лишняя нагрузка на cpu
>Ты пользуешься циклами только если они уже обернуты кем-то за тебя в синтаксический сахарок вроде forEach
да всё так а еще я использую вычислительную мощность процессора только завёрнутую в абстракцию в виде языка javascript, у тебя проблемы с этим? пиздуй пистаь ассемблер епта чмо пидор лох
>Как только требуется самому написать элементарную утилити-функцию вроде repeat(times, callback) ты ссышь себе в штаны и городишь ебанутые костыли поверх известного тебе сахарка, отказываясь при этом потратить две минуты на вспоминание синтаксиса стандартной конструкции языка
зачем мне делать это и скрывать такую ебаную мелочь в абстракцию и импортить потом её в каждый модуль если каждый разработчик сходу поймет
Array(100).fill("").forEach который я напишу за секунду?
>отказываясь при этом потратить две минуты на вспоминание синтаксиса стандартной конструкции языка
эти две минуты я могу потратить на то чтобы решать бизнес задачу а не на то чтобы удовлетворить обоссанного тупого трейни с двача с манямирком
плюс каждый последующий разработчик будет тратить тоже по 2 минуты на вспоминание сколько раз этот цикл проходится и в итоге компания проебёт пол часа времени работников за месяц скажем
ЗАТО МАГИЯ В МОЕЙ ГОЛОВЕ УДОВЛЕТВОРЕНА - ЦИКЛЫ ДЕЛАЮТ ИТЕРАЦИЮ, А НЕ МАССИВЫ))) ВЕДЬ ЭТО ОЧЕНЬ ВАЖНО КОГДА ТЫ ВЕРИШЬ В МАГИЮ И ЧУДЕСА И НЕ УМЕЕШЬ В АРГУМЕНТЫ))
>Аргументируешь это через "я опечатаюсь", т.е не можешь даже написать две строчки тестов для проверки условия цикла
да именно так потому что тесты не пишут на каждый ебучий тупой пук и вообще на фронте мало их пишут, и ты бы это знал если бы НЕ БЫЛ ТУПОРЫЛЫМ ОБОССАННЫМ ТРЕЙНИ С 0 (0) ((0)) днями коммерческого опыта зато с неебаться курсами скиллбокса за плечами
>Считаешь всех остальных разработчиков такими же тупыми и не способными разобраться том, что делает цикл for
всё так, это буквально то за что платят деньги, за то чтобы ты считал других разработчиков ебланами и писал всё так, чтобы мог разобраться конченный еблан, потому что это задача бизнеса, чтобы их код был поддерживаемый и расширяемый
Вывод: тупорылый обоссанный нищий трейни школьник с 0 днями коммерческого опыта не имеющий представления о том в чем задача разработчика, считающий что задача разработчика это помнить дохуя синтаксиса и тратить дохуя времени на решение примитивных задач не пользуясь высокоуровневыми абстракциями и потом тратить ещё минуты рабочего времени на написание тестов на обоссанное повторение 100 раз
>Ты пользуешься циклами только если они уже обернуты кем-то за тебя в синтаксический сахарок вроде forEach
да всё так а еще я использую вычислительную мощность процессора только завёрнутую в абстракцию в виде языка javascript, у тебя проблемы с этим? пиздуй пистаь ассемблер епта чмо пидор лох
>Как только требуется самому написать элементарную утилити-функцию вроде repeat(times, callback) ты ссышь себе в штаны и городишь ебанутые костыли поверх известного тебе сахарка, отказываясь при этом потратить две минуты на вспоминание синтаксиса стандартной конструкции языка
зачем мне делать это и скрывать такую ебаную мелочь в абстракцию и импортить потом её в каждый модуль если каждый разработчик сходу поймет
Array(100).fill("").forEach который я напишу за секунду?
>отказываясь при этом потратить две минуты на вспоминание синтаксиса стандартной конструкции языка
эти две минуты я могу потратить на то чтобы решать бизнес задачу а не на то чтобы удовлетворить обоссанного тупого трейни с двача с манямирком
плюс каждый последующий разработчик будет тратить тоже по 2 минуты на вспоминание сколько раз этот цикл проходится и в итоге компания проебёт пол часа времени работников за месяц скажем
ЗАТО МАГИЯ В МОЕЙ ГОЛОВЕ УДОВЛЕТВОРЕНА - ЦИКЛЫ ДЕЛАЮТ ИТЕРАЦИЮ, А НЕ МАССИВЫ))) ВЕДЬ ЭТО ОЧЕНЬ ВАЖНО КОГДА ТЫ ВЕРИШЬ В МАГИЮ И ЧУДЕСА И НЕ УМЕЕШЬ В АРГУМЕНТЫ))
>Аргументируешь это через "я опечатаюсь", т.е не можешь даже написать две строчки тестов для проверки условия цикла
да именно так потому что тесты не пишут на каждый ебучий тупой пук и вообще на фронте мало их пишут, и ты бы это знал если бы НЕ БЫЛ ТУПОРЫЛЫМ ОБОССАННЫМ ТРЕЙНИ С 0 (0) ((0)) днями коммерческого опыта зато с неебаться курсами скиллбокса за плечами
>Считаешь всех остальных разработчиков такими же тупыми и не способными разобраться том, что делает цикл for
всё так, это буквально то за что платят деньги, за то чтобы ты считал других разработчиков ебланами и писал всё так, чтобы мог разобраться конченный еблан, потому что это задача бизнеса, чтобы их код был поддерживаемый и расширяемый
Вывод: тупорылый обоссанный нищий трейни школьник с 0 днями коммерческого опыта не имеющий представления о том в чем задача разработчика, считающий что задача разработчика это помнить дохуя синтаксиса и тратить дохуя времени на решение примитивных задач не пользуясь высокоуровневыми абстракциями и потом тратить ещё минуты рабочего времени на написание тестов на обоссанное повторение 100 раз
> просто какой-то добрый человек за тебя их скрыл в функциях
Да ты че, а не пиздишь?
> будешь ему звонить и просить еще функцию дописать
Если будет очень надо, то я сам допишу всё что нужно.
У тебя какие-то пиздец тупоголовые аргументы
Узбагойся, слишком толсто, иди охлади траханье.
>зачем мне делать это и скрывать такую ебаную мелочь в абстракцию
Если ты не видишь разницы между repeat(100, fetch) и твоим говном, то между array.map(doSomething) и array.reduce((result, i) => [...result, doSomething(i)], []) уж тем более не должен видеть, пиши reduce везде, а не filter, map и т.д, нахуя тебе таки мелочи скрывать и усложнять проект абстракциями?
>Если будет очень надо, то я сам допишу всё что нужно.
Ну вот вопрос как раз в том и заключается, как ты напишешь эту итерацию: через стандартные методы итерации(ака циклы) или через ебанутые костыли над существующим сахаром, потому что тебе сложно найти в гугл синтаксис конструкции for
1280x720, 0:25
да дохуя разницы потому что Array(100).fill("") чейнящаяся конструкция и особо в нее вглядываться не нужно, ещё она идиоматическая, её помнят все абсолютно и сходу понимают, а в array.reduce((result, i) => [...result, doSomething(i)], []) надо вглядываться и вообще читающий охуеет и будет полчаса сидеть думать нахуя ты это написал если можно мап написать. разница колоссальна.
плюс допустим тебе нужен не репит, а чтобы значение возвращалось, как собственно изначально и было в начале ветки, чтобы 100 промисов вернулось массивом. тогда твой репит бесполезен, если значение не возвращает, или неочевиден названием, если возвращает. и что теперь писать repeatAndReturn и его импортить? и это я сходу тебе сказал только.
640x360, 0:25
gavno youtube-dl
поэтому ты нищий хуй, а мы нет, потому что мы делаем так чтобы нихуя не нужно было гуглить и было понятно, и это то за что платят деньги, а ты дрчоишь на магию "пок пок костыли пок пок есть циклы пок пок че ебты цыкол сложно нагуглить хыыыыыыы че не помните лохи" в которой нет смысла никакого кроме дроча себе чсв среди детей
Что-то больно дохера рисуешься для анонимной борды, пчел
Не похоже что ты "богат и успешен", скорее весь кричишь об обратно
>Array(100).fill("") чейнящаяся конструкция и особо в нее вглядываться не нужно, ещё она идиоматическая, её помнят все абсолютно и сходу понимают
>а в array.reduce((result, i) => [...result, doSomething(i)], []) надо вглядываться и вообще читающий охуеет и будет полчаса сидеть думать
Подожди, то есть твой "читающий" поймет первый костыль с первого, но не поймет стандартный однострочный редьюс? Таблетки выпил? Ну и опять все сводится к "я скозал мои костыли поймут, а редьюс и нормально названную функцию не поймут!!!!". Что там по аргументации, пидорашка?
>плюс допустим тебе нужен не репит, а чтобы значение возвращалось
Ты эту функцию пишешь, бери и возвращай что нужно, разрешаю. Даже название можешь поменять, тоже разрешаю.
ну да епта в школке же тебе сказали что богатый и успешный это тот кто сложную задачку решает крутую нахуй кто помнит всю егэшку наизусть все синтаксисы отвечает учителю и заебывается дохуя на работе и других заебывает хыыхыы))))
толсто уже слишком
я всё объяснил подробно почему моё поймут, а твою хуйню не поймут
>Ты эту функцию пишешь, бери и возвращай что нужно, разрешаю. Даже название можешь поменять, тоже разрешаю.
только пет проекты писать пиздато конечно, любую хуйню пишешь ей один ты пользуешься, круто тебе
...
>я всё объяснил подробно почему моё поймут, а твою хуйню не поймут
"Поймут потому что всем понятно" - это единственное "объяснение", которое ты предоставил, пидораш.
Так собеседующий тоже не будет знать, но от зубов должно отскакивать для успешного собеса.
Но почему? Он же такой зайка :'(
собеседующий спрашивает скорее для наблюдения думания собеседуемого, а не знание какой-то хуйни, которую никто не знает.
Не нужно. Меньше знаешь - крепче спишь
Аноны, есть ли какая-то тулза, профайлер, техника или что-то еще, которая может определить наиболее часто используемый js-код на сайте, в частности SPA?
То есть, допустим, я захожу на сайт, запускаю это нечто, усердно делаю что-то, тыкаю туда-сюда минут 20, и в итоге хочу получить какую-то табличку, насколько часто и долго работала та или иная функция в js. Это возможно?
Если интересно, это нужно для оптимизации. Таким образом найти наименее производительный код, который при этом часто работает.
И кстати, может для такой штуки, что я ищу, какой то термин есть?
Это и называется профайлер, в react-dev-tools допустим есть профайлер который показывает сколько рендерился какой компонент, и так можно находить хуевый код. в обычном браузере тоже есть, но с фреймворком/библиотекой типа реакт он будет бесполезен, нужно искать конкретно профайлер для твоего фреймворка.
Так в том и суть, что мне бы хотелось профайлер найти, с временем исполнения и частотой, но на весь используемый js-код.
Притом не такой как браузере - во флеймграфе хер проссышь ваще чо происходит, да и муторно это, если приложение достаточно большое.
А так бац - и статистика бы была, в табличке, мол функция такая-то, выполнялась столько-то раз, общее время исполнения такое-то.
Ну а не лучше будет просто навесить глобально просто стили для <h2>?
Зависит от подхода к стилям, если у тебя бэмчик и глобальные стили нормально то так хорошо будет, если какое-нибудь говно типа styled components или cssmodules то придется ебать голову
У меня по идее css модули, но глобальные стили тоже есть, хотя как я понимаю их смешивать нежелательно
Вот поэтому css-modules и кал.
твой ответ как мед на душу
Мамка гонит на работу, да и сам уже чувствую, что зря проебываю время за компом. В связи с этим решил устроить марафон и закрылся в сычевальне (уже вышел на режим ебошинга каждый день по 5-8 часов в день) на месяцок другой, освежить память в программировании и вкатиться уже наконец куда то гребцом за хуйКК/наносек
Вышка есть, понимание основ есть, интенсивы по верстке на кокодемии недавно прошел, английский есть.
Выбор пал на хекслет (не спонсирован). Хочу оплатить на месяц и пройти курсы. Проблема в том, что эти чудики перемешали все темы, видимо для того, чтобы люди покупали профессию за 100к (там прямо так и сказано, что преимущество в том, что все в правильном порядке). Но лишних 100к у меня нет, поэтому придется разобраться самому, и с вашей помощью. Вот я составил список курсов, которые нужно пройти по порядку. Оцените, пожалуйста, его правильность. Если че не так, то подскажите что и куда добавить, где поменять местами и тд.
1. Введение в программированиеhttps://ru.hexlet.io/courses/introduction_to_programming
2. Основы программирования
https://ru.hexlet.io/courses/programming-basics
3. Основы командной строки
https://ru.hexlet.io/courses/cli-basics
4. Введение в Git
https://ru.hexlet.io/courses/intro_to_git
5. JS: Настройка окружения
https://ru.hexlet.io/courses/js-setup-environment
6. JS: Объекты
https://ru.hexlet.io/courses/js-objects
7. JS: Массивы
https://ru.hexlet.io/courses/js-arrays
8. JS: Функции
https://ru.hexlet.io/courses/js-functions
9. JS: Введение в ООП
https://ru.hexlet.io/courses/js-introduction-to-oop
10. JS: Объектно-ориентированный дизайн
https://ru.hexlet.io/courses/js-object-oriented-design
11. JS: Прототипы
https://ru.hexlet.io/courses/js_prototypes
12. JS: Асинхронное программирование
https://ru.hexlet.io/courses/js-asynchronous-programming
13. JS: DOM API
https://ru.hexlet.io/courses/js-dom
14. Регулярные выражения
https://ru.hexlet.io/courses/regexp
15. JS: React
https://ru.hexlet.io/courses/js-react
16. JS: Redux (React)
https://ru.hexlet.io/courses/js-redux
Фулл список курсов тут https://ru.hexlet.io/categories/javascript/coursesПробежитесь, плес. Может что то пропустил или наоборот не нужно на начальном уровне.
Цель - вкатиться как можно быстрее и уже на работке продолжить обучение под руководством, еще и лутая бабки.
Не будьте равнодушными.
С уважением, анон
Мамка гонит на работу, да и сам уже чувствую, что зря проебываю время за компом. В связи с этим решил устроить марафон и закрылся в сычевальне (уже вышел на режим ебошинга каждый день по 5-8 часов в день) на месяцок другой, освежить память в программировании и вкатиться уже наконец куда то гребцом за хуйКК/наносек
Вышка есть, понимание основ есть, интенсивы по верстке на кокодемии недавно прошел, английский есть.
Выбор пал на хекслет (не спонсирован). Хочу оплатить на месяц и пройти курсы. Проблема в том, что эти чудики перемешали все темы, видимо для того, чтобы люди покупали профессию за 100к (там прямо так и сказано, что преимущество в том, что все в правильном порядке). Но лишних 100к у меня нет, поэтому придется разобраться самому, и с вашей помощью. Вот я составил список курсов, которые нужно пройти по порядку. Оцените, пожалуйста, его правильность. Если че не так, то подскажите что и куда добавить, где поменять местами и тд.
1. Введение в программированиеhttps://ru.hexlet.io/courses/introduction_to_programming
2. Основы программирования
https://ru.hexlet.io/courses/programming-basics
3. Основы командной строки
https://ru.hexlet.io/courses/cli-basics
4. Введение в Git
https://ru.hexlet.io/courses/intro_to_git
5. JS: Настройка окружения
https://ru.hexlet.io/courses/js-setup-environment
6. JS: Объекты
https://ru.hexlet.io/courses/js-objects
7. JS: Массивы
https://ru.hexlet.io/courses/js-arrays
8. JS: Функции
https://ru.hexlet.io/courses/js-functions
9. JS: Введение в ООП
https://ru.hexlet.io/courses/js-introduction-to-oop
10. JS: Объектно-ориентированный дизайн
https://ru.hexlet.io/courses/js-object-oriented-design
11. JS: Прототипы
https://ru.hexlet.io/courses/js_prototypes
12. JS: Асинхронное программирование
https://ru.hexlet.io/courses/js-asynchronous-programming
13. JS: DOM API
https://ru.hexlet.io/courses/js-dom
14. Регулярные выражения
https://ru.hexlet.io/courses/regexp
15. JS: React
https://ru.hexlet.io/courses/js-react
16. JS: Redux (React)
https://ru.hexlet.io/courses/js-redux
Фулл список курсов тут https://ru.hexlet.io/categories/javascript/coursesПробежитесь, плес. Может что то пропустил или наоборот не нужно на начальном уровне.
Цель - вкатиться как можно быстрее и уже на работке продолжить обучение под руководством, еще и лутая бабки.
Не будьте равнодушными.
С уважением, анон
Чому? Я не хотел(
>>152637
Учился по учебникам уровня upper-intermediate, оценки высокие были
С пониманием на слух, чтением (тем более доков) траблов нет. Разговорный мб слабый, потому что в последние годы мало практики было.
Хз как оценить, тесты никогда не сдавал. Для макакинга должно хватить.
Я сначала не заметил в твоем посте про английский. Вот что я бы посоветовал (не все из этого я смотрел, но кое-что планирую посмотреть сам):
1. Базовый JS.
https://rutracker.org/forum/viewtopic.php?t=5880831
https://rutracker.org/forum/viewtopic.php?t=5915645
https://rutracker.org/forum/viewtopic.php?t=5912051
2. JS для собесов.
https://rutracker.org/forum/viewtopic.php?t=5849038
https://rutracker.org/forum/viewtopic.php?t=5799327
3. React
https://nnmclub.to/forum/viewtopic.php?t=1459414
https://rutracker.org/forum/viewtopic.php?t=5969758
https://www.youtube.com/watch?v=eMH4Xhh_8Z0 - дальше можно двигаться по этому гайду
Есть хороший чат по React в телеге @react_js
4. Leetcode + разборы задач на ютубе типа такого - https://www.youtube.com/user/viktorskarpov/videos
>3. React
Там первой ссылкой хотел указать рутрекеровскую (Creative React and Redux), а не nnmclub. Я бы с него посоветовал начать.
Если к примеру я передаю при клике в какой-то элемент на странице, какой-то новый JSX children, и реакт не может узнать, обновился этот JSX или нет, потому что JSX это всегда новый объект, то в этом случае вызывается метод render(), после чего происходит обновление виртуального дома, реакт не видит никаких изменений и не обновляет реальный дом. Этот процесс всё равно будет называться рендерингом? Или рендер это ТОЛЬКО реальное внесение изменений в дом? UseEffect будет работать в случае, если ничего реального в доме не поменялось? UseLayoutEffect работает после внесения изменения только в реальный дом и блокирует отрисовку пользователя только в этом случае?
Приведу другой пример:
Есть просто каунтер, при клике на кнопку обновляет состояние count
Этот объект состояния, который мы никуда не выводим и нигде не отображаем на странице, он находится внутри компонента только для хранения состояния.
Есть хук useEffect внутри которого просто выводим консоллог, не передаём массива с зависимостями,
При клике на кнопку консоллог из useEffect всё равно отображается в консоли при каждом нажатии.
Почему? Мы ведь не рендерим ничего нового при каждом клике.
Получается, что рендер это обновление виртуального дома? Почему обновляется виртуальный дом, ведь в него тоже ничего нового по сути не попадает? useState вызывает рендер просто по факту своего изменения?
Да, я решил тут провести техсобес для всего треда, а думали тут только срачи в мемасы? А нихуя
Дебильные вопросы на тупые "определения" того что такое рендер, ненужны
Хотя ладно, про эффекты неплохой вопрос
Создаёшь компонент, который принимает children в пропсы, и в него можешь запихивать хоть свою мамашу, если надо.
Заодно будет прямой референс на этот компонент его конкретные стили, а не строчный в стили где-то там.
>Есть хук useEffect внутри которого просто выводим консоллог, не передаём массива с зависимостями,
>При клике на кнопку консоллог из useEffect всё равно отображается в консоли при каждом нажатии.
>Почему?
Еблан? Еблан!
Элита в треде, все в jquery!
Практически не верстаю. Ну иногда верстаю, когда новые компонентики приходится делать, а потом эти компонентики только набрасываю, но это уже не верстка фактически. Вообще кроме формошлепства ещё много задач есть, в основном всё связано с перекладыванием жсонов.
А почему не zero to mastery рутрекеровский? Достаточно полный курс, еще и с graphql, gatsby и пр.
Почему-то курсор при наведении на скролл не меняется на стрелочку а остается таким
Менял стили, херачил !important, ничего не помогает ,как продебажить эту фигню и понять почему курсор не меняется? (тут ванильный es6 js)
Дед, спок.
Фронтенд для элитных зумеров-гигачедов. Гречневых в свитерах тут не уважают. Ты только представь, как потешно ты будешь выглядеть в своём свитере с судком гречки и стаканом смузи. А на курилке, где все будут вейпить и угарать с твоих желтых усов
Лучше не лезь сюда
Што блять? Я вообще мимо проходил.
Што это? PHP?
Помню, как люто проигрывал, когда все ебашили на jquery. И потом еще больше проигрывал, когда все дружно отказались от jquery
Так у меня много таких ячеек, мне надо ближайшую, которая с кнопкой в одной строке.
Я хер знает, я по js/jquery пару страничек на стековерфлоу прочитал, там и увидел alert(). Выхлоп консоли надо в другой вкладке смотреть, а здесь всё и сразу.
960x533, 1:37
Он скоро свой проект сделает и поднимется.
бамп вопросу
Пукнутый, иди нахуй!
> Щас еще вкатываюсь в фирму, где брат - мидл. Хотят меня по блату впихнуть блять.
Я бы на твоём месте сторонился такого кумовства и сам бы пробовал себе дорогу
Я проебался, ширина там не меняется. Но я уже примерно представил как это можно сделать. Определить уровень самого глубого раскрытого списка и в зависимости от него менять стили (расстояния)
Чому? У меня похожая ситуация, мамка с папкой гонят на работу, а я и не против, даже хочу быстрее уже устроится. Но тяну время, так как во времена Универа ничего не делал и играл в игры, рассказывая, как я усердно учусь. Но универ кое как закончил, а вот для работы уже нужно показывать реальные знания, которые я роняя кал пытаюсь получить в кратчайшие сроки.
По сути мне рякт с пердуксом осталось почитать и забубенить пет проджект. Но давление на меня уже сильное, предлагают свою помощь в виде знакомых, которые вроде как готовы устроить собесы. Я копротивляюсь, так как не хочу оподливиться на собесе. Я то бате сказал, что рякт уже давно выучил, просто мне не перезванивают. Думаю потом все таки воспользоваться предложением, но тоже как то самому хочется устроится. Хз почему.
Сделал токен, токен вставляю вместо пароля во время авторизации в терминале, ловлю ошибку.
Бездумно ковырял кофиг, вставил этот текст: git config --global url."https://github.com/:".insteadOf "
Теперь вообще все поломалось(9((((
А, все, там файл есть, починил. А вот с токеном так и не понял, все равно ошибку выводит.
fatal: Authentication failed for
Хотя ввожу все возможные варианты.
А в этих курсах где-нибудь есть самостоятельная работа? А то помню как-то проходил какой-то, там просто записываешь за лектором. Усваивается процентов 50%.
В чем проблема после урока пойти на codewars и поделать задачи по пройденной теме
Ну или самому пощупать. Прошёл методы массивов, открываешь доку и идёшь тестить каждый метод, пока не запомнишь, как оно работает и для чего нужно, например Только потом забываешь, если не пользоваться какое то время. Но при необходимости все быстро вспоминается при беглом взгляде на доку
Ставил ее изначально для редактора вообще и редко пользовался фичами es7+, а что там по модулям?
nvm поставь и переключайся с версии на версию в любое время
Что скажете про книгу? Автор вроде жабовик, смог и в жс?
Книги по жсу устаревшее для импотентов, КРОМЕ YDKJS. полная хуйня, как ни зайду в книжный каждый раз смотрю что там и моча. Clear code всякий, книги по паттернам, это неплохо. но для изучения js лучше learn js + видосов на ютубе + YDKJS нет лучше.
Вот тут соглыэ++плюсплас
_parent__content parent-content
__parent-content__item item
___item__text
Вариант - 2.
_parent__content parent-content
__parent__item
___parent__text
Аноны, у меня тут вопрос, оба эти варианта являются БЭМ?
Или только первый?
Оба варианта являются дерьмом 15-летней давности.
Посоветуйте компонент дерева на React.
1. Чтоб скормил объект в корень и все работает, без ручной вставки нужных компонентов.
2. Чтобы можно было вставить свои значки раскрытия сбоку.
3. Можно было жмакать на лист и лист оставался выделенным. (можно без множественного выделения).
4. Можно было вставить обработчик нажатия на лист.
5. Можно без ДнД.
Свои боевые в /b пости, гнида, тут уважающие себя люди сидят!
Вопрос был касательно Реакта.
если тебе просто визуальный эффект нужен, сделай наверху тоггл класс, который можно повесить на нужный тебе скоуп. в css с помощью :not убери элемент, который не надо блёрить. ну а само свойство - filter: blur(5px), опционально pointer-events: none
Как же хочется дать тебе леща, а. Иди на собесы, заодно поймёшь, что надо учить усерднее. Плюс реальный собес - отличная тренировка в психологическом плане. И перестань врать людям, которые тебя любят.
Окей, спасибо, попробую. Правда я погуглил про то как делать модалки и залез во что-то страшное, видимо придется в этом разбираться сначала вместо стилей:
https://levelup.gitconnected.com/build-a-modal-using-react-context-portals-and-hooks-bd0c4e54537e
Да я там искал, и находил что-то. Спрашиваю мб у кого-то есть сохраненная годнота.
https://twitter.com/mhevery/status/1389649693630631936
Да кому он нужен. Я удивлен, что на нем до сих пор кто-то что-то делает. Многие конторы уже сваливают с него на рякт.
А нахуй ты юзаешь cra? Проще запилить готовый вэбпак шаблон
В доках написано использовать FETCH, с фетчем все ок, ошибок нету.
Какая разница чем я ковыряю фейк апи? Разница вижу, есть, но какая?
axios - васянопакет, который подразумевает вещи о структуре запросов, которые пакет для пропукивания джейсонов не должен подразумевать.
Мастер класс барбишопа html academy от Александра Першина
Лучшее, что имеет человечество на данный момент
Несколько чуть более сложных кейсов, и он пожалеет, что не взял аксиос. Обычно всё писать с 0 советуют ребятишки, которые с продом не работали никогда, сроки и дедлайны не видели в глаза.
Ну и нахуй нужен твой аксайос на проде? Сколько ни работал не видел для него применения. Поверх фетча обертку пишешь, хедеры аутентификации приделываешь, импортишь и всё. То что он исключения бросает на плохие ответы - ненужно. А что он еще делает что писать самому долго?
method?: string;
data?: object;
authorization?: string;
cors?: boolean;
}
const request = async <T>(url: string, options: Options = {}): Promise<T> => {
const headers: { [key: string]: string } = {
'Content-Type': 'application/json',
Accept: 'application/json',
};
if (options.authorization) {
headers.Authorization = options.authorization;
}
const fetchOptions: { [key: string]: string | object } = {
method: options.method,
headers,
};
if (options.cors) {
fetchOptions.mode = 'cors';
}
if (options.data) {
fetchOptions.body = JSON.stringify(options.data);
}
const response = await fetch(url, fetchOptions);
return response.json();
};
method?: string;
data?: object;
authorization?: string;
cors?: boolean;
}
const request = async <T>(url: string, options: Options = {}): Promise<T> => {
const headers: { [key: string]: string } = {
'Content-Type': 'application/json',
Accept: 'application/json',
};
if (options.authorization) {
headers.Authorization = options.authorization;
}
const fetchOptions: { [key: string]: string | object } = {
method: options.method,
headers,
};
if (options.cors) {
fetchOptions.mode = 'cors';
}
if (options.data) {
fetchOptions.body = JSON.stringify(options.data);
}
const response = await fetch(url, fetchOptions);
return response.json();
};
>Однако, если этот колбэк попадает как проп в дочерние компоненты, эти компоненты могут быть отрендерены снова.
Почему они отрендерятся снова? Как это понять?
При каждом выполнении рендера создаётся новый коллбек, новая ссылка на него каждый раз. реакт смотрит изменилась ли ссылка на этот проп, на этот коллбек, она изменилась, и поэтому делает перерендер.
>rc-tree
Херня какая-то, даже примеры из репозитория в Codesandbox не работают, а в issue пишут, что несовместимо с функциональными компонентами, а им уже лет 10 как.
Есть еще какие-то варианты?
Чтобы не шатать рендер такой хуйней, бинди, или поставь костылик, который дает писать стрелочные фукнции как методы класса
Зависит от того, что такое a и для чего оно используется, но в 99% тебе хватит просто if (a), если это не число.
Сделать коллекцию Set с исключениями и если проброс не относится ни к одному из ее элементов то проходит условие.
Ты даже про ?? не знаешь
пиздец вы говна развели, с кем я сижу нахуй
Сентябрь начался. Пора вкатывальщиков
>Но есть нюансы.
Интересно, типо если это null || undefined, то вернет true, но какие нюансы?
А, у тебя строгое равенство. Тогда забей.
Про рендеры на скрине выше, в доке реакта.
Если ты не понимаешь ссылочных механик самого JS, почему (() => {}) === (() => {}) это false то читай learn js и YDKJS
Который у тебя на посылках с алиэкспресса указан, даун ты тупой. Ты на серьезных щщах будучи таким дауном в /pr/ вкатываешься? Вкатись лучше во что-то гуманитарное.
А, ну ок тогда.
Ну эту ебалу пиздец скучно смотреть.
по-моему это исключительно мирок и терминология шарпоблядей с их ебанутыми аrr[,] и arr[][]
Этот господин очень правильные вещи говорит. Сэр, вам чай с сахаром или без?
Зачем тебе? Юзай либу для тестов, там есть инструменты для манипуляции с DOM
Салям, друзья. Норм в настоящее время ограничиться ECMAScript 5.1 ? Или это типа устаревшая версия? Как там по функционалу, по востребованности в индустрии и в целом по актуальности?
>>234484
Это копия, сохраненная 23 декабря 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.