Рубрика «node.js» - 103

Ключевые новшества — возможность обработки неструктурированной информации для BI (iKnow + DeepSee), DeepSee Visual Reporting — WYSIWYG-редактор для DeepSee/Zen отчетов в браузере.
Другие важные улучшения: поддержка Node.js, регулярные выражения в Caché ObjectScript, поддержка .NET eXTreme для максимально быстрого прямого доступа к глобалам, Java eXTreme через TCP, асинхронный rollback для ECP соединений.
Читать полностью »

Иногда разработчики различных веб-проектов сталкиваются с необходимостью обработки больших объемов данных или использованием ресурсозатратного алгоритма. Старые инструменты уже не дают необходимой производительности, приходится арендовать/покупать дополнительные вычислительные мощности, что подталкивает к мысли переписать медленные участки кода на C++ или других быстрых языках.

В этой статье я расскажу о том, как можно попробовать ускорить работу Node.JS (который сам по себе считается довольно быстрым). Речь пойдет о нативных расширениях, написанных с помощью C++.
Читать полностью »

В последнее время наблюдается рост платформ, построенных на асинхронной архитектуре. На асинхронной модели построен самый быстрый в мире веб-сервер nginx. Активно развивается шустрый серверный javascript в лице Node.js. Чем же хороша эта архитектура? Чем она отличается от классической многопоточной системы? На эту тему было написано огромное множество статей, но полного понимания предмета они дали далеко не всем. Часто приходится наблюдать споры вокруг Node.js vs PHP+apache. Многие не понимают, почему некоторые вещи можно сделать на Node.js, но нельзя на PHP или наоборот — почему вполне правильный рабочий код на PHP сильно замедлится в Node.js, а то и повесит ее. В данной статье я бы хотел еще раз подробно объяснить разницу в их архитектуре. В качестве примеров двух систем, возьмем вебсервер с PHP и Node.js.

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

В последнее время наблюдается рост платформ, построенных на асинхронной архитектуре. На асинхронной модели построен самый быстрый в мире веб-сервер nginx. Активно развивается шустрый серверный javascript в лице Node.js. Чем же хороша эта архитектура? Чем она отличается от классической многопоточной системы? На эту тему было написано огромное множество статей, но полного понимания предмета они дали далеко не всем. Часто приходится наблюдать споры вокруг Node.js vs PHP+apache. Многие не понимают, почему некоторые вещи можно сделать на Node.js, но нельзя на PHP или наоборот — почему вполне правильный рабочий код на PHP сильно замедлится в Node.js, а то и повесит ее. В данной статье я бы хотел еще раз подробно объяснить разницу в их архитектуре. В качестве примеров двух систем, возьмем вебсервер с PHP и Node.js.
Читать полностью »

image

В данном руководстве описана разработка, компиляция и развертывание приложений Node.js в Windows Azure с помощью интегрированной среды разработки (IDE) Cloud9.

О чем пойдет речь в данном руководстве:

  • Как создать проект в Cloud9 IDE.
  • Как развернуть проект в Windows Azure.
  • Как обновить развернутое приложение в Windows Azure.
  • Как перемещать проекты между тестовыми и рабочими развертываниями.

Cloud9 IDE –– это кросс-платформенная среда разработки с веб-интерфейсом. Одна из функций Cloud9 для проектов на базе Node.js позволяет выполнять прямое развертывание приложений в Windows Azure. Кроме того, среда Cloud9 интегрирована с репозиториями GitHub и BitBucket, что облегчает обмен проектами с другими разработчиками.

С помощью Cloud9 можно разрабатывать и развертывать приложения в Windows Azure из большинства современных браузеров и операционных систем, причем установка дополнительных инструментов или SDK на локальном компьютере не требуется. Ниже описана работа в браузере Google Chrome на компьютере Mac.
Читать полностью »

часть 1

В первой части шла речь о «проверенных временем» решениях, утянутых домовитыми лапами на ноду. Теперь немного лисапедов и пара мыслей вслух.

puncher (генератор timeline-ов)

Адрес — github.com/nodeca/puncher

Если вам не безразлична производительность, ее желательно контролировать во время разработки. Один из самых простых способов — расставить по коду таймстампы. Это ни в коем случае не «единственный» и не «самый лучший» способ. Просто он часто удобен на самом раннем этапе, когда пишется код и делается ревью — не нужно заниматься сбором статистики, и вообще «далеко ходить». Достаточно вывести прямо внизу страницы таймлайн, и сразу будет видно, что не так. Естественно, потом полезно в любом случае смотреть логи медленных запросов и собирать прочую статистику профайлером. Но проблемных мест останется на порядок меньше. И выясните вы это сразу на ревью, а не когда-нибудь потом, когда мозг уже переключился на другую задачу.

Сам пример можно посмотреть тут, отмотав страницу в самый конец: dev.nodeca.com/. Данные генерируются самодельным модулем puncher. Он позволяет очень легко расставить по коду вложенные интервалы. Это не бенчмарк. Это именно инструмент, который позволяет обнаружить проблемы на самом раннем этапе. Ну и сделать некоторые выводы о том, чего вообще ожидать. При некоторой ловкости, достаточно 1-2 таймлайнов, чтобы увидеть профуканные индексы и медленный код.Читать полностью »

Мы уже некоторое время пишем развесистую клюкву на node.js. И хоть будующее наше туманно, образовались всякие полезные штуки и наблюдения, которыми захотелось поделиться :). Так получилось, что есть проект, где тонна скриптов на старом добром php достигла своего предела. Ну и конечно захотелось «все взять и переписать нормально», как обычно.

Рыбу того, к чему стремимся, можно тыкать мышкой и палочкой здесь: dev.nodeca.com/, а сам код выложен на гитхабе.

Поскольку серьезные прессинги в виде денег и сроков отсутствовали, то можно было полностью погрузиться в программирование, а не «гнать продукт». Хотелось взять что-то эдакое, с подвывертом, чтобы размять мозг. На полном серьезе я рассматривал node.js / ruby / python. Не могу сказать, что составил миллион метрик и открыл волшебную формулу, которая подсказала превосходство node.js. Скорее, захотелось поковыряться с «прозрачным» рендерингом шаблонов на сервере и клиенте. Ну и чем-то приглянулась заточка исключительно на асинхронность, хотя сам способ (коллбеки) может вызывать нарекания.

Если вы начнете делать на ноде что-то сложнее школьной лабораторки, то быстро обнаружите, что «проект молодой». Библиотеки крайне сегментированы. Наряду с прекрасными вещами, вроде jade, stylus, mongoose и т. п., вы наткнетесь на полное отсутствие вещей, которые давно реализованы в других языках. А якобы аналоги будут на уровне «напевал рабинович». В общем, вместо разработки своего софта, пришлось «вносить мощный вклад в опенсорц». Это первое предупреждение для тех, кто всерьез думает над выбором ноды для бизнес-проекта — адекватно оценивайте наличие инструментов и их качество. Конечно, можно было по-быстрому наколхозить костылей. Но в нашем случае не было жесткой ориентации на финальный продукт. Поэтому время от времени возникали рывки вбок, о которых я расскажу ниже.
Читать полностью »

Предисловие

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

Поиски

Долгое время я обходился консервативными методами отладки в виде периодического вывода объёма используемой памяти и времени выполнения критических участков кода в консоль, но настал момент, когда необходимость наличия качественного инструмента встала очень остро.

Первым делом я решил посмотреть не оправился ли node-inspector, который после перехода на node.js 0.6.x перестал поддерживать профилирование CPU и Heap. Оказалось, что в новой версии node-inspector неработающий профайлинг окончательно исключён и теперь это просто debugger. Немного покопавшись в коде старой версии, мне всё же удалось завести профилирование CPU и Heap на node 0.8.x, однако это решение не было идеальным. Чтобы вывести его из состояния «поделки» необходимо было бы заменить устаревший интерфейс WebKit-консоли на современный, переписав приличное количество кода и исправить некоторые проблемы производительности. В целом, решение на основе консоли WebKit мне кажется очень не гибким, поэтому я бросил эту затею и продолжил поиски.

Вот оно

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

Решение проблемы установки Cloud9 ide на Ubuntu 12.04

Ранее я писал о проблеме установки IDE на Mac OS X. Позже разработчики подсуетились и сделали все таки процесс установки IDE Cloud9 легким и понятным. Но вот сегодня решил установить новую версию IDE на чистую систему.
Поставил последнюю версию Node.js 0.8.8 и начал делать все по инструкции, как описано на главной странице GitHub проекта, в надежде, что вот, настанет момент и смогу насладиться программированием на node.js. Как бы не так.

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

Вы не любите смотреть логи в консоли или вам не позволяют их любить, а следить за ходом дел как-то нужно?

PuperGrep — просмотрщик логов в браузере, который работает как tail -F, grep и подсвечивает самое интересное в вашем браузере. Или даже на вашем android, iPhone или iPad.

Скриншот PuperGrep

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


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