NodeSchool, Node.js и один урок для самых маленьких

d23ac45498ef8407c56a3275bc74463e.png 8ac8fde60620536f781010f50e67c01a.jpg cdb0f46d33dc20562f42389a9ea99f1b.png Сегодня я вам расскажу про одно очень интересное сообщество под названием 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:

f81eb2364cd186fe7b82142b6b8edb23.png

Попробуем пройти один урок? Думаю первый «Hello World» слижном уж простой.Тогда на примере начнем со второго урока «Baby Steps»:

079122fd4cffcfe414eb34ecd403027e.png

Задача: Получить сумму введенных чисел.

Перед решением:

Мы должны создать наш файл 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

Вот что вы должны получить: 28fbb551b6a54ae6b61efa44fa7f165b.pngДовольно удобно, неправда ли? Самое интересное при проверке программы, если наша программа имеет ошибки, мы можем понять проблему в предоставленных колонках: Actual и Expected. Как вы наверно уже поняли, под колонкой Actual программа выводит ваш результат, а под колонкой Expected ожидаемый результат. И это дает вам подсказку в ваших ошибках.

Надеюсь моя статья была полезна для вас, и познакомила с основами node.js.

P.S. Прошу принять во внимание, что я студент могу ошибаться в терминологии на русском языке, т.к. обучался программированию на английском. Если вы нашли ошибку или искажение истины моим глупым языком, пожалуйста напишите мне в ЛС, и я все обязательно исправлю.

© Habrahabr.ru