• Что означает "пиксель перфект" в описании задания?

    @djay
    Подскажите, пожалуйста, что означает "пиксель перфект" в задании?


    Это значит что при верстке макета, нужно использовать линейку чтобы отмерять все размеры в пикселях, а потом прописывать в CSS такие же.

    Как это добиться?


    Использовать линейку

    Главное ли чистота кода при этом или можно использовать костыли?


    Главное это соответсвие с макетом. А что внутри - заказчику наплевать, в болишнистве случаев. Костыли нужно использовать только в самых крайних случаях.


    Почему в описаниях заданий не пишут необходимость поддерживать ie7, ie8? Значит ли это, что можно обойтись без них?


    Потому что это не требуется в 2016 (в болшинстве случаев). Обойтись можно.

    Можно ли при этом использовать js?


    Зависит от задач. Например слайдер и прочее пишутся на JS, а ты просто подключаешь готовые компоненты и настраиваешь под себя.
    Ответ написан
    1 комментарий
  • Что означает "пиксель перфект" в описании задания?

    edalis
    @edalis
    HTML, CSS, JS, Node.js
    Элементы должны располагаться пиксель в пиксель, как в макете.
    Плагин для Chrome вам поможет PerfectPixel by WellDoneCode.
    Ответ написан
    Комментировать
  • Что означает "пиксель перфект" в описании задания?

    @Ooos
    Front-End
    Ну если нет поддержки значит и не надо, ну наверно как минимум ie11 надо.
    Про пиксел перфект, это, что бы Ваша верстка была такая же как и на макете.
    Для этого скачайте https://chrome.google.com/webstore/detail/perfectp...
    Ответ написан
    Комментировать
  • Что означает "пиксель перфект" в описании задания?

    iiiBird
    @iiiBird Куратор тега HTML
    Пока ты спишь - твой конкурент совершенствуется
    это значит верстка должна быть 1 в 1 с макетом. прям чтобы ты psd наложил поверх своей верстки - и все элементы пиксель в пиксель были там же.
    Ответ написан
    Комментировать
  • Как показывать код (js, html, css, php) на странице блога?

    Sanes
    @Sanes
    Подсветка кода highlight. Для блога в Modx существует пакет Tickets, там уже всё реализовано.
    Ответ написан
    5 комментариев
  • Как из php файла передать данные в переменную javascript?

    @yociyavi
    Или ajax-запросом или так
    $phpVar = '{a: 1, b:2, c:3}';
    echo "
    <script>
    var jsVar = $phpVar;
    </script>
    ";
    Ответ написан
    8 комментариев
  • Как из php файла передать данные в переменную javascript?

    Bellicus
    @Bellicus
    И швец, и жнец, и на дуде игрец.
    Так строй карту сразу в блоке success ajax-запроса.

    С яндексом не работал, но на примере гугла (из одного рабочего проекта). Данные получил, и тут же с ними и работаю.

    $.ajax({
            url: "coords.json",
            dataType: "json",
            async: true,
            success: function(msg){
                google.maps.event.addDomListener(window, 'load', init);
                function init() {
                    var mapOptions = {
                        zoom: 2,
                        center: new google.maps.LatLng(42, 10),
                        scrollwheel: false
                    };
                    var mapElement = document.getElementById('map');
                    var map = new google.maps.Map(mapElement, mapOptions);
                    setMarkers(map);
                    map.addListener('click', function() {
                        if (infowindow) {
                            infowindow.close();
                        }
                    });
                }
    
                function setMarkers(map) {
                    for (var n = 0; n < msg.length; n++) {
                        console.group('Path: '+n);
                        for (var i = 0; i < msg[n].length; i++) {
                            var m = i+1;
                            var mrk = msg[n][i];
                            var next_mrk = msg[n][m];
    
                            var marker = new google.maps.Marker({
                                position: {lat: mrk[1], lng: mrk[2]},
                                map: map,
                                icon: image,
                                title: mrk[0],
                            });
                            Message(marker, mrk[3]);
    
                            if(next_mrk) {
                                var dashedLine = new google.maps.Polyline({
                                    path: [
                                        {lat: mrk[1], lng: mrk[2]},
                                        {lat: next_mrk[1], lng: next_mrk[2]}
                                    ],
                                    strokeOpacity: 0,
                                    icons: [{
                                        icon: line,
                                        offset: '0',
                                        repeat: '6px'
                                    }],
                                    map: map
                                });
                                console.dirxml(mrk[0]+" - "+next_mrk[0]);
                            } else {                            
                                console.dirxml(msg[n][i][0]);
                            }
                        }
                        console.groupEnd();
                    }
                }
    
                function Message(marker, msg) {
                    var infowindow = new google.maps.InfoWindow({
                        content: msg
                    });
                    marker.addListener('mouseover', function() {
                        this.setIcon(image_hover); this.setZIndex(2);
                        infowindow.open(marker.get('map'), marker);
                    });
                    marker.addListener('mouseout', function() {
                        this.setIcon(image); this.setZIndex(1);
                        infowindow.close();
                    });
                    marker.addListener('click', function() {
                        marker.get('map').setZoom(6);
                        marker.get('map').setCenter(marker.getPosition());
                    });
                }
            }
        });
    Ответ написан
    7 комментариев
  • Как показывать всплывающее окно только новым клиентам?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Это делается примерно так:
    1. Пользователь заходит на сайт
    2. Система проверяет есть ли флаг в Cookie или в LocalStorage
    3. Если флаг есть, ничего не делаем
    4. Если флага нет, показываем окно, ставим этот флаг
    5. Profit!

    Как работают Cookie, JS-библиотека для работы с Cookie
    Как работает LocalStorage
    Ответ написан
    Комментировать
  • Как показывать всплывающее окно только новым клиентам?

    @karminski
    Senior React.JS Developer
    Подозреваю, что речь идет о "гостях" сайта, т.е. не авторизованных пользователях? Тогда после показа сообщения пишите "неустаревающую" куку (ну на 1 год, например) или храните состояние "показано/непоказано" в localstorage (для относительно современных браузеров).
    Ответ написан
    1 комментарий
  • Как в linux mint разделить диск на несколько диском после установки?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    При установке можно, на шаге выбора разметки диска выбрать разметку вручную.
    После установки, если это системный раздел (/), то только загрузившись с установочного диска. Штатная программа gparted.
    Ответ написан
    Комментировать
  • Что мой провайдер знает обо мне?

    @nirvimel
    Когда я захожу на определенный сайт, провайдер видит URL?

    Да.

    А если я захожу на https?

    Известен IP сервера и имя домена. Больше ничего.

    Откуда провайдер узнает, что я скачиваю определенный фильм/программу через torrent?

    Торрент-клиент общается с трекером по HTTP. Все видно насквозь: конкретные торренты + вся статистика (когда начато скачивание, когда закончено, когда пошла раздача, сколько роздано). Возможно подключение к трекеру и по HTTPS, но rutracker.org такой возможности не дает (мне тоже интересно почему).

    Все пакеты которые я получаю и раздаю значит провайдер скачивает себе, чтобы узнать что это за фильм/программа?

    Провайдер не хранит у себя весь трафик. Это технически невозможно. Но трафик обрабатывается, классифицируется и ведутся логи о том какой тип трафика когда входил/уходил от абонента.

    Или он отслеживает факт скачивания .torrent файла, а затем делает вывод по идущим пакетам, что это скачивается?

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

    Когда я пользуюсь VPN, что видит провайдер?

    Видит шифрованный траффик на конкретный IP. По IP можно узнать, что этот диапазон продается под VPSы. Сам факт шифрованного трафика вешает абонента в списки тех, "кому есть что скрывать", а значит подозреваемых при любом розыске.

    Что я зашел на определенный IP и с него идут зашифрованные потоки?

    Дальнейшее направление трафика от VPN-сервера отследить невозможно (по крайней мере, на оборудовании провайдера в автоматическом режиме). Но при целенаправленной слежке за абонентом в принципе возможно по временным меткам сопоставить трафик абонента с трафиком любого сервера.

    OpenVPN будет работать через VPN IP и в браузере и при обновлении Windows, драйверов, ...?

    В зависимости от настройки. Но в общем случае, да, так.

    Читал, что в Windows есть такая особенность, что если провайдер как-то урезает пакет, то VPN отключается и сайту показывается мой реальный IP?

    Это не связанно с провайдером. Это особенность Windows. Когда VPN отваливается, весь трафик вылетает наружу в открытом виде. Опять же зависит от настроек. Но это еще одна цена "удобства" при использовании Windows.

    При этом провайдер видит на каком я сайте, что скачиваю?

    VPN отвалился - хацкер спалился.

    Таких фишек много?

    Смотря о чем речь. В сфере сетевой безопасности и анонимности различных нюансов вообще много.

    Как от них защитится?

    Учить мат.часть. Разбираться в сетевых протоколах и в устройстве ОС.

    Если пользуюсь каким-то расширением типа ZenMate, dotvpn, провайдер аналогично как и с VPN видит что что-то отправляется и приходит на определенный VPN IP?

    Расширения очень разные. Они могут базироваться на совершенно разных технологиях. Ни один специалист вам не скажет за все расширения. Не исключено, что многие из них, по сути - honeypot, то есть созданы с целью слежения за любителями анонимности, привлекают своим удобством и дают ложное чувство безопасности.

    При использовании Tor, кто-то пользуется моим IP, пока я пользуюсь чужим?

    Нет. Если у вас не сконфигурирован Exit Node.

    Что при этом видит провайдер, что я получаю потоки данных с определенных IP и каждый раз разный IP?

    У них есть система точного обнаружения использования Tor. Это факт остается в логах с теми же последствиями, что и для VPN.

    Провайдер видит URL?

    Через Tor и VPN - нет.

    Каким образом можно полностью управлять сетью на ПК, видеть что, куда и когда отправляется или приходит на ПК (Windows, Linux)?

    Видеть все: https://www.google.com/search?q=Wireshark
    Блокировать все лишнее: https://www.google.com/search?q=Comodo+Firewall
    Ответ написан
    22 комментария
  • Как использовать модификатор с двумя и более if в MODx?

    ruslan_aleev
    @ruslan_aleev
    MODX с cat-Art.ru
    Попробуйте так:
    [[++cultureKey:is=`ru`:then=`3`:else=`
    [[++cultureKey:is=`en`:then=`12`:else=`
    [[++cultureKey:is=`fr`:then=`21`:else=``]]
    `]]
    `]]
    Ответ написан
    1 комментарий
  • Как создать мультиязычный сайт, где у каждого языка будут свои статьи (не перевод одинаковых статей)?

    ruslan_aleev
    @ruslan_aleev
    MODX с cat-Art.ru
    Здравствуйте!

    1. Значение culturekey для MODX не важно, можно написать хоть "en", "eng" и т.д. Важен он для сниппета переключения url-сайта и для babel (в babel в папке пакета на хосте есть файлы языков, которые нужно добавить со своим culturekey для кыргызского, если по-умолчанию такого нет).
    2. Можно создать чанки для каждого контекста свой чанк, например, [[*en_title]], [[*ru_title]], а в шаблоне прописать один раз - [[*[[+culturekey]]_title]].
    Или можно прописать в одном чанке, но проверяя по условию через модификатор, подробнее о модификаторе - см. docs.modx.pro/system/the-basics/filters-input-and-...
    3. Да, скорее всего так, почитайте документацию, там вроде есть.
    4. Посмотрите внимательно есть .htaccess на хостинге и прописан ли в шаблоне <base href="[[++site_url]]"/>
    Ответ написан
    2 комментария
  • Как вывести срок доставки и стоимость доставки в карточке товара и в корзине?

    @amfetamine
    Если быть честным, то я не думаю, что кто-то будет решать коммерческую задачу просто так. К тому же та информация, которую Вы предоставили неполная, из нее может что-то понять только человек, который уже выполнял такую же задачу.
    Ответ написан
    Комментировать
  • Как сделать чтобы сайт одинаково быстро открывался в разных странах?

    UAPEER
    @UAPEER
    UAPEER Hosting Solutions Англия
    CloudFlare
    Ответ написан
    Комментировать
  • Как сделать ведение базы клиентов в MODX?

    Sadist07
    @Sadist07
    Верстальщик, Недо дизайнер
    https://modx.pro/help/533/ пост посмотри и комментарии почитай....... думая потом сам со временем разберешься.
    Ответ написан
    Комментировать
  • Как сделать фон в таком стиле?

    709th
    @709th
    Начинающий веб-дизайнер, веб-разработчик
    Действия:
    1. Создаешь новый документ размером 10х10 с прозрачным фоном и рисуешь в центре элипс черного цвета размером 5х5.
    2. После чего создаешь текстурку (Edits - Define Pattern...). Теперь у нас есть паттерн с точками.
    3. Создаешь документ нужного тебе размера и заливаешь фон градиентом (Gradient tool - G) так же, как на примере. (Чтобы создать градиент нужных цветов, заведомо скопируй цвета пипеткой).
    4. На новом слое создаем прямоугольник и поворачиваем его (зажав Shift) на 45 градусов. Затем создаешь такой-же и переносишь его немного левее (как на рисунке).
    5. Выделяешь слои с прямоугольниками и создаешь смарт объект (На любом из выделенных слоев жмешь правой кнопкой мыши - Convert to Smart Object)
    6. В получившемся смарт объекте заходишь в свойства слоя и накладываешь на него градиент (такой же как и на рисунке, синий-фиолетовый).
    7. Создаешь новый слой поверх всех остальных, убираешь у него заливку (Fill 0%), заходишь в свойства слоя и накладываешь паттерн, который мы создали в самом начале. (Blending Options - Pattern Overlay)
    Все.
    Ответ написан
    Комментировать