• Как правильно использовать информацию о посетителях сайта?

    @Nwton
    профиль в социальной сети (написать сообщение в профиле)
    Не вздумай. Профили собирают, что бы лучше понимать кто покупает, а кто нет и почему. Помогает составить портрет потребителя, так сказать. Не более того.

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

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

    позвонить
    Только если пользователь начал оформлять заказ, но не закончил. Можно позвонить (если время удобное) и узнать, нужна ли помощь.

    И как написал Rsa97, если вы получили информацию о пользователе, которую он сам вам не оставлял, то не нужно давать ему знать об этом.
    Ответ написан
    Комментировать
  • На чем сделан этот сайт?

    @Nwton
    Я вижу OpenCart
    Ответ написан
    Комментировать
  • Что за ошибка в JS ReferenceError: undef is not defined?

    @Nwton
    Переменные в колонку объявляются так:
    var a = 1,
    	  b = 5,
    	  c;

    А у вас так:
    var a = 1;
    	  b = 5;
    	  c;

    undef is not defined = объект undef не определен. Ошибка возникла, потому что вы пытаетесь вызвать то, чего нет.
    Ответ написан
    Комментировать
  • Как лучше всего организовать проверку массива ссылок используя Node.JS?

    @Nwton
    Что бы не перегрузить сервер, делайте проверку последовательно.
    1) Есть массив
    2) Запускаете функцию проверки
    3) Функция достает первый элемент, отправляет запрос
    4) Если ответ получен (200/404 итд), удаляет первый элемент массива, выводит код в консоль
    5) После этого проверяет колво оставшихся элементов, если > 0, запускает саму себя через setTimeout 1000, иначе сообщает о завершении работы
    Ответ написан
    Комментировать
  • Нормально ли так отслеживать элементы в css?

    @Nwton
    Если вы планируете всю жизнь прятать свой код от глаз других специалистов, то можете хоть справа на лева писать. Но даже в таком случае, вы должны понимать, что те правила, которыми сейчас руководствуются, составляя css, разрабатывались и подвергались критике на протяжении лет 15 и они наиболее оптимальны.
    Ответ написан
    Комментировать
  • Английский для front-end, где брать словарный запас?

    @Nwton
    1) Вы на верном пути. Читайте документацию/литературу/статьи на оригинальном языке и если что-то непонятно, используйте google translate.
    2) Не стоит переводить каждое слово, старайтесь понять о чем речь по ключевым словам. Со временем мозг сам додумает значение часто встречающихся слов. Так быстрее изучать языки.
    3) Если есть возможность выбора между англ. статьей и аналогичной на рус., читайте англ.
    Ответ написан
    Комментировать
  • Как сравнить даты раньше или позже?

    @Nwton
    Работай с датами и временем в unix формате. И подобных вопросов не будет возникать.
    Ответ написан
    Комментировать
  • С чего начать учить серверный javascript?

    @Nwton
    Ответ написан
    Комментировать
  • Как лучше хранить временной интервал обхода парсера?

    @Nwton
    Такой вариант вполне работоспособный. Используйте его.
    Ответ написан
    Комментировать
  • Что делать, если заказчик хочет больше правок?

    @Nwton
    1) Стоимость правок необходимо оговаривать заранее, как и весь порядок разработки;
    2) Если вы это не обсуждали до того, как взяли предоплату, то по обычаям стоит сделать правки бесплатно;
    3) Заказчик не считает макет строгим. Для него это набросок, как и для вас. Поэтому правки неизбежны;
    4) Вы должны понимать и помнить, что в РФ клиенты очень капризны, скупы и не педантичны, поэтому работать сними сложно и неприятно.
    Ответ написан
    4 комментария
  • Можно ли размывать при помощи css только часть элементов?

    @Nwton
    JS костыль:
    1) методами js делаем скриншот страницы
    2) раскрываем меню, определяем его габариты и координаты
    3) обрезаем скриншот по габаритам и координатам
    4) блюрим обрезок и ставим как bg меню

    Безумие.
    Ответ написан
    Комментировать
  • Можно ли уже уверенно использовать flexbox?

    @Nwton
    Уверенно нельзя. В полной мере использовать возможности flex не выйдет. Штука отличная, но не до конца адаптивна, часто приходится прибегать к костылям. Safari, например, не понимает space around и нет простой возможности, используя выравнивание по краю, один из блоков выровнять по противоположному через left/margin 0

    Если верстать на float можно закрытыми газами, без проверки того, что вышло на разных устройствах, то с flex так не получится.

    Вопреки caniuse.com, не все методы flex отображаются корректно на разных устройствах.
    Ответ написан
    1 комментарий
  • Express + socket.io как связать в кучу?

    @Nwton
    Сталкивался с задачей авторизации steam на node js + socket.

    Суть самой steam-login в том, что бы убедится, что пользователь, который предоставил вам данные о steam аккаунте, дейтсвительно является его владельцем. Т.е., steam авторизация это в первую очередь проверка. После авторизации через steam-login вы получаете логин steam аккаунта пользователя. От него и пляшите.

    1) Пользователь проходит авторизацию через steam-login. Вы получаете login пользователя.
    2) Создаете куку и привязываете её к login, добавляете в базу. В браузере пользователя также устанавливаете эту куку.
    3) При socket connect достаете куки браузера, по кукам ищите логин в базе и всё. Теперь вы знаете, какой именно пользователь отправляет socket запросы.

    p.s. Я использовал passport-steam вместо steam-login
    Ответ написан
    Комментировать
  • Браузер виснет от скрипта. Как найти причину?

    @Nwton
    Зависит от структуры скрипта. Самое общее:
    1) Запускаем только отдельную часть скрипта
    2) Затем по timeline анализируем нагрузку
    3) Если все в порядке с этой частью, выключаем её, тестируем другую
    4) Как правило в первую очередь тестируются те части, где есть setInterval, векторная графика, работа с массивами, dom

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

    @Nwton
    Сложно что-то посоветовать, не видя окружения кода. Разве что:
    var like = parseInt($('.like').text()),
    	dislike = parseInt($('.dislike').text());
    	
    if($(this).hasClass('like')){
    	$('.like').text(like++);
    	$('.dislike').text(dislike--);
    } 
    else {
    	$('.like').text(like--);
    	('.dislike').text(dislike++);
    }


    В любом случае, like_count - плохо, like_с - хорошо. А еще лучше like_q :)
    Ответ написан
    1 комментарий
  • Как реализовать систему реального времени?

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

    В моем случае сервер был на node js. На сервере был запущен элементарный скрипт, внутри которого лежал setInterval с вызовом функции генерации и отправки точки.

    Отвечая на вопрос про "стек технологий": node js + setInterval + socket io
    Ответ написан
    Комментировать
  • Как облегчить конкретную анимацию с большими SVG?

    @Nwton
    Варианты:
    1) Разбиение и замена svg на несколько jpg изображений
    2) Полная замена одной gif
    3) Вставка анимации в качестве видео файла с автовоспроизведением
    Ответ написан
  • Как реализовать чат на вебсокетах?

    @Nwton
    онлайн текстовые трансляции, лайв комментарии и подобные вещи

    Что стоит использовать: node js + socket io
    Что не стоит использовать: php + ajax
    Ответ написан
    1 комментарий