Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
>>2990754 Хуйня это детская, а не база. Реальный инженер руководствуется требованиями проекта при выборе инструмента, а не вот этой инфантильной клоунской терминологией инцел-чудаков.
>>2990813 Я, например, не могу найти гайд как сайт в интернет положить. Поэтому я установил убунту и пытаюсь изучить докер с nginx'ом. Может так станет понятно как сайт в интернет положить.
>>2990813 Берешь проект. Выбираешь сайт/проект/площадку где будешь выкгадывать свой проект. Гуглишь. Как на прощадкенейм выгрузить свой проет. ??? Google it.
Привет, шурики. От нехуй делать решил поинтересоваться что же такое open source и как его вообще ведать. Подскажите, есть вообще какие-то интересные проекты, где можно поделать что-то для фронтенд макаки типа меня? Как их искать? Где брать задачи, которые необходимо сделать? Ну и в целом расскажите за свой опыт участия в таком. Плюсы/минусы.
>>2990980 Опенсорс начинается когда тебе надо что-то сделать самому себе. Пока ты совсем ноль и тебе ничего не надо, разговор про опенсорс бессмысленный. 1. Потому что у тебя не будет мотивации тянуть задачу. 2. У тебя не будет знаний и навыков тянуть задачу. Когда ты сташь мидлом, сенькой вопрос станет не в поиске чем заняться, а где взять время на сайдпроект и стоит ли тебе тратить время на такое.
>>2990989 Я в целом просто чувствую, что застыл на месте и не развиваюсь больше. А развиваться нужно, чтобы апать сотыги и найти местечко получше текущего (галера типичная). И вот, я думал, что через опенсорс + решение там каких-то задачек я смогу прокачаться и изучить что-нибудь новенькое. Разве плохая идея?
>>2990996 Ну так делай пет и прокачивайся. У тебя разве никогда не было потебности в крутом контроле для формы, который можно сразу заюзать или плагины вскоде все устраивают? Если у тебя нет никаких потребностей самостоятельных, ты можешь просто поменять рабочее место, на нормальное. Рано тебе еще опенсорс пилить.
>>2990997 Ну чтобы сделать пет необходимо сначала понять что вообще сделать такого, потом прикинуть архитектуру, расписать всё по задачкам на какой-нибудь доске/тасктрекере и ебашить с нуля. А я думал, что благодаря различным опенсорс проектам можно залететь на какую-нибудь задачу, сделать её попутно изучая чужой код (тем самым узнавая какие-нибудь фишки), ну и собственно выкатить её, другие люди оценят мой код, возможно дадут какие-либо комменты и всё такое. Классно же, нет?
>>2991014 Я тебе писал не про пет. Это просто вариант. Были бы у тебя задачи, нашел бы и проект куда контрибутить. А так как у тебя нет задач, то вопрос куда не имеет смысла, потому что ты еще не дорос до того, чтобы быть конитрибьютером. Чтобы контрибутить в экосистему реакта, как пример, нужно иметь проблемы с этим самым реактом. Если у тебя нет проблем с реактом, то значит у тебя задачи еще слишком простые для контрибьютера. Что тут непонятного? Это так же как школьника взять на работу без оплаты. Сегодня, он работает, завтра у него живот болит, через неделю у него вообще интерес пропал.
>>2990808 > Реальный инженер руководствуется требованиями проекта при выборе инструмента Фигня. Так считали в далеких 1995.
1) Каждый новый проект начинается с увольнением всей команды или переобучения под новый стек (удачи снова стать джуном) 2) Ты находишь додиков которые знают по 20 языков 3) Тебе предлагают написать "сжиматор картинок на Node.js", но ты поднимаешь руку и ответственно заявляешь - "Господа, увольняйте меня, я как инженер считаю, что тут лучше взять С++, скорость будет на 20% выше"
Есть ли хоть какая-то надежда, что добавят нативную поддержку тайпскрипта в движки браузеров? Попросил в подарок рантайма со строгой типизацией, а не этот кастыль.
Вопрос со звёздочкой: если я создам кучу асинхронных функций, ждущих бесконечные промисы, а потом удалю на них ссылки, они почистятся или нет? Подозреваю, что нет, ведь их выполнение может когда-нибудь возобновиться, если выполнится промис.
>>2991196 Ну обычная утечка памяти и чо? В жс к утечкам не сильно строго относятся так как твои промисы будут жить до релоада страницы. Например ивент листенеры это тоже утечка, если не отписываешься. За А на ноду как бекенд всем насрать, кроме кучки отщепенцев.
Желтый сайт набирает каждый месяц по 3 потока по 200 человек на курсы вебразработчиков. И это только желтый сайт, а есть еще параллельно 10 других курсов. И это все потенциальные вкатуны. Страшно...
>>2991041 >3) Тебе предлагают написать "сжиматор картинок на Node.js", но ты поднимаешь руку и ответственно заявляешь - "Господа, увольняйте меня, я как инженер считаю, что тут лучше взять С++, скорость будет на 20% выше" Лол.
>>2991207 > А на ноду как бекенд всем насрать, кроме кучки отщепенцев. Получается, в тинькофф отщепенцы, или в яндексе? Или в сбере, киви, мтс, леруа...? Как же всяких джава-скуфов и каких-нибудь дотнетчиков корёжит с того, что люди делают бекенды на альтернативных инструментах вместо привычных им. Это буквально "бекенды можно писать только на X и на Y просто потому что я так сказал".
>>2991312 Почему в решении задачи не отталкиваешься от требований а подогнул в сторону своего любимого node.js? то есть возьмешь язык к которому ты привык. Ясно.
"Реальный инженер руководствуется требованиями проекта при выборе инструмента"
Теперь ты понял как это работает? На чем привыкли, то и используют.
>>2991341 > "бекенды можно писать только на X и на Y просто потому что я так сказал"
Это как в доте. В обычном режиме играй на чём хочешь, но в ранкеде играй только самыми сильными героями чтобы достичь результата. Если ты не понимаешь таких очевидных вещей, то с тобой неочем разговаривать, и более того нет смысла работать с тобой.
>>2991375 В доте полно челов, которые тащат на оффлейн дарк виллоу или на керри-титане например, вплоть до самых высоких рангов. Есть топсоны всякие, которые просто на общих знаниях могут на любом герое на миде отыграть на максимум импакта.
>>2991375 Качественный сложный бекенд можно написать на большинстве популярных инструментов. В том числе на пхп, питоне, руби, ноде. Ты наверное считаешь, что "сильные герои для ранкеда" это джава, сишарп, го, ну и всё в целом. Плюсы и раст для узкий кейсов. Только от реальности это очень далеко. Так что можешь вот это самому себе сказать: >Если ты не понимаешь таких очевидных вещей, то с тобой неочем разговаривать, и более того нет смысла работать с тобой.
>>2991420 При чём тут нода? Дёргать анус шваброй — это писать бекенд на каком-нибудь хаскелле. Бекенд на ноде принципиально ничем не отличается от бекенда на других популярных инструментах.
>>2991531 С чисто технической точки зрения, нет никакого смысла писать бэк на ноде, а не джаве или сишарпе. Хотя бы потому, что жс интерпретируемый и не имеет рантайм типизации.
>>2991526 Что если против тебя 5 брейков? Типа играешь, а там тебя выносит МК на линии, потом по игре стоишь в ульте вайпера, в ульте зудвинк, просто стоишь и ниче не можешь сделать? В этой ситуации Мипо просто за 20 минут вынесет.
>>2991545 Чисто с коммерческой точки зрения нет смысла писать бэк на плюсах/расте/жаве/сярпе, если у вас нет экосистемы под это, хуйлоада, и у вас бэк-офис на 300 тёт срак, которым нужно слазить в пару внешних сервисов, типа эдо/дадата/фиас/кладр/егрюл-егрип и отобразить это в табличке, я это сделаю на питоне или го и это будет работать почти одинаково, но очередной Дэвид Бизли или Роб Пайк с харкачей мне будет втирать, что я не шарю.
>>2991545 >С чисто технической точки зрения, нет никакого смысла писать бэк на ноде, а не джаве или сишарпе. Скорость разработки выше, лучше developer experience.
>Хотя бы потому, что жс интерпретируемый и не имеет рантайм типизации. Выдуманные проблемы, редко влияющие на что-либо. Вот чем тебе тайпскрипта недостаточно? Апи ютуба вообще на питоне написан, а гитхаба на руби. ВК и Фейсбук на пхп. В плане типизации эти языки куда хуже тайпскрипта, но даже их оказалось достаточно.
>>2991554 Двачую, плюс хуйлоад легко анлоадится в небольшой микросервис, написанный на голанге или упаси б-же плюсах/расте/си. Или вообще в серверлесс.
>>2991556 Так погоди, это же костыли ебучие, мы разве не против костылей? Ебало представил свое когда без атакспида прыгаешь, тебя кайтят в бкб и потом ты с лицом лягушки идешь дальше фармить костыли, пока трон сносят.
>>2991557 >Скорость разработки выше, лучше developer experience Не выше и не лучше. Если ты не используешь тупоскрип, то земля пухом. А если используешь, то разницы никакой, где выводить типы - в шарпах или в ноде. >Выдуманные проблемы, редко влияющие на что-либо. Вот чем тебе тайпскрипта недостаточно? Апи ютуба вообще на питоне написан, а гитхаба на руби. ВК и Фейсбук на пхп. В плане типизации эти языки куда хуже тайпскрипта, но даже их оказалось достаточно. Тайпскрипт - это просто надстройка над жс, костыль, который надо отдельно настраивать, вот тебе небольшое, но уже неудобство. По перфомансу да, на большинстве проектов с 1.5 юзеров все равно, на чем писать, но тот же ютуб в узких местах наверняка в основном не на питоне написан, как и гитхаб не на руби. То, что какие-то куски на них, еще ни о чем не говорит. >>2991554 Для прототипирования реально достаточно чего-то простого, тут МЯУ. Или если разрабы дешевле на жс или питоне. Но скейлиться это поделие будет хуже, так что придется выбирать, переписывать потом или сразу делать с запасом на будущее. >>2991551 В том, что нет никакого буста скорости разработки тогда. Проще уж джаву взять.
Ну нетфликс вон на ноду перешел в том числе из-за скорости разработки - сервак на ноде в разы быстрее стартует, следовательно фичи можно добавлять и тестрировать намного быстрее. Разрабы довольны, кабаныч тоже, брат жив.
>>2991566 Чушь, не верю. Из-за такой мелочи, которая еще и наверняка вызвана кривыми руками разрабов, никто переходить на совершенно другой стек не будет, это слишком дорого.
>>2991563 Вот только по моему опыту прототипирование в 3 из 4 случаев дальше не переписывается, пока не подвалит ебейшая котлета от стекхолдеров, или новая команда с архикектором после смены сто, или смены дирехтора по ит, после которы к продукту появятся новые требования, либо наоборот захотят сыкономить и привести с одному стеку.
>>2991573 https://www.reddit.com/r/node/comments/i1d1a1/paypal_netflix_moved_to_node_from_java_do_they/ >I was on the team who migrated Netflix's midtier from Java to Node.js. So, to shortly answer your question, only a small fraction of Netflix's backend systems is served from Node.js. The majority of Netflix's systems still run on top of the JVM. >What does run Node.js at Netflix are the client systems. All the APIs and frontends you as a consumer of Netflix interact with go through the Node.js layer for the web and TV systems. That was running on Java and Struts but was migrated to Express and eventually Restify which Netflix now maintains. >Struts
Вот тут проблема. Вместо того, чтобы взять какой-нибудь неблокирующий нетти с той же моделью, что в ноде, вместо легасиговна, создающего по потоку на запрос, они выбрали куда более дорогостоящий вариант - переехали на ноду. Это как отрезать обе ноги, когда только одна отмерла, глупое решение. Хочется верить, что кроме стоимости железа были еще причины, но чет ничего убедительного не вижу.
>>2991563 >Не выше и не лучше. Если ты не используешь тупоскрип, то земля пухом. А если используешь, то разницы никакой, где выводить типы - в шарпах или в ноде. Очевидно, использую тайпскрипт, без него смысла мало. Так в нём в том числе удобство. Легко добавить типизацию без лишнего оверхеда. Я пробовал писать на дотнете и спринге, как-то не заметил, что там удобнее для разработчика кроме инструментов для работы с БД местами. В общем, на несте у меня получается писать бекенды очень быстро, при этом удобно, и качество кода получается отличное. Единственный реальный конкурент в этом плане это голанг, я считаю, но с его обработкой ошибок и системой типов иногда начинает гореть Тулуп.
>Тайпскрипт - это просто надстройка над жс, костыль, который надо отдельно настраивать, вот тебе небольшое, но уже неудобство Настроить tsconfig проще простого, в несте он просто из коробки уже есть и иницализированный нест проект сразу готов к разработке на тайпскрипте.
>По перфомансу да, на большинстве проектов с 1.5 юзеров все равно, на чем писать Да и с тысячами rps обычно вполне достаточно тс/ноды.
>тот же ютуб в узких местах наверняка в основном не на питоне написан, как и гитхаб не на руби. То, что какие-то куски на них, еще ни о чем не говорит. Очевидно, процессинг видео сделан на низкоуровневом языке типа плюсов. А для апи даже жутко медленного питона хватит. Даже для проекта уровня Ютуба.
>Для прототипирования реально достаточно чего-то простого, тут МЯУ. Или если разрабы дешевле на жс или питоне. Но скейлиться это поделие будет хуже, так что придется выбирать, переписывать потом или сразу делать с запасом на будущее. В 2024 с кубером, облаками и серверлесс проблема скейлинга по сути отсутствует.
>>2991583 >Легко добавить типизацию без лишнего оверхеда Во-первых, дефолтный tsc очень медленный, придется какой-то транспилятор использовать, опять пердолинг. Во-вторых, как раз-таки отсутствие типизации в рантайме предотвращает возможность некоторых оптимизаций, то есть создает оверхед. >Настроить tsconfig проще простого Как-то не заметил. Документация максимально упоротая. Но тут можно списать на скилл ишью. >Да и с тысячами rps обычно вполне достаточно тс/ноды. Да понятно, что можно на чем угодно нагрузку держать, вопрос в цене железа. >В 2024 с кубером, облаками и серверлесс проблема скейлинга по сути отсутствует. Твое ебало, когда прилетят счета за хостинг, даже представлять не хочется. Работал я уже как-то на кабаныча с довольно большим трафиком. Так он хостился сначала гибридно, на железе и в облаке из-за цен. А когда запахло жареным и понадобилось скейлиться дальше, он не то, что в серверлесс и куберы не полез, так вообще в другое облако подешевле уехал, где продолжил хоститься на обычных инстансах. Кубер - это еще один сложный слой абстракции, а любая абстракция стоит денег, приносит головную боль и не для всех проблем подходит и нужна. Серверлесс - вообще ебаная шиза для любого проекта сложнее хеллоу ворлд с кучей юзеров, просто очередной хайптрейн.
WeekSet и WeekMap в JavaScript являются частью стандарта ECMAScript, начиная с версии 6. Они представляют собой специальные коллекции, которые могут быть полезны в определенных сценариях.
WeekSet - это коллекция уникальных значений, которая хранит только слабые ссылки на объекты. Это означает, что если на объект нет других ссылок, он будет удален из WeekSet автоматически сборщиком мусора. Это может быть полезно, когда вам нужно хранить набор объектов, но не хотите, чтобы они задерживались в памяти, если на них больше нет ссылок.
WeekMap - это коллекция, которая хранит пары ключ-значение, где ключи также являются слабыми ссылками на объекты. Таким образом, если на объект-ключ больше нет ссылок, он будет автоматически удален из WeekMap. Это может быть полезно, когда вам нужно связать данные с объектами, но не хотите удерживать их в памяти.
Использование WeekSet и WeekMap может помочь уменьшить утечки памяти и повысить производительность вашего приложения, особенно если у вас есть большое количество временных объектов или объектов, которые могут быть удалены из памяти после использования.
В React Router теперь большая часть управления стейтом происходит в action и loader. Поэтому React Context там больше использовать нельзя, поскольку хуки можно использовать только внутри компонента. React Router советует использовать React Query https://reactrouter.com/en/main/guides/data-libs Насколько он хорош и стоит ли его использовать в продакшене? Заменяет ли он Redux, который давно заменил, но не заменил Context? Правильно ли я понимаю, что сформировался новый стак: React Router + TanStack Query? При этом надо понимать, что у TanStack есть свой роутер. Но, вероятно, он не настолько популярен, потому что там нет предзагрузки данных. Или стоит посмотреть какой-то другой менеджер состояний для использования вместе с React Router? Алсо, ответьте на опрос, кому не лень. https://strawpoll.com/PbZqR2jGeyN
>>2991865 Я тупанул. >Поэтому React Context там больше использовать нельзя, поскольку хуки можно использовать только внутри компонента. Можно просто использовать диспатч в любой функции. Поэтому необязательно заменять Context на TanStack Query.
Поясните за next-auth Вот я аутентификацию делаю, возвращаю объект типа User с полем id А потом смотрю на сессию, тайпскрипт говорит там должно быть поле id, а его блять нет. Логин и емэйл есть, а единственного не опционального id нет.
>>2992011 Ааа, я про auth всё искал. Но это блять странно что нужно дополнительно эту хуйню писать. Ладно, похуй, по логину тоже норм искать. Могли бы конечно и пофиксить свои типы.
>>2991722 Я прочитал MDN и я все понял: Set это Array для уникальных значений. Там has работает быстрее чем includes. Если тебе надо его сортировать, соси и используй обычный массив. Работает он как обычный джаваскриптовый объект/хеш тейбл. Garbage collectable это базворд не имеющий никакого отношения к менеджменту памяти. Есть вот в жс примитивы а есть GCble. Примитивы копируются, GCble передаются по ссылке. Когда ты складываешь в Set строку, она копируется, в weakset вырезана эта фича, так что weakset работает быстрее но поддерживает только GCble элементы.
Объясните почему во всех сборщиках до сих пор не существует стандарта на удаление css из js, когда пишешь их внутри `` Template literals? Styled-components же многие используют. В cra из коробки этого не было. Он сделан на вебпаке, я не знаю как сложно подключить там этот плагин и есть ли он вообще? В vite вроде нет, в esbuild нет. Все просто херачат css в js?
>>2990749 (OP) Суп, аноунсы! Сам по бэку угараю, посему цсс+джэс знаю хуёво. Но вот захотелось красоты навести в портфолио. Нашел отдельную библу htmx с бесконечной прокруткой, подключил и забыл, всё чётко работает. А есть такая же (htmx) или на джиесе библа, что бы вот я начал скроллить вниз - менюшка уехала естественным способом наверх, отрутил я колесом 100500 киллометров бесконечного скролла и тут решил вернуться наверх и как только я дёрнул колёсико вверх, менюшка тут же выехала. Я просто даже не знаю, как сформулировать запрос на мою хотелку в гуголе. Памагити.
>>2991585 >Да понятно, что можно на чем угодно нагрузку держать, вопрос в цене железа Что-то спринг не особо выделяется. На уровне фастифая идёт. А по расходам на оперативку вполне возможно будет даже значительно хуже.
>>2991936 >Блять, реально превратили реакт в говно. Нормально всё, просто пиши на нексте с его роутером, а для асинхронного стейта используй react-query, а контекст/зустанд/редакс и прочее не нужно, глобал стейт не нужен. >Закат реакта уже скоро? Нет.
>>2992692 Очень зависит от того, как этот бенчмарк составлялся. Я в каком-то треде уже видел один, там шиз взял дефолтный конфиг, где по потоку на реквест выделяется, и сделал вывод, что спринг тормознутый.
Но я тогда тоже могу добавить про "настройку фреймворка". Мы можем взять и вместо транспорта/роутера прокинуть в нест не дефолтные экспресс или фастифай, а hyperexpess, который уже не со спрингом конкурирует по перформансу, а с го и дотнетом. Можно ещё добавить новую elysia, которая сделана для bun по тому же принципу, что и hyperexpess. Ради справедливости добавил micronaut и quarkus. Но большинство проектов это всё равно спринг.
>>2992745 По обеим ссылкам есть разделение спринга и спринга-вебфлакс (с которым и надо по-хорошему сравнивать). На графиках - просто спринг, выбрать вебфлакс на сайте нельзя в принципе. Я считаю, правильнее сравнивать как раз реальные продовые конфигурации, то есть где все подкапотное выкручено на максимум при все том же апи. Таких бенчмарков я еще не видел.
>>2992758 Добавил в сравнение гиперэкспресс, и чет разница в трупуте в 3 раза пахнет наебаловом. Наверняка есть какая-то мелочь, которая делает сравнение некорректным, но сходу не вижу. Об этом говорит тот факт, что добавление в сравнение котлина (который тоже на жвм) с тем же нетти под капотом, что и в вебфлаксе, дает разницу в более чем 2 раза с вебфлаксом. Но в целом уже убедительнее выглядит, чем первый бенчмарк.
>>2992773 Нет наебалова, просто гиперэкспресс это прослойка в виде express-подобного апи, которая под капотом вызывает C++ сервер uWS, который кстати в качестве http сервера используется в том же bun
>>2992775 Ну так он не сильно далеко от комбинации котлина с нетти и каким-то hexagon фреймворком, то есть дело не в магии плюсов. Не поверю, что один только спринг снижает трупут более чем в два раза, ну не может там быть столько медленных абстракций.
>>2992816 До того, что бэк писать на ноде можно, так же, как и на чем угодно другом. "Лучше остальных языков/фреймворков" - очень размытое понятие. По сырой скорости в не до конца детализированных бенчмарках - гиперэкспресс точно лучше спринга. Насколько - сложно сказать, надо разбираться, где именно теряется скорость в бенчмарке.
Неужто нода это новый стандарт? Бэк на node+ts+%какой нить пиздатый фреймворк% даст пососать джаве со спрингом? Если брать десктоп то на electron приложения весят намного меньше чем на жабе, но что если говорить о бэке? Огласите бенчмарки.
В сотый раз о предзагрузке изображений. Надо загрузить картинку из JS и, когда она загрузится, вставить бэкграундом в див. Предложения? Желательно не создавать лишних хтмл элементов. И ещё чтобы этому способу не мешала web security, когда запускаешь страницу просто двойным щелчком.
>>2993005 В любом случае, сила ноды не в этом. А в том, что мы написали сервер-сайд хуйню сначала, а кабан потом говорит "похуй, давай тащи всю логику на клиент". В итоге просто взяли и перетащили, хотя от самопальных заменителей setImmediate и прочего до сих пор смешно.
>>2993005 РукоТулупм всегда что-то мешает. То у них язык тормозит, то рынок не такой, то приложение много весит, может проблема в самом рукожопе? Кто мастерски владеет инструментом, у того ничего не тормозит, решение мало весит и вообще работает как часы.
Ни джава ни нода не лучше. Лучше то, что ты знаешь лучше других. Если ты бог ноды - бери ноду Если ты бог джавы - бери джаву
>>2993177 Я, когда работу искал полгода назад, вообще не заметил популярности Реакта. Очень много Вью в РФ вакансиях. Так и нашёл работу на Вью в итоге.
>>2993356 >>2993358 >>2993361 Хули не нравится? Ксс в хтмл - лучший способ понять, как выглядит элемент, потому что не нужно сопоставлять хуй знает куда засунутый ксс с хуй знает где лежащим хтмл. Ксс - говно по своей сути, это лишь наименее воняющий способ его использовать.
>>2993376 И с чего ты взял, что переписав на обычный ксс (к слову, тейлвинд к нему очень близок, абстракций минимум), тебе вдруг станет легче? Точно так же будешь охуевать от полотен ксс, просто в другом месте. Так еще и создаешь возможность заюзать класс в нескольких местах сразу, из-за чего потом хуй зарефакторишь один компонент, не сломав другой. Переиспользование ксс - зло.
>>2993391 Кссодауну не понять, увы. Интересно даже взглянуть на нейминг ксс-классов в твоем проекте, наверняка там такое месиво, что нихуя не разобрать.
>>2993391 >Хули не нравится? Ксс в хтмл - лучший способ понять, как выглядит элемент, потому что не нужно сопоставлять хуй знает куда засунутый ксс с хуй знает где лежащим хтмл.
>>2993410 Спасибо, но я уже насмотрелся на говнонейминг кастомных классов приправленный каскадингом и переиспользованием в несвязанных местах. Наверняка и у тебя можно найти нечитаемое говно. На хеллоуворлде с 2.5 компонентов может и норм еще чистый ксс, но на чем-то побольше - нахуй-нахуй.
>>2993405 >Кссодауну не понять, увы. Интересно даже взглянуть на нейминг ксс-классов в твоем проекте, наверняка там такое месиво, что нихуя не разобрать.
>>2993428 Какие переносы? tw пишется в одну строчку class
Или ты из тех дураков которые берут tailwind но делают из него css-modules через apply и дробят на 100 классов? Нахуя тогда вообще берете tailwind если сами же соглашаетесь что он хуйня.
>>2993438 У тебя на примере никакого хтмл нет. Если тебе не нравится, что там становится слишком много инлайн стилей, то >берут tailwind но делают из него css-modules через apply и дробят на 100 классов Все еще лучше, даже на твоем примере видно, что если расставить переносы в тейлвинде, то будет читаемее ксс.
>>2993356 Обосрался Классы должны быть семантические. Типа class="password-field" или нечто вроде того. Всю эту бутстрэпоподобную ебалу надо выжигать огнём.
До сих пор помню как ~полгода назад всем тредом попускали тайлвиндговноедов, как говноед тряся руками сумел собрать ~10 сайтов, где используют тайлвинд. Как мы все знаем, исходя из говноедской логики, тайлвинд база в тырпрайзе. Потому что фронт гопоты и сайт наса сделан на тайлвинде, а они то ого-го тырпрайз! А потуги сегодняшнего говноеда какие-то вялые.
>>2993438 >Нахуя тогда вообще берете tailwind Можно использовать инлайновые стили где надо и не использовать где не надо. Получаешь лучшее от двух миров. И нет лишних ксс классов и нет вот этой срани из исключительно тайлвиндовых классов. Но вам не понять, тут джункуны с юношеским масимализмом собрались.
>>2993442 лучше прятать, чем отображать сотни классов в class = "z x c v b n"
У меня больше вопрос к тем кто понял что tailwind хуйня и начал прятать их говно-классы за apply и писать код вертикально. И в результате у них получаются те же css-модули, только код выглядит не так:
.dropdown { background-color:red; color:black; }
а как-то вот так: .dropdown { apply bg-red apply color-b } Чувакам видите ли лень писать длинные свойства, а про EMMET они и не слышали.
Чуваки забояться об экономии ресурсов, только в 2024 уже давно нет 3g интернета и всем похуй на ваши килобайты кода.
>>2993467 Вот видишь, даже запомнил, что тебя уже когда-то попустили, даже конкретные примеры привел. Ну и смысл стараться? Горелодупого кссошвайна только легаси исправит.
1) Люди взяли tailwind для inline-code но не используют inline-code...wtf 2) Люди одумались, поняли что это хуйня, решили писать как css-боере и добавили apply 3) css-боярин не может понять зачем использовать apply с сокращенными именами классов, если можно писать простые свойства и нажимать tab 4) tailwind-дебилушка не может придумать ничего больше кроме как стандартной отговорки про экономию 3кб в 2024 году.
>>2993514 Идиот, ты ж тейлвиндом не пользовался даже. Иди погугли что ли, какие проблемы он решает, может, перестанешь нести хуйню про какую-то экономию байтов. Щас бы писать ванильный ксс в 2024, лол.
>>2993545 Какую он проблему решает?)) - Сокращение результирующего css кода (что нахуй не вперлось в 2024, дауны радуются 1кб коду вместо 25кб, про кеш вы и не слышали) - Быстрота написания классов (а ты не пробовал нажимать tab c emmet tabmine)
Я писал на tailwind год и переписал не один проект с tailwind. благо сделать это не так сложно, есть много инструментов по миграции с этого говна.
>>2993579 >Я писал на tailwind год и переписал не один проект с tailwind. Пиздабол. Ты даже на примере выше не понял, как юзать апплай. И если бы ты действительно его использовал или хотя бы погуглил бы, то понимал бы, что он не только ускоряет написание классов, но и унифицирует ксс от имен до цветов, и убирает некоторые подводные камни ванильного ксс. А теперь можешь идти нахуй - писать свою неподдерживаемую лапшу, которую сам же не сможешь прочитать уже спустя неделю.
>>2993631 >ускоряет написание классов Как?) погугли что такое emmet + tabnine >и унифицирует ксс от имен до цветов Какая нахуй унификацией если вы создаёте свои имена классов поверх apply композиции? Сейчас темы есть в каждом сапоге. >и убирает некоторые подводные камни ванильного ксс. Какие нахуй? ничего он не убирает. >писать свою неподдерживаемую лапшу. Проиграл, tailwind признан всем миром - хуйней, кроме 1% додиков взявшую эту технологию в далеком 2022 и теперь едят говно, пьют мочу но не хотят признавать свои ошибки выбора стека.
>>2993689 Тайлвинд еще популяен у рубистов и ларавельщиков, потому что у них каша из жс компонентов и бекенд шаблонов на пыхе или руби, и надо везде одну стилизацию иметь.
>>2993695 Чтобы было понятно. У вас есть 1) страница - чисто шаблон рендерится на бекенде 2) страницы с жс фремворком, с компонетами, с роутингом 3) страница с нескольким вебкомпонентами (на вуе или реакте)
>>2993410 >>2993430 >Вот как это выглядит >class="product-container" Если брать css modules, то достаточно использовать класс container в компоненте product.
>>2993386 >Так еще и создаешь возможность заюзать класс в нескольких местах сразу, из-за чего потом хуй зарефакторишь один компонент, не сломав другой. Ксс модули давно решают эту проблему. Можно использовать класс .box в разных местах и он везде будет уникальным для каждого компонента.
>>2993730 И что мне мешает в шаблон вставить свои стили через ванильный цсс, как можно на питухоне? У меня был общий базовый шаблон на жинже, а в дочерние шаблоны можно вставлять вуе-скрипт для отрисовки динамики, в которые можно также вставлять цсс-стили, и никаких тайлвиндов и ебанашенских наборов классов на 100500 строк. На-ху-я?
>>2994113 Ничто тебе не мешает, но только стили у тебя глобальные, нет инкапсуляции как в компонентах. Если проект пара страничек, то разговору нет. Если у тебя большой проект, который разными макаками поддерживается, особенно при текучке в компании, то это проблема иметь глобальные стили. У тебя два варианта 1) scss c миксинами + котролировать, чтобы названия классов не совпадали (этот вариант опирается на допущение что макаки будут не совсем макаками) 2) utility first использовать
>>2994322 Чтоб ты понял. Если бы у тебя был полностью проект на жс фремверке, то у тебя бы была инкапсуляция стилей в компонентах, переиспользование компонентов, юай фреймворк какой-нибудь. Тут такого нет. Шаблоны ты можешь переиспотльзовать иногда, но инкапсуляции не будет. Тебе придется делать глобальные стили. Но ты не можешь копировать одни и те же стили в 100500 селекторов. Это будет неподдерживаемым гипердублированием кода. Плюс тебе надо же эти стили реюзать в компонентах, а там часто сохраняют инкапсуляцию. Поэтому стили приходится импортить в жс компоненты. Все это упирается что разработчик не совсем чушпан и будет соблюдать правила. а не хуярить как ему вздумается. Так проще взять utility first фреймворк и не ебать мозг архитектурой ксс.
>>2993985 Ты доку открывал? там половина новых хуков для некста. все комьюнити начало советовать next а если ты откроешь современный UIkit то в инструкции не увидишь ни слова про react, на первых графах next.js
Вот поясните мне, фронтендеры, на... зачем тащить сраные фреймворки со сраных CDN, когда их можно сервить вместе с фронтом? Как это эксплуатировать в закрытом контуре?
Есть кто хорошо разбирается в js и может обойти ограничение на сайте aviso.bz?
Вот есть кнопка "Приступить к выполнению", одновременно можно открывать несколько вкладок, но есть раздражающее ограничение, каждый раз приходится ждать 5сек, чтобы сработала кнопка следующего задания, не получается сразу открыть много вкладок, приходится ждать.
>>2993980 У вуе есть только одна проблема - там практически нет крупных продуктов. Разработка на вью - это работа на вшивой галере с немытыми пхпшниками (и это хорошо если самого не заставят эту пыху учить). Думаю ангуляр в этом плане будет интереснее.
>>2995098 Я видел нечто, во что вы, люди, просто не поверите. Много лет назад. Проект с вордпресс+вью. Я видел мерцающие во тьме тексты кода без какой-либо подсветки. Как форматирование кода отсутствует как явление. Где компоненты и логика извращена в силу совместимости, а стандартные инструменты просто не работают. И все эти мгновения исчезнут во времени как слёзы под дождём.
>>2995125 Легаси это руби, например. На нём новые проекты редко делают. Тут диванные кукаретики любят байтить на нодосрач, серьезной дискуссии можешь не ждать.
Учу джаваскрипт по урокам на https://learn.javascript.ru/ Но он устроен чисто как какой-то справочник, я так сказать постепенно прохожу по порядку темы и все понимаю, но там начнется когда-нибудь что-то, что будет похоже на настоящую работу, какие-нибудь задачи, похожие на то, что в реальной разработке бывает?
>>2990749 (OP) Работаю бэкендером. Что вы там делаете на фронте? Вы же нихера не делаете. Заполнил поле данными с бэка, отправил поле при нажатии на кнопку. Вам самим не мерзко? Может работать уже начнете? Раз нихуя не делаете совмещайте с девопс, те тоже нихуя не делают.
>>2995068 Пока только 4 дня зареган, если не напрягаться, а между делом только ютуб открывать, то 40-50р спокойно может выходить. Единственное что время из-за этих 5 сек тратится, что раздражает. Убрав это ограничение сотенку можно делать вообще не парясь.
>>2995650 >У меня есть другой доход, но и тут 50-100р не прочь забирать. Ну, ты не инвалид? Не дурак? Без подъебов, я серьезно. Пошел бы на нормальную работу, там намного профитнее время проебывать.
В случае твоей площадке, как писал выше, ограничение на таймер не убрать. Можно прокликать все задачи, чтобы появилась кнопка и внутри кнопки выцепить ссылку на видео, открыть ее скриптом и получить твой "обход" 5 секунд - это все делает скрипт. При этом остается нюанс с подтверждением открытого видоса, так что тут нужно будет доп. скрипт для запуска видоса, а так же доп. проверка, что не нужна ли доп проверка (доп открытие видоса(там иногда два раза, если помнишь)), так же закрытие окна, если перебрасывает на тытрубу.
Подводя итоги. Скрипт сделать можно. Но пердолить больше чем просто убрать таймаут. Нужен будет юзерскрипт, который работает с площадкой, просмотром видео, ютюбом. При этом нужно учесть кучу нюансов.
Нахуя этим заниматься для копеек - не понятно. В очке и точке за день можно налутать косарик-два.
>>2995662 Ясно, спасибо за разъяснения, просто подумал может у них чисто через js 5 сек на нажатие стоит и можно изменить например на 1 секунду и подменить файл чтобы загружался вместо оригинального локально.
>Ну, ты не инвалид? Не дурак? Без подъебов, я серьезно. Пошел бы на нормальную работу, там намного профитнее время проебывать.
Я работаю на нормальной работе, при этом большинство времени тупо за ПК аутирую, а тут доп. копейки, вот пока это сообщение пишу, открыл 10 ссылок отсчёт времени идёт, сейчас допишу ещё десяток открою, потом ещё между делом. Если бы 5 сек ждать не нужно было бы, вообще лафа. А деньги лишними не бывают, особенно если это не в сильный напряг и сам не 300кк наносек.
В этом и проблема, что эту кнопку тыкаешь пока ссылка не откроется надоедает и отнимает основное время, если бы не это, можно быстро все ссылки открывать и пусть отчет времени идёт хоть в 100 вкладках одновременно, можно даже было бы пару мультиаккаунтов создать и десятку иметь в месяц дополнительную.
>>2995687 Попробовал, вставляю, все кнопки появляются, второй раз вставляю, открывается только одно видео. По сути как и вручную работает за 1 раз только 1 кнопка пока не пройдёт 5 сек.
Но лучшим вариантом наверное было бы только убрать ожидание 5 секунд для кнопок, чтобы следующая кнопка после открытия ссылки работала сразу или через 1 секунду, иначе если всё будет открываться сразу, то наверняка спалят такую скорость. Меня что надо нажимать их вручную никак не напрягает, как и запускать видосы вручную, только само ожидание.
>>2995687 >>2995728 Сорри, всё работает, это оказывается браузер блокировал остальные ссылки. Открывает все сразу. Это очень отлично, но всё же думается, что таким образом заблокируют.
>>2995678 Ещё раз огромная благодарность. Если бана не будет, скрипт прям то что нужно, что отнимало кучу времени, теперь не больше минуты занимает только для запуска видео.
>>2995860 Не знаю, я сайт этот с ютуба увидел и там чела заблочили с претензией, что быстро просматривает много видосов и не бот ли у него. А он просто после ограничения в 10 видосов за раз обновлял страницу и смотрел ещё. Они его разблочили, но судя по всему следят как-то за этим.
Пока тестирую и прям вообще крутой скрипт!
А по ТОПу, там наверное показатели за всё время, чисто ютуб у меня позавчера вышло 600 с лишним кликов, это при том что я их делал между делом, а не спецом сидел, если спецом сидеть, то наверное может быть куда больше без ботов, так же там кроме ютуба много чего.
Поэтому не исключаю что >кто-то с серьезным ебалом сидит и делать 100к задачек
Тем более если ютуб ещё можно автоматизировать разбираясь как, то задания каждое разное с разным описанием и заморочками, их никак не автоматизировать по сути.
Вкатунец на связи. Правильно ли делаю, что малёх выучил html, чуть css, и взялся клещами за js? В данный момент на обьектах, всё понятно. Испытывал проблемы с метками в циклах, но решилось одним гугл-сёрчем. Прохожу по learn.js
>>2990749 (OP) Думал ну все, щас реакта доку закончу и наканецта писать свою первую хуйню, а не тут-то было, сначала гит изучи, вебпак, верстать надо с препроцессорами, уф бля
Пообщался с одним кодером сентером с зп 10к бачей из этого вашего- скритезерства, двигается где-то в мировой нефтянки, я ебал архи-сложность таких проектов только на фронте одном, где ты знаешь как работает только 0.1% кода на проекте, а со всем проектом в жизни не разберьшься, с этого начинаются те самые пасты про вы молодые шутливые… я кароче лучше в депопсы анончики задеплоюсь в тиму бэкендов
Давненько новые версии ангуляра не пробовал. Чет за годы как сидел на 12-14 так и сижу.
Так понимаю модули можно выбросить и тупо стендалонам все ебашить? Или стендалоны только для мелких компонент?
Сделал новый проект. Так там вообще .module файлов нету. А я по привычки начал раскидывать папочки с .module, потом смотрю, а они все к базовому app.component в import залетели.
>>2996580 Можно выбросить. По умолчанию стандалон. Постепенно на функции пререходят. Гварды и резолверы теперь функции. Из vue 3 рефы спиздили и назвали сигналы. Много там чего
>>2996595 >Постепенно на функции пререходят. Гварды и резолверы теперь функции. Блять. Плохая тенденция. Сама по себе. Не надо функции в ангуляр тащить. Не надо. Не хочу на реакте в ангуляре писать.
>Можно выбросить. По умолчанию стандалон. Почитаю еще. Но как понял тема холиварная. Но технически, как понял, можно и чисто стендалоны. Круто так-то. Хотя, как представляю, ад импортов это не исправляет.
>Из vue 3 рефы спиздили и назвали сигналы. Много там чего Почитаю.
>>2996587 >>2993468 >нет лишних ксс классов Их и так нет, если css модули использовать.
>>2995539 Было 86%, стало 75. Через год будет ещё ниже. Да и твой аргумент в любом случае ничего не доказывает. Реакт тоже очень популярен, он от этого не перестаёт быть калом.
>>2996898 >сравнил максимальное и минимальное значение и думает, что это о чем-то говорит С такими "инженерами" на одном проекте страшно работать. Мало того, что в ксс насрут, так еще и будут говорить, что другие виноваты.
>>2996926 >С такими "инженерами" на одном проекте страшно работать. Мало того, что в ксс насрут Согласен. Работать с тайлвиндошизом - себя не уважать. Сорт оф антисемита. Кем вообще надо быть, чтобы вместо прекрасных стилей использовать эту парашу?
>>2996898 > >нет лишних ксс классов > Их и так нет, если css модули использовать. Как нет-то. Если тебе надо контейнер с отступом, ты идёшь и пишешь класс .container как мудак вместо .mb-3.
А когда тебе надо такую >>2996932 портянку написать, значит тебе нужен новый класс. И пишешь его через apply или как обычно.
Я, кстати, сам дошёл до какого-то подобия tailwind'а, т.е. у меня есть классы типа "display-none", "preserve-3d", "wide" и т.д. Но, конечно, если нужны более тонкие настройки, делаю по-старинке.
>>2997211 Смысл тайлвинда чтобы не делать классы, а реюзать утилиты вместе с версткой через компоненты, а не отдельно стили, отдельно html. @apply для класса product-list-item это анти тайлвинд Основные кейсы для использования тайлвинда 1) когда кобан хочет быстро сляпать прототип, мвп, а дизайн закажут потом. Только надо обяснить кобанычу, что когда дизайн придет, верстку в основном придется с нуля делать. 2) когда на большом проекте разброд и шатание, заставить всех делать одинаково без объяснения тонкостей переиспользования классов. В противном случае чел нахуярит своих классов или использует классы которые к другой несвязанной сущности или подпроекту относятся, потом это тяжело в мержреквесте ревьвить. А с тайлвиндом он использует только существующие утилиты, которые ничего не поломают в других разделах проекта.
>>2997252 1) говенный подход в котором вы и бек весь заново переделаете 2) модули полностью решают эту проблему инкапсулаяции классов. Ты нихуя не понимаешь как надо использовать тайлвинд. А надо это делать вот так >>2997091
>>2997252 >когда кобан хочет быстро сляпать прототип, мвп, а дизайн закажут потом У меня на первой галере после двух случаях начали нахуй слать кабана с такими шарадами. Нету полного, цельного, готового дизайна - нет работы.
Помню я проект вел. Максимально никому не нужный, сам я еще совсем зеленый было. Там кабан решил верстку изменить за месяц до релиза. Как же я ахуел. Сам проект был сплошным говнокодом, вся логика в одном index.js файле, а верстка тесно связанная с пхп.
На другом проекте, уже посерьезнее, после мвп, кабан дизайн прислал и там по сути полная переработка взаимодействия страниц и их последовательности, а так же переработка страниц пользователей, товара, поиска/фильтров, даже Аллаха. Надо ли говорить, что и в первом и втором проекте, я/команда проеблась по срокам пиздец как.
>>2997371 >ы нихуя не понимаешь как надо использовать тайлвинд. Так там прямо противоречит доке тайвинда Неправильно product-list-item { @apply mb-3 text-black bg-white flex flex-1; } Правильно big-bottom { @apply mb-3; } >модули полностью решают эту проблему инкапсуляции классов. Чел, какая инкапсуляция в большом проекте. 1) Большой проект не может полностью на одном фреймворке быть. Там обычно каша из фреймровков, лангдингов на чистом хтмл, несколько версий реакта включяя древнии и тд. Это все должно иметь один и тот же дизайн. 2) На больших проектах постоянно приходят новые люди и им некому обяснять какие классы и где можно использовать, чтобы сохранить поддерживаемость и ничего не поломать. 3) Создание новых классов с копированием стилей из других, создает невозможность вносить правки относящиеся к всему проекту. 4) Использование существующих классов приводит к бесконтрольному внесению изменений. Один чел не может 100500 страниц проекта протестировать. Он даже не подозревает о их сущетвовании 5) Твои модули не являются серебрянной пулей. Ты их не сможешь использовать за пределами фреймворка. А вот переиспользовать миксины в глобальных классах можешь. 6) Таким образом у тебя на большом проекте две опции: 7) Запретить переиспользование классов, переиспользовать миксины 8) Использовать классы-утилиты типа тайлвинда 9) .product-list-item { @apply mb-3 text-black bg-white flex flex-1; } Это вобщем одно и тоже с испольованием миксинов. В тайлвинде против этого потому что ты будешь копировать верстку продукта, но вынужден будешь создавать классы с новыми именами product-list-item product-list-item-new product-list-item-vasya product-list-item-petya чтобы они не пересекались 10) В тайлвинде правильно big-bottom { @apply mb-3; }
>>2997431 >Неправильно >Правильно Полное безумие. Они еще наверно специально сделали неправильный синтаксис, чтобы его никто не использовал. >1) Большой проект не может полностью на одном фреймворке быть Предлагаешь просто измазаться всем в говне. Потому что ТЫ СКОЗАЛ в больших надо так делать. > постоянно приходят новые люди и им некому обяснять какие классы Опять надо всем измазаться в говне просто так. >3) Создание новых классов с копированием стилей из других, создает невозможность вносить правки относящиеся к всему проекту. Ты не сможешь скопировать стили из одного модуля в другой. У тебя четкое различие где общие стили и где частные. Так что если стили общие, то если ты их редактируешь они очевидно для всего проекта. >Один чел не может 100500 страниц проекта протестировать Ну если это проект уровня яндекса, то всё они могут. >Он даже не подозревает о их сущетвовании Опять измазался в говне. >за пределами фреймворка Опять измазался в говне. >п. 9-10 Полное безумие.
>>2997431 https://daisyui.com/ Вот UI kit на тайлвинде с нормальными классами. Если он тебе не подходит, просто хуячишь свой такой же кастомный и всё ты счастлив, можешь делать всё что угодно.
Как расширение в браузере может/не может спиздить пароли со всех страниц на всех сайтах? У него же есть доступ к дому, значит когда ты вводишь пароль, его можно спиздить.
>>2997598 А мне твои картинки зачем? Я сам тайлвинд не юзаю практически. Но перепиливать не стал бы уже написаное. Твое cool-table только на петпроекте выживет. На реальном проете у тебя будет куча классов на одном диве, только неизвесного назначения и от 10 авторов.
>>2997548 Этот UI говнище полное. Темы надо буквально пердолить, чтобы выглядели нормально. Сам по себе дизайн говнище, слайдер тупо не работает как надо. Куча проблем, но да, он облегчает работу с тайлвиндом.
>>2997571 Разрешения расширений строго регулируются. Ты когда ставишь его себе в браузер, тебе хром пишет, что оно может делать, а что не может. Просто не ставь всемогущие расширения. Или проверяй сорцы, это тоже можно сделать.
>>2997607 > Я сам тайлвинд не юзаю практически. Это вот этот шиз >>2997431 высрал такую простыню про тайлвинд, и не юзает тайлвинд. Нахуя вообще использовать имиджборды для каких-то серьезных дискуссий, если ты можешь все это время общаться с шизом который прям щас в дурке лежит, даже не в ремиссии.
>>2997704 Так я попробовал первый попавшийся ВПН, там написано имеет доступ данным на всех сайтах. Я так понимаю это и есть доступ к ДОМ. И сколько таких каждый из нас уже наставил?
>>2997705 Дебс, там не только про тайлвинд. Почему вы можете только высрать пост, с названием технологии и восклицанием, что используй это и все будет круто? Вот трындите про модули, а спашиваешь вас, как с говном эти модули использовать? Вы нихуя не может сказать, кроме как работай на кульных проектах и будет все кульно. Да не использую тайлвинд, потому что трудно кастомизировать под произвольный дизайн. Да у него есть преимущества как у css утилит для больших проектов. Уж лучше тайлвинд чем БЕМ.
>>2997782 Я уж думал попробовать ботов сделать и туда заслать. Чтобы прям все задачки выполняли. Но раз банят, нахуй надо. А так если даже "медленных" сделать, все равно запалить могут и похерить часы пердолинга.
>>2997782 Может кст из-за того, что сразу много вкладок открывалось и по сути ты бил лишь активен на одной. Т.е. фокус таба в браузере. Т.е. они по этой хуйне могли спалить.
>>2997782 Да ничего, заблочили и хер с ним, просто интересно как система палит. Жаль просто кнопку не обойти, тогда бы палево было бы вряд ли хоть и запарнее
Тайвинд - кал это и так понятно. Лучше назовите имя лучшей архитектуры. Попробовал FSD, но это походу для сеньёров. Очень запутанно.Виджеты каките то фичи. Кто так называет папки???
>>2997607 >На реальном проете у тебя будет куча классов на одном диве, только неизвесного назначения и от 10 авторов. Это шиза какая-то. Я лет 7 из своего стажа был фуллстеком, и на моих сайтах такого пиздеца с классами не было нигде. Это же невозможно поддерживать, там одни классы переписывают значения других а поведение зависит от их порядка. Мало того, эти классы потом ещё копипастятся целиком в другое место, а потом при изменениях приходится во всех местах менять. Эти портянки классов вообще не имеют никакого смысла, потому что если просто весь css засунуть в style, это и то будет проще читать и менять.
>>2997431 >1) Большой проект не может полностью на одном фреймворке быть. Там обычно каша из фреймровков, лангдингов на чистом хтмл, несколько версий реакта включяя древнии и тд. Это все должно иметь один и тот же дизайн. Видимо, ты работал только на второсортных "больших проектах" без адекватного менеджмента, без адекватного лида. >2) На больших проектах постоянно приходят новые люди и им некому обяснять какие классы и где можно использовать, чтобы сохранить поддерживаемость и ничего не поломать. А объяснять и не нужно, потому что каждый компонент хранится в собственной отдельной директории, в которой есть css модуль конкретно этого компонента. >3) Создание новых классов с копированием стилей из других, создает невозможность вносить правки относящиеся к всему проекту. Не должно быть правок, относящихся ко всему проекту. Правки должны быть только относящиеся к конкретному компоненту. >5) Твои модули не являются серебрянной пулей. Ты их не сможешь использовать за пределами фреймворка. А вот переиспользовать миксины в глобальных классах можешь. Глобальные стили не нужны, за редким исключением типа стилей body или шрифтов.
У тайлвинда есть одно преимущество. Когда пишешь что то вроде w-full или px-5 все в команде сразу понимают что это значит. А когда >card-video-punch__wrapper-35 или типо того, то не понятно что это значит. Придётся тратить время на изучение класса. А если их 100 или 1000? То есть каждый класс добавляет абстракцию и сложность проекта усложняется в разы на пустом месте.
>>2998436 >>card-video-punch__wrapper-35 Это БЭМ, так никто уже давно не пишет, если человек адекватный. На css модулях будет лаконичный описательный класс. >или типо того, то не понятно что это значит. Придётся тратить время на изучение класса. Ctrl + клик по классу сложно сделать? >А если их 100 или 1000? Зачем, если с css модулями можно делать всё через один класс?
>>2998442 добавлю - тайлвинд не подсвечивает синтаксис, у тебя 40 классов в 5 строках, на эту хуйню просто больно смотреть
модулях ты открываешь 2 вкладки, компонент и стили, стили подсвечиваются, отформатированы линтом понятно где позиционирование, блочная модель, типография и т.д.
>>2998436 >Придётся тратить время на изучение класса. Ну что за глупости? Какое изучение? Есть задача исправить компоненту - идешь в компоненту и исправляешь там. Все. Никакого изучения. Или так сложно найти стили в папке с одним файлом, найти там класс?
Офк, если у тебя весь сайт, все стили в одном файле, классы которые пидорасят и заменяют/дополняют другие классы - проект говно. А говно изучать не нужно, нужно ливать с проекта или с галеры, либо выделять время чтобы переписать все это говно.
>А если их 100 или 1000? 100-1000 чего? Вот даже не пойму о чем ты. Если у тебя весь проект загажен говном уровня "some some--hui" и так весь проект - нехуй там изучать, чисто физически такую лапшу не разобрать.
На кссе нужно писать нормально. И не нужны будут никакие говнотайвиды.
>Когда пишешь что то вроде w-full или px-5 все в команде сразу понимают что это значит. >жпг Бля, ахуеть как понятно.
Есть возможность получить значения переменных из jsкода сайта?
Вот загрузился сайт, какой-то исполняемый код чего-то мутит, потом отправляет данные обратно на сайт, данные через нетворк глянуть можно. А можно как-то получить все переменные с их значениями во время работы скрипта?
Расскажите вкратце что можно делать с bootstrap. Никогда его не использовал, знаю основы основ html и css. Пролистал гугл ответы, мне это ничего не дало. Видел у одного чела, что он копипастил код с bootstrap и так делал странички. Так можно? Мне всего лишь нужно добавить строку с скриптами в свою html страничку и потом копипастить код разных блоков?
>>2998683 Можно не копипастить, некоторым челам нравится побуквенно код вводить с клавиатуры. Они специально шумящие клавиатуры покупают и тщательно выдалбливают каждую букву...
>>2998683 Оооооооооой бляяяяя, понеслась. Not this shit again. Бутстрап был популярен когда я только вкатывался, году этак в 2012-м. Тогда его выкатил твиттор, как набор готовых элементов. Не надо было верстать, ты двумя строчками создавал относительно качественные интерфейсы. И это сильно облегчало вёрстку. Минусами бутстрапа был его уёбищный избитый дизайн, похожий на конскую залупу. Его приходилось ПЕРЕвёрстывать, при том что бутстрап весит килобайт 200, ты ещё добавлял килобайт 50 сверху, чтобы ПЕРЕверстать обосранный бутстраповский дизайн. Не вижу смысла в 2024-м году использовать эту говнину. Есть более бодрые дизайны, те же вебкомпоненты на lit, те же ui kit'ы под рякт, тот же bit.dev. Бутстрап видела каждая подзаборная собака сто пицот миллионов раз. Он подходит только совсем рукожопам, кто ни разу в жизни хэтээмель не трогал.
>>2998794 Кстати если представить операцию splice как склейку пленки, можно легко запоминть что какой аргумент делает. 1 аргумент - место где надо порезать пленку. 2 аргумент - сколько отрезать пленки 3+ аргументы - пленка для вставки на это место.
>>2998986 Ты со слайсом не путаешь? Самый частый кусок со сплайсом const index = dildos.findIndex(d => id.id = dildo.id) if (index > -1) { dildos.splice(index, 1, dildo) }
Есть у кого-нибудь годный вебинар, статья всеобъемлющая, видос, как использовать preload, prefetch и т. д. ? Какие есть бест практисис кейсы, и в каких ситуациях можно это использовать?
Где искать хорошие вебинары, группы, школы, сообщества? Может быть у кого-то есть система поиска вебинаров? Не очень хороший пример, но допустим мне нужно сделать график на threejs с анимациями, но хорошо его оптимизировать. Основы threejs я знаю, но скорее всего в графике найдутся баги и он будет не оптимизирован. Чтобы полностью не учить threejs, оптимизации webgl, мне нужно знать только то, что нужно применить к графику. В каком-нибудь вебинаре, хоть платном, хоть каком, это наверняка досконально уже разжевано. Как мне быстро найти такой вебинар, чтобы не потратить время на поиск больше, чем на изучение всей оптимизации webgl?
>>3000746 Так и сделаю. Лучше уж иметь отсортированные простыни из классов в хтмл, чем прыгать туда-сюда по файлам и пытаться держать в голове контекст примененных где-то снаружи стилей.
>>3000813 zalupa.style.tsx передает тебе привет. Ты ж не собираешься все стайлд компоненты в один файл пихать? Хотя даже если собираешься, читать васянщину из ни о чем не говорящих имен компонентов все равно тяжело.
Нам конец или я чего-то не понимаю? Почему инструменты пишут на чем угодно, но не на Javascript? Потому что он медленный? Что еще в вебе сделано не на Javascript? На каком языке будем писать веб? Javascript можно вообще как-то реанимировать с новой спецификацией?
>>3001112 >раздутые десктопные приложения на электроне >раздутые мобильные приложения на реакте Уже одних этих вещей достаточно, чтобы заметить проблему. Жс лезет туда, где есть инструменты лучше. Да, это выгодно кабану, ведь не надо нанимать специалистов на других стеках, но страдают в итоге конечные пользователи.
>>3001125 Какому кабану? Мне вот выгодно что вскод на жс, потому что я пишу на жс и для себя пишу плагин на жс. Мне непонятна твоя концепция - лезет. Вскод тебе в штаны залез? Нет. Бери любой не "раздутый" вариант. Каждый пишет на чем может. Какая-то глупая гипотеза, что если бы небыло какой-то технологии, то было бы больше возможностей.
>>3001154 >Бери любой не "раздутый" вариант Так в том и прикол, что скорость разработки превращается в конкурентное преимущество, и приходим к тому, что так или иначе приходится пользоваться раздутыми приложениями. Иногда просто нет альтернатив. По работе, например, может требоваться использование зума и майкрософт тимса, оба - говно, но пользоваться приходится. Ситуация с жс во всех сферах - как с играми, когда в угоду скорости разработки и народным массам любителей говна делают конвеерные второсортные продукты. К счастью, выражена меньше, но все еще есть.
>>3001164 Пиздец. Сколько уже можно на практике изучать, что отсутствие конкуренции не приводит к тому что существующее становится лучше, а разнообразия больше. Не было бы жс или аналога - не было бы нихуя. Куча народу просто бы не стали писать софт или колупали с++ со скоростью черепахи.
>>3001188 Дефайн "лучше". В бизнесе лучше - это быстрее, потому что тогда можно быстрее начать прогрев гоев, которые отчасти уже никуда не денутся, потому что им будет лень изучать альтернативы. Кабан с электроном просто быстрее захватит рынок, и кабан с плюсами закроется, хотя у последнего продукт получился бы лучше (с точки зрения юзер экспириенса) при прочих равных. Мне вот похуй на 99% фичей в используемых продуктах, поэтому то, что кабан с электроном сможет их быстрее выкатывать - совершенно мимо. Рынок работает по принципу good enough, поэтому да, отсутствие хуевых с точки зрения качества альтернатив сделало бы продукты лучше.
Всегда ненавидел ксс, но как-то забыл, за что. И вот мне попались курсы по нему, и теперь все становится на свои места. Только отбитая наглухо свинособака могла дать такие неочевидные имена пропертям и размазать ответственность за стили элемента между родительскими элементами и самим элементом. https://www.youtube.com/watch?v=phWxA89Dy94 https://www.youtube.com/watch?v=MxEtxo_AaZ4
Что бы такого использовать, чтобы быстро делать простые бэкофисные админ страницы для своего бэкенда? Последний раз занимался этим года три назад, использовал JS+JQuery+Bootstrap, хочется конечно выкинуть две последние технологии нахуй.
1.5 года не трогал этот вонючий вротенд, и сегодня я узнал про signals из видео с восторженным ебанатом - посомтрите как можно ойей и это ж в обход всей вертикальной текучки кала! фантастика! А будет ли это во вью? Хочу это в свою попку!
Вы там вообще ебанулись пидорахи? Просто в ахуе с этих дегенератов, меня как и всех годами заставляли писать на реакте, я больше 3д парашу делал и бекенд, но иногда приходилось и жоска в попачку, и блять я попробовал когда-то вью, еще лет 5 назад, а там вьюекс вместо ридакса ебучего и биндинга стейта тьуда-сюда, пиздец как легко и приятно было, но писать приходилось на реактопараше, всегда охуевал с этих костылей. В одном проекте мы делали чето вроде автокада, там от нажатия кнопки шло событие в ридакс (потом заменен на эффектор), мб еще чето, и рхжс, а учитывая, что там нужно было по ивентам рисовать геометрии и делать кучу математики, а дебаг редукс параши когда у тебя холст еще 60 фпс помогает крутить, это такое ачко что ебать мертвую мать, и там размеры и сложность в целом просто пиздец были, возненавидел реакт и его стейт менеджмент асинхронных событий после этого, а теперь эти уроды говорят что просто можно было вот так? сука пидорасы конченые, их убить надо нахуй, и соевых енжоеров сигнала, и абрамова, и вообще всех нахуй, тупые дегенераты 10 лет не могут вьюекс сделать в реакте, ублюдки сраные сука, пидорасы ебучие, сосите хуй
>>3003475 С подключением. Очевидные вещи типа ивент буса и паттерна обсервер, что на бэке пишутся один раз и на века, фронтомакаки переизобретают каждый раз заново, и каждый раз обсираются. Я не знаю, почему в авторы и юзеры юай фреймворков раз за разом попадают альтернативно-одаренные. Это тайна фронтенд-мира.
>>3003475 react это эксперимент дена абрамова над обезьянами, вк его не взяли, парень завидовал маску - сделаю свой нейралинк: пидорахам отменяют интерфейс кормушки, говорят - вот стор, пакет, импортируй и используй его значения, а оно - ыыы ууу а юзВпопку(будет)? хачу в попку через юзпопку, не хочу просто брать попку, хочу впопу через юз
>>3003486 Доеб в том что админка следует какой-то бизнес логике, а не тупо вот тебе таблицы, добавляй и удаляй из них строки. Кому нах это всралось. Тетя срака такое не поймет, а макака может это и в консоли сделать.
>>3003485 да шли бы пидорахи дальше своим альтернативным путем, но тут внезапно они стают на чуть более нормальный, но сука, у них под носом простой концепт стора вьюекса уже 10 лет лежит, сука животные блять сделайте все нормально, просто пиздец
отдельный пиздец хочу добавить это попытка как-то особо обработать асинхронные ивенты через сага-парашу с асинхронным yield генераторами, это отдельный вид пиздеца, за него нужно просто ломать ебальники, это просто пиздец, конченые выблядки
>>3003489 никогда не писал на ангуляре и еще я принципиальный противник декораторов в языках, в первую очередь чисто эстетически, ну и травма детства из джавы, так что ну его нахуй, я все равно не вротендер
>>3003492 Так напиши бизнес логику, в чем проблема?
Нест и админжс выполняют основную работу, от тебя именно и описание логики остается.
Таблицы же нужны для, внезапно, отображения данных, чтобы не лезть в базу или пхпмайадмин. Если не нужны таблицы на фронте, ну бля, не юзай админжс, внезапно.
>>3003512 >>3003516 В свялте кстати норм сделали, просто переменную меняешь, и зависимости в разметке апдейтятся. Видимо, проблема всяких ряктов в том, что они пытаются в рантайме то же самое делать, когда надо просто нагенерить связующего кода при конпеляции.
>>3003525 >>3003512 Вообще хз с чего вы бугуртите, но я ору с синтаксиса вашей параши.
Это тут типо создается реактивная переменная, байндится к инпуту/заменяется инпутом, а потом при использовании мы имеем сам инпут и его структуру(типо могу плейсходер бахнуть через "filter")?
>>3003499 >противник декораторов в языках >в первую очередь чисто эстетически Ты охренел? Как раз декораторы делают код эстетичнее. Посмотри код на nest js например.
>>3003962 ЧТО ЛУЧШЕ ЖОПАили ПАЛЕЦ конечно ЖОПА - она позволяет тебе срать любым говном, ты можешь высрать руку, а ПАЛЕЦ не позволяет тебе срать и дает тебе только свою самость - он палец
>>3004188 нет, у меня на проектах есть большой сетап под експрес, все нормально там, если реально нужно будет что-то серьезное и производительное, я просто на го или расте перепишу
>>3004301 Дело не в производительности. Над экспрессом нужно писать большую кучу велосипедов и костылей, в то время как в несте 95% из этого есть из коробки. Когда приходишь в проект, который написан на экспрессе, то он каждый раз представляет из себя совершенно новое нагромождение тех самых велосипедов и костылей, каждый раз структура проекта другая, а в несте всё всегда примерно одинаково. Это примерно как реакт и ангуляр, аналогичная ситуация.
>>3004332 Ну только разница в том, что садясь на экспресс ты сходу начинаешь писать работающий перформантный код, а садясь на нест ты неделю вкуриваешь доки и пытаешься понять, почему в консоли три этажа красного, попутно борясь с ебанутым синтаксисом, которого даже нет в языке. Заебись выбор.
>>3004342 >Ну только разница в том, что садясь на экспресс ты сходу начинаешь писать работающий перформантный код Нет, как раз садясь за экспресс ты неделю пытаешься разобраться в костылях и велосипедах, которые накрутили другие разработчики вокруг экспресса. Прямо как с реактом. А если приходишь на нест или ангуляр проект, то в нём практически сразу всё становится понятно. >а садясь на нест ты неделю вкуриваешь доки Зачем? Если ты уже работал с нестом, то не надо ничего вкуривать. Да и доки у него очень даже неплохие. >и пытаешься понять, почему в консоли три этажа красного Ты пришёл на проект и в нём даже не запускается npm run start:dev? Ты устроился в какую-то третьесортную помойку, сам виноват. >попутно борясь с ебанутым синтаксисом, которого даже нет в языке. Заебись выбор. В тайпскрипте есть декораторы. В джаваскрипте будут позже.
Думаю, что уперся в фронтенде (7 лет, 8 разных компаний - постоянно ебашил и был лучшим перформером в командах). Хочу закатиться в бекенд (ну или как минимум научиться необходимому минимуму, чтоб дальше можно было уже в стафф/лида, понимающего где что происходит более углубленно)
Посоветуйте наиболее свежий/модный гайд по бековским технологиям (желательно без воды) аля пг, нода/дено, нест/экспресс и это вот все
Пришел на рякт-проект и чет не пынямаю, че все ноют, что рякт сложный. Медленный - да, превращается в лапшу при обилии хуков - да. Но большую часть времени ты просто складываешь теги в теги и все магическим образом работает. Че тут трудного?
Как же это уныло - верстать по дизайну. Сидишь, дрочишь пиксели, чтобы все ровненько было. Даже джэйсоноукладкой заниматься интереснее. Как вы с этим коупите?
>>3004351 >>а садясь на нест ты неделю вкуриваешь доки >Зачем? Если ты уже работал с нестом, то не надо ничего вкуривать. Да и доки у него очень даже неплохие. делал себе две апишки, для петов. так и не почитал доку, все накидал по примеру из шаблона.
зачем вкуривать доку, если и так все предельно понятно, не понял.
>>3004422 Жсоны перекладывать тоже заебывает. Попадешь на проект с юай либой, где верстать ничего не надо, будешь дрочить жсоны - заебешься точно так же, только это еще более унылое занятие и прям квинтэссенция монотонности.
Сижу программирую. Вдруг как ударило: вижу, что я зачем-то написал "скуф". Думаю, ну всё, уже подсознание мне сообщает, кто я такой. Оказалось, писал "create" на русской раскладке.
>>3004757 Да и хх тоже не нужен. У меня вообще нигде в публичном доступе нет резюме, только в пдф, который я лично отправляю через форму на сайтах интересующих меня компаний.
Аноны, хочу сделать файловую систему. Заметочник аля обсидиан/нотион.
Прально понимаю, что нужна нода в качестве сервера - чтения файлов. И при сборке проекта, просто указывать, что при запуске фронта, так же запускать ноду?
Или вопрос выше решается фреймворком для сборки веба в аппу? И там можно файлы читать?
>>3005065 Я не просто буду. Я так и делаю. Видишь ли, юный поддаван, мир устроен немножко сложнее, чем это представляется твоему маленькому мягенькому мозгу.
>>3006023 Бля, я сегодня, кстати, на полном серьезе думал накатить говновилд.
Т.к. че-то меня не особо удовлетворила материал-юай, искал варианты. Прошерстил все что можно, одна хуйня. Ну и говноеда нужно знать в лицо. Линукс тоже для забавы накатывал, потом додиков в /b попускал.
Но, пожалуй, лучше буду сидеть и не извращаться. В случае чего накачу taiga-ui.
Ну а на 200 баксов чет проорал. Зашакалили еще главное, а то мало ли, спиздят злостные пираты.
>>3006667 >и че с линуксом не так? У меня половина системы полетела в первые пару часов. Проорал и поставил винду. После этого только через hyper трогал поделие индусов.
CSS стал прост как никогда и решил уйму задач для которых раньше нужны были костыли, не понимаю в чём проблема обходиться без бутстрапов и тейлвиндов. Если смущает размер файла так используй модульный подход, к одному компоненту свой CSS. Большинство интерфейсов можно сделать теперь даже без медиазапросов, или, во всяком случае, минимизировав их количество.
а как внутри тайлвинда переменные работают? вот есть там тема, черная-белая. там же инлайновые стили как-то подхватывают переменные? или все цвета тупо на память ебашутся?
че-то слабо себе представляю как там все организованно. без scss, всяких миксинов, екстендов и иклюдесов уже не представляю как стили писать.
>>3006832 Они инкапсулируют все костыли, которые нужны, чтобы СЫЫ не доставлял такой боли. Фасад, короче говоря. >>3006823 У тебя там минимум 4 компонента можно выделить, особо не увлекаясь.
>>3006897 Напиши в чем разница кроме результатирующего размера css файлов. Все это уже было в bootstrap.
Ну настаривать проще, если раньше вы настраивали scss и забывали на конфигурационный файл на пару лет, то теперь мы настаривает это в config.tailwind.js
чел, я открою тебе секрет, сейчас 2024 года и всем похуй будет твой css состоять из 100кб или из 5кб.
>>3006924 Ты ж долбоеб, которому уже сотню раз разжевали раньше, но все никак принять не можешь, что не прав, только и твердишь про 5кб.
На видео с таймкодом тебе доступным языком объясняют, в чем разница. Если ты правда хочешь понять, то иди и посмотри, там всего минута. Снова повторяться я не буду.
>>3006924 Хотя ладно, на видосе все ж чел троллит слегка, так что распишу. Вся разница в том, насколько тулы opinionated. Бутстрап ставит тебя в жесткие рамки, предоставляя готовые компоненты без возможности нормально кастомизировать. Тейлвинд предоставляет низкоуровневые строительные блоки для компонентов, компоненты ты делаешь сам под свой дизайн. Так понятно?
>>3007015 СЫЫ - говно, которое нуждается хотя бы в нормальных названиях. Эти названия завозит тейлвинд. Есть и другие проблемы СЫЫ, которые он решает, но об этом позже, сейчас мне надо ручки архитектить в микропенисе.
>>3007047 >СЫЫ - говно, которое нуждается хотя бы в нормальных названиях. Есть пример непонятного названия свойства в CSS? Ну то есть такого которое бы не описывало итоговый результат.
>>3007352 Например, justify-content. Если не гуглить и спросить левого человека, который не работал в сфере типографии или подобной хуйни, то он вообще не поймет, о чем речь. Оправдать контент? Че нахуй? Гораздо понятнее было бы использовать distribute-content.
Посоны, в каждой вакансии обязательно требуются навыки тестирования. Причём технологии тестирования всюду разные. Как вкатуну этому самому тестированию научится? С чего вообще начать? Что база?
>div и другие инлайн элементы получают автоматически доп пиксели вокруг себя, которых в принципе быть не должно. Надо пофиксить? Используй костыли >CSS охуенный, зачем нужно что-то еще? Ебало дебилов даже имагинировать страшно.
>>3007572 Так чем tailwind хорош? Я хороших отзывов видел только две разновидности: 1) Со стороны бэков, которые хотят быстро накидать стилей и не разбираться в CSS, который им не нужен 2) Со стороны довничей, для которых буквально "CSS - это сложно и долго". И их нелепые попытки доказать, что CSS/SCSS в современном мире необязателен с таким волшебством как Tailwind.
Как при сборке отключить переименование TS-классов? А то эта гнида везде в именах классов нижнее подчеркивание вперед подставляет.
Везде пишут, мол, это такая esbuild'овская херь, которую ничем не отключишь, даже если собственную мать в vite.config пробросишь. Это так или можно все же изъебнуться?
Еще вроде можно как-то terser-ом собирать вместо esbuild'а, и тогда вроде бы настройки чуть погибче будут. Но ебучий vite dev server все также будет esbuild'ом собираться, так?
Пишу на Next JSсвой говносайт. Подскажите пожалуйста норм ли я делаю. Мой бекенд при логине возвращает токен, который я думаю сохранять в куки-файле. Далее этот токен нужно передавать в хедере при каждом запросе. Я хочу как-то глобально роутить 1) если эндпоинт вернул 401 - отправляем на /login страницу 2) если пользователь зашел на сайт и у него в куках нет токена - отправляем на login страницу
по первому пункту я нашел решение: 'use client' import { useEffect } from 'react'; import { useRouter } from 'next/navigation'; export default function Error401() { const router = useRouter(); useEffect(() => { router.push('/login'); }, [router]); return null; }
По второму пункту пока хз как это сделать. Есть ли какое-то стандартное решение? и еще вопрос норм ли хранить в куки-файле токен или нужно эти всякие Redux подключать?
'use client' import { useEffect } from 'react'; import { useRouter } from 'next/navigation'; export default function Home() { const router = useRouter(); useEffect(() => { if(true) { // если нет токена router.push('/login'); } }, [router]); return ( <div> <h1>Seems like you are logged in</h1> </div> ) }
токен хрони с локалсторадже либо сессионсторадже, либо куки.
токен так же отправляется в хеадере через интерсептор. собственно, там все операции по хеадеру и проводишь. пихаешь его в медведя Authorization: 'Bearer ' + token
при старте, если есть токен, просто отправляешь запрос на пользователя с токеном, получаешь ответ - редиректишь. если нету, редиректишь.