Introduction in Node.js (in russian)

Mikhail Davydov
Mikhail DavydovJavaScript & Node.js Developer at Yandex
Introduction in Node.js (in russian)
Михаил Давыдов
Разработчик JavaScript
Node.js –
серверный
JavaScript
3
4
История Node.js
•  Разработка с 2009 – Ryan Dahl
•  Поддержка Joyent
•  Событийный асинхронный I/O
•  V8 JavaScript от Google
•  libUV - ядро Node
–  событийный ввод-вывод
•  Кроссплатформенный (native)
5
Где и почему?
•  Node.js = JavaScript + Асинхронность
•  Приложения реального времени
–  Чаты
–  Серверы игр
–  Серверы Push-уведомлений
•  Нагруженные прокси
•  Сервисы с большим числом клиентов
•  Везде, где время I/O больше вычислений
6
Node.js
Node	
  V8	
  JS	
  
Среда	

Виртуалка	

любой	
  
Интерфейс
7
Установка
•  http://nodejs.org/download/
•  Просто выполняем установочный файл
8
В консоли
> node -v
v0.8.8
# npm – Node Package Manager
> npm -v
1.1.59
> node -e 'console.log("123")'
123
Запуск
9
main.js
console.log('Hello World!');
Запуск файла с node.js
> node main.js
Hello World!
Модули в Node.js
CommonJS Module
Глобальные переменные модуля
Любой файл – модуль
Глобальные переменные модуля
•  module = {exports:{}, ...};!
–  Объект описывающий данный модуль
•  exports = {};!
–  Объект экспорта данного модуля
•  require(moduleName): *!
•  __filename!
•  __dirname!
http://nodejs.org/api/modules.html
http://nodejs.org/api/globals.html
13
require()
•  Формат: .js .json .node
–  Может быть любой формат (нужно прописать правило)
–  Нативные модули на C++
•  Имена модулей в require()
–  Поведение по умолчанию:
–  'имя_модуля' -> npm или базовый node.js
–  './путь/до/модуля.js' -> локальный
–  './путь/до' -> './путь/до/index.js'
https://github.com/joyent/node/blob/master/lib/
module.js
14
module.js
var npmModule = require('npmModule'),
fs = require('fs'),
someMyModule = require('../dep.js');
var myFunction = function (a, b) {
return Math.PI * a + b;
};
console.log(__filename);
exports.myFunction = myFunction;
// Или
// module.exports = myFunction;
CommonJS Modules/1.0
15
main.js
var module = require('./module.js');
typeof module; // object
typeof module.myFunction; // function
var result = module.myFunction(1, 2);
console.log(result);
require('./module.js');
CommonJS Modules/1.0
16
Запуск файла с node.js
> node main.js
/path/to/myOtherModule.js
5.14159
17
Node.js кэширует модули и
выполняет их код
только 1 раз
18
Другие глобальные переменные
•  console
–  вывод данных в STDOUT
–  log
–  dir
•  process
–  информация о текущем процессе
–  время работы
–  затраты памяти
–  Информация о текущей ОС
–  текущая рабочая папка CWD
–  PID
•  setTimeout, setInterval
http://nodejs.org/api/process.html
NPM
Управление зависимостями
Декларация зависимостей
Задачи npm
•  Устанавливает модули из репозитория
•  Устраняет зависимости
•  Удаляет не нужные модули
•  Отправляет ваши модули в репозиторий
•  …
https://npmjs.org/
21
Зависимости main.js
•  main.js
–  module.js – наш модуль
•  module.js
–  npmModule – не наш модуль
–  fs – модуль node.js
–  ../dep.js – наш модуль
22
npmModule может быть не
установлен – его нужно
задекларировать
23
{
"dependencies": {
"npmModule": "*",
"npmModule": ">=1.0.2",
"npmModule": "http://asdf.com/asdf.tar.gz"
},
"name": "your-app",
"version": "1.0.0",
"description": "Hello World!",
"author": {
"name": "Barney Rubble",
"email": "b@rubble.com"
}
}
package.json
https://npmjs.org/doc/json.html
24
npm install
> wget http://site.ru/your-app.zip
> unzip your-app.zip
> cd your-app
> npm install
your-app
+-npmModule
> node mian.js
25
Базовые модули Node
fs
http
http://nodejs.org/api/
27
fs
•  Всевозможные функции работы с fs
•  fs.readFile
•  fs.writeFile
•  fs.realpath
•  …
http://nodejs.org/api/fs.html
28
Каждая функция fs имеет 2
типа: синхронный и
асинхронный
29
main.js
var fs = require('fs');
fs.readFile('./package.json', 'utf8', file);
function file(err, json) {
if (err) throw err;
console.log(json);
}
var json = fs.readFileSync('./package.json',
'utf8');
fs
http://nodejs.org/api/fs.html
30
Синхронный для CLI
Асинхронный для сервера
31
http/https
•  Всевозможные функции работы с http
•  HTTP(S) сервер
•  Скачивание файлов по сети
–  аналоги $.get, $.post
http://nodejs.org/api/http.html
32
main.js
var http = require('http');
http.get('http://site/', function (res) {
console.log("response: " + res.statusCode);
})
.on('error', function (e) {
console.log("Got error: " + e.message);
});
http – клиент
http://nodejs.org/api/http.html
33
var http = require('http');
var server = http.createServer();
server.on('request', function (req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('okay');
});
server.listen(80, '127.0.0.1');
http – сервер
http://nodejs.org/api/http.html
34
Все API низкоуровневое
•  Объект req – Request
–  Описывает текущий запрос
–  Заголовки запроса
–  Тело запроса
–  Тип запроса GET POST
–  URL запроса
•  Объект res – Response
–  Описывает ответ на запрос
–  Заголовки ответа
–  Тело ответа
–  Статус ответа
35
var url = require('url');
// req.url == /?page=pagename&pewpew=ololo
function onRequest(req, res) {
var data = url.parse(req.url, true),
page = data.query.page,
userAgent = req.headers['user-agent'];
res.setHeader("Set-Cookie", "p=" + page);
res.setHeader("Content-Type","text/plain");
res.writeHead(200);
res.end(userAgent);
}
http – чуть сложнее сервер
http://nodejs.org/api/http.html
36
Как же много писать...
Библиотеки Node.js
express
optimist
colors
…
https://github.com/joyent/node/wiki/modules
https://npmjs.org/
38
// В 5 строк
require('express')()
.get('/', function (req, res) {
res.send('hello world');
})
.listen();
express – http фреймворк
http://expressjs.com/api.html
http://expressjs.com/guide.html
39
var express = require('express');
var app = express();
var staticDir = __dirname + '/public';
app.get('/', function (req, res){
res.send('hello world');
});
app.use(express.static(staticDir));
app.use(express.logger());
app.listen(3000);
express – http фреймворк
http://expressjs.com/api.html
http://expressjs.com/guide.html
40
var optimist = require('optimist')
.default('port', 80)
.default('host', '0.0.0.0');
var cfg = optimist.argv;
require('http').createServer();
server.listen(cfg.port, cfg.host);
optimist – CLI парсер
https://github.com/substack/node-optimist
> node main.js --port 81 --host pewpew.com
> node main.js
41
42
Можно и руками, но сильно
дольше…
43
console.log(process.argv);
CLI парсер руками
> node main.js --port 81 --host pewpew.com
> node main.js
[
'/path/to/node',
'main.js',
'--port',
'80',
'--host',
'pewpew.com'
]
44
CLI парсер руками
> node main.js --port 81 --host pewpew.com
// argv парсер в 97 байт
var argv = (function(a,b,c,d){c={};for
(a=a.split(/s*B[/-]+([w-]+)[s=]
*/),d=1;b=a[d++];c[b]=a[d++]||!0);return c})
(process.argv.join(' '));
console.log(argv);
// {port: "81", host: "pewpew.com"}
https://gist.github.com/1497865
45
require('colors');
console.log('hello'.green);
console.log('i like cake'.underline.red)
console.log('OMG Rainbows!'.rainbow);
colors – подсветка консоли
https://github.com/Marak/colors.js
> node main.js
hello
I like cake
OMG Rainbows!
46
require('colors');
console.log('hello'.green);
console.log('i like cake'.underline.red)
console.log('OMG Rainbows!'.rainbow);
colors – подсветка консоли
https://github.com/Marak/colors.js
> node main.js
hello
I like cake
OMG Rainbows!
47
Можно и руками, но сильно
дольше…
48
var red = 'u001b[31m',
blue = 'u001b[34m',
reset = 'u001b[0m';
console.log(
red + 'hello' + reset + ' ' +
blue + 'world' + reset);
Цветастая консоль руками
> node main.js
hello world
49
Все эти библиотеки можно
установить через npm:
npm install express!
node+dom
Бонус: node-webkit
51
Цель – десктопные
приложения на DOM и
Node.js API
https://github.com/zcbenz/nw-sample-apps
https://github.com/rogerwang/node-webkit
52
node-webkit
Node,	
  
DOM	
  
V8	
  JS	
  
Среда	

Виртуалка	

Интерфейс	

GUI+*	
  
53
Аналогов много, но node-
webkit это первый, кто
использует Node.js
54
Список файлов в текущей директории
<ol class="b-files-list"></ol>
<script src="http://yandex.st/jquery/1.8.2/jquery.min.js">
</script>
<script>
var fs = require('fs');
fs.readDirSync('.')
.forEach(function (file) {
$('<li/>')
.text(file)
.appendTo('.b-files-list');
});
</script>
node-webkit
55
Заключение
•  Node.js
•  Npm
•  Формат модуля
–  CommonJS Module/1.0
–  exports, module, require
–  кэширование модуля
•  Зависимости проекта
–  package.json
•  Базовые модули
•  Библиотеки Node.js
56
Михаил Давыдов
Разработчик JavaScript
azproduction@yandex-team.ru
azproduction
Спасибо
1 of 56

Recommended

MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona) by
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)Ontico
1.3K views43 slides
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д... by
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...Timur Shemsedinov
1.5K views29 slides
Node.js введение в технологию, КПИ #ITmeetingKPI by
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPITimur Shemsedinov
2.2K views70 slides
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc... by
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...Ontico
928 views63 slides
HSE{Consult}: DevOps – новая методология разработки by
HSE{Consult}: DevOps – новая методология разработкиHSE{Consult}: DevOps – новая методология разработки
HSE{Consult}: DevOps – новая методология разработкиBusiness incubator HSE
440 views24 slides
"Успеть за 100 миллисекунд: контекстная реклама на Sphinx" Дмитрий Хасанов (... by
"Успеть за 100 миллисекунд: контекстная реклама на Sphinx" Дмитрий Хасанов  (..."Успеть за 100 миллисекунд: контекстная реклама на Sphinx" Дмитрий Хасанов  (...
"Успеть за 100 миллисекунд: контекстная реклама на Sphinx" Дмитрий Хасанов (...AvitoTech
581 views24 slides

More Related Content

What's hot

DevOps или исскуство ухода за Интернет-проектом by
DevOps или исскуство ухода за Интернет-проектомDevOps или исскуство ухода за Интернет-проектом
DevOps или исскуство ухода за Интернет-проектомAlexander Titov
777 views25 slides
Иван Карев — Клиентская оптимизация by
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
333 views48 slides
2013 09 19 кеширование на клиенте и сервере by
2013 09 19 кеширование на клиенте и сервере2013 09 19 кеширование на клиенте и сервере
2013 09 19 кеширование на клиенте и сервереYandex
1.9K views63 slides
Выжимаем из сервера максимум (Андрей Паньгин) by
Выжимаем из сервера максимум (Андрей Паньгин)Выжимаем из сервера максимум (Андрей Паньгин)
Выжимаем из сервера максимум (Андрей Паньгин)Ontico
3.1K views26 slides
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito) by
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Ontico
2.4K views36 slides
How to build solid CI-CD pipeline / Илья Беда (beda.software) by
How to build solid CI-CD pipeline / Илья Беда (beda.software)How to build solid CI-CD pipeline / Илья Беда (beda.software)
How to build solid CI-CD pipeline / Илья Беда (beda.software)Ontico
335 views136 slides

What's hot(20)

DevOps или исскуство ухода за Интернет-проектом by Alexander Titov
DevOps или исскуство ухода за Интернет-проектомDevOps или исскуство ухода за Интернет-проектом
DevOps или исскуство ухода за Интернет-проектом
Alexander Titov777 views
Иван Карев — Клиентская оптимизация by Yandex
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
Yandex333 views
2013 09 19 кеширование на клиенте и сервере by Yandex
2013 09 19 кеширование на клиенте и сервере2013 09 19 кеширование на клиенте и сервере
2013 09 19 кеширование на клиенте и сервере
Yandex1.9K views
Выжимаем из сервера максимум (Андрей Паньгин) by Ontico
Выжимаем из сервера максимум (Андрей Паньгин)Выжимаем из сервера максимум (Андрей Паньгин)
Выжимаем из сервера максимум (Андрей Паньгин)
Ontico3.1K views
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito) by Ontico
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Ontico2.4K views
How to build solid CI-CD pipeline / Илья Беда (beda.software) by Ontico
How to build solid CI-CD pipeline / Илья Беда (beda.software)How to build solid CI-CD pipeline / Илья Беда (beda.software)
How to build solid CI-CD pipeline / Илья Беда (beda.software)
Ontico335 views
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё... by Ontico
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Ontico997 views
Незаурядная Java как инструмент разработки высоконагруженного сервера by odnoklassniki.ru
Незаурядная Java как инструмент разработки высоконагруженного сервераНезаурядная Java как инструмент разработки высоконагруженного сервера
Незаурядная Java как инструмент разработки высоконагруженного сервера
odnoklassniki.ru1.8K views
Евгений Потапов (Сумма Айти) by Ontico
Евгений Потапов (Сумма Айти)Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)
Ontico1.7K views
Иван Карев — Клиентская оптимизация by Yandex
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
Yandex1.3K views
Windows Azure and node js by Alex Tumanoff
Windows Azure and node jsWindows Azure and node js
Windows Azure and node js
Alex Tumanoff2.1K views
Что нового в nginx? / Максим Дунин (Nginx, Inc.) by Ontico
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Ontico3.2K views
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine by Volha Banadyseva
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft UkraineHTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
Volha Banadyseva586 views
Чему мы научились разрабатывая микросервисы? by Vadim Madison
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
Vadim Madison415 views
Производительность WebGL-приложений / Дмитренко Кирилл (Яндекс) by Ontico
Производительность WebGL-приложений / Дмитренко Кирилл (Яндекс)Производительность WebGL-приложений / Дмитренко Кирилл (Яндекс)
Производительность WebGL-приложений / Дмитренко Кирилл (Яндекс)
Ontico1.1K views
Basis.js – «под капотом» by Roman Dvornov
Basis.js – «под капотом»Basis.js – «под капотом»
Basis.js – «под капотом»
Roman Dvornov2.6K views
Дмитрий Стогов by CodeFest
Дмитрий СтоговДмитрий Стогов
Дмитрий Стогов
CodeFest627 views
Распределенные системы в Одноклассниках by odnoklassniki.ru
Распределенные системы в ОдноклассникахРаспределенные системы в Одноклассниках
Распределенные системы в Одноклассниках
odnoklassniki.ru2.2K views

Viewers also liked

JavaScript. Event Loop and Timers (in russian) by
JavaScript. Event Loop and Timers (in russian)JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)Mikhail Davydov
1.5K views76 slides
JavaScript. Basics (in russian) by
JavaScript. Basics (in russian)JavaScript. Basics (in russian)
JavaScript. Basics (in russian)Mikhail Davydov
602 views51 slides
Ajax and Transports (in russian) by
Ajax and Transports (in russian)Ajax and Transports (in russian)
Ajax and Transports (in russian)Mikhail Davydov
570 views31 slides
Dart - светлая сторона силы? by
Dart - светлая сторона силы?Dart - светлая сторона силы?
Dart - светлая сторона силы?Mikhail Davydov
599 views29 slides
JavaScript. OOP (in russian) by
JavaScript. OOP (in russian)JavaScript. OOP (in russian)
JavaScript. OOP (in russian)Mikhail Davydov
727 views77 slides
Dump-IT Загрузка и инициализация JavaScript by
Dump-IT Загрузка и инициализация JavaScriptDump-IT Загрузка и инициализация JavaScript
Dump-IT Загрузка и инициализация JavaScriptMikhail Davydov
730 views30 slides

Viewers also liked(12)

JavaScript. Event Loop and Timers (in russian) by Mikhail Davydov
JavaScript. Event Loop and Timers (in russian)JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)
Mikhail Davydov1.5K views
Ajax and Transports (in russian) by Mikhail Davydov
Ajax and Transports (in russian)Ajax and Transports (in russian)
Ajax and Transports (in russian)
Mikhail Davydov570 views
Dart - светлая сторона силы? by Mikhail Davydov
Dart - светлая сторона силы?Dart - светлая сторона силы?
Dart - светлая сторона силы?
Mikhail Davydov599 views
Dump-IT Загрузка и инициализация JavaScript by Mikhail Davydov
Dump-IT Загрузка и инициализация JavaScriptDump-IT Загрузка и инициализация JavaScript
Dump-IT Загрузка и инициализация JavaScript
Mikhail Davydov730 views
JavaScript. Loops and functions (in russian) by Mikhail Davydov
JavaScript. Loops and functions (in russian)JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)
Mikhail Davydov680 views
JavaScript. Event Model (in russian) by Mikhail Davydov
JavaScript. Event Model (in russian)JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)
Mikhail Davydov789 views
Node Foundation Membership Overview 20160907 by NodejsFoundation
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
NodejsFoundation1.1M views

Similar to Introduction in Node.js (in russian)

Серверный JavaScript: NodeJS и CouchDB by
Серверный JavaScript: NodeJS и CouchDBСерверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDBStepan Stolyarov
1K views26 slides
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB by
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest
438 views26 slides
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы" by
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Yandex
4.5K views98 slides
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ... by
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ..."nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...MoscowJS
1.3K views16 slides
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo... by
nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...Kirill Danilov
2.5K views16 slides
Доклад "nw.js: введение в кросс-платформенные декстопные приложения на JS" на... by
Доклад "nw.js: введение в кросс-платформенные декстопные приложения на JS" на...Доклад "nw.js: введение в кросс-платформенные декстопные приложения на JS" на...
Доклад "nw.js: введение в кросс-платформенные декстопные приложения на JS" на...Badoo Development
11.3K views16 slides

Similar to Introduction in Node.js (in russian)(20)

Серверный JavaScript: NodeJS и CouchDB by Stepan Stolyarov
Серверный JavaScript: NodeJS и CouchDBСерверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDB
Stepan Stolyarov1K views
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB by CodeFest
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest438 views
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы" by Yandex
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Yandex4.5K views
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ... by MoscowJS
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ..."nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
MoscowJS1.3K views
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo... by Kirill Danilov
nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
Kirill Danilov2.5K views
Доклад "nw.js: введение в кросс-платформенные декстопные приложения на JS" на... by Badoo Development
Доклад "nw.js: введение в кросс-платформенные декстопные приложения на JS" на...Доклад "nw.js: введение в кросс-платформенные декстопные приложения на JS" на...
Доклад "nw.js: введение в кросс-платформенные декстопные приложения на JS" на...
Badoo Development11.3K views
Node.JS: возможности для РНР-разработчика by Alexei Smolyanov
Node.JS: возможности для РНР-разработчикаNode.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчика
Alexei Smolyanov1.4K views
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17 by MoscowJS
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
MoscowJS4.3K views
Леонид Васильев "Python в инфраструктуре поиска" by Yandex
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"
Yandex608 views
webpack: 7 бед - один ответ by Denis Izmaylov
webpack: 7 бед - один ответwebpack: 7 бед - один ответ
webpack: 7 бед - один ответ
Denis Izmaylov962 views
Как превратить приложение в платформу by Vadim Kruchkov
Как превратить приложение в платформуКак превратить приложение в платформу
Как превратить приложение в платформу
Vadim Kruchkov469 views
NPM и модульная архитектура приложения by Denis Latushkin
NPM и модульная архитектура приложенияNPM и модульная архитектура приложения
NPM и модульная архитектура приложения
Denis Latushkin269 views
JavaScript-модули "из прошлого в будущее" by oelifantiev
JavaScript-модули "из прошлого в будущее"JavaScript-модули "из прошлого в будущее"
JavaScript-модули "из прошлого в будущее"
oelifantiev1.7K views
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш... by Yandex
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Yandex1.3K views
Истинный DevOps. Секрет 42. by Nikita Borzykh
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.
Nikita Borzykh823 views
«DevOps — это о передаче смысла» — Александр Титов, Express 42 by DevDay
«DevOps — это о передаче смысла» — Александр Титов, Express 42«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42
DevDay906 views
Building deployment pipeline - DevOps way by Andrey Rebrov
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
Andrey Rebrov964 views
Стажировка-2014, занятие 8. Обзор Sails framework (Node.js) by 7bits
Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)
Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)
7bits350 views
What do you MEAN? или введение в Fullstack JavaScript by Vasiliy Teliatnikov
What do you MEAN? или введение в Fullstack JavaScriptWhat do you MEAN? или введение в Fullstack JavaScript
What do you MEAN? или введение в Fullstack JavaScript
Windows Azure & NodeJS Microsoft SWIT 2012 by Dmytro Mindra
Windows Azure & NodeJS Microsoft SWIT 2012 Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012
Dmytro Mindra669 views

Introduction in Node.js (in russian)