Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Вкатиться невозможно.
Пишут, что лучше быть курьером на электробайке, чем программистом:
https://another-it.ru/2024/08/06/mental-illnesses-of-programmers/
Правда больше платят? И фрэймворки знать не надо.
Ванила - база
Хорошо. Наконец-то волки свалят уже наконец от этого душного программирования и все сфера снова останется за энтузиастами аутистами.
Не, ну я понимаю, что у тебя травма из-за того, что в детстве тебя насиловал твой отчим-заводчанин, но на меня-то это проецировать не надо. Я, между прочим, по свой специальности магистратуру окончил, матан четыре года задрачивал на пятерки-четверки, а ты меня айсикью и заводом подъебать пытаешься.
>магистратуру окончил, матан четыре года задрачивал на пятерки-четверки
Ебать ты лох. Я 9 классов + путягу и сейчас сижу на сеньорском окладе в 400к + премии.
мимо
1) Html+CSS
2) JS + TS
3) Vue/React
4) Git
Как понять, что уже готов к работе? Это нужно просто понять или есть какое-то задание?
>что можете сказать этого стека
Что это значит? Ты по-русски сначала говорить научись, потом за языки программирования приступай.
Начинай проходить собесы. В современном вкате нельзя быть на 100% готовым. Джун - это птенец который должен выпасть из гнезда, и либо включит голову и адаптируется (ко всему начиная от собесов и заканчивая самой работой), либо разобьется и вернется в пятерочку.
> Сап, что можете сказать насчет этого стека?
Видимо случайно удалил, извини анончик, уже исправил
как понять, что уже готов на собес прийти и не пойти нахуй в течении хотя-бы 5-10 минут? Может есть какая-нибудь примерная методичка знаний?
>как понять, что уже готов на собес прийти и не пойти нахуй в течении хотя-бы 5-10 минут?
Как перестанешь постить на анонимных интернет форумах и начнешь откликаться на вакухи - будешь готовым.
Погугли вопросы на собесах по жиес
Tailwind это базированный фреймворк, тот кто так не считает скорее всего сам глупая свинособака.
Middle+ JavaScript Developer
Как думаете что будет с фронтендом и куда он придет лет через 5-10? Именно с точки зрения самой разработки, развития жс/тс/фреймворков, браузеров. По поводу нюансов трудоустройства и прочий вкат писать не нужно.
В будущем Гугл выпускает свой новый протокол HTTPG, который будет работать только из под браузера Google Chrome с неотключаемой рекламой. Там будет свой новый движок V99 с Java-типизацией из коробки. Будет вливать миллиарды, чтобы пакистанцы переписывали весь интернет на новый стек (всё ради рекламы). Хуй тебе, а не адблок. Будешь как с андройдом работать, выпрашивая API функции у хрома
Вызовы апи станут платными
Вызовы апи станут платными
Некст жс и ремикс сдохнут обоссавшись и обосравшись. Туда же все остальные сср фреймворки.
Потому что ssr станет нахуй никому не нужным, уже сейчас это минное поле, где поломать рендеринг легче простого, начали появляться какие-то йоба технологии вроде серверных компонентов ради обычной отрисовки HTML, повсеместно будет стоять LTE и 5G интернет, который сведет преимущество от ССР к нулю.
Тэйлвинд сдохнет. Вместе с остальными ui-либами вроде бутстрапа по крайней мере на нормальных проектах
Посмотрел самые популярные. Они и половины хтмля не покрывают. То есть мне все равно приходится писать ебучие дивы, внутри которых может быть парочка этих либовых компонентов проскочит.
Что ты так трясешься от дивов то?
Оформляй срыгос нахуй. Тут без тебя очередь за забором которых не тошнит от дивов.
const array = ['legit', 'seemsLegit', 'forbidden'];
Чел, у тебя явно проблемы с логическим мышлением. Возможно, разработка это не твоё.
Причём тут разработка (у меня 5 лет коммерческого опыта) и какие-то ебаные задачи на собеседованиях? Это разные области знаний
>какие-то ебаные задачи на собеседованиях
Речь не про ебаные задачи на собеседованиях. Ты за 5 лет коммерческого опыта так и не научился в гугл и логическое мышление.
И чё? Где на проде ты увидишь подобный гавнокод с типами-интерфейсами?
В реальном бизнесе ты максимум наследуешь поля из интерфейса
type LegitValues = 'legit' | 'seemsLegit';
вообще не вариант. Если писать, то только без ручного набора
https://tsplay.dev/NBKxdm
Это отличная задача чтобы выявить что чел что-то на тайпскрипте писал, а не просто юзает его потому что путает строку и число.
Спасибо анон, искренне.
Я подобный код никогда, НИКОГДА бы в проде не использовал. И никто бы такой пиар не аппрувнул.
>Я подобный код никогда, НИКОГДА бы в проде не использовал.
В смысле? Так надо писать. Если у тебя есть какой-то набор констант и ты хочешь по нему валидировать, то ты сначала их в массив складываешь, а потом тебе из него надо тип получить чтобы ошибки и автокомплит работали.
>const as const
В следующий раз думаю откликаться на 300к вакансию.
А если предположить, что теперь мы делаем интерфейс с названиями из того самого Legit?
https://tsplay.dev/mbpV2w
https://tsplay.dev/mA1z1m
Не правильно написал.
>>45532
https://tsplay.dev/mpkVMN
Проверять интерфейс на типы не имеет никакого смысла и невозможно. Мы получается проверяем тайпскрипт на типы. Мы всегда проверяем джаваскрипт на типы и проверять должны объект.
Охуенно, чон рахмет от чистого сердца!
{
name: string
age: number
}
а в другом были бы эти ключи в виде массива ['name', 'age'] в рантайме
Чтобы это было взаимосвязано, но без написания всех этих ключей два раза.
То есть нужна какая-то явная связь типов и рантайма. Может через классы, я хз.
zod
Написал вот ствой зод на 40 строк кода. Какой это левел литкода?
А нахуй мне ваш литкод? Как вы с тимлидом там ебетесь мне поебать, мне нужно чтобы фичи мутились и бабки крутились...
У тебя там всё по нескольку раз копируется. А мне нужно ровно один раз в одном месте что-то типа:
{
prop1: number
prop2: string
prop3: string
prop4: string
prop5: string
prop10: string
propNaruto: number
prop111: Zalupa
}
А потом в рантайме можно было бы получить массив ключей в виде строк ['prop1', 'prop2', ...]
>У тебя там всё по нескольку раз копируется. А мне нужно ровно один раз в одном месте что-то типа:
Эта либа написана с одной только целью чтобы не копирвать по нескольку раз. Это её назначение.
>А потом в рантайме можно было бы получить массив ключей в виде строк ['prop1', 'prop2', ...]
Что-то типа этого.
Object.keys(zObject.scheme);
Посмотри в доке зода или в консоли.
Юнионы и массивы.
https://tsplay.dev/w1qOOw
Привет, кал, я почитал, ответа не нашёл, потому и спрашиваю. Ткнёшь меня ебало в то место доки, где это описано, признаю, что я лох.
Что у тебя в посте про JS?
>галера офисная
Лошара. Дорасти сначала до того, чтобы проебываться.
мимо звоню херочкам из корпоративной переговорки
У нас в компани вообще пиздец лояльно к этому относятся - захотел, ушел прораньше, пришёл попозже. Проебался денек лругой - сам реши когда и как отработаешь.
Хожу по собесам сейчас, в РФ есть 3 стула, финтех(сбер, альфа итд..), вакансий не много, но есть, команда будет формошлепы, которые сидят на зпшке, задачи примитивные по году пилят хуйню, инглда задач вообще нет и они просто нихуя не делают, деградация гарантированна. Есть всякие буки/трейдеры, там будет команда жестких челов, которые исходники в8 читают, ну и собес будет соответственный, импрувнишся не реально. Есть еще вакансии типа вью и битрикс, короче легаси говно переписывать. Пока не че больше не встречал.
Вкат мёртв, возвращайся на завод. Если есть опыт 3-5 года, то ещё можно урвать реакт-вакансию на 150 тысяч рублей.
Реакт мейнстрим, значит для быдла
Спасибо.
Просто интересно, а что именно побуждает вас использовать Dependency Injection, но не использовать NestJS? Я не первый раз про это слышу, слышал в рамках MoleculerJS. Типо, если вы хотите хороший код получить в проде, но зачем использовать то, где нету DI?
Лисапеды уже запретили писать? Обязательно надо нест брать? Может у чела легаси проект на голом экспресе, а он хочет код отрефакторить.
мимо
>что именно побуждает вас использовать Dependency Injection, но не использовать NestJS
А каким образом одно вытекает из другого?
Это шаблон программирования для TypeScript, на JS вообще не имеет смысла. Я вот не смогу объяснить что это, но на работе активно использую. Когда в сам конструктор передаётся @Inject UserService, а не создаётся этот сервис внутри и не передаётся при вызове конструктоар.
Две причины
1) Dependency Inversion из SOLID-а
2) IoC container - автоматическое инстанцирование графа зависимостей в точке сборки приложения Composition Root
https://stackoverflow.com/questions/6277771/what-is-a-composition-root-in-the-context-of-dependency-injection
Везде имеет смысл. Везде мы можешь создать глобальный объект хранящий все зависимости
А еще не могу с ходу назвать даже 5 отличий между дженериком и типом. Я совсем даун?
Как-то сложно поверить. Вот тип List он числа или строки хранит? Нужны ли типы List<number> и List<string>?
В TS нет такого синтаксиса. Ты просто задаёшь тип массива и пихаешь туда строки-числа через push()
С трудом представляю бизнес-задачу, где надо было дженерики использовать.
Почему? Я например хочу связый список, но не хочу месит числа о строками
interface ListNode<T> {
value: T;
next?: ListNode<T>;
}
export type LinkedList<T> = ListNode<T>
У связного списка могут быть методы относящееся в списку, но не элементам списка. Напимер вставить новый элемент, никак не зависит от свойств чисел или строк
Это называется абстракция
Зачем тебе понадобился связный список?
Эта структура данных нужна только для собесов, на реальных проектов не нужна.
Смотря куда. Сложнось считается по худшему случаю за О(1), а за О(N). И настоящие программисты используют базу данных для хранениях списков
По худшему сценарию у тебя комплюктер сгорел и вставлять некуда...
И вообще мы вам перезвоним. Кода на собесах спрашивают сложность вставки в связный список, то имеют ввиду что у тебя есть элемент el списка и нужно вставить после него. Сложность этого O(1) а у массива O(n)
Массив нормальная пацанская структура данных.
Зависит от твоей первертности...
>И я тебе уже не какой-то там вкатун, а мега-про скиловый воин 228 322.
Врёшь ты всё, ибо уже в заграницей чилил за 10к баксов
Мимо 2 года реального опыта есть, но неиронично думаю подкрутить до 3-6
>Рисуй 3+. С двумя ты даже фильтр эйчар не пройдешь.
Вроде менял работу с полугодами опыта, а еще потом с полутора - все заебись было.
Но насчет
> фильтр эйчар
Сейчас на моем стеке вроде много вак с 2 годами опыта. Неужели там тоже какой-то ебанный, хитрый автофильтр?
> Frontend-developer (PR&Marketing, digital)
> до 150 000 ₽ на руки
> Сейчас эту вакансию смотрят 54 человека
>Сейчас на моем стеке вроде много вак с 2 годами опыта.
Там по тыще рыл на вакансию и тестовые, которые никто не смотрит. Я почти три месяца откликался на это говно безуспешно, дорисовал год, начал откликаться на 3-6 лет и вкатился как по маслу без лишней еботни. В целом если у тебя есть хоть год опыта (или вообще хоть какой-то реальный опыт в продакшене) то можешь смело рисовать 3 и откликаться на 3-6.
> Там по тыще рыл на вакансию и тестовые, которые никто не смотрит. Я почти три месяца откликался на это говно безуспешно, дорисовал год, начал откликаться на 3-6 лет и вкатился как по маслу без лишней еботни. В целом если у тебя есть хоть год опыта (или вообще хоть какой-то реальный опыт в продакшене) то можешь смело рисовать 3 и откликаться на 3-6.
Есть целых 2 реальных года опыта. Ну как бы с поиском работы еще проблем не было, но всегда вкатывался на копейки (сейчас пашу за 1250$). А так буду крутить, спасибо за инфу, анон хотя у меня есть часть реального опыта в черную, но похуй как-то уже
Да это пиздец, на самом деле. на 200к ещё можно без проблем зайти. На 250к начинают ебать сильно и конкуренция чувствуется, отбор прям жёсткий. Я за месяц ни одного оффера не получил
Мдапиздец. Лучше бы меня занесло из фулстека не во фронтенд, а бек. Не повезло просто...
Как раз не умею, блять.
Срыгивай из фронтенда и треда.
Да и джаве тоже. Спасибо ебучем вкатуноакадемии
// надо вывести "кек", "лел", "гог"
arr = [[1, "кек"], [2, "лел"], [3, "гог"]]
arr.forEach(([num, str]) => console.log(str)) // можно так, но num будет подчёркнут как неиспользуемый
arr.forEach(([_num, str]) => console.log(str)) // можно так
arr.forEach(([_, str]) => console.log(str)) // можно так
arr.forEach(([, str]) => console.log(str)) // можно так
Ролл
3 либо 4, по настроению
по-пидорски как-то
Будет. Как вообще можно написать самодельный промис, который не будет работать с авейтом? Разве что только названия методов по другому написать.
Довольно всратое задание, по-моему. Промисы в явном виде были популярны всего-то с 2012 по 2017 год, пока не добавили сахарок с async/await. После этого спрашивать за внутреннее устройство промиса - примерно как просить джуна переписать дерево классов без использования слова "class": можно, но уже нахер не надо.
Эту задачу невозможно решить, если недавно не читал документацию по промисам.
Ну или если используешь только Джаваскрипт и больше ничего. Знаешь его наизусть.
>если недавно не читал документацию по промисам.
Охуеть, тебе тяжело запомнить 3 метода у промиса: then, catch и finally? Обязательно открывать документацию?
Ну лично я не помню, чё там внутри. Функция с ошибкой первым аргументом? Вообще хуйня эти then/catch, не такое уж удобство по сравнению с колбеками, зато надо помнить кучу говна, resolve/reject и т.д.
Не, async/await полезная штука, колбеки тоже фундамент, а вот этой нотации с then место на свалке истории.
Года 3 назад эта задача всегда позиционировалась как задача на мидла/синьку...
Уже переприсвоил переприсваивание переприсваивания из массива массивов объектов копробро? Обязательно выучи тайлвинд редакс монголдебил соуп корс аякс хуякс чтобы импортировать библиотеку в библиотеку через другую библиотеку чтобы потом передать через стейт через вложенный роут чтобы потом поделить на 1000 модулей чтобы по итогу кнопка покрасилась в красный заодно получи квадриллион лет опыта иначе хрюша даже не пёрнет в твою сторону
Несвязный бред долбоеба, к сабжц отношения не имеет
for (var i = 0; i < 10; i++) {
setTimeout(function(){ console.log(i) }, 10)
}
Хотя я думаю, что современные джуны на это не ответят, лол.
>реально шизофреник придумал
JS придумал базовичок, пожертвовавший тысячи баксов на продвижение запрета однополых браков, из-за чего был даже уволен из Мозиллы.
> Brendan Eich stepped down as CEO amid widespread criticism of a donation he made in 2008 to Proposition 8, an initiative that aimed to ban same-sex marriage in California.
for (var i = 0; i < 10; i++) {
(function(j) {
setTimeout(function(){ console.log(j) }, 10)
})(i)
}
Короче, проблема с VS Code. Сделал чистую свежую установку. Все нормально, все быстро. Ничего вообще не ставил и даже не менял настроек. Несколько дней поработал (даже не с кодом, а просто текст). И вижу - долго открывается, секунд так 5+.
- Попробовал загрузить с чистым профилем (аля code --user-data-dir /tmp/tmp-profile). Моментально открывается.
- Сравнил с домашним профилем - разница 13 МБ (22МБ vs 35МБ). Отличаются кешом.
- Начал пошагово удалять директории внутри папки профиля (кеш и тп) и смотреть как запускается. Ничего не поменялось.
- Продолжил удалять. Дошел до Local Storage (а он мизерный, он даже не отличается по размеру и составу от tmp-шного профиля) - моментально открылось.
Кто-нибудь сталкивался с таким, ЧЗХ?
Я бы понял если бы у меня там несколько гигов кеша накопилось. А тут считай чистая установка вдруг начала тормозить на ровном месте и даже не в кеше дело.
for (var i = 0; i < 10; i++) {
let j = i;
setTimeout(function(){ console.log(j) }, 10)
}
Такая ахуенная, блять, задача - используйте пожалуйста устаревшее говно и сделайте так, чтобы работало.
Это просто долбаёбские конторы, которые дрочат НУ ПРОСТО ПОТОМУ ЧТО)))
Этот код не имеет смысла. Ты оставил var, но добавил let. В результате код выглядит странным, но не работает в IE6, а код с IIFE работает
for(i=0;i<10;i++) {
setTimeout((function() {
console.log(this)
}).bind(i), 10)
}
Ну и анал огично с call/apply
Ну мало ли. Наверняка даже в СШП есть заводы с машинами на ХР, подключенне только к внутренней сети. И ведь кому-то надо там писать скрипты для JScriptHost
Да я дед, но я тут причем? Задача не моя. Я вообще пишу на всем современном смузисоевом...
Полифиллы не умеют в IE6. IE9 максимум
Радостное. Наконец-то попался нормальный чел с продуктовой разработки, а не дрочер задачек без реального опыта.
>Радостное. Наконец-то попался нормальный чел с продуктовой разработки, а не дрочер задачек без реального опыта.
Тебе с такой логикой программированием заниматься нельзя. Боюсь представить, какой говнокод ты генеришь.
Да это у тебя какие-то проблемы вкатыша. У меня на WSL2 внутри виртуальной машины vs code открывается моментально. Там десяток репозиториев и десятки расширений
Какой продукт ты напишешь, если не способен реализовать класс на пять методов с простым и понятным назначением?
У нас общество реактомакак, классы в глаза не видели.
Продукт разрабатывается по тз.
А ты, в лучших традициях долбоеба-заказчика, даешь неполное тз вида "сделайте мне как там", типа это само собой разумеется, что исполнитель должен знать устройство промисов, нет, нахуй не нужно это знать, а если будет нужно - то можно ознакомиться при необходимости, а не дрочить ради дроча
Мы выбираем другую команду для выполнения работ по тендеру
>Ознакамливаться с промисами когда потребуется
Пш, пш. Так все здесь? Меня слышно?
@
Начнем с Сычева. Сычев, какой статус по таске?
@
Кантора читаю, жс учу.
@
Молодчина сычев. Жс нужная штука!
> ознакамливаться с промисами = ознакамливаться с деталями реализации промисов
Сычуша, ты бы девочку нашел, хватит дрочить
Сокращает время несколькими способами:
1) не надо бегать из файла с разметкой в файл с вёрсткой
2) не надо придумывать классы уровня .container и думать что он из себя представляет
3) не надо писать медиа запросы для того чтоб изменить вёрстку под определенный вьюпорт, ебанул префикс перед классом и готово
Улучшает качество код несколькими способами:
1) заставляет выносить тебя повторяющиеся куски разметки в отдельные компоненты
2) позволяет иметь единый источник (конфиг) со всеми возможными размерами, цветами и т.д., с автодополнением, а не main.css с кучей css переменных
3) утилиты типа twmerge позволяют разрешить конфликты классов, когда где-то в родителе хочется поменять стиль чилдренам, без !important
4) удаляет неиспользуемые классы, а используемые спрессовывает в минимально возможный файл
Middle+ JavaScript Developer
Капча намекает, но мне похуй, люблю этот фреймворк
Я и сам хейтил тейлвинд лет 5, громя его и поливая дерьмом. Но вот попал на проект с ним - и влюбился в него, теперь везде пишу только на нем
вуедебил
Сижу прямо сейчас на таком проекте.
Руки пахнут гавной.
Благо все под юай либой и пальчиком туда лезть не надо.
>не надо бегать из файла с разметкой в файл с вёрсткой
Открой сайд-бай-сайд
>не надо придумывать классы уровня .container и думать что он из себя представляет
Зато надо выучить ебейшее количество утилитарных классов тв
>не надо писать медиа запросы для того чтоб изменить вёрстку под определенный вьюпорт
Ты каждый день медиазапросы пишешь? Он пишутся один раз и дальше переиспользуются как миксин. Или вообще не переиспользуются см css variables
>заставляет выносить тебя повторяющиеся куски разметки в отдельные компоненты
Каким образом?
>не main.css с кучей css переменных
Ну сделай main.ts с кучей css переменных и статичной типизацией.
>утилиты типа twmerge позволяют разрешить конфликты классов, когда где-то в родителе хочется поменять стиль чилдренам, без !important
Очередная смузитехнология, которая решает пробелму, которую сама и привнесла.
>удаляет неиспользуемые классы, а используемые спрессовывает в минимально возможный файл
Зумеры изобрели Purgecss?
>Открой сайд-бай-сайд
Советы уровня /pr
>Зато надо выучить ебейшее количество утилитарных классов тв
На каждом проекте одинаковые, и в основном просто сокращения от ксс свойств
>Каким образом?
Никому не хочется дублировать простыню из кучи ксс свойств снова и снова, но на голом ксс эта проблема решается созданием класса объединяющего их, на тэйлвинде - созданием компонента
>Ну сделай main.ts с кучей css переменных и статичной типизацией.
Мне тейлвинд автоматом сгенерирует для указанных цветов классы для текста, для бэкграунда и т.д., а твои переменные представляют из себя абстрактное нечто - куда хочешь туда и суй
>Очередная смузитехнология, которая решает пробелму, которую сама и привнесла.
Держи в курсе
>Зумеры изобрели Purgecss?
Там оно под капотом и есть, лол
Middle+ JavaScript Developer
Когда тебя уже стукнут, чтобы ты не бесновался тут, вниманиеблядь ебаная.
У меня в мухосрании на 300-400к населения в шараге появилось объявление о стажировке в мухосранскую веб-студию vueJS junior+. Начало стажировки в сентябре.
Требования:
Опыт работы с: vue, sass, stylus, vuetify, vite, pinia, npm, yarn, figma
Желательно: знания typescript, nuxt, graphql, nodeJS
Будет плюсом: знания sql, php, laravel, CI/CD, Linux
Мой вопрос такой, если начала в сентябре, то там осталось до сентября недели 2. Как мне успеть за 2 недели выучить vue и nuxt? Если я ими никогда не нюхал их. Я только маленько рякт нюхнул и всё.
Как за 2 недели подготовиться? Я к тому же typescript не знаю, что будет если я не буду учить, так как не успею? Там написано, что желательно typescript.
Поясните, что значит желательно typescript? Это значит его можно не учить?
Представил, блять, как все нормальные анальники провели лето в отпуске, съездили там куда-то, отдохнули, а этот три месяца репортил каждый мой пук.
Middle+ JavaScript Developer
Всё это, что они перечислили, сделано выебонов ради, как много технологий используется, просто охуеть.
>Как мне успеть за 2 недели выучить vue и nuxt?
Если это таки стажировка, то можно попробовать залететь на знаниях, полученных за эти две недели, просто открываешь документацию и читаешь, каждый пример пишешь сам от руки не копируя по два раза, понимаешь для чего это надо, если не понял гуглишь. Nuxt в последнюю очередь, главное Vue.
>TypeScript не знаю
Перед каждой переменной надо писать тип, это вкратце, когда будешь ставить вью проект (npm create vue@latest) - выбери там поддержку тайпскрипта, заодно добавь pinia - это либа для сторов, типа чтоб разные куски на странице имели доступ к одним данным. Почитаешь примеры, повтыкаешь. Это не значит что выучил, но хоть представление будешь иметь. Скажешь что всё выучил и применял.
Ну и удачи во вкате, потом напиши как прошло.
Middle+ JavaScript Developer
Так тебя не возьмут
> Как выучить за неделю Вуе
Легко, открой доку и начни писать по ней туду лист (я серьезно). Нухт - то же самое, что и вуе, учи его в последнюю очередь. На тупоскрипте можешь сильно не зацикливаться - скорее всего будешь ковырять легаси на вуе2, написанное на ванильке
А вообще я тоже, когда выходил на первую работу, не знал Вуе - только Реакт. Но выучил его дня за 4 и вкатился. А нухт учил прямо на работе
> Туду
И пили, конечно, его на вуетифай, чтобы набить руку. А в самом вуетифае дай бог пару часов нужно, чтобы разобраться
Я люблю писать стили с нуля, но у меня непроизвольно получаются классы типа display-block, relative, preserve-3d. Короче, сорт оф самопальный тейлвинд.
>Бекенд на JS/TS мёртв нахуй.
Не надо, у меня на ноде пет-проект браузерки пилится, этой осенью 10 лет проекту стукнет, до сих пор не дошёл до беты, кек.
Тупоскрипт уже никуда не денется. Наоборот его в том или ином виде грозятся засунуть в браузер.
Смысл тайпскрипта в кокомпиляции. Линтер в иде != компилятор
Имагинировал твое ебало, если ты за 20 лет не перекатился из разработки в менеджмент или обучение
Тактам хотя бы рости можно. А в разработке ты выше эксперта ака синьор+ хуй прыгнешь.
По зепке тоже самое что синька+, мб чуть больше, но не сильно.
Архитекторов уже лет 10 как нет, архитекторы это только на Джаве-хуяве деды под 60 лет, которые в современной разработке исчезли как класс
ну явно же не буду хуярить веб! Уйду в сложные дисциплины, типо переписывание линукса на Раст
Байтоёбы всегда нужны. Чем сложнее сфера - тем плотнее там сидишь. Любого веб-разработчика можно заменить за условную неделю.
Глядя как развивается ИИ, я не берусь предсказывать, что через даже 5 лет будет с рынком программирования.
Мнение? Минусы? Плюсы?
Я до сих пор пытаюсь понять нахуя, мб я че-то упускаю? Единственное, что я вижу - это то, что сиай хуй настроишь, если опираться на имя веткок...
Проекты независимые.
Неа, не делят. Вообще развернутые, абсолютно изолированные по коду друг от друга... Но .gitignore сука в корне репозитория, и на одном уровне с ним просто директории с проектами
Лид пишет пиздец говнокод. Я уверен, что он и инициировал эту хуйню, просто видимо потому что ему тяжело понимать как создавать репозитории или что... (я не знаю)
Просто, боль в том, что я только устроился... А теперь опять увольняться нахуй похоже.
1) Сиай, тесты хуй настроишь
2) Риски чей-то коммит перетереть нахуй
3) Как релизы делать? Как версии трекать?
4) А если больше разрабов придут, там же вообще нахуй можно повеситься будет
Больше всего я боюсь, что когда я это выскажу, то начнется активная защита этого говна от всех старых разрабов.
короче накидайте тейков, анончики, ну или обосрите меня я хуй знает...
Моно реп же. Код может быть без зависимостей. Но зависимост могут быть функциональные, если все это один продукт. Чтобы все это в мастере под одним тегом соответствующем версии продукта было.
>Просто, боль в том, что я только устроился... А теперь опять увольняться нахуй похоже.
Люди тайлвиндом обмазываются, а ты от неправильного ведения гита брезгуешь?
>3) Как релизы делать? Как версии трекать?
А это надо?
>2) Риски чей-то коммит перетереть нахуй
>4) А если больше разрабов придут, там же вообще нахуй можно повеситься будет
Чего вешаться, у вас же там фичабренчи и дев(мусорка), ну а мастер - чистая, готовая ветка, как пнял.
Хули перетереть. Нормально все должно быть.
>Больше всего я боюсь, что когда я это выскажу, то начнется активная защита этого говна от всех старых разрабов.
Поинтересуйся а не быкуй, хули.
Я как-то раз с лидом пару месяцев спорил какой фреймврк надо брать на готовящийся проект.
>>50249
Лааадно. Спасибо за мнение!
> А это надо?
Ну вот тоже хз. По большому счету похуй? Или не похуй? Я в душе не ебу. Допустим зная номер версии, с какой все пошло по пизде, можно откатиться до нее. Это особенно хорошо для энтерпрайза где есть неиллюзорная возможность залить багу из-за обилия разрабов и хуевости тестировщиков (потенциальной)
> Чего вешаться, у вас же там фичабренчи и дев(мусорка), ну а мастер - чистая, готовая ветка, как пнял.
Ты правильно понял, но там веток просто сотни, тысячи наверное. Я когда в гуевине, говорю, проматываю ниже, я теряюсь, потому что обилие веток шириной хуй знает сколько не вмещаются в экран. Это пугает, ибо как найти коммит?
> Поинтересуйся а не быкуй, хули.
Ну осторожненько зайду, конечно. Но блин, хз, монорепо в случае с фронтом... Видимо я чет не знаю...
Есть
>ибо как найти коммит?
Нахуй его искать, если кто-то что-то гавной замарал, иди в чатик и пиши что за хуйня, пусть ищут, тебя это ебать не должно.
Если же надо просто посмотреть в какой момент все пошло по пизде, то красивые линии веток тебе не помогут, там же скорее рандом и усидчивость.
У меня на проекте сейчас чуть ли не каждый пр трет что-то новое-чужое, ну и ничего, живем как-то.
Твое дело фичи выдавать и править хуйню, если галера хуйня - сиди и кайфуй, ком. опыт и шекели получай.
Игры что ли? И как успехи?
Всегда хотел игры пилить, привлекал больше именно геймдизайн, а не визуал или технические штуки, но никогда не брался да это, так как изучать анреалы и прочее это слишком, чтобы пытаться в одно рыло что-то делать, но недавно узнал, что можно игрушки пилить на js, начал вкат. Хочу пилить мини проекты-игры с упором на хороший геймдизайн и геймплей.
Собственно вкат начал и везде веб мелькает, я вот думаю стоит туда соваться или просто освоить сам ecmascript и сразу идти куда нужно. Я просто пока представить не могу что там и как. Получится ли, что продолжив дальше скакать по туториалам, которые все рекомендуют я потом обнаружу, что освоил веб сторону джаваскрипта и применить её никак не могу для игр и подходящих фреймворков и по сути начну заново всё учить (за исключением базового языка)
Я и не а индустрию метил. Ну, я имею ввиду, не работать на кабана. Написал же первоочередная цель это пилить проекты и выкладывать их, а не работать на кого-то. Да и если уж так, то я думаю если я смогу пилить игры на жс, то в веб перейти будет легко
У меня сейчас на работе несколько архитекторов и даже старший архитектор.
Так что не надо мне тут.
На позапрошлой работе тоже были архитекторы. На прошлой не было, и по архитектуре это было видно.
Уже как три года, как вкатился и хуярю онли на бэке, фронтом не работал ни дня, вакух, даже в рф, до ебаной жопы на любой вкус, щас вот перепрыгнул, сделав +100к к окладу
Конкуренция низкая, особенно в сравнении с фронтом, хз о чем ты/
Но это я не про фуллстек говорю, а про полгоценный бэк на ноде в плане вакансий
Ебало имагинировали этого чела? Наверное уже поверил в то, что выпустит свой говнокал напиленный на коленке и станет миллонером.
Есть миллион продавцов кала и единицы из них миллионеры.
решил сделать перекат с vue 2/3 на более котирующийся инструмент по рыночку - react. Глянул всякие там вакансии у бигтехов(озон иди нахуй со своим вью и свелтом. я вашу шарагу в рот ебал. женек - даров) и у меня появились вопросы:
- на многих вакансиях требуется знание реакта с хуками и всякие сторы с роутами, но не указано ничего про фреймворки, которые в себе стараются все аккумулировать по типу next/nuxt. верно ли я понимаю, что ванильного реакта с обвязкой вокруг него(сторы, роуты) хватит для заскока в бигтех по типу вк?
- какие версии реакта реально актуальны на проектах? многие рогаИкопыта пишут, что у них самая актуальная версия, но мой опыт подсказывает, что компании любят напиздеть в описании, поэтому у вас и решил поинтересоваться.
- че используется из ui-библиотек? понимаю, что вкатываясь в бигтех - я будет иметь дела с уже реализованным китом, но тут стоит понимать: свое или тож самое, но поверх чужого?
- поделитесь своим опытом и советами. мейби подхвачу. спасибо.
- не уточняю про тс, ибо понимаю, что все сейчас на нем, но мейби есть что -то такое о чем стоит предупредить ?
> Сменить инструмент
> На рякт
А я наоборот свитчнулся с рякта, не найдя на нем работу, в вуе. А может нахуй это тебе надо? Может лучше онгуляр?
Аппроксимация по длине текста.
Если у "элемента" внутри не только текст, но и другие штуки, то функция вычисления "длины" становится сложнее.
Если данные в компоненте динамические, отправлять на бек в сервис, который кидает в нейронку, она кидает несколько вариантов в playwright, который делает скрины, и люди как в капче выбирают самый короткий вариант, и таким образом обучают нейронку.
Приходи поделиться вайбом через год обучения и полгода поиска работы.
Для создания контейнера, в котором элементы будут располагаться в двух столбцах и занимать как можно меньше места по высоте, можно использовать CSS Grid Layout. Этот подход позволит динамически управлять размещением элементов в зависимости от их высоты.
Вот пример реализации:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.container {
display: grid;
grid-template-columns: 1fr 1fr; / Два столбца одинаковой ширины /
grid-auto-rows: min-content; / Высота строки будет минимально возможной /
gap: 10px; / Отступы между элементами /
}
.item {
background-color: #f0f0f0;
padding: 20px;
border: 1px solid #ccc;
box-sizing: border-box;
}
/ Заставляем элементы заполнять пространство оптимально /
.item:nth-child(2) {
grid-row: span 2; / Этот элемент будет занимать 2 строки /
}
</style>
<title>Grid Layout Example</title>
</head>
<body>
<div class="container">
<div class="item">Item 1</div>
<div class="item">Item 2 (higher)</div>
<div class="item">Item 3</div>
<div class="item">Item 4</div>
</div>
</body>
</html>
```
### Объяснение:
1. .container: Это наш контейнер, который имеет две колонки (1fr 1fr). Высота строк (`grid-auto-rows`) будет минимальной, исходя из контента.
2. .item: Элементы внутри контейнера. Все элементы имеют одинаковую стилизацию.
3. grid-row: span 2: Здесь ключевая часть. Для элемента с максимальной высотой (в данном примере это второй элемент) мы указываем, что он должен занимать две строки. Благодаря этому остальные элементы оптимально распределятся по высоте, заполняя пространство рядом с ним.
Таким образом, элементы будут располагаться в двух колонках и занимать минимально возможное пространство по высоте.
Для создания контейнера, в котором элементы будут располагаться в двух столбцах и занимать как можно меньше места по высоте, можно использовать CSS Grid Layout. Этот подход позволит динамически управлять размещением элементов в зависимости от их высоты.
Вот пример реализации:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.container {
display: grid;
grid-template-columns: 1fr 1fr; / Два столбца одинаковой ширины /
grid-auto-rows: min-content; / Высота строки будет минимально возможной /
gap: 10px; / Отступы между элементами /
}
.item {
background-color: #f0f0f0;
padding: 20px;
border: 1px solid #ccc;
box-sizing: border-box;
}
/ Заставляем элементы заполнять пространство оптимально /
.item:nth-child(2) {
grid-row: span 2; / Этот элемент будет занимать 2 строки /
}
</style>
<title>Grid Layout Example</title>
</head>
<body>
<div class="container">
<div class="item">Item 1</div>
<div class="item">Item 2 (higher)</div>
<div class="item">Item 3</div>
<div class="item">Item 4</div>
</div>
</body>
</html>
```
### Объяснение:
1. .container: Это наш контейнер, который имеет две колонки (1fr 1fr). Высота строк (`grid-auto-rows`) будет минимальной, исходя из контента.
2. .item: Элементы внутри контейнера. Все элементы имеют одинаковую стилизацию.
3. grid-row: span 2: Здесь ключевая часть. Для элемента с максимальной высотой (в данном примере это второй элемент) мы указываем, что он должен занимать две строки. Благодаря этому остальные элементы оптимально распределятся по высоте, заполняя пространство рядом с ним.
Таким образом, элементы будут располагаться в двух колонках и занимать минимально возможное пространство по высоте.
> скажу как есть мол опыта нету, дайте ждуна
Сразу проёб. Я когда напиздел про много опыта, начал хоть какие-то приглашения получать.
Задеплоюсь я в момент
Валидол лежит в корзине,
Поколбасимся в рутине.
Среди приглашенных - Vue 3, Script setup, dj Jest и куча npmjs плюшек. 100КВатт typescript-а. Готов арбайтен? Пришли npm run serve и давай уже ближе к нам.
https://hh.ru/vacancy/105767443?query=vue+frontend&hhtmFrom=vacancy_search_list
Мне одному все это кажется кошмарным сном?
> Frontend-разработчик (верстка + vue.js)
> Ожидаем подтвержденный опыт работы по направлению от 3-х лет
> ИП Михайлов Александр Олегович
> Full-time, удаленная работа (работаем как с самозанятыми или ГПХ)
>(работаем как с самозанятыми или ГПХ
Пошел бы чисто как на вторую работу, если там не будет ебли задачами.
> Отлично знает: JavaScript, TypeScript, Vue.js
> Опыт работы frontend-разработчиком от 3 лет.
> Заработную плату до 330 000 рублей на руки;
Почему между вакансиями с 2 и 3 годами опыта такая пропасть по зарплатам и адекватности?
Как же я ненавижу этого долбоеба. У него форк встал просто по комманде fork . хотя такой комманды в ноде вообще нет. Уебан блядь выкидыш шлюхи
>верно ли я понимаю, что ванильного реакта с обвязкой вокруг него(сторы, роуты) хватит
Да. Фреймворк типа Некст - это вещь которая доучивается по ходу. Там нет ничего принципиального нового и сложного.
>какие версии реакта реально актуальны на проектах?
Практически везде 17+. Классовые компоненты (не error boundary) очень редко. В остальном там из версии в версию почти ничего не меняется.
>че используется из ui-библиотек?
Самое частое - Material UI. Все остальное идет с большим отрывом.
>поделитесь своим опытом и советами
Если хочешь вкатиться в бигтех, то надо учить алгоритмы и систем дизайн.
>не уточняю про тс, ибо понимаю, что все сейчас на нем, но мейби есть что -то такое о чем стоит предупредить ?
Нет. Тс на реакте - это несложные интерфейсы, типы, дженерики, может немного деклараций. Желательно уметь работать с openapi-typescript и подтягивать типы из сваггера. Неймспейсов, декораторов, перегрузок и все остального такого там не будет.
Волки стесняются все три года рисовать. Обычно 3+ лет рисуют те кто имеет хоть какой-то опыт. Сейчас 1-3 года на хх - это вакансии для вкатунов, где тысячи откликов, бесконечные тестовые, массовые отказы без объяснения причин. Вакансии с 3+ годами - это и есть обычные вакухи для опытных разрабов. Их кстати и количественно больше, чем 1-3.
братик, я тебе как соболезную так и рад за тебя)
вью - реально классная штука, но она только ща начинает РЕАЛЬНО набирать обороты и возможно я к тебе в будущем попаду на собез и ты меня спросишь за компьютед метод(вью2)/функцию(вью3)
ну бля, да, есть такое. он ща еще цены завысил ахуеть как. давно слушаю его курсы только из -за халявного кабинета в доступе, но а ваще у него кал-калыч контент, ибо прыгает по верхам только и ничего про внутренности не рассказывает.
делает вкад для волков
пасиб. в принцепе ничего не поменялось за 3-4 года, когда я ласт вкатывался в реакт.
>> Если хочешь вкатиться в бигтех, то надо учить алгоритмы и систем дизайн.
ну насчет этого хз... если брать яндексы, то да - там это требуют, а вот если брать всякие вк и т.д - то чета я такого не заметил. думаю, что хватит базовой книжки по типу "грокаем алгоритмы" и т.д, но! у меня есть туз в тузе - лафоре , которого я думаю ,что точно хватит и яндексу)
Сотни откликов на вакухи сейчас везде, может кроме плюсов.
Почему ты озон нахуй посылаешь? Условия там крутые. И это единственный бигтех с вью.
>>51181
>>51673
>>51683
сем даров(эгейн)!
сущность не поменять и я не могу себе врать.... я не хочу заниматься реактом. он меня угнетает! АРРРРРРРРЯЯЯЯЯ
реальна . говно ебанное , а не технология , которое готовить пиздец как не приятно и подходит только для волков -вкатунов , которым нравится сидеть и пердолить кнопки.
соотвественно - появилось желание сделать перекат на ангуляр. Ангуляр я заценил и оценил.... Это же вью, но в разы прокаченнее и скиловее! Не зря коллеги из гугла деньги получают! боже, как же приятно с этим работать и не забивать себе голову всякой всячиной. я сделал обычный туду лист и не почувствовал себя говночистом, что меня поразило!
Кароч, снова пулл вопросов:
- че требуют по знанием, кроме ванильного ангуляра и рх.джс?
- чего по ssr'у и тому подобному?
- какие актуальные версии используются на проектах? я ваще сейчас сделал проект на 18.2, хотя знаю, что до сих пор есть проекты с 9+ , а это гнетет
- чего используется из ui-a ?
- чего и как обстоит с тс? какова сложность его использование в контексте ангуляра? знаю, что ангуляр на нем ВЕСЬ, но это же больше мне поможет для вката, но как же с ним работается самому ?
- чего по архитектурным решениям? есть же всякие fsd на рынке для карликов. но я вижу, что тут команда не долбаебов, а компетентных коллег и поэтому думаю, что в этот храм не стоит лезть со своими правилами по раскладке файлов по директориям(там это называется папками. возможно у всей команды не было отца в детстве) и правилам импорта этих же файлов.
- чаво по рынку? как в рф дела? какие банки используют данный инструмент богов?
- коллега, поделись своим опытом и советами. мейби подхвачу!
п.с. кидайте ссылки , ибо будет интересно почитать и возможно вы еще кому -то поможете сделать годный перекат!
>Бекенд на JS/TS мёртв нахуй.
Двачую. Пожалуйста, не надо вкатываться в чистый бек на ноде, тут всё очень хуёво, работы мало, получки низкие, удалёнка редка, короче стек мертвечины.
Не пойму зачем вообще на него вкатываться? Для монолитов используется Java/C# с ООП и архитектурой, для микросервисных покак уже зарекомендовал себя GO. Нода разве что в BFF и Api Gateway имеет конкурентное преимущество, а в остальном хз зачем она нужна.
class Pizda {
clitor = {
marxismLeninism: 1488,
createOrgasm: () => {
return (arg) => console.log('has reached:', this.anal+this.marxismLeninism < arg);
}
}
constractor() {
this.anal = 34;
this.clitor.anal = this.anal // solution for dolboebs
}
}
Такого банка нет
А вот есть к примеру жс в браузере и там он одну функцию делает - фронт, в ноде уже другую - бек. Что ещё подобного есть?
Открой доку и почитай.
Можешь открыть вакансии на хх и посмотреть.
https://online.rosbank.ru/static/js/main.e351a3c4.js -> https://online.rosbank.ru/static/js/index.tsx
i.exports=JSON.parse('{"REACT_APP_STAND":"cert","PUBLIC_URL":"./","REACT_APP_ROUTE_URL":
function xyu(e) {
addToUpdateCycle(() => e.curentTarget.classList.add("pidorasi ebanie") )
}
button.addEventListener("mouseup", xyu)
C хуяли стрелочная функция не видит e? Нужно в xyu() указывать const currentTarget = e.currentTarget иначе ошибка.
Они там охуели что ли? Как так, блядь? Это же аргумент, с хуяли вообще он уничтожается гц или что блядь, я не понимаю это ебалу вообще.
Какая опечатка ещё, че несёшь? Это пример когда, конечно он без опечаток, если и она и есть где-то.
function tick(timeStep) { update() }
function addToUpdateCycle(fn) {
update = fn;
requestAnimationFrame(tick);
}
function xyu(e) {
addToUpdateCycle( () => e.currentTarget.classList.add("abu") )
}
function vagaine(e) {
const target = e.currentTarget;
addToUpdateCycle( () => target.classList.add("abu") )
}
document.querySelector("body").addEventListener("click", xyu);
//document.querySelector("body").addEventListener("click", vagaine);
Если что вон кодь. Что это за хуйня? С хуяли стрелочная функция не видит e?
Ещё раз, дэбил, тебе выше скинули вакансии. У Тинькова всегда вакансий с ангуляром было больше реакта.
Очевидно, что наличие вакансий вообще ничего не доказывает. Реальность такова - ангуляр используется только в одном банке.
вай билять, какой долбаеб...
хуйли ты смотришь на приложения, которые смотрят в сеть, но не учитываешь внутрянку?
реальна фреймворк программист нашелся
Тупой поридж, ты понимаешь, что в том же тинькове десятки проектов помимо главной страницы с тупой статикой? Любой человек с опытом в индустрии знает, что они всегда больше использовали ангуляр. Они даже ui либу для ангуляре сделали, вас зумерков такое не смущает, что банк разрабатывает либу для ангуляра, но ангуляр якобы не использует? Толсто пиздец.
>Реальность такова - ангуляр используется только в одном банке.
Помимо трёх названных компаний из крупных и уважаемых ангуляр используют в ЦБ РФ, 2Гис, Positive Technologies, Ростелекоме, МТС, Билайне, Совкоме, Росатоме, yadro.com, Газпроме, Финаме, Контуре.
>>52852
Тебе уже пруфанули. Вакансии есть, опенсорс на ангуляре есть. У тебя видимо проблемы с пониманием русского языка, с чтением и распознаванием смысла в тексте, в общем ничтожный уровень интеллекта. Попущу тебя третьим пруфом:
https://habr.com/en/companies/tbank/articles/
Теперь можешь дальше оправдываться.
>Вакансии есть
Это вообще ничего не пруфает.
>опенсорс на ангуляре есть
Тот самый, на который никто не сумел дать линк? Больной плод воображения
Косвенное доказательство.
Даже если принять на веру беспруфные вскукареки про тиньку - получается ангуляр используется аж в двух банках. Правда в одном из них ангуляр почему то не используется в приложениях для клиентов. Почему, интересно?
https://udn.realityripple.com/docs/Web/API/Event/currentTarget#Examples
вот же специально для тебя написано, что the value of event.currentTarget is only available while the event is being handled, а потом пропадает
используй target или отдельно сохраняй currentTarget
Быть неприянтым обществом шизов не страшно. Пришлось сокрушить их манямир
>Cursor
Да. Рефактор и фиксы по нескольким страницам накидывает ахуенно.
Можно спиздануть: сделай хуйню нейм, и самое ахуенное - оно это сделает.
Да еще и бесплатная считай. 50 гопоты 4 и 200 гопоты 3.
Не всегда идеально, офк, но в 70-80 процентов случаях норм накидывает.
Но я все же предпочитаю как основной - вебшторм.
А курсор когда лень че-то пилить изи разбираться.
Чел, ангуляр это нишевый фреймворк, как и вью, который используется постольку-поскольку. Не пойму в чем спор вообще?
Да просто пытаюсь выяснить действительно ли используется ангуляр хоть где то, где есть реальные пользователи. Пока узнал про 1.5 банка, и про "бля буду на внутренних проектах используют, любой про скажет"
Ну и реально ангуляр в бекофисах и админках популярен сместе с материал компонентами.
Да хуй что вы спорите. Реакт чисто для фронтендеров. Чтобы нескучно ебаться с винегретом из ноунейм либ. Ангуляр и вуй для фулстеков.
Накручивать можете не предлагать, я не крыса.
https://hh.ru/vacancy/106010570
4 месяца опыта просят, но в любом случае откликнулся. Если бы написали год - уже бы не стал.
А у тебя в навыках что? В сопроводительно описал свой опыт работы, как с чужим кодом работал? Приложил ссылку с рабочим привлекательным фронтендом?
Просто пишу с какими технологиями из их списка работал, даю ссылку на гитхаб с последним крупным проектом Сайт кинотеатра, с возможностью добавлять кастомные фильмы из поиска и бронированием билетов.
С чужим кодом можно сказать что и не работал - я же вкатываюсь только, толку писать "видел чужие работы на гитхабе, дохуя из этого понял".
Надо им ссылку давать на работающий проект
Если коммерческий опыт не указывать надо вакансии на стажера искать
>Это вообще ничего не пруфает.
Пруфает. Если есть вакансии, значит есть проекты на ангуляре.
>Тот самый, на который никто не сумел дать линк? Больной плод воображения
Тинькофф ангуляр опенсорс слишком сложный запрос для Гугла? А, ну да, я забыл, что разговариваю с клиническим дэбилом.
https://www.tbank.ru/career/technologies/taiga-ui/
>Косвенное доказательство.
Нет, прямое.
>Даже если принять на веру беспруфные вскукареки про тиньку - получается ангуляр используется аж в двух банках.
Ещё раз для дэбилов перечислю список компаний:
Росбанк, Тинькофф, ПСБ, ЦБ РФ, 2ГИС, Positive Technologies, Ростелеком, МТС, Билайн, Совкомбанк, Росатом, Yadro, Газпром, Финам, Контур.
>Правда в одном из них ангуляр почему то не используется в приложениях для клиентов. Почему, интересно?
Пруфы?
Если бы у бабушки был хуй то она была бы дедушкой
1krps
Проиграл с неосилятора. Ты хоть жопу в состоянии подтереть без подсказок?
Так, что тут у нас, сложная штука! Пойду скопирую с стаковерфлов!
Так... Документ квериселектор... Что-то не работает...
Нет, я не будут подключать нейронку там же форы и кссы, плохие корпорации спиздят мой код!
До этого делал только обычные платежи через стороннюю платежку внутри вебвью.
А с подписками не понимаю как быть. От мысли что надо хранить карты у себя на беке и ебаться с токенизацией становится ебано. От всяких SDK воняет говной. Или может Adapty - это база?
С самопальными подписками тебя пошлют эпл и гугл нахуй, надо реализовывать через их подписки, там на беке хранить ничего не надо, только верифицировать запросы клиента
А что после этой даты? Незаконно работать по гпх?
Гугли апи своего банка. Обычно там уже есть реккурентные платежи.
Есть страница, на ней div main, в нем div child_id, в каждом форма.
Первый скрин - при изменении формы сделать кнопку "отправить" доступной, второй - сделать input c id=leadId доступной для изменения только при отправке формы (нужно передавать значение на сервер, но не нужно, чтобы пользователь менял значение), третий - чтобы динамически для каждой формы определялся свой выбранный option, потому что все эти формы - формы изменения каждой записи БД.
Вопрос: что можете посоветовать по стилю написания кода?
Как красивее и чище написать то, что написал я?
В происходящее не вникал, но по стилю сразу есть замечания.
1) если не собираешься переопределять переменную, пиши const, а не let (это вроде подчёркивает VS Code из коробки)
2) не используй в колбеках полноценные function, если тебе не нужен this (пользуйся стрелочными ф-циями: () => { })
3) не используй циклы общего вида, если для того нет особых причин (break, continue, i--); вместо этого юзай стандартные функции перебора: forEach, filter и т.д.
Кстати мне тоже такое давали. За ночь сделал его, а потом еще был 2часовой тех собес после него (лол)
Пездос не в этом, а том что код очень хрупко привязан к верстке. Кто-нибудь хуйнет лишних парентов дивами и в вся логика поломается. Зачем идти от main если можно сразу formChildren выбрать с querySelectorAll
И искать адекватный способ получения определенного потомка нужного тега.
Ну и говнокод. Кто то подобную хуйню на серьезных щщах высирает и всерьез думает что другие должны понимать что там написано. В ахуе жиеспердоликов
скорее всего, в jquery можно сразу заселектить нужные тебе элементы формы без ебли с циклами
да и даже без jquery наверняка в css-селекторах все есть, нахуй он циклами ходит
А что там понимать?
Ну, что не понятно?
Берешь примет на nest. Берешь пример на next. Накатываешь зависимости и запускаешь.
Там уже смотришь по каким ручкам идет и меняешь под себя.
Сделай проект с этими двумя примерами и закинь сюда если не понятно.
Стоит, чтобы потом стать lara+vue фуллкеком. Что ни говори а конкуренций с таким стеком меньше в разы + ты всегда будешь нужнен.
Лишь бы чела не заставили потом битрикс хуярить... А вообще я три жды устраивался таким фулстеком - в итоге 99% времени писал vue и стал обычным фронтендером. Хотя мне не нравится
>Стоит, чтобы потом стать lara+vue фуллкеком. Что ни говори а конкуренций с таким стеком меньше в разы + ты всегда будешь нужнен.
И вообще тогда лучше фулстеком идти на angular и c# или java. А то пхп и вуе это максимально помойный стек. Как бывалый вуедибил говорю
А вообще как вариант для вката в айти и первых двух лет работы потянет. Но фулстек это удел нищих контор и лучше с ними надолго не связываться
Юзай RevenueCat и не еби мозги
Во вью как таковом некуда расти. Сперва тебя затащат на пыху, а потом на битрикс.
>Во вью как таковом некуда расти. Сперва тебя затащат на пыху, а потом на битрикс.
Вообще-то есть куда. В vue teamlead за 400 к за 5 лет опыта (2 из которых реально в битриксе, сука). Или срыгивать в другой фронтенд фреймворк
Мимо вуедурак. Лучше бы вкатился в Ангуляр
Конечно есть. Пока ты свой фреймворк даже просто ради интереса не написал то ты еще щегол.
> Конечно есть. Пока ты свой фреймворк даже просто ради интереса не написал то ты еще щегол.
Ну можно написать - это прикольно. Но я больше под ростом имел в виду карьерный рост и какую-то более имбовую позицию
В карьерном плане надо идти в крупные сервисы, где много асинхронных операций на клиенте, много рендеров/ререндеров, надо вникать в кишочки фреймворка/принципы работы браузера, чтобы это все можно было сделать так, чтобы нормально работало.
Плюс сейчас все больше идет требований к знаниям ноды, не прям полноценный бэкенд, а умение писать свой BFF, Api Gateway, подключать полученные богодельни к брокеру, поднимать под это дела инфраструткуру.
Еще как отдельная ниша - разработка крипты, там вообще своя история.
Так я хочу понять как это работает, мне нужно кастомное АПИ писать
> Больше всего вакансий
Хуевый аргумент, честно. Мог бы сказать, что фреймворк сам по себе хорош и ТОП-1 по юзанию в солидных компаниях. А "больше всего вакансий" это хуйня, когда в Реакт стучится в 5 раз больше, чем Вуе и 10 раз больше, чем в Ангуляр
Я пару лет назад даже с нарисованным опытом не нашел работы на Реакте, поборов десяток тысяч вкатунов. А в другой фреймворк влетел без проблем
Только они тормозные и глючные, но так конечно, есть сотни специализированных фреймворков
Код тут https://pastebin.com/9D4PQVhG
Вообще не пойму как получить доступ к элементам с двух вкладок сразу. Возможно получать в сервис воркере id всех открытых вкладок, и передавать их в скрипт сайдпанели, а там уже делать executeScript и передавать полученный id вкладки? Подскажите как правильно сделать
>А в другой фреймворк влетел без проблем
И теперь ноешь какое вуе говно, расти некуда, вакух в бигтехе мало, а в большинстве вакух еще в придачу телега с пыхой.
Я все ещё не теряю надежды выкатиться в ангуляр. И все же Вуе лучше вката в 1с и Битрикс
> В придачу с пыхой
Вообще не против пыхи. Класс язык (если там фулстек на фраймворках, а не цмс и битре). Но даже в таком случае будет всего 5% задаче на пыхпыхе
Поэтому я впервые в жизни захерачил поля с #решёткой и мне даже понравилось.
Хуй знает, не нашел нихуя. И не понимаю с чем это сязано, такая ебала пиздец.
Мы одна из таких команд)
Vue + Ionic
Полёт нормальный, можно скачать с AppStore/Google Store
2000 подписчиков есть, платят норм
Типо это WebView, но там дохуища плагинов на все случаи жизни, которые делают мостик до нативных функций и дёргают их, достаточно удобно , и не тормозит нихуя
Снятие порчи и сглаза. Приворот жениха. Отворот разлучницы. Гадание на картах таро. Семейное и карьерное планирование с помощью нумерологии и астрологии.
Мы прошли не один холивар по тайлвинду, но враг перегруппировался и ударил в самом неожиданно месте.
В рамках щитпостинга с коллегами бекендерами, я со всей своей авторитетностью обезьяны и холиварщика заявил, что Тайлвинд - гниль и рак индустрии. Поддерживал я этот настрой, кидал наши мемы и примеры говновилда. Вспоминал наши старые битвы и описывал эти примеры коллегам.
Но хитрые бекендеры пригласили анальника покруче, чей опыт затмевает мой опыт фронта и холиварщика вместе взятые.
Мы очистили /pr от говновилдеров, заставив их сидеть под шконкой, очистим же и наши галеры!
Мои бекендеры первые подключили к этой битве сторонние силы. Так что я прошу подключиться к этой битве вас.
Паста мега-йобо-анальника с большим опытом.
Ее нужно уничтожить.
Паста:
Tailwind хорошо, но сложновато
У них есть книга по верстке и дизайну, есть статья о том зачем и почему.
== Плоскость ==
TW - это подход, основная цель которого сделать сложность "плоской"
Верстать так, чтобы не появлялось неконтролируемых переопределений
.card {
padding: 10px
}
.another-container .card {
padding: 15px
}
Наблюдая этот кусок кода мы ничего не можем сказать есть ли у нас в проекте один .another-container или их несколько. Эта идея схожа с идеей о "значении в контексте", TW говорит о том, что контекста должно быть минимально, чтобы чтение кода было плоским.
У нас div и на нем 25 классов? Это некрасиво (пока что), но это контролируемо и предсказуемо, сложно как-то не так интерпретировать эти 25 классов или забыть проверить еще один файлик со стилями и тд
Конечо в TW тоже можно городить каскады переопределений, но его дизайн мотивирует так не делать.
"Минимизация контекста" это вообще важная тема в computer science
== Реиспользуемость ==
Мы в прямом смысле можем скопировать нужный нам блок верстки не заботясь о том, что под этот код нужно загрузить большой css бандл. Это позволяет реализовывать как раз этот подход, где структура "каскадности" почти отсутствует
https://tailwindui.com/ вот отсюда можно просто копировать блоки
Эту идею цепляют и фреймворки, в Shadui есть инструмент "lift block", активировав его можно выдирать из верстки нужный блок и вставлять к себе. При этом не нужно загружать какой-то дополнительный бандл или беспокоиться о том, что блок из tailwindui.com будет конфликтовать с блоками из shad
https://www.shadcn-svelte.com/blocks
https://ui.shadcn.com/blocks
Сам факт того, что на TW созданы практически идентичные UI Kit для всех основных и не только JS Frontend фреймов уже показателен.
Shadui есть для: React, Vue, Svelte, Angular, Solid
https://flowbite-svelte.com/ также реализуется для большого числа js фреймворков и тд
== Дизайн системы и уровень абстракции ==
TW занимает промежуточное состояние между Css и Html/Css фреймворками. Эти фреймворк утилит (utility-first), а не компонентов. И хотя TW говорит о том, что возможно, вам не нужен конкретный фреймворк, тем не менее они есть. Некоторые из них сделаны полностью в TW стиле, некоторые в классическом стиле - https://daisyui.com/, где поверх TW созданы привычные классы .btn , .card и тп.
В некотором смысле TW "дисциплинирует" Css. Каждый раз когда верстальщику не хватает чего-то из стандартного пресета классов (например отступов) нужно задуматься "а не выхожу ли я за рамки дизайн системы"? Больше нет магических чисел внутри стилей. Это мотивирует выдерживать вертикальный / горизонтальных ритм и тд
Можно ли было сделать эту дисциплину без TW? Конечно, более того многие так и делают, ui фреймворки часто поставляются вместе с утилитами, но TW делает это ультимативно, цельно, переносимо и фактически уже "по стандарту", на его основе делают фреймы, его включают в стандартную поставку.
== Есть ли семантичность в классах? ==
Классически нас учили писать так:
- <div class="features card"></div>
- .features { ...styles }
Нередко можно было увидеть стили связанные с "бизнес" названием класса. Был большой вопрос с тем, что часто стили добавлялись к классам, которые говорили нам что-то о логике, о принадлежности к сущности предметной области, процессе предметной области и тд. TW считает, что стили это только стили и смешивать одно с другим не стоит.
Нужно ли смешивать "бизнес семантику" со стилистикой вопрос за скобками, но TW мотивирует их разделять.
== Длинный class ==
Да, class длинный, но у нас есть утилита @apply и еще ряд утилит https://tailwindcss.com/docs/functions-and-directives, которая полностью нивелирует это, позволяя, выносить длинные строки из html в блок стилей, но с учетом всех вышеописанных пунктов
Внутри JS UI фреймворков также есть утилиты для более удобного указания классов
Вообще считается, что TW всегда пишется поверх стека со сборщиком, предобработкой template и тд. Аргументы вроде "у меня простой сайт, я не хочу js фреймворк" последние несколько лет неактуальны, бОльшая часть js фреймворков умеет выпиливать себя на этапе сборки полностью, а также есть инструменты вроде https://astro.build/. Поэтому сейчас нет никаких причин не использовать что-то для предподготовки html в хоть сколько-то сложных проектах, которые не будут потом правиться через nano по ssh
Если у вас 10 раз повторился элемент, а вместе с ним 100500 стилей, то может просто вы не в современном DX окружении
Оф дока TW об этом явно говорит, хотя дополнительно рассказывает о возможностях мультикурсора в ide
== Bundle Size ==
Вероятно, лучший Css Tree Shaking. "Увидел красивые кнопки, но не хочу затаскивать библиотеку из-за того, что увеличится размер бандла". Теперь это не проблема. Раз нет контекстов, то Html + Css легче поддается статическому анализу.
Теперь можно просто взять что-то понравившееся из, например, https://animation-svelte.vercel.app/magic и не беспокоиться о том, что к бандлу привесится сотня kb
А с точки зрения сжатия мы получаем текст с гораздо бОльшим кол-вом повторяющихся подстрок.
== DX ==
В IDE есть поддержка:
- "сортировка" TW стилей
- hover эффекты с докой для TW стилей
- авто подстановки, дополнения
- генерируемые dev-страницы для копирования с них стилей, цветов и тд
- вероятно, у TW самая большая экосистема, а если нет, то точно самая быстрорастущая
DX теперь почти одинаков при переходе с одного TW based kit на другой TW Based kit. В классических фреймах есть большой блок изучения его системы каскадного наследования, здесь этого нет. Опять же сложность в одной строке высокая, но это плоская сложность, которая не изменяется
Ряд стеков уже поставляется вместе с TW, ряд новых UI Kit строятся на его основе.
Мы прошли не один холивар по тайлвинду, но враг перегруппировался и ударил в самом неожиданно месте.
В рамках щитпостинга с коллегами бекендерами, я со всей своей авторитетностью обезьяны и холиварщика заявил, что Тайлвинд - гниль и рак индустрии. Поддерживал я этот настрой, кидал наши мемы и примеры говновилда. Вспоминал наши старые битвы и описывал эти примеры коллегам.
Но хитрые бекендеры пригласили анальника покруче, чей опыт затмевает мой опыт фронта и холиварщика вместе взятые.
Мы очистили /pr от говновилдеров, заставив их сидеть под шконкой, очистим же и наши галеры!
Мои бекендеры первые подключили к этой битве сторонние силы. Так что я прошу подключиться к этой битве вас.
Паста мега-йобо-анальника с большим опытом.
Ее нужно уничтожить.
Паста:
Tailwind хорошо, но сложновато
У них есть книга по верстке и дизайну, есть статья о том зачем и почему.
== Плоскость ==
TW - это подход, основная цель которого сделать сложность "плоской"
Верстать так, чтобы не появлялось неконтролируемых переопределений
.card {
padding: 10px
}
.another-container .card {
padding: 15px
}
Наблюдая этот кусок кода мы ничего не можем сказать есть ли у нас в проекте один .another-container или их несколько. Эта идея схожа с идеей о "значении в контексте", TW говорит о том, что контекста должно быть минимально, чтобы чтение кода было плоским.
У нас div и на нем 25 классов? Это некрасиво (пока что), но это контролируемо и предсказуемо, сложно как-то не так интерпретировать эти 25 классов или забыть проверить еще один файлик со стилями и тд
Конечо в TW тоже можно городить каскады переопределений, но его дизайн мотивирует так не делать.
"Минимизация контекста" это вообще важная тема в computer science
== Реиспользуемость ==
Мы в прямом смысле можем скопировать нужный нам блок верстки не заботясь о том, что под этот код нужно загрузить большой css бандл. Это позволяет реализовывать как раз этот подход, где структура "каскадности" почти отсутствует
https://tailwindui.com/ вот отсюда можно просто копировать блоки
Эту идею цепляют и фреймворки, в Shadui есть инструмент "lift block", активировав его можно выдирать из верстки нужный блок и вставлять к себе. При этом не нужно загружать какой-то дополнительный бандл или беспокоиться о том, что блок из tailwindui.com будет конфликтовать с блоками из shad
https://www.shadcn-svelte.com/blocks
https://ui.shadcn.com/blocks
Сам факт того, что на TW созданы практически идентичные UI Kit для всех основных и не только JS Frontend фреймов уже показателен.
Shadui есть для: React, Vue, Svelte, Angular, Solid
https://flowbite-svelte.com/ также реализуется для большого числа js фреймворков и тд
== Дизайн системы и уровень абстракции ==
TW занимает промежуточное состояние между Css и Html/Css фреймворками. Эти фреймворк утилит (utility-first), а не компонентов. И хотя TW говорит о том, что возможно, вам не нужен конкретный фреймворк, тем не менее они есть. Некоторые из них сделаны полностью в TW стиле, некоторые в классическом стиле - https://daisyui.com/, где поверх TW созданы привычные классы .btn , .card и тп.
В некотором смысле TW "дисциплинирует" Css. Каждый раз когда верстальщику не хватает чего-то из стандартного пресета классов (например отступов) нужно задуматься "а не выхожу ли я за рамки дизайн системы"? Больше нет магических чисел внутри стилей. Это мотивирует выдерживать вертикальный / горизонтальных ритм и тд
Можно ли было сделать эту дисциплину без TW? Конечно, более того многие так и делают, ui фреймворки часто поставляются вместе с утилитами, но TW делает это ультимативно, цельно, переносимо и фактически уже "по стандарту", на его основе делают фреймы, его включают в стандартную поставку.
== Есть ли семантичность в классах? ==
Классически нас учили писать так:
- <div class="features card"></div>
- .features { ...styles }
Нередко можно было увидеть стили связанные с "бизнес" названием класса. Был большой вопрос с тем, что часто стили добавлялись к классам, которые говорили нам что-то о логике, о принадлежности к сущности предметной области, процессе предметной области и тд. TW считает, что стили это только стили и смешивать одно с другим не стоит.
Нужно ли смешивать "бизнес семантику" со стилистикой вопрос за скобками, но TW мотивирует их разделять.
== Длинный class ==
Да, class длинный, но у нас есть утилита @apply и еще ряд утилит https://tailwindcss.com/docs/functions-and-directives, которая полностью нивелирует это, позволяя, выносить длинные строки из html в блок стилей, но с учетом всех вышеописанных пунктов
Внутри JS UI фреймворков также есть утилиты для более удобного указания классов
Вообще считается, что TW всегда пишется поверх стека со сборщиком, предобработкой template и тд. Аргументы вроде "у меня простой сайт, я не хочу js фреймворк" последние несколько лет неактуальны, бОльшая часть js фреймворков умеет выпиливать себя на этапе сборки полностью, а также есть инструменты вроде https://astro.build/. Поэтому сейчас нет никаких причин не использовать что-то для предподготовки html в хоть сколько-то сложных проектах, которые не будут потом правиться через nano по ssh
Если у вас 10 раз повторился элемент, а вместе с ним 100500 стилей, то может просто вы не в современном DX окружении
Оф дока TW об этом явно говорит, хотя дополнительно рассказывает о возможностях мультикурсора в ide
== Bundle Size ==
Вероятно, лучший Css Tree Shaking. "Увидел красивые кнопки, но не хочу затаскивать библиотеку из-за того, что увеличится размер бандла". Теперь это не проблема. Раз нет контекстов, то Html + Css легче поддается статическому анализу.
Теперь можно просто взять что-то понравившееся из, например, https://animation-svelte.vercel.app/magic и не беспокоиться о том, что к бандлу привесится сотня kb
А с точки зрения сжатия мы получаем текст с гораздо бОльшим кол-вом повторяющихся подстрок.
== DX ==
В IDE есть поддержка:
- "сортировка" TW стилей
- hover эффекты с докой для TW стилей
- авто подстановки, дополнения
- генерируемые dev-страницы для копирования с них стилей, цветов и тд
- вероятно, у TW самая большая экосистема, а если нет, то точно самая быстрорастущая
DX теперь почти одинаков при переходе с одного TW based kit на другой TW Based kit. В классических фреймах есть большой блок изучения его системы каскадного наследования, здесь этого нет. Опять же сложность в одной строке высокая, но это плоская сложность, которая не изменяется
Ряд стеков уже поставляется вместе с TW, ряд новых UI Kit строятся на его основе.
>Наблюдая этот кусок кода мы ничего не можем сказать есть ли у нас в проекте один .another-container или их несколько.
Что кроме поиска по проекту может сказать у нас 1 another-container или несколько?
Вы оба долбоебы и не умеете пользоваться тайлвиндом и не знаете нахуй он нужен.
>Мне нужно получить с первой вкладки значение элемента
Кого ты тут хочешь обмануть? Ты же будешь воровать банковские карты и пароли.
Кстати по этой в том числе причине я ушёл из стартапа, занимавшегося браузерными расширениями. Ничего плохого наше расширение не делало, но поняв, какие у него права и сколько человек его установило, я решил уволиться от греха подальше, пока кто-нибудь из нашей компании не решил сделать что-нибудь противозаконное.
А теперь проверь все расширения у вскода от паджита и чуаньли..
суп
Linux Professional Institute Web Development Essentials
https://www.lpi.org/our-certifications/web-development-essentials-overview/
почему для веб там js
и нет go или чего то такого
потому что у JS была куча заменителей, да много их по весне оттаяло
Мне похуй на ваши гейские свистоперделки, я пишу css modules и импортирую их в нужное место
5 лет опыта на этом говне – не могу найти работу.
В тоже самое время бекендер-волк крутит 2 года опыта в резюме и идёт лутать свои 200к в озон. Заебись живём.
в мвп треде вообще пишут что 200к не деньги, на еду еле хватает
Ну у тебя и запросы, небось, ебические. Сейчас лучше уёбка на 2-3 года взять за 150к, чем надменного пидора с 5 и запросом на 300+
С заёбами
Самое простое - по клику на экзешник запускать локальный сервер и тут же открывать его страницу в электроне.
Кодерки будут смеяться, но на деле это самый простой и беззаёбный способ сделать из браузерной игры клиентскую.
Говорю именно про игру, потому что сталкивался с такой задачей. Полностью обосрался с её адаптацией для десктопа прочими способами, а локальный сервер + просмотр страницы через электрон работает из коробки.
Ту же локальную страницу, кстати, юзер смог бы открыть и просто через свой браузер. Но зачем юзеру это знать, пусть сидит через модное стэндэлоун окно электрона.
Там сначала была более-менее полноценная браузерка, которую потом урезали до сингл-плеера. Короче, да, никуда не ходит. Но если бы даже ходила, разве с этим сложно? У локально запущенной ноды прав как у любого другого экзешника.
Ого, мое почтение. А как с платежами внутри приложения дела обстоят? Допустим приложение продает воздух (например персональные гороскопы) - можно просто интегрировать какой то сторонний платежный сервис типа пейкипера в вебвью и никаких проблем не будет, или сторы дадут пососать?
И ещё интересно, как сторы проверяют подобные приложения? Можно же на стадии проверки показывать одно, а после полноценного запуска начать внутри вебвью показывать хуи и говно или какую-нибудь нелегальную хуйню. Сорян если вопросы тупые, не шарю в мобильной разработке, но интересно
Да роде то наверно пофигу, можно игнор валилации TLS сделать. Но тут просто в контексте поднять локальный сервер с сайтиком - нужно секьюрный контекст, чтобы ходить к ручкам на https ну либо какими-то костылями заставить электрон не ругаться на mixed-content. Интересно, просто не занимался таким.
Так вся суть метода, чтобы использовать электрон просто как гуевое окно в аппликуху, а всё важное реализовано на локально запущенном сервере.
А, если так. Ок, понял. Спасибо!
Если у вас игруха, то как самое важное будет на "на локально запущенном сервере"? Совсем куку? У вас будет цикл рендеринга и обновления. Это все должно быть там где рендерится. При обновлении дергать апи 60 раз в секунду собрался? Или рендерить WebGL на ноде собрался а картинку стримить на фронтенд через WebRTC? лол
Ну уж графику-то уважаемый электрон поди позволит на клиенте отрисовать, в том числе для этого локальный сервер и запускается.
т.е. чтобы обойти всякие cross-origin настройки безопасности. Я уже забыл, почему именно при запуске из file:// не работает вебгл и некоторые методы 2d канваса.
>В начале лета полтора месяца поработал на Angular в одной компании
Это лучшее, что есть во фронтенде. Я сам пытаюсь плавно уйти из вуе (работаю на нем пару лет) в ангуляй, но нихуя не получается
Ангуляй - это умеренная конкуренция (не смотри на число вак, это вообще ничего не значит), фреймворк среднего и крупного бизнеса (вплоть до бигтехов и гигакорпов, настоящий энтерпрайз), высокие зарплаты и перспективы (в том числе и релокаций, в Европе и США много ангуляя). Да и сам по себе он классный
Вуе - это конкуренция, приближенная к реактовской (то есть самой жесткой в айти), низкие зарплаты, фреймворк ебанутых кабанов и мелкого наебизнеса (не считая озона и магнита - это очень большое исключение). А еще чаще всего его сочетают с пхп и ебанным битриксом - причем его настолько полюбили битриксоиды, что официально сделали его поддержку внутри этого говна. А еще почти 0 вакансий с релокацией (разве что в КНР нахуй или Индию), а те, что есть - это пхп фулстек
Поэтому посиди до года на ангуляр работе и иди лутать сытые сотыги
>какие же олени здесь сидят и обсуждают тайлвинд. ничего пройдет время и в вашей помойке будут его использовать
Это факт. Я сам пять лет хуесосил тейлвинд и не пытался писать на нем, а теперь работаю на нем
Так, вахтер всех вуешников этого раздела, у меня к тебе вопрос. Ты сам с битриксом контактируешь? Если да, то правда что туда до сих пор не завезли поддержку composition api?
>Просто по нему вакансий особо нет, особенно для стажеров всяких
Про стажировки лучше забудь. Если они и есть, то там будет по тысяче рыл откликаться. Доучивай ангуляр, крути опыт и пытайся вкатиться на миддла. Другого пути нет. Ангуляр это еще не самый пиздецовый вариант.
Еблан
В электроне так и можно.
А что теперь делать?
Я раньше создавал html файлы в папке views.
js писал либо в том же html файле, либо в отдельный js файл и подключал. Как теперь на vue перейти?
html код писать в SFC?
А потом этот html отдавать экшеном контроллера с помощью view('file')?
Можешь попробовать для общего образования, но проекты на вью никто не разворачивает вручную. Скачай Vite какой-нибудь и посоздавай шаблоны проектов с вуе, тайпскриптом и хот релоадом.
Давненько не заходил сюда, может кто помнит меня - обосрался с рекурсией на собесе
Ну так вот, вкат во vue успешно пройден, прошел стажировку, теперь полноценно работаю, получаю зп выше чем до вката, всем доволен.
Думаю как раз тут годик посидеть, а там хуй знает, может вскроюсь.
>>53663
Конечно стоит. Я три месяца искал работы на реакте, а в итоге нашел на Vue за одну неделю. Видел анон писал историю 1 в 1. Дело даже не в том, что ты плохой джун (хотя без опыта это точно так), а количества откликов, где ты просто теряешься. Поэтому если у тебя много времени, и ты никуда не торопишься, можешь год потратить на бесконечный цикл по типу отклик-тестовое-игнор.
По поводу, что 1С и бла-бла-бла. В моей конторе 1С это вообще отдельный отдел, куда я не лезу, они дрочат свой битрикс в отдельном кабинете, куда я даже ни разу не заходил, проекты у нас не пересекаются, так что пофиг.
Правда всю жизнь сидеть во Vue я тоже не хочу. Но кто его знает?
Как оно вобще устроено? Может быть какие-то криптоплощадки сами свой апи предоставляют?
>Как оно вобще устроено?
Не надо вскрывать эту тему. Ты всё равно нихуя не поймёшь и книг по этой теме тоже практически нет. Там все библиотеки с кодом типа такого: opcodenum: n == 0 ? 0 : n <= 16 ? 80 + n : n < 128 ? 1 : 2; И на всю библиотеку нет ни одного коммента. Сам догадайся что означает тот или иной код. Блокчейн шизы никогда ничего не объясняют. Там как правило, будет 10 плюс-минус похожих библиотек и только сам шиз знает, что библиотека х минтит в 50 раз быстрее, поэтому нужно использовать именно её а не библиотеку y.
мимо-блокчейн-разраб
Денюшки нужны были, кушоть хотелось. Это одна из немногих вакансий на расте была лол. Я и тем и другим занимаюсь. Раст/тайпскрипт. Здесь никто ничего не объясняет. Ебись со всем сам. Весьма специфичная ниша. Как будто бы вебню скрестили с embedded и криптографией и получился блокчейн. Пока в процессе изучения, дзен ещё не познал.
А Раст зачем учил? Из любопытства? У меня неоднократно появлялось желание поковыряться с ним, но с другой стороны есть острое неприятие к невостребованным языкам и страх проебать время впустую.
>А Раст зачем учил? Из любопытства?
Да нету никакого любопытства. Мне надо было пропарсить тысячу+ финансовых документов, js сильно тормозил, регекспы тупо зависали. Я взял с++ и охуел насколько там запутанно. Думаю, я щас заебусь настраивать все эти makefile'ы и configure. Отложил, взял golang. Он начал скачивать гигабайты какой-то мутной хуеты. Потом хелло ворлд скомпилировался мегабайт в писят. Я подумал ну ево нахуй, взял rust. Он скомпилил, я смотрю, вес адекватный. Синтаксис плюс-минус понятный. Начал писать, он мне пропарсил всё секунд за 10 наверно. Короче, по-моему выводу, golang это что-то типа сишарпа, типа бинарник но не совсем бинарник, а чё-то типа промежуточной хуйни, которая не сказать что супербыстрая, но чуть побыстрее ноды. А с++ по ощущениям это как проект бородатых дядь 70х годов из НИИ "ХуйНаучПолимерПроект", там библиотеки все обновлялись лет 10 назад и всё на каких-то батч скриптах работает. Раст - пока самый четкий, он удобный, небольшой вес и быстро работает. В принципе всё.
Спасибо, маркетолог раста!
Все... Неинтуитивная срань
Что-то про голанг как-то по пиздабольски, хотя ни разу не писал, поэтому могу ошибаться
Ёпта ну он мне просто не зашёл. От компилируемого языка я ожидал большего. Вау эффекта не произвёл. Он просто "обычный". По моим личным ощущениям, он процентов на 30 быстрее ноды/джавы. С сишарпом плюс-минус на равных. Из приятного - ну компилируется быстренько. Жирненькие экзешники получаются. Как альтернатива питону/пхп - сойдёт. Как альтернатива с++/с - вряд ли.
Ебэло представили?
Yes.
240x426, 0:27
Тебе чтобы генерить картинки, нужны буквально зачаточные знания питухона. Если сам чето дообучать хочешь, нужно знать, как тензоры умножаются, непрерывность производных ошибки, общие принципы обучения и тому подобная шняга, так это не питухон нихуя. Ну там, можно еще знать, что TensorFlow релизит GIL, чтобы лучше в мультипотоке работать. Но это все за месяц познается, если у тебя норм понимание какого-нибудь другого языка, хоть даже жопаскрипта. Че ты ноешь то. В питухоне даже анонимных многосрточных лямбд нету, тебе каждый колбэк придется именовать и куда-нибудь прописывать, асинки тоже можно сказать ебануто сделаны, если не еще более ебануто. Там все то же самое, проблема в чем-то другом, надеюсь не в тебе.
Используй enum
https://www.typescriptlang.org/play/?#code/KYOwrgtgBACgTgewA4GcoG8BQUdSYpARgBptd9kAmU3PAgZlIF9NMBLEAF2DgDMBDAMbBYBFABUAnkmABZfkgxkcFIgC4o4CACMeAbmV0qGlJzgcA5gdqr6G9AA8NW3XGJRJzyK5YtMnaRF4ZAlAgBMoAF4lWgBtGCgOKABrYEkEXigAmQzREIBdDQTgB24QMLRU9Mzg1CkZeUUAfjy6wMb4-KhnYAA3fUw-QQQQUyg4MC42CGBalABpNLRogHltACtgQU4AOl7+ABswYBQACjmASh3eNgPuOFPeqIA+LMDcp8ivqAAiU3MQBYfhcDJhhqMEAdgDsDggLKcJlMZnNFpIUCCgA
Поясните плес насчет Vite. Хочу сейчас учить вью, Vite и пынья. Скажите Vite он тоже пизда какой сложный? Если у меня есть зачаточные понимание как писать самый примитивный вебпук конфих, то это поможет в понимание Vite?
я вебпук
>Здравствуйте, я учу хтмл цсс жс webpack. Для меня понимание webpack было самым сложным. Просто какая-то магия, в файле webpack.config просто что-то написано хуй знает что, пойди да пойми. Дока очень сложным языком написана, ничего не понятно. Я где-то год смотрел на ютубе видосики всякие по вебпуку и только спустя год начал какое-то понимание в зачатке иметь как написать конфигу чтоб для только лишь одной хтмл страницы слепить жс файл и слепить стили. А уж о каких-то сложных вещах типа module federation я ж не говорю, я до туда не доходил.
Вкатунчик с МВП-треда во фронтенд, ты? По вебпуку посмотри 3-часовой курс от Ulbi.Tv. Он классный и он там все хорошо разжевал. Потом просто проведи аналогии между увиденным и тем, что есть в вите
> vite
Я не видел за эти годы ни одного продакшн проекта на нем. А вообще он такой же сложный (на деле нет) как и вебпук. Почти все то же самое
А вообще не еби себе мозг. Джуна никто не посадит с вероятностью 90% сажать переписывать конфиги для существующих проектов. Если ты конечно не попадешь на галеру, которая будет клепать новые SPA как пирожки и тебе все-таки придется под каждый из них подписывать конфиги бандлеров
>Вкатунчик с МВП-треда во фронтенд, ты?
Да это я, спасибо за ответ, так и знал что Vite тоже придется задрачивать до потери пульса, просто хотел спросить в треде чтоб духовно быть готовым, что придется сосать
>на галеру, которая будет клепать новые SPA как пирожки и тебе все-таки придется под каждый из них подписывать конфиги бандлеров
Я планирую на такое попасть, в мелкую уеб студию
>Я не видел за эти годы ни одного продакшн проекта на нем.
Ну блен, а я спрашивал тут в треде какой сборщик учить к Vue.js так мне в треде тут ответили что только Vite и никакой другой, потому что автор Vue.js Айван Вуй жестко завяжет свое поделие Vue.js на второе свое поделие Vite, и хуй ты потом вуй с вебпуком соединишь, мне тут так сказали. И я верю в такую теорию.
Вот тут отчасти соглы. У меня друган-вкатун не мог год усториться react разрабом. Потом забил на всё это и пересел учить go. Ну и через месяца два вкатился без напряга.
>что теперь работаю вместо бекендера фронтом на vue.js
>Так хотелось бы свитчнуться в пхп или го...
Копия двача это довольно большой проект. Банально хотя бы сделать, что цитаты работали так же это уйма работы.
Разметку прикрутить. Разные борды, треды, посты. Куча всего.
Если такую полноценную копию сделать, то это сразу на мидла можно идти.
Если ты сравниваешь "копию двача" с тудушкой, то ты скорее всего ничего не сделал. Ну вот можешь попробовать.
Абулий говорил что двач вообще на крестах писали. Сам хочу api rule34 написать и как проект загрузить, хз как хрюша отреагирует
Ты можешь версию с котами сделать. А все остальное 1 в 1.
Ну, мне стоило сказать "сильно упрощенную и всратую копию двача". Можно создавать треды и реплаить в них, прикреплять изображения, открывать их и на этом все. Цитаты не делал. Это было, конечно, несравнимо сложнее тудушки, но все равно воспринимается как нечто не очень сложное.
Просто мне кажется, что АИБ - это то, что не будет уместно смотрется в резюме. Вдруг это выставит тебя как душевно больного битарда...
Может это плюсом будет при устройстве в казики и крипты.
Берешь тестовые задания, делаешь, добавляешь на гитхаб.
Я тоже не понимаю сборщики.
Они вечно через жопу работают, и чего-то в них вечно не хватает.
Ни разу не было, чтоб я сел, почитал доку вебпака/вита и за пару часов набросал то, что мне нужно.
Ну например:
1. Чтобы в свелте в <style> .scss алиасы работали - @import '$huemoe/vars.scss'
2. Чтобы next.js хуйня собрала рядом с самой приложухой еще один чанк. Собрать то она собрала, да только optimize cachedChunks не работает, и билдит один и тот же код два раза - в нехт приложение и в тот новый чанк.
Надо лезть в нод модули и по-порядку раскапывать. И когда почти дошел до источника проблем - тебе говорят, слышь, иди срочно сделай 999 другого говна АСАП.
Ставлю костыль и никогда к этому больше не возвращаюсь.
Зептасекундный *
Причем здесь оптимизация десб. Енум - неудобное, нечитаемое, непрозрачное говно.
Енум пиздец как читаемо. Очень удобно. Что за непрозрачность?
Я слышал, что на енумы гонят из-за того, что эту хуйню движок пердолит под капотом и типо зептасекунды теряются.
Ещё и номинативная типизация вместо структурной.
https://github.com/JSBizon/node-memorystream/blob/master/index.js
Кто-нибудь может сказать, зачем вообще кто-то начинал использовать Ноду с таким суржиком?
Какие-то ручные конструкции вместо super, навешивание свойств на прототипы, var self = this (???). Полное отсутствие экосистемы.
Зачем это кто-то начинал использовать, когда были джава, пхп, руби и прочее...
Сейчас-то получше конечно стало, но тогда... Нафига.
Либо делай два разных компонента, либо делай один пропс с разным типом значения, например, position: "left" | "right" | "bottom", никто не делает 3 раазных пропса вида isLeft, isRight, isBottom
Ради асинхронности, евентлуп крутится лавеха мутится. Тогда у скриптовых языков не было такой фичи, а у руби с питоном многопоточность блокировалось gil, а тут нихуя не блокируется и почти все время работы бекенда это какие-то ожидания (БД, сторонние апи и тд) и асинхронность с евентлупом сюда зашла как к себе домой. Собственно после того как жс вышел за пределы покраски кнопок и стал использоваться на сервере начались все изменения, которые привели язык к современному виду
А сейчас чем лучше? Завезли тс, придумали Nest и...получили просто копию java spring. Зачем? Почему нельзя сразу взять джаву или дуднет и делать на них?
>Чтобы next.js хуйня собрала рядом с самой приложухой еще один чанк. Собрать то она собрала, да только optimize cachedChunks не работает, и билдит один и тот же код два раза - в нехт приложение и в тот новый чанк.
>Надо лезть в нод модули и по-порядку раскапывать. И когда почти дошел до источника проблем - тебе говорят, слышь, иди срочно сделай 999 другого говна АСАП.
Ле, ты крут, я до такого не доходил, это слишком сложно, я на вебпуке целый год дрочился чтоб понять просто как для 1 хтмл странички слитный жс файл слепить и стили. А вот такое вот вообще походу пиздос как сложно.
>[0][1][2]
Ты через неделю не вспомнишь что оно делает. Сделай нормально. С валидатором типа yup/zod получишь правильно типизированный объект или исключение.
>find(...)!.
Никогда так не делай, если что-то может вернуть undefined то когда-нибудь вернет, нечего обманывать тс и себя мол "да всегда всё будет". Чтобы не делать проверку после каждого такого вызова, используй ?.
Докопался немного
К примеру typeof (2+2) секунды 4 отрабатывает прежде чем выдать number. Что там пол капотом за чудо происходит?
Благодарю за небольшой код ревью!
Хочу еще раз задать вопрос, из за которого я сюда и зашел. Может ли кто нибудь, пожалуйста, подсказать какие пет проекты можно сделать для резюме?
Выключи майнер
Чел, а то что это интерпретируемый язык и 4 секунды это только коипиляция тебя совсем не ебет?
Ты к чему? У меня вместе с запуском ноды 30 миллисекунд всего
Ну вот да, это я не к тому, чтобы похвастаться, а к тому, что плеваться от вебпука - нормально.
Будь ты новичок или помидор
Что думаете? Получается, вкатуну оно тем более не надо? А меня freeCodeCamp этими алгоритмами заебал уже...
>Потом забил на всё это и пересел учить go. Ну и через месяца два вкатился без напряга.
Объясните долбоебу чем GO лучше JS? Вот все ругаются на плохую читаемость JS, а GO типа современный, относительно простой, чистый, как свежие трусы без лишних чиркашей.
Выбрали ли б вы JS снова в начале своей карьеры?
Посмотри в тред с идеями, там аноны пытаются придумать что-то интереснее тудулиста. To-do list как стереотипный пример унылого пета, которым никто не пользуется и никто не посмотрит в его код.
Да хуй его знает, может куда-то и спросят, меня на собесе спрашивали только про реализацию разных хуёвин на вью. Потом после устройства, тимлид сказал, что многие не в курсе даже про базовые штуки типа эмит, просто на удачу идут почитав про волчий вкат на сосаче и про "там на месте разберешься".
>я не к тому, чтобы похвастаться
Ну я пон, что ето не хваставство, но ты крут, мое уважение, счастья здоровья, мне чтоб дойти до таких нюансов в вебпук не знаю ещё сколько времени надо будет дрочить вприсядку
>Выбрали ли б вы JS снова в начале своей карьеры?
вообще фронт очко, у всех один язык и пара инструментов, а тут JS, TS, фреймворк, библиотечка, препроцессор и такого говна штук 20 нужно знать, короче проще жонглером в цирк - и похоже, и более престижно, чем макакой
Только начал изучать js. Поясните за Symbol. Есть ли аналогия этого в c++?
Ну а как делать discriminated union в качестве пропсов? если нужно чтобы один пропс был бы нужен только если другой в таком-то значении?
`Symbol` — это уникальный и неизменяемый тип данных в JavaScript, который используется для создания уникальных идентификаторов для свойств объектов. Основная цель `Symbol` — обеспечить уникальность ключей свойств, чтобы избежать конфликтов, особенно когда объекты используются в больших системах или библиотеках.
### Основные особенности `Symbol` в JavaScript:
1. Уникальность: Каждый созданный `Symbol` уникален. Даже если два символа созданы с одинаковым описанием, они будут разными.
```javascript
const sym1 = Symbol('description');
const sym2 = Symbol('description');
console.log(sym1 === sym2); // false
```
2. Использование в качестве ключей объекта: Символы можно использовать как уникальные ключи для свойств объектов.
```javascript
const obj = {};
const sym = Symbol('key');
obj[sym] = 'value';
console.log(obj[sym]); // 'value'
```
3. Скрытые свойства: Свойства объектов, использующие символы в качестве ключей, не перечисляются при обычных обходах объекта, таких как `for...in` или `Object.keys()`, что делает их полезными для создания скрытых или приватных свойств.
### Аналогия в C++
В C++ аналогичного примитивного типа данных нет, но можно провести параллели с некоторыми концепциями:
1. Использование уникальных идентификаторов:
В C++ можно использовать различные подходы для создания уникальных идентификаторов, например, с помощью `enum class`, `constexpr`, или статических членов класса, но они не обладают таким уровнем уникальности и защиты от конфликтов, как символы в JavaScript.
```cpp
enum class Color {
Red,
Green,
Blue
};
Color c1 = Color::Red;
Color c2 = Color::Red;
// c1 и c2 равны, в отличие от символов
```
2. Приватные и скрытые данные:
Для создания скрытых данных или приватных ключей в C++ часто используются приватные члены класса или дружественные функции. В отличие от JavaScript, в C++ можно защитить данные на уровне доступа, а не уникальности.
3. UUID/GUID:
Если требуется действительно уникальный идентификатор, можно использовать библиотеки для создания UUID (например, `boost::uuids`), но это не эквивалент символам, так как символы в JavaScript обеспечивают уникальность на уровне типа данных.
Таким образом, в C++ нет прямого эквивалента `Symbol`, но для некоторых задач можно использовать комбинацию других подходов и типов данных.
`Symbol` — это уникальный и неизменяемый тип данных в JavaScript, который используется для создания уникальных идентификаторов для свойств объектов. Основная цель `Symbol` — обеспечить уникальность ключей свойств, чтобы избежать конфликтов, особенно когда объекты используются в больших системах или библиотеках.
### Основные особенности `Symbol` в JavaScript:
1. Уникальность: Каждый созданный `Symbol` уникален. Даже если два символа созданы с одинаковым описанием, они будут разными.
```javascript
const sym1 = Symbol('description');
const sym2 = Symbol('description');
console.log(sym1 === sym2); // false
```
2. Использование в качестве ключей объекта: Символы можно использовать как уникальные ключи для свойств объектов.
```javascript
const obj = {};
const sym = Symbol('key');
obj[sym] = 'value';
console.log(obj[sym]); // 'value'
```
3. Скрытые свойства: Свойства объектов, использующие символы в качестве ключей, не перечисляются при обычных обходах объекта, таких как `for...in` или `Object.keys()`, что делает их полезными для создания скрытых или приватных свойств.
### Аналогия в C++
В C++ аналогичного примитивного типа данных нет, но можно провести параллели с некоторыми концепциями:
1. Использование уникальных идентификаторов:
В C++ можно использовать различные подходы для создания уникальных идентификаторов, например, с помощью `enum class`, `constexpr`, или статических членов класса, но они не обладают таким уровнем уникальности и защиты от конфликтов, как символы в JavaScript.
```cpp
enum class Color {
Red,
Green,
Blue
};
Color c1 = Color::Red;
Color c2 = Color::Red;
// c1 и c2 равны, в отличие от символов
```
2. Приватные и скрытые данные:
Для создания скрытых данных или приватных ключей в C++ часто используются приватные члены класса или дружественные функции. В отличие от JavaScript, в C++ можно защитить данные на уровне доступа, а не уникальности.
3. UUID/GUID:
Если требуется действительно уникальный идентификатор, можно использовать библиотеки для создания UUID (например, `boost::uuids`), но это не эквивалент символам, так как символы в JavaScript обеспечивают уникальность на уровне типа данных.
Таким образом, в C++ нет прямого эквивалента `Symbol`, но для некоторых задач можно использовать комбинацию других подходов и типов данных.
>чем GO лучше JS
Ничем, JS больше на человеческий язык похож, а GO для аутистов.
Вот типичный гошник, куда ему до фронтенд-чеда.
https://youtu.be/wBxOKQpdESg
Проследуйте в МВП, мистер вкатун.
Сколько учился и как?
При помощи тайпскрипта, пропс также один будет, но принимать объект тип которого будет давать нужное ограничение
Больше зарабатываешь, чем я сейчас Вуе мидлом с 2 годами опыта (но я не крутил)
Нету никаких реальных кейсов. Пруф это существование редукс тулкит. Они нахуевертили ООП говна поверх фп говна потому что фп говном пользоваться невозможно.
Но факт в том что фп никогда и не надо было начинать использовать. Все для чего используется редукс это для создания глобальных переменных и глобальные переменные спокойно создаются и без редукса. Дело в том что ньюфаги начинают изучать редукс раньше чем джаваскрипт. Когда им надо глобальную переменную они идут в гугл и им там советуют редукс. Мы в аду и мы из него никогда не выберемся, итс овер.
Если в жс фп не работает, то значит нигде не работает? Бред пациента с сидромом Даннинга-Крюгера
Почему не работает? Я успешно вызываю различные функции, иногда даже свои пишу, но стараюсь в основном задействовать библиотечные - они надёжнее.
Middle+ JavaScript FP Developer
Раз, два, Фредди Крюгер идет,
Три, четыре, ножи достает,
Пять, шесть, в оба гляди,
Семь, восемь, с ним не шути,
Девять, десять, распятье возьми...
Не умеет какать тот, кто считает что редакс это про глобальные переменные, а не про предсказуемость состояния. Во всех фреймворках юзаются стейт менеджеры, если нужно предсказуемые переходы из состояния А в состояние B. Так легче рассуждать о состоянии фронтенда. Простая глобальная переменная не может заменить стейт менеджер. У стейта есть четкий протокол действие -> коммит -> новое состояние. В жс у тебя два пути
1) сериализовать переходы из состяния в состояние. Это делают стейт менеждеры
2) Использовать AsyncLocalStorage. Нативно он только в ноде, в браузере близкая по смыслу функциональность в виде библиотек типа Zone.js из ангуляра
PS ФП тут вообще не причем. Мне лично не реакт не рдакс не нравятся.
PSPS
>В жс у тебя два пути
Эти пути не противоречат друг другу. Они общие в том что упорядочивают рассуждение о состоянии переменных в приложении
1) Состояние гонки общих переменных в асинхронных вызовах. В сложных случаях для асинхронных вызовов работающих в однопотоке с общими переменными тоже синхронизация нужна. потому что при ожидании в асинхронном обработчике глобальное состояние может изменится. Собственно поэтому ангулярщики запилили костыль zone.js перехватывающий все асинхронные таски
2) Структурная сложность фронтенда, в котором много элементов взаимодействующих непредстказуемым образом
Для большинства 2 пункт даже важнее
Я не имел ввиду что редакс что-то синхронизацией делает. Что бы кто нибудь на собесе из вкатунов не ляпнул. Я это в кучу свел как методы упорядочивания рассуждений о состоянии переменных
В c++ все четко и ясно, а в js какая то путаница сплошная, какие то конструкции непонятные громоздкие, тяжело...
Не, просто c++ я уже знал, а сейчас задумал на фронтенда выучиться
Ты просто редукс кала насрал. Где непредсказуемое?