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

Мотиватция

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

Итак идея — сделать сервис удаленного планирования, посредством техники Planning Poker, так популярной в agile мире. А также чуть лучше разобраться с тем как работает socket.io и сопутствующие технологии.

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

Вообще-то у меня PhpStorm, но, думаю, все будет работать и в WebStorm.

Запускаем в командной строке

cd <path to Gruntfile>
node --debug-brk=64005 $(which grunt) img2base64

Где img2base64 — название нужного задания. Можно опустить этот параметр, чтобы запустились все задания.
Получаем debugger listening on port 64005

Далее в настройках WebStorm: Run → Edit configurations… → + → Node JS Remote Debug. Задаем название конфигурации (например, grunt), Host: 127.0.0.1, Debug port: 64005 (порт можно задавать любой от 1025 до 65535, главное везде один и тот же). Нажимаем OK. Задаем точку останова (breakpoint) и нажимаем кнопку Debug.
Отладка Grunt задания в WebStorm
Профит!
Читать полностью »

Полезные советы в работе с Meteor

Совсем недавно мне на глаза попался очень амбициозный проект Meteor. Меня подкупила его простота и скорость разработки приложений на нем. В этой статье будут показаны некоторые «хитрости» и полезные советы такие как: установка кастомных пакетов, добавление в проект плагинов jquery, развертывание проекта на боевом сервере и прочее.

Этот пост предназначен для тех кто уже имеет минимальный опыт в работе с Meteor.
Читать полностью »

Сегодня — немного практических советов по работе с WebStorm.

Вначале пишем совсем простой HTML, После color: нажимаем <Ctrl-пробел> и получаем список цветов.

image

КО подсказывает: во всех IDE от JetBrains <Ctrl-пробел> — это контекстная подсказка.

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

Секреты быстрого кодинга в WebStorm

А теперь представим себе проект посложнее, небольшое приложение под node.js.
Читать полностью »

image Наверно каждый веб-разработчик слышал о шаблонизаторе Smarty (php). Но так как я частенько увлекаюсь JavaScript'ом, то решено было найти подобный шаблонизатор для этого языка, но серверного (node.js, ага). Первые ссылки в поисковике выдают такие шаблонизаторы, как: ECT, JUST, Mu. Все они, естественно, не подходили для меня, т.к. слишком далеко были от синтаксиса Smarty.

Чтож, раз хочется, а решений нет — то сделай. Выискивая время на работе и иногда получая по «шапке», родился проект NodeSmarty, который, в будущем, будет частично копировать синтаксис Smarty.

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

в 15:14, , рубрики: node.js, promises, метки: ,

Добрый день, Хабрахабр.

Предисловие

Была довольно простая задача: получить набор документов из базы, каждый документ преобразовать и отправить пользователю все преобразованные документы, порядок их менять нельзя, для обработки документа используется асинхронная функция. Если на каком-то документе вылезла ошибка — документы мы не отправляем, только ошибку и заканчиваем обработку документов.
Для решения задачи была выбрана библиотека Q, так как сам поход Promise мне симпатичен. Но возникла одна загвоздка, вроде бы элементарная задача, а выполняется больше секунды, а точнее 1300 мс, вместо ожидаемых 50-80 мс. Дабы разобраться, как все устроено и проникнуться асинхронностью было решено написать специализированный «велосипед» под данную задачу.

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

в 10:20, , рубрики: javascript, node.js, yaml, метки: , ,

Для любителей красивых конфигов — вышел JS-YAML 2.0.0, с новыми плюшками:

  • ОЧЕНЬ высокая скорость (за счет полной переделки архитектуры)
  • Добавлена возможность не только читать, но и записывать YAML-файлы
  • Поддержка спецификаций YAML 1.1 проапгрейжена до YAML 1.2

Основной целью переделки было улучшить скорость парсинга. Чтобы не возникало потребности в биндингах к внешним библиотекам вроде libyaml. Ведь в ямле удобно хранить не только конфиги, но и переводы, которых может быть довольно много. Желающие могут скачать бенчмарк и проверить на собственных файлах:

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

Между регулярными выражениями в JavaScript и регулярными выражениями PCRE (употребляющимися в Perl и в PHP) есть ряд различий, главнейшим из которых, вероятно, является отсутствие lookbehind (ретроспективной проверки) в JavaScript.

Естественной задачею программистов, раздражённых этими различиями, является внедрение PCRE в JavaScript.

На движке Node к концу нынешнего января Брайан Уайт (Brian White) решил эту задачу, создав модуль node-pcre, служащий обёрткою вокруг движка PCRE.

Этому можно порадоваться, и порадуемся.

Однако node-pcre,Читать полностью »

Три дня назад (1 февраля) Roger Wang объявил о выходе новой версии движка node-webkit — созданного в недрах Intel Open Source Technology Center мощного сочетания WebKit и Node.js, позволяющего создавать кросс-платформенные графические приложения методом веборазработки на языках HTML, CSS и JavaScript.

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

[скриншот]

Почти семь недель прошло с того дня (18 декабря), когда я обозревал одну из предыдущих версий (0.3.6) этого движка. Вам нетрудно заметить, что за это время успела перемениться не только последняя, но и предпоследняя цифра версии. Сейчас я расскажу, какие изменения, в node-webkit произошедшие, отражает эта перемена.

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

Я люблю node.js за скорость работы и люблю Symfony2 за гибкую архитектуру. Но к сожалению Symfony2 довольно тяжелый фреймворк, т.к. инициализация DI контейнера занимает существенное время, и это происходит при каждом запросе. Тут то мне и пришла в голову идея — а почему бы не реализовать аналог Symfony2 на node.js?
В отличие от php — нам не нужно реализовывать систему кэширования классов и т.п. — все это хранится в памяти и инициализируется только один раз (при старте приложения).
Однако в процессе портирования Symfony2 на node.js возник ряд сложностей, связанных с асинхронном моделью node.js, а также с тем, что массивы и хэши в javascript устроены не одинаково (в отличие от php).

Кому интересно что получилось — прошу под кат.
Читать полностью »


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