Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Аноны, на фронте есть функция, чтобы можно было постить один пост в разные группы (делаю кайнд оф соцсеть). То есть один пост отправить в 5 групп, например, как в мессенджерах. Вопрос по бд: в базе отношения между постом и группой стоят как many-to-one/one-to-many, и при этом в поле group поста сохраняется id группы. Я вот подумал, что так получается, что один и тот же пост будет сохраняться в базу много раз под разными id и с разными group. Когда если бы было отношение many-to-many, то можно было бы вместо group сделать groups с массивом id на выдаче. Один пост сохраняется 1 раз с массивом получателей. Что думаете, так более правильно? Вообще эти отношения в базах такая сложная хуйня я ебал, хуй разберешься когда что правильно указывать.
>>2164072 Когда пост надо будет отредактировать, я просто отредактирую его. И массивы не помеха. Группа ищет себя в поле groups[] и рендерит пост, все охуенно с редактированием. С формами тоже не вижу проблемы. Че делать то? Я не бэкендер нихуя, пилю бэк чисто ради фронта
>>2164115 Ну так вот эта пост-группа таблица получается воображаемой и создается при запросе в базу в выдаче, если установлены отношения между таблицами, не? Или мне надо специально отдельно ее сделать, где хранить только ид поста и ид группы? Разве нельзя это все держать в сущности поста, и брать по необходимости? А что по отношениям? One-to-many или many-to-many все таки?
>>2164142 >Лучше считать в целых (умножить на 100), особенно если дело касается денях Очень вредный совет, опускающий весь контекст. Считать в целых имеет смысл только, если дело касается денег, и только если ты с этими деньгами производишь какие-то вычисления. Если тебе например просто нужно на фронте нарисовать стоимость товара, то абсолютно похуй, рисуй как угодно, но уж точно не через центы.
>>2164115 >>2164137 >>2164141 > нормализацию То есть если мне нужно связать 2 таблицы друг с другом, то это всегда третья связующая таблица? Пиздец, но об этом ни в одном туториале ге говорится. Все просто хуярят typeorm декораторы типо @ManyToOne для полей с foreign ключами и не парятся.
>>2164180 >в базе отношения между постом и группой стоят как many-to-one/one-to-many >если бы было отношение many-to-many >У меня в коде many-to-many А в голове у тебя что?
>>2164186 Что еще за мс скуль? Я лезу джуном на хоть какую-нибудь галеру, я этой хуйней занимаюсь только потому, что в 2к21 резюме ждуна никто не смотрит, если там нет 10ти полетов на мкс.
Сап, подскажите как затипизировать fetchItems? Вызываю dispatch(fetchItems()), и в fetchItems делаю запрос, получаю data и внутри этой же функции делаю dispatch(type:'fasfsad', payload: data) ругается: Argument of type '(dispatch: Dispatch) => Promise<void>' is not assignable to parameter of type 'AnyAction'. Property 'type' is missing in type '(dispatch: Dispatch) => Promise<void>' but required in type 'AnyAction' index.d.ts(19, 3): 'type' is declared here.
>>2164228 Ну блять скастуй тип данных к дате А вообще СУКА ЭКШЕНЫ НЕ ДОЛЖНЫ НИЧЕГО ЗАПРАШИВАТЬ УЕБИЩЕ СКАЧАЙ РЕДУКС САГУ ИЛИ ТАНК И ДЕЛАЙ ВСЕ ТАМ ХУЕСОСИНА ЭКШЕНЫ САМИ ПО СЕБЕ НЕ ДОЛЖНЫ ДЕЛАТЬ НИ ЧЕ ГО
>>2164238 В смысле переписывать? Если так нравится колбэки на каждый пук перекидывать, то тебе ничто не мешает всё так же писать Promise.then().catch(), даже если под капотом там всё на асинк функциях.
Как выглядит синтаксис деструктуризации объектного спрэда? На это: ``` ...{ zalupa, ...obj } ``` Ругается тайпскрипт, хотя типы такой операции нормально предсказывает.
>>2164570 >Покажи нормальный код, а не это говно, а вообще лучше иди нахуй с такой тупизной и учи нормально тс и жс Я в рякте компонент хочу написать, который бы принимал пропсы, в которые можно запихнуть все пропсы корневого элемента этого компонента и чтобы это всё в подсказках было. Что-то типа этого: https://codepen.io/Jumpy_Bunny/pen/qBjyxqz?editors=0110 Впрочем я уже понял, что спизданул хуйню, так как можно деcтруктурировать ключи прямо в аргументе, а то я хуйней страдал с деструктуризацией в теле типа: ``` function Comp({ zalupa, ...blockProps }) { const { className, ...restProps } = blockProps; return (<div className={className} {...restProps}>{zalupa}</div>) } ```
>>2164888 Начал учиться самостоятельно в середине 2020 года, к началу 2021 получил первую работу по удаленке за 30к в месяц. Еще через 4 месяца взяли в первую компанию. До этого кодером не работал
>>2164908 Читай Фленагана, не бойся размеров книги, это не роман, следить за сюжетом не нужно, перевод в последней редакции нормальный. Он многие вещи очень понятно пишет, как раз для новичков, кантора лучше читать, когда хочешь очень подроно конкретную тему разобрать. А потом когда совсем освоишься пизже всего будет дока MDN, но по началу это наихучший вариант обучения.
>>2164908 Поддвачиваю вопрос. Я правда осилил Кантора чуть больше тебя, но хотелось бы ещё какой-то видеокурс прогнать для закрепления пробелов. Знаю, что у него и самого есть слитый видеокурс, но он там втупую свою же книжку пересказывает и без участия в потоке он бесполезный. К тому же как я знаю он разочаровался в том потоке и отснял его на похуях. Есть какие-то ещё видеокурсы? Знаю про Минина, но смущает то, что он прям слишком серьёзно перешёл в карьеру гуру. Видел ещё курсы Петриченко с юдеми, там и жс и сразу реакт - мне его курс по вёрстке понравился и я некоторым финтам у него научился, но говорят по жс и реакту у него очень слабая база уровня фрилансера с апворка. MDN тоже почитываю, но хотелось бы что-то ещё для составления общей картины.
привет двач, я 3 месяца работаю в конторе у себя в новосибе фронтенд стажером (34 лвл). И сегодня мне новая начальница прислала шизо задание мол на проверки проф. пригодности. Помогите разобраться, я вообще не вкуриваю.
1) Нужно написать программу, которая управляет разными устройствами: радиоприемник, телевизор, мобильный телефон. Перечислите названия классов, которые вы создадите, и названия основных методов этих классов
2) Приведите пример связи многие-ко-многим из любой предметной области и перечислите таблицы, которые вы создадите для них в базе данных.
3) Что делает этот фрагмент кода (на пике)? Язык и синтаксис вымышленные. Не нужно пытаться запускать этот код и писать, что он не выполняется.
Я так понял что новая начальница хочет своего сыночка пристроить сюда, а великовозрастный дядя им нахер не нужен
>>2165020 Я бы на твоём месте подучил вопросы на собесах и начал искать другую компанию, если компания настолько всратая, что для устройства в неё одного пориджа-дегенерата нужно выгонять сотрудников, то слать бы эту компанию нахуй
>>2164004 (OP) Немного офтоп, вопрос по докеру Я могу использовать кли вместо декстопа? Помню что раньше такая возможность была, а сейчас на оф сайте гайд только для декстоп версии Я просто ретард и обновляться с 7ки буду только через месяц, а для декстопа нужен вин8+ Ну или как вариант я бы мог на виртуалке линукса докер запустить, а оно не будет конфликтовать с виртуалкой?
>>2165024 Это еще что, у меня в компании я прохожу повторный собес для аутсорсного клиента, это пиздец блядь, мало того, мне никто явно не даёт времени на подготовку к нему, либо воруй из рабочего времени, либо учи по вечерам. Что я и делаю блядь всё свободное время и все выходные. Будь я чуть опытнее и увереннее в своих силах, дропнул бы эту компанию нахуй за такие заёбы.
>>2165020 Ну тут не шибко сложно, тест по сути на твое умение гуглить 1)Просто пишешь классы для каждого устройства и по-человечески внутри них методы называешь, я думаю тут просто тест на то понимаешь ли ты ооп 2)Вот тебе пример, например заказ билетов в отеле, только ты приведи их своей области смотря чем вы там занимаетесь, ну и просто назови таблицы 3)Преобразует какой-то номер и возвращает в строке, а если не номер, то вернет 0
Ты куда там устроился? Если фронту предлагают что-то такое решить то явно не все хорошо у них Меня хоред звал который тоже из новосиба, дали тестовое на их сайте в виде задач на алгоритмы блять На днях получил офер за доляры, собесы в ру и еу это просто небо и земля, вообще не понимаю людей идущих за рубли работать
>>2165066 Так я всё это добровольно и делаю, я могу в любую наносекунду всё это дропнуть и съебать. Вот то ли дело при святом коммунизме, ммм, делай XYZ и всё равно отправишься gulag. Без рыночка я бы вообще копейки получал, сосал хуи и в приказном порядке был бы вынужден выполнять всё, что взбредёт в голову чиновнику-самодуру. Почему-то ИТ как раз максимально рыночная сфера, может быть как раз потому, что многие специалисты могут начать работать на заграничные конторки удалённо, и это заставляет российские компании поднимать зарплаты и улучшать условия труда? Но нет, для коммуняк это слишком сложная концепция, тут же подумать надо на целлый один шаг вперёд. Почему в IT среде столько коммуняк с обосранными штанами? Впрочем, лишнее подтверждение тому, что для того чтобы стать кодером, интеллект не нужен
>>2165074 > дропнуть и съебать Ахаха, старый-то барин совсем голодом заморил, пора искать удачи у нового, авось новый будет добрый да расщедрится на копеечку.
>>2165074 >Вот то ли дело при святом коммунизме, ммм, делай XYZ и всё равно отправишься gulag Лол это откуда у тебя такие познания 8-часовому рабочему дню и тк рф с его бонусами в виде оплачиваемых отпусков и больничных мы благодарны должны быть красным как раз В гулаг отправлялись всякие шизики типа гумилева и его бати, почитай хотябы в вики к чему его батя призывал людей и сына подстрекал >Почему-то ИТ как раз максимально рыночная сфера, может быть как раз потому, что многие специалисты могут начать работать на заграничные конторки удалённо, и это заставляет российские компании поднимать зарплаты и улучшать условия труда Применимо для любой востребованной квалификации и причем здесь ит вообще >Почему в IT среде столько коммуняк с обосранными штанами Потому что когда ты нормально закрываешь все свои хотелки то встает вопрос почему твой сосед так не может и почему твой батя каждый год наблюдает дорожание дизеля когда твоя страна чуть ли не топ1 по добыче нефти и куче других ресурсов
>>2165090 Блядь, чел, мне это не интересно, я с таким же интересом буду слушать аргументы коммунистов и их представление о мире, как если бы мне 5 летний ребёнок начал рассказывать о том, что земля плоская, а луна сделана из сыра. Можешь не утруджаться, я даже читать не стану, это просто смешно
>>2165020 >1) Нужно написать программу, которая управляет разными устройствами: радиоприемник, телевизор, мобильный телефон. Перечислите названия классов, которые вы создадите, и названия основных методов этих классов
Ну это тебе на понимание ооп вопрос
Надо подумать что у этих сущностей общее, а что частное И описывать их начиная с самого абстрактного до конкретного используя интерфеймсы
Например очевидно что все эти вещи можно выключить и включить, тоесть они должны реализовать некий интерфейс АйВключаемоВыглючаемо в котором будут методы Включи() Выключи()
Раз твоя программа УПРАВЛЯЕТ то очевидно у тебя нужно знатьб некое общее сотояние прибора типа АйПрибор имеет Состояние (включен выеключен)
У всех трех есть возможность играть звук и управлять его громкостью, поэому у тебя буде АйМузыкальныйПрибор с функциями ПрибавитьГромкость УбавитьГромкость МьютАнмьют и стейтом чтоб узнать какая именно сейчас громкость
>>2165037 >На днях получил офер за доляры, собесы в ру и еу это просто небо и земля, вообще не понимаю людей идущих за рубли работать За рубли ты нехилые суммы у жлоба-кабана отбираешь, а заморский барин тебя за копейки берёт.
>>2165183 Что происходит при общении с коммунистом: 1-2 минуты: Появляется усталость, снижается внимание, ухучшается память. 2-3 минуты: Нарушается координация движения, ухучшается концентрация зрения, появляется нервный тик, тошнота, головная боль. 4-5 минут: Наступает чрезвычайная раздражительность, галлюцинации, бредовые идеи. 6-8 минут: Замедленная речь, дрож конечностей, короткие периоды потери памяти, странности в поведении. Более 8 минут: Фрагментированное мышление, безразличие ко всему, оцепенение.
>>2165195 Это конечно хорошо, но всё расеянское айти так работает. Тут ты 300к/наносек синьор-памидор, а в долларах это пол-зарплаты мидла во всяких фаангах.
>>2165250 И в чём проблема? Ну хочешь еще больше, учи английский, устраивайся в западные конторы, пили еще больше. Звучит так, как будто это какой-то минус
Сижу наворачиваю Redux. Стоит ли заморичиваться за RTK Query или стоит остановиться просто на голом RTK (Redux Toolkit)? Или там это, все один хуй на него будут закатываться со временем?
Что можно использовать для верификации устройства пользователя на беке? Знаю, что с запросом приходит инфа об оси+браузере. По ип можно получить город. Что особенного об устройстве может вытянуть жс?
>>2165311 Фронт будет только свой, так что в юзер агенте инфа будет. А нету какого-нибудь уникального id у каждого инстанса браузера или что-то вроде того?
>>2165320 >Фронт будет только свой Маняфантазии. >А нету какого-нибудь уникального id у каждого инстанса браузера или что-то вроде того? Даже если и есть, думаешь к нему был бы доступ у всяких левых браузерных скриптов?
>>2165320 >Фронт будет только свой, так что в юзер агенте инфа будет Одно из другого не следует. Юзер агент отдает браузер, и если например пользователь включит приватность, то твое приложение получит хуй.
Дарова чебуреки. С knex/pg работал кто? Нужно периодически из базы постгреса с 999999999 записями переливать данные в эластик, используя киберзапрос с пачкой лефт джойнов. Изначально накостылял подгрузку через offset/limit по 1000 штук, для разработки и так сойдет - уже после 10к записей запросы начинают ощутимо тормозиться. Сейчас оформил это всё в PGшный курсор в рамках транзакции - интересно, у вас тут кодовые вставки вообще работают? ``` await knex .raw(`declare es_fill binary no scroll cursor for ${rawRequest}`) .transacting(trx) ``` и далее гружу результаты через ``` const result = await knex .raw('fetch forward ?? from es_fill', count) .transacting(trx) ``` так тут даже count = 10 стабильно срется по 4 секунды, напрочь руша всё понимание процесса. В то же время через pgAdmin достаточно быстро отрабатывает и единичный вариант с оффсетом, и батч с использованием курсора.
Что надо подкрутить? Или knex для такой хуйни не годится и надо использовать что-то иное, например logstash? Нужно немного логики чтобы чистить эластик от протухшего дерьма и обновлять старые записи.
Че это за хуня? Ну серьезно, че это за хуйня? Вот так вот мне предлагают читать файлы в Ноде. Коллбек блять засовывать. Ебанулись? Ладно хуй с ним с async/awai, но почему блять промисов тут нет? Почему по дефолту мы серим какие-то коллбеки напрямую?
>>2165743 У тебя не каноничный ESM импорт, наркоман. Надо или: import { promises as fs } from "fs"; или: import { readFile } from "node:fs/promises"; На версиях ноды посвежее.
>>2165783 Нет вариантов, если хочешь в рабочее время играть в ММОРПГ как я, прямо во время дейли митинга, альттабаясь на две секунды чтобы что то сказать и дальше табаясь обратно
>>2165846 Как сделать блок который растягивается относительно контента ? И типо просто тупо последнем элементу через псевдо ласт Чайлд марджин дать, блять ебать.
Я снова мучаюсь с typeorm. Я просто нихуя не понимаю, как это работает. У меня уже весь гугл фиолетовый, я облазил каждую статью, посмотрел все видосы на ютубе по теме, даже какие-то курсы скачал, где 60% нужного мне урока посвящено тому, как БД поставить на комп, а пример по теме максимально одноклеточный. Это, нельзя нагуглить (я серьезно, я пиздец как старался), я до последнего тянул, но, видимо, кроме как спросить тут другого выхода нет. Короче мой вопрос: Есть пост и есть юзер. Отношения между ними понятны. Юзер может быть автором поста. А может и получить этот пост, если это сообщение в приват. Допустим я пишу фронт. У меня есть форма с заполненным постом и я формирую из этого объект, чтобы потом все это засунуть в базу. В сущности поста есть поле author, у которого отношение к юзеру это @ManyToOnе. У меня есть дто create-post. Я пытаюсь, собственно, создать пост. Мне надо как-то установить четкие отношения между человеком и постом. Мне нужно указать, что айди которое лежит в JWT должно быть явно указано как автор поста. В дто запихиваю поле author c типом Author, получаю ошибку, typeorm ругается, что он не знает, что это за тип такой author. Ок, наверное это норм, правда мне это кажется нелогичным(вот же он блять импортирован тремя строчками выше) я не ебу почему так. Меняю author на author_id (и в joinColumn тоже), с типом string, теперь ошибок нет, но нихуя не сохраняется в базу. Это логично, ведь есть расхождение с entity, БД не ебет что я ей пытаюсь впихнуть. Какой из этого выход? Вспоминаю уроки SQL и решаю запилить таблицу author-post, которая выглядит примерно так: id, post_id, author_id. Так как я стал бэкэнд разработчиком 2 дня назад и для меня это все ебаное колдовство, то я лезу в интернет посмотреть, как делают умные люди. И тут оказывается, что так не делает никто блять. Просто литирали никто блять так не делает. Все что мне попалось это какие-то беззубые примеры где все приложение состоит из двух не связанных между собой сущностей, либо там просто хуярят какое-нибудь ManyToOne и кладут на это хуище, потому что никто не билдит под это дело фронт и никто не будет этим кодом пользоваться. Еще раз: я нихуя, абсолютно нихуя не понимаю в бэкэнде. И с моей колокольни, проблема с тем чтобы просто хуйнуть foreign key и положить болт кажется очевидной, когда я на фронте буду использовать созданный круд, я не смогу засунуть (по крайней мере я не ебу как) текущего залогиненного пользователя в авторы поста. Ну типо, чисто айди он не принимает, потому что в entity там @ManyToOne(() => Author)author: Author, а пропихивать сразу весь объект пользователя это говнокод какой-то и так точно делать нельзя. Наверно подразумевается что оно автоматом сделает "воображаемую" таблицу с корреляцией между пользователем и постом (поля и отношения есть), но как оно узнает, какой пользователь создал пост? Вот мне и кажется, что единственный выход это сохранять пост и в той же самой операции сохранять новую строку пост_айди автор_айди в post-author таблицу. Но так никто не делает. Я хуй знает что мне делать, можете обоссывать.
>>2166031 Вкратце: Я не могу понять, как мне добавить в авторы поста текущего залогинненого юзера. Чуть подробнее: я не могу понять как должно выглядеть create-post dto и если для установления четкой связи между автором и постом мне нужна отдельная таблица, то нахуя мне тогда указывать у поста ManyToOne foreign key с ссылкой на автора.
>>2166055 У меня нет проблем с тем, чтобы его получить, мне это ничего не дает, если его нельзя запихнуть в save функцию репозитория, потому что я не знаю, как должно выглядеть create-post.dto. У меня есть строка в post.entity: @ManyToOne(() => Author, author => author.posts) author: Author Что мне такого надо написать в create-post.dto файле, чтобы typeorm дал мне засунуть пользователя вытащенного откуда угодно(из сессии, jwt, из жопы) в базу? Все что я пробовал не работает. 100% сработает вариант с таблицей, но тогда я не понимаю, нахуй я (и все чей код я видел) сделал отношения между автором и постом в entity автора и поста.
>>2166084 Я запрещаю тебе мутировать данные, создавай копию и делай что хочешь в ней А где мутировать эту копию, в родителе или чайлде, уже зависит от ситуации сильно
Что делать если штуки в рендере зависят от свойств в ref? Я хочу получить ширину DOM элемента и в зависимости от него выводить информацию в render(), но там undefined, потому что ref получается только после render(). Что делать?
Эффективно ли к элементу прикреплять onMouseMove, и делать return если this.state.isActive? Потому что по сути событие всегда работает, просто сразу завершается.
>>2166015 >отношения понятны >может быть автором, а может получить
Проиграл. Зачем ты смешал два отдельных отошения? У автора может быть много постов, у поста только один автор. Это первое отношение. Второе это у поста может быть один адресат (и это не обязательно какой то автор, это может быть и общий чат), у адресата несколько адресованных постов.
Бля, как же меня заебал этот Typescript. Вместо того, чтобы заниматься разработкой - занимаешься выяснением почему ругаются типы и как этого избежать, не прибегая к any. Очень остро это стоит, в связке с библиотеками
Подскажет кто-нибудь как можно устранить эту ошибку?
>>2166509 У тебя тип у аппбатона не соответствует тому что ты присваиваешь. Вообще это пиздец, а не код. Ты хотя бы чужой код почитай для начала, а потом уже пытайся родить что то.
>>2166538 Не подходит. ХОК подразумевает собой, что это функция, в которую ты вкладываешь компонент, который нужно обернуть и тебе возвращается обёртка. Мне оборачивать ничего не нужно.
>>2166762 Компонент мужского рода, блядь. Из каких говно-видео вы этого набрались?
Ради 2 уровней можно огород не городить. Но вообще я бы посмотрел, что у тебя там происходит, что внутри модалки 3 уровня, через которые надо бросать стейт до кнопки.
>>2166538 Зачем ты советуешь хуйню? Вполне нормально возвращать один или другой компонент в зависимости от пропа, если нет функцией/хуков, которые придётся дублировать.
>>2166122 Про него не забывают только потому, что на нём написаны тонны кода, который некому переписывать. Даже Абрамов ржёт над использованием редакса в 2021.
>>2166808 Да не знаю я, на автомате так пишется что я сделаю, 3ий раз уже на двоще журите.
Я неправильно написал. модалка у меня app -> modalcontainer -> modaltemplate > modalBtn где cancel кнопка находится, а еще есть кнопка открыть эту модалку, она уже вообще в другом месте типа такго app -> content -> contentHeader -> openModalBtn
Блядь, я нихуя не понимаю. и не знаю что делать. Успешно пишу на реакте маленькие штуки, вроде как разрабатывать понятно. Но и одновременно нихуя не понятно. С легкостью освоил JS, но эта штука меня в тупик завела. Как его понять нахуй?
>>2166933 Я бы сделал так Делаешь хук, который будет управлять состоянием модалки, из хука возвращаешь состояние открыто закрыто и 2 рефа для кнопки снаружи модалки и внутри нее, на рефы вешаешь листенер на клик и меняешь состояние как тебе надо Делаешь компонент модалки который будет принимать реф для кнопки внутри и состояние открытости, вешаешь рефы, рендеришь если открыто Кнопке снаружи вешаешь реф для кнопки снаружи Вот
>>2166945 И жидко пукаешь, когда надо будет открывать модалку из третьего места, а потом из четвертого, а потом еще при определенном урл, а потом плавно выезжать другой модалкой сверху, когда другая модалка уехала вниз
>>2166971 Охуенный стейт. А если у тебя несколько диалогов, то будет dialogsState внутри стейта и для каждого описание? Мммм, кайф, как же я ору с реактодаунов и их верчения обосранными жопа для того чтобы не делать DI механизмов в своём дерьме.
Читаю книжку по js понимаю примерно о чем говорится в главах и представляю зачем это нужно, но не могу делать половину заданий после глав, а если и делаю то невероятно криво, в то время как в комментах все ебашат эти задачи с новоротами. Возможно конечно это потому что я всего полторы недели занимаюсь, но другие то не могли же читать книгу по несколько месяцев до глав к которым я дошел за неделю? Это нормально или я на столько овощ? Боюсь даже чит с устройством на работу не поможет(
>>2167084 Перестань искать причины, почему нет и обращать внимание на других. Всё, что тебе надо делать, быть чуть лучше себя вчерашнего (неделю назад и тд). 1.5 недели - это нихуя не срок для изучения чего угодно.
Читом по поводу работы я бы не советовал пользоваться, только лишнюю фобию заработаешь.
>>2167103 js type coercion гугли, есть картинки, есть статьи. В данном случае дело как раз в приведении типов. В первом случае он решает, что ты хочешь конкатенацию. Во втором случае т.к. ты не можешь из строки вычесть строку он приводит строку к намберу и выполняет операцию.
>>2167103 Тут дело в плюсе, он же не только как сложение работает, но и как конкатенация. А минус только как вычитание. Поэтому в первом случае сразу идет конкатенация, во втором приведение к типу.
>>2167114 > эмодзи > не тянущие за собой жирное говно Даз нот компют. Но вообще эмодзики - юникод символы. Так что хуяришь панель с кнопками с этими символами внутри и на онклик вставляешь значение кнопки в селекшн.
>>2167122 >Но вообще эмодзики - юникод символы. Но вообще если ты делаешь веб-дрисню для браузеров то тебе нужно отображение этих символов самому и предоставлять, причём навязчиво, а не полагаться на систем дефолты твоих юзеров, у которых они могут быть у всех разные — работать должно одинаково и на пека, и на пека под линуксом etc. Грузить иконочный шрифт — затратно, он весит дохуя даже если (получится) его ужать в какой-нибудь woff, не говоря уж о том, что за это ещё и копирасты могут взъебать. Остаётся парсить картинки всякими twemoji, но мастерить с нуля свой инпут из дива с contenteditable с учётом уёбищности куска дом апи, отвечающего за селекшны, позиционирование курсоров внутри оных и прочее, помноженной на то, что у нас не нативный инпут а самодельная срань — да я ебал.
>>2167124 >Но вообще если ты делаешь веб-дрисню для браузеров то тебе нужно отображение этих символов самому и предоставлять, причём навязчиво, а не полагаться на систем дефолты твоих юзеров, у которых они могут быть у всех разные — работать должно одинаково и на пека, и на пека под линуксом etc. Эмодзи должны выглядеть так, как они выглядят в браузере. В этом их блять суть. Ты тут со смайликами путаешь тему. >Остаётся парсить картинки всякими twemoji, но мастерить с нуля свой инпут из дива с contenteditable с учётом уёбищности куска дом апи, отвечающего за селекшны, позиционирование курсоров внутри оных и прочее, помноженной на то, что у нас не нативный инпут а самодельная срань — да я ебал. Вставляешь в кнопки иконки из свг-спрайтшита, а в тексте вставляешь свой манятэг, который потом парсится при отправке. Тэг конечно не картинка, ну так сделай кнопку превью поста, опять таки элементарная логика без костыльного кастома, плюс лучше юзер экспириенс.
>>2167131 >>2167136 Блядь, ну посмотри, как тут сделано. chatvdvoem.ru Расспросить их от деталях имплементации возможности, к сожалению, не имею, как и времени на ковыряние скомпилированной вебпаком мочи.
>а в тексте вставляешь свой манятэг >ну так сделай кнопку превью поста Для большей части ЦА большей части ресурсов, предоставляющих ЭМОДЗИ помимо прочих функциональностей, это слишком сложная хуйня которой никто не будет пользоваться и бля я лучше пойду в другое место восян с зовода там сидит говарит заебись смайлики кнопку нажал хуяк и готово.
Подскажите, есть ли какая-то штука к react-router, которая позволит задержать загрузку компонента по новому роуту, пока данные для этого компонента не загружены? Именно данные, а не сам компонент - сам компонент будет являться частью бандла.
Т.е. я хочу получить логику как на Youtube - там нет мгновенного перехода на новую страницу, а сначала запрашиваются какие-то данные из API, параллельно показывается полоска загрузки сверху, и уже когда данные получены, то отрисовывается страница.
inb4 suspence, т.к. хочется чего-то более-менее стабильного
Где посмотреть можно как опытные верстальщики верстают? Вот вроде бы HTML теги какие-то знаю, CSS примерно понял как работает, хочу посмотреть как сайтики верстаются. Вот этого чела немного посмотрел, понял, что в верстке есть много фич, про которые надо знать(типа того же reset.css). Где посмотреть макеты, или посмотреть процесс самой вёрстки можно? Вот этот чел с пика хороший вроде бы контент делает, но он меня пиздец как раздражает своей манерой речи, не могу зырить. Мб. есть какие-то пусть даже зарубежные.
>>2166959 >А модалка по урлу = признак долбоеба, сори
Часто встречается запись типо /url/#cart чтобы когда вернулся на урл, модалка корзины или регистрации или чего угодно уже была открыта. Я блять даже делал сохранение состояние несколько открытых модалок в определенной последовательности в зависимости от урла
Так что вообще не понимаю, что ты тут про признаки долбоеба говоришь.
>>2167254 Модалка это блядь модалка Если тебе нужен отдельный роут - делай отдельный РОУТ А модалка это когда от тебя после конкретного действия ждут следующих действий
>>2167276 Стажёр, спок Когда хоть что то начнёшь понимать в UX и когда тебе позволят разрабатывать что то кроме цвета кнопочек, тогда я тебе разрешаю пукать в треде
>>2167291 Ну да, кнопки ведь сами себя не покрасят, удачи в работе И почему ты пукаешь в треде? Я же тебе запретил, ты необучаемый? Испытательный срок ты уже не прошел
>>2165030 > воруй из рабочего времени Ебать у тебя рабское мышление. Повышая свою квалификацию в рабочее время ты умножаешь капитал компании, главный ассет которой это команда. Если хочешь чтобы у тебя и компании всё было хорошо нужно бОльшую часть времени изучать технологии и пробовать новые приколюхи и меньшую - писать код и решать практические проблемы. Программист наиболее полезен когда читает а не пишет.
>>2167084 Здесь все просто. Если не можешь решить, бери листочек, пиши алгоритм (блок-схему) и реализуй. После и только после этого начинай сравнивать и переделывать на навороты, когда сможешь их понять, осознать.
>>2167354 Эти данные меняются, но это не стейт. У меня короче есть поле где храниться последнее расстояние между касаниями мыши, и от этого поля функции делают что-то. Такое лучше за пределами функции хранить как я понял.
>>2167357 >Да нет же, почему, это стейт и есть. Нет. Если я сделаю их как стейт, то будут лишние ререндеры каждый раз когда меняю. А это вообще не нужно.
>>2167279 Ты же дебил ебаный, который вбил себе в голову какую-то шизанутую догму про то, что модалки якобы нельзя делать по ссылкам и теперь носишься с ней и бросаешься на людей с ad hominem атаками и приступами детской необоснованной ярости. За пять своих постов с порванной жопой ты не попытался даже одним словом аргументировать, почему же все-таки нельзя открывать модалку по ссылке, если в ней находится контент, который надо открывать заново при обновлении страницы. Типичный жопоскриптерский петух с религией в голове. мимо
Пользуюсь для валидации всякой хуйни class-validator'ом. Как мне сделать так, чтобы валидировалось, что одно из двух полей точно false? Т.Е. Поля могут быть 1: false, 2: true или наоборот, но никак не оба true или оба false?
Бляядь, за что мне эти муки. Как же я презираю реакт, какого хуя это говно взлетело блядь, абсолютно неюзабельное запутанное говно блядь, но чтоб хоть как-то протиснуться на рынок я должен его учить, сукаааааа
Сап подскажите, как по-человечески типизировать обьект вроде: obj { 2ch: '2ch', abu: 'abu', tred: 'tred', }
Потому что я потом использую динамический ключ по этому обьекту и он жалуется что это тип string, а мне нужно, чтобы как элемент этого обьекта считался или что-то такое
>>2167424 > абсолютно неюзабельное запутанное говно блядь Ты видимо большие ентерпрайз проекты на жиквери не видел, чтобы понять почему реакт это благодать, да и сейчас можешь вью учить, там тоже вакансий дохуя
>>2167436 Чтобы писать большие ентерпрайз проекты, в которых много типовых кусков и переиспользуемости, плюс очень много логики на фронте. А каждого из фреймворков есть правила, которые обеспечивают быстрый вкат на проект нового разработчика.
>>2167436 реактоангуляровуе нужны, чтобы пилить "односраничные" приложения. Т.е. работают они так, как будто бы ты переходишь по ссылкам, но на деле у тебя всё происходит на одной странице, всё быстро, плавно и красиво. Потому что весь веб всю свою историю это надкостыление над костылями, потому что нельзя просто взять и всем клиентам обновить браузеры, если бы было можно, уже давно бы и язык поменяли может быть. Не знаю насчет ангуляра и вуе, но реакт крутится после сборки в ноде на сервере. Ну и вообще нода эта платформа для запуска жс вне браузера, в итоге на наде пилят всё что можно, разве что ос еще на ноде не запилили, потому что быстро и удобно и жс программистов много
>>2167457 я попробовал с обьектом через key:string : string, норм работает, а с enumom почему-то та же хрень с динамическим ключом, типа нельзя присвоить
У меня на проекте ветка была создана 5 дней назад. Я потихоньку пилю функционал и мерджу бранчи с фичами в основную ветку разработки, и оттуда пушу в гит. Какого хуя у меня все коммиты засчитываются за 21е число? Теперь вместо няшной зеленой линеечки всратая болотная точка с миллиардом коммитов в один день. Что делать бля? Как коммитить так, чтобы график был весь зеленый?
Кто нибудь может сказать из своего опыта, в какую из крупных компаний лучше всего устраиваться относительно начинающему js разработчику? У меня выбор стоит между EPAM и Accenture. Что лучше для джуна? Опыт работы 7 месяцев. Еще многое нужно выучить, хотелось бы попасть в крупную компанию, где новичкам как то позволяют вкатиться и еще менторствуют какое то время, да и помогут если что.
>>2167764 Ты запушил локальную ветку на удаленный репозиторий 21 числа с делал мердж реквест и с тех пор стал делать новые комиты и пуши, которые просто обновляют мердж от 21 числа.
Чтобы график был весь зеленый делый коммиты, пуш в удаленный репозиторий но не делай мердж реквест пока не выполнишь всего, чего хотел.
Блядь во что они превратили Vue лол? Два года назад игрался с ним когда делал себе небольшой проектик, там было все просто как два пальца обоссать. А сейчас что это за хуйня? Это че типа очередной реакт?
>>2167828 Шизик, реакт - это библиотека на 100кб кода, сделанная исключительно чтоб html шаблончики писать, а вуе - это фреймворк с кучей инфраструктуры. Говорить, что реакт сложнее/навороченнее вуе - быть долбоебом
>>2167793 То есть мне просто не мерджить ветки, а плодить их сто штук и мерджить только когда я значительный кусок функционала будет запилен, что аж на целую версию хватит?
>>2167862 Почему у вью есть два места, откуда берется хтмл код для отображения? Разве не должно быть разделения на логическую часть и на темплейт? Почему в логической части компонент вмещает в себя темплейт?
>>2168030 Я не кодер, мне просто нужно написать тулзу для рамчетов, но даже я знаю что такое энкапсуляция. Пиздец конечно, я уже смотрю на Svelte, если что.
>>2167168 Я спросил про готовое решение. Наделать костылей я всегда успею.
>>2167178 Почитал мельком про react-query - вроде это про кэширование ответа от сервера (и таким образом, если какой-то роут завязан на получаемые от сервера данные, то можно обеспечить его мгновенный рендеринг со старыми данными, как я понял) - т.е. не совсем то, что нужно.
>>2167179 Ну, на Youtube, например. URL меняется сразу же после клика куда-то, но при этом новая страница не рендерится, пока ответ не пришел, а в твоем примере не так. Интересно было сделать поведение как на Youtube, но в контексте react-router. Т.е. каким-то образом задержать рендеринг компонента по роуту пока данные не получены (ну или задержать как максимум на пару секунд, а потом отрендерить вне зависимости от того, получены ли данные).
>>2168129 >Ну, на Youtube, например. URL меняется сразу же после клика куда-то, но при этом новая страница не рендерится, пока ответ не пришел, а в твоем примере не так.
Я бы на месте того челика сейчас бы сгорел. Он тебе все правильно написал. Не тупи.
>>2167155 >Подскажите, есть ли какая-то штука к react-router, которая позволит задержать загрузку компонента по новому роуту, пока данные для этого компонента не загружены? Именно данные, а не сам компонент - сам компонент будет являться частью бандла.
Здесь роутинг не причем на самом деле. Есть запрос данных. Есть статус запроса данных, если данные в загрузке то отображаешь спиннер, вместо компонента, данные загрузились отображаешь компонент. Так ютуб и работает. Это стандартное использование, тут нет каких то библиотек для этого
У тебя внутри компонента будет 2 ретерна, один на загрузку, isLoading && return <Spinner /> другой после загрузки. Если при одной загрузке данных нужно отображать спиннеры в разных местах, то уже надо либо выносить загрузку наверх и через контекст прокидывать статус, либо использовать библиотеку redux/mobx
НУЖЕН СКРОЛЛ САЙДБАРА КАК НА РБК.РУ, ТОЛЬКО НЕ БЕСКОНЕЧНЫЙ.
То есть, есть основной скролл, который еще и крутит калтент в фиксированном сайдбаре. Плавно, без ебучих лагов. с лагами и я могу захуярить без глубоких познаний в жс.
>>2168192 Создаешь ангуляровское приложение. Две директивы - основной скролл и вспомогательный скролл Основной скорлл вешается на хост контейнер, вспомогательные на его детей. Вспомогательные слушают онскролл ивент и если скролл достиг конца, то передают эту информацию основному, на что тот начинает скроллить свой контент. По сути тебе достаточно скролоить основной элемент в то время как указатель на дочернем и скролл на нем достиг границы.
как лучше сделать? Данные зранятся на беке в монго, в атласе. Каждая запись имеет timestamp, за день таких данных набирается море, хочу что бы эти данные были сгрупированы по дням, к примеру за один день может быть 20 записей, где лучше "комплектовать" данные? На бэке после запроса в атлас, или бэк перешлет на фронт а уже там собирать в нужный формат?
Короче бамп. Я инженер и хочу написать тулзу для кое-каких расчётов, которая будет выполняться на пекарне юзера. Посоветуйте, нужно ли учить фреймворк попроще вроде Svelte? Или использовать джс всухую работая с дом напрямую? Я немного знаю сам джс, но мне нужно с самого начала сделать правильно с ООП все дела.
>>2168312 Так я и охуел от вью, реакт даже не собирался.
>>2168217 Клоун ебаный, ставь листенеры на скролл без тротлинга, ещё и не один сука поставь, навешай туда тяжёлой херни типа запросов и твоим блядским сайтом только твой парень пидорас будет пользоваться из сочувствия Я ебал твою мамашу шлюху
>>2168361 На бэке конечно Лишние запросы или слишком большие по объему данных на фронте не нужны На бэке же ты можешь ещё и кэша навернуть и отдавать кэшированное спокойно, не тратя время на запросы
>>2168631 Зачем тебе ооп для твоей всратой микроскопической клиентской хуеты? Заняться нечем чтоли? Можешь хоть на чистом жс или жквери писать, если тебе не надо будет это поддерживать, а если надо - пиши на реакте
Кто-нибудь знает, можно ли в figma поменять css code? Типа заходишь в figma в макет, выделяешь какой-нибудь, например, текст. И там справа панель появляется, где есть css code.
Сап, у меня есть таблица, и я храню в редаксе тип ее сортировки и тип фильтра, насколько это тупо? Типа state { currentSort { type: name order: ascending } chosenMonths = [jan, feb..]
>>2161180 → >Пройтись ещё раз по тому, что спрашивали, и по всему остальному. Я понимаю, когда в моменте ты отвратительно себя чувствуешь после разъёбного интервью, но зачем оставаться в этом состоянии? Ты в любом случае получил опыт, к следующему интервью будешь чуть лучше и в плане знаний и в плане эмоций/волнения. Не надо воспринимать собес как экзамен, воспринимай его как дейт в Тиндере, один из многих. Пройдёшь десяток-другой - вспомнишь мои слова.
Мудрость Анона неоценима. Да, действительно, второе интервью было намного лучше, дольше, с полной ясностью смог ответить на вопросы, которые не смог на первом. Получил фидбек, говорят не тупой, но надо подтянуть ооп, хттп, сокеты, вебпак, ну и мелкие вопросы, которые я пропустил, вроде, в чем заключаетя реактивность, зачем нужен фреймворк, в чем разница между ооп и фп(как оказалось не только рекурсия), абстрактная теория данных(или что-то типо).
Но ебаное говно-ООП все испортило, после того, как поняли, что я вообще не шарю за него, сразу пидорнули.
Еще понял такой очевидный момент, если и пиздишь в резюме про технологии которые не знаешь, то лучше хотя бы чуть-чуть почитать про них и что они делают. Иначе неувязочка на техническом интервью появляется.
>>2168957 >Получил фидбек, говорят не тупой, но надо подтянуть ооп, хттп, сокеты, вебпак, ну и мелкие вопросы, которые я пропустил, вроде, в чем заключаетя реактивность, зачем нужен фреймворк
Бля, работаю за 150к реактомакакой, хуй бы ответил на эти вопросы
Ты тролль? Вью/Ангуляр - фреймворки для создания SPA - набор готовых решений, плюс инструментарий, чтоб не делать одну и туже работу постоянно.
Реакт - недофреймворк для создания SPA, хотя многие будут кудахтать что это не фреймворк, а библиотека.
Более низкий порог входа чем в Ангуляре, поэтому надо (на самом деле нет) меньше думать.
NodeJS - экзешник на крестах, позволяющий запускать JS скрипты на десктопе, а не в окне браузера. Считай аналог виртальной машины ява, или дотнетовской среды запуска (не помню как она называется)
Вообще как "начинающий бэкэндер" у тебя не должно быть вопроса "для чего нода", должен быть вопрос нужна ли нода тебе
Прочитал 2 части Кантора, написал свою простую тудушку на чистом жсе, а всё равно ощущение, что я нихуя не знаю языка и иногда туплю очень долго над элементарными действиями. Что делать-то блять? Я думал, что после прочтения Кантора уже буду более-менее подкован, а в итоге сейчас ресурс обучения закончился, а из головы всё вылетело и никак не клеится.
>>2169024 Что посоветуешь? Еще написать что-то? Начать попутно изучать фреймворк? Я вот хотел еще препроцессор какой-нибудь изучить, но смысла особого не вижу сейчас это делать (хочется сосредоточиться на фундаментальном, чтобы впустую время не тратить)
>>2169026 У меня особого ответа нет. Потому, что конкретно мой мозг такой, что я учусь только на реальных задачах.
Т.е. если бы ты был я, яб пошел джуном хоть куда лишь бы хватало на еду одежду и давали кейсы для учебы.
Ты точно не прогадаешь овладев реактом или ангуляром , абсолютно точно надо после ваниллы перекатываться в тайпскрипт В современном мире если тебе говорят что пишут на ванилле, это признак легаси параши.
Короче если ты хочешь во фронт тебе ангуляр /реакт + хотяб базовое понимание любого бекенда
Если в бэк, то тебе конечно же базовую ноду а потом что то улучшенное типа NestJS и практика реальных прилад
Я считаю, что когда выдумываешь задачи из головы, ты не додумаешься до огромного количества кейсов из реальной жизнию Т.е. будешь в некоем пузыре какбы знания.
А когда к тебе приходят с реальным запросом "сделай нам всплываху с уведомлением в правом верхнем углу" тут тоты и начинаешь крутиться вертется
>>2169046 Спасибо за развернутый ответ, анон. Я примерно также мыслю и практика хорошо закрепляет знания + на практике и теорию подтягиваешь (гугля часами необходимое).
Но куда меня возьмут со стеком: неполноценный жс, html/css, поверхностное знание гита, немного юзал webpack чисто познакомиться и всё. Опыта разработки никакого нет, кроме тудушки и пары свёрстанных лендингов (всё лежит на гитхабе). По-моему я такой никому нахуй не нужен и нужно еще учиться чему-то. Ну понятно, что надо знать LESS/SASS, фреймворк (пока не определился), что еще?
>>2168950 >редаксе Достаточно тупо само по себе, а хранить стейт таблицы глобально или не хранить - зависит от конкретной ситуации и того, что ты хочешь сделать. В 90% случаев не имеет.
>>2169065 >Но куда меня возьмут Ну когда я искал свою первую работу, я буквально каждого знакомого спрашивал. "А вам не нужен программист начинаха? Готов работать за еду, лишь бы набраться опыта. А есть знакомые кому может быть нужно?" Как оно сработало: иду я по платформе Петровско-Разумовская, а мне на встречу чел с которым мы в одном компьютерном клубе играли в старик когда я был студотой. Слово за слово, он обмолвился что работает в айти. Я спросил нужен ли им начинаха. Он сказал что почему нет? попробуй. И выстрелило.
Короче, стучись в каждую дверь. Сделай на хх анкету "жуниор жэ эс девелопер" и предлагай себя. Особенно обрати внимание на позиции "без опыта работы" "без резюме" и "зарплата не указана" Понятно что тебя на старте будут иметь в хвост и гриву, но если ты не чертов гений, такова плата за вкат в айти
>>2168950 >и я храню в редаксе Юзать стейт менеджер Насколько тупо? Намного Ну даже если ты не можешь без стейт менеджера то наверное MobX а не ссаный редах?
Насколько это соответствует бузнесу - вопрос не к нам а ктебе или твоему надсмотрщику
>>2169084 >А чем вам так редакс не нравится? Вроде везде его просят. Чем заменять? Есть сотни стейт менеджеров с двумя строчками синтаксиса и человеческими экшенами в виде функций, а не бойлерплейта из редюсеров. zustand например
>А чем вам так редакс не нравится? Тут вопрос на самом деле отцов и детей, поколенческий, таксказать.
Когда в профессию понабежало хипстеров-смузихлебов они сначала начали отрицать всё старое, как водится. ООП им там нинужно, строгая типизация нинужна, и вот это вот всё. Когда они литерали подросли и поумнели (как профессионалы) оказалось, что надо изобретать все эти наши "типовые олдовые штуки" по-новой. Так вот и редакс (как и любой стейт менеджер) это такая затычка для обезьян которые не умеют писать по другому.
Ведь если подумать, у тебя же могут быть классы, сервисы, которые хранят нужное, правда? Также, если подумать, ты можешь всю приладу конструировать в парадигме, что у тебя нет стейта, а есть поток событий.
Но это нужен другой майндсет и другой опыт. Поэтому чуваки "придумали" сейвить стейт в помойку "ключ значение"...
Ну и если ты хлебушек и справляешься только со стейтами (что в общем не зазорно, ибо таковых 99%) то вот https://mobx.js.org/README.html
Более конкретно ответ на вопрос "но везде же спрашивают" Потому, что везде некомпетентные обезьяны которые мыслят в том ключе в котором привычно. Когда они закатывались в этот стек технологий (читай на старте проекта) реакт+редакс было дофига хайпово. Потому, что допустим Ангуляр с его ООП и реактивным программированием для них был сложен. А далее это просто исторически пошло, что выросло поколение кодеров для которых реакт редакс сорт оф эталллон.
Насколько я ориентируюсь в теме, никто из тех кто сидел на редкасе но потом таки попробовал мобХ не собирается обратно
>>2169079 Спасибо за совет. У меня просто нет знакомых из айти по сути. Разве что только в интернете, но вот с хх да, думаю так и сделать. Остерегался всегда вакансий без указанной зп, но попробую. Сколько там вообще будут платить примерно?
>>2169095 Дваждую за редакс/онгуляр/ооп. Но что такое мобх не знаю. В стрех словах опиши тогда уж. Это редакс на минималках или типа рхжс с редаксом? От ангулярной тимы что-то подобное было раньше. ентити что-то там.
>>2169098 >У нас просто на стажировке сказали писать на редакс Ну так а я о чём? Вам сказали, тем кто вам сказал тоже "сказали".
А когда вся эта каша заваривалась, людей которые умею программировать было сильно меньше. Поэтому безграмотность плодит безграмотность.
Я прям угораю с того, как все это опен сорс жэ эс комунити повторяет то, что майкрософт прошло пять десять лет назад.
Но ведь МС это неназываемые, и вообще корпорация зла... Вот к примеру, отличная надстройка (без иронии) над нодой NestJS - по сути чуваки реализовали ASP.NET с задержкой годиков в 5-7. Лучше, конечно, поздно чем никогда...
>>2169098 >У нас просто на стажировке сказали писать на редакс Ну так а я о чём? Вам сказали, тем кто вам сказал тоже "сказали".
А когда вся эта каша заваривалась, людей которые умею программировать было сильно меньше. Поэтому безграмотность плодит безграмотность.
Я прям угораю с того, как все это опен сорс жэ эс комунити повторяет то, что майкрософт прошло пять десять лет назад.
Но ведь МС это неназываемые, и вообще корпорация зла... Вот к примеру, отличная надстройка (без иронии) над нодой NestJS - по сути чуваки реализовали ASP.NET с задержкой годиков в 5-7. Лучше, конечно, поздно чем никогда...
>>2169101 >Это редакс на минималках или типа рхжс с редаксом? Это типа RxJS с редаксом и мутабельность и мнодеством отдельных стораджей под разные сучности
Ну и отдельно я ору с того, что сначала реакт комунити вопит о том какие они прогрессивные и анопиниэйтед, а потом начинают изобретать по новой то, что уже сделала большая корпа.
Т.е. вот в гугле дураки сидят, поэтому сделали ангуляр в свазке с тайпскриптом в связке с RxJS
А вот анопиниэйтед реакт коммунити - вот они не дураки. Поэтому сделают реакт реактивным через связку react + mobx не сразу, а спустя несколько лет после гугла! Цирк с конями да и только. Жду когда они в своем реакте DI изобретут и будут ваще-ваще анопиниэйтед...
Ну и отдельно я ору с того, что сначала реакт комунити вопит о том какие они прогрессивные и анопиниэйтед, а потом начинают изобретать по новой то, что уже сделала большая корпа.
Т.е. вот в гугле дураки сидят, поэтому сделали ангуляр в свазке с тайпскриптом в связке с RxJS
А вот анопиниэйтед реакт коммунити - вот они не дураки. Поэтому сделают реакт реактивным через связку react + mobx не сразу, а спустя несколько лет после гугла! Цирк с конями да и только. Жду когда они в своем реакте DI изобретут и будут ваще-ваще анопиниэйтед...
Никак не могу понять, в каком случае предпочтительнее использовать useReducer. Кажется, что как будто бы это можно сделать когда у нас большой объейкт стейта, но мы и с useState можем исопльзовать объект. Может быть тогда, когда нам нужно предыдущее состояние, но мы и у обычного сетстейта можем получить предыдущее состояние через коллбек.
>>2169134 Да спасибо блядь, смог нагуглить. А вот отличие-то в чём? Что такого принципально важного может сделать useReducer чего не может useState? Там же весь функционал дублируется. Разве что мы в редюсере можем какую-то сложную логику обновления сделать, при которой нам не нужны будут дополнительные функции, запускающие обновление стейта, которые придется мемоизировать. У реакта нигде явно этого не указано.
>>2169125 >>2169135 Всем похуй на ваш чмонгуляр, который сгнил и загибается. Даже компании, работающие с ангуляром, переходят на реакт и переписывают части приложений на реакт. А это уже 100% приговорю
Так о том и базар. Не, если глядеть в ретроспективе, то вебпрогеры становятся умнее.
Но очень забавно смотреть как переизобретается то, что уже много лет стандарт и бест практисес на бекенде.
Я кстати почему топлю за Нагуляр - я в веб вкотился после бэка. И вижу что Ангуляр сделан для таких как я. Я уже +- умею кодить и когда начинаю проект у меня в голове мысли как хорошо организовать структуру, как наладить обмен данными между компонентами прилады, как тестировать. Кто и как будет работать с этим приложением _после_ меня?
Заметьте, что большая часть фронтенда этими категориями не мыслит. Да и им не всегда надо. Мои вопросы -вопросы из мира энтерпрайза и решений которые работают годами а то и десятилетиями.
А ежели ты обезьянка которая клепает 8 типовых "магазинов на деване" в год по аутсурсу или гребешь на галере, то эти вопросы конечно не приходят в голову. И получается как с эталонным макакеном сверху, который подорвался от проверки типов...
>>2169129 Приниципиально ни в чем, просто сахарок шоб было для людей, чей мозг необратимо уничтожен редаксом. Главная "польза" от редюсер модели в этом случае заключается в том, что у тебя всегда одна неизменная функция dispatch, которую не нужно мемоизировать, и ты просто пишешь dispatch(addTodo(todo)) dispatch(clearTodos()). Приходит с ценой бойлерплейта и требованием выносить экшены куда-то в отдельное очко и импортировать их в месте использования.
Но все это же самое можно сделать через пикрелейтед и писать как нормальный объектно-ориентированный человек actions.addTodo(todo)
>>2169136 Я сижу на стеке Angular .NetCore Но вообще, можно быть молодцом и на стеке React + NodeJS Ключевое тут, отметь, быть молодцом и включать голову.
Angular дает тебе больше "искаропки" и сильно сложнее для вката без опыта. React позволяет быстро стартануть, но если ты будешь развиваться, а не останешься на уровень свинособаки типа вот этого >>2169146 то лично твой набор инструментария для React очень быстро станет похожим на "Angular из каропки" потому, что ты будешь решать правильные вопросы.
Если посмотреть непредвзято по рынку, то вакасий на реакте заметно больше, зато нормальные ангулярщики как правило дородже реактомакак.
Если ты молод и остр умом, надо освоить и то и это, лишним не будет.
>>2169162 >Расскажи как быть молодцом тут, если несложно Как говориться, в жизни должно повести три раза. "У кого родился, у кого учился, на ком женился"
Я знаю молодцов на реакте потому, что они ушли в реакт после нескольких лет бекенда или потому, что у них был толковый наставник который учил правильным подходам, а не магическому мышлению.
Ищи, короче, наставников. Читай про архитектурные паттерны и общие подходы. На каждом шагу задавай себе вопрос" Стопе, а не дурак ли я?"
Я понимаю, что это общие рекомендации, но других нет. Нужен наставник, личное старание и умение рефлексировать.
>>2169161 Ну всё, килерфича. Вот счаз допилят натив и все реактомакаки ломануться в мобильную разработку и десктом за 333кк наносек, да? (нет)
Кстати пока вы там на свой реакт дрочити, мелкомягкие выкатили Blazor WebAssembly который вообще убийственен по своей мощи. Эдак скоро пойдете на свалку истории также как вымирающие ангулярщики...
>>2169169 >Вот счаз допилят натив Чел... >Ну всё, килерфича Ты думаешь это должно было прозвучать иронично? Не хочется тебя расстраивать, но, это вообще-то пиздец какая киллерфича
>>2169161>>2169193 Чел, если бы ты хоть раз в своей жизни попытался написать простенькое приложение на реакт хуйнетиве, то такую бы хуйню не порол. Это забагованное дерьмище для реальных мобильных приложений не годится, только клепать однотипную хуйню по првоеренным шаблонам, где шаг влево-вправо от шаблона - расстрел. Котлин со свифтом никуда уходить не собираются, ни флаттер, ни реакт нейтив им сейчас не конкуренты абсолютно. мимо
Мне надо по событию @change передать два аргумента. Типа <v-select @change="updateMe($event,y)"></v-select> Без проблем передаётся только $event. Y передаётся только если объявлен глобально или жёстко задан. Как подмешать ещё один аргумент?
>>2169193 >Ты думаешь это должно было прозвучать иронично? Именно так это и звучит. Пчел, программирую с ранних 2000х. Готов поспорить, ты тогда был пиздючелоой и просил мамку шнурки завязывать и жопку вытирать.
Всю дорогу вижу как появляются очердные "убийцы" какой-то технологии, всплывают на волне хайпа на пару годиков и уходят в небытие. Потому, что бизнес любит считать денежки и склонен брать проверенные решения. Ну сам подумой блядь, вот у тебя компания которая сидит на стеке технологий и решает конкретные задачи. Например однокнопачные дрочильник с микродонатами пишет. Какой у такой компании _финансовый_ интерес бросать все и вместо обжектив си или котлина брать какие то свинособачьи разработк?
Какой смысл топовму банку который 20 лет сидит на солюшенах от майкрософт бросать всё и срочно переходить на монгодб (которой транзакции сделали только в последней версии)?
И таких вопросов я, пожалуй, могу задать по десятку "вона би киллер фича неймов" которые видал за последние лет 20.
Выжтивает только то, что дает конкретные осязаемые преимущества, как Тайпскрипт например.
>>2169193 >Ты думаешь это должно было прозвучать иронично? Именно так это и звучит. Пчел, программирую с ранних 2000х. Готов поспорить, ты тогда был пиздючелоой и просил мамку шнурки завязывать и жопку вытирать.
Всю дорогу вижу как появляются очердные "убийцы" какой-то технологии, всплывают на волне хайпа на пару годиков и уходят в небытие. Потому, что бизнес любит считать денежки и склонен брать проверенные решения. Ну сам подумой блядь, вот у тебя компания которая сидит на стеке технологий и решает конкретные задачи. Например однокнопачные дрочильник с микродонатами пишет. Какой у такой компании _финансовый_ интерес бросать все и вместо обжектив си или котлина брать какие то свинособачьи разработк?
Какой смысл топовму банку который 20 лет сидит на солюшенах от майкрософт бросать всё и срочно переходить на монгодб (которой транзакции сделали только в последней версии)?
И таких вопросов я, пожалуй, могу задать по десятку "вона би киллер фича неймов" которые видал за последние лет 20.
Выжтивает только то, что дает конкретные осязаемые преимущества, как Тайпскрипт например.
>>2169206 Макакен, ну с какого ляду ты должен "подмешивать" свой еще один аргумент? Ну ответь сам себе на вопрос "откуда этот аргумент берется"? и "что с ним должно произойти"
Вообще вангую, что все что нужно можно пихнуть внутрь ивента
>>2169211 >>2169214 >Технология не работает, потому что я старше тебя А ну ладно, так бы сразу и сказал >Какой смысл топовму банку Блядь, пчелы, если бы не NDA, то сейчас можно было бы проораться всем тредом. Но да, конечно, если старые брюзжащие пердуны пердят и брюзжат о том, какие они старые и пердящие, то это существенный аргумент в споре, практика и реальность здесь бессильны.
>>2169220 >>Технология не работает, потому что я старше тебя >А ну ладно, так бы сразу и сказал Я старше тебя и видел столько хайповых тем, что просто уже не верю наслово молодым да горячим сектантам.
Я вживую столько раз видел как "ну теперь то реляциоонные бд нинужны" "ну теперь то ооп нинунжно" "ну теперь то стекнейм нинужен" , что когда мне в очередной раз говорят "вот теперь то технологиянейм умрет потому что вышло ещеоднатехнлогиянейм"
>>2169227 Блядь, наркоман старый, хватит подменять понятия, я тебе говорю про РЕАКТ НАТИВ, ты начинаешь вилять жопой и пиздеть про какой-то ооп, про какие-то монги. Сука, я тебе говорю про реакт натив, наверное сам из моего поста выше можешь попробовать догадаться какая крупная компания его использует, елси не совсем одноклеточный имбецил, в чем я уже серьезно сомневаюсь.
>>2169163 > в жизни должно повести три раза. "У кого родился, у кого учился, на ком женился" Ставь лукас если тебе повезло 0 раз!!11)) ну хз, мне, наверное ,раз
>На каждом шагу задавай себе вопрос" Стопе, а не дурак ли я?" Ставь "поделиться с мамой", если ответ очевиден - да!!!1)
>>2169169 >Blazor WebAssembly который вообще убийственен по своей мощи. Эдак скоро пойдете на свалку истории также как вымирающие ангулярщики... Как по мне, очень спорная тема. Тут тебе и порог входа, если вкатунам в онгуляре сложно, то от шарфика охуеют. И вебформсами попахивает.
>>2169227 >я только иронично улыбаюсь... Потому что ты дебил и аругментированно сказать не можешь нихуя, кроме "я в стул пердел, жизнь видел, а сколько вас таких было". Технологии приходят и уходят только в путь, и ты как типичный пердун почему-то обращаешь внимание только на те, которые не ушли(или еще пока не ушли, но в процессе), игнорируя все старое говно, лежащее на свалке(жквери привет). Смотреть нужно на причины, и если тебе не нравятся люди, которые без аргументов говорят "новое и блестящее значит заебись", то что ты должен думать о себе, который таким же образом говорит "старое и проперженное значит заебись"?
>>2169238 >рит "старое и проперженное значит заебись"? А где я говорит? Я говорит что "новое и блестящее заебись" не работает только потому что оно новое и блестящее.
>>2169246 >Я говорит что "новое и блестящее заебись" не работает только потому что оно новое и блестящее. То есть старое и проперженное всегда было тут, пришло от бога и стадию "новое блестящее"(и по твоему манякритерию неработающее) не проходило?
Сука. Я мучаюсь с react. На чистом жс я без проблем написал примерно такой слайдер, а на react не могу. Вот не могу блядь. Я не понимаю что у меня в коде. Вместо того чтобы писать код я думаю о том, какой хуй использовать, или куда нужно эти данные записать, в стейт или куда нибудь еще. Сука. Что мне делать? Может есть у кого понятный гайд где пишут подобный слайдер? Возможно тогда придет озарение
>>2169022 >а из головы всё вылетело и никак не клеится. Не вылетело, с практикой будешь что-то вспоминать, где-то будет понятно, где-то нет, без практики ты нихуя не запомнишь, ведь помни: макака пишет код руками, не головой.
Сап двощ, помоги пожалуйста с Тайпскриптом. На пике 1 есть функция, которая принимает определённый key и записывает значение value в obj[key]. value при этом может быть как типа string, так и null. Тайпскрипт ругается, и говорит, что я не могу присваивать значения, вдруг в obj[key1] я положу null, а не строку. В принципе логично, и я написал type guards (пик 2). Собственно вопрос: нет более элегантного способа решить данную ситуацию? Придётся постоянно проверять типы вручную, прежде чем делать какие-то изменения? Если так, то я буду тогда циклом проходить, узнавать типы и сравнивать их с ключами и т.п.
>>2169026 >Еще написать что-то? Могу тестовые задания на логику накидать. С минимальной вёрсткой. Ещё есть один забавный момент, каждый раз ты будешь писать лютый говнокод, поймёшь ты это только после практики, бесконечного рефактиринга, но и чему-то научишься, в последующем применяя более правильный метод написания кода.
Ну а вообще пиши то, что тебе самому интересно, я вот например писал таск-менеджер, типо что на сегодня сделать, календари, всякое такое, будет больше мотивации, и да, не делай огромных проектов, делай мелкие/средние, иначе будешь и правда бесконечно переписывать говнокод.
У кого-нибудь бывали проблемы с тем, что вы медленно работаете? За это вообше могут уволить, если не было до этого каких-то конкретных претензий на этот счет? Заебало всё пиздец, разгребаю и переписываю старое говно, код писался хуй знает кем, миллиард строк которые равномерно распределены по разным кускам кода, и нужно это всё привести к какому-то внятному законченному виду. Полдня туплю в ютубе или хожу курить, вернусь минут на 15, посмотрю на это говно и опять ничего делать не хочется
>>2169084 >А чем вам так редакс не нравится? Вроде везде его просят. Чем заменять? redux-toolkit упростил работу с бойлерплейтом, советую смотреть в его сторону. По поводу mobx я не думаю, что ты джуниором найдешь работу сразу с ним, а на редаксе уже дохуя легаси, работу найдешь.
>>2169095 Ты мне напоминаешь дурачков линуксодрочеров Не вижу ничего хорошего в мутабельности
>>2169026 >Я вот хотел еще препроцессор какой-нибудь изучить, но смысла особого не вижу сейчас это делать (хочется сосредоточиться на фундаментальном, чтобы впустую время не тратить) Боишься потратить пару часов на просмотр документации? Там все тоже самое, просто удобнее писать +крутые штуки, но если совсем нулевой, то да, основы надо знать или можешь без задней мысли начинать с препроцессором.
>>2169375 >Не вижу ничего хорошего в мутабельности Обоснуй. Мое мнение: "горила и банан", я хочу изменить имя полььзователя, пользователь у меня есть, я хочу сделать юзер.нейм = "ню нейм". Тут вылазит горила и заставляет меня писать эти редюсеры-хуюсеры. Ради чего? Зачем мне создавать нового пользователя для этого?
>>2169272 >Сука. Я мучаюсь с react. На чистом жс я без проблем написал примерно такой слайдер, а на react не могу. Пока не думай, что и куда, просто пиши. Когда напишешь, будешь думать как улучшить. Реакт при правильном написании и дроблении компонентов даст тебе крутую удобную настраиваемую переиспользуемость. Один слайдер куда как проще сделать на чистом жс. Но когда у тебя будет 10 слайдеров по разным условиям, тогда поймешь, зачем нужен реакт, что хранить в компоненте, а что выше него и так далее. Все постепенно.
>>2169394 > Какую ты решаешь задачу? У меня есть функция, которая принимает key и value.
Эта функция внутри объекта obj находит obj[key] и присваивает ему значение value. Вот эту задачу я решаю. Мне надо её затипизировать. Вопрос был в том, постоянно придётся type guards писать в таких случаях или можно как-то эту ситуацию обойти более лаконично?
Алсо, если шаришь - можешь ответить почему такого рода код >>2169390 typescript не пропускает?
>>2169434 Блен, круто. Я даже не знал, что подобного рода конструкции писать можно (я про то, как ты объявил ValueUpdater). Когда же ко мне придёт понимание того, как возможно писать на Typescript...
>>2169363 Давай тестовые, я не против. >>2169369 Ну примерно так и хотел действовать, да. Как раз подумываю что бы такого можно сделать. >>2169382 Хорошо, тогда завтра почитаю что там и как. Может действительно штука более удобная и буду писать только на нём. Базовый CSS я знаю практически весь, флексы особенно.
>>2169526 >А ты сам то всё прошёл? Остановился на медиуме с весны, вроде бы. Дохуя работы. Сейчас, например, тоже работаю. А так крутая штука, спору нет.
>>2169015 >Реакт - недофреймворк для создания SPA, хотя многие будут кудахтать что это не фреймворк, а библиотека Есть некое определение фреймворка? Заебала это неопределенность. И по какой причине реакт официально назвают библиотекой? Негодование.
>>2169704 Слово в контексте нашей беседы относительно новое поэтому в словаря определения нет. В ИНЕТАХ ты найдёшь кучу объяснений что де либа это простот набор реюзабельного когда, а фреймворк диктует архитектуру приложения и(или) управляет вызовами ф-й и (или) созданием классов.
Почему на страничке фреймворка написано что он либа? Потому что а) свинособаки б) формально реакт можно подключить как либу
Но если посмотреть в реальные кейсы, а не рекламные слоганы то...
Что у нас там пишут в вакансиях? Уверенное знание react + redux + jest +TypeScript ой что это? Выбором реакта мы уже определили что приложение будет юзать стейт менеджер, конкретный язык и конкретный тулкит для тестов? . Это же архитектурные решение. Написал useState ой, да ты передал управление кодом би... Фреймворку? А с чего ты начал? Поди в консоли написал create-react-app... этож получается шаблон прилады тебе сделал компонент фреймворка добрый гномик? Ведь реакт - библиотека...
А потом ты сидишь и думаешь. Вот бы мне в реакте диай не помешало. Ах вот же оно. Немного приседаний вокруг jsx и (или) context - Бум, у вас есть сервис локатор (хоть и через жопу)
В сухом остатке оказывается что то, что "фреймворкнейм" даст тебе изкаропки, ты неминуемо поимеешь при работе с реактом, просто сделав немношк приседаний.
>>2169065 >Но куда меня возьмут со стеком: неполноценный жс, html/css, поверхностное знание гита, немного юзал webpack чисто познакомиться и всё. Вот именно что куда-нибудь точно возьмут. Сильных спецов на рынке мало, плюс им платить надо до хуя. Причем не за то, что они на конкретном проекте делают, а за широту экспертизы и прошлые заслуги (которые на этой позиции вообще нерелевантны).
Поэтому часто берут джуна под какой-нибудь проект, натаскивают чисто на вот этот конкретный дрочь, за который отказываются браться нормальные программисты, и там этот джун сидит и делает что-то.
В итоге всем плюс: у тебя хоть какая-то работа, а у них дешевый, почти бесплатный раб, готовый ковыряться в чужом засохшем говне. Как-то так.
>>2169718 >Вот именно что куда-нибудь точно возьмут. Ты серьезно? Вот у меня то же самое, плюсом сверху бэм, бутстрап, посредственный реакт и некст, умение настроить вебпак и линтер с преттиером, немного юзал монгу, поверхностное понимание тайпскрипта (не применял еще его). На какую ЗП я могу рассчитывать при поиске?
>>2169726 Я интроверт и вообще не хочу контактировать с рекрутерками. Я когда в прошлом году был с навыками как у >>2169065 Искал работу, откликался, собеседовался, но мои навыки были никому не нужны. Кроме любителей вкинуть в тестовое свои проблемы в разработке, но там они просто забирали решение проблемы без трудоустройства.
>>2169704 Потому что фреймворк должен давать тебе инфраструктуру, т.е ФРЕЙМВОРК для написания приложения определенным образом. Сам реакт же по сути тебе дает одну вещь - работу с домом, больше нихуя. Все хуки-хуйки - это просто внутренние способы реакта менеджить стейт в этом доме, и сами по себе они невероятно примитивные и базовые, без дополнительной доработки никуда далеко не уедешь.
Но другое дело, что когда тебе говорят "у нас проект на реакте", то это передает больше информации, чем "у нас в проекте используется либа моментжс", т.е реакт находится где-то посередине между фреймворком и либой, и это зависит от того, с чем ты сравниваешь. Если просто с ванильным жсом, то безусловно фреймворк. Если с полноценным фреймворком, который дает тебе кучу вещей, от готовой модели данных до способа организации страниц, то реакт больше либа, чем фреймворк, потому то, что он делает - это один винтик для реального фреймворка.
Ну и плюс накладывается тот факт, что в реакте нет устоявшейся инфраструктуры в приложении, и фраза "проект на реакте" как таковая особо нихуя не передает и нужно задавать кучу доп. вопросов, вроде "чем стейт менеджите, как у вас сделан роутинг, чем фетчите данные с сервера" и т.д, ответы на которые почти наверняка будут радикально отличаться для каждого отдельного реакт приложения, где ты каждый раз открываешь ящик пандоры и копаешься в самописных либах и прочем говне, в отличие от какого-нибудь ангуляра или вуе.
>>2169771 Это мусор и говно, которое отпало за ненадобностью с изобретением пре-процессоров, позволяющих вкладывать селекторы, а не писать дерьмо уровня .modal____modal-body____modal-body-content. То есть практически сразу же после того, как это говно стало доступно широкой публике. >how-and-when-to-use-bem-in-react-edabad2b805a Могу правильно ответить не читая статью - никогда. Ни в реакте, нигде.
>>2169780 >БЭМ прекрасно сочетается и с SCSS, и с LESS, и с PostCSS. Говно тоже прекрасно сочетается с шоколадом, но только если ты говноед. >SASS никак не решает проблему "многоэтажности" селекторов Если эту проблему якобы не решает вложенность, то добавление ____modfier тоже не решит никаким образом, потому что второе - это просто попытка имплементировать вложенные селекторы в чистом css. >проблему специфичности, когда более специфичные селекторы перебивают другие селекторы. А как ее решает БЕМ, шизло ебаное? Она решается только через не писание говнокода в стилях и нормальной их организации. Еще раз БЕМ - это конвенция для писания вложенных селекторов в чистом CSS. Больше он не дает нихуя и дать не может, и если у тебя есть нормальный способ писать вложенные селекторы(ака препроцессор), то мучаться с БЕМом смысл ноль.
>>2169704 Ангуляр диктует тебе как твое приложение будет запускаться, как компоненты будут взаимодействовать, ты только следуешь продиктованным принципам. Поэтому это фреймворк Реакт тебе ничего не диктует, его код можно встроить в любое место, в любом виде. Ты даже в приложение на ангуля ено можешь встроить и он будет работать. Именно поэтому это библиотека.
>>2169788 Бла бла бла. Можно и Машку за ляжку. А по-факту тебе нужен диай, раутинг, хттпклиент, стейт менеджер, консольная утилита и прочее. Ангуляр тебе "диктует", а реакт тебе "не диктует" но выберешь ты всё равно то, что юзает большинство.
>>2169795 По такой шизоидной логике можно записать в фреймворк что угодно, например жс, ведь ты выбираешь там то, что юзает большинство(ноду, бабель, еслинт), а не пишешь свое с нуля.
>>2169797 Ты реально тупой. Впрочем, это не удивительно. ведь мы в JS треде Ты даже не в состоянии подумоть над официальной докой реакта в которой: - JSX - Поток данных между компонентами - хуки - лайфсайкл методы
>>2169811 Все тобой перечисленное - это просто способ менеджить DOM не напрямую, а через API реакта. Больше реакт не делает ничего. По сути, он тебе дает фукцию React.createElement, сахарок в виде jsx над ней, и определенные конвенции по организации компонентов и менеджементу стейта внутри этих комопнентов. Но все это служит одной-единственной задаче - отрисовать html на странице. Да, это объемная и важная задача, но она все еще одна, и проекты просто на рисовании html'а не делаются, им нужно дохуя всего. Фреймворки это "дохуя всего" предоставляют из коробки, реакт не предоставляет. И да, твой изначальный аргумент был не в том, что реакт делает дохуя всего, а в том, что "ну ты же и так все популярное поставишь одно и то же", а он очевидно абсурден, на что я и указал.
Аноны, помогите советом, разрабатываю на реакте и тсе в крупной компании в роли типо-мидла, и появилась у меня идея освоить ещё цмски. Вордпрес там, битрикс. Чтобы можно было калымить, фрилансить. Потому что есть ощущение, что фрилансить с реактом чёт трудно - слишком крутой и дорогой стек для большинства мелких клиентов, как мне кажется, а хочется ещё какой-нибудь доход на стороне поиметь. Что думаете? Идея говно? И второй вопрос, что ещё осваивать, в какую сторону качаться? Сейчас вот бэкэнд на жсе осваиваю, экспресс там, эскуэль, ноэскуэль, потом хочу ещё нест жс.
>>2169829 Мимо-олдфаг-на-ангуляре > было калымить, фрилансить. Я без иронии, мне кажется что 1С твой выбор. Она конечно мерзкая, но рынок огромный. У меня есть приятель, который по 1С и сопутствующим направлениям аутсорсит в одно лицо с десяток магазинов и мелких кабанчиков. Он когда не ленится, в месяц поднимает 400-500 тысяч.
> в какую сторону качаться? Качайся в бэкенд. Фулстак на ноде+реакте (если он не осел) стоит от 3х сотен. Опять же знаю товарища который с ангуляра перекотился в реакт, освоил ноду, и поехал в хуяндекс на 300к + ремии + акции. Он конечно чёртов гений, потому, что его уровень понимания программирования очень высок (ведь на самом деле всё равно какой инструментарий, главное как его применять)
Но всёж пример показательный.
На счёт SQL - мне кажется ненужон. Лично я - батя SQL, овер 13 лет в этой фигне от джуна до разработки КХД, и я чет не вижу, чтоб продвинутые знания SQL мне давали какие то плюсы в работе фронтом или фулстаком.
NoSQL - Ну если полезешь в бэк, то надо освоить. Сейчас часто выбирают NoSQL потому, что SQL стоит денег как в планепрограмного решения, так и в плане компетенций специалиста. А в монгу ты просто срешь джейсонами напофиг и вцелом работает сносно.
>>2169843 Спасибо за мнение. 1с ты ведь про битрикс? Смотрел один глазом, мерзко, но ради подработки освоить можно. По скл/носкл у меня примерно такое же мнение. Интересно, что сейчас востребованее. Алсо, ещё графкл есть, до него ещё не добрался, но в рамках обзорного курса тоже пройдусь. Тоже интересно, насколько популярно это решение.
>>2169786 >Она решается только через не писание говнокода в стилях и нормальной их организации. О боже, ты сейчас будешь переизобретать smacss, oocss, и прочие. То есть прямых конкурентов бэма.
>добавление ____modfier тоже не решит никаким образом Чёрточки не нравятся. Ну возьми smacss, какая хуй разница. БЭМ - обобщенное название любой css-архитектуры. Как и вместо styled-components можно подставить любой другой css-in-js библиотеку - emotion, jss, stitches. Всё равно мем будет смешной.
>>2169848 >БЭМ - обобщенное название любой css-архитектуры. Нет, мань, БЭМ - это одна конкретная уродливая отрыжка яндекса, и ты об этом прекрасно знаешь, потому что в этом же посте сказал: >О боже, ты сейчас будешь переизобретать smacss, oocss, и прочие. То есть прямых конкурентов бэма. Ты определись сначала, конкуренты они или все-таки то же самое. И сравнивать common-sense конвенцию уровня modal.is-open с дерьмом, которое в этом же месте влепит БЭМ - это быть умалишенным нахуй.
Вьшники поясните из оф руководства. Родительский компонент может прослушивать любые события на экземпляре дочернего компонента с помощью v-on или @, аналогично отслеживанию нативных событий DOM. А чтобы сгенерировать событие, дочерний компонент может воспользоваться встроенным методом $emit, передавая в него аргументом имя события:
В том же реакте обработчики событий создавались в родительском компоненте и передавались пропсами в дочерний, тут же какой то эмит, я так понимаю теперь это событие будет доступно через эмит не только в дочернем компоненте но и во всех?
>>2169786 >Проблему специфичности >А как ее решает БЕМ Мудень, просто открой документацию, там всё написано. Видать линтеры тебе не знакомы, элементарно же плагин накатываешь и он не позволяет разрастаться специфичности/вложенности. https://www.npmjs.com/package/stylelint-selector-bem-pattern
>>2169856 >Одна конкретная уродливая отрыжка яндекса Это твоё оценочное мнение. Уродливое эээ... такой себе аргумент, поскольку красота субъективна.
>>2169859 >элементарно же плагин накатываешь Только нахуя для этого БЭМ, если плагин будет точно так же(а скорее всего гораздо лучше) определять и вложенность и специфичность в обычном SCSS >поскольку красота субъективна. Нет, не субъективна. Есть объективно уродливые вещи(гниющие, воняющие, перекошенные, несимметричные, например: трупы, БЭМ, твоя мать), а есть объективно красивые(свежие, сияющие, ровные, симметричные, например: молодые девушки, SCSS)
>>2169864 Бэм конечно говно, но всё ещё лучше ванильного css с анархией и без всяких тулзов и правил. Scss хорош, но ведь styled components (и пара других css in js) ещё кайфовее. мимо проходил
>>2169869 >Бэм конечно говно, но всё ещё лучше ванильного css Если у тебя в 2021(или даже в 2011) стоит выбор между БЭМ или чистым CSS, то ты что-то делаешь не так. >Scss хорош, но ведь styled components (и пара других css in js) ещё кайфовее. Бойлерплейтное неудобное говно по сравнению с SCSS.
>>2169864 >Только нахуя для этого БЭМ Чтобы унифицировать нейминг, чтобы не было в одном месте btn--btnPrimary, а в другом btn--btn-secondary, а в третьем btnThird. Единые правила для всех стилей.
>>2169846 >Алсо, ещё графкл Тут ты сам для себя реши по ощущениям. Мне, к примеру, уже под сорокет, и я заметил, что без таблетосов осваивать больше двух новых парадигм реально тяжело и неэффективно.
Если ты молод, борз и остр умом, можешь хвататься за всё сразу. Но по мне, так лучше сделать фокус на чем то прям вот конкретном, убедиться что уверенно вывозишь выбранное и добавлять новое по чуть-чуть.
>>2169879 Слышал про какую-то альтернативу sc, но вроде без компиляции в рантайме, а на стадии билда. Это оно? Тред ещё был в Твиттере со сравнением sc со всем подряд. Но там вроде довольно мелкие профиты были. Но можно попробовать. Хотя конечно sc даёт какой-то невероятный dx чучуть за счёт юзеров
>>2169887 В нашем случае удалось получить неплохой перформанс буст в работе приложения за счет использования линарии вместо SC. Если приложение предполагает активные апдейты, например, в реалтайме, то лучше взять что-то перформящее.
>>2169857 >Родительский компонент может прослушивать любые события на Это из руководства по вью?
Ну учитывая, что во вью взяли практики из Ангуляра, то полагаю речь вот о чём.
Всегда встает вопрос передачи данных между компонентами. Концептуально у тебя есть четыре направления. От предка к дочке, от дочке к предку, от дочки к дочке и.. . пересылка данных между несвязанными компонентами.
Сверху вниз у тебя будет передача при помощи некоего @input() или пропсами или аналогом. Снизу вверх у тебя будет событие. Т.е. дочерний компонент будет генерировать некое на что родительский отреагирует.
На примере того же ангуляра в дейтпикере у тебя будет @Output() dateSelected = new EventEmitter <date> ();
А в родителе <app-child (dateSelected) = "onDateSelect($event)" >
Вангую , что во вью сделано ровно также. Т.е. о том что произошло в дочке знает только установленный в родителе обработчик данного события. Если захочешь, ровно также прокинешь событие для родителя родителя.
В общении между двумя дочками медиатором должен работать родительский компонент. Обе две наверх кидают извещения о том что в них что то произошло, и родитель им обеим спускает указания как себя вести.
Ну и наконец между двумя несвязанными компонентами данные перекидывает специально обученный сервис который ты пишешь отдельно. Ин фэкт, сервис это самое высокоуровневое, и всё общение между компонентами ты можешь написать через сервисы, но это чрезмерно усложнит работу и понимание проекта.
Подскажите, как менять цвет текста в компоненте <v-select> / <v-autocomplete> vue / vuetify? Имеется ввиду текст элементов выпадающего списка: хотел бы менять цвет текста динамически.
>>2169900 >родитель им обеим спускает указания как себя вест Но может произойти что тригер будут ловить оба дочерних компонента, хотя должен тоьько один?
и где то в кодах дочерних someParentEvent.subscribe( () =>{})
то конечно же, когда в родителе ты дернешь someEventEmitted$.next( {id:1, message:"Allo Yoba eto ti?"})
Ясен перец этот объект получат все кто на него подписан.
если ты напишешь иначе то и работать будет по другому.
Ты не путай событийную модель которую ты сам заложил, с кухней которая происходит в DOM дереве под капотом.
Там да, когда происходит событие в элементе со вложенностью (див внутри дива внутри дива внутри текстариа) там да ивент на текстарие пройдет сначала от виндов-до целевого элемента (погружение) потом от целевого погружения до виндов.
Но когда ты оперируешь тем, что дает фреймворк, тебя это не должно волновать
Почему мне опять коммит не засчитало. Ветка сделана сегодня, запушена тоже сегодня. Коммита нет (вообще нет, ветка залилась, а коммита нет). Пушил через комманду git push origin ветка. Что не так-то? У меня пиздец как жопа горит, все кто посмотрят мой код будут думать, что я тупо спиздил его и залил готовый, потому что график активности весь серы блять. Как правильно делать-то? Я уже и не мерджил ничего. Просто сделал ветку и запушил.
Сап, подскажите как сделать, есть компонент, допустим кнопка и в нее я передаю title разный в остальном они одинаковые как мне сделать чтобы не писать <buttonComp title='abc'/> <buttonComp title='abcd'/> <buttonComp title='abcawer'/> сделать массив тайлтлов и по нему мапить?
>>2170171 Если поддерживается такое на уровне темплейта то да. Напри в Ангуляре <div> <ng-template *ngFor="let item of items "> <yobaButton title='item.title' (onclick)=...> </ng-template > </div>
Есть ли смысл дальше прокачиваься в js, если меня воротит от фреймворков? Смешение html с css, перепердоленный синтаксис... В гробу я это видал. На ваниле есть проекты, кроме лендингов, или лучше сразу дропать и идти к байтоебам?
>>2170195 >На ваниле есть проекты, кроме лендингов Конечно есть, если ты можешь что-то сложное сделать на ванилле, в процессе написав свой фреймворк, а то и два. Только ты не можешь и не сможешь, иначе бы не составило никакой проблемы выучить синтаксис уже готового фреймворка.
Поясните за styled components. >css код >внутри js-строки Когда я увидел этот ужас в реальном проекте, растянутый на десятки-сотни строк, я подумал что какой-то очень нерадивый стажер в очень плохой компании очень сильно торопился и сделал такой злоебучий костыль, скопипастив css откуда-то и не сумев его прикрутить нормально. Но потом я с гораздо большим удивлением узнал, что это оказывается тенденция. У меня в связи с этим только один вопрос к пользователям этой библиотеки: Что с вами не так, дауны?
И просто референсить этот компонент, где компилятор всегда покажет, че и где подставить. Вот если бы прикрутили типизацию к импортированным css модулям, можно было бы говорить, что styled-components не нужны
>>2170231 А вот и типичный пидорок с кссом в жсе подкатил. С полным набором в виде функциональных стрелочных выражений, шаблонных строк и складыванием строк без интерполяций (впрочем для долбления в попу он внезапно вспоминает про шаблонные строки). >+ импортировать эту парашу не автоматом в начале файла, и импортированный styles никак не типизировать, кроме как вручную Что ты там собрался типизировать, наркоман? Тупорылый дебил, какой думаешь результат вызова свойства сраного ксс модуля? Я тебе открою страшную тайну - строка. >+ вручную писать селекторы .dark .small .hui в каком-нибудь .scss модуле ебучем, который не типизируется То ли дело вручную писать иф элсы как в твоём говне внизу. А со свидетеля ублажённого компилятора вообще проиграл. >И просто референсить этот компонент, где компилятор всегда покажет, че и где подставить. Какой компилятор в жс, наркоман? >Вот если бы прикрутили типизацию к импортированным css модулям, можно было бы говорить, что styled-components не нужны Надо к твоей мамаше прикрутить типизацию, тогда она может быть и нужна будет.
Каким образом лучше всего работать с функцией, вызываемой в mousemove ивенте?
У меня есть компонент, для которого нужно отслеживать положение курсора, но только в тот момент, когда курсор находится над определенным элементом на странице. И тут либо добавлять обработчик при маунте компонента, а потом каким-нибудь onEnter изменять состояние, чтобы коллбек маусмува работал только при наведении. Но получается, что обработчик мышки все равно будет работать 100% времени и просто миллиарды раз будет выполнять бессмысленную функцию, которая ничего не делает. Либо напротив, регестрировать листенер в onEnter, но тут проблема в том, что у меня есть разные условия, и есть ситуации, когда я не буду убирать листенеры сразу. И тут блядь проблема возникает в том, что я даже код уже написать такой не могу, потому что у меня повсюду используются useCallback, и я просто не могу никак такую функцию через function объявить и получается так, что у меня функция не всплывает. Короче пиздец блядь, я не хочу леты использовать. Основной вопрос, как лучше всего работать с mouseMove если он 99% времени нахуй не нужен и делает бессмысленную работу?
>>2170287 Там дело в том, что иногда маусаут должен быть отложен, пока пользователь не отожмет нажатие мыши, в этот момент и возникают все проблемы. Но посмотрю еще что там в статье есть и подойдет ли мне, спасибо
>>2170269 Продолжай вручную импортировать .css модули и вручную писать проперти styles.rememberEveryFuckingSelector, вместо того чтобы пользоваться нормальным интеллисенсом
>>2170300 Дебилоид, импортируется один файл, у scss есть внутренняя система импортов, которая внезапно даже лучше кривой системы модулей самого жса. И если ты не можешь запомнить и написать className="badge is-success", то ты медицински даун и никакой итнеллисенс тут не поможет.
>>2170304 У тебя в проекте 999999 роутов и 999999 модулей для каждого, удачи запомнить. Даже если ты супер умник, поздравляю - ты тратишь ресурсы мозга на рутину, которую может заменить сервер ТС в ide
>у scss есть внутренняя система импортов Кек, ни автоимпортов - нихуя. Сиди дрочи @use "sass:map"; @import "../../../styles/huipoimigde/_var"; в каждом модуле >твае лицо когда map.get($noIntellisenseMapHuiZnaetOtkuda, noIntellisenseProperty)
>>2170314 >У тебя в проекте 999999 роутов и 999999 модулей для каждого, удачи запомнить. Шиз, ты работаешь на 99999 модулями одновременно? Или все-таки над одним? А как тебе интеллисенс тебе дополняет, магически или ты все-таки должен первые буковки хотя бы запомнить? >Сиди дрочи @use "sass:map"; @import "../../../styles/huipoimigde/_var" Вот так дрочат только жсошизики, да и то совсем немощные и не могущие настроить рут импорт плагин для бабеля. В scss нормальная модульная система и рут импорты там по умолчанию.
Почему вообще у реакта в 2021 году нашей эры всё еще нет своего встроенного стейт менеджера? Что это вообще за хуйня, как они это объясняют? Они там всем фейсбуком ничего стандартизированного придумать не могут?
>>2170392 Вызов нужно отложить не по времени, а по действию пользователя. Т.е. когда пользователь отожмет левую кнопку мыши, тогда и можно убирать листенер. А отжать пользователь кнопку может когда угодно, в т.ч. и за пределами нужного компонента
>>2170419 Меня из-за того, что когда ничего не получаетсяа потом хуяндук и получается, и всё работает все равно уволили. Часто залипаешь слишком сильно. Вместо того, чтобы работать над задачей пытаешься пофиксить баг, который препятствует ее работе.