• Влияет ли на загрузку страницы количество внешних файлов CSS/JS?

    @KFan
    Веб-программист
    Влияет и сильно.

    1. Если у тебя 2 файла, то да, врятли ты увидишь прирост
    2. Браузер использует 6 потоков загрузки данных, то есть если у тебя на странице 100 картинок, 20 скриптов и 20 стилей, они будут загружены в 24 захода (если считать в общем).
    3. Каждое новое подключение, будь то загрузка стиля, скрипта, шрифта, картинки это новое подключение к серверу (если подключение к серверу идет 50мс, то каждый файл будет загружен в лучшем случае за 70мс).

    Как пример открой google.com, для чего у них по твоему все скрипты и стили в теле страницы грузятся?
    Ответ написан
    3 комментария
  • Что скажете о javascript webSocket?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Ваше мнение: стоит ли изучить и использовать технологию в коммерческих проектах?
    Поверьте, стоит. Некоторые финансовые биржи (как пример коммерческого проекта) активно их используют. Веб-сокет, это по сути своей самый обыкновенный сокет, который используется примерно везде (в 99% программ) работающих с сетевым трафиком, накрученный поверх веб-реалий (протокола HTTP).

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

    можно вычитать о наличии уязвимости в системе
    Если мне не изменяет память, наличие уязвимости возможно в случае использования прокси-сервера ("палёного") и отсутствия шифрования.

    К тому же фишка из ES6, я думал поддержка будет хромать, а она больше 90%.
    Возможно я ошибаюсь, но я не помню связи между RFC-спецификацией и ES6, к тому же, по моему, ES6 появилась позже 2011г. (в котором появилась RFC-спецификация на веб-сокет).

    Был ли у кого-нибудь опыт работы с этой штукой, и возможно ли его применять на практике в текущий момент времени.
    Был, писал и сервер и клиент на C/++, ничего особо сложного не заметил, вопрос времени и желания, что бы детально разобраться... JS-фреймворки и библиотеки (например, Socket.IO), некоторые, активно применяют веб-сокеты в качестве замены лонг-пулам, флеш-сокетам и пр. ерунде.

    Году в 2013-2014, поддержка была ещё не очень уверенная... в 2016-2017м, я бы не особо беспокоился за пользователей, чьи браузеры веб-сокет не поддерживают. Пусть лучше страдает 3% тех, у кого их нет, чем 97% тех, кто мог бы их использовать, но не используют в угоду тем 3%...
    Ответ написан
    Комментировать
  • Что скажете о javascript webSocket?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Во-первых, websocket - это протокол передачи данных, реализованный поверх http (wss - websocket secure работает через https соответственно) и к ECMAScript (спецификация для языков JavaScript, ActionScript и иже с ними) никакого отношения не имеет.
    Во-вторых, реализация websocket клиента включена в спецификацию BOM (Browser Object Model), из актуальных браузеров поддержка есть почти везде, не поддерживают только IE9 и ниже (критично только если ресурсом будут пользоваться в госсекторе) и OperaMini (мобильный браузер, который по реализации стандартов застрял где-то в 90х)
    В-третьих, websocket кардинально отличается от ajax:
    ajax позволяет делать классические http запросы и работает по принципу запрос-ответ
    websocket же устанавливает постоянное соединение, после чего общение происходит в виде отправки сообщений, притом сообщения могут отправлять как сервер так и клиент в любой момент времени пока установлено соединение
    В-четвертых, конкретно в реализации websocket клиента в браузере есть ряд ограничений:
    Нельзя управлять заголовками при установлении соединения, единственный способ передать какие-либо данные на сервер в момент установления соединения - это url
    На протяжении всего соединения будет только один формат обмена данными, на выбор есть строки, ArrayBuffer и Blob. Если есть необходимость отправлять по сокету как бинарные данные так и строки, то строки придется на js паковать в ArrayBuffer или Blob и, соответственно, распаковывать обратно при получении сообщений
    В-пятых, хотя правильнее наверно в-нулевых, сервер должен уметь работать по протоколу websocket

    В целом, вебсокеты можно использовать как альтернативу ajax, в SPA приложениях он может даже дать прирост скорости в общении с серверным апи в виду постоянного соеденения, но есть свои заморочки:
    придется самостоятельно реализовывать систему запрос-ответ (тут можно взять такую вещь как socket.io и не парится, хоть и тормазнутая, зато удобная + есть имитация поверх других транспортов для всяких там IE9)
    при отправки больших данных, придется заморачиваться разбивкой на части, иначе другие сообщения будут ждать пока сообщение будет отправлено (не стоит отправлять больше 256кб за раз)
    Ответ написан
    1 комментарий
  • Почему после выполнения всего алгоритма условий один раз, следующий клик после возврата к стандарту не срабатывает?

    @axeax
    $(this).click(function(){ // и по нажатию на неё
    зачем еще раз событие клика навешивать? Оставьте только
    thisTabItemsWrapper.css('max-height', defaultMaxHeight); //меняем высоту списка табов на дефолт
    $(this).html('показать ещё'); // меняем текст кнопки на стандартный

    Все равно если условие не выполнится то и этот кусок кода не сработает

    upd:: дошло зачем
    замените это
    $(this).html('показано всё (скрыть)'); //меняем текст кнопки
        if((this).html() == 'показано всё (скрыть)'){
        	thisTabItemsWrapper.css('max-height', defaultMaxHeight); //меняем высоту списка табов на дефолт
            $(this).html('показать ещё'); // меняем текст кнопки на стандартный
        }

    и пишите
    if($(this).html() == 'показано всё (скрыть)'){
        	thisTabItemsWrapper.css('max-height', defaultMaxHeight); //меняем высоту списка табов на дефолт
            $(this).html('показать ещё'); // меняем текст кнопки на стандартный
        }
        else $(this).html('показано всё (скрыть)'); //меняем текст кнопки

    конечно $(this).html() == 'показано всё (скрыть)' не есть хорошо, лучше загонять значение в какой нибудь data-button-state = 'default | hide'
    Ответ написан
    1 комментарий
  • Как найти в базе данных сайта WordPress страницу, потенциально зная лишь её заголовок?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    На счёт phpMyAdmin'а не скажу, но Вы легко можете это сделать следующим образом:
    1. Экспортируем базу в SQL-файл
    2. Открываем полученный файл в любом редакторе
    3. Нажимаем Ctrl+F или F3
    4. Вводим искомую строку
    5. Ищем... И если находим - видим ID'шник или какую-то другую информацию, идентицирующую искомую страницу.

    Скорее всего, база довольно небольшая и это легко реализуется.

    Так же, подобный функционал (для реализации поиска по всей БД) есть в множестве программ для работы с БД, например, в HeidiSQL, но, так как Вы пользуетесь phpMyAdmin'ом, могу предположить, что возможности подключить к БД из программы "напрямую" у Вас нет, по этому, предложил выше описанный вариант.
    Ответ написан
    Комментировать
  • Как сэкономить ресурсы оперативной памяти при кодинге в Ubuntu?

    Melkij
    @Melkij
    PostgreSQL DBA
    swap в наличии. Так что описываемое поведение вполне норма, когда начинает подходить к концу свободная памяти и ОС лезет в swap (что можно проконтролировать вызовом free при начале проблем). Немного странно выглядят падения расширений, но, возможно, их отстреливает хром за слишком долгий отклик.
    Для начала стоит покрутить swappiness, чтобы ОС лезла в свап только в крайнем случае.
    Затем поиграть в Zswap, zram. Что порежет производительность CPU, но поможет от нехватка памяти.

    Раз на всё памяти не хватает - то есть варианты действий:
    - отчаянно тормозить в свапе
    - звать на помощь OOM killer, который будет убивать какой-нибудь на его усмотрение бесполезный процесс. Для этого достаточно вырубить swap и ядро само позовёт при необходимости.
    - добавлять память
    - уменьшать потребление памяти. Следить, кто сколько памяти жрёт, может у вас кто-нибудь не особо нужный просто течёт по памяти. Можно запускать текущие процессы в cgroup с жёстким лимитом памяти, тогда они будутт отстреливаться при превышении лимита.
    Ответ написан
    1 комментарий
  • Что лучше использовать как корпоративный портал?

    Godless
    @Godless
    ИМХО, если список 100% все прям наданадахачунимагу - вам дорога в собственную разработку.
    Ответ написан
    Комментировать
  • Как создать анимированный анкор?

    qork
    @qork
    { background: #F00B42 }
    $(function() {
      $('a[href*="#"]:not([href="#"])').click(function() {
        if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
          var target = $(this.hash);
          target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
          if (target.length) {
            $('html, body').animate({
              scrollTop: target.offset().top
            }, 1000);
            return false;
          }
        }
      });
    });
    Ответ написан
    2 комментария
  • Как отловить событие click на кнопке через devtools?

    Я использую мазилу . В доме есть одна очень классная вещь . 67550c0740324c87b2e58d37c13133d8.png Помогает отловить все события приписанные к данному элементу .
    Ответ написан
    1 комментарий
  • Лол, неведомые тайны select на safari айпада?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Как вариант прописать явно z-index для backdrop (затемнения) и для модалки.
    Но я в данном случае склонен думать, что это частный случай. Может быть расширения какие-то в виде adblock и подобной ерунды. Если не получается воспроизвести хотя бы на еще одном устройстве - надо брать этот ipad и сносить по очереди расширения, обновлять браузер и т.д.
    Ответ написан
    9 комментариев
  • Почему гит перестал пушить изменения, игнорируя коммиты?

    Scorpi
    @Scorpi
    >Сейчас ни на одной из веток
    Ни о чём не говорит?
    git checkout master
    Ответ написан
    1 комментарий
  • Коротенький гайд по натяжке вёрстки на ModX?

    Да бога ради, я вообще не встречал более удобной системы для натяжки своего диза на движок, чем есть в modx-се. Так что делайте все как обычно, хоть с gulp, хоть с webpack-ком (тут пишу про то с чем сам работаю). Весь процесс выглядит примерно так:
    1) Кидаете финальный билд фронта на ftp (обычно это папка assets/templates/тут название вашего шаблона);
    2) Далее в админке создаете шаблон, или открываете стандартный, копируете туда свою разметку.
    3) Правите пути к js-сам, картинкам и css-сам.
    4) У тут просто открываете страницу с этим шаблоном и радуетесь тому на сколько вы красава).

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

    delphinpro
    @delphinpro Куратор тега Вёрстка
    frontend developer
    Научите своего верстальщика использовать системы сборки и шаблонизаторы, если он еще не умеет (что в 2016 году как минимум неприлично, как максимум, попахивает непрофессионализмом). В идеале используйте один шаблонизатор для верстки и в бекенде. Например, для Twig существует множество реализаций на разных языках, в т.ч. на javascript (у вас nodejs, как я понял), и пакет для gulp имеется. Или же jade.
    Для использования переменных в верстке есть пакет gulp-data.
    При правильной организации системы сборки вы получите от верстальщика практически готовые шаблоны для вашего бекэнда плюс всегда актуальную верстку в репе.

    и вообще подготовить шаблон для использования клиентским кодом,

    А клиентский код у вас кто пишет?
    Ответ написан
    2 комментария
  • Метод воспроизведения видео в HTML5-видеоплеере?

    alsopub
    @alsopub
    Может вам будет интересно и поможет в решении проблемы:
    https://habrahabr.ru/company/microsoft/blog/127295/

    Вот еще про горячие клавиши:
    https://habrahabr.ru/company/microset/blog/110040/
    Ответ написан
    1 комментарий
  • За сколько миллисекунд происходит duration картинки на слайдере bootstrap-carousel?

    Есть вот такой вариант
    NEW EDIT 20/8/2015 Now, after you edit your css file, you just need to edit CAROUSEL.TRANSITION_DURATION (in bootstrap.js) or c.TRANSITION_DURATION (if you use bootstrap.min.js) and to change the value inside it (600 for default). The final value must be the same that you put in your css file( for example 10s in css = 10000 in .js)

    P.S. Такое ощущение, что вопрос никто не читал )))
    Ответ написан
    2 комментария
  • Почему не срабатывает transition на градиенте?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Градиент транзишеном менять нельзя. Но можно сделать 2 блока конкретно для бэкграундов (или например через :before/:after) и менять у них прозрачность.
    Ответ написан
    Комментировать
  • Передать файлы между линукс виндовс компьютерами?

    zooks
    @zooks
    Frontend
    Самый удобный способ - это Samba.
    Ответ написан
    Комментировать
  • Как делать перенос строки в textarea?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Ответ написан
    Комментировать