NodeSchool, Node.js и один урок для самых маленьких
Сегодня я вам расскажу про одно очень интересное сообщество под названием NodeSchool. Данное сообщество продвигает обучение по платформе node.js
Немного о Node.js:
Node или Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код) превращающая JavaScript из узко специализированного языка в язык общего назначения. Node.js добавляет возможность JavaScript взаимодействовать с устройствами ввода/вывода через свой API (написанном на C++), подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из JavaScript кода. Node.js применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node.js и десктопные оконные приложения (при помощи node-webkit и AppJS для Linux, Windows и MacOS) и даже программировать микроконтроллеры (например, tessel и espruino).Source: ru.wikipedia.org
NodeSchool проводит семинары по ознакомлению с платформой node.js и проведению уроков по репозиторию learnyounode. Это довольно известное сообщество, пользователь ilusha_sergeevich в одном из его дайджестов по теме «Несколько интересностей и полезностей для веб-разработчика » уже упоминал о learnyounode ссылкой. Они проводят семинары по всему миру, и если вы или ваша организация изъявила желание провести свой семинар от лица этой школы вам нужно только подать заявку на сайте. В прошлом месяце сообщество провело семинары в Будапеште, Лондоне, Норвиче, а первого числа этого месяца и в нашем городе.
Мне довелось побывать на семинаре nodeschool, организатором которой являлся New Leaf Initiative. Они арендовали просторный зал в нашем городе и предоставили бесплатную еду. От лица nodeschool, ментор из New Leaf Initiative провел вводный курс по платформе и помогал при прохождении уроков. Контингент пришедший на данный семинар был необычным. Пришли мужчины 30+, которые скорее всего являются программистами, с их семьями, больше всего мне запомнилась беременная женщина с дочкой 8–9 лет, которые реально пытались программировать :). Примечательно было то, что студентов на данном семинаре было довольно мало.
Attention! Отсюда, уважаемые хабражители, прошу не кидаться камнями. Для кого-то покажется, что предоставленная ниже информация слишком легкая и бесполезная. Но для тех, кто никогда не пытался программировать на javaScript или Node.js, будет довольно интересно.
Как работает эта система?
Попробуем на примере работы с Unix-based систем.
Первым делом устанавливаем Node.js на сайте http://nodejs.org/
Потом вы устанавливайте репозиторий learnyounode: npm install -g learnyounode
При вводе команды learnyounode:
Попробуем пройти один урок? Думаю первый «Hello World» слижном уж простой.Тогда на примере начнем со второго урока «Baby Steps»:
Задача: Получить сумму введенных чисел.
Перед решением:
Мы должны создать наш файл program.js (Достаточно использовать обычный блокнот и поменять расширение на .js)(Прошу принять во внимание тот факт, что название файла может быть любое, не обязательно называть файл program.js)Для понимания работы, давайте напишем туда console.log (process.argv); P.S. console.log () это оператор вывода на node.js
Теперь запустим наш файл из командной строки: node program.js
Наш вывод должен быть таким:[ 'node', '%path%/program.js' ]
Это дает нам понять, что наш process.argv — просто массив из элементов вводимых в командной строке, т.е. если мы введемnode program.js my name is DanТо наш массив состоит из: process.argv[0] = nodeprocess.argv[1] = %path%/program.jsprocess.argv[2] = myprocess.argv[3] = name…и так далее.
Теперь перейдем к решению проблемыРешение:
Давайте посчитаем сумму трех чисел 1,2,3.
При вводе в командную строку: «node program.js 1 2 3», как вы уже поняли цифры начинаются с 3-его элемента (2-ого идекса) массива.Открываем наш program.js и создаем переменную sum, где мы будем хранить нашу сумму.Потом пишем простой for цикл, где условие для выхода будет наша последняя ячейка в массиве.В нашем цикле складываем каждую ячейку нашего массива в переменную sum.P.S. Как узнать размер нашего массива? Легко, функция process.argv.length — возвращает нам размер нашего массива.
Attention: По умолчанию каждый элемент массива это String (значения строкового типа.), поэтому нам нужно изменять тип элемента со String’а в Int. Как мы это делаем? С помощью функции Number ().Пример: Number (process.argv[2]), оно превращает String »1» в Int 1.И выводим на экран нашу сумму, вызвав console.log (sum)
Как это выглядит:
var sum = 0;
for (var i = 2; i Для завершения урока и проверки программы мы вводим: learnyounode verify node.js Вот что вы должны получить: Довольно удобно, неправда ли? Самое интересное при проверке программы, если наша программа имеет ошибки, мы можем понять проблему в предоставленных колонках: Actual и Expected. Как вы наверно уже поняли, под колонкой Actual программа выводит ваш результат, а под колонкой Expected ожидаемый результат. И это дает вам подсказку в ваших ошибках. Надеюсь моя статья была полезна для вас, и познакомила с основами node.js. P.S. Прошу принять во внимание, что я студент могу ошибаться в терминологии на русском языке, т.к. обучался программированию на английском. Если вы нашли ошибку или искажение истины моим глупым языком, пожалуйста напишите мне в ЛС, и я все обязательно исправлю.