понедельник, 15 июля 2013 г.

Субботний вечер с node.js

После прочтения статьи про "человеческий парсер" (http://habrahabr.ru/post/186496/), решил опробовать данный метод, а заодно и поближе познакомиться с node.js и selenium.


Поняв принцип работы selenium web driver, я написал небольшой скрипт, который открывает Chrome, заходит на Яндекс и что-то там ищет. Связка: selenium-server-standalone + chromedriver, nodejs (+wd +async).

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


Далее я решил углубить знания, погуглив на тему “node.js + win32com”, но увы хорошего решения нет (есть только зачатки в виде node-ffi). Для себя вижу (при очень большой необходимости) надежную связку - node.js + zeromq + pywin32 (или comtypes). Ибо питон работает с COM32 вдоль и поперёк.


Ещё одно интересное расширение - mongoose. Для работы с базой MongoDB. Позволяет реализовать схемы и модели. Такой простой ORM.


Далее были ещё несколько расширений:
express - web framework с роутерами и представлениями
jade - крутой шаблонизатор, чем-то напоминающий coffeescript
stylus - css шаблонизатор, чем-то напоминающий jade


Теперь мне очень интересно написать небольшой сайт-визитку на платформе node-express с базой mongodb.


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


Кстати на продакшне его нужно будет ставить под управление supervisor или forever, и ставить отлов всех-всех-всех (всех!) исключений. Иначе возможны падения, причем без лога не разберешься.


Так что до встречи node.js!

1 комментарий: