SlideShare a Scribd company logo
1 of 98
Download to read offline
Разработка на Node.js:
инструменты, библиотеки,
сервисы
Владимир Алаев
Разработчик



Я.Субботник, Санкт-Петербург, 30 июня 2012 года



                                                  1
Разработка на Node.js

— Инструменты
— Библиотеки
— Сервисы




2
                        2
Инструменты




3
              3
Инструменты
Которые мы используем
— Что использовать для редактирования кода?




4
                                              4
JavaScript в Node.js

— Это все тот же JavaScript
— Используй свой любимый редактор
— NetBeans, Aptana, vim, TextMate, Visual Studio, ...
— Но!




5
                                                        5
6
    6
Отладка Node.js приложений




7
                             7
Знает о структуре Node.js
модулей




8
                            8
Это не реклама! O:-)




9
                       9
JetBrains WebStorm
http://bit.ly/9Z97rE




10
                       10
Sublime Text 2
http://bit.ly/gixPIw




11
                       11
Инструменты
Которые мы используем
— Что использовать для редактирования кода?
— npm




12
                                              12
npm
http://npmjs.org




13
                   13
npm search
Поиск модуля

 $ npm search logging
 NAME                   DESCRIPTION
 ain                    Syslog logging for node.js
 ain-tcp                Syslog logging for node.js, with syslog/TCP
 beaver                 CLI tool for piping a log's tail over TCP
 bolt-logger            simple logging for bolt
 book                   flexible node.js logging library
 book-email             email transport for book logging framework
 book-file              file transport for book logging framework
 book-git               git middleware for book logging framework




14
                                                                      14
npm show
Информация о модуле
 $ npm show bem
 { name: 'bem',
   description: 'BEM Tools',
   'dist-tags':
     { latest: '0.4.2',
       stable: '0.2.5',
       unstable: '0.5.10' },
   maintainers:
     [ 'arikon <peimei@ya.ru>',
       'veged <veged@mail.ru>',
       'fedor.indutny <fedor.indutny@gmail.com>',
       'scf <scf2k@yandex.ru>',
       'afelix <skryzhanovsky@gmail.com>' ],
   author: 'Sergey Berezhnoy <veged@mail.ru> (http://github.com/
 veged)',
 ...


15
                                                                   15
npm install
Установка модуля

 $ npm install bem
 npm http GET https://registry.npmjs.org/bem
 npm http GET https://registry.npmjs.org/coa
 npm http GET https://registry.npmjs.org/q
 npm http GET https://registry.npmjs.org/inherit
 npm http GET https://registry.npmjs.org/borschik
 npm http 304 https://registry.npmjs.org/ometajs
 bem@0.4.2 ../node_modules/bem
 !"" q-wrap@0.0.1
 !"" inherit@1.0.4
 !"" qq@0.3.3
 !"" coa@0.3.5
 !"" q@0.7.2 (event-queue@0.2.0)
 #"" borschik@0.0.10 (q@0.8.5, q-fs@0.1.27, cssp@1.0.5)



16
                                                          16
npm uninstall
Удаление модуля

 $ npm uninstall bem




17
                       17
npm
Полезно знать
— ls




18
                18
Глобальные модули
npm ls -g

 /usr/local/lib
 !"" async@0.1.0
 !"" v8-profiler@3.6.2-1
 !"$ winston@0.5.9
 % !"" async@0.1.15
 % !"" colors@0.6.0-1
 % !"" eyes@0.1.7
 % !"$ loggly@0.3.11
 % % !"" request@2.9.100
 % % #"" timespan@2.2.0
 % !"" pkginfo@0.2.3
 % #"" stack-trace@0.0.6
 #"$ xjst@0.2.21
     ...



19
                           19
Локальные модули bem-tools
cd bem-tools; npm ls

 bem@0.5.10 /Users/scf/Projects/bem-tools
 !"" apw@0.3.4
 !"" async@0.1.22
 !"$ winston@0.5.10
 % !"" colors@0.6.0-1
 % !"" eyes@0.1.7
 % !"$ loggly@0.3.11
 % % !"" request@2.9.202
 % % #"" timespan@2.2.0
 % !"" pkginfo@0.2.3
 % #"" stack-trace@0.0.6
 #"$ xjst@0.2.21
     ...




20
                                            20
npm
Полезно знать
— ls
— shrinkwrap




21
                21
npm shrinkwrap
До и после

 "dependencies": {       "dependencies": {
   "coa": "0.3.x",         "coa": "0.3.5",
   "inherit": "1.0.x",     "inherit": "1.0.4",
   "q": "~0.8.2",          "q": "0.8.5",
   "q-fs": "0.1",          "q-fs": "0.1.27",
   "cssp": "1.0.x"         "cssp": "1.0.5",
 }                       }




22
                                                 22
npm
Полезно знать
— ls
— shrinkwrap
— publish




23
                23
npm publish
Необходим package.json
— Создать с помощью npm init
— Написать руками




24
                               24
npm
Полезно знать
— ls
— shrinkwrap
— publish
— version




25
                25
npm version
Обновляет версию пакета
— На конкретно заданную
— major
— minor
— patch




26
                          26
Инструменты
Которые мы используем
— Что использовать для редактирования кода?
— npm
— git




27
                                              27
Ты не используешь git?!




28
                               28
Инструменты
Которые мы используем
— Что использовать для редактирования кода?
— npm
— git
— node-inspector




29
                                              29
Отладка Node.js приложений

— Интегрированный отладчик
— WebStorm
— node-inspector




30
                             30
31
     31
node-inspector
http://bit.ly/cEceO0




32
                       32
Инструменты
Которые мы используем
— Что использовать для редактирования кода?
— npm
— git
— node-inspector
— JSHint




33
                                              33
JSHint
http://jshint.com




34
                    34
JSHint
Установка и использование
— npm install -g jshint
— jshint myscript.js




35
                            35
36
     36
Зачем и как мы используем JSLint
Дмитрий Щадей на Я.Субботнике
в Киеве, 5 мая 2012 года



http://bit.ly/PIGC4B




37
                                   37
Библиотеки




38
             38
Winston
http://bit.ly/v0QE1f




39
                       39
Winston

— Разные транспорты




40
                      40
Winston
Транспорты

 var winston = require('winston');

 // Добавляем вывод в консоль
 winston.add(winston.transports.Console, options);

 // Добавляем вывод в файл my.log
 winston.add(winston.transports.File, { filename: 'my.log' });


npm search winston



41
                                                                41
Winston

— Разные транспорты
— Уровни логирования




42
                       42
Winston
Уровни логирования

 var winston = require('winston');

 winston.log('debug', 'выделение памяти для чтения файла');

 winston.log('info', 'читается файл данных');

 winston.log('error', 'ошибка чтения файла');




43
                                                              43
Winston

— Разные транспорты
— Уровни логирования
— Выделение цветом




44
                       44
Winston
Выделение цветом




45
                   45
Winston

— Разные транспорты
— Уровни логирования
— Выделение цветом
— Профилирование




46
                       46
Winston
Профилирование

 winston.profile('test');

 someFunctionWeWantToProfile();

 winston.profile('test');

 // "30 Jun 16:00:00 - info: test duration=1200ms"




47
                                                     47
Winston
http://bit.ly/v0QE1f




48
                       48
Mocha
http://bit.ly/trTtVG




49
                       49
Mocha

— Тестирование асинхронного кода
— Разные виды репортов




50
                                   50
Репортеры Mocha
Dot Matrix




51
                  51
Репортеры Mocha
Spec




52
                  52
Репортеры Mocha
TAP




53
                  53
Репортеры Mocha
Landing Strip




54
                  54
Репортеры Mocha
List




55
                  55
Репортеры Mocha
Progress




56
                  56
Репортеры Mocha
JSON




57
                  57
Репортеры Mocha
HTML




58
                  58
Репортеры Mocha
Nyan




59
                  59
Mocha

— Тестирование асинхронного кода
— Разные виды репортов
— Ваша любимая библиотека ассертов




60
                                     60
Ассерты
Should

 var user = {
    name: 'tj',
    pets: ['tobi', 'loki', 'jane', 'bandit']
 };

 user.should.have.property('name', 'tj');

 user.should.have.property('pets').with.lengthOf(4);




61
                                                       61
Ассерты
Expect

 var user = {
    name: 'tj',
    pets: ['tobi', 'loki', 'jane', 'bandit']
 };

 expect(user).to.have.property('name', 'tj');

 expect(user).to.have.property('pets').to.have.length(4);




62
                                                            62
Ассерты
Node.js Assert

 var user = {
    name: 'tj',
    pets: ['tobi', 'loki', 'jane', 'bandit']
 };

 assert.equal(user.name, 'tj');

 assert.length(user.pets, 4);




63
                                               63
Ассерты
Chai
Все три варианта: should, expect, assert




64
                                           64
Mocha

— Тестирование асинхронного кода
— Разные виды репортов
— Ваша любимая библиотека ассертов
— Несколько стилей описания тестов




65
                                     65
Стили тестов
BDD

 describe('Array', function(){
  before(function(){
    // ...
  });

     describe('#indexOf()', function(){

       it('should return -1 when not present', function(){

         [1,2,3].indexOf(4).should.equal(-1);

       });
     });


66
                                                             66
Стили тестов
TDD

 suite('Array', function(){
  setup(function(){
    // ...
  });

     suite('#indexOf()', function(){

       test('should return -1 when not present', function(){

         assert.equal(-1, [1,2,3].indexOf(4));

       });
     });


67
                                                               67
Стили тестов
Exports

 module.exports = {
  before: function(){
     // ...
  },

      'Array': {
        '#indexOf()': {
          'should return -1 when not present': function(){
            [1,2,3].indexOf(4).should.equal(-1);
          }
        }
      }
 };


68
                                                             68
Стили тестов
QUnit

 function ok(expr, msg) {
   if (!expr) throw new Error(msg);
 }

 suite('Array');

 test('#indexOf()', function(){
   var arr = [1,2,3];
   ok(arr.indexOf(4) == -1);
 });




69
                                      69
Mocha

— Тестирование асинхронного кода
— Разные виды репортов
— Ваша любимая библиотека ассертов
— Несколько стилей описания тестов
— Test coverage




70
                                     70
Test coverage




71
                71
Mocha
http://bit.ly/trTtVG




72
                       72
Хочешь классический ООП?




73
                           73
ООП в JavaScript
Множество фреймворков
— joose
— MooTools
— class-js
— Sslac
— comb
— UberClass
— ease.js
     ...
74
                        74
inherit

•    Простой и понятный код
•    __base
•    __self




75
                              75
inherit
http://bit.ly/x7htNf




76
                       76
JavaScript
Колбек на колбеке




77
                    77
Асинхронный код
Подходы
— Fibers (fiberize, fibers, sync)
— Препроцессоры (streamline, Jscex)
— Control Flow (async, begin, groupie, $N, seq, Slide)
— Promises (deferred, promise, node-promise, when,
  Q)




78
                                                         78
Почему Promises?
— Не требует препроцессинга
— Читабельный код
— Единообразие
— Позволяет писать плоский код
— Внутри все та же асинхронность
     Но...




79
                                   79
Нужно немного поломать мозги :)




80
                                  80
Q
http://bit.ly/hnNcpU




81
                       81
Консольные утилиты

— Команды, опции, аргументы
— Помощь
— Автокомплит
— API для использования из программ
     Все это есть в COA!




82
                                      82
require('coa').Cmd()
  .name(process.argv[1])
  .title('Test COA util')
  .helpful()
  .opt()
      .name('version') // name for use in API
      .title('Version') // title for use in text messages
      .short('v')        // short key: -v
      .long('version') // long key: --version
      .flag()            // for options without value
      .only()           // act as command
      .act(function(opts) { // add action for option
          return "COA util 2.3.1";
      })
      .end()         // end option chain and return to main command




83
                                                                      83
.cmd()            // subcommand declaration
        .name('greet').title('Test greet command').helpful()
        .opt()
           .name('name').title('who to greet, required')
           .short('n').long('name')
           .val(function(v) {         // validator function
               return v || 'Unknown'
            })
           .req()       // make option required
           .end()       // end option chain and return to command
        .act(function(opts, args){
           console.log('Hello, ' + opts.name + '!!!');
        })
        .end()           // end subcommand chain
     .completable() // make possible generate completion script
     .act(function(){ // default handler when run with no params
        console.log('run with --help to see help')
     })
     .run(process.argv.slice(2)); // parse and run on process.argv



84
                                                                     84
$ node coa.js
run with --help to see help



$ node coa.js --help
Test COA util

Usage:
  coa.js COMMAND [OPTIONS] [ARGS]
  coa.js [OPTIONS] [ARGS]

Commands:
  greet : Test greet command
  completion : Shell completion

Options:
  -h, --help : Help
  -v, --version : Version


$ node coa.js -v
COA util 2.3.1



85
                                    85
$ node coa.js greet
Missing required option:
  -n NAME, --name=NAME : who to greet, required



$ node coa.js greet -n veged
Hello, veged!!!




$ node coa.js completion
###-begin-coa.js-completion-###
#
# coa.js command completion script
#
# Installation: coa.js completion >> ~/.bashrc (or ~/.zshrc)
# Or, maybe: coa.js completion > /usr/local/etc/
bash_completion.d/coa.js
#
...




86
                                                               86
COA
Command Option Argument




http://bit.ly/zaRCDk




87
                          87
Сервисы




88
          88
Даже ее мама знает про github




89
                                 89
Чем полезен github

— Готовый git репозиторий
— Открытая разработка
— It’s social!
— Code review




90
                            90
91
     91
92
     92
http://travis-ci.org




93
                       93
Travis build history




94
                       94
Travis build log




95
                   95
http://travis-ci.org




96
                       96
97
     97
Владимир Алаев
scff@yandex-team.ru

@scf2k

http://fb.com/scf2k




                      98

More Related Content

What's hot

noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов НиколайnoBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов НиколайOntico
 
Выжимаем из сервера максимум (Андрей Паньгин)
Выжимаем из сервера максимум (Андрей Паньгин)Выжимаем из сервера максимум (Андрей Паньгин)
Выжимаем из сервера максимум (Андрей Паньгин)Ontico
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)Ontico
 
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Ontico
 
Незаурядная Java как инструмент разработки высоконагруженного сервера
Незаурядная Java как инструмент разработки высоконагруженного сервераНезаурядная Java как инструмент разработки высоконагруженного сервера
Незаурядная Java как инструмент разработки высоконагруженного сервераodnoklassniki.ru
 
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Ontico
 
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Ontico
 
Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Mikhail Davydov
 
Распределенные системы в Одноклассниках
Распределенные системы в ОдноклассникахРаспределенные системы в Одноклассниках
Распределенные системы в Одноклассникахodnoklassniki.ru
 
Про асинхронное сетевое программирование
Про асинхронное сетевое программированиеПро асинхронное сетевое программирование
Про асинхронное сетевое программированиеPython Meetup
 
Fabric для управления серверами
Fabric для управления серверамиFabric для управления серверами
Fabric для управления серверамиMaxim Kulsha
 
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Ontico
 
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/LinuxSECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/LinuxSECON
 
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Ontico
 
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Ontico
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)Ontico
 
Ян Габис - RobotFramework: автоматизированое тестирование для всех
Ян Габис - RobotFramework: автоматизированое тестирование для всех Ян Габис - RobotFramework: автоматизированое тестирование для всех
Ян Габис - RobotFramework: автоматизированое тестирование для всех Minsk Linux User Group
 
Инструментируй это
Инструментируй этоИнструментируй это
Инструментируй этоRoman Dvornov
 

What's hot (20)

noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов НиколайnoBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
 
Выжимаем из сервера максимум (Андрей Паньгин)
Выжимаем из сервера максимум (Андрей Паньгин)Выжимаем из сервера максимум (Андрей Паньгин)
Выжимаем из сервера максимум (Андрей Паньгин)
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
 
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
 
Незаурядная Java как инструмент разработки высоконагруженного сервера
Незаурядная Java как инструмент разработки высоконагруженного сервераНезаурядная Java как инструмент разработки высоконагруженного сервера
Незаурядная Java как инструмент разработки высоконагруженного сервера
 
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
 
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
 
Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Introduction in Node.js (in russian)
Introduction in Node.js (in russian)
 
Распределенные системы в Одноклассниках
Распределенные системы в ОдноклассникахРаспределенные системы в Одноклассниках
Распределенные системы в Одноклассниках
 
Про асинхронное сетевое программирование
Про асинхронное сетевое программированиеПро асинхронное сетевое программирование
Про асинхронное сетевое программирование
 
Fabric для управления серверами
Fabric для управления серверамиFabric для управления серверами
Fabric для управления серверами
 
php frameworks
php frameworksphp frameworks
php frameworks
 
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
 
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/LinuxSECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
 
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
 
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
 
Ян Габис - RobotFramework: автоматизированое тестирование для всех
Ян Габис - RobotFramework: автоматизированое тестирование для всех Ян Габис - RobotFramework: автоматизированое тестирование для всех
Ян Габис - RobotFramework: автоматизированое тестирование для всех
 
Инструментируй это
Инструментируй этоИнструментируй это
Инструментируй это
 

Viewers also liked

Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"Yandex
 
Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"
Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"
Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"Yandex
 
Олег Мохов "Драматическая история одной маленькой промостранички"
Олег Мохов "Драматическая история одной маленькой промостранички"Олег Мохов "Драматическая история одной маленькой промостранички"
Олег Мохов "Драматическая история одной маленькой промостранички"Yandex
 
Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"
Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"
Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"Yandex
 
Владимир Билоненко "Рецензирование кода"
Владимир Билоненко "Рецензирование кода"Владимир Билоненко "Рецензирование кода"
Владимир Билоненко "Рецензирование кода"Yandex
 
Сергей Пузанков — XPath
Сергей Пузанков — XPathСергей Пузанков — XPath
Сергей Пузанков — XPathYandex
 
Анастасия Ларкина "Дизайнер в поиске"
Анастасия Ларкина "Дизайнер в поиске"Анастасия Ларкина "Дизайнер в поиске"
Анастасия Ларкина "Дизайнер в поиске"Yandex
 
Владимир Варанкин — «БЭМ: практика»
Владимир Варанкин — «БЭМ: практика»Владимир Варанкин — «БЭМ: практика»
Владимир Варанкин — «БЭМ: практика»Yandex
 
Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"
Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"
Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"Yandex
 
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Yandex
 
Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"
Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"
Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"Yandex
 
Михаил Сенин "Передача дополнительной информации о сайте через Яндекс.Вебмастер"
Михаил Сенин "Передача дополнительной информации о сайте через Яндекс.Вебмастер"Михаил Сенин "Передача дополнительной информации о сайте через Яндекс.Вебмастер"
Михаил Сенин "Передача дополнительной информации о сайте через Яндекс.Вебмастер"Yandex
 
Алексей Захаров "Архитектура Яндекс.Фоток"
Алексей Захаров "Архитектура Яндекс.Фоток"Алексей Захаров "Архитектура Яндекс.Фоток"
Алексей Захаров "Архитектура Яндекс.Фоток"Yandex
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
 
Михаил Трошев — CSS: Систематизация базовых знаний
Михаил Трошев — CSS: Систематизация базовых знанийМихаил Трошев — CSS: Систематизация базовых знаний
Михаил Трошев — CSS: Систематизация базовых знанийYandex
 
Placas tectã´nicas 6âºanos-jeva
Placas tectã´nicas 6âºanos-jevaPlacas tectã´nicas 6âºanos-jeva
Placas tectã´nicas 6âºanos-jevacidasantos54
 
Portafolio 3 MOGESA
Portafolio 3 MOGESAPortafolio 3 MOGESA
Portafolio 3 MOGESAanpaquisa
 
Vocación profesional
Vocación profesionalVocación profesional
Vocación profesionalsolangebv
 

Viewers also liked (20)

Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"
 
Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"
Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"
Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"
 
Олег Мохов "Драматическая история одной маленькой промостранички"
Олег Мохов "Драматическая история одной маленькой промостранички"Олег Мохов "Драматическая история одной маленькой промостранички"
Олег Мохов "Драматическая история одной маленькой промостранички"
 
Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"
Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"
Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"
 
Владимир Билоненко "Рецензирование кода"
Владимир Билоненко "Рецензирование кода"Владимир Билоненко "Рецензирование кода"
Владимир Билоненко "Рецензирование кода"
 
Сергей Пузанков — XPath
Сергей Пузанков — XPathСергей Пузанков — XPath
Сергей Пузанков — XPath
 
Анастасия Ларкина "Дизайнер в поиске"
Анастасия Ларкина "Дизайнер в поиске"Анастасия Ларкина "Дизайнер в поиске"
Анастасия Ларкина "Дизайнер в поиске"
 
Владимир Варанкин — «БЭМ: практика»
Владимир Варанкин — «БЭМ: практика»Владимир Варанкин — «БЭМ: практика»
Владимир Варанкин — «БЭМ: практика»
 
Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"
Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"
Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"
 
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
 
Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"
Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"
Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"
 
Михаил Сенин "Передача дополнительной информации о сайте через Яндекс.Вебмастер"
Михаил Сенин "Передача дополнительной информации о сайте через Яндекс.Вебмастер"Михаил Сенин "Передача дополнительной информации о сайте через Яндекс.Вебмастер"
Михаил Сенин "Передача дополнительной информации о сайте через Яндекс.Вебмастер"
 
Алексей Захаров "Архитектура Яндекс.Фоток"
Алексей Захаров "Архитектура Яндекс.Фоток"Алексей Захаров "Архитектура Яндекс.Фоток"
Алексей Захаров "Архитектура Яндекс.Фоток"
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Михаил Трошев — CSS: Систематизация базовых знаний
Михаил Трошев — CSS: Систематизация базовых знанийМихаил Трошев — CSS: Систематизация базовых знаний
Михаил Трошев — CSS: Систематизация базовых знаний
 
Placas tectã´nicas 6âºanos-jeva
Placas tectã´nicas 6âºanos-jevaPlacas tectã´nicas 6âºanos-jeva
Placas tectã´nicas 6âºanos-jeva
 
Cromatografia udes
Cromatografia udesCromatografia udes
Cromatografia udes
 
Portafolio 3 MOGESA
Portafolio 3 MOGESAPortafolio 3 MOGESA
Portafolio 3 MOGESA
 
Vocación profesional
Vocación profesionalVocación profesional
Vocación profesional
 

Similar to Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"

Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Ontico
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayAndrey Rebrov
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Yandex
 
Как команда PVS-Studio может улучшить код операционной системы Tizen
Как команда PVS-Studio может улучшить код операционной системы TizenКак команда PVS-Studio может улучшить код операционной системы Tizen
Как команда PVS-Studio может улучшить код операционной системы TizenAndrey Karpov
 
Принципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-StudioПринципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-StudioAndrey Karpov
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPITimur Shemsedinov
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщикаmcslayer
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Yandex
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Yandex
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPMikhail Kurnosov
 
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИССуперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИСYandex
 
PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#
PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#
PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#Andrey Karpov
 
Java Platform Performance BoF
Java Platform Performance BoFJava Platform Performance BoF
Java Platform Performance BoFDmitry Buzdin
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Yandex
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeIosif Itkin
 

Similar to Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы" (20)

Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"
 
Как команда PVS-Studio может улучшить код операционной системы Tizen
Как команда PVS-Studio может улучшить код операционной системы TizenКак команда PVS-Studio может улучшить код операционной системы Tizen
Как команда PVS-Studio может улучшить код операционной системы Tizen
 
Принципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-StudioПринципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-Studio
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPI
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщика
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"
 
Крыша 2.0
Крыша 2.0Крыша 2.0
Крыша 2.0
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
 
Erlang tasty & useful stuff
Erlang tasty & useful stuffErlang tasty & useful stuff
Erlang tasty & useful stuff
 
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИССуперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
 
PowerShell
PowerShellPowerShell
PowerShell
 
PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#
PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#
PVS-Studio. Статический анализатор кода. Windows/Linux, C/C++/C#
 
Java Platform Performance BoF
Java Platform Performance BoFJava Platform Performance BoF
Java Platform Performance BoF
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
 

More from Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
 
Эталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатовЭталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатовYandex
 

More from Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 
Эталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатовЭталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатов
 

Recently uploaded (9)

ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 

Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"