Фрилансер. Занимаюсь анализом и автоматизацией производственных и бизнес-процессов. Node.js & front-end разработчик.
Контакты

Достижения

Все достижения (7)

Наибольший вклад в теги

Все теги (51)

Лучшие ответы пользователя

Все ответы (81)
  • Как объективно протестировать производительность node.js и PHP в запросах к mysql БД?

    Staltec
    @Staltec
    Node.js разработчик
    Node-код в примере некорректен по отношению к поставленной задаче:
    for (var i = 0; i < 100000; i++) {
      connection.query(
        'SELECT * FROM dreg_document', 
        function(error, result, fields){}
      );
    }

    Тут просто в синхронном цикле вызывается 100000 асинхронных запросов БЕЗ ожидания их завершения. Просто 100000 раз кинули запрос и закончили работу программы подсчитав время. Автор вопроса не понимает как работает node.js и в связи с этим неверно трактует полученный результат. Если ожидать каждого ответа на запрос к SQL-серверу, то результат будет совсем другим.
    Ответ написан
    1 комментарий
  • NodeJS для разработки проектов?

    Staltec
    @Staltec
    Node.js разработчик
    Уже второй год у моего клиента работает система информатизации производственных процессов на оконном производстве (евроокна). Задачи системы:
    — демонстрация технологических карт изделий на участках конвейера;
    — фиксирование операций с изделиями;
    — предоставление в реальном времени данных о состоянии отдельных изделий и в целом состояния производства;
    — аналитика выработки на участках и конкретными сотрудниками;
    — учёт контроля качества;
    — складской учёт готовых изделий и стеклопакетов;
    — планирование графика отгрузки со склада;
    — автоматическое уведомление клиентов о готовности заказа по SMS;

    Все интерфейсы системы реализованы как реалтайм веб-приложения использующие Socket.io.

    Система писалась на NodeJS версии 0.6, потом была переведена на 0.8 и сейчас уже на 0.10. С переходом проблем не было.
    Максимальный аптайм NodeJS процесса системы который удалось наблюдать — 112 дней. Утечек памяти за это время не зафиксировано.

    Для меня после разработки такого решения, вопрос о серьёзности NodeJS больше не стоит. Сам был убеждённым перлистом. Сейчас ни на чём кроме NodeJS писать нет желания.
    Ответ написан
    Комментировать
  • Как увеличить скорость интернет-магазина на битрикс?

    Staltec
    @Staltec
    Node.js разработчик
    Прекратить пользоваться этим раскрученным маркетологами г-ном.
    Ответ написан
    Комментировать
  • Постоянно падает сервер на node.js?

    Staltec
    @Staltec
    Node.js разработчик
    Могу предположить, что процесс падает из-за разрыва соединения по таймауту со стороны mySQL если длительное время не было активности на подключении. В этом случае исключение имеет следующий вид:
    Error: Connection lost: The server closed the connection.
        at Protocol.end (*path_to_project*/node_modules/mysql/lib/protocol/Protocol.js:103:13)
        at Socket.<anonymous> (*path_to_project*/node_modules/mysql/lib/Connection.js:88:28)
        at Socket.emit (events.js:117:20)
        at _stream_readable.js:944:16
        at process._tickCallback (node.js:442:13)


    Лечится выставлением таймаута для подключения к mySQL вручную:
    mysqlConnection.query("SET SESSION wait_timeout = 604800"); // 7 days timeout

    А вообще конечно надо запускать node-процесс под супервайзером (pm2, forever, supervisor) и заворачивать поток ошибок в соответствующий error.log. Там сразу будет видно с каким исключением завалился процесс. В противном случае с такими вопросами обращайтесь на битву экстрасенсов.
    Ответ написан
    4 комментария
  • Для каких проектов используется node js?

    Staltec
    @Staltec
    Node.js разработчик
    1. Процессинговый центр бонусных карт
    2. Система автоматизации оконного производства (всё от приёма производственных заданий до складского учёта, realtime)
    3. ERP/CRM SPA приложения с элементами realtime
    4. Системы онлайн заказов
    Ответ написан
    3 комментария

Лучшие вопросы пользователя

Все вопросы (2)