Рубрика «nodejs» - 28

Документация — одна из самых важных составляющих любого проекта, особенно если этот проект с открытым кодом, который будут читать другие люди. Чтобы сделать мир opensource чуточку лучше, я попытался собрать свои знания в области организации модулей nodejs проектов и сделать такой инструмент как Makedoc!. Ремарка для адептов ruby: это почти то же, что и rdoc.info для руби.

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

В кратце шаблон использования такой: идем на makedoc.node-js.ru/[githubusername]/[projectname] и видим готовую документацию по проекту. Либо идем на makedoc.node-js.ru/[githubusername] и получаем список проектов для которых можно сгенерировать документацию.

За деталями реализации прошу под кат.
Читать полностью »

Здравый смысл веборазработчика подсказывает, что во браузерном джаваскрипте глобальные переменные являются свойствами объекта window — так что window.чегоНибудь и просто чегоНибудь должны быть синонимами и вести себя одинаково (если, конечно, мы не находимся в какой-нибудь такой функции, где переменную чегоНибудь переопределили локально).

Здравый смысл веборазработчика также ещё подсказывает, что неопределённая переменная должна иметь значение undefined — так что чегоНибудь и undefined должны быть синонимами и вести себя одинаково, если переменную чегоНибудь не упоминали в джаваскрипте, и если какой-нибудь чудила не дерзнул переопределить undefined.

Но если вы собираетесь программировать для Opera 11 (будь то начальная версия Opera 11.01 или новёхонькая Opera 11.61), то будьте готовы отречься от здравого смысла в обоих сих случаях! (Да и не только в Opera, как я покажу чуть ниже.)

Чтобы нагляднейше убедиться в этом, воспользуемся библиотекою Underscore.js, в которой как раз имеется удобная функция тестирования неопределённых переменных — это функция _.isUndefined(), в исходном коде определённая самоочевидным способом:

// Is a given variable undefined?
_.isUndefined = function(obj) {
   return obj === void 0;
};

Читать полностью »

image

В этой публикации я поставил перед собой несколько целей:

  • Сравнить разные стили программирования работы с БД Firebird в NodeJS;
  • Найти наиболее производительный вариант;
  • Получить в результате руководство к действию тем, кто начинает использовать Firebird в NodeJS.

Дальше много кода…
Читать полностью »

в 17:54, , рубрики: node.js, nodejs, php, метки: ,

Являясь постоянным пользователем форума nodejs.ru, часто наблюдаю картину когда люди начиная изучать nodejs сравнивают ее с php, а иногда пытаются работать с ней так как с php. Я бы хотел объяснить “на пальцах” разницу между php и nodejs применительно к работе сайта. Статья предназначена для новичков. Я намеренно буду говорить очень упрощенно, не вдаваясь в глубокие подробности, что бы как можно проще показать различия в технологиях.
Читать полностью »

При реализации модели для манипуляции с данными в MongoDB, я пришел к выводу, что нужно как то избежать проблем с вложенностью асинхронных вызовов. Я не знал о существовании Step для Node.js и решил создать свой велосипед. Чем и хотел бы с Вами поделиться, уважаемые Хабро пользователи.

Вступление

Для того чтобы решить проблему вызовов и дальнейшей передачи информации, следующему в очереди вызову, родился модуль AQueue (реализация последовательной очереди асинхронных вызовов). В реализации данного модуля, лежит принцип, применяемый в реализации промежуточного слоя роутинга в Express.js (к примеру для проверкиЧитать полностью »

Node.JS / Connect 2 — Новые дополнения, улучшения и документация!

Не так давно, а именно 2011-10-05 вышла новая версия фреймворка connect 2.0. На хабре был замечен пробел, а тут выдалось пару свободных часов. Буду писать сразу про версию 2.0.1 вышедшую 29 февраля. Во второй версии сделали много очень нужных и долгожданных изменений.

Прошу все ошибки писать в ПМ, думаю их тут будет много, за что заранее приношу свои извинения.

HTTP и HTTPS для одного сервера-приложения!

Ранее connect.Server был унаследован от net.Server из ядра NodeJS, это вызывало неудобства для создания одновременно HTTP и HTTPS приложения. В результате connect() (ранее connect.createServer()) стал новойЧитать полностью »

Изучая node.js я обнаружил, что добиться успеха в этом непростом деле мне мешает постоянная необходимость перезапускать руками сервер node в командной строке. Так появилась идея повесить перезапуск сервера на горячую клавишу в любимом редакторе (в моем случае, Vim'е) сохранив возможность следить за выводом STDOUT и STDERR сервера. Решение linux-only, поскольку написано на sh.

Однако, одним node.js дело не ограничивается. Используя это решение можно организовать перезапуск и перенаправление вывода любой утилиты (python/php/etc), просто указав ее имя в настройках скрипта вместо node.

Не исключаю вероятность, всё это (и намного больше) реализовано в «нормальнойЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js