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

Около двенадцати часов назад Джон Резиг нащебетал в Твиттер, что на конференции Google I/O было объявлено о поддержке Asm.js в движке V8 и во браузере Google Chrome.

Так как про Asm.js упоминали на Хабрахабре (1, 2), то достоинства его могли стать известны многим читателям. Тем приятнее им предвкушать теперь в самом скором времени появление этих достоинств не только во браузере Firefox (где они впервые были внедрены Фондом Мозиллы), но и в движке V8 (а значит — в построенном на его основе движке Node.js!), и во браузере Google Chrome.

Но для тех читателей, которые до сих пор пропускали эту новинку мимо себя, я также вкратце напомню суть. Asm.js — это особое подмножество языка JavaScript: ограничившись им в своём скрипте, автор скрипта обеспечивает возможность оптимизации интерпретируемого кода не только в момент исполнения (just-in-time, JIT), но даже и заблаговременно (ahead-of-time, AOT), то есть такому джаваскрипту становится возможно один раз однозначно заранее поставить в соответствие некоторый машинный код. Эффект этот достигается ценою заметных усилий по самоограничению. (В частности, при помощи операции «|0» и других специальных приёмов тип значения каждого входного параментра функции, равно как и выходного значения, оказывается однозначно заданным и неизменным.) Зато его итогом становится небывалый рост скорости исполнения джаваскрипта — теперь по скорости он уступает скомпилированной программе (на Си или Си++) не более чем в два раза.

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

«Битва балансеров» — это нагрузочный тест балансеров / прокси, которые поддерживают WebSockets. Данные технологии незаменимы при масштабировании инфраструктуры.

Тестировались следующие технологии:

http-proxy, версия: 0.10.0
HAProxy, версия: 1.5-dev18 (девелопмент релиз)
— элементарный “echo сервер”, для контрольного теста.

Были сомнения относительно hipache. Причина по которой он был исключен проста — он построен на базе http-proxy. В данный момент они используют форк проекта, в котором попросту отсутствуют патчи, связанные с производительностью.
Читать полностью »

Новая версия WebMatrix 3: интеграция с облаком, TFS, Git, удаленный доступ к сайтам
Выпущена очередная версия бесплатного редактора кода и интегрированного средства разработки приложений WebMatrix 3. Среди функциональных возможностей WebMatrix 3 можно выделить следующие:

  • поддержка кода проектов HTML/CSS/JS, ASP.NET, PHP, Node.js;
  • встроенный редактор БД SQL Server и MySQL;
  • поддержка редакторами Jade, EJS, LESS, CoffeeScript;
  • галерея шаблонов популярных open source CMS: Joomla, Drupal, DotNetNuke, Orchard CMS, WordPress, phpBB и десятков других;
  • готовые стартовые проекты, в том числе Node.js c Express и Socket.io;
  • поддержка автодополнения и intellisense для ASP.NET, PHP, Node.js;
  • мобильная разработка: эмуляторы для мобильной веб-разработки, шаблоны мобильных сайтов;
  • инструменты анализа сайтов на вопросы SEO, ошибки, производительности;
  • система и галерея расширений от сообщества разработчиков;
  • поддержка галереи NPM-модулей для Node.js и репозитория Nuget для ASP.NET;
  • встроенная интеграция с системами контроля версий Git и TFS;
  • интеграция с облаком Windows Azure, публикация в облако проектов PHP, Node.js и ASP.NET, удаленный доступ к сайтам;
  • удаленный доступ к сайтам и публикация через протоколы FTP, WebDeploy, доступ к облачным размещениям.

WebMatrix 3 доступен бесплатно для загрузки на официальном сайте http://webmatrix.net/.

Быстрый обзор новинок третей версии доступен в этом видео на сайте Channel9. Для более подробного описания возможностей редактора обратитесь к этой статье и этому анонсу самой первой версии. Ниже вы найдете информацию о нововведениях в третей версии средства разработки.
Читать полностью »

Позавчера (27 апреля) из праведных недр интеловского Центра технологий с открытым исходным кодом (а это тот самый Центр, который hshhhhh обозревал неделю назад во блогозаписи «Печеньки для пингвина») вышла в свет новая версия движка node-webkit — могучего объединения Node и WebKit (точнее даже не просто WebKit, а Chromium — и в дальнейшем, вероятно, Blink), обеспечивающего быстрое и бесхитростное создание GUI-приложений методами веборазработки (код на JavaScript с употреблением API от Node.js, а интерфейс на HTML да на CSS) под операционные системы Windows, Mac OS X и Linux.

Новая версия имеет номер 0.5.1; на её основе нетрудно составить и запустить, например, вот такое окно:

[скриншот]

Одну из предыдущих версий node-webkit (0.4.1) мне довелось обозреть в начале февраля, а теперь на дворе конец апреля. Настала пора рассказать обо всех тех изменениях, которыми сопровождался выход версии 0.4.2, за нею 0.5.0, и затем 0.5.1 наконец. Рассказываю:

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

в 5:45, , рубрики: node.js, npm, метки: ,

Создание npm пакета

Типичная ситуация — в проекте существует некий модуль. Модуль развивается, становится самостоятельным элементом и копируется в другой проект. Потом еще один проект. И еще.

В каждом проекте модуль обновляется и улучшается, и, в какой-то момент, становится не понятно, где актуальная версия.

Да ладно, «не понятно где актуальная версия»! Вполне возможно, что в каждом проекте у модуля будут свои модификации, в которые будет достаточно сложно привести в порядок для использования в следующем проекте.

Вполне можно ограничиться созданием отдельного репозитория для модуля, например на GitHub или Bitbucket. Но добавлять репозиторий как субмодуль для GIT — это путь к приключениям.

Можно пойти дальше, и создать на основе такого модуля npm-пакет.

Работать с такими пакетами очень просто. Установить npm-пакет можно с помощью команды npm install, а обновить с помощью npm update.
Читать полностью »

Что такое GruntJS

Большинство JS разработчиков уже используют какие-то инструменты компоновки для своих разработок, даже если не знают или не используют этот термин. Они объединяют файлы при разработке, уменьшают код JavaScript-а, чтобы ускорить загрузку страниц и конвертировать Sass, или уменьшают количество файлов в CSS для браузера, и много чего другого. Чаще всего это разные инструменты, что есть не очень удобно.

Grunt помогает управлять всеми этими шагами в одном месте и организовать сторонние компоненты.
Читать полностью »

CodingDead — события, технологии и новости Ruby/Rails/Javascript сообщества

Чуть больше года назад мы открыли информационный поток на Google+ посвященный Ruby/Rails. Не смотря на разные отзывы в духе «а давайте здесь рекламировать группы Вконтакте» и скромный +1 посту, к сообществу присоединилось более 500 разработчиков, которые и по сей день получают (более или менее регулярно) новости, ссылки и пищу для размышлений.
Читать полностью »

Большинство современных языков программирования позволяют использовать асинхронно выполняемые блоки кода. Вместе с гибкостью, получаемой при использовании асинхронного подхода, рискнувший его применить также получает более сложный для понимания и поддержки код. Однако, любое усложнение, с которым сталкиваются программисты, как правило, находит практическое решение в виде нового подхода или повышения уровня абстракции. В случае асинхронного программирования таким средством служит объект типа отложенный результат или deferred (англ. deferred — отложенный, отсроченный).

В статье будет рассказано о базовых подходах к возврату асинхронных результатов, функциях обратного вызова, объектах deferred и их возможностях. Будут приведены примеры на языке JavaScript, а также произведён разбор типового объекта deferred. Статья будет полезна программистам, начинающим постигать асинхронное программирование, а также знакомым с ним, но не владеющим объектом deferred.
Читать полностью »

Уже давно существует целое сообщество любителей-разработчиков, которые занимаются программированием летающих роботов. Они устраивают периодические конференции и сходки. Но в чем же особенность данного сообщества, спросите Вы? дело в том, что программирование квадрокоптеров осуществляется на Javascript на платформе NodeJS. Среди разработчиков большой популярностью пользуется всем уже известный ArDrone Parrot, который уже не раз освещался на страницах Хабра.

Nodecopter — управление квадрокоптерами на Javascript

Подробности под катом.
Читать полностью »

Уже давно существует целое сообщество любителей-разработчиков, которые занимаются программированием летающих роботов. Они устраивают периодические конференции и сходки. Но в чем же особенность данного сообщества, спросите Вы? дело в том, что программирование квадрокоптеров осуществляется на Javascript на платформе NodeJS. Среди разработчиков большой популярностью пользуется всем уже известный ArDrone Parrot, который уже не раз освещался на страницах Хабра.

Подробности под катом.
Читать полностью »


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