Это копия, сохраненная 3 февраля в 19:37.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Всё так, но с ангуляром, к сожалению, есть просто ряд нерешённых проблем:
1. Тестирование. Только недавно анонсировали экспериментальную официальную поддержку jest. Неофициальный jest-preset-angular довольно часто может сыпать ошибками "пошёл нахуй"
2. Postcss и url в стилях, особенно, если ты проект собираешь с base-href просто может ебать мозги и не работать нихуя
3. display: inline по умолчанию в host-элементах всех компонентов. Это ебаный пиздец. Стоит присобачить директиву, которая работает с позиционированием и размером компонентов непосредственно к host-элементу компонента, у которого не прописан displaн -- нихуя не работает
4. Ебучие доп.пробелы, которые ставятся всегда нахуй в вёрстке, и у отдельных компонентов не отключаются
5. Документация всё ещё до сих пор ебаная
6. Миграция на функциональщину говна. Например, какого-то хуя анонсировали deprecated любой Guard на основе классов и интерфейса CanActivate -- пилите, мол, шурочка, функции. Нихуя это не удобно.
7. DI. Удобная штука, но типичной проблемой которой в любом фреймворке (.NET в том числе) является такая охуительная вещь как Circular Dependency. inb4: ряяя, научись нормально делать архитектуру, кодомакака ебаная
Каких модулей в несте не хватает, для работы с чем?
Подход как у ангуляра хорош на бекенде, поэтому нест на беке популярен, не говоря уже о дотнете и спринге. Но на фронте реакт/вью ощущается намного более "на своём месте".
Попробовал ваш ангуляр. Решил начать с tour of hero и уже встрял на первом уроке, потому что при установке зависимостей выпадает ошибка. Видимо реально фреймворк для чедов или мидл+++
> Но на фронте реакт/вью ощущается намного более "на своём месте"
Не знаю, мне реакт сначала зашёл по пиздючеству в формошлёпстве подходом с JSX и нормальной поддержкой TypeScript, но потом я просто сгорел нахуй с того, какая лапша с этим useEffect и бесконечным количеством хуков получается.
Более того, структура в компоненте просто никакая. И каждый пишет кто во что горазд.
Vue я последний раз щупал во времена Vue 2, когда он не умел в TS нихера.
И оба по итогу мне жутко не нравятся своим подходо мешать всё в одно.
React -- вёрстка, различная служебная логика и даже "styled-components"
Vue -- всё в одном файле-простыне.
В Angular будет получше со структурой и логикой тех же компонентов. Не без огрехов, само-собой, и не без неудачного boilerplate в некотором роде.
Почему?
Лох. За те же деньги будешь делать работу полтора человек. Да и тебе в итоге будут давать 80-90% задач в одной области, в другой будет остальной мизер. Ты хороший работник, кабанчик радуется.
> другой области будет 10%
> Лох. За те же деньги будешь делать работу полтора человек
Так тут не полтора работника, а всего 1,10 работника. Это разве страшно? Просто как-то заебала адовая ебка на собесах чистого фронтендера и попробую со своими ненакрученными 1.5 годами стажа проскочить в место, где 90% фронтенда
Проблема в том, что для этих 10% нужно будет иметь необходимые скиллы, а это уже не 10% от твоих скиллов
Ну тут ты прав. Хотя в вузе я решил 150 задач (препод ебанутый) по SQL, и навык написания этого говна и с ORM и без отложился на подкорке. И всех остальных навыков, если они на уровне написания API-приложения внутри Докера (если там конечно нет сложной распределенной системы с экзотичными NoSQL хуевинами и месседж брокеров), мне хватит для фулхема
А вот как накоплю еще годик опыта - опять срыгну в чистый фронт
> 2
Охуенное же, можно тостеров таким отфильтровывать. Не смог отправить номер - мы вам не перезвоним. Лол.
Какие ещё аннотации?
С тайпскриптом нахуй ничего не надо, просто давай внятные имена и типы. И ставь комменты к непонятной бизнес-логике.
А JS? Слышал, что создатели svelte перекатились на ЖС, вместо тс и пишут jsdoc к коду. Типа тс ненужон, если есть jsdoc
Ты вкатунидзе. То что делают глыбы фронтенда тебя ебать не должно. Сиди на тайпскрипте, пока уму не наберёшься
8 лет
> ts нинужон
Он не нужно по другой причине для пиления библиотеки, никто не говорил, что ТС нинужон. Можешь забутстрапить себе свет апп с тайпскриптом. Сриторрным реддиторам только дай повод покудахтать.
Нет, не по этой причине.
jsdoc нужен только если ты GCC используешь. Без статического анализа он нахуй не нужен.
Много чего, в зависимости от того что тебе надо, вит в том числе.
Самый модный – bun, он только только появился, так что все зумеры твои если на нём пишешь.
Не надо. Будущее за RSC и Next.js
А что в моде с реактом использовать? Я хочу реакт учить, я щас подучил штмл цсс жс ванильный и вебпук 5. А оказывается вебпук уже не считается модным, я аж расстроился зачем его учил, теперь другой сборщик надо учить
>React умирает от Next
Пожалуй, так.
Алсо ебало этих кудахтеров про TS нинужон в свелте имагинируете? Они же даже не знают что Рич пилит JSDoc и рядом кладёт d.ts файлики, лол.
А толку? Ангуляр умрет после переката реактовцев.
Сыто там уже точно не будет.
Нужно уходить в бек
>React умирает от Next
Я другой анон, как понимать что реакт умирает от Next?
мимо собрался учить реакт
>Ангуляр умрет после переката реактовцев
Чего?
Типо ряктеры перейдут на ангуляр и тот загнется?
Скорее реактомакаки загнутся.
GCC строит типизацию по jsdocу, как тайпскрипт по своему надмножеству синтаксиса, разница в том что гцц+жсдок обратно совместим с жс, а тайпскрипт нет.
Без компилятора jsdoc – это просто графомания. И генерируемая по нему документация один хер нечитаемое говно, тебе её всё-равно руками дописывать.
зачем неовим если есть жидшторм?
> Кто-нибудь пользуется neovim нынче?
Только как консольным редактором, если вдруг надо редактировать в терминале, конфиг нулевой.
А вот Vim-motions использую, везде где есть плагин\поддержка в редакторах.
Видимо имеется ввиду совместное творчество команд nextjs (vercel) и react (наверно facebook или кто там). Теперь react это fullstack framework с серверными компонентами, запросами к БД итд. Nextjs это вообще полный карачун, как в этом разбираться (и надо ли) хз.
Кеширование.
Другой сборщик учить не нужно, это вебпаковский прикол - требовать знаний, которые на курс растянуть можно
Я нашел приблуду, которая генерит комменты формата жсдок
У верцел есть своя облачная платформа для развёртки решений на nextjs. Необходимость делать себе хорошо так или иначе сказывается на том что они пилят и как.
Не отменяет популярности некста, тем не менее.
Всё больше пытаются превратить некст в фуллкек фреймворк.
Конечно серверные компоненты и возможность фетчить данные на сервере для пререндера заебись, а вот делать запросы в базку говно то ещё и тянет именно к фуллкекству и их постгре на верцеле в эдж функциях.
Отваливаются либы/пакеты, которые работали в pages роутере. Альтернатива не поступает или очень не быстро. Как например, когда она выкатили app роутер, memeнтально отвалились CSS-in-JS либы и UI киты на стайледах/эмоушене. Мантин аж в CSS модули переписали. Первичным решением с фиксом было тыкать 'use client' в места использования компонента из ui либы. Сейчас для того же mui, data-fns и ещё некоторого списка пакетов накостылили встроенных оптимизаторов.
Тащат tailwind как истинно расово верный.
Три, сука, три варианта билда приложения.
Когда ещё пчелиус пробегал, который не мог ограничить размер тела запроса в app роутере, потому что опцию выпилили, а pages она есть.
В целом, плюсов хватает, но направление не заставляет пипи набухать.
Он и на бэкенде отмирает - все пишется на микросервисах сейчас. Это современная особенность ООП копролитов: как только появляется возможность от них избавиться, то тут же избавляются и жизнь становится приятнее и легче.
без версела нельзя?
а что за стейт менеджер в next? или эти васяны не сделали стандартный стейт менеджер?
Да там уже сам факт того, что в какой-нибудь темплейт принимающий строку нельзя прокинуть функцию, которая возвращает строку уже рофельный. Тебе дали жс - язык с охуенными возможностями для преобразования и мутаций данных. Нет не хочу, хочу сделать какаую-то джавапарашу идентичную натуральной и засунуть ее на клиент.
>без версела нельзя?
Можно, собираешь в standalone, а дальше суёшь в докер/кокер/чмокер
Можно собрать под статичный экспорт, в export. Но там надо смотреть, что именно не работает в этом режиме билда.
>а что за стейт менеджер в next? или эти васяны не сделали стандартный стейт менеджер?
Вот они, слева направо, прикручивай любой: redux, mobx, zustand, effecto, jotai, recoil
Да добавлю, не просто собираешь в standalone и суешь в докер-чмокер-кокер, а ещё пишешь докерфайл, который соберёт всю эту ебучую гармошку в правильную структуру с доступной статикой, пабликом и самими страницами, чтобы запустить нодой.
React - главный разраб бросил, а саму библиотеку отдали на откуп верселю с его некстом
Svelte - главный разраб продался верселю
Angular - главный разраб бросил и сбежал делать реактоподобный Qwik
Vue - база на 2024
Пока на некст не завезли нормальную архитектуру для работы с сервером и нормальный механизм dependency injection, то нет смысла трогать все эти серверные компоненты. Сейчас там можно разве что простейший круд сделать для пет проекта.
прямо на странице репы https://github.com/yagop/node-telegram-bot-api
npm install --save-dev @types/node-telegram-bot-api
видишь у тебя вскод подчеркивает тремя точками что типов нет
Спасибо за ответ на сразу два вопроса, но там говорится что это для ts, а для просто js можно так сделать?
>Тогда почему тряска?
Просто хотел хуем тебе по лбу потрясти. У меня получилось.
>>10308
Пчелище, в JS нет типизации. Типизация это или каличный JSDoc, который бережно конвертнется твоей IDE в TS, чтобы у тебя там что-то как гирлянда светилось и подсвечивалось. Или пакет с типами, который ты поставишь в дев зависимости в свой package.json
Двачую. Вуе - охуенный паблик и не жалею, что работаю на нем а не на рякте
еееее, опять ета заезжженая анимация с кластерами из нод
> миллионы учеников
Так разве и раньше не было такого, когда шкила писала html в блокнотах в школе?
Раньше не было курсов и обучающего материала.
Сейчас готовят реально мидлов.
И из-за них старичкам придется теперь реально работать и повышать планочку
Раньше всем было похуй на вайти. Считалось что в вайти одни потные жирные задроты. Гоев прогрели.
>Сейчас готовят реально мидлов.
На курсах - и мидлов? Как это? Можешь дать примеры таких курсов?)
> Раньше всем было похуй на вайти. Считалось что в вайти одни потные жирные задроты. Гоев прогрели.
Ты не поверишь, но и сейчас так же, когда человек ни разу в жизни не слышавший, что такое переменная, ссылочные типы и т.п., сразу бросает, всех кто вкатился называет задротами, а сам обратно в ларёк за чикушкой, т.к., только с завода припёрся.
Ну да, хотя там был api routes (ещё с 9 версии), и на нём круд писался не хуже
> learn.js
Это ты про Кантора, что ли? Не первый раз уже вижу, чтобы так называли, если про него, слово "learn" там уже давно нет.
Да нихуя. Ко мне в компанию приходят такие "мидлы" с курсов, которые имеют богатый базис (но не по алгоритмам, правда говоря), но нихуя не умеют написать. И что самое хуевое не умеют в декомпозицию компонентов, написать сложных состояний и еще дохуя всего
нет*
> но нихуя не умеют написать
Вот сколько раз, слышал подобное, а можно примеров. А то нихуя не умеют, звучит уж слишком абстрактно.
английская зачем? у меня не B2
иначе бы я уже давно сидел на Reddit а не с вами
пил смузи в калифорнии
Да. Посмотри статистику найма за прошлый год. Причём нужны не сеньёры и джуны, а именно мидлы.
Где новости, блять.
А че сейчас актуально? И что будет актуально среди фронтендофреймворков в ближайшие 5 лет?
Че по ноде? Нода на покой уходить не собирается в ближайшие 5 лет? Deno не вытиснет ее на этом отрезке?
Что точно подохнет в ближайшие 5 лет?
мимо-вкатыш
Ты будешь в шоке, но микросервисы пишут как раз на том же спринге, и на несте тоже. А ещё далеко не всё пишется на микросервисах в принципе.
>будет актуально в ближайшие 5 лет?
Бля, у нас нет хрустального шара, мы не знаем что будет в ближайшие 5 лет. Может астероид землю ебанёт и мы все умрём или превратимся в зомби. Ни дено, ни bun никакой революции не сделали. Ну да, они чуть побыстрее, чуть поприятнее, чуть больше свистелок и перделок. Я не буду ради этого менять ноду. Если бы я хотел супер-скорости, я бы писал бекенд на rust, а не на typescript. Сообщество разработчиков в большинстве своём консервативно, если нода появилась 14 лет назад, она ещё как минимум лет 14 проживёт. Никто не будет ради каждой новомодной хуйни бегать и менять стеки. Завтра выйдет не дено, а какая-нибудь хуено, и все побегут сломя голову менять (спойлер: нет).
В серверных компонентах можно делать запросы к апи
Конечно не ушла. Ну потому что это мейнстрим. То что в мейнстриме живёт очень долго. Посчитать сколько расплодилось разных баз данных, и всяких графовых, и nosql, и векторные, и такие и сякие. А сколько из них реально используют? В основном все делают по старинке на postresql. Поэтому программисты консервативные люди. Чтобы что-то поменялось, нужно чтобы вначале early adopter'ы внедрили, гугл, амазон, майкрософт, потом стартапы, всякие там уберы и airbnb. Потом конторы ещё меньше. И только в самом конце новинка докатиться до Васи из мухосранска.
>половина стилей tw классы, другая половина в scss
>использует @apply
>в кастомных tw классах font-size не в rem'ах, letter-spacing не в em'ах
>вертикальные отступы задаёт маржинами
>рандомные py-[5px]
>юзает БЭМ в scoped стилях
1. ебать, я эту штуку лет 5 назад использовал.
постмодерн какой-то.
2. курсор не поинтерится.
3. слайдер без слайдов. зочем?
Судя по коммит месседжам - не вкатился
Тайлвинд заебись, ты в предыдущих тредах так и не сумел пояснить, почему он говно
Слишком много свистопределок, анимаций, все они заторможенные, пиздец короч
Охуенно так взялись, -20% на сборку у нас. У девопсов аж вотчдоги отстрелили, разбирались где нафакапили.
Задавать вертикальные отступы с помощью `margin` в CSS не является обязательно плохим тоном. Однако существуют различные подходы к управлению отступами в CSS, и выбор метода зависит от конкретных требований и ситуации.
Вертикальные отступы можно задавать с использованием `margin`, но важно следить за тем, чтобы они не приводили к ненужным или непредсказуемым макетам. Иногда с использованием `margin` возникают проблемы, такие как "margin collapsing" (схлопывание отступов) между смежными элементами.
Существуют и другие способы задания вертикальных отступов:
1. `padding`: Вы можете использовать отступы внутри элемента, задавая `padding`. Этот способ может быть более предсказуемым, поскольку отступы не воздействуют на соседние элементы.
2. `border`: Иногда границы элемента могут быть использованы для создания вертикальных отступов. Однако этот метод обычно используется в сочетании с `padding`.
3. `flexbox` и `grid`: Если у вас есть сложные макеты, вы можете воспользоваться CSS-моделями Flexbox и Grid, чтобы более точно управлять вертикальными отступами между элементами.
4. `position`: В некоторых случаях можно использовать свойство `position`, чтобы управлять положением элементов относительно друг друга.
Выбор метода зависит от конкретных требований вашего макета и вашего стиля кодирования. Главное - следить за тем, чтобы вертикальные отступы были предсказуемыми и соответствовали вашим потребностям в дизайне.
gap
C#
>Тайлвинд заебись
для todo проекта - да.
Это нужно быть долбаебом чтобы писать такой код в продакшене
>Тайлвинд заебись
Это тебе сказал чел с курсов как у меня на картинке?
https://blog.shimin.io/why-i-dont-use-tailwind-in-production/
Статью писал долбоеб. Он сходу начал обсирать единственное что хорошее есть в тайлвинде это константы для отступов. Все остальное в тайлвинде говно.
Может такой тонкий тролль, но скорее всего просто максимальный долбоеб.
А есть ли туториал/книга по взаимодействию расширений и скрипта? Интересует момент написать примитивную машину Тьюринга, запихнуть это в расширение/плагин и как-то это дело запускать скриптами по мере нужды.
По мне так переусложнённая манясмузиконцепция, от которой работа с глобал стором становится только неприятнее. Достаточно дефолтной структуры редакс тулкита, но ещё лучше вообще какой-нибудь зустанд
Подзатыльники всем раздали, бан до завтра.
Ну, вообще правильно, че-то в лайтовый хохлосрач скатились, не по теме треда.
Сообщения касательно малварей в нпм пакетах были по теме треда, по крайней мере первые из этих сообщений
https://arstechnica.com/information-technology/2022/03/sabotage-code-added-to-popular-npm-package-wiped-files-in-russia-and-belarus/
https://habr.com/ru/news/656219/
https://habr.com/ru/news/656205/
Это да. Пусть останутся на память.
Но лучше не разводить срачей, а то местная моча уже дрыном ебнет, а не подзатыльник.
стукачек завелся
Ну боевым свиньям место на /po/раше, тут безаппеляционно. Пусть там хрюнделями перемогают. Но таки ебанули всю ветку.
Да похуй, кто успел, тот покекал.
Суть ветки в трех ссылках выше можно передать.
Предохраняйтесь пацаны, вы пмам еще нужны.
>безаппеляционно
Ну, там еще че-то про говорящих голов было, про игоры и т.д. Много не по теме в конце ветки было.
Да, почаны, предохранируйтесь https://security.snyk.io/vuln/?search=node-ipc
>Ну, там еще че-то про говорящих голов было, про игоры и т.д. Много не по теме в конце ветки было.
Ну там же про голов с контентом. У которых один хуй можно включить автогенерируемые субтитры, если сильно надо. Ну то есть мера даже не мера.
btw
>не знать английского в 2k2d3
es5-ext
Так там есть спидораки или нет, не понял.
Или просто чисто проход в сами знаете кого.
В хабровской табличке с проходами помечен как "Опасный" с неясной для меня формулировкой: "увеличивающий утилизацию ресурсов", помимо мишуры.
Или неясная формулировка не несет чего-то критического компу/сайту?
Сервис, похоже, годный, буду проверяться.
Ну там можно отдельно пакеты сканить и вообще накатить локально, чтобы посканить проект.
Но в целом, понятно, что повышенная утилизация ресурсов менее очевидна при анализе, чем код, который действует на всех, независимо от таймзоны и его порепортят быстрее.
scss уже давно придумали.
буквально одной строчкой можно делать неограниченное кол-во кнопок.
все кишки - легкодоступны. все кишки - спрятаны от глаз долой.
и классы приятные-понятные и стили ясные и опрятные.
если ты не умеешь использовать скссовские импорты, иклюдесы, делать шаблоны, то земля тебе тайлвондом.
Просто переписал большой проект с scss модулей на tailwind, увидел как похудел бандл на 30%.
Мне в принципе доставляет, что тут дохуя людей слушает дебилов из твоей статьи. Если вы будете конкурентами моего кабаныча, мы уже будем впереди. Главное не показывайте, как мы пишем стили, а то кабанчик и вас на TW пересесть заставит
>все кишки - легкодоступны. все кишки - спрятаны от глаз долой.
Ммм, обожаю лазить по слоям scss абстракций. Вспомнил - прослезился.
Нет, спасибо, я лучше за 2 минуты напишу стили для всего модуля сразу, чем 30 минут лазать по доке/сурсам очередных "спрятанных от глаз долой" кишок
>Если вы будете конкурентами моего кабаныча, мы уже будем впереди.
Не, ты будешь еще переписывать стили.
Ну ну
>взять_стили_из_шаблона(синий)
ebin BENIS :DDD dot jpg
css variables? primary secondary? нахуя так сложно то
> увидел как похудел бандл на 30%.
Радуется экономией 200кб в вебе.
чел картинка больше весит
сука... с кем я сижу
А я вот 3 месяца назад переписал с tailwind на css-in-js
Картинка загрузку сайта не блочит, дебилыч
>Радуется экономией 200кб в вебе.
>чел картинка больше весит
Да, конечно, картинка же в браузере выполняется, деревья там какие-то натягивает и красит. Скрипты выполняет, подписи проверяет. Ухх блядь.
Видел тут недавно пориджевый лэндос фрилансера, за который ему даже заплатили. Который он слабал на коленке на нексте даже!
Ебало имагинируете от SVG на 7 метров, которую он надеялся пожать шарпом? И на мобиле те же самые 7 мегабайт?
Дальнейшее применение логики с кнопкой недопустимо, необходимо воротить лапшу из инклюдесов и шаблонов.
Принял. Понял.
1. Верстаешь быстрее, потому что классы в большинстве случаев тупо короче css свойств
2. Ввиду отсутствия кастомных имён классов, и постоянного переиспользования утилити классов - вёрстка охуенно сжимается, от этого бандл c tw всегда будет меньше бандла с любым другим способом стилизации.
3. Следствие пункта 2 - tw скеилится лучше всех. Т.к. утилити классы постоянно переиспользуются, с ростом количества страниц/компонентов в проекте, увеличивается только количество js кода, Итоговый css практически перестаёт расти в размерах.
Применяю логику дальше - абстрагируем кнопку в компонент и переиспользуем. Эх, если бы так можно было с tailwind..........
Пару месяцев назад скидывали какую-то доку по вью или нуксту, ну или не доку, хз.
Там сайт тормозил на самых мощных компах анонов, прям слайдшоу.
При этом каких-то супер свистоперделок не наблюдалось.
Просто купите комп помощнее и роутер.
https://marketplace.visualstudio.com/items?itemName=stivo.tailwind-fold
Не забудь плагин накатить чтобы скрывать спагетти.
Эх, если бы только был способ распилить одну длинную строку на строки поменьше... для читабельности... Ох уж этот тейлвинд - компоненты создавать не даёт, строчки разбивать не даёт
А ты когда обычные css-классы компонуешь, также переносы делаешь? Дебил бля, добавь между каждым классом по пустой строке ещё
А как ты спагетти-строки разбивать собираешься?
Пустые дивы ради дивов и разбития строк пихать?
Или все спагетти в помойную компоненту запихаешь и типо внутри нее миленькие маленькие строки будешь писать?
А ка в беме хуеме такое сделать? Веть даже не перенесешь на новую строку
product-subcription-form__email-subscription-button
>фу мам я не буду есть спагетти в помойном компоненте с маленькими миленькими строками внутри
>но сынок, это же scss модуль, просто сделай @inlcude
>омномном
>Див ради разбития строки, пустой див ради дива.
Это либо очень жирно, что аж тонко, либо тайлиндошизи и правда дегенераты.
Ебать ты дегенерат, я твою же вёрстку взял и просто разбил строки. Ни одного пустого дива я не добавлял
Ты из 90 сюда пришел?
Бемовский неймнг умер, один раз видел как один лид одну компоненту сделал, все остальное он накидал на похуях, т.к. стили организовал грамотно, а не спагетти из тайвиндоговна или инклюдесов.
> Верстаешь быстрее, потому что классы в большинстве случаев тупо короче css свойств
- Верстаешь медленнее, потому что тебе приходится читать доку на 3000 классов, одновременно с этим копаться в самописных классах с apply, разбираться в говно-плагинах в папочке golvno-plugins
- Поддерживать код сложней, портянка из 40 классов.
- Что-то оригинальное ты хуй сделаешь, ограничен фреймворком или придется писать свои плагины
> вёрстка охуенно сжимается
> Итоговый css практически перестаёт расти в размерах.
веб-байтоебы на полном серьезе бьются за килобайты в 2023?
Ну не хочешь ты грузить весь CSS разбей его на бандлы и привяжи к отдельным страницам.
Я может и соглашусь что он быстрей/меньше, но гонясь за этим вы жертвуете общим качеством проекта и превращаете его в неподдерживаемый понос.
Вы можете не готовить ужин, а скушать свое говно и мочу, только качество будет не то, лучше уж потратьте время на приготовление хотя бы риса.
Как же я заебался приходить в проекты и переписывать это легаси-говно на человеческие scss/modules/css-in-js
А люди мне говорят спасибо, потому что какой-то хуй продавил технологию своим статусом и уволил поняв что проекту пизда в плане css-a
Ебало имагинировали ради одного утила из фильтра по массиву строк на пустые значения тащить целый пакет? Просто чтобы можно было читать классесы тейлвинда и организовать их по смысле на разные строки?
Тайвиндовская не моя, я скопировал из вашей доки.
При этом опечатка в слова шодов.
Скажи мне, как ты собираешься взять строку из 100500 классов и разбить ее? Два класса в линию? Потом три класса в линию? А в чем смысл, если у кого-то стоит ограничение на ширину, все равно свернется и будет та же каша.
Разделить на пустые дивы как в доке?
>Ну не хочешь ты грузить весь CSS разбей его на бандлы и привяжи к отдельным страницам.
Не пиши говноедам такие вещи, сердечный приступ будет.
>css-in-js
Еще один говноед.
>потому что тебе приходится читать доку на 3000 классов
Не приходится, потому что все классы интуитивно понятны. + есть IntelliSense плагин, так что поинт не засчитан
>одновременно с этим копаться в самописных классах с apply
Эх, если бы только можно было не юзать @apply...
>Что-то оригинальное ты хуй сделаешь, ограничен фреймворком или придется писать свои плагины
Что "оригинальное" нельзя сделать в tailwind? Это как сказать, что в CSS нельзя сделать что то оригинальное, ЛОЛ
>Еще один говноед.
Лучше уже это говно, которое хотя бы можно пинать ногой.
Чем понос в виде tailwind
>как ты собираешься взять строку из 100500 классов и разбить ее? Два класса в линию? Потом три класса в линию?
Никак. Нет способов, подловил...
Алсо
>рряя мам, я не буду копаться в самописных @apply классах
>сынок, но это же самописные scss классы
>омномном
>Не приходится, потому что все классы интуитивно понятны. + есть IntelliSense плагин, так что поинт не засчитан
>IntelliSense
Приходится, ну или ты превращаешься в долбаеба который открывает портянку из 15 класса и наводит на них мышкой
Хуй знает чел, если ты мамкиного верстальщик может это и круто, но у настоящего инженера tailwind вызывает отрыжку говна
Ну так и зачем? Напиши свою функцию не в 228 байт, а в 50, без магии и неприбитой версии зависимости.
Сегодня это хороший американец, а завтра мы его опять в гугл доки понесём, потому что версия пакета не залочена. Лол.
Поинт был в том, что можно разбить строки и конкатенировать их любой функцией, а не в том что надо тащить пакет для этого.
Если ты видишь класс "flex-col", или "p-4", и ты не можешь интуитивно понять что он делает, то тогда тебе действительно стоит остаться на css/scss.
margin:10px
}
Как данную задачу решить в tailwind?
Никто не ответил потому что придется лезть в доку и горбатится над классами минут 20
tailwind помойка говна
В TW это решается с помощью ml-2.5 на нужном элементе, ты запостил говнокод
<div class="a">
<div class="b" />
<div class="c m-2.5" />
<div class="c yoba" />
</div>
Понимаю, побороть желание высрать говнокод у тейлвинд хейтера практически невозможно, но попробуйте верстать так, чтобы у вас не было нужды городить дохуя селекторов. Вам же удет легче
Да, берёте цss freimwёrk, и начинаете классы в списке организовывать по назначению, чтобы не думскроллить горизонтально.
Так так так([
структурные стили сюда,
стили шкурки сюда,
])
Ой ебать, OOCSS внутри строки от CSS фреймворка на основе
Пирамидку иллюминати с архитектурой тейлвинда не нашёл, поэтому будем сравнивать на пике 2 с бутстрапом.
Какое же это говно если taildindу скормить что-то сложней hello-world
>умеет во селекторы
Умеет, просто твой пример это говнокод, никто в здравом уме такое не пишет. Так называемая "проблема" решается другим путём, а не говноселектором
Пит буль
>а не говноселектором
Ифами?
Селектор самый чистый вариант если нужно сделать йобо логику отрисовки, когда у тебя в зависимости от размера, в зависимости от кол-во элементов, например, будет определенное кол-во бордеров в блоке.
>РЯЯЯ ты просто решаешь не правильную задачу
>никто в здравом уме такое не пишет
tr:not(.active){
filter: blur(3px);
pointer-events: none;
}
Пишут и очень часто
Если ты используешь :hover для своего hello-world проекта это не значит что у всех так, я использую почти все селекторы
https://developer.mozilla.org/en-US/docs/Web/CSS/::highlight
чем дальше, тем больше будет говна в TW, это будет просто мусорка.
Я еще угарнул " :before content:"yoba"
Господи какие же долбаебы создавали tailwind
Чел, ты в порядке?
Ты скопировал строку и добавил в одну из них класс.
Т.е. ты предлагаешь делать это в том же форыче, а если таких "проблем" будет несколько в одной компоненте, то будет спагетти условий.
И это "ЧИЩЕ" чем одна ксс строка на одну проблему.
Пнятненько.
а если я хочу свгешку в контент запихать?
Нет чел, ты не решил задачу, решение иерархии у меня на картинках
Только в итоге это будет выглядеть как большая куча навоза
>ты просто решаешь не правильную задачу
Я сказал, что задача решается по другому.
>tr:not(.active){
>filter: blur(3px);
>pointer-events: none;
>}
Несостоятельность вашей критики заключается в том, что вы решаете проблему окольными путями с помощью неявных с первого взгляда селектов, и недоумеваете, почему TW не поддерживает ваш говностиль
Этот селектор заменяется ифом в коде компонента.
<tr className={disabled && "blur-sm pointer-events-none"}>...</tr>
>неявных с первого взгляда селектов
Я такими штуками научился оперировать в первые месяца вката...
>И это "ЧИЩЕ" чем одна ксс строка на одну проблему.
Да, чище. Потому что такие селекторы - сайдэффект.
>>12273
А как насчёт не делать иерархий? Почему кто то должен копаться в куче говна из неявных селекторов "прямой сосед третьего ребёнка, не имеющий класс "йоба" и является последним в списке?"
Так и я научился, по факту мы привыкли к говну и можем это говно прочитать. Но есть вариант - не делать говно
>Но есть вариант - не делать говно
Делая кашу с ифами, которую, конечно же, нужно оставлять в верстке, потому что убрать в ксс файлик одну строку ксса - сайдэффект.
Да, чтобы потом другой человек не сидел с девтулзами на перевес, и не выискывал твою "лакончиную" одну строчку в css
Вот бы ещё потом для читаемости в этих строка управляющие конструкции от операторов отделить визуально. Вот тогда тэйлвинд будет заебись.
>Да, чтобы потом другой человек не сидел с девтулзами на перевес, и не выискывал твою "лакончиную" одну строчку в css
Чтобы понять, какого хуя "последний элемент и прямой сосед третьего ребёнка, не имеющий класс "йоба"" перекрашивается в красный
Бедный анальник, предложили прекратить селектить "последний элемент и прямой сосед третьего ребёнка, не имеющий класс "йоба"", а без выебонов застайлить напрямую
>А как насчёт не делать иерархий?
Так задач куча на вложенность, самую простую я описал "не подсвечивать выделенную строку" ты решил эту задачу через костыль в виде добавления js зависимости
вот я про это и говорю tailwind проекты состоят из говна и палок.
>ты решил эту задачу через костыль в виде добавления js зависимости
А класс .active в твоём примере добавляется без js зависимости?))) На пыхе пишешь?)))
Я про другое, тебе придется на каждый чих вводить новый STATE +IF
это не так плохо, но читаемость говно.
умные дяди просто добавляют .class и прописывают к нему нужные свойства, которое потом кстати конвертируется в .class-qhw7738232
у вас можно сделать тоже самое через apply но тогда теряется весь смысл TW
Я тебе вот про что:
В твоём примере есть два состояния строки - активный и неактивный. Существует какая то бизнес-логика: определённые строки в таблице заблочены.
В твоём примере, если ты динамически добавляешь .active строке с помощью js/генерируешь вёрстку на бэке, то у тебя и так есть конструкция типа:
<tr className={active && "active"}>...</tr>
В этом случае типо не добавляется новый "STATE +IF"?
Если понадобится добавить статусы "success" | "warn" | "error", ты будешь добавлять новые ифы. Если я неправ - напиши селектор, который позволит это добавить без ифов.
а теперь представь что будет таблицы с 2 уровнями вложенности
снова будет городить level1 state level2 state?
Та задача просто пример
Ты вместо того что бы писать код будет вечно натягивать сову на глобус лишь ты не поломаться TW
>а теперь представь что будет таблицы с 2 уровнями вложенности
>снова будет городить level1 state level2 state?
Абстрагируешь вкладывающиеся элементы в компонент, пропами передаёшь стейт.
>лишь ты не поломаться TW
TW не ломается от увеличения вложенности/изменения в иерархии, в отличии от CSS. Потому что в TW в принципе нет возможности без костыльных arbitrary values делать иерархии и устанавливать зависимость между элементами сложнее, чем родитель > потомок. Потому что иерархии не нужны, что наглядно видно по твоему примеру - можно обойтись без них, и написать стили "плоско"
640x480, 0:23
>Потому что иерархии не нужны, что наглядно видно по твоему примеру - можно обойтись без них, и написать стили "плоско"
>Абстрагируешь вкладывающиеся элементы в компонент, пропами передаёшь стейт.
Тайлвинд.
Мимо чистый CSS боярин.
>Если я неправ - напиши селектор, который позволит это добавить без ифов.
.success {
//
}
.warn{
//
}
.error{
//
className={status}
Все просто и читаемо
Ну и добавок - твой пример показывает, что ты мыслишь вообще странно. Почему именно tr:not(.active), а не tr.inactive / tr.disabled ? Тебе не кажется странным, что твоём примере строка по дефолту неактивная? Может должно быть наоборот? Представь как было бы тупо, если бы в html все button были по дефолту disabled, нужно было везде прописывать <button active />
Ну и где тут иерархия? Получается не нужна?
Ну так вытирай своё кресло, подмойся
чел, да я тебе скидываю простые примеры чтобы показать как TW это решает через говно-код
но ты зашел дальше, ты не просто не решил ее через tw, ты взял JS
css бояре решаю данные задачи в 1 строчку, самое главное код чистый и читаемый, модульный.
ваш TW просит создать кучу внутренних переменных вместе с inline [$:hover>$not(p-2:not)(:hover)]
Я могу использоваться новые штуки CSS, а ты ты жрешь что тебе дают
Я могу сделать все что угодно на CSS, тебе придется писать свой TW_PLUGIN и кучу оберток
А еще все умалчивают про скорость билда на tilewind)
>чистый и читаемый, модульный
>tr:not(.active) вместо плоского tr.inactive, или. упаси Б-же, .inactive без селектора по тэгу
Ну охуеть теперь
>css бояре
+ этот "боярину" говорят переместить предмет, его иерархия ломается, и приходится заново писать полотна селекторов.
Ой не могу, ну не можете же вы быть такими тупыми
Уж точно лучше чем [$:hover>$not(p-2:not)(:hover)] [hover content:"\111"] [$:hover>$not(p-2:not)(:hover)] pt-1 ps[:300]:ps-11
Да никто эту хуйню писать не будет, бедолага. Если вчитаться в твой селектор, то в tw это делается классом "group" на родителей, и нужными стилями с префиксом "group-hover:". И никакие :not() нахуй не нужны, это хуже if'ов в разметке, потому что когда ты переместишь .yoba > .element вне .yoba, у тебя стили нахуй проебутся. Поэтому придумали писать стили плоско, поэтому такие селекторы клеймят говнокодом.
> эговорят переместить предмет, его иерархия ломается
Я просто меняю имя класса местами
В случае TW ты должен разгрести портянку кода [$:hover>$not(p-2:not)(:hover)] [hover content:"\111"] [$:hover>$not(p-2:not)(:hover)] pt-1 ps[:300]:ps-11
А потом поменять правила иерархии в своих js костылях
да и css боярину никто не запрещает писать независимые блоки так же как у тебя, просто это не нужно
>В случае TW ты должен разгрести портянку кода [$:hover>$not(p-2:not)(:hover)] [hover content:"\111"] [$:hover>$not(p-2:not)(:hover)] pt-1 ps[:300]:ps-11
Ещё раз, я не буду разгребать эту портянку, потому что я не буду писать эту портянку. И не нужно будет писать эту портянку в принципе
Когда мне понадобится переместить элемент из условного .yoba, я тоже просто перемещаю элемент, и удаляю "group-", оставляю "hover:"
>Да никто эту хуйню писать не будет, бедолага.
Ясно все с тобой
@берем TW
@пишем на JS/ кастомных классах, игнорируем селекторы
>И никакие :not() нахуй не нужны,
вместо готовых полезных селекторов ты обмазываешь js-говном, лишь бы оправдать свой TW
Спасибо, но нет.
Ты будешь писать эту портянку чтобы придерживаться принципов TW, иначе зачем брать TW и не использовать TW?
Или ты берешь TW только для p-1 m-1 ,
чел...
Да я уже понял, ты взял TW но игнорируешь TW придумывая свои костыли лишь бы не писать на TW
Ты гений
>вместо готовых полезных селекторов ты обмазываешь js-говном, лишь бы оправдать свой TW
>tr:not(.active) вместо плоского tr.inactive, или. упаси Б-же, .inactive без селектора по тэгу
Я не буду писать эту портянку
>"group" на родителя, и нужными стилями с префиксом "group-hover:"
Я игнорирую твоё желание писать говнокод, и городить селекторы там, где не надо.
>Я не буду писать эту портянку из tw-селекторов :yoba
>я не буду использовать @apply
Тогда зачнем ты вообще взял TW
:hover то хоть через tw делаешь или тоже js?
Потому что TW это не про "последний элемент и прямой сосед третьего ребёнка, не имеющий класс "йоба"", не про жонглирование селекторами
TW это про прямую стилизацию нужных элементов, тотальную реюзабельность, избавление от лишнего уровня абстракции и необходимости задавать названия классам в принципе и сжимаемость итогового css бандла.
Откуда ты вообще взял, что TW это про arbitrary values я хуй знает. Если бы TW был про clusterfuck классов, то придумали бы способ писать эти селекторы без квадратных скобок.
>это про прямую стилизацию нужных элементов
а что нового? bootstrap на максималках, еще в те времена этот подход не прижился даже у простых верстальщиков.
>не про жонглирование селекторами
Я уже понял что ты не будешь использовать современные возможности браузера.
>тотальную реюзабельность
Экономишь 10кб, в итоге превращаешь проект в говно, молодец, хули.
>лишнего уровня абстракции и необходимости задавать названия классам
Нет, ты будешь создавать новые классы через APPLY и в итоге у тебя будет более 200 класcов, все как раньше. Чел, я хуй знает что ты там верстаешь, но в средних и крупных проектах люди повсеместно прибегают к @apply и custum plugin
>Сейчас это просто инструмент не для этого.
То что в tailwind не принято городить говнокод по твоему нраву - не значит что он этого не может. Если ты переносишь свои говнопрактики в TW, то ты получаешь
>[$:hover>$not(p-2:not)(:hover)] [hover content:"\111"] [$:hover>$not(p-2:not)(:hover)] pt-1 ps[:300]:ps-11
Попробуй перестать говнокодить для начала
>Нет, ты будешь создавать новые классы через APPLY
Нет, не буду. Я же не болен вложенными селекторами головного мозга.
>но в средних и крупных проектах люди повсеместно прибегают к @apply и custum plugin
Говнокодеры воспользовались принципиально другим инструментом как CSS, ну и ну! Ну точно tw виноват
>Нет, не буду. Я же не болен вложенными селекторами головного мозга.
Если не будешь, значит ты используешь TW на 15% , это как взять С++ и игнорировать указатели
Тебе дали инструмент, а ты игнорируешь и пишешь костыли на JS
Открой любой Ui-kit на TW от взрослых дядек, открой любой open-source проект, повсеместно используют apply/plugins
Я про то и говорю, откроешь TW проект а там костыль на костыле, лишь бы не использовать TW)))
А нахуя брали? экономим 10кб))
>экономим 10кб))
Да базару нет, не экономь. Ещё раз говорю, если мы будем конкурировать, когда в моём сайте появится в два раза больше страниц/компонентов, мой css бандл останется прежним, а твой увеличится пропорционально. Я даже рад, что мне позволяют так просто выигрывать конкуренцию в производительности
Алсо
>Если не будешь, значит ты используешь TW на 15%
проиграл. Ебать у тебя в башке насрано. Вложенные селекторы заебись, плоские стили - говно.
>Я даже рад, что мне позволяют так просто выигрывать конкуренцию в производительности
У меня нет бандла на 10000 css кода.
у меня бандл на 100 css кода для каждой страницы, если пользователь протыкает весь сайт, то конечно будет 10000 css, но после перезагрузки страницы это все в кэше.
Новая фича не затрагивает весь css код
Что побеждаешь ты - хуй знает, ну может 0.001s
Потому что ты даун тупорылый. Ты реально не понимаешь, что селектить "последний элемент и прямой сосед третьего ребёнка, не имеющий класс "йоба"" это ненормально?
Ты реально непонимаешь, что селектить tr:not(.active), tr:not(.huyactive) > .zalupa ~ .yoba > .yoba-child:last-of-type это не нормально?
А у меня будет бандл 100 css кода на всё приложение. И даже если пользователь прокликает все страницы, то бандл останется 100 css кода.
> не нормально
Это нормально если ты делаешь связанную фичу из нескольких элементов, которая никогда не будет разделена и в ней много ховеров, других подсветок, которые зависят от вышестоящих элементов.
Таких задач полно, пойми, не все делают плоские сайты где есть кубик а в нем картиночка.
Я тебе еще раз пишу, что ты приебался к иерархии, мой посыл ко всем селекторам, десятки селекторов которые нужно использовать и десятки селекторов которые мы ждем в 2024 году.
Это все современные удобные фичи
>А у меня будет бандл 100 css кода на всё приложение.
ты молодец, у тебя экономия 2-5 кб текста, только теперь твой проект состоит из говна.
Ты бы хоть историю почитал почему люди плевались от Bootstrap и его аналогов
Там же были точно такие же аргументы как и у тебя
>у тебя экономия 2-5 кб текста
У меня экономия от 50кб текста до бесконечности. То что ты берёшь такие цифры с потолка, говорит о том, что ты тупо не разбираешься в вопросе.
>почему люди плевались от Bootstrap
Люди плевались от bootstrap, потому что он хуёво кастомизируем и раздут
>если ты делаешь связанную фичу из нескольких элементов, которая никогда не будет разделена и в ней много ховеров, других подсветок, которые зависят от вышестоящих элементов
Два слова - "group" и 'peer". Всё, твои селекторы не нужны.
>вот щас заселекчу ::before соседа чётного непрямого потомка второй строки таблицы, без класса .active, будет чисто
> потому что он хуёво кастомизируем и раздут
Разницы нет, просто сейчас ты это делаешь в json, а они это писали в config.css...
А твой не раздут?)
>А твой не раздут?)
А как tw может быть раздутым? Там по дефолту в бандл не идут классы, которые ты не юзаешь, в отличии от бутстрапа
Какие, не подскажешь? Или у тебя браузер мудрый волшебник?
>в отличии от бутстрапа
А кто тебе мешает его настроить так что бы не шли ?
Просто сейчас в этом уже нет смысла... берут tw
>А кто тебе мешает его настроить так что бы не шли ?
Типо tw раздут, потому что бутстрап можно настроить так чтобы не шли? Вообще не понял к чему ты это сказал
А то что?
Твой посыл в том, что если используешь TW с 1 классом то он выдаст бандл с 1 классом (типа не раздует бандл)
Но так работает и Bootstrap с нужными плагинами для webpack
люди попользовались и ушли от него, поняв весь пиздец подхода.
Но зумеры снова взялись за старое, тот же bootstrap только под смузи.
вместо миксинов apply и плагины
>тот же bootstrap
Bootstrap - CSS фреймворк с готовыми компонентами
Tailwind - набор утилитарных CSS классов, готовых компонентов там нет
>люди попользовались и ушли от него, поняв весь пиздец подхода
пиздец подхода bootstrap - компонентов в виде css классов.
>вместо миксинов apply и плагины
Не юзают адекватные люди @apply, говорю ещё раз
>Bootstrap - CSS фреймворк с готовыми компонентами
Я же сказал, есть плагины которые позволяют вырезать весь мусор от компонентов.
Есть сетки без мусора, куча решений.
Просто нужен плагин
Не имеет на словах
На деле я могу использовать botstrap так же как и ты используешь tw
Люди так и делали, брали сетки, готовый набор классов(все тот же m-1 m-2 m-3) и ебашили говно-проекты.
Он пиздит, все используют, пруфы лежат в репо UI-китов tilewind
там это используется очень часто.
А репы создавал не чмошкин, а уважаемый люди
Потому что tw убирает слой абстракции "css-свойства группируются в именованные классы", а ты добавляешь его снова. Если у тебя появляется идея юзануть @apply, значит тебе нужен компонент, а не класс.
>На деле я могу использовать botstrap так же как и ты используешь tw
Это называется "использовать css классы"
>нужен компонент, а не класс.
Ты предлагаешь убрать простыню говна на 1 уровень выше...
хз, я лучше буду писать 10 свойств CSS вертикально чем писать 10 свойств CSS горизонтально, проблем с CSS в производительности\подгрузке никогда не испытывал.
py-2 px-4 bg-blue-500 text-white font-semibold rounded-lg shadow-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-opacity-75focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-opacity-75
UI-kit'ы на tailwind это вообще отдельный вид шизофрении. Наступают на те же грабли bootstrap - реализуют компонент как css класс.
Нормальные люди берут headless библиотеки и делают UI-kit сами.
Ебало сафариойдов имагинируйте. Те самые челы с деньгами, у которых в сафари и на микро сафари даже его хайлайт не работает. А мне рассказывали тут, доказывали, что кабанчику эти в частности особенно нужны и важны. На выходе: про участника сафари забыли, сайт для него зсвистит и за пердит в 2025, когда аппле соизволит реализовать фичи, если посчитает нужным, да и то после покупки нового шмака.
>Ты предлагаешь убрать простыню говна на 1 уровень выше...
А ты типо компоненты не создаёшь? Или игнорируешь тот факт, что у тебя три+ уровня абстракций (компонент > разметка > стили в модуле scss > ...) вместо двух (компонент > стили в разметке)?
>я лучше буду писать 10 свойств CSS вертикально
Пили строки и пиши вертикально, лол. Я проблем с чтением tw классов не испытываю
Имагинируй моё ебало, когда я не мог юзануть gap, потому что на момент разработки 30% целевой аудитории (блинолопатная скотоублюдия) не поддерживало gap
Я просто использую ксс по назначению. Для описания переиспользуемых стилей.
Нахуй мне компонент реакт кнопка с тайлвинд лапшой и без логики если я могу просто использовать тег button?
Как ящитаю надо использовать тайлвинд. Всё на нормальных стилях, и @apply, а там где лень лезть в ксс хуячишь тайлвинд классами.
>Пили строки и пиши вертикально, лол. Я проблем с чтением tw классов не испытываю
Не испытывает он, слышал я такое от людей из Pug, им удобно значит - нужно тащить говно, чел, tw унижен и раскритикован величайшими инженерами еще в 2022 году.
А я не испытываю проблем с mt-10 tab
пили на своем говне, я пользуюсь современными подходами веба.
Например. У тебя есть компонент с тремя кнопками. Внешний вид кнопки задан в глобальном ксс. А отступы между кнопками через тайлвиндовые марджины. Отступы нужны здесь и сейчас а кнопки везде.
(тут и адаптивность и ховеры и еще дохуя всего)
как мне быть? просто ебашись 1 класс на 60 слов?
> если бы можно было не юзать @apply...
Я видел несколько проектов с тейлвиндом, где вообще все стили сделаны через @apply
https://sancho.dev/blog/tailwind-and-design-systems
https://dev.to/lixeletto/the-limits-of-tailwind-css-2pg0
https://itnext.io/top-6-reasons-to-hate-tailwind-css-8009ea96e300
https://www.reddit.com/r/css/comments/tbxs41/why_i_dont_use_tailwind_css_in_production/
https://github.com/AleksandrHovhannisyan/aleksandrhovhannisyan.com/issues/77
Tailwind предназначен для новичков, которые не разбираются в css
Tailwind очень хороший инструмент для отсвева, если человек писал только на tailwind и не признает простой css скорей всего перед вами макака.
но нет, там писали вот такие вот дядечки
https://github.com/saadeghi
Если так пишет дядька, то представьте что творится в русском продакшене
АХАХАХАХХАХАХАХАХАХАХАХА
>https://www.aleksandrhovhannisyan.com/blog/why-i-dont-like-tailwind-css/
Чел не смог написать !isActive в classnames, и рассудил, что без :not() обойтись невозможно.
Мнение не учитывается из за проф. непригодности
Не смог сделать компонент карточки с кастомизацией gap, ведь у "tw нет динамических стилей". Мысли о том, что можно прокинуть className пропом и смерджить его с дефолтными стилями у него не возникло. Мнение не учитывается из за проф. непригодности
Попытался притащить убогие вложенные в селекторы в tw, как поехавший tw-хейтер в этом треде и обосрался.
>https://itnext.io/top-6-reasons-to-hate-tailwind-css-8009ea96e300
За пейволлом, автоматически на парашу
>https://www.reddit.com/r/css/comments/tbxs41/why_i_dont_use_tailwind_css_in_production/
Доводы обоссаны выше по треду
>https://github.com/AleksandrHovhannisyan/aleksandrhovhannisyan.com/issues/77
Вкинул обсуждение первого линка, видимо потому что больше ссылок не нашёл
Дичайший позор tw-хейтеров, предлагаю вам покинуть профессию
>Чел не смог написать !isActive в classname
Не смог, а не захотел. это не правильно.
Написать то можно все что угодно.
> что можно прокинуть className пропом
Только теперь это все выглядит как одна большая куча говна
Там прокинул, тут прокинул, тут вызвал, там склеил.
https://github.com/saadeghi/daisyui/blob/master/src/components/styled/footer.css
https://github.com/saadeghi/daisyui/blob/master/src/components/styled/loading.css
https://github.com/saadeghi/daisyui/blob/master/src/components/unstyled/menu.css
>видимо потому что больше ссылок не нашёл
Ссылок миллион. взял топ из гугла.
Чел, ты просто не шаришь в CSS
>это не правильно
ну раз Ты сказал
>Только теперь это все выглядит как одна большая куча говна
Ну да, <Card className="gap-3" /> прям кардинально отличается от <Card gap={3} />, ахахах
снова повторяется песня - "ОНИ НЕ ТАК ПИСАЛИ, ЭТО СОВПАДЕНИЕ"
челик, это один из создателей TW. Тебя это не смущает? хоть и бывший.
Покажи мне хотяб один пример удачной реализации проекта на TW?
Таких Нет .
Чел я был в 5 проектах TW и все проекты были переписаны на css модули либо аналоги linaria
Мне всегда аплодировали стоя, потому что все уже устали от этого говна.
все. это никому не нужно кроме "Я ХОЧУ ПОПРОБОВАТЬ КАК ОНО ПОКАЖЕТ СЕБЯ В ПРОДЕ"
попробовали) теперь переписывают
>Ссылок миллион. взял топ из гугла.
А, ну я тоже так могу, смотри:
https://www.flavienbonvin.com/using-tailwind-after-exclusively-using-component-libraries/
https://www.devwares.com/blog/why-tailwind-css-is-good/
https://shameem.me/10-reasons-why-tailwindcss-is-the-best-css-framework/
https://encircletechnologies.com/blog/6-reasons-why-tailwind-css-is-worth-it/
https://www.lob.com/blog/tailwind-css-review
>daisyUI
Двачую эту библиотеку. Так и надо писать на тайлвинде.
https://daisyui.com/docs/customize/
У тебя маркетинговые статьи от индуса вордпресника)
чел, не позорься, tail уже давно слит в Америке, в ru начали вот только только понимать какое это говно
хайп спал, успокойся ты уже.
дописывай проект и бери нормальный стек.
либо зови меня перепишем твое tw легаси говно на нормальный CSS код.
>чел, не позорься, tail уже давно слит в Америке, в ru начали вот только только понимать какое это говно
NASA и Microsoft рассказать об этом не забудь, там видимо одни русские сидят
>Microsoft
Они недавно почту обновили.
Как же я проигрывал каждый раз, когда они тупо из-за языка по верстке проебывались чуть ли не в каждом попапе, блять, списки пидорасит, чекбоксы улетели, текст то обрезается то центрируется и врапается, пиздец.
Но да, мелкомягкие хорошие аргумент в пользу говновилда.
А наса то вообще пиздец. Одна из крупнейших френтендерских галер.
>Покажи мне хотяб один пример удачной реализации проекта на TW?
>Показываю 8
>Ррряя нещитово вот у мелкомягких почта лагает
Пошёл треск манямирка
>>Покажи мне хотяб один пример удачной реализации проекта на TW?
Я вообще мимо проходил, но двачую вопрос, где удачные проекты?
Почта не лагает, там верстка будто на тайлвинде писали. Описал постом выше.
Давай разберем NASA.
1) Если там крутится ASP тоже будем восхвалять данную технологию?
2) Nasa - примитивный сайт, там tw оправдан, это детская игрушка для новичков.
3) Можешь объяснить мне что там такое на скринах у Nasa?
Дальше не смотрел, уверен, там будет такое же качество сайтов.
Вот если ты мне скинешь тиньков или что-то аналогичное , то ок.
(не лендинг, а крупную система)
>ping.gg
https://ping.gg/_next/static/css/ab68fbad8b6e0d1c.css
как так? на сайте не используется класс, но в бандле он есть?
а, слепой, вижу.
ну, круто, что они смогли сделать верстку на тайлвинде.
молодцы.
Успешные проекты. Сразу видно руку профи.
И главное популярные. Правда кроме неткликса ничего не знаю.
Ты еще раз подтвердил что данная технология создана для очень простецкой верстки
Вывести картинку, добавить текст с парочкой ссылок - тут TW покажет себя очень хорошо.
Но даже тут они обкакались и начали писать какие-то кастомные классы.
сорри чел, но TW говно
Не рассматривай проект как бизнес идею, мы смотрим только верстку.
ChatGPT пилить проще чем тот же двач.
Продолжаем игнорировать приложение для веб-звонков с интеграцией с OBS. Продолжаем игнорировать ChatGPT. Игнорируем интернет магазина самого популярного ютубера как на планете земля. Манямирок не должен рухнуть
>Назови хоть ОДИН успешный проект на tailwind
>Показываю успешные проекты
>Эй, не рассматривай их успешность, давай вёрстку рассматривать
Маневрируем
Ты когда о верстке говоришь, ты говори о верстке, а не о нейронке-беке-контента.
Не маняврируй, хлопчик.
Ну так а что мы имеем? Большая часть сайтов тобой предложенных какая-то васянская хуйня, ггде фотки грузятся полчаса, верстка и блоки долетают без лоадера/анимации.
Это победа для тебя?
Я просил показать не успешные, а крупные, что-то типа личного кабинета банка или может озон с amazon.
А то что ты скинул лендинг и новости с 1 картинкой это какая-то хуйня в контекте фронта, а не сложный\крупный проект.
Если я сделаю скайнет и куплю двач, и запущу его туда, то двач будет сайтом с лучшей версткой?
Ну мы не ждем, а готовимся к поддержке сайтов созданных гопотой...
Там где 200 классов у кнопки, там же будет 200+ строк стилей в CSS
Будет что сказать? Или игнорируем неудобные CSS файлы?
>просят удачную реализацию в серьёзных проектах
>приносишь проекты
>это нещитово
>это несложно
>chatgpt нещитово
>когда гугол будет на tw тогда и приходи
Сейчас происходит возможно самый тяжелый период в жизни tw-хейтеров. Возможно даже тяжелее того рокового удара головой об кафель в роддоме
>Или игнорируем неудобные CSS файлы?
Ты прав.
Ты нас слил.
Какой же ты ахуенный в спорах, какой же ты ахуенный.
Как стать таким как ты?
Я специально тему перевожу, чтобы дальше нас не попускал!
Про миксины не слышать в 2023, чел...
Даже не знаю что выбрать:
1. Прочитать 200 классов
2. Прочитать 200 строк растасканных по разным файлам
Всё в одном файле, один миксин кнопки
У наса статик сайтик с цмской, типичный бложек на вордпрессе. Это не серьезное веб-приложение.
У чатгпт веб-приложение, но несерьёзное, там по сути формочка с инпутом, лол, список слева, пара кнопок и попап с настройками.
>я не нашел удаление неиспользуемого кода
Значит он используется на других страницах, в приложении. index.css там на части не распиливается.
Где веб-звонки? Чатгпт абсолютно несерьёзно, там всё серьёзное на бекенде, который выпукивает текст на фронтенд через SSE, а на фронте простая формочка с модалкой и списком.
>Манямирок треснул настолько, что пошло отрицание реальности
Согласен. Когда учил сотни классов, когда каждый раз чтобы пукнуть в верстку приходилось открывать доку и искать как же там сделать, а потом узнаешь, что твоя технология кусок мертвого говна, да, манямирок трескается и следом отрицание реальности.
>Когда учил сотни классов
Если ты заглянул в доку, увидел классы типа "flex flex-col" и подумал "ууу надо учить", то у меня для тебя плохие новости
Вызывайте Пашку!!!
есть но им не до него, надо разобраться почему портянка на rxjs не работает и падает где-то внутри 100500 анонимных ступенек стек трейса...
Был на многих проектах.
Пока нигде не видел.
Хотя в одной компании побывал на реактепараше, там был.
Телеграмо говноед, спокуху оформи в тред пашки.
В том что эту хуйню не продебажить если что-то пойдет не так. Тупо вместо of(null) сделал of() и сиди разбирайся где у тебя стрим пропал. просматривай цепочки в 100500 компонентах проекта
Ну, хз. У меня все из абстрактного подтягивается, а тот берет отдельный сервис-запрос основываясь на компоненте.
Так что ебать голову мне нечем. Тупо 1 прослойка.
Ну ок, один проект на тейлвинде, это точно победа. Хотя это какой-то ноунейм стартап, про который литералли никто не знает. А на css модулях бесчисленное множество успешных серьезных проектов.
Любое говно со скопед стилями хеши добавляет к классам. Например вуйжс
Хули мы туту сидим как фуфелу, у всяких обрыганских кабанов в рабстве.
Давайте свою запилим и будем сами кабанами.
Будем пилить любую хуйню которую сможем продать.
Начиная от каких-нибудь вторых мозгов, заканчивая йобо админками с цыганским дизайном.
Опытные будут гребсти, а вкатыши в качестве рабов.
Гитхаб два года не обновлялся шапочный. Чё есть годного почитать/посмотреть по react + ts в 2д23. Чтоб не книжка на 400 страниц, но и не кринжеролик от залетана на ютабе.
Я хочу сделать юзерскрит, чтобы каждая нотификация моментально высиралась таким браузерным алертом системным. Это надо как-то подсосаться к вебсокету? Или искать в кишках сайта, как оно там в стейте хранится?
Конструктор вебсокета скорее всего проще и стабильнее всего будет подменить и запатчить.
Тебе надо чтобы уведомления отображались даже если нету ни одной открытой вкладки с этим сайтом? Тогда надо подсосаться, да. А если вкладка открыта, то можно проще, через MutationObserver.
Не, если открыта.
Но там мутируется только количество, пока не кликнешь по нему, хотя данные есть.
Что за сайт? Если цифра с количеством нотификаций меняется, пока ты на других вкладках, то MutationObserver должен подойти
Можно просто своё расширение сделать, которое будет раз в N секунд делать querySelector запрос и сравнивать предыдущий счётчик значений с текущим
В расширениях есть возможность отправлять системные уведомления.
Никакие вебсокеты не нужны, нифига не нужно.
Просто
if document.querySelector('count') > previousCount: POIMAL;
notify();
sleep 60;
Ну при условии, что счётчик изначально виден на странице.
Ангуляр и так норм фреймворк, не без огрехов, разумеется.
Я фронтенд-даун, который бежит от конкуренции и покраски кнопок
>который бежит от конкуренции
в беке тоже конкуренция.
тебе чтобы быть хорошим специалистом придется въебывать и оптимизировать базы данных
Но в пять-десять раз меньше конкуренция (не считая петухония и джавы, конечно)
да так же, просто он будет конкурировать не с людьми с курсов, а с людьми из вузов
Ты можешь конкурировать только там где востребован. Если хочешь можешь конкурировать среди пыхапешников с битриксоидами, а на нормальном беке тебя просто проигнорят, сколько ты там не откликайся на вакансии.
> конкурировать среди пыхапешников с битриксоидами
не против норм пхп (лара или симфони), но нахуя опускаться до битрикса?
С чего ты взял, что если ты фронт-даун, то ты в принципе сможешь писать бэк, который всё-таки более требовательный?
>с чего взял?
Для униковских проектах писал апишки на разных фреймворках и (No)SQL, и все это обернутое в докер композ и со всей нужной инфраструктурой. И волонтерствовал на работе как бекендер правда всего 3 эндпоинта написал
Поэтому вроде шансы есть (?)
>который всё-таки более требовательный?
Я бэкендер, я не ел три дня, я требователен, фронтомакаки не люди - да куда уж им уж. Я бэкендер, я не ел три дня Я требователен даже к фуллкекам, ведь это всё те же макаки!™
Более тупых анальников я не встречал.
Вкусовщина. У airbnb есть точки с запятой. У гитхаба нет. Мне лично нравится стиль гитхаба. Не важно что ты выберешь, главное чтобы это было везде. Не так чтобы где-то были а где-то не были. Либо везде нету, либо везде есть.
А я люблю везде по три точки с запятой ставить, для надежности. Одну точку с запятой разработчик может не разглядеть, а три подряд запросто.
А это типичный отрезатель всего лишнего: останавливается только на точках с запятой, а всё остальное, как и свисающие запятые - не шумит. Из недомеры в крайность с тремя точками с запятой. Вот там такие же ебанойды всё лишнее выпиливают с пеной у рта.
мимо
Объясните за TDD во фронте
как мне писать по TDD если я заранее не знаю что должна делать фича? Я же кроме одного модуля, лезу еще в 100 файлов.
и только в процессе написания кода мне становится примерно понятно что и куда пихать.
> как мне писать по TDD если я заранее не знаю что должна делать фича?
Знаешь заранее или это не TDD. Картинка хуйня кстати. Тест не обязан падать чтобы что-то рефакторилось.
> Объясните за TDD во фронте
> как мне писать по TDD если я заранее не знаю что должна делать фича
А при чём тут фронт?
По TDD ты тестируешь не фичи, а функции. Сначала дизайнишь разделение на функции/объекты с методами и пишешь тесты на каждый из них.
> Я же кроме одного модуля, лезу еще в 100 файлов.
Это значит, что у тебе уже код говно. Если у тебя есть легаси нетестируемый код, его надо сначала рефакторить в тестируемый, а потом уже делать новые фичи. Ну или забить на TDD, как это бывает чуть более, чем в 100% случаев.
На фронтенде тдд не особо то и нужно. Там и так сделал-глянул-исправил цикл. На беке бывает фича затрагивает сразу 100500 микросервисов, там действительно имеет смысл инкрементально через тдд код добавлять. Ибо охуеешь сначала все писать без проверки в работе, а потом дебажить все вместе или ждать, когда когда другие разрабы подтянутся со своим кодом.
>как мне писать по TDD если я заранее не знаю что должна делать фича?
Слушай... а как дизайнер рисует сайты? Он же не знает что должна делать фича. Тебе приносят дизайн в фигме, хоть он ещё и нефункциональный, а ты его делаешь функциональным? Ну? А чем тогда это принципиально отличается от TDD? Можно уже зная что должен делать класс/функция, заранее ожидать, что класс/функция вернёт такой-то и такой результат. А потом уже сделать функционал. В веб-дизайне клиент же ожидает что сайт будет выглядеть таким-то образом. И TDD это тоже самое. Ты ещё ДО ТОГО как сел писать код ожидаешь что код будет работать так-то и так-то, возвращать то-то и то.
> дизайнер знает
> ни одного слайда с инпутами в разных состояниях
> подпись и ошибки к инпуту скачут на гозилионе слайдов, выясняется, что примечание на полтора страницах может выводиться вместе с ошибкой
> соберите эти 10 вариаций карточек по гозилиону слайдов
> собери функциональность списка таким же нескучным образом
> проёбанная типографика, от слова софсем
> кто-то со стороны бизнеса решил, что всё должно дёргаться и дрыгаться, модно
> кнопка закрыть фолдер уезжает вниз, надо до неё доскроллить - дизайнер нарисовал как сказали
> ...
точка с запятой нужна в любой случае.
код без ";" - код говна.
0.0001% проектов не ставят точку с запятой
>точка с запятой нужна в любой случае.
Зачем?
>код без ";" - код говна.
Аргументы?
>0.0001% проектов не ставят точку с запятой
Сам считал? Нижеперечисленные проекты не считаются, или они представляют из себя код говна просто потому что их кодстайл не был одобрен экспертом с двачей? По ссылкам видно, что они не используют точки с запятой.
https://github.com/vercel/next.js/blob/canary/packages/next/server.js
https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/core/nuxt.ts
https://github.com/vuejs/vue/blob/main/src/core/index.ts
https://github.com/supabase/supabase/blob/master/packages/ui/index.tsx
https://github.com/koajs/koa/blob/master/lib/application.js
https://github.com/fastify/fastify/blob/main/lib/server.js
https://github.com/adonisjs/core/blob/develop/standalone.ts
https://github.com/TanStack/query/blob/main/packages/query-core/src/index.ts
https://github.com/framer/motion/blob/main/packages/framer-motion/src/index.ts
https://github.com/pmndrs/react-spring/blob/main/packages/core/src/index.ts
https://github.com/pmndrs/react-three-fiber/blob/master/packages/fiber/src/index.tsx
https://github.com/vercel/swr/blob/main/core/src/index.ts
https://github.com/pmndrs/zustand/blob/main/src/react.ts
https://github.com/chakra-ui/chakra-ui/blob/main/packages/core/system/src/index.ts
https://github.com/reduxjs/redux/blob/master/src/index.ts
https://github.com/reduxjs/redux-toolkit/blob/master/packages/toolkit/src/index.ts
https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby/src/services/index.ts
https://github.com/vitest-dev/vitest/blob/main/packages/browser/src/node/index.ts
https://github.com/vitejs/vite/blob/main/packages/vite/src/node/index.ts
https://github.com/evanw/esbuild/blob/main/lib/npm/node.ts
https://github.com/tailwindlabs/tailwindcss/blob/master/src/cli/index.js
https://github.com/cypress-io/cypress/blob/develop/packages/app/src/main.ts
https://github.com/prisma/prisma/blob/main/packages/client/src/runtime/index.ts
https://github.com/shadcn-ui/ui/blob/main/packages/cli/src/index.ts
https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/index.ts
https://github.com/brianc/node-postgres/blob/master/packages/pg/lib/index.js
https://github.com/porsager/postgres/blob/master/src/index.js
https://github.com/typeorm/typeorm/blob/master/src/driver/Driver.ts
https://github.com/google/zx/blob/main/src/index.ts
https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/core/observable.ts
https://github.com/hoppscotch/hoppscotch/blob/main/packages/hoppscotch-ui/src/plugin.ts
https://github.com/brave/brave-browser/blob/master/scripts/init.js
https://github.com/ipfs/ipfs-desktop/blob/main/src/index.js
https://github.com/webtorrent/webtorrent/blob/master/lib/server.js
https://github.com/npm/cli/blob/latest/lib/npm.js
>точка с запятой нужна в любой случае.
Зачем?
>код без ";" - код говна.
Аргументы?
>0.0001% проектов не ставят точку с запятой
Сам считал? Нижеперечисленные проекты не считаются, или они представляют из себя код говна просто потому что их кодстайл не был одобрен экспертом с двачей? По ссылкам видно, что они не используют точки с запятой.
https://github.com/vercel/next.js/blob/canary/packages/next/server.js
https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/core/nuxt.ts
https://github.com/vuejs/vue/blob/main/src/core/index.ts
https://github.com/supabase/supabase/blob/master/packages/ui/index.tsx
https://github.com/koajs/koa/blob/master/lib/application.js
https://github.com/fastify/fastify/blob/main/lib/server.js
https://github.com/adonisjs/core/blob/develop/standalone.ts
https://github.com/TanStack/query/blob/main/packages/query-core/src/index.ts
https://github.com/framer/motion/blob/main/packages/framer-motion/src/index.ts
https://github.com/pmndrs/react-spring/blob/main/packages/core/src/index.ts
https://github.com/pmndrs/react-three-fiber/blob/master/packages/fiber/src/index.tsx
https://github.com/vercel/swr/blob/main/core/src/index.ts
https://github.com/pmndrs/zustand/blob/main/src/react.ts
https://github.com/chakra-ui/chakra-ui/blob/main/packages/core/system/src/index.ts
https://github.com/reduxjs/redux/blob/master/src/index.ts
https://github.com/reduxjs/redux-toolkit/blob/master/packages/toolkit/src/index.ts
https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby/src/services/index.ts
https://github.com/vitest-dev/vitest/blob/main/packages/browser/src/node/index.ts
https://github.com/vitejs/vite/blob/main/packages/vite/src/node/index.ts
https://github.com/evanw/esbuild/blob/main/lib/npm/node.ts
https://github.com/tailwindlabs/tailwindcss/blob/master/src/cli/index.js
https://github.com/cypress-io/cypress/blob/develop/packages/app/src/main.ts
https://github.com/prisma/prisma/blob/main/packages/client/src/runtime/index.ts
https://github.com/shadcn-ui/ui/blob/main/packages/cli/src/index.ts
https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/index.ts
https://github.com/brianc/node-postgres/blob/master/packages/pg/lib/index.js
https://github.com/porsager/postgres/blob/master/src/index.js
https://github.com/typeorm/typeorm/blob/master/src/driver/Driver.ts
https://github.com/google/zx/blob/main/src/index.ts
https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/core/observable.ts
https://github.com/hoppscotch/hoppscotch/blob/main/packages/hoppscotch-ui/src/plugin.ts
https://github.com/brave/brave-browser/blob/master/scripts/init.js
https://github.com/ipfs/ipfs-desktop/blob/main/src/index.js
https://github.com/webtorrent/webtorrent/blob/master/lib/server.js
https://github.com/npm/cli/blob/latest/lib/npm.js
Ты скинул говно с долбаебами
вот тебе база
https://github.com/angular/angular/blob/main/packages/forms/src/model/form_control.ts
https://github.com/facebook/react/blob/main/packages/react/index.js
>vue, redux, next, vercel,gatsby
чел, ты скинул опущенных... ты бы еще скинул что-нить типа jquery
Код становится не читаемый, нужно постоянно держать в голове "нужно следить за переносами, а точно тут не нарушена логика переносов"
>>16390
Понятно, аргументов нет.
>>16401
Просто личное предпочтение. Держать в голове ничего не нужно, логика переносов не нарушается, если ты не пишешь конструкции, которые ломают код, если на предыдущем строке нет точки с запятой. Эти конструкции в современном коде абсолютно не нужны, например IIFE или деструктуризация без присваивания значений в переменные.
>Код становится не читаемый
Твоё мнение. А для кого-то наоборот становится более читаемый. Что в вас за совкизм в голове, обязательно нужно навязать единственно правильное восприятие?
Этот тоже убивает реакт, потому что не знает как работают темплейт стринг функции? Мне для справки. Что бы верцелы не делали, а релиз просто поделил макак на 2 лагеря: у которых sql вставки небезопасно и которые знают как работают темплейт функции.
Скорее razor pages
И есть третий лагерь где знают о существовании prepared statement в сиквеле.
В кабаны. Кабан - всего пять букв, короче не бывает...
Делают бррр
> export default MyGreatYoba;
в конце файла, это такая неофицальная договорённость между разрабами или есть бенефиты от этого? Мне на ум пришло только, что дифф в гите мб не затронет функцию, если мы ничего в ней не меняли.
Сука у меня максимальное отвращение к этой хуйне, лучше уж тогда в бек пойду
Сидят сука пезды феменистические дизайнерши сука понавысирались скурсов сами вашу корпоративную хуйню верстайте
>2 лагеря: у которых sql вставки небезопасно и которые знают как работают темплейт функции.
Тебе в первый лагерь. Ауниггерзейн.
Пчел ето одна картинка на каждый слайд. Это не верстать. Максимум положить свгшку в оптимизатор и отрезать лишних путей.
>стиль
С пробуждением. Это зуммеринговое атрофированное говно довольно модно и популярно.
Не часто, но бывает.
Самое сложное - анимация персонажей.
Т.к. можно взять чартерАИ для диалогов мини людей на сайте, а дать им сознание через чатГопоту, то остается только правильно преподнести движения и перенести характер того или иного персонажа.
https://angular.dev/
А в этом вашем ангуляре тейлвинд есть? Вроде кто-то уже отписался, что нет. Ну так что этого, того, самого, ну это, ну иди нахуй короче со своими недовбросами. Не набрать этому говну 300 постов за день как цсс срачу.
;̶̝̀;̸̨͂;̵̊ͅА̵͙̐н̷̻͝т̷̯͝и̵̪̅с̸̲̑е̸̬̋м̷̗̅и̵̻̇т̶̯̅ы̵̨͗ ̷̙̈б̷͚͠л̸̙̌и̷̳͠з̷͕͑к̷̟͝о̸͙͊;̴͖̇;̸̢̎;̸̭́
>Какой же кал, и они что-то кукарекают на JSX?
Блять, ну тут даже подъебать реактомакак не получается.
Пиздец грязно себя чувствую. Будто Ангуляр на одну ступеньку ближе к реакту стал.
https://laravel.com/docs/10.x/blade#if-statements
Ну серьезно, блять, гугол, какой нахуй ларавель. Ну вы там ебанулись что ли? - >>17440
И че? Недостаточно функци анально для зумеров? Мало магии? Вместо нее унылая процедурная реальность?
Нахуй тащить новый функционал того же самого?
При этом тупо копируя ларавельку.
Нихуя же не изменилось кроме стиля логики в хтмл.
На хабре какие-то цитаты были, типо, ебать, вот нам жаловались, что с темплейтами сложна работать.
Какой нахуй сложно?
100% реактомакаки в штаны насрали. Решили и лучший фреймворк обосрать. Чисто как [Данные удалены] себя ведут.
> Пиздец грязно себя чувствую. Будто Ангуляр на одну ступеньку ближе к реакту стал.
По-моему он через него перешагнул.
Вуе энджоер
Ньюфажина тут старался, трясся, ради чего? Теперь и не узнает кто такие антисемиты.
хотя может из-за нерелейтеда, похуй.
Моча шарит, моча молодец.
Почистил частично долбоёба, который мимикрирует под своего и не знает про антисемишиза. Даже не может понять о чём речь, когда жирненько так намекнули, и продолжает сводить в политоту нерелейтед говном за пределы покусавших его антисемитов.
t. Стукачок
vue стабильно хуже jquery
Писать штимеле в джаваскрипте это сблев говна. useState, useEffect - сблев говна. Все должны были похоронить это недоразумение сразу же как вышел вуе1.
И при этом вокруг него нормальные адекватные люди делают красивые вещи, например next. Как блядь? Как они попали в реакт экосреду. Может им фейсбук всё еще платит за то чтобы весь веб был на их говне, а не на чужом говне.
vue слишком хуев чтобы опускаться до него
angular слишком редок в проде что бы подниматься к нему.
Реакт - среднячок.
>vue слишком хуев чтобы опускаться до него
А что с ним не так? Всё из-за того что там китаёза?
Не слушай болезненного. Вью и Нухт охуительные фреймворки и классны в проде
Пощему?
Есть примерно такая разметка
<div class="main">
<div class="group">
<div>Говняк</div>
<div>Ролидовый</div>
<div>Нагрызолич</div>
<div>Наруто</div>
<div>Гарик Харламов</div>
</div>
<div class="group">
<div>Педалик</div>
<div>Абу</div>
</div>
<div class="group">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
</div>
css:
.main {
display: flex;
justify-content: center;
gap: 0 10px;
}
.group {
display: flex;
flex-direction: column;
flex-wrap: wrap;
gap: 5px;
max-height: 70px;
}
Беда в том, что переносимые из-за ограничения высоты и flex-wrap: wrap элементы наезжают на следющий блок (пик1). Можно поставить gap в main побольше, но тогда третий элемент отъезжает (ппик2). Можно сделать 100% ширину, но тогда ненужное пространство образуется в 2 и 3-й группах (пик3). Нужно добиться, чтобы было как на пике 4.
Есть примерно такая разметка
<div class="main">
<div class="group">
<div>Говняк</div>
<div>Ролидовый</div>
<div>Нагрызолич</div>
<div>Наруто</div>
<div>Гарик Харламов</div>
</div>
<div class="group">
<div>Педалик</div>
<div>Абу</div>
</div>
<div class="group">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
</div>
css:
.main {
display: flex;
justify-content: center;
gap: 0 10px;
}
.group {
display: flex;
flex-direction: column;
flex-wrap: wrap;
gap: 5px;
max-height: 70px;
}
Беда в том, что переносимые из-за ограничения высоты и flex-wrap: wrap элементы наезжают на следющий блок (пик1). Можно поставить gap в main побольше, но тогда третий элемент отъезжает (ппик2). Можно сделать 100% ширину, но тогда ненужное пространство образуется в 2 и 3-й группах (пик3). Нужно добиться, чтобы было как на пике 4.
Есть около года чтоб вкатиться в айти, потом мамка выгонит с хаты и будет жить с отчимом.
Так как у меня нет времени мять яйца и выбирать стек, взор пал на фронт, где дорога более менее ясна, требует меньше знаний для джуна и не требует вышки.
Всё правильно делаю или буду жить на улице через год?
Вот так работает.
.group {
@apply flex flex-col flex-wrap mr-5 border-green-600 border p-2;
height: 90px;
}
сделай песочницу.
> для джуна
Ты даже имагинировать не сможешь насколько высока сейчас план очка ждуна из-за орд вкатышей, которые по полгода на собес попасть не могут.
Правильно, как и в говнопочте, там говно которое срёт хешами, 10 перемещающихся контейнеров и нормально селектор под рекламу не напишешь.
мимо
Антисемит, спокнись, твои маняврирования не пройдут.
Показывай конфиг.
Всем похуй на твою заметку с ссылками на какие-то ноунейм проекты.
Селектор можно и без использования классов написать, хоть через xpath пиши
>>18622
Чел, JSX большинству людей нравится, рыночек порешал, и я с ним согласен, JSX удобнее лютых других способов шаблонизации, потому что пишешь будто бы обычном JS/TS, да и JSX (TSX) даже в тайпскрипт был добавлен Майкрософтом
И с чего ты взял, что я какой-то антисемит, о котором ты не можешь перестать фантазировать?
>Селектор можно и без использования классов написать, хоть через xpath пиши
У меня ебало треснуло, когда я первый раз увидел, что там дивы местами поменялись. Потом они ещё раз поменялись местами. А потом уже наконец-то пропала необходимость пользоваться их почтой/календарём
Вот ты пердишь, клован, решить проблему всё равно не сможешь.
https://codesandbox.io/s/869y78iohjky78o6789-2mpgn6
В фаерфоксе не работает, но я ничего лучше чем задать каждой группе ширину не придумал.
А зачем тебе это надо? Можешь flex-grow подрочить, но что будет если во 2 группе добавится 2 коллнка?
>flex-grow
Это ничего не поменяет. Фаерфокс не может посчитать ширину одной группы с двумя колонками. Он этого не может если прям на сайте МДН так сделать. flex на .main нам вообще не нужен, мы можем задать на .group inline-flex.
https://codesandbox.io/s/869y78iohjky78o6789-forked-rpjh67?file=/src/styles.css
>Чем вообще заменить такое поведение ,чтобы фф работал?
Можно задать ширину. Можно флекс врап убрать и каждую колонку в группе в свой див обернуть.
>>19352
На, работает с гридами прямо как ты хочешь.
https://codesandbox.io/s/869y78iohjky78o6789-forked-sp3fvf?file=/src/styles.css
Мне похуй, пусть страдает.
Боюсь я туповат для бекенда, плюс там сложнее найти удаленку, а с удаленкой шансы найти работу в разы выше т.к не придется переезжать в устьпиздюйск
Ну смотри сам конечно, у всех свои обстоятельства. В любом случае рекомендую подтянуть базу (архитектура приложений, TDD, алгоритмы). Есть 5-6 топовых книжек которые рекомендуют прочитать всем (авторы - Макконнелл, Фаулер, роберт мартин), как немного набьешь руку, можешь ознакомиться, поможет очень сильно.
Вот типовая задача отрендерить большой список. Через пять минут встает задача отрендерить большую таблицу и мы получаем это.
Почему так? Почему веб в таком говне? Потому что реактомакаки умственно отсталые долбоебы. Не смогли всей индустрией написать нормальный список за 10 лет.
Это ты придумал, или пруфы есть? Если по делу, то рыночек так порешал, не важно нпц люди или нет. Большинство рынка это реакт. Возможно потому что с JSX намного удобнее работать, чем с шаблонами вью или ангуляра.
Это копия, сохраненная 3 февраля в 19:37.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.