Size: a a a

2020 November 26

НС

Никита Сковорода... in BeerJS Moscow
Ilnur Khalilov
Фото сначала же на бекенд грузится, а потом пихается, нет?
Ну да. В таком случае тоже может быть ой.
источник

НС

Никита Сковорода... in BeerJS Moscow
> с сохранением оригинального имени
источник

MK

Michael K in BeerJS Moscow
Никита Сковорода
Допустим, у тебя в проекте 10 человек и все что-то пишут.
И ты используешь там вот этот замечательный emotion.

А потом кто-нибудь делает загрузку фотографий с сохранением оригинального имени, кто-то другой пихает фотографию в background-image в  сгенерированный цсс, а дальше данные пользователей сделали ноги и проект сгорел.
А можно подробнее? Вот взял файл из инпута, сделал блоб, взял урл на него, поставил инлайном в элемент в background-image. Что взрывается?
источник

НС

Никита Сковорода... in BeerJS Moscow
Michael K
А можно подробнее? Вот взял файл из инпута, сделал блоб, взял урл на него, поставил инлайном в элемент в background-image. Что взрывается?
не инлайном

Допустим, кто-то написал загрузку файлов на сервер таким образом, что если пользователь грузит фотографию с именем "Я и море.жпг"  то она окажется по адресу https://cdn.example.org/12345/Я и море.жпг.
источник

НС

Никита Сковорода... in BeerJS Moscow
И это уже, например, пользовательский ввод в цсс.
источник

НС

Никита Сковорода... in BeerJS Moscow
И вопрос не в том "зачем это нужно", а в "где гарантии, что этого не произойдёт" в достаточно большом проекте (где больше одного человека).
источник

MK

Michael K in BeerJS Moscow
Никита Сковорода
не инлайном

Допустим, кто-то написал загрузку файлов на сервер таким образом, что если пользователь грузит фотографию с именем "Я и море.жпг"  то она окажется по адресу https://cdn.example.org/12345/Я и море.жпг.
А, это да
источник

НС

Никита Сковорода... in BeerJS Moscow
Никита Сковорода
не инлайном

Допустим, кто-то написал загрузку файлов на сервер таким образом, что если пользователь грузит фотографию с именем "Я и море.жпг"  то она окажется по адресу https://cdn.example.org/12345/Я и море.жпг.
Например, слак и дискорд так делают (сохраняют имена в каком-то виде).
Но там они жуют имена файлов

но если одна ошибка в коде, который вычищает имена загружаемых файлов будет почти автоматически приводить к делающим ноги данным пользователей — это уже очень плохо
источник

DS

Dmitrii Shmakov in BeerJS Moscow
Всем привет, а тут никто не проходил курс Тимлид в скиллбоксе или в отусе?
источник

НС

Никита Сковорода... in BeerJS Moscow
Michael K
А, это да
Второй пример — допустим, ещё один человек напишет выбор цвета рамочки вокруг аватарки профиля из списка красивых круглых кнопок. Так, что цвет будет отправляться на сервер. И не проверит на сервере что пришёл действительно, собственно, цвет.
источник

НС

Никита Сковорода... in BeerJS Moscow
Третий пример — вы наняли нового человека и ему пришла в голову замечательная мысль сунуть юзернейм в стиль через
profile-header::before { content: 'Hi, ${username}' }
источник

НС

Никита Сковорода... in BeerJS Moscow
да что угодно может случиться вообще
источник

MK

Michael K in BeerJS Moscow
Твои примеры меня вгоняют в экзистенциальный ужас
источник

SR

Sergey Rubanov in BeerJS Moscow
в общем, расскажите потом какой css-in-js самый лучший
источник

SR

Sergey Rubanov in BeerJS Moscow
🍿
источник

MK

Michael K in BeerJS Moscow
Я по старинке
источник

MK

Michael K in BeerJS Moscow
Каскадные стили пишу
источник

SR

Sergey Rubanov in BeerJS Moscow
Michael K
Я по старинке
CSS-in-CSS
источник

SR

Sergey Rubanov in BeerJS Moscow
👍
источник

MK

Michael K in BeerJS Moscow
Да
источник