Pull to refresh

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

Reading time4 min
Views25K




Сегодня я вам расскажу про одно очень интересное сообщество под названием 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] = node
process.argv[1] = %path%/program.js
process.argv[2] = my
process.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<process.argv.length; i++ )
{
	sum = sum + Number(process.argv[i]);
}
console.log(sum);


Сохраняем файл и запускаем нашу программу: node program.js 1 2 3
Вывод должен быть просто: 6.

Для завершения урока и проверки программы мы вводим: learnyounode verify node.js

Вот что вы должны получить:

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

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

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

Articles

Change theme settings