Grunt — это инструмент для сборки javascript проектов из командной строки с использованием задач. Релиз вышел совсем недавно, автор Ben «Cowboy» Alman, проект есть на github. В этой статье я рассмотрю основы Grunt, его установку и использование.

14.58
Рейтинг
Node.JS *
Среда для запуска JavaScript-приложений
Сначала показывать
Порог рейтинга
Уровень сложности
CLI скрипт на CoffeeScript — легко
1 мин
1.3K
Я уже довольно давно использую coffee-консоль как калькулятор. Удобно!
И вот недавно задумался — почему бы не попробовать написать CLI-скрипт на CoffeeScript от начала и до конца? И написал!
-1
Размещение приложения node.js на dotcloud.com
4 мин
8.2KdotCloud — облачная платформа для хостинга веб-приложений. Бесплатный аккаунт хорошо подходит для обучения.
Ее преимущества:
Но есть и недостатки:
Ее преимущества:
- можно бесплатно использовать два сервиса. В отличие от heroku, можно сделать полноценное приложение с базой данных.
- файловая система доступна для записи — удобнее будет вести логи
- хорошая документация.
Но есть и недостатки:
- бесплатные сервисы «засыпают», если ими никто не пользовался последних полчаса. Это означает, что возможна такая ситуация: вы заходите на свой сайт и вместо него видите стандартную страницу сервиса с просьбой подождать. Через какое-то время (до нескольких минут) сервис «просыпается» и начинает работать, как положено.
- по умолчанию используется версия
node 0.4.10
. Но это можно исправить.
+8
Своё приложение на Node.js с хранением в Dropbox – это просто
8 мин
10KНесмотря на то, что главным моим хобби так и остаются роботы, я трачу немало усилий, чтобы оставаться в трендах своей основной стези – программирования. Волей судьбы недавно удалось познакомиться с Node.js, я узнал о его web фреймворке express, подружился с новым для себя template engine Jade и в довершение ко всему связал все это с папкой в Dropbox.

В этом посте я постараюсь коротко рассказать, как можно организовать web-сервис для хранения файлов, используя лишь бесплатные решения.
Всех заинтересованных – прошу под кат.

В этом посте я постараюсь коротко рассказать, как можно организовать web-сервис для хранения файлов, используя лишь бесплатные решения.
Всех заинтересованных – прошу под кат.
+2
Web-разработка на node.js и express. Изучаем node.js на практике
5 мин
121KПредисловие
Пришла мне в голову смелая мысль, взяться за написание туториала по разработке на node.js (что-то наподобие ruby.railstutorial.org). Так как я первый раз берусь за подобный труд то для для меня очень важен любой фидбэк. Нужно это — не нужно. Что стоит убрать а на чем остановиться подробнее, в общем любая конструктивная критика. Надеюсь что дело пойдет и вам понравится, в этом случае по мере написания буду выкладывать главы на хабр.
Вступление
Приветствую, перед вами небольшой учебник по практической разработке на node.js, с использованием фреймворка express. Я с большим энтузиазмом отношусь к node и сопутствующим технологиям. Node.js в первую очередь привлекает свежестью в подходах к разработке, смелостью и драйвом.
О том, что такое node.js вы можете прочитать на http://nodejs.org/, если коротко — то это серверная платформа, для выполнения javascript. Так же мы будем использовать express, web-фреймворк построеный на концепции middleware (о том, что это такое, поговорим поподробнее чуть позже)
В процессе изучения мы познакомимся с различными аспектами web-разработки, такими как использование системы контроля версий, автоматическое тестирование и так далее. В результате по ходу изучения мы разработаем вполне рабочее web-приложение (простенький аналог твиттера)
Хочется отметить, что очень большое влияние на меня оказал railstutorial, это лучшее пособие по web-разработке, которое я встречал, и мне очень хотелось бы создать нечто подобное для node.js.
+52
Node v0.8.0
8 мин
1.9KПеревод
Я необыкновенно рад объявить о выходе новой стабильной версии Node.js.
По сравнению с выпусками Nodeверсий 0.6 новый выпуск обеспечит существенное улучшение многих ключевых показателей производительности, а также более ясные встроенные API и появление новых средств для отладки.
С приходом версии 0.8.0:
По сравнению с выпусками Node
Вкратце
С приходом версии 0.8.0:
- Node стал гораздо быстрее.
- Node стал стабильнее.
- Снова можно работать с дескрипторами файлов.
- Модуль cluster стал куда более умопотрясающим.
- Был добавлен модуль domain.
- Модуль repl стал лучше.
- Система сборки waf заменилась на gyp.
- Также случились некоторые другие изменения.
- Внизу блогозаписи — ссылки на установочные файлы Node.
+27
Встречайте WebMatrix 2 RC: поддержка Node.js, Jade, EJS, LESS, CoffeeScript и многое другое
6 мин
19KПеревод
После нескольких месяцев активной разработки, команда WebMatrix рада представить новую версию WebMatrix 2 Release Candidate. WebMatrix 2 включает в себя очень много новых функций, но сегодня я предлагаю вам ознакомиться с обзором той работы, которая была проделана для поддержки разработки приложений Node.js в WebMatrix.

Для того чтобы загрузить WebMatrix 2 достаточно перейти по следующей ссылке. Подробнее о нововведениях в WebMatrix 2 предыдущей предварительной версии можно прочитать здесь.

Для того чтобы загрузить WebMatrix 2 достаточно перейти по следующей ссылке. Подробнее о нововведениях в WebMatrix 2 предыдущей предварительной версии можно прочитать здесь.
+39
Послезавтра (25 июня) вероятным будет выпуск очередной стабильной версии (0.8.0) движка Node.js
1 мин
512
На Гитхабе ужé состоялся коммит с упоминанием послезавтрашней даты, в списке ветвей кода появились ветки «v0.8»
Что же это будет означать для программистов на джаваскрипте, использующих движок Node для запуска своих скриптов? Чем обернётся обновление программного обеспéчения?
Исправления тех или иных ошибок в коде никак не повлияют на наше с вами программирование (если только прежде не приходилося специально обходить их), поэтому обратить внимание придётся прежде всего на накопившиеся мелкие изменения в API. К счастью, в вики Node на Гитхабе есть страница «API changes between v0.6 and v0.8», в которой все они аккуратно перечислены. Нетрудно обнаружить, что там их ≈60 штук, считая и нерекомендуемые, и удалённые, и изменённые, и вновь появившиеся возможности.
0
Приватный чат на node.js — что может быть проще?
3 мин
22KПривет, друзья!
Дело было вечером, делать было нечего… Разбирая пример чата в Socket.IO, заинтересовала возможности без особых ухищрений сделать чат приватным. Идея не новая, и достаточна простая — выбираешь свой пол и возраст, указываешь желаемый пол и возраст собеседника, и, поехали! Своего рода рулетка.
Дело было вечером, делать было нечего… Разбирая пример чата в Socket.IO, заинтересовала возможности без особых ухищрений сделать чат приватным. Идея не новая, и достаточна простая — выбираешь свой пол и возраст, указываешь желаемый пол и возраст собеседника, и, поехали! Своего рода рулетка.
+10
Простой сайт с возможностью авторизации на node.js
3 мин
93KRecovery Mode
В этой статье я попробую рассказать о том, как с помощью node.js и connect сделать простой сайт с авторизацией. Т.е. такой, где часть контента доступна всем, а часть — только зарегистрированным пользователям. Поскольку express.js основан на connect, практически все, что здесь написано, относится и к нему тоже.
Допустим, что вы уже знаете, что такое node.js и как с ним работать. Также допустим, что у вас уже есть простенький сайт с основной страницей и парой дополнительных. Вот здесь — исходники такого сайта, пример для этой статьи.
Допустим, что вы уже знаете, что такое node.js и как с ним работать. Также допустим, что у вас уже есть простенький сайт с основной страницей и парой дополнительных. Вот здесь — исходники такого сайта, пример для этой статьи.
+22
C10k (Проблема 10000 соединений) на разных языках/платформах
2 мин
40KUPD. Вторая версия бенчмарка тут: eric.themoritzfamily.com/websocket-demo-results-v2.html
Предупреждение: если у вас есть претензии к бенчмарку и/или к коду, бенчмарк выложен на Гитхабе, что позволяет вам править баги самим или сообщить о багах автору.
Подробнее о проблеме 10000 соединений: ru.wikipedia.org/wiki/Проблема_10000_соединений
Как с проблемой 10000 соединений через вебсокеты справятся Erlang, Go, Haskell (Snap), Java (Webbit), Node.js (websocket) и Python (ws4py)?
+62
Релиз GlobalsDB 2012.2
6 мин
2.9K15 мая вышла новая версия бесплатной NoSQL СУБД GlobalsDB 2012.2.
Что нового?
Добавлен ожидаемый многими Node.JS API интерфейс для Windows, и сразу же для Windows 64-bit.
Реализованы небольшие дополнения и устранены некоторые ошибки.
Об этом и остальном
Что нового?
Добавлен ожидаемый многими Node.JS API интерфейс для Windows, и сразу же для Windows 64-bit.
Реализованы небольшие дополнения и устранены некоторые ошибки.
Об этом и остальном
+2
Динамическое отображение логов в броузере на Node.js & WebSocket
3 мин
4.5KДинамическое отображение логов в броузере на Node.js & WebSocket
Иногда возникает потребность динамически отслеживать появление новых файлов в определенных папках, а также выводить содеримое лог файлов в окно броузера. Данным упрощенным примером я хочу показать как это можно сделать.
Инструменты и модули для решения
Для серверной части был выбран Node.js. Но похожий пример можно аналогично реализовать и с использованием EM на руби. В данном случае подкупила библиотека Socket.IO, а также несколько простых модулей для работы с файлами.
+6
Ближайшие события
JSZip спустя полгода: распаковка архивов, работа на Node.js
1 мин
6K
Первым же комментарием к его сообщению стали мои слова:
— Прекрасно.
— Теперь ему бы ещё распаковывать уметь.
Прошло полгода с тех пор, и можно видеть, что это естественное пожелание сбылось: очевидно, оно пришло на ум не одному мне, так что программисты принялись за дело — и в открытый на Гитхабе исходный код JSZip добавили методы, способные служить ещё и распаковке
В открытом коде всегда приятно видеть, как другие люди действуют в направлении твоих мыслей.
Поклонникам же джаваскриптового движка
+21
Node.js на узле Фидонета: читаем джаваскриптом заголовки эхопочты, хранимой в формате JAM
7 мин
2.4KТуториал
Сегодня у меня две причины пробежаться по клавишам.
Во-первых, после того, как на прошлой неделе я перевёл документацию по jParser (после ознакомленияс RReverserовским примером применения jParser при анализе BMP-файлов ), мне представляется уместным перейти к напрашивающемуся последующему шагу: развить тему, поделиться с читателями моим собственным примером применения jParser для анализа несколько более сложной структуры данных. (Отчасти это станет ответом на вопрос, который alekciy задал, интересуясь дальнейшими примерами практического использования jParser.)
Во-вторых, ≈полгода назад (26 ноября 2011 года) ertaquo поинтересовался, зачем мне хочется использовать Node.js в Фидонете. Тогда я сообщил, что мне просто нравится название (помню те времена, когда термин «node» или «нóда», если употреблялся без уточнения, в российском околокомпьютерном мире по умолчанию означал узел Фидонета), но не мог привести никакого наглядного примера работающего кода, а сейчас приведу.
Итак, пример будет двойным. Предлагаю вашему вниманию анализ заголовков писем фидонетовской эхопочты, хранимой в формате JAM. Этот формат популярен в Фидонете со времён далёких и незапамятных(в Википедии говорится, что появление JAM относится к 1993 году). Сразу скажу, что давно предпочитаю JAM другому популярному формату (Squish), потому что этот последний хранит в заголовке у письма идентификаторы не более чем девяти откликов на него, тогда как JAM вместо массива ограниченной длины использует более гибкую структуру данных (связный список), так что позволяет выстроить полное дерево ответов даже в самых оживлённых и разветвлённых обсуждениях.
Во-первых, после того, как на прошлой неделе я перевёл документацию по jParser (после ознакомления

Итак, пример будет двойным. Предлагаю вашему вниманию анализ заголовков писем фидонетовской эхопочты, хранимой в формате JAM. Этот формат популярен в Фидонете со времён далёких и незапамятных
+3
Chocolatey — apt-get для Windows
6 мин
119KChocolatey — менеджер пакетов в среде Windows по аналогии с apt-get в Linux Мире.

Начал использовать по причине разработки на Node.js под Nodester. Мне хотелось бы регулярно обновлять ноду, git, dropbox, да и тот же skype, при этом, не заморачиваясь со скачиванием msi инсталяторов и установками, а просто обновить одной командой:

Начал использовать по причине разработки на Node.js под Nodester. Мне хотелось бы регулярно обновлять ноду, git, dropbox, да и тот же skype, при этом, не заморачиваясь со скачиванием msi инсталяторов и установками, а просто обновить одной командой:
cup all
+49
jParser: анализ двоичных файлов работает просто
4 мин
8.6KТуториал
Перевод
jParser делает простым чтение структур данных из двоичных файлов джаваскриптом.
Методы jParser:
- Вы один раз описываете структуру, анализ её происходит автоматически.
- Процесс анализа данных может быть расширен самописными функциями. Чем упрощается разбор нетривиальных файлов.
- jParser действует и во браузере, и в NodeJS, потому что работает на основе jDataView.
API
Элементарные структуры:- Целые числа без знака: uint8, uint16, uint32
- Со знаком: int8, int16, int32
- Дробные с плавающей точкой: float32, float64
- Строковые: char, string(len)
- Массив: array(type, len)
- Положение: tell, skip(len), seek(pos), seek(pos, func)
Методы jParser:
+23
Отложенные уведомления пользователей на Node.js & Redis
5 мин
9.8KОписание задачи
Часто у разработчиков веб приложений, а также разработчиков для мобильных платформ возникает задача отсылать нотификации о завершении некоторого события. Например: уведомить пользователя о запланированной встрече, звонке, определенной записи в расписании (todo листы) или просто создать напоминание о любом другом действии в будущем.
+25
MR шаблон для написания сервисов на Node.js
3 мин
4.8KRecovery Mode

Суть такова: node.js не дает готового решения для создания проекта. Первый мой проект на node.js состоял из одного coffeescript файла и run.js для запуска из IDE. Когда роутов было пять штук, все было замечательно, но когда проект оброс моделями и роутами, это превратилось в ад. Решают эту проблему разными способами, кто-то используй hub, кто-то global, кто-то все в один файл заносит.
+9
Внутри HTTP-сервера, встроенного в Node, обнаружена уязвимость
2 мин
1.4K
Всем пользователям Node версий 0.5.x
Об этом опубликовано оповещение во блоге Node.
+29