• Не корректно работает overflow: hidden при border-radius в сафари?

    teotlu
    @teotlu
    Навёрстываю упущенное
    Я на круговых элементах использую вдобавок к overflow: hidden маску изображения с круговым градиентом, замечательно работает:
    -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
    Ответ написан
    1 комментарий
  • Nuxt.js в PHPStorm, как настроить?

    @its2easyy
    Нашёл как заставить учитывать алиасы ~/@, нужно создать js файл с содержимым
    const path = require('path')
    module.exports = {
      resolve: {
        extensions: ['.js', '.json', '.vue', '.ts'],
        root: path.resolve(__dirname),
        alias: {
          '@': path.resolve(__dirname),
          '~': path.resolve(__dirname),
        },
      },
    }

    и сохранить в корень с названием webpack.config.js, или с любым другим названием и тогда в phpstorm в settings - languages & framework - javascript - webpack выбрать этот созданный файл. Файл потом можно в gitignore добавить.
    https://github.com/nuxt/nuxt.js/issues/1881#issuec...
    Ответ написан
    1 комментарий
  • Как грамотно настроить gulp-imagemin чтобы удовлетворить PageSpeed Insights требование?

    EaGames
    @EaGames
    Front-end developer
    Гугл-у просто вариант losless не нравится, ему подавай оптимизацию С потерей качества, увы... для этих целей нашел для того же imagemin, дополнения imageminJpegRecompress и imageminPngquant

    после такого таска:
    // Таск для оптимизации изображений
    gulp.task('img:prod', function () {
    	return gulp.src(path.src.img) //Выберем наши картинки
    		.pipe(debug({title: 'building img:', showFiles: true}))
    		.pipe(plumber(plumberOptions))
    		.pipe(gulp.dest(path.prod.img)) //Копируем изображения заранее, imagemin может пропустить парочку )
    		.pipe(imagemin([
    			imagemin.gifsicle({interlaced: true}),
    			imageminJpegRecompress({
    				progressive: true,
    				max: 80,
    				min: 70
    			}),
    			imageminPngquant({quality: '80'}),
    			imagemin.svgo({plugins: [{removeViewBox: true}]})
    		]))
    		.pipe(gulp.dest(path.prod.img)); //И бросим в prod отпимизированные изображения
    });

    гугл-у все нравиться
    Ответ написан
    2 комментария
  • Что делать веб разработчику, если уже всё придумано?

    AgentProvocateur
    @AgentProvocateur
    Правильно заметили, что есть люди-исполнители, а есть люди-генераторы идей. Нужно реально взглянуть на себя и...принять это. Быть профессиональным исполнителем гораздо кошернее, чем быть генератором провальных идей. По статистике, 9 из 10 стартапов провальны...зачем пополнять собой этот список? Если ты - рыба, то многого ли ты добьешься от фрустрации по поводу неумения залезать на дерево?

    Самый верный путь к рабочей идее:
    1. Проработать в какой-либо сфере достаточное количество времени;
    2. Познать её изнутри на собственной шкуре;
    3. Выявить в ней боли/проблемы/недостатки;
    4. Решить их с помощью прикладного навыка (программирования);
    5. Обкатать в собственной работе;
    6. Упаковать решение и реализовать коллегам по сфере;
    ...
    7. PROFIT!

    Далее...даже если завтра в голову залетит рабочая идея, готов ли ты её реализовать? У тебя есть команда, готовая работать минимум полгода-год бесплатно на время создания беты, тестов, обкатки, раскрутки? Она сможет действительно реализовать всё как надо? Если нет команды, имеются ли у тебя средства на зарплатный фонд хотя бы для 5 человек на эти полгода-год? А с учетом налогов и отчислений (+30% к зарплате на руки)? У тебя есть условия для работы этих 5 человек? Есть ли у тебя сумма на маркетинговое исследование твоей идеи (или лучше облажаться на авось)? Есть ли у тебя хотя бы миллион на первичный трафик из директа? Или надеешься донести свой стартап до пользователей путём емэйл-спама?)) Я не указал и доли того, что потребуется для реализации небольшого web-сервиса, даже при наличии действительно рабочей идеи. Может быть, идеи не прут именно потому, что ты просто не готов к их реализации, и неча порожняка гонять?)

    Как выглядит стартап глазами романтичного юноши, начитавшегося глянцевых историй успеха:
    1. Придумать гениальную идею;
    2. Закодить в гараже в одну харю или в паре с дружбаном;
    3. Разместить на сервере и получать от мира благодарности, признание и мешки денег.

    Как выглядит стартап на самом деле:
    1. Пахота минимум 10 лет в одном направлении/сфере;
    2. Наработка профессионализма, идей, контактов, связей, клиентской базы, понимания всех нюансов сферы;
    3. Угон базы, угон клиентов на себя, переманивание лучших коллег/сотрудников, оформление юрлица, открытие "своего дела" на рабочей идее)))

    К примеру, "икона стиля" стартаперов - Павел Дуров, он идеолог? Нет! Прикол в том, что он именно стырил рабочую идею (также, как тырят клиентскую базу у работодателя), собрал команду, создал для неё условия, привлек корешей-евреев с еврейскими ресурсами, бюджетами и влиятельной питерской крышей, и обеспечил этому всему грамотный проект-менеджмент и маркетинг. Дело в идее? Нет, дело в реализации:)

    А если серьезно, сайт - это просто промо-материал, как билборд, только интерактивный и в интернете. Языки веб-разработки - такие же инструменты, как молоток для изготовления билбордов. Веб-разработчик - нифига не носитель уникальных знаний (который просто обязан повторить успех Цукерберга, иначе не тру), и всего-лишь современный слесарь, изготавливающий технологичные интерактивные промо-материалы. А теперь представь слесаря, который завидует предпринимателям, которые заказывают у него билборды, и вскидывает руки к небу с криком "Доколе??")) Смешно? Смешнее только реплики других слесарей на тему "если нет идей, значит меняй профессию"))

    P.S. Понимаю, что вряд ли отметишь мой ответ решением, ведь тебе хочется подбадриваний вида "Не сдавайся! Ищи и обрящешь! Не опускай руки и всё получится! Вот тебе ссылочки, вот тебе инструкции!", а не режущей глаза суровой реальности. Но в некоторых случаях действительно полезно осознать своё место в пищевой цепочке - антилопа или гепард, слесарь или архитектор, промо-изготовитель или промо-заказчик и т.д. И исходя из этого уже взращивать свои амбиции, комплексы и фрустрации. Повторюсь - в стремлении стать самым крутым слесарем нет ничего постыдного, и даже в финансовом плане может оказаться куда выгоднее и стабильнее других амбициозных вариантов.
    Ответ написан
    4 комментария
  • Есть ли принципиальная разница между хранением значения в объекте и в переменной?

    @pekc83
    Сохранение данных в качестве свойств объекта имеет смысл только для передачи в функцию большого количества переменных. В таком случае улучшается читабельность(желательно использовать осмысленные ключи), упрощается работа с опциональными аргументами и исключаются ошибки связанные с разным порядком аргументов.
    someFunction(arg1, arg2, arg3, .................................., arg15,
                 arg16, ..................................... , argN); // :(
    
    var args = {
      arg1: ...,
      arg2: ...,
      .......
      argN: ...
    }
    someFunction(args); // :)


    В остальных случаях лучше использовать переменную.
    Ответ написан
    Комментировать
  • На чем лучше делать одностраничник?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ну, давайте по-порядку разберём!
    1. Одностраничник - делается под конкретный продукт или услугу.
    2. Шаблон - создаётся также уникальным, исходя направления продукта/услуги и ЦА.
    3. Форма сбора контактных данных на одностраничнике - прошлый век! Никто не будет оставлять данные. Для этого есть форма: "Отправить запрос" и в ней поле, НЕОБЯЗАТЕЛЬНОЕ К ЗАПОЛНЕНИЮ: "Прошу ответить мне на e-mail:".
    4. Цель одностраничника - должна быть явно задана: реклама товара, продажа, выявление интереса к продукту, приоритетная первичная регистрация на сервис в альфа/бета-тесте и т.д. Если, что-то из перечисленного будет идти вместе, - ТОЛКУ НЕ БУДЕТ!
    5. Конверсия - самая интересная тема, а уж тем более, на лендинге. Здесь многое зависит от того, кто создаёт Вам шаблон и корректно ли он располагает визуальные смысловые блоки и элементы пользовательского интерфейса страницы. Т.е., нужно, чтобы это делал именно UX-дизайнер, а не простой дизайнер! Т.к. он учитывает время просмотра страницы до десятых долей секунды, направление взгляда, движение мышки, скорость понимания информации, простоту изложения информации для понимания (пункты списка, схемы, таблицы, анимацию, видео-ролики и прочее).
    6. Удобство управления лендингом и структурой страницы, скорость загрузки: однозначно SPA + AJAX. Вёрстка - делается так: общий дизайн и блоки наполнения В ОТДЕЛЬНЫХ HTML-файлах, затем берём includeHTML и ставим все нужные блоки друг за другом в едином HTML, которые нам понадобятся. Затем, комментируя/переставляя строки в головном HTML-файле мы легко можем менять расположение блоков (секций лендинга).
    7. Все popup-формы, разметки секций и прочее (т.е., доп. разметку для доп.блоков) - грузим через тот же includeHTML из рядом лежащих файлов, например, "vote-form.html" или "feedback-form.html", где будет нужный функционал. Т.е. Вы сможете легко менять эти файлы, чтобы получать нужную (модифицированную/новую) форму.
    8. Основной список секций по лендингу можно получить здесь (Создать сайт с "нуля" -> выбрав в списке типов сайта: лендинг).
    9. SEO и индексация - JSON-LD, META-тэги (включая данные для соц. сетей, fb:* и т.д.), разметка всей вёрстки - строго HTML5!
    Ответ написан
    4 комментария
  • Какая консольная команда удаляет все NPM модули одновременно?

    damir_sayahov
    @damir_sayahov
    Это можно легко сделать с помощью npm-пакета rimraf.
    Устанавливаем rimraf глобально в системе:
    npm install rimraf -g
    Затем переходим в папку с node_modules и удаляем её такой командой:
    rimraf node_modules
    Ответ написан
    1 комментарий
  • Как авито блокирует консоль разработчика в браузере Chrome?

    littleguga
    @littleguga
    Не стыдно не знать, а стыдно не интересоваться.
    Можно проще.
    Нажмите: deactivate breakpoints
    spoiler
    c5c4a8ef526b4d75b48d73718b223aaa.jpg
    Ответ написан
    Комментировать
  • Как в PHPStorm отключить или указать другой каталог для временных файлов?

    Перенесите папку в нужное вам место. Откройте командную строку и сделайте
    mklink /D Ссылка Назначение где - Ссылка - имя новой символической ссылки.
    Назначение - путь (относительный или абсолютный), на который ссылается новая ссылка.

    mklink /D C:\Users\{UserName}\.WebIde70 {путь к папке, куда перенесли}
    Ответ написан
    Комментировать