Это копия, сохраненная 6 апреля в 16:13.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Хуйня это детская, а не база. Реальный инженер руководствуется требованиями проекта при выборе инструмента, а не вот этой инфантильной клоунской терминологией инцел-чудаков.
Я, например, не могу найти гайд как сайт в интернет положить. Поэтому я установил убунту и пытаюсь изучить докер с nginx'ом. Может так станет понятно как сайт в интернет положить.
Я вообще не знаю, при чем тут убунту и что такое Docker и nginx. Пока рано мне...
Ну я сам не знаю, я джва года мечтаю понять как сайт в интернет положить
Берешь проект.
Выбираешь сайт/проект/площадку где будешь выкгадывать свой проект.
Гуглишь. Как на прощадкенейм выгрузить свой проет.
???
Google it.
большинство хостингов давно интегрировало гитхаб, гайд выглядит примерно:
-авторизовать гитхаб акк
-нажать деплой
Косолобик...
То есть пердолинга уже не существует? А чем занимаются программисты, просто получают 300к в кассе?
10 лет писал
left: 0
top: 0
right: 0
bottom: 0
а оказалось, можно писать
inset: 0
Опенсорс начинается когда тебе надо что-то сделать самому себе. Пока ты совсем ноль и тебе ничего не надо, разговор про опенсорс бессмысленный.
1. Потому что у тебя не будет мотивации тянуть задачу.
2. У тебя не будет знаний и навыков тянуть задачу.
Когда ты сташь мидлом, сенькой вопрос станет не в поиске чем заняться, а где взять время на сайдпроект и стоит ли тебе тратить время на такое.
Я в целом просто чувствую, что застыл на месте и не развиваюсь больше. А развиваться нужно, чтобы апать сотыги и найти местечко получше текущего (галера типичная). И вот, я думал, что через опенсорс + решение там каких-то задачек я смогу прокачаться и изучить что-нибудь новенькое. Разве плохая идея?
Ну так делай пет и прокачивайся. У тебя разве никогда не было потебности в крутом контроле для формы, который можно сразу заюзать или плагины вскоде все устраивают? Если у тебя нет никаких потребностей самостоятельных, ты можешь просто поменять рабочее место, на нормальное. Рано тебе еще опенсорс пилить.
Ну чтобы сделать пет необходимо сначала понять что вообще сделать такого, потом прикинуть архитектуру, расписать всё по задачкам на какой-нибудь доске/тасктрекере и ебашить с нуля. А я думал, что благодаря различным опенсорс проектам можно залететь на какую-нибудь задачу, сделать её попутно изучая чужой код (тем самым узнавая какие-нибудь фишки), ну и собственно выкатить её, другие люди оценят мой код, возможно дадут какие-либо комменты и всё такое. Классно же, нет?
Я тебе писал не про пет. Это просто вариант. Были бы у тебя задачи, нашел бы и проект куда контрибутить. А так как у тебя нет задач, то вопрос куда не имеет смысла, потому что ты еще не дорос до того, чтобы быть конитрибьютером. Чтобы контрибутить в экосистему реакта, как пример, нужно иметь проблемы с этим самым реактом. Если у тебя нет проблем с реактом, то значит у тебя задачи еще слишком простые для контрибьютера. Что тут непонятного? Это так же как школьника взять на работу без оплаты. Сегодня, он работает, завтра у него живот болит, через неделю у него вообще интерес пропал.
> Реальный инженер руководствуется требованиями проекта при выборе инструмента
Фигня. Так считали в далеких 1995.
1) Каждый новый проект начинается с увольнением всей команды или переобучения под новый стек (удачи снова стать джуном)
2) Ты находишь додиков которые знают по 20 языков
3) Тебе предлагают написать "сжиматор картинок на Node.js", но ты поднимаешь руку и ответственно заявляешь - "Господа, увольняйте меня, я как инженер считаю, что тут лучше взять С++, скорость будет на 20% выше"
Окей. Как мне тогда улучшать свой уровень профессионализма? Читать статьи? Решать задачи?
Такое часто в tailwind? или мне не повезло с кодом
тебе повезло с кодом, чаще код еще хуже
Linaria
Styled components
StyleX
Panda-css
Emotion
Stitches
Tailwind
Всё НОРМ кроме ебучего tailwind, его отдам врагу.
Переходи на реакт нейтив, там Hermes скоро сможет эксепшены о выходе за пределы массива выкидывать и компилировать в байт-код сразу
Подозреваю, что нет, ведь их выполнение может когда-нибудь возобновиться, если выполнится промис.
Ну обычная утечка памяти и чо? В жс к утечкам не сильно строго относятся так как твои промисы будут жить до релоада страницы. Например ивент листенеры это тоже утечка, если не отписываешься. За А на ноду как бекенд всем насрать, кроме кучки отщепенцев.
>3) Тебе предлагают написать "сжиматор картинок на Node.js", но ты поднимаешь руку и ответственно заявляешь - "Господа, увольняйте меня, я как инженер считаю, что тут лучше взять С++, скорость будет на 20% выше"
Лол.
npm i sharp
import sharp from 'sharp'
sharp('input.jpg')
.resize(1000)
.webp({ quality: 80 })
.toBuffer()
.then((outputBuffer) => {
...
})
.catch((error) => {
console.error(error)
})
Производительность сжатия будет примерно такая же, а вот скорость разработки раз в 100 быстрее.
> А на ноду как бекенд всем насрать, кроме кучки отщепенцев.
Получается, в тинькофф отщепенцы, или в яндексе? Или в сбере, киви, мтс, леруа...? Как же всяких джава-скуфов и каких-нибудь дотнетчиков корёжит с того, что люди делают бекенды на альтернативных инструментах вместо привычных им. Это буквально "бекенды можно писать только на X и на Y просто потому что я так сказал".
Я на ноде пишу...
Почему в решении задачи не отталкиваешься от требований а подогнул в сторону своего любимого node.js?
то есть возьмешь язык к которому ты привык. Ясно.
"Реальный инженер руководствуется требованиями проекта при выборе инструмента"
Теперь ты понял как это работает? На чем привыкли, то и используют.
> "бекенды можно писать только на X и на Y просто потому что я так сказал"
Это как в доте. В обычном режиме играй на чём хочешь, но в ранкеде играй только самыми сильными героями чтобы достичь результата.
Если ты не понимаешь таких очевидных вещей, то с тобой неочем разговаривать, и более того нет смысла работать с тобой.
В доте полно челов, которые тащат на оффлейн дарк виллоу или на керри-титане например, вплоть до самых высоких рангов. Есть топсоны всякие, которые просто на общих знаниях могут на любом герое на миде отыграть на максимум импакта.
Качественный сложный бекенд можно написать на большинстве популярных инструментов. В том числе на пхп, питоне, руби, ноде. Ты наверное считаешь, что "сильные герои для ранкеда" это джава, сишарп, го, ну и всё в целом. Плюсы и раст для узкий кейсов. Только от реальности это очень далеко.
Так что можешь вот это самому себе сказать:
>Если ты не понимаешь таких очевидных вещей, то с тобой неочем разговаривать, и более того нет смысла работать с тобой.
Дальше пикай мипо и ебись с контролем, пока я пикаю аббадона и ебу всех до 7к, лолка :-)
При чём тут нода? Дёргать анус шваброй — это писать бекенд на каком-нибудь хаскелле. Бекенд на ноде принципиально ничем не отличается от бекенда на других популярных инструментах.
Я не долбоеб и не 15-летний ребенок, чтобы в доту играть.
С чисто технической точки зрения, нет никакого смысла писать бэк на ноде, а не джаве или сишарпе. Хотя бы потому, что жс интерпретируемый и не имеет рантайм типизации.
Что если против тебя 5 брейков? Типа играешь, а там тебя выносит МК на линии, потом по игре стоишь в ульте вайпера, в ульте зудвинк, просто стоишь и ниче не можешь сделать? В этой ситуации Мипо просто за 20 минут вынесет.
В чем проблема на тайпскрипте писать? Во всяких дено и банах он вообще из коробки поддерживается.
Аж захотелось из своего пета shadcn выковырять, просто чтобы не осталось следов тейлвинда.
Чисто с коммерческой точки зрения нет смысла писать бэк на плюсах/расте/жаве/сярпе, если у вас нет экосистемы под это, хуйлоада, и у вас бэк-офис на 300 тёт срак, которым нужно слазить в пару внешних сервисов, типа эдо/дадата/фиас/кладр/егрюл-егрип и отобразить это в табличке, я это сделаю на питоне или го и это будет работать почти одинаково, но очередной Дэвид Бизли или Роб Пайк с харкачей мне будет втирать, что я не шарю.
>С чисто технической точки зрения, нет никакого смысла писать бэк на ноде, а не джаве или сишарпе.
Скорость разработки выше, лучше developer experience.
>Хотя бы потому, что жс интерпретируемый и не имеет рантайм типизации.
Выдуманные проблемы, редко влияющие на что-либо. Вот чем тебе тайпскрипта недостаточно? Апи ютуба вообще на питоне написан, а гитхаба на руби. ВК и Фейсбук на пхп. В плане типизации эти языки куда хуже тайпскрипта, но даже их оказалось достаточно.
Двачую, плюс хуйлоад легко анлоадится в небольшой микросервис, написанный на голанге или упаси б-же плюсах/расте/си. Или вообще в серверлесс.
Так погоди, это же костыли ебучие, мы разве не против костылей? Ебало представил свое когда без атакспида прыгаешь, тебя кайтят в бкб и потом ты с лицом лягушки идешь дальше фармить костыли, пока трон сносят.
>Скорость разработки выше, лучше developer experience
Не выше и не лучше. Если ты не используешь тупоскрип, то земля пухом. А если используешь, то разницы никакой, где выводить типы - в шарпах или в ноде.
>Выдуманные проблемы, редко влияющие на что-либо. Вот чем тебе тайпскрипта недостаточно? Апи ютуба вообще на питоне написан, а гитхаба на руби. ВК и Фейсбук на пхп. В плане типизации эти языки куда хуже тайпскрипта, но даже их оказалось достаточно.
Тайпскрипт - это просто надстройка над жс, костыль, который надо отдельно настраивать, вот тебе небольшое, но уже неудобство. По перфомансу да, на большинстве проектов с 1.5 юзеров все равно, на чем писать, но тот же ютуб в узких местах наверняка в основном не на питоне написан, как и гитхаб не на руби. То, что какие-то куски на них, еще ни о чем не говорит.
>>2991554
Для прототипирования реально достаточно чего-то простого, тут МЯУ. Или если разрабы дешевле на жс или питоне. Но скейлиться это поделие будет хуже, так что придется выбирать, переписывать потом или сразу делать с запасом на будущее.
>>2991551
В том, что нет никакого буста скорости разработки тогда. Проще уж джаву взять.
Так я в трон иду под дезоль, сашу-яшу, бкб и ульту, пока мипе докапывает на аганим+шард с орбы.
> Проще уж джаву взять.
Ну нетфликс вон на ноду перешел в том числе из-за скорости разработки - сервак на ноде в разы быстрее стартует, следовательно фичи можно добавлять и тестрировать намного быстрее. Разрабы довольны, кабаныч тоже, брат жив.
Плюс у ноды неблокирующая модель io, хорошо справляющаяся с большим количеством одновременных соединений.
>> 2991566 - кун
Чушь, не верю. Из-за такой мелочи, которая еще и наверняка вызвана кривыми руками разрабов, никто переходить на совершенно другой стек не будет, это слишком дорого.
В джаве тоже давно есть решения для ио с такой же моделью. При этом она не ставит тебя в рамки одной только этой модели.
Вот только по моему опыту прототипирование в 3 из 4 случаев дальше не переписывается, пока не подвалит ебейшая котлета от стекхолдеров, или новая команда с архикектором после смены сто, или смены дирехтора по ит, после которы к продукту появятся новые требования, либо наоборот захотят сыкономить и привести с одному стеку.
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
Вот тут проблема. Вместо того, чтобы взять какой-нибудь неблокирующий нетти с той же моделью, что в ноде, вместо легасиговна, создающего по потоку на запрос, они выбрали куда более дорогостоящий вариант - переехали на ноду. Это как отрезать обе ноги, когда только одна отмерла, глупое решение. Хочется верить, что кроме стоимости железа были еще причины, но чет ничего убедительного не вижу.
>Не выше и не лучше. Если ты не используешь тупоскрип, то земля пухом. А если используешь, то разницы никакой, где выводить типы - в шарпах или в ноде.
Очевидно, использую тайпскрипт, без него смысла мало. Так в нём в том числе удобство. Легко добавить типизацию без лишнего оверхеда. Я пробовал писать на дотнете и спринге, как-то не заметил, что там удобнее для разработчика кроме инструментов для работы с БД местами. В общем, на несте у меня получается писать бекенды очень быстро, при этом удобно, и качество кода получается отличное. Единственный реальный конкурент в этом плане это голанг, я считаю, но с его обработкой ошибок и системой типов иногда начинает гореть Тулуп.
>Тайпскрипт - это просто надстройка над жс, костыль, который надо отдельно настраивать, вот тебе небольшое, но уже неудобство
Настроить tsconfig проще простого, в несте он просто из коробки уже есть и иницализированный нест проект сразу готов к разработке на тайпскрипте.
>По перфомансу да, на большинстве проектов с 1.5 юзеров все равно, на чем писать
Да и с тысячами rps обычно вполне достаточно тс/ноды.
>тот же ютуб в узких местах наверняка в основном не на питоне написан, как и гитхаб не на руби. То, что какие-то куски на них, еще ни о чем не говорит.
Очевидно, процессинг видео сделан на низкоуровневом языке типа плюсов. А для апи даже жутко медленного питона хватит. Даже для проекта уровня Ютуба.
>Для прототипирования реально достаточно чего-то простого, тут МЯУ. Или если разрабы дешевле на жс или питоне. Но скейлиться это поделие будет хуже, так что придется выбирать, переписывать потом или сразу делать с запасом на будущее.
В 2024 с кубером, облаками и серверлесс проблема скейлинга по сути отсутствует.
>Легко добавить типизацию без лишнего оверхеда
Во-первых, дефолтный tsc очень медленный, придется какой-то транспилятор использовать, опять пердолинг. Во-вторых, как раз-таки отсутствие типизации в рантайме предотвращает возможность некоторых оптимизаций, то есть создает оверхед.
>Настроить tsconfig проще простого
Как-то не заметил. Документация максимально упоротая. Но тут можно списать на скилл ишью.
>Да и с тысячами rps обычно вполне достаточно тс/ноды.
Да понятно, что можно на чем угодно нагрузку держать, вопрос в цене железа.
>В 2024 с кубером, облаками и серверлесс проблема скейлинга по сути отсутствует.
Твое ебало, когда прилетят счета за хостинг, даже представлять не хочется.
Работал я уже как-то на кабаныча с довольно большим трафиком. Так он хостился сначала гибридно, на железе и в облаке из-за цен. А когда запахло жареным и понадобилось скейлиться дальше, он не то, что в серверлесс и куберы не полез, так вообще в другое облако подешевле уехал, где продолжил хоститься на обычных инстансах.
Кубер - это еще один сложный слой абстракции, а любая абстракция стоит денег, приносит головную боль и не для всех проблем подходит и нужна. Серверлесс - вообще ебаная шиза для любого проекта сложнее хеллоу ворлд с кучей юзеров, просто очередной хайптрейн.
Как же Мурыч опустил Сойбоера...
WeekSet и WeekMap в JavaScript являются частью стандарта ECMAScript, начиная с версии 6. Они представляют собой специальные коллекции, которые могут быть полезны в определенных сценариях.
WeekSet - это коллекция уникальных значений, которая хранит только слабые ссылки на объекты. Это означает, что если на объект нет других ссылок, он будет удален из WeekSet автоматически сборщиком мусора. Это может быть полезно, когда вам нужно хранить набор объектов, но не хотите, чтобы они задерживались в памяти, если на них больше нет ссылок.
WeekMap - это коллекция, которая хранит пары ключ-значение, где ключи также являются слабыми ссылками на объекты. Таким образом, если на объект-ключ больше нет ссылок, он будет автоматически удален из WeekMap. Это может быть полезно, когда вам нужно связать данные с объектами, но не хотите удерживать их в памяти.
Использование WeekSet и WeekMap может помочь уменьшить утечки памяти и повысить производительность вашего приложения, особенно если у вас есть большое количество временных объектов или объектов, которые могут быть удалены из памяти после использования.
Не понятно. У меня даже есть приложение в котором было бы збс оптимизировать память, но нихуя не понятно.
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
Ты не прав.
В рамках спецификации WeekSet это LinkEmptyObject который ссылается на RX сегмент виртуального регистра V8 машины.
Я тупанул.
>Поэтому React Context там больше использовать нельзя, поскольку хуки можно использовать только внутри компонента.
Можно просто использовать диспатч в любой функции. Поэтому необязательно заменять Context на TanStack Query.
Извинити, у меня этой версии устаревшая база знаний. Купите платную версию меня.
Вот я аутентификацию делаю, возвращаю объект типа User с полем id
А потом смотрю на сессию, тайпскрипт говорит там должно быть поле id, а его блять нет. Логин и емэйл есть, а единственного не опционального id нет.
Ааа, я про auth всё искал. Но это блять странно что нужно дополнительно эту хуйню писать.
Ладно, похуй, по логину тоже норм искать. Могли бы конечно и пофиксить свои типы.
Я прочитал MDN и я все понял: Set это Array для уникальных значений. Там has работает быстрее чем includes. Если тебе надо его сортировать, соси и используй обычный массив. Работает он как обычный джаваскриптовый объект/хеш тейбл.
Garbage collectable это базворд не имеющий никакого отношения к менеджменту памяти. Есть вот в жс примитивы а есть GCble. Примитивы копируются, GCble передаются по ссылке. Когда ты складываешь в Set строку, она копируется, в weakset вырезана эта фича, так что weakset работает быстрее но поддерживает только GCble элементы.
Хорошая была гипотеза, но нет.
Я пробовал и символ и объект всё равно WeakSet самый медленный. Хуйня какая-то.
В cra из коробки этого не было. Он сделан на вебпаке, я не знаю как сложно подключить там этот плагин и есть ли он вообще? В vite вроде нет, в esbuild нет. Все просто херачат css в js?
Опять туплю. Там же логика js внутри css получается. Не так уж легко как кажется такой плагин написать, судя по всему.
Суп, аноунсы!
Сам по бэку угараю, посему цсс+джэс знаю хуёво. Но вот захотелось красоты навести в портфолио.
Нашел отдельную библу htmx с бесконечной прокруткой, подключил и забыл, всё чётко работает.
А есть такая же (htmx) или на джиесе библа, что бы вот я начал скроллить вниз - менюшка уехала естественным способом наверх, отрутил я колесом 100500 киллометров бесконечного скролла и тут решил вернуться наверх и как только я дёрнул колёсико вверх, менюшка тут же выехала.
Я просто даже не знаю, как сформулировать запрос на мою хотелку в гуголе.
Памагити.
>Да понятно, что можно на чем угодно нагрузку держать, вопрос в цене железа
Что-то спринг не особо выделяется. На уровне фастифая идёт. А по расходам на оперативку вполне возможно будет даже значительно хуже.
>Блять, реально превратили реакт в говно.
Нормально всё, просто пиши на нексте с его роутером, а для асинхронного стейта используй react-query, а контекст/зустанд/редакс и прочее не нужно, глобал стейт не нужен.
>Закат реакта уже скоро?
Нет.
Очень зависит от того, как этот бенчмарк составлялся. Я в каком-то треде уже видел один, там шиз взял дефолтный конфиг, где по потоку на реквест выделяется, и сделал вывод, что спринг тормознутый.
На втором пике многосоставной бенчмарк с разными манипуляциями, в том числе с разными запросами и записями в бд.
При чем тут формат текста, кол-во запросов и прочая независящая от фреймворка лабуда? Я тебе про настройку самого фреймворка говорю.
В обоих бенчмарках со скринов есть исходники.
https://github.com/TechEmpower/FrameworkBenchmarks/tree/master/frameworks
https://github.com/the-benchmarker/web-frameworks
Но я тогда тоже могу добавить про "настройку фреймворка". Мы можем взять и вместо транспорта/роутера прокинуть в нест не дефолтные экспресс или фастифай, а hyperexpess, который уже не со спрингом конкурирует по перформансу, а с го и дотнетом. Можно ещё добавить новую elysia, которая сделана для bun по тому же принципу, что и hyperexpess. Ради справедливости добавил micronaut и quarkus. Но большинство проектов это всё равно спринг.
По обеим ссылкам есть разделение спринга и спринга-вебфлакс (с которым и надо по-хорошему сравнивать). На графиках - просто спринг, выбрать вебфлакс на сайте нельзя в принципе.
Я считаю, правильнее сравнивать как раз реальные продовые конфигурации, то есть где все подкапотное выкручено на максимум при все том же апи. Таких бенчмарков я еще не видел.
Отклеилось.
https://web-frameworks-benchmark.netlify.app/compare?f=spring-webflux,spring,nestjs-fastify
Добавил в сравнение гиперэкспресс, и чет разница в трупуте в 3 раза пахнет наебаловом. Наверняка есть какая-то мелочь, которая делает сравнение некорректным, но сходу не вижу. Об этом говорит тот факт, что добавление в сравнение котлина (который тоже на жвм) с тем же нетти под капотом, что и в вебфлаксе, дает разницу в более чем 2 раза с вебфлаксом.
Но в целом уже убедительнее выглядит, чем первый бенчмарк.
Нет наебалова, просто гиперэкспресс это прослойка в виде express-подобного апи, которая под капотом вызывает C++ сервер uWS, который кстати в качестве http сервера используется в том же bun
Ну так он не сильно далеко от комбинации котлина с нетти и каким-то hexagon фреймворком, то есть дело не в магии плюсов. Не поверю, что один только спринг снижает трупут более чем в два раза, ну не может там быть столько медленных абстракций.
До того, что бэк писать на ноде можно, так же, как и на чем угодно другом. "Лучше остальных языков/фреймворков" - очень размытое понятие. По сырой скорости в не до конца детализированных бенчмарках - гиперэкспресс точно лучше спринга. Насколько - сложно сказать, надо разбираться, где именно теряется скорость в бенчмарке.
В любом случае, сила ноды не в этом. А в том, что мы написали сервер-сайд хуйню сначала, а кабан потом говорит "похуй, давай тащи всю логику на клиент". В итоге просто взяли и перетащили, хотя от самопальных заменителей setImmediate и прочего до сих пор смешно.
РукоТулупм всегда что-то мешает. То у них язык тормозит, то рынок не такой, то приложение много весит, может проблема в самом рукожопе? Кто мастерски владеет инструментом, у того ничего не тормозит, решение мало весит и вообще работает как часы.
Ни джава ни нода не лучше.
Лучше то, что ты знаешь лучше других.
Если ты бог ноды - бери ноду
Если ты бог джавы - бери джаву
Я, когда работу искал полгода назад, вообще не заметил популярности Реакта. Очень много Вью в РФ вакансиях.
Так и нашёл работу на Вью в итоге.
А ты на неё сейчас не смотри
Вот весь фронтенд состоит из таких "мнений"
>>2993356
для начала можешь
https://tailwindcss.com/docs/functions-and-directives#layer
@layer и @apply
потом на что хочешь
Проиграл.
.select2-dropdown {
@apply bg-red color-b;
}
почему сразу не взять css-modules и писать как человек?
.select2-dropdown {
background-color:red;
color:black;
}
в 2024 реально есть люди которые пытаются экономить байт в в css?
потому что так будет легче мигрировать, а не развалить сразу всю верстку к хуям и кормить кабаныча завраками...
Мне перед НГ пришел новый проект, сначала я думал что похуй-нахуй и накидывал в проект tailwind классы поверх кода старого разработчика.
Но после того как мне пришла задача поменять стили на 1 странице (задача где нужно вникать в верстку и читать css) я просто ахуел.
Завтра начинаю переписывать это на обычный css
И с чего ты взял, что переписав на обычный ксс (к слову, тейлвинд к нему очень близок, абстракций минимум), тебе вдруг станет легче? Точно так же будешь охуевать от полотен ксс, просто в другом месте. Так еще и создаешь возможность заюзать класс в нескольких местах сразу, из-за чего потом хуй зарефакторишь один компонент, не сломав другой.
Переиспользование ксс - зло.
Кссодауну не понять, увы. Интересно даже взглянуть на нейминг ксс-классов в твоем проекте, наверняка там такое месиво, что нихуя не разобрать.
>Хули не нравится? Ксс в хтмл - лучший способ понять, как выглядит элемент, потому что не нужно сопоставлять хуй знает куда засунутый ксс с хуй знает где лежащим хтмл.
может кто прифотошопить на дисплей ту ебалу
class="product-container__left-item-price product__left-button _red-price _price-animated"
мимо
Спасибо, но я уже насмотрелся на говнонейминг кастомных классов приправленный каскадингом и переиспользованием в несвязанных местах. Наверняка и у тебя можно найти нечитаемое говно. На хеллоуворлде с 2.5 компонентов может и норм еще чистый ксс, но на чем-то побольше - нахуй-нахуй.
>забыл расставить переносы строки и думает, что написал читабельнее на чистом ксс
Какая нахуй глыба, так, сосулька.
ты совсем поехавший?
Зачем ты вставил сюда 5 классов, это тебе не tailwind-zalupa
Вот как это выглядит
class="product-container"
>Кссодауну не понять, увы. Интересно даже взглянуть на нейминг ксс-классов в твоем проекте, наверняка там такое месиво, что нихуя не разобрать.
Какие переносы? tw пишется в одну строчку class
Или ты из тех дураков которые берут tailwind но делают из него css-modules через apply и дробят на 100 классов? Нахуя тогда вообще берете tailwind если сами же соглашаетесь что он хуйня.
Ради экономии 5 кб?
У тебя на примере никакого хтмл нет. Если тебе не нравится, что там становится слишком много инлайн стилей, то
>берут tailwind но делают из него css-modules через apply и дробят на 100 классов
Все еще лучше, даже на твоем примере видно, что если расставить переносы в тейлвинде, то будет читаемее ксс.
>заметать сор под ковер?
Это черта джунишки, который попал в рога и копыта, и проецирует тяп-ляп решения как базу.
Обосрался
Классы должны быть семантические. Типа class="password-field" или нечто вроде того.
Всю эту бутстрэпоподобную ебалу надо выжигать огнём.
2 чаю
Как мы все знаем, исходя из говноедской логики, тайлвинд база в тырпрайзе. Потому что фронт гопоты и сайт наса сделан на тайлвинде, а они то ого-го тырпрайз!
А потуги сегодняшнего говноеда какие-то вялые.
>Нахуя тогда вообще берете tailwind
Можно использовать инлайновые стили где надо и не использовать где не надо.
Получаешь лучшее от двух миров. И нет лишних ксс классов и нет вот этой срани из исключительно тайлвиндовых классов. Но вам не понять, тут джункуны с юношеским масимализмом собрались.
лучше прятать, чем отображать сотни классов в 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 интернета и всем похуй на ваши килобайты кода.
Вот видишь, даже запомнил, что тебя уже когда-то попустили, даже конкретные примеры привел. Ну и смысл стараться? Горелодупого кссошвайна только легаси исправит.
Нахуй тебе апплай на каждой строке? Один раз в начале напиши да и все.
2) Люди одумались, поняли что это хуйня, решили писать как css-боере и добавили apply
3) css-боярин не может понять зачем использовать apply с сокращенными именами классов, если можно писать простые свойства и нажимать tab
4) tailwind-дебилушка не может придумать ничего больше кроме как стандартной отговорки про экономию 3кб в 2024 году.
Когда как картинка весит более 100кб.
Идиот, ты ж тейлвиндом не пользовался даже. Иди погугли что ли, какие проблемы он решает, может, перестанешь нести хуйню про какую-то экономию байтов. Щас бы писать ванильный ксс в 2024, лол.
Какую он проблему решает?))
- Сокращение результирующего css кода (что нахуй не вперлось в 2024, дауны радуются 1кб коду вместо 25кб, про кеш вы и не слышали)
- Быстрота написания классов (а ты не пробовал нажимать tab c emmet tabmine)
Я писал на tailwind год и переписал не один проект с tailwind.
благо сделать это не так сложно, есть много инструментов по миграции с этого говна.
>Я писал на tailwind год и переписал не один проект с tailwind.
Пиздабол. Ты даже на примере выше не понял, как юзать апплай. И если бы ты действительно его использовал или хотя бы погуглил бы, то понимал бы, что он не только ускоряет написание классов, но и унифицирует ксс от имен до цветов, и убирает некоторые подводные камни ванильного ксс. А теперь можешь идти нахуй - писать свою неподдерживаемую лапшу, которую сам же не сможешь прочитать уже спустя неделю.
Просто надо про тайлвинд вбрасывать.
>ускоряет написание классов
Как?) погугли что такое emmet + tabnine
>и унифицирует ксс от имен до цветов
Какая нахуй унификацией если вы создаёте свои имена классов поверх apply композиции? Сейчас темы есть в каждом сапоге.
>и убирает некоторые подводные камни ванильного ксс.
Какие нахуй? ничего он не убирает.
>писать свою неподдерживаемую лапшу.
Проиграл, tailwind признан всем миром - хуйней, кроме 1% додиков взявшую эту технологию в далеком 2022 и теперь едят говно, пьют мочу но не хотят признавать свои ошибки выбора стека.
Тайлвинд еще популяен у рубистов и ларавельщиков, потому что у них каша из жс компонентов и бекенд шаблонов на пыхе или руби, и надо везде одну стилизацию иметь.
Чтобы было понятно. У вас есть
1) страница - чисто шаблон рендерится на бекенде
2) страницы с жс фремворком, с компонетами, с роутингом
3) страница с нескольким вебкомпонентами (на вуе или реакте)
3 пукт это например у вас форма это бекенд шаблон, но в форме есть поле с поиском - оно на вуежс
Чееелл, для таких случаев уже давно придумали чат гпт. Спрашиваешь у неё что это такое, она за сек поясняет. Нинадо никуда лезть.
>Походу
Откуда информация? Не видно никакого этого походу. Как и был реакт почти везде, так и остался.
>Так еще и создаешь возможность заюзать класс в нескольких местах сразу, из-за чего потом хуй зарефакторишь один компонент, не сломав другой.
Ксс модули давно решают эту проблему. Можно использовать класс .box в разных местах и он везде будет уникальным для каждого компонента.
Тоже думаю айти из реакта в vue
после новостей о next
Господи как же я буду там всех , я слышал что во vue практически нет программистов
И что мне мешает в шаблон вставить свои стили через ванильный цсс, как можно на питухоне? У меня был общий базовый шаблон на жинже, а в дочерние шаблоны можно вставлять вуе-скрипт для отрисовки динамики, в которые можно также вставлять цсс-стили, и никаких тайлвиндов и ебанашенских наборов классов на 100500 строк. На-ху-я?
Ничто тебе не мешает, но только стили у тебя глобальные, нет инкапсуляции как в компонентах. Если проект пара страничек, то разговору нет. Если у тебя большой проект, который разными макаками поддерживается, особенно при текучке в компании, то это проблема иметь глобальные стили.
У тебя два варианта
1) scss c миксинами + котролировать, чтобы названия классов не совпадали (этот вариант опирается на допущение что макаки будут не совсем макаками)
2) utility first использовать
Чтоб ты понял. Если бы у тебя был полностью проект на жс фремверке, то у тебя бы была инкапсуляция стилей в компонентах, переиспользование компонентов, юай фреймворк какой-нибудь. Тут такого нет. Шаблоны ты можешь переиспотльзовать иногда, но инкапсуляции не будет. Тебе придется делать глобальные стили. Но ты не можешь копировать одни и те же стили в 100500 селекторов. Это будет неподдерживаемым гипердублированием кода. Плюс тебе надо же эти стили реюзать в компонентах, а там часто сохраняют инкапсуляцию. Поэтому стили приходится импортить в жс компоненты. Все это упирается что разработчик не совсем чушпан и будет соблюдать правила. а не хуярить как ему вздумается. Так проще взять utility first фреймворк и не ебать мозг архитектурой ксс.
Ты доку открывал? там половина новых хуков для некста.
все комьюнити начало советовать next
а если ты откроешь современный UIkit то в инструкции не увидишь ни слова про react, на первых графах next.js
Походу тоже самое и с вью будет. Все будут на нукст переходить
Вот есть кнопка "Приступить к выполнению", одновременно можно открывать несколько вкладок, но есть раздражающее ограничение, каждый раз приходится ждать 5сек, чтобы сработала кнопка следующего задания, не получается сразу открыть много вкладок, приходится ждать.
Это типа плохо или что?
Жаль конечно, но это говно реально мертво
что учить вместо node?
обойти нельзя.
можно ссылку взять и открыть ее.
зачем ты там сидишь? настолько бабки нужны, что готов за копейки там пердолить?
нету возможности в очко и вкусно пойти?
У вуе есть только одна проблема - там практически нет крупных продуктов. Разработка на вью - это работа на вшивой галере с немытыми пхпшниками (и это хорошо если самого не заставят эту пыху учить). Думаю ангуляр в этом плане будет интереснее.
Я видел нечто, во что вы, люди, просто не поверите. Много лет назад. Проект с вордпресс+вью. Я видел мерцающие во тьме тексты кода без какой-либо подсветки. Как форматирование кода отсутствует как явление. Где компоненты и логика извращена в силу совместимости, а стандартные инструменты просто не работают. И все эти мгновения исчезнут во времени как слёзы под дождём.
Так за легаси платят стабильно или отдают на аутсорс в страны третьего мира. Разве плохо? Хорошо! Значит у нас будет нодежс работа!
Инфа от проверенного человечка.
Легаси это руби, например. На нём новые проекты редко делают. Тут диванные кукаретики любят байтить на нодосрач, серьезной дискуссии можешь не ждать.
Нет, ты спизданул хуйню, а стартап это не хуйня.
Звучит круто, хотел бы поработать над таким проектом
https://www.youtube.com/watch?v=t-eR4hA7obg
Но он устроен чисто как какой-то справочник, я так сказать постепенно прохожу по порядку темы и все понимаю, но там начнется когда-нибудь что-то, что будет похоже на настоящую работу, какие-нибудь задачи, похожие на то, что в реальной разработке бывает?
Работаю бэкендером. Что вы там делаете на фронте? Вы же нихера не делаете. Заполнил поле данными с бэка, отправил поле при нажатии на кнопку. Вам самим не мерзко? Может работать уже начнете? Раз нихуя не делаете совмещайте с девопс, те тоже нихуя не делают.
Мне деньги платят, при том скорее всего больше чем тебе, на остальное похуй.
Дегенератский шабаш двумя тредами нише, дегенерат.
Лучше скажи, поему все бекендеры дегенераты?
Ссылка там не берётся, пока 5 сек не пройдёт просто надпись вылазит.
И по сути не пердолиться, открыл кучу вкладок и всё, только это ограничение всё портит сильно.
>нету возможности в очко и вкусно пойти?
У меня есть другой доход, но и тут 50-100р не прочь забирать.
Пока только 4 дня зареган, если не напрягаться, а между делом только ютуб открывать, то 40-50р спокойно может выходить. Единственное что время из-за этих 5 сек тратится, что раздражает. Убрав это ограничение сотенку можно делать вообще не парясь.
>У меня есть другой доход, но и тут 50-100р не прочь забирать.
Ну, ты не инвалид? Не дурак? Без подъебов, я серьезно.
Пошел бы на нормальную работу, там намного профитнее время проебывать.
В случае твоей площадке, как писал выше, ограничение на таймер не убрать.
Можно прокликать все задачи, чтобы появилась кнопка и внутри кнопки выцепить ссылку на видео, открыть ее скриптом и получить твой "обход" 5 секунд - это все делает скрипт.
При этом остается нюанс с подтверждением открытого видоса, так что тут нужно будет доп. скрипт для запуска видоса, а так же доп. проверка, что не нужна ли доп проверка (доп открытие видоса(там иногда два раза, если помнишь)), так же закрытие окна, если перебрасывает на тытрубу.
Подводя итоги. Скрипт сделать можно. Но пердолить больше чем просто убрать таймаут. Нужен будет юзерскрипт, который работает с площадкой, просмотром видео, ютюбом. При этом нужно учесть кучу нюансов.
Нахуя этим заниматься для копеек - не понятно. В очке и точке за день можно налутать косарик-два.
Ясно, спасибо за разъяснения, просто подумал может у них чисто через js 5 сек на нажатие стоит и можно изменить например на 1 секунду и подменить файл чтобы загружался вместо оригинального локально.
>Ну, ты не инвалид? Не дурак? Без подъебов, я серьезно.
Пошел бы на нормальную работу, там намного профитнее время проебывать.
Я работаю на нормальной работе, при этом большинство времени тупо за ПК аутирую, а тут доп. копейки, вот пока это сообщение пишу, открыл 10 ссылок отсчёт времени идёт, сейчас допишу ещё десяток открою, потом ещё между делом. Если бы 5 сек ждать не нужно было бы, вообще лафа. А деньги лишними не бывают, особенно если это не в сильный напряг и сам не 300кк наносек.
https://pastebin.com/cPANs73B
юзерскрипт с проверками лень писать.
попробуй это.
рубль себе сделал за две итерации.
но ютюб кликать для запуска видео заебался.
может вечером посижу, посмотрю. но не обещаю.
>Я работаю на нормальной работе, при этом большинство времени тупо за ПК аутирую
ну ок.
Спасибо, попробую.
>но ютюб кликать для запуска видео заебался.
В этом и проблема, что эту кнопку тыкаешь пока ссылка не откроется надоедает и отнимает основное время, если бы не это, можно быстро все ссылки открывать и пусть отчет времени идёт хоть в 100 вкладках одновременно, можно даже было бы пару мультиаккаунтов создать и десятку иметь в месяц дополнительную.
а что на беке делают? 100 строк кода в орм 100 строк кода на схему, DTO на 10 строк.
300 строк бойлеплейта с контроллерами
Но логики всего 2-3 строки.
>В этом и проблема, что эту кнопку тыкаешь пока ссылка не откроется
так эта проблема скриптом выше решена.
проблема именно в просмотре видео. там где видео смотреть. тоже нужно тыкнуть для запуска отсчета.
Попробовал, вставляю, все кнопки появляются, второй раз вставляю, открывается только одно видео. По сути как и вручную работает за 1 раз только 1 кнопка пока не пройдёт 5 сек.
Но лучшим вариантом наверное было бы только убрать ожидание 5 секунд для кнопок, чтобы следующая кнопка после открытия ссылки работала сразу или через 1 секунду, иначе если всё будет открываться сразу, то наверняка спалят такую скорость. Меня что надо нажимать их вручную никак не напрягает, как и запускать видосы вручную, только само ожидание.
Вообще конечно круто вышло, так на много быстрее, прям в разы, но боюсь что такую скорость заметят.
Ещё раз огромная благодарность. Если бана не будет, скрипт прям то что нужно, что отнимало кучу времени, теперь не больше минуты занимает только для запуска видео.
площадка получает бабки за трафик.
думаешь кто-то с серьезным ебалом сидит и делать 100к задачек?
Не знаю, я сайт этот с ютуба увидел и там чела заблочили с претензией, что быстро просматривает много видосов и не бот ли у него. А он просто после ограничения в 10 видосов за раз обновлял страницу и смотрел ещё. Они его разблочили, но судя по всему следят как-то за этим.
Пока тестирую и прям вообще крутой скрипт!
А по ТОПу, там наверное показатели за всё время, чисто ютуб у меня позавчера вышло 600 с лишним кликов, это при том что я их делал между делом, а не спецом сидел, если спецом сидеть, то наверное может быть куда больше без ботов, так же там кроме ютуба много чего.
Поэтому не исключаю что
>кто-то с серьезным ебалом сидит и делать 100к задачек
Тем более если ютуб ещё можно автоматизировать разбираясь как, то задания каждое разное с разным описанием и заморочками, их никак не автоматизировать по сути.
Прохожу по learn.js
мгм, мгм. Читаю.
Ну какая то абстрактная ПОЛОЧКА, куда можно поместить СВОЙСТВА (ПАПКИ), а у свойств есть свой КЛЮЧ (значение).
obj = {x: x,
y: y,
i: i}
Думал ну все, щас реакта доку закончу и наканецта писать свою первую хуйню, а не тут-то было, сначала гит изучи, вебпак, верстать надо с препроцессорами, уф бля
https://learn.javascript.ru/weakref-finalizationregistry
https://learn.javascript.ru/weakmap-weakset
Тут хорошо написано с хорошими примерами.
Скверна уже была в моих земля.
Пришлось очищать наш дом от этой напасти.
И никогда более не позволять ей распространиться.
Чет за годы как сидел на 12-14 так и сижу.
Так понимаю модули можно выбросить и тупо стендалонам все ебашить?
Или стендалоны только для мелких компонент?
Сделал новый проект. Так там вообще .module файлов нету.
А я по привычки начал раскидывать папочки с .module, потом смотрю, а они все к базовому app.component в import залетели.
Можно выбросить. По умолчанию стандалон. Постепенно на функции пререходят. Гварды и резолверы теперь функции. Из vue 3 рефы спиздили и назвали сигналы. Много там чего
Я с этим постом согласен будучи сторонником тейлвинда, потому и заигнорил.
>Постепенно на функции пререходят. Гварды и резолверы теперь функции.
Блять. Плохая тенденция. Сама по себе. Не надо функции в ангуляр тащить. Не надо. Не хочу на реакте в ангуляре писать.
>Можно выбросить. По умолчанию стандалон.
Почитаю еще. Но как понял тема холиварная. Но технически, как понял, можно и чисто стендалоны.
Круто так-то. Хотя, как представляю, ад импортов это не исправляет.
>Из vue 3 рефы спиздили и назвали сигналы. Много там чего
Почитаю.
Багодарен.
Так все огромные проекты так работают.
Ты никогда не сможешь и не будешь разбираться с кодом, который лет 10 назад написали.
Делает какую-нибудь 3D визуализацию для конторы типа Saudi Aramco
>сравнил максимальное и минимальное значение и думает, что это о чем-то говорит
С такими "инженерами" на одном проекте страшно работать. Мало того, что в ксс насрут, так еще и будут говорить, что другие виноваты.
>Тейлвиндшиз думает, что эти цифры в принципе что-то внятное говорят о тейлвинде
Тейлвиндошиз, плиз. "Миллионы мух не могут ошибаться", да?
>С такими "инженерами" на одном проекте страшно работать. Мало того, что в ксс насрут
Согласен. Работать с тайлвиндошизом - себя не уважать. Сорт оф антисемита.
Кем вообще надо быть, чтобы вместо прекрасных стилей использовать эту парашу?
Видос ты правильный прикрепил. Мартыхану не понять.
> >нет лишних ксс классов
> Их и так нет, если css модули использовать.
Как нет-то. Если тебе надо контейнер с отступом, ты идёшь и пишешь класс .container как мудак вместо .mb-3.
А когда тебе надо такую >>2996932 портянку написать, значит тебе нужен новый класс. И пишешь его через apply или как обычно.
Смысл тайлвинда чтобы не делать классы, а реюзать утилиты вместе с версткой через компоненты, а не отдельно стили, отдельно html. @apply для класса product-list-item это анти тайлвинд
Основные кейсы для использования тайлвинда
1) когда кобан хочет быстро сляпать прототип, мвп, а дизайн закажут потом. Только надо обяснить кобанычу, что когда дизайн придет, верстку в основном придется с нуля делать.
2) когда на большом проекте разброд и шатание, заставить всех делать одинаково без объяснения тонкостей
переиспользования классов. В противном случае чел нахуярит своих классов или использует классы которые к другой несвязанной сущности или подпроекту относятся, потом это тяжело в мержреквесте ревьвить. А с тайлвиндом он использует только существующие утилиты, которые ничего не поломают в других разделах проекта.
>когда кобан хочет быстро сляпать прототип, мвп, а дизайн закажут потом
У меня на первой галере после двух случаях начали нахуй слать кабана с такими шарадами.
Нету полного, цельного, готового дизайна - нет работы.
Помню я проект вел. Максимально никому не нужный, сам я еще совсем зеленый было.
Там кабан решил верстку изменить за месяц до релиза. Как же я ахуел. Сам проект был сплошным говнокодом, вся логика в одном index.js файле, а верстка тесно связанная с пхп.
На другом проекте, уже посерьезнее, после мвп, кабан дизайн прислал и там по сути полная переработка взаимодействия страниц и их последовательности, а так же переработка страниц пользователей, товара, поиска/фильтров, даже Аллаха.
Надо ли говорить, что и в первом и втором проекте, я/команда проеблась по срокам пиздец как.
>ы нихуя не понимаешь как надо использовать тайлвинд.
Так там прямо противоречит доке тайвинда
Неправильно
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;
}
>ы нихуя не понимаешь как надо использовать тайлвинд.
Так там прямо противоречит доке тайвинда
Неправильно
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;
}
>Неправильно
>Правильно
Полное безумие. Они еще наверно специально сделали неправильный синтаксис, чтобы его никто не использовал.
>1) Большой проект не может полностью на одном фреймворке быть
Предлагаешь просто измазаться всем в говне. Потому что ТЫ СКОЗАЛ в больших надо так делать.
> постоянно приходят новые люди и им некому обяснять какие классы
Опять надо всем измазаться в говне просто так.
>3) Создание новых классов с копированием стилей из других, создает невозможность вносить правки относящиеся к всему проекту.
Ты не сможешь скопировать стили из одного модуля в другой. У тебя четкое различие где общие стили и где частные. Так что если стили общие, то если ты их редактируешь они очевидно для всего проекта.
>Один чел не может 100500 страниц проекта протестировать
Ну если это проект уровня яндекса, то всё они могут.
>Он даже не подозревает о их сущетвовании
Опять измазался в говне.
>за пределами фреймворка
Опять измазался в говне.
>п. 9-10
Полное безумие.
https://daisyui.com/
Вот UI kit на тайлвинде с нормальными классами. Если он тебе не подходит, просто хуячишь свой такой же кастомный и всё ты счастлив, можешь делать всё что угодно.
А мне твои картинки зачем? Я сам тайлвинд не юзаю практически. Но перепиливать не стал бы уже написаное. Твое cool-table только на петпроекте выживет. На реальном проете у тебя будет куча классов на одном диве, только неизвесного назначения и от 10 авторов.
Этот UI говнище полное. Темы надо буквально пердолить, чтобы выглядели нормально. Сам по себе дизайн говнище, слайдер тупо не работает как надо. Куча проблем, но да, он облегчает работу с тайлвиндом.
Есть платный TailwindUI, есть бесплатный TW Elements, оба годные.
Разрешения расширений строго регулируются. Ты когда ставишь его себе в браузер, тебе хром пишет, что оно может делать, а что не может. Просто не ставь всемогущие расширения. Или проверяй сорцы, это тоже можно сделать.
Так я попробовал первый попавшийся ВПН, там написано имеет доступ данным на всех сайтах. Я так понимаю это и есть доступ к ДОМ. И сколько таких каждый из нас уже наставил?
>Я так понимаю это и есть доступ к ДОМ.
Ну да. А ты думал, что сервера через которые трафик ты гоняешь оплачивать не надо?
Дебс, там не только про тайлвинд. Почему вы можете только высрать пост, с названием технологии и восклицанием, что используй это и все будет круто? Вот трындите про модули, а спашиваешь вас, как с говном эти модули использовать? Вы нихуя не может сказать, кроме как работай на кульных проектах и будет все кульно. Да не использую тайлвинд, потому что трудно кастомизировать под произвольный дизайн. Да у него есть преимущества как у css утилит для больших проектов. Уж лучше тайлвинд чем БЕМ.
А че их оплачивают паролями?
Пошел нахуй шизоубище.
Я уж думал попробовать ботов сделать и туда заслать. Чтобы прям все задачки выполняли.
Но раз банят, нахуй надо.
А так если даже "медленных" сделать, все равно запалить могут и похерить часы пердолинга.
Может кст из-за того, что сразу много вкладок открывалось и по сути ты бил лишь активен на одной.
Т.е. фокус таба в браузере. Т.е. они по этой хуйне могли спалить.
Да ничего, заблочили и хер с ним, просто интересно как система палит. Жаль просто кнопку не обойти, тогда бы палево было бы вряд ли хоть и запарнее
По сути вручную тоже открываются много вкладок. Но тут конечно вообще за секунду десятки.
Я несколько проектов написал на нем. Сейчас пишу на ангуляре. Тут рулит material, какой нафиг тайлвинд.
Самое худшее это был большой проект по БЕМу сделаный, который я поддерживал
Это тред по опусканию тайлвиндоговноедов и реактодаунов.
Тех. вопросы обсуждаются на других ресурсах, либо в МВП.
Но пока что опускаешь себя ты, лицом в грязь. Жалкий плебс, отрицающий прогресс.
Впрочем, реакт действительно хуета, тут соглашусь.
Архитектура это ничего не значащий базворд.
>На реальном проете у тебя будет куча классов на одном диве, только неизвесного назначения и от 10 авторов.
Это шиза какая-то. Я лет 7 из своего стажа был фуллстеком, и на моих сайтах такого пиздеца с классами не было нигде.
Это же невозможно поддерживать, там одни классы переписывают значения других а поведение зависит от их порядка.
Мало того, эти классы потом ещё копипастятся целиком в другое место, а потом при изменениях приходится во всех местах менять.
Эти портянки классов вообще не имеют никакого смысла, потому что если просто весь css засунуть в style, это и то будет проще читать и менять.
_is-desktop _theme_light _is-floors-design _full-height card-video-punch__wrapper-35
Это что? Это яндекс шиза?
>1) Большой проект не может полностью на одном фреймворке быть. Там обычно каша из фреймровков, лангдингов на чистом хтмл, несколько версий реакта включяя древнии и тд. Это все должно иметь один и тот же дизайн.
Видимо, ты работал только на второсортных "больших проектах" без адекватного менеджмента, без адекватного лида.
>2) На больших проектах постоянно приходят новые люди и им некому обяснять какие классы и где можно использовать, чтобы сохранить поддерживаемость и ничего не поломать.
А объяснять и не нужно, потому что каждый компонент хранится в собственной отдельной директории, в которой есть css модуль конкретно этого компонента.
>3) Создание новых классов с копированием стилей из других, создает невозможность вносить правки относящиеся к всему проекту.
Не должно быть правок, относящихся ко всему проекту. Правки должны быть только относящиеся к конкретному компоненту.
>5) Твои модули не являются серебрянной пулей. Ты их не сможешь использовать за пределами фреймворка. А вот переиспользовать миксины в глобальных классах можешь.
Глобальные стили не нужны, за редким исключением типа стилей body или шрифтов.
Это БЭМ, легаси, давно потерявшее смысл, его и цсс модули заменяют, и тейлвинд
>card-video-punch__wrapper-35
или типо того, то не понятно что это значит. Придётся тратить время на изучение класса. А если их 100 или 1000? То есть каждый класс добавляет абстракцию и сложность проекта усложняется в разы на пустом месте.
Добавлю что тайлвинд это такая бритва оккама. Ты просто пишешь стили, а не плодишь сущности.
>>card-video-punch__wrapper-35
Это БЭМ, так никто уже давно не пишет, если человек адекватный. На css модулях будет лаконичный описательный класс.
>или типо того, то не понятно что это значит. Придётся тратить время на изучение класса.
Ctrl + клик по классу сложно сделать?
>А если их 100 или 1000?
Зачем, если с css модулями можно делать всё через один класс?
добавлю - тайлвинд не подсвечивает синтаксис, у тебя 40 классов в 5 строках, на эту хуйню просто больно смотреть
модулях ты открываешь 2 вкладки, компонент и стили, стили подсвечиваются, отформатированы линтом понятно где позиционирование, блочная модель, типография и т.д.
типографика*
и на всем компоненте 3-4 класса с названием которое описывает части компонента аля title, text, etc
>Придётся тратить время на изучение класса.
Ну что за глупости? Какое изучение?
Есть задача исправить компоненту - идешь в компоненту и исправляешь там. Все. Никакого изучения.
Или так сложно найти стили в папке с одним файлом, найти там класс?
Офк, если у тебя весь сайт, все стили в одном файле, классы которые пидорасят и заменяют/дополняют другие классы - проект говно. А говно изучать не нужно, нужно ливать с проекта или с галеры, либо выделять время чтобы переписать все это говно.
>А если их 100 или 1000?
100-1000 чего? Вот даже не пойму о чем ты. Если у тебя весь проект загажен говном уровня "some some--hui" и так весь проект - нехуй там изучать, чисто физически такую лапшу не разобрать.
На кссе нужно писать нормально. И не нужны будут никакие говнотайвиды.
>Когда пишешь что то вроде w-full или px-5 все в команде сразу понимают что это значит.
>жпг
Бля, ахуеть как понятно.
Да. Ты посмотри сам на этот пиздец.
Именна классов с подчёркивания, кебаб-кейс, но есть __wrapper-35. Это говнище полное, так нельзя писать.
Возможно это легаси десятилетней давности.
И вообще, с каких пор яндекс эталоном стал?
Вот загрузился сайт, какой-то исполняемый код чего-то мутит, потом отправляет данные обратно на сайт, данные через нетворк глянуть можно. А можно как-то получить все переменные с их значениями во время работы скрипта?
debugger
Чтоб были, имея их значения пойму логику работы скрипта, он хер знает чего только не получает с сайта какие-то рекурсии постоянные.
Никогда его не использовал, знаю основы основ html и css.
Пролистал гугл ответы, мне это ничего не дало.
Видел у одного чела, что он копипастил код с bootstrap и так делал странички. Так можно? Мне всего лишь нужно добавить строку с скриптами в свою html страничку и потом копипастить код разных блоков?
Можно не копипастить, некоторым челам нравится побуквенно код вводить с клавиатуры. Они специально шумящие клавиатуры покупают и тщательно выдалбливают каждую букву...
Оооооооооой бляяяяя, понеслась. Not this shit again. Бутстрап был популярен когда я только вкатывался, году этак в 2012-м. Тогда его выкатил твиттор, как набор готовых элементов. Не надо было верстать, ты двумя строчками создавал относительно качественные интерфейсы. И это сильно облегчало вёрстку. Минусами бутстрапа был его уёбищный избитый дизайн, похожий на конскую залупу. Его приходилось ПЕРЕвёрстывать, при том что бутстрап весит килобайт 200, ты ещё добавлял килобайт 50 сверху, чтобы ПЕРЕверстать обосранный бутстраповский дизайн. Не вижу смысла в 2024-м году использовать эту говнину. Есть более бодрые дизайны, те же вебкомпоненты на lit, те же ui kit'ы под рякт, тот же bit.dev. Бутстрап видела каждая подзаборная собака сто пицот миллионов раз. Он подходит только совсем рукожопам, кто ни разу в жизни хэтээмель не трогал.
Везде пишут, что нужна тех. высшее образование. Нет вариантов вкатиться если у меня неоконченное высшее? Инглиш upper intermediate
Импджинирую ебало чела который приходит на собес, говорит что знает английский и его спрашивают это.
Джаваскрипт разработчик видит это слово 3 раза в день.
Это склеивать киноленту или связывать верёвку так чтобы из коротких длинная получилась.
А yield знаешь?
О, так ты меня тех. терминологию спрашиваешь. Я еще не приступал к изучению Javascript.
Везде пишут, что чтобы готовить нужно кулинарное образование. Нет вариантов сготовить вареники, если я не повар?
Кстати если представить операцию splice как склейку пленки, можно легко запоминть что какой аргумент делает.
1 аргумент - место где надо порезать пленку.
2 аргумент - сколько отрезать пленки
3+ аргументы - пленка для вставки на это место.
Код неосилятора доки
Ты со слайсом не путаешь?
Самый частый кусок со сплайсом
const index = dildos.findIndex(d => id.id = dildo.id)
if (index > -1) {
dildos.splice(index, 1, dildo)
}
Так со слайсом отрезается тривиально, он для этого предназначен судя по названию - срез и операция эта иммутабельная в отличие от сплайса
>Расскажите вкратце что можно делать с bootstrap.
Удалять.
>Никогда его не использовал, знаю основы основ html и css.
И не надо.
Это говнище лютое, которое срёт в глобальные стили и содержит ебанические вещи типа <a class="button button-ok">. Понял? Ссылка это кнопка. Пиздец.
Надо в TC39 пропихнуть такой же синтаксис arr[1:3]
Интересно, а бутстрап говноеды еще живые или все перекатились в тайлвинд?
Стали нормальными людьми и перекатились в Mantine.
Нет, это я тейлвиндошиз!
В двух галерах миро видел.
Еще есть плагины для идешек/редакторо, но все говно.
Сам для себя ничего удобного не нашел.
прикинь чел сделал пет на жс а ему наставили 60k звезд
Привет, расскажите про рынок ноды в рф студенту, а то у меня в окружении одни питонисты
Не очень хороший пример, но допустим мне нужно сделать график на threejs с анимациями, но хорошо его оптимизировать. Основы threejs я знаю, но скорее всего в графике найдутся баги и он будет не оптимизирован. Чтобы полностью не учить threejs, оптимизации webgl, мне нужно знать только то, что нужно применить к графику. В каком-нибудь вебинаре, хоть платном, хоть каком, это наверняка досконально уже разжевано. Как мне быстро найти такой вебинар, чтобы не потратить время на поиск больше, чем на изучение всей оптимизации webgl?
headles ui + tailwind.
Смысл не в конкретном инструменте, а в подходе, который он использует. В данном случае - ксс в жс. Вот это вот в целом рак.
Так и сделаю. Лучше уж иметь отсортированные простыни из классов в хтмл, чем прыгать туда-сюда по файлам и пытаться держать в голове контекст примененных где-то снаружи стилей.
zalupa.style.tsx передает тебе привет. Ты ж не собираешься все стайлд компоненты в один файл пихать? Хотя даже если собираешься, читать васянщину из ни о чем не говорящих имен компонентов все равно тяжело.
Правильно, вместо не пихания стайлед компонентов в отдельные файлы, пихай только все их стили в один файл, чем их больше будет, тем лучше
Да, так лучше. Вместо <ZalupaWideWrapper> будут конкретные стили, которые отражают реальность, а не фантазию мартышки, написавшей код.
Если бы это было так, то мир стал бы чуточку лучше. Жс - рак, который уже пролез во все сферы, кроме своего юай-загона, где ему самое место.
Потому что ты хуйню сказал уровня студентоты, не взрослого работающего человека.
>раздутые десктопные приложения на электроне
>раздутые мобильные приложения на реакте
Уже одних этих вещей достаточно, чтобы заметить проблему. Жс лезет туда, где есть инструменты лучше. Да, это выгодно кабану, ведь не надо нанимать специалистов на других стеках, но страдают в итоге конечные пользователи.
Какому кабану? Мне вот выгодно что вскод на жс, потому что я пишу на жс и для себя пишу плагин на жс. Мне непонятна твоя концепция - лезет. Вскод тебе в штаны залез? Нет. Бери любой не "раздутый" вариант. Каждый пишет на чем может. Какая-то глупая гипотеза, что если бы небыло какой-то технологии, то было бы больше возможностей.
>Бери любой не "раздутый" вариант
Так в том и прикол, что скорость разработки превращается в конкурентное преимущество, и приходим к тому, что так или иначе приходится пользоваться раздутыми приложениями. Иногда просто нет альтернатив. По работе, например, может требоваться использование зума и майкрософт тимса, оба - говно, но пользоваться приходится.
Ситуация с жс во всех сферах - как с играми, когда в угоду скорости разработки и народным массам любителей говна делают конвеерные второсортные продукты. К счастью, выражена меньше, но все еще есть.
Пиздец. Сколько уже можно на практике изучать, что отсутствие конкуренции не приводит к тому что существующее становится лучше, а разнообразия больше. Не было бы жс или аналога - не было бы нихуя. Куча народу просто бы не стали писать софт или колупали с++ со скоростью черепахи.
И да питон тоже все заватил, по той же причине что и жс. И пхп туда же.
Дефайн "лучше". В бизнесе лучше - это быстрее, потому что тогда можно быстрее начать прогрев гоев, которые отчасти уже никуда не денутся, потому что им будет лень изучать альтернативы. Кабан с электроном просто быстрее захватит рынок, и кабан с плюсами закроется, хотя у последнего продукт получился бы лучше (с точки зрения юзер экспириенса) при прочих равных.
Мне вот похуй на 99% фичей в используемых продуктах, поэтому то, что кабан с электроном сможет их быстрее выкатывать - совершенно мимо.
Рынок работает по принципу good enough, поэтому да, отсутствие хуевых с точки зрения качества альтернатив сделало бы продукты лучше.
https://www.youtube.com/watch?v=phWxA89Dy94
https://www.youtube.com/watch?v=MxEtxo_AaZ4
same bro
завод*
Так я и есть тейлвиндошиз. Хоть что-то адекватные люди делали, а не любители сложности ради сложности.
Откажешься от жиквери, баксов не увидишь. Народная примета.
nestjs + adminjs
генерит таблицы, саму админку на основе.
тебе остается описать поля, сами запросы.
Вы там вообще ебанулись пидорахи? Просто в ахуе с этих дегенератов, меня как и всех годами заставляли писать на реакте, я больше 3д парашу делал и бекенд, но иногда приходилось и жоска в попачку, и блять я попробовал когда-то вью, еще лет 5 назад, а там вьюекс вместо ридакса ебучего и биндинга стейта тьуда-сюда, пиздец как легко и приятно было, но писать приходилось на реактопараше, всегда охуевал с этих костылей.
В одном проекте мы делали чето вроде автокада, там от нажатия кнопки шло событие в ридакс (потом заменен на эффектор), мб еще чето, и рхжс, а учитывая, что там нужно было по ивентам рисовать геометрии и делать кучу математики, а дебаг редукс параши когда у тебя холст еще 60 фпс помогает крутить, это такое ачко что ебать мертвую мать, и там размеры и сложность в целом просто пиздец были, возненавидел реакт и его стейт менеджмент асинхронных событий после этого, а теперь эти уроды говорят что просто можно было вот так? сука пидорасы конченые, их убить надо нахуй, и соевых енжоеров сигнала, и абрамова, и вообще всех нахуй, тупые дегенераты 10 лет не могут вьюекс сделать в реакте, ублюдки сраные сука, пидорасы ебучие, сосите хуй
Админка уровня phpmyadmin. Может просто sql руками в консоль вводить. Тоже своего рода админка...
С подключением. Очевидные вещи типа ивент буса и паттерна обсервер, что на бэке пишутся один раз и на века, фронтомакаки переизобретают каждый раз заново, и каждый раз обсираются.
Я не знаю, почему в авторы и юзеры юай фреймворков раз за разом попадают альтернативно-одаренные. Это тайна фронтенд-мира.
>Админка уровня phpmyadmin
Согласен. adminjs на рякте делают. Так что руками мараться не очень.
Но суть доеба мне не ясна.
Или просто пукнуть нужно было?
react это эксперимент дена абрамова над обезьянами, вк его не взяли, парень завидовал маску - сделаю свой нейралинк:
пидорахам отменяют интерфейс кормушки, говорят - вот стор, пакет, импортируй и используй его значения, а оно - ыыы ууу а юзВпопку(будет)? хачу в попку через юзпопку, не хочу просто брать попку, хочу впопу через юз
Доеб в том что админка следует какой-то бизнес логике, а не тупо вот тебе таблицы, добавляй и удаляй из них строки. Кому нах это всралось. Тетя срака такое не поймет, а макака может это и в консоли сделать.
да шли бы пидорахи дальше своим альтернативным путем, но тут внезапно они стают на чуть более нормальный, но сука, у них под носом простой концепт стора вьюекса уже 10 лет лежит, сука животные блять сделайте все нормально, просто пиздец
отдельный пиздец хочу добавить это попытка как-то особо обработать асинхронные ивенты через сага-парашу с асинхронным yield генераторами, это отдельный вид пиздеца, за него нужно просто ломать ебальники, это просто пиздец, конченые выблядки
никогда не писал на ангуляре и еще я принципиальный противник декораторов в языках, в первую очередь чисто эстетически, ну и травма детства из джавы, так что ну его нахуй, я все равно не вротендер
Так напиши бизнес логику, в чем проблема?
Нест и админжс выполняют основную работу, от тебя именно и описание логики остается.
Таблицы же нужны для, внезапно, отображения данных, чтобы не лезть в базу или пхпмайадмин.
Если не нужны таблицы на фронте, ну бля, не юзай админжс, внезапно.
Дед уже начал подобных тебе из треда выцеплять.
Ты бы извинился, дружок, либо ебало разминай.
>противник декораторов в языках
>в первую очередь чисто эстетически
Ты охренел? Как раз декораторы делают код эстетичнее. Посмотри код на nest js например.
Вот это тебя порвало, обкурыч, зашивайся.
ЧТО ЛУЧШЕ
ЖОПА или ПАЛЕЦ
конечно ЖОПА - она позволяет тебе срать любым говном, ты можешь высрать руку, а ПАЛЕЦ не позволяет тебе срать и дает тебе только свою самость - он палец
нет, у меня на проектах есть большой сетап под експрес, все нормально там, если реально нужно будет что-то серьезное и производительное, я просто на го или расте перепишу
Дело не в производительности. Над экспрессом нужно писать большую кучу велосипедов и костылей, в то время как в несте 95% из этого есть из коробки. Когда приходишь в проект, который написан на экспрессе, то он каждый раз представляет из себя совершенно новое нагромождение тех самых велосипедов и костылей, каждый раз структура проекта другая, а в несте всё всегда примерно одинаково. Это примерно как реакт и ангуляр, аналогичная ситуация.
Ну только разница в том, что садясь на экспресс ты сходу начинаешь писать работающий перформантный код, а садясь на нест ты неделю вкуриваешь доки и пытаешься понять, почему в консоли три этажа красного, попутно борясь с ебанутым синтаксисом, которого даже нет в языке. Заебись выбор.
>Ну только разница в том, что садясь на экспресс ты сходу начинаешь писать работающий перформантный код
Нет, как раз садясь за экспресс ты неделю пытаешься разобраться в костылях и велосипедах, которые накрутили другие разработчики вокруг экспресса. Прямо как с реактом. А если приходишь на нест или ангуляр проект, то в нём практически сразу всё становится понятно.
>а садясь на нест ты неделю вкуриваешь доки
Зачем? Если ты уже работал с нестом, то не надо ничего вкуривать. Да и доки у него очень даже неплохие.
>и пытаешься понять, почему в консоли три этажа красного
Ты пришёл на проект и в нём даже не запускается npm run start:dev? Ты устроился в какую-то третьесортную помойку, сам виноват.
>попутно борясь с ебанутым синтаксисом, которого даже нет в языке. Заебись выбор.
В тайпскрипте есть декораторы. В джаваскрипте будут позже.
Посоветуйте наиболее свежий/модный гайд по бековским технологиям (желательно без воды) аля пг, нода/дено, нест/экспресс и это вот все
А я вот наоборот, а то комплекс неполноценности есть, что нихуя на фронте делать не могу.
Как бы не пожалеть об этом.
>>а садясь на нест ты неделю вкуриваешь доки
>Зачем? Если ты уже работал с нестом, то не надо ничего вкуривать. Да и доки у него очень даже неплохие.
делал себе две апишки, для петов.
так и не почитал доку, все накидал по примеру из шаблона.
зачем вкуривать доку, если и так все предельно понятно, не понял.
мимо.
Неиронично, сходи к бекендерам.
+ В МВП говорят, что в гейропах c# + ангуляр популярн.
Собсн, сам на последнем проекте в этой связке работал.
По гайду не подскажу, за бек не шарю.
Жсоны перекладывать тоже заебывает.
Попадешь на проект с юай либой, где верстать ничего не надо, будешь дрочить жсоны - заебешься точно так же, только это еще более унылое занятие и прям квинтэссенция монотонности.
Оказалось, писал "create" на русской раскладке.
Можешь просто по линкеду понять что всем в Европе нужна джава, а не сищарп, и реакт.
>линкеду
За 4 года так и не завел.
ХХ вроде решает все потребности в работке.
Хз нахуя он нужен.
Да и хх тоже не нужен. У меня вообще нигде в публичном доступе нет резюме, только в пдф, который я лично отправляю через форму на сайтах интересующих меня компаний.
Заметочник аля обсидиан/нотион.
Прально понимаю, что нужна нода в качестве сервера - чтения файлов.
И при сборке проекта, просто указывать, что при запуске фронта, так же запускать ноду?
Или вопрос выше решается фреймворком для сборки веба в аппу? И там можно файлы читать?
Тащемта равно. Ты будешь жикуери вместе с реактор использовать?
*реактом
>Ты будешь жикуери вместе с реактор использовать?
Ты будешь писать функционал либы с нуля или подпердолишь жиквери к рякту?
Табы в реакте одной переменной делаются и гриды есть.
второе - говно, код превращается в запутанную ссанину.
бери первое
это временный хайп, в европе он давно спал и технология стала легаси
Пруфы "падения" будут?
да, иди сварщиком
Я не просто буду. Я так и делаю.
Видишь ли, юный поддаван, мир устроен немножко сложнее, чем это представляется твоему маленькому мягенькому мозгу.
Бля, я сегодня, кстати, на полном серьезе думал накатить говновилд.
Т.к. че-то меня не особо удовлетворила материал-юай, искал варианты.
Прошерстил все что можно, одна хуйня.
Ну и говноеда нужно знать в лицо. Линукс тоже для забавы накатывал, потом додиков в /b попускал.
Но, пожалуй, лучше буду сидеть и не извращаться.
В случае чего накачу taiga-ui.
Ну а на 200 баксов чет проорал. Зашакалили еще главное, а то мало ли, спиздят злостные пираты.
Норм, че ты.
Результат лево, код право.
Красиво и цивильно.
Алсо, говноеды, че за хуйня с инлайн стилями, вы совсем ебанутые что ли?
Нахуя а главное зачем?
Азорные зумеры просто не поддерживали проекты на tw, им весело пока говно-тайлвиндят под свой проект.
Кто хоть раз сталкивается с чужим tw кодом сразу записывают эту технологию в легаси и понимает весь ее пиздец.
может она и прикольная, но весь пиздец арскрывается в момеент поддержки
Пиздец,пора перекатываться
> может она и прикольная, но весь пиздец арскрывается в момеент поддержки
Беспруфный вскукарек
интернет магаз нормально пилить в 2024 это ларка плюс роад раннер плюс постгрес плюс лайввире плюс тайлвинд минус реакт с вуем
>интернет магаз нормально пилить в 2024 это
Это взять какую-нибудь заточенную CMS, установить, слегка настроить и отдать админский пароль заказчику.
Ибо нехуй изобретать велосипеды.
Я написар реальный стек для магаза который делают в студиях.
Твоя сиэмэс никому нинужна, или только нюфагам торгошам
Вместо монги я бы постгрес взял, плюс strapi цмс
>Я написар реальный стек для магаза который делают в студиях.
URL магазина неси. Заценю. Но покупать ничего не буду, если что.
>Твоя сиэмэс никому нинужна,
Мне уж точно. Да и очередной хуйзнаеткакой магазин по счёту не нужен.
>Линукс тоже для забавы накатывал, потом додиков в /b попускал.
и че с линуксом не так?
мимо для забавы накатил убунту, от винды почти ни чем не отличается
h-[1px] min-h-[1px] text-stroke bg-stroke relative before:absolute before:right-[100%] before:w-[100vw] before:h-[1px] before:bg-current after:absolute after:left-[100%] after:w-[100vw] after:h-[1px] after:bg-current
>и че с линуксом не так?
У меня половина системы полетела в первые пару часов.
Проорал и поставил винду.
После этого только через hyper трогал поделие индусов.
Делаешь компоненту.
Закидываешь весь тв в комопненту.
Если нужно исправлять - удаляешь компоненту, делаешь по новой.
Легко пришло, легко ушло.
Так а нахуя ты все в один файл засунул, шиз? Разбей на компоненты и получится читаемо.
>>3006676
а как внутри тайлвинда переменные работают?
вот есть там тема, черная-белая. там же инлайновые стили как-то подхватывают переменные?
или все цвета тупо на память ебашутся?
че-то слабо себе представляю как там все организованно.
без scss, всяких миксинов, екстендов и иклюдесов уже не представляю как стили писать.
Чел, это два блока. Два ебаных блока с минимальной версткой.
Мне каждый пук в компоненту бросать? Каждый див?
Допустим так, а высокоуровневые абстракции над костылём фундаментально разве не хуже самого костыля? Какие проблемы они решают над ним?
Это ничем не отличается от SCSS+BOOTSTRAP
просто на выходе стилей не 90кб как раньше, а 5кб.
Учи базу, чтобы не быть кринжем. Тейлвинд и бутстрап - это как котлета и бургер.
Принимай копиум дальше, тайлвинд это бутстрап, только причесан чтобы зумерки повелись и приняли за новую технологию.
Учи базу, чтобы не быть кринжем. Это фундаментально разные вещи.
https://youtu.be/CQuTF-bkOgc?t=722
Напиши в чем разница кроме результатирующего размера css файлов.
Все это уже было в bootstrap.
Ну настаривать проще, если раньше вы настраивали scss и забывали на конфигурационный файл на пару лет, то теперь мы настаривает это в config.tailwind.js
чел, я открою тебе секрет, сейчас 2024 года и всем похуй будет твой css состоять из 100кб или из 5кб.
Ты ж долбоеб, которому уже сотню раз разжевали раньше, но все никак принять не можешь, что не прав, только и твердишь про 5кб.
На видео с таймкодом тебе доступным языком объясняют, в чем разница. Если ты правда хочешь понять, то иди и посмотри, там всего минута. Снова повторяться я не буду.
Хотя ладно, на видосе все ж чел троллит слегка, так что распишу.
Вся разница в том, насколько тулы opinionated. Бутстрап ставит тебя в жесткие рамки, предоставляя готовые компоненты без возможности нормально кастомизировать.
Тейлвинд предоставляет низкоуровневые строительные блоки для компонентов, компоненты ты делаешь сам под свой дизайн.
Так понятно?
>Тейлвинд предоставляет низкоуровневые строительные блоки для компонентов
Чел, почитай что такое CSS, все эти блоки есть уже там
Вот тебе ссылка. https://developer.mozilla.org/ru/docs/Web/CSS
> Иф ю рили вант, ю кен мейк тайлвинд агли
> Фингс ват правайд аре солид
> Базовые компоненты с сайта тайлвинда би лайк:
Как же проигрываю. Какой-то додик рассуждает о том, какой тайлвинд красивый и легко поддерживаемый, а всякие сойбои копут и верят.
А в следующем видосе рассказывает как умер бутстрап, лол.
СЫЫ - говно, которое нуждается хотя бы в нормальных названиях. Эти названия завозит тейлвинд. Есть и другие проблемы СЫЫ, которые он решает, но об этом позже, сейчас мне надо ручки архитектить в микропенисе.
>4
Беру компоненту с сайта тайлвинда, разделяю ее на 10 других компонент дабы скрыть говнокод.
???
PFORIT!
>СЫЫ - говно, которое нуждается хотя бы в нормальных названиях
>Эти названия завозит тейлвинд
h-[1px] min-h-[1px] text-stroke bg-stroke relative before:absolute before:right-[100%] befo
В голос.
Да а что по делу то, иди реддит почитай, куколдское порно посмотри, что вы там, сойбои, делаете обычно.
Ну а я уже все высказал, правда ты проигнорировал неудобное.
Хотя уже пожалел что посмотрел. Чего полезного может сказать реактодаун?
Может это олды глыбы, которые привыкли стили инлайном ебашить.
Ну или вкатуны, которые начали свой путь с верстки писем.
Я во время пересел на ангуляр, еще в 2022.
Бегите пока не поздно.
Реакта*
>СЫЫ - говно, которое нуждается хотя бы в нормальных названиях.
Есть пример непонятного названия свойства в CSS? Ну то есть такого которое бы не описывало итоговый результат.
Два чаю
>чел, я открою тебе секрет, сейчас 2024 года и всем похуй будет твой css состоять из 100кб или из 5кб.
Bloated web enthusiast
Например, justify-content. Если не гуглить и спросить левого человека, который не работал в сфере типографии или подобной хуйни, то он вообще не поймет, о чем речь. Оправдать контент? Че нахуй? Гораздо понятнее было бы использовать distribute-content.
Спасибо, друг. Здорово помог. Теперь я знаю тестирование!
Открываешь доку по jest, читаешь + 2-3 видоса на ютубе. Всё. Сейчас тесты уже ИИ пишет, тебе ток поправлять надо. Ну ещё виды тестов погугли
>div и другие инлайн элементы получают автоматически доп пиксели вокруг себя, которых в принципе быть не должно. Надо пофиксить? Используй костыли
>CSS охуенный, зачем нужно что-то еще?
Ебало дебилов даже имагинировать страшно.
>ума
Ты ум со знанием всех подводных не путай, разные вещи. Ум - это способность осознать ущербность технологии и взять что-то получше.
Так чем tailwind хорош? Я хороших отзывов видел только две разновидности:
1) Со стороны бэков, которые хотят быстро накидать стилей и не разбираться в CSS, который им не нужен
2) Со стороны довничей, для которых буквально "CSS - это сложно и долго". И их нелепые попытки доказать, что CSS/SCSS в современном мире необязателен с таким волшебством как Tailwind.
Все как с бутстрапами в свое время почти.
Хоть с тейлвиндом знание ксс все еще нужно, он позволяет чуть меньше прикасаться напрямую к этому говну. Уже хорошо.
Как при сборке отключить переименование TS-классов? А то эта гнида везде в именах классов нижнее подчеркивание вперед подставляет.
Везде пишут, мол, это такая esbuild'овская херь, которую ничем не отключишь, даже если собственную мать в vite.config пробросишь. Это так или можно все же изъебнуться?
Еще вроде можно как-то terser-ом собирать вместо esbuild'а, и тогда вроде бы настройки чуть погибче будут. Но ебучий vite dev server все также будет esbuild'ом собираться, так?
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>
)
}
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>
)
}
хз как в рякте это делается.
немого о теории.
для отлова 401 используй интерсептор (дословно - перехватчик).
https://lightrains.com/blogs/axios-intercepetors-react/
https://plainenglish.io/blog/http-interceptors-in-react
токен хрони с локалсторадже либо сессионсторадже, либо куки.
токен так же отправляется в хеадере через интерсептор.
собственно, там все операции по хеадеру и проводишь.
пихаешь его в медведя Authorization: 'Bearer ' + token
при старте, если есть токен, просто отправляешь запрос на пользователя с токеном, получаешь ответ - редиректишь.
если нету, редиректишь.
Слив засчитан.
Это копия, сохраненная 6 апреля в 16:13.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.