• Оптимизация сайта на Wordpress + Woocommerce?

    maxxannik
    @maxxannik
    Сайты на WordPress + Интернет магазины WooCommerce
    W3 Total Cache на мой взгляд не лучшее решение. Рабочее, но не лучшее.
    Тут вероятно лучше Batcache. Он гибче.
    Далее есть кейсы когда все страницы жестко кешируются. И отдаются из мемкеша моментально.
    А весь интерактив и данные зависимые от авторизации подгружаются через AJAX.
    Плюс основная проблема в поиске. Часто нужен фасетный поиск. В этом случае ставят Эластик или Алголию.
    Ответ написан
    Комментировать
  • Оптимизация сайта на Wordpress + Woocommerce?

    secsite
    @secsite
    Безопасные и быстрые сайты
    Кто что посоветует?

    Разбираться с причинами, а не бежать ставить костыли в виде кеш-плагинов.

    wordpress.tv/2013/08/19/konstantin-kovshenin-wordp...
    wordpress.tv/2015/08/20/konstantin-kovshenin-wordp...
    Ответ написан
    Комментировать
  • С чем связано некорректное отображение шрифтов (всех) в Mozilla Firefox?

    littleguga
    @littleguga
    Не стыдно не знать, а стыдно не интересоваться.
    Создавайте issue в баг трекере firefox'a.
    Там подробно описывайте проблему, там и помогут.

    Здесь ждать ответа смысла нет.
    Ответ написан
    Комментировать
  • В чем преимущества *nix, linux перед windows (для веб разработчика)?

    @spotifi
    Нету никаких проблем.
    Если только ваше конкретное используемое для ваших задач ПО нормально работает с Windows.

    Например, в моем случае используется Ansible и Docker, который не поддерживается на Windows. Приходится использовать Vagrant. Это достаточно удобно. Но ресурсы все же кушает.

    А так - даже Vim хорошо себя чуствует на Windows. Нативный. Не cygwin.

    Microsoft это тоже понимает.
    И вот уже они встроили подсистему Linux Ubuntu в Windows 10. Это не виртуализация, а именно полноценная подсистема.

    И многие вещи, например, те же шрифты - в Windows работают лучше, чем под Linux.

    Могут сказать - что лучше использовать для разработки ту же среду что и для production.

    Но дело в том, что даже если вы сидите на Ubuntu Desktop, то ваша среда серьезно отличается от среды сервера FreeBSD, CentOS, Debian, Ubutntu Server. И для полноценного CI все равно умные дядьки категорически рекомендуют и на Linux даже использовать Docker для полноценной эмуляции.

    Но ведь Docker-то можно использовать и на Windows. Правда, запускается он там подольше.

    Где именно вести разработку, где вам удобнее - это ваше личное дело. Вопрос ваших предпочтений. Никаких объективных причин в наше время, когда существуют Docker, Vagrant и виртуальные машины, когда куча приложений изначально сделанных для *nix запускаются в native под Windows - нет никаких причин себя строить. Кроме любопытства - а как оно там на других системах живется.

    У тех кто вас троллит есть еще одна причина: им приятно показать себя более умными. Как же - ведь Linux можно сконфигурить руками.

    Ага, конечно.

    Или используют готовые десктопные дистрибутивы. Не зря Ubuntu так популярна.
    Или если освоили ArchLinux - то построили себе совершенно убогое окружение по готовым мануалам.

    Чтобы действительно набрать скиллы ручной настройки Linux - нужно огромное количество упроства и времени, чем ваши друзья, которые вас троллят, вряд ли обладают.

    На деле 99% твердящих о гибкости Linux - далее чем ставить Apache и MySQL из пакетов - ничего сами и не умеют. Фактически работая в то же настроенной другими людьми десктопной среде. Но разве вы не умеете делать то же самое под Windows?

    Другое дело, что разворачивать и тестировать нужно под аутентичным операционным окружением.
    Неважно под Ubuntu ты сидишь или под Windows.

    Лучшие практики советуют использовать полностью изолированный и независимый от рабочего места разработчика инструментарий - виртуальные машины, Vagrant, Docker, отдельные физические сервера.

    В этом случае под твоей любимой ОС работает только текстовый да графический редактор. А все развертывание для тестирования и для продакшн проводится в совсем другой среде.

    Используя Docker хоть под Windows ты будешь получать даже больше преимущество повторяемости рабочей среды чем тем кругом, кто советуют тебе просто перейти на Linux. Если на более слабом железе это и было бы существенно (Docker под Linux стартует быстрее), то на твоем - несущественно на чем работать.
    Ответ написан
    9 комментариев
  • Обратиться к элементам Яндекс карты?

    @anikavoi
    Не совсем понял вопрос. Чем не утраивает их стандарный API (https://tech.yandex.ru/maps/)?
    Данные балуна доступны по getData() (https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/refe...

    Если нужно что-то совсем "глубокое" - то правильнее посмотреть в сторону OpenStreetMap или Leaflet.js|Mapbox
    Ответ написан
    1 комментарий
  • Инструментарий для реализации валидатора?

    27cm
    @27cm
    TODO: Написать статус
    Комментировать
  • Плейсхолдеры в SCSS нужно выносить в отдельный файл?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега CSS
    Ответьте для себя на следующие вопросы:
    1. Что я получу, если сделаю это, какие у такого подхода плюсы и минусы?
    2. Что я получу, если не сделаю этого?
    3. Зачем я написал вопрос на Тостер, когда это только моё дело - куда и что я складываю в своих проектах?
    Ответ написан
    Комментировать
  • Как сверстать такую шкалу процентов?

    @znferr0
    Системный администратор - unix / linux
    Как пример вот ссылочка -> anthonyterrien.com/knob
    Ответ написан
    Комментировать
  • Можно ли сделать на сайте баннер, который будет отображаться только для мобильных устройств?

    bootd
    @bootd Куратор тега CSS
    Гугли и ты откроешь врата знаний!
    isMobile = {
    	        Android: function() {
    	            return navigator.userAgent.match(/Android/i);
    	        },
    	        BlackBerry: function() {
    	            return navigator.userAgent.match(/BlackBerry/i);
    	        },
    	        iOS: function() {
    	            return navigator.userAgent.match(/iPhone|iPad|iPod/i);
    	        },
    	        Opera: function() {
    	            return navigator.userAgent.match(/Opera Mini/i);
    	        },
    	        Windows: function() {
    	            return navigator.userAgent.match(/IEMobile/i);
    	        },
    	        any: function() {
    	            return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
    	        }
    	    };
    
        if(isMobile.any()){
    // Тут то, что должно работать на мобильных устройствах
        }


    Еще есть https://github.com/matthewhudson/device.js?
    Ответ написан
    2 комментария
  • CSS, как здесь сделать "плавность"?

    Punkie
    @Punkie
    css3generator.com - вот тут transition с режимом ease сгенерируйте.

    Вот так наапример:

    -webkit-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
    Ответ написан
    1 комментарий
  • Советы по реализаци валидатора?

    paradokso
    @paradokso
    Начинающий фронт-эндер
    Думаю не будет лишним
    3. https://github.com/CSSLint/csslint/wiki
    Ответ написан
    Комментировать
  • Как изменить положение существующих меток на яндекс карте при наведении мышью?

    @gracer
    Ну, грубо говоря
    ymaps.ready(init);
    
    function init() {
        var myMap = new ymaps.Map('map', {
                center: [55.755773, 37.617761],
                zoom: 9
            }),
            myPlacemark = new ymaps.Placemark(myMap.getCenter());
    
        myMap.geoObjects.add(myPlacemark);
    
        myPlacemark.events
            .add('mouseenter', function (e) {
                // Ссылку на объект, вызвавший событие,
                // можно получить из поля 'target'.
                var coords = e.get('target').geometry.getCoordinates();
                coords[0] += 0.001;
                coords[1] += 0.001;
                e.get('target').geometry.setCoordinates(coords);
            })
            .add('mouseleave', function (e) {
                var coords = e.get('target').geometry.getCoordinates();
                coords[0] -= 0.001;
                coords[1] -= 0.001;
                e.get('target').geometry.setCoordinates(coords);
            });
    }
    Ответ написан
    3 комментария
  • Как изменить расположение элементов WooCommerce в WordPress?

    Punkie
    @Punkie
    В папке плагина woocommerce есть файл со всеми хуками - woocommerce_hooks.php . Находите в нем отрезок, который отвечает за нужный вам кусок шаблона (в вашем случае woocommerce_single_product_summary), смотрите вызовы add_action.
    У вас они будут как раз такие, как закоментировано в коде выше, то есть:
    @hooked woocommerce_template_single_title - 5
                 * @hooked woocommerce_template_single_price - 10
                 * @hooked woocommerce_template_single_excerpt - 20
                 * @hooked woocommerce_template_single_add_to_cart - 30
                 * @hooked woocommerce_template_single_meta - 40
                 * @hooked woocommerce_template_single_sharing - 50


    В данном случае числа - это последовательность (приоритет) активации action'ов.
    Теперь вам нужно в functions.php вашей темы деактивировать эти action'ы методом remove_action и выполнить их активацию в нужном вам порядке.
    Например, вам нужно, чтобы сначала выводилось название товара, затем краткое описание, затем цена и тд.
    Код будет примерно такой:
    *тут перечисляем все строки с методом remove_action:
    
    remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 5);
    remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10);
    ... и т.д.
    
    *Теперь вызываем те же действия по хуку woocommerce_single_product_summary, но в нужной нам последовательности:
    add_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 5);
    add_action('woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 10);
    add_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 15);
    ... и т.д.

    Числовой приоритет вызова обычно делают кратным 5 для того, чтобы можно было потом еще что нибудь впихнуть между вызовами. Например, захотите потом добавить вывод ключевых слов или уникального поля товара между названием и кратким описанием. Тогда приоритет вызова можно будет сделать 6-9 без необходимости заново перебирать весь массив вызова хука.

    Подробнее про понятия hook, action и filter читайте в официальном руководстве: Introduction to hooks: actions and filters
    Ответ написан
    7 комментариев
  • Как правильно учить Javascript?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Вы наверное слышали, что каждый уважающий себя программист обязан написать несколько велосипедов? И JavaScript-программисты тоже так делают и еще как! Так вот в этом нет ничего плохого, это отличное самообучение.

    Для начала заходите на любой каталог плагинов для JavaScript или jQuery. Находите интересный, не очень сложный на вид плагинчик (например карусель, лайтбокс, слайдер и т.п.) и пытаетесь сделать похожий, только лучше. Поначалу будет выходить черти что, но, это будет уже реальная задача, где вы начнете сталкиваться с реальными особенностями языка. Вот тут то знания и начнут обретать какую-то структуру у вас в голове.

    Не пытайтесь брать сразу сложные вещи, начинайте с малого. Как заметили выше, не смотрите пока что на очень сложные книжки, их читать сейчас почти бесполезно.
    Ответ написан
    6 комментариев