JS, Erlang, Node, Mongo, Redis, Rabbit, Angular, etc...
Контакты

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

Все теги (6)

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

Все ответы (14)
  • За какое время можно изучить javascript?

    undassa
    @undassa
    Last.Backend
    Сам язык программирования, семантику и прочее. Работу с памятью, событийное программирование и прочим можно изучить за недельки 2. Ну подводные камни - еще пару недель, и то зависит от того клиентская разработка или серверная.

    Другое дело, что в основном надо знать популярные библиотеки для этого языка.
    На изучение того же Angular потребуется времени даже больше, а есть например серверные: Express, Mongoose..

    Сам язык быстро, но дело не в нём :)
    Ответ написан
    2 комментария
  • Как масштабировать чат написанный на socket.io/nodejs?

    undassa
    @undassa
    Last.Backend
    io.on('connection', function (socket) {
    //
    });


    Данное событие сработает при успешном создании постоянного соединения между клиентом и сервером.
    Так как сокет соединение - это соединение в единственном экземпляре, то оно попадёт либо на 1й инстанс либо на 2й инстанс. И данное событие сработает либо тут либо там.

    Если уж вам по какой то причине необходимо увидеть в консоли событие подключения в обоих инстансах,
    я бы попробовал следующее:

    1. Использовал бы в качестве канала между инстансами нативный модуль redis.
    2. При успешном подключении послал бы в канал redis.publish уведомление по новом подключении

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

    Резюмируя: В этом нет смысла. Если есть необходимость - надо просто через редис уведомить второй сервис.
    Ответ написан
    2 комментария
  • Как вы организуете ваши nodejs приложения?

    undassa
    @undassa
    Last.Backend
    Странно что никто не предложил вам посмотреть в сторону yeoman генератора.
    На данный момент ребята как раз стараются создать эталон организации приложений на ноде и других языках.

    В наших приложениях мы используем примерно следующую структуру:
    ├── Gruntfile.js
    ├── app.js
    ├── config
    │   ├── config.js
    │   └── env
    │       ├── all.js
    │       ├── development.js
    │       ├── production.js
    │       └── staging.js
    ├── package.json
    ├── src
    │   ├── controllers
    │   │   └── controller.js
    │   ├── lib - общие самописные библиотеки для всего приложения (например описание ошибок, логи и т.п.)
    │   │   ├── error.js
    │   │   ├── logger.js
    │   │   └── routes.js
    │   ├── modules - законченные модули
    │       └── module.js
    │   └── models - модель данных
    │       └── model.js
    └── templates
    │       └── template.html
    Ответ написан
    Комментировать