• Почему получаю ошибку?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Потому, что for...in перебирает не совсем то, что вы ожидаете. В вашем случае будет удобнее использовать какой-нибудь другой вариант цикла - тот же for...of к примеру.
    Ответ написан
    Комментировать
  • Как поставить Avocode на Ubuntu 19.10?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Вы используете только что вышедшую версию Ubuntu (спокойнее конечно сидеть на LTS, ну да ладно), которая связана с нестабильной веткой Debian, из которой недавно вырезали пакет gir1.2-gnomekeyring-1.0. Вероятно по этой причине он и не ставится (а разработчики Avocode еще не успели все у себя поправить и убрать его из зависимостей). Думаю, что для вас проще всего в этой ситуации будет воспользоваться "Easy way to install" в конце вашей инструкции, а не пытаться своими руками исправить проблему с традиционной установкой.
    Ответ написан
    Комментировать
  • Почему в chrome video.duration равен для некоторых видео NAN?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Попробуйте дождаться события loadedmetadata у видео, возможно они просто не успевают подгрузиться к моменту исполнения скрипта.
    Ответ написан
    2 комментария
  • Как использовать чистый JS согласно БЭМ?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    согласно БЭМ

    Ради ясности стоит отметить, что если почитать первоисточник, то окажется, что БЭМ - это не только про названия классов и разделение всего по файлам, там целый набор инструментов идет в комплекте. Если вы хотите именно использовать весь их стек - то начать стоит оттуда.

    трудно уследить, что бы переменные не повторялись в своих наименованиях

    Было бы логично использовать модули (гугл -> es6 modules).

    P.S.: И почитайте про то, как сейчас скрипты собираются - это не просто склейка всего в один файл, там все немного сложнее.
    Ответ написан
    Комментировать
  • Что делает frontend разработчик кроме создание внешнего вида сайта?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Что делает frontend разработчик кроме создание внешнего вида сайта?

    Пьет смузи, катается по офису на гироскутере, делает умное лицо на конференциях.

    Скучно ли быть фронтендером? Эта однотипная работа?

    Кто-то клепает однотипные магазины на потоке, а кто-то делает замороченные рекламные сайты с кучей анимаций, интерактивные 3d-презентации и другую дичь. Это очень разные вещи. Но рутина наступает везде. Любая сложная область в конечном счете разбивается на набор известных задач, и все, дальше нужно делать почти одно и то же много раз. Принципиально новые проекты - большая редкость в программировании, лишь единицы что-то изобретают, большинство же решает задачи бизнеса. А они особо не меняются. Таков мир. А интерес - понятие очень субъективное. На вкус и цвет фломастеры разные.
    Ответ написан
    2 комментария
  • Как в handlebars проверить текущий браузер?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Handlebars - это шаблонизатор. Он превращает одни строки в другие и с браузерами никак не связан. Если у вас задача состоит в том, чтобы компилировать шаблоны по-разному для разных браузеров, то вам нужно отдельно получить версию браузера, а потом передать ее этой библиотеке как часть контекста для шаблона.

    Поскольку собирать эти шаблоны можно много где, в том числе и на сервере, что поняние очень растяжимое, ваш вопрос является очень общим. Если вы собираете шаблоны на клиенте - то все проще, можно взять например bowser и результат от него напрямую использовать при сборке шаблонов Handlebars.

    Но в целом разная сборка шаблонов под разные браузеры - это практика очень спорная, в долгосрочной перспективе почти всегда проще сверстать что-то кроссбраузерное, чем вот так все костылить, особенно если речь идет о современных браузерах.
    Ответ написан
    Комментировать
  • Оцените пожалуйста веб-приложение?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Стали бы вы им пользоваться? Если нет, то почему? Перспективно ли это направление вообще и перспективно ли конкретно это приложение?

    Минификация кода должна производиться автоматически в процессе сборки. В 2019 году никто уже не ходит куда-то и не делает это вручную. Есть gulp, webpack, parcel и.т.д. - целая куча инструментов, которые могут по ходу дела минифицировать все, что через них проходит. Нужно лишь сказать им - минифицируй! В наше время все, что можно автоматизировать, люди стараются автоматизировать, а ваш сервис - это шаг назад на этом пути.
    Ответ написан
    3 комментария
  • Как сделать на css эффект волны для кнопки обратной связи?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Подобные штуки строятся на анимации transform: scale(...), ну а вариантов с разной длительностью и количеством кругов можно придумать много, тут уж на вкус и цвет...
    Ответ написан
    Комментировать
  • Как бороться со стрессом на работе?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Мозг каждый день кипит так же, как в первый день. Шаг влево шаг вправо, и вот, я уже ничего не знаю и ничего не умею... ощущение, что на работе я как будто не прогрессирую, а наоборот деградирую...

    У меня такое было, когда я только перешел во фронтенд и пытался держать слишком много деталей о языках и инструментах в голове. Со временем понял, что это не имеет смысла - все меняется быстрее, чем я запоминаю. Перешел от мысли "я использую инструменты" к мысли "я делаю штуки" и сразу полегчало, стал держать в голове только общие идеи о том, как что-то делается, или что вообще бывает в какой-то области, а конкретные инструкции по применению отдельных инструментов изучаю по ходу дела. Изменил фокус своего самообразования, если это можно так назвать. В результате все препроцессоры слились в один, новые библиотеки становятся все менее сложными в освоении, поскольку идеи везде плюс-минус одинаковые и.т.д. Решения стало принимать гораздо проще. И аргументировать тоже. Иногда складывается такое впечатление, что у нас в отрасли совсем ничего не появляется нового уже лет пять, а то и больше. Да, я забываю как использовать флексы, путаю call() и apply(), гуглю свои же ответы на тостере, но это не важно. Голова занята решением проблем, в ней теперь нет никакой второстепенной информации и это очень здорово. Статьи писать тоже полезно оказалось - написал, "поставил на полочку", и забыл. А если будет нужно - можно достать и посмотреть. Таким образом вот эта вся фигня с закипанием мозгов практически ушла.
    Ответ написан
    1 комментарий
  • Почему сыпется svg?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Вы много раз используете такие штуки, как use и clip-path, указывая там id елементов. Но сами id на странице не уникальны. Вот и ломается все. Используйте уникальные id для элементов.
    Ответ написан
    4 комментария
  • Как сверстать горизонтальный сайт?

    sfi0zy
    @sfi0zy Куратор тега Вёрстка
    Creative frontend developer
  • Почему появляются отступы вверху и внизу изображения?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Это один из багов отображения SVG-картинок во flex-контейнерах. Это вообще больная тема, там эти картинки то схлопываются по ширине, то получают странные отступы в отдельных браузерах. Можно решить, обернув картинку в div с явным указанием display=block для него:

    <div class="test">
        <img src="https://123.svg"/>
    </div>


    .test {
        display: block;
    }
    Ответ написан
    1 комментарий
  • Как получить содержимое файла, например css в gulp.src?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Есть такая штука, как gulp-tap, с ее помощью можно решить вашу задачу.

    А в целом - содержимое файлов можно получать вне зависимости от сборщиков и таск-раннеров с помощью fs.readFile или fs.readFileSync (пример).
    Ответ написан
    Комментировать
  • Как работать с такими сетками?

    sfi0zy
    @sfi0zy Куратор тега Вёрстка
    Creative frontend developer
    Обычно в таких дизайнах просто много абсолютного позиционирования. Классическая N-колоночная сетка может использоваться в отдельных блоках, а может и не использоваться - по вкусу верстальщика. Сами дизайнеры часто используют не деление на колонки, а "художественную" сетку с диагоналями (пример можно загуглить по запросу golden canon grid). Специального названия у всего этого вроде как нет, лично мне кажется уместным называть это "журнальной" версткой (так многие модные оффлайновые журналы рисуют).

    Верстать такое не сложно, важно просто аккуратно определять откуда считать позицию того или иного элемента (к чему он логически привязан в дизайне). Адаптируется медиа-запросами, как и любая другая верстка. Иногда бывают сложности, если дизайнер намалевал что-то под большой размер экрана и не удосужился написать, как все уместить на маленьком - но это решается или обсуждением с ним или влоб все в столбик перестраивается, если мобильная версия не так важна. Обычно подобная верстка уместна в рекламных сайтах, которые больше рассчитаны на привлечение внимания и оказание впечатления на посетителя. Часто все это снабжается большим количеством анимаций и плавными переходами между страницами.
    Ответ написан
  • Как сделать такой селектор в css?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    В черновиках Selectors Level 4 есть мысль о псевдоклассе :has, который мог бы дать возможность проверять такие связи и писать что-то вроде
    .tab-position:has(> .pinned) {
        /* . . . */
    }

    но на сегодняшний день ни один браузер это не поддерживает. Так что нет, такой селектор в CSS сделать пока нельзя.
    Ответ написан
  • Хорошей ли практикой является использовать rem для значений margin и padding?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    если увеличить размер шрифта, то и отступы увеличатся

    Так это же замечательно, так и должно быть. И вопрос не только в доступности. Задание всех размеров в rem/em позволяет при изменении размера шрифта сохранить приятный глазу дизайн, у которого не "перекашивается" соотношение веса элементов и негативного пространства. Максимальный эффект достигается при использовании CSS-шлюзов и адаптивной типографики, что дает возможность без лишних движений сделать "красиво" на любых размерах экрана. А если заранее определить с дизайнером все стандартные размеры для всего (я часто использую .3, .5, .8, 1, 1.25, 1.5, 1.75, 2, 3, 4, 5 rem), то можно будет быстро верстать "на глаз", по бумажным наброскам, и даже без дизайнера совсем, используя не гору магических чисел, а известный набор удобных размеров. Конечно, это ломает мозги неподготовленному дизайнеру, но многие модные ресурсы (тот же Smashing Magazine) используют подобный подход весьма успешно.
    Ответ написан
    Комментировать
  • Какие есть элегантные книги/учебники по физике?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    По поводу задач не знаю, а про интересное и для людей - советую почитать Занимательную физику Перельмана.
    Ответ написан
    Комментировать
  • Файл package-lock.json: быть или не быть?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Может кто знает причины такого поведения?

    Сталкивался с такой же проблемой и сложилось такое впечатление (возможно ошибочное), что npm втихую кеширует сами lock-файлы и потом, если видит наличие такого файла в старом месте, то для установки зависимостей использует его закешированную версию, а уже во время запуска скриптов "обнаруживает", что версии всего не совпадают и падает со странными ошибками, которые совершенно не гуглятся. Такие ошибки не возникали на девственно-свежем ноутбуке и появились на нем спустя какое-то время. А потом я жестко почистил руками весь кеш npm и все опять заработало нормально. Может это совпадение, но уж очень подозрительное...
    Ответ написан
    Комментировать
  • Как сделать с помощью css или js наложение картинки на 3Д объект, чтобы в итоге получилось именно так?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    с помощью css

    Ответ написан
    Комментировать
  • Анимация аттрибута с animate не работает в codepen, jsfiddle?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Песочницы ни при чем, вы просто неправильно скопипастили изначальные атрибуты "d" у элементов с id="mund".
    Ответ написан