SlideShare uma empresa Scribd logo
1 de 190
Baixar para ler offline
2gis.ru @rnd2gis
Реактивное программирование
Алексей Романчук
2
Обо мне
2
Обо мне
2
Обо мне
2
Обо мне
2
Обо мне
Для кого этот доклад
4
О чем будем говорить
• Почему это актуально
4
О чем будем говорить
• Почему это актуально
• Reactive Manifesto
4
О чем будем говорить
• Почему это актуально
• Reactive Manifesto
• Технологии реактивного программирования
4
О чем будем говорить
• Почему это актуально
• Reactive Manifesto
• Технологии реактивного программирования
• Опыт 2ГИС
4
О чем будем говорить
• Почему это актуально
• Reactive Manifesto
• Технологии реактивного программирования
• Опыт 2ГИС
• С чего начать
4
О чем будем говорить
Мир изменился
6
7
8
Мир сильно изменился
10
Реактивное программирование
• Не про реактивные самолеты
10
Реактивное программирование
• Не про реактивные самолеты
• Реакция на события
10
Реактивное программирование
11
Реактивное программирование
1. Реакция на пользователей
11
Реактивное программирование
1. Реакция на пользователей
2. Реакция на отказы
11
Реактивное программирование
1. Реакция на пользователей
2. Реакция на отказы
3. Реакция на нагрузку
11
Реактивное программирование
1. Реакция на пользователей
2. Реакция на отказы
3. Реакция на нагрузку
4. Событийность
11
Реактивное программирование
1. Реакция на пользователей
Пользователи хотят,
чтобы все было хорошо!
14
Как определить что все хорошо
• Предсказуемый результат за предсказуемое время
14
Как определить что все хорошо
• Предсказуемый результат за предсказуемое время
• Система отзывчива на действия пользователя
14
Как определить что все хорошо
250мс
16
Как измерять отзывчивость
• Время ответа
16
Как измерять отзывчивость
• Время ответа
• Под нагрузкой
16
Как измерять отзывчивость
• Время ответа
• Под нагрузкой
• Квантили
16
Как измерять отзывчивость
• Время ответа
• Под нагрузкой
• Квантили
• Время ответа при недоступности части систем
16
Как измерять отзывчивость
17
Особенности в распределенных системах
• Недоступность узла это норма
17
Особенности в распределенных системах
• Недоступность узла это норма
• Максимальное время ожидания ответа
17
Особенности в распределенных системах
• Недоступность узла это норма
• Максимальное время ожидания ответа
• Корректная деградация вместо полной недоступности
17
Особенности в распределенных системах
2. Реакция на отказы
19
Что может пойти не так
• Ошибка в своем коде
19
Что может пойти не так
• Ошибка в своем коде
• Ошибка в чужом коде (сервис или ОС)
19
Что может пойти не так
• Ошибка в своем коде
• Ошибка в чужом коде (сервис или ОС)
• Железо вышло из строя
19
Что может пойти не так
• Ошибка в своем коде
• Ошибка в чужом коде (сервис или ОС)
• Железо вышло из строя
• Сеть вышла из строя
19
Что может пойти не так
• Ошибка в своем коде
• Ошибка в чужом коде (сервис или ОС)
• Железо вышло из строя
• Сеть вышла из строя
• Эксплутаторы тоже люди
19
Что может пойти не так
20
Отказы
• Случатся
20
Отказы
• Случатся
• Обязательно
20
Отказы
• Случатся
• Обязательно
• Именно с вами
20
Отказы
• Случатся
• Обязательно
• Именно с вами
• Вы должны быть готовы
20
Отказы
21
Как минимизировать влияние отказов
• Штатная ситуация
21
Как минимизировать влияние отказов
• Штатная ситуация
• Изолированные системы
21
Как минимизировать влияние отказов
• Штатная ситуация
• Изолированные системы
• Дублирование данных
21
Как минимизировать влияние отказов
3. Реакция на нагрузку
Хабраэффект
24
Как пережить хабраэффект
• Что сейчас?
24
Как пережить хабраэффект
• Что сейчас?
• Масштабирование
24
Как пережить хабраэффект
• Что сейчас?
• Масштабирование
• Нагрузка распределяема
24
Как пережить хабраэффект
• Что сейчас?
• Масштабирование
• Нагрузка распределяема
• Балансировка между узлами
24
Как пережить хабраэффект
• Что сейчас?
• Масштабирование
• Нагрузка распределяема
• Балансировка между узлами
• Быстрое наращивание мощности
24
Как пережить хабраэффект
• Что сейчас?
• Масштабирование
• Нагрузка распределяема
• Балансировка между узлами
• Быстрое наращивание мощности
• Сглаживание пиков
24
Как пережить хабраэффект
4. Событийность
26
Что дает нам событийная модель
• Слабая связность
26
Что дает нам событийная модель
• Слабая связность
• Естественный параллелизм и масштабирование
26
Что дает нам событийная модель
• Слабая связность
• Естественный параллелизм и масштабирование
• Эффективное неиспользование ресурсов
26
Что дает нам событийная модель
27
Слабая связность
• Кода
27
Слабая связность
• Кода
• Изоляция времени исполнения
27
Слабая связность
• Кода
• Изоляция времени исполнения
• Жизненных циклов
27
Слабая связность
• Кода
• Изоляция времени исполнения
• Жизненных циклов
• Простота тестирования
27
Слабая связность
• Кода
• Изоляция времени исполнения
• Жизненных циклов
• Простота тестирования
• Уменьшение доменной сложности
27
Слабая связность
28
Reactive Manifesto
29
Для разработчика
• Проблемы не новы
29
Для разработчика
• Проблемы не новы
• Правильных инструментов
29
Для разработчика
• Проблемы не новы
• Правильных инструментов
• Микросервисная архитектура
29
Для разработчика
• Проблемы не новы
• Правильных инструментов
• Микросервисная архитектура
• Устойчива к отказам
29
Для разработчика
• Проблемы не новы
• Правильных инструментов
• Микросервисная архитектура
• Устойчива к отказам
• Масштабируется
29
Для разработчика
• Проблемы не новы
• Правильных инструментов
• Микросервисная архитектура
• Устойчива к отказам
• Масштабируется
• Слабосвязна
29
Для разработчика
Инструментарий
%здесь нужно вставить слайд про
функциональное программирование%
32
Требования
• Многопоточное программирование
32
Требования
• Многопоточное программирование
• Асинхронность
32
Требования
• Многопоточное программирование
• Асинхронность
• Событийность
32
Требования
• Многопоточное программирование
• Асинхронность
• Событийность
• Управляемая реакция на отказы
32
Требования
Языки программирования
общего назначения
34
Языки общего назначения
• Java, C++
34
Языки общего назначения
• Java, C++
• Плюсы
34
Языки общего назначения
• Java, C++
• Плюсы
• Параллелизм
34
Языки общего назначения
• Java, C++
• Плюсы
• Параллелизм
• Асинхронность
34
Языки общего назначения
• Java, C++
• Плюсы
• Параллелизм
• Асинхронность
• Минуcы
34
Языки общего назначения
• Java, C++
• Плюсы
• Параллелизм
• Асинхронность
• Минуcы
• Монолит в рантайме
34
Языки общего назначения
• Java, C++
• Плюсы
• Параллелизм
• Асинхронность
• Минуcы
• Монолит в рантайме
• Сложно масштабируемы
34
Языки общего назначения
• Java, C++
• Плюсы
• Параллелизм
• Асинхронность
• Минуcы
• Монолит в рантайме
• Сложно масштабируемы
• Возможно все, но сложно
34
Языки общего назначения
Process per Request
36
Process per Request
• PHP фреймворки, Ruby on Rails, Django и т.д.
36
Process per Request
• PHP фреймворки, Ruby on Rails, Django и т.д.
• Плюсы
36
Process per Request
• PHP фреймворки, Ruby on Rails, Django и т.д.
• Плюсы
• Изоляция
36
Process per Request
• PHP фреймворки, Ruby on Rails, Django и т.д.
• Плюсы
• Изоляция
• Масштабируемость
36
Process per Request
• PHP фреймворки, Ruby on Rails, Django и т.д.
• Плюсы
• Изоляция
• Масштабируемость
• Минуcы
36
Process per Request
• PHP фреймворки, Ruby on Rails, Django и т.д.
• Плюсы
• Изоляция
• Масштабируемость
• Минуcы
• Не событийны
36
Process per Request
• PHP фреймворки, Ruby on Rails, Django и т.д.
• Плюсы
• Изоляция
• Масштабируемость
• Минуcы
• Не событийны
• Нет асинхронности и неблокируемости
36
Process per Request
• PHP фреймворки, Ruby on Rails, Django и т.д.
• Плюсы
• Изоляция
• Масштабируемость
• Минуcы
• Не событийны
• Нет асинхронности и неблокируемости
• Простое масштабирование до определенного предела
36
Process per Request
Green Threads
38
Green Threads
• Go, Lua, Haskel
38
Green Threads
• Go, Lua, Haskel
• Потоки планируются виртуальной машиной
38
Green Threads
• Go, Lua, Haskel
• Потоки планируются виртуальной машиной
• Плюсы
38
Green Threads
• Go, Lua, Haskel
• Потоки планируются виртуальной машиной
• Плюсы
• Асинхронность, неблокируемость
38
Green Threads
• Go, Lua, Haskel
• Потоки планируются виртуальной машиной
• Плюсы
• Асинхронность, неблокируемость
• Минусы
38
Green Threads
• Go, Lua, Haskel
• Потоки планируются виртуальной машиной
• Плюсы
• Асинхронность, неблокируемость
• Минусы
• Ограничены одной нодой
38
Green Threads
• Go, Lua, Haskel
• Потоки планируются виртуальной машиной
• Плюсы
• Асинхронность, неблокируемость
• Минусы
• Ограничены одной нодой
• Нет механизмов управления отказами
38
Green Threads
Event Loop
40
Event Loop
• Node.js, Vert.x
40
Event Loop
• Node.js, Vert.x
• Вся работа в event loop
40
Event Loop
• Node.js, Vert.x
• Вся работа в event loop
• Плюсы
40
Event Loop
• Node.js, Vert.x
• Вся работа в event loop
• Плюсы
• Событийны, асинхронны, неблокируемы
40
Event Loop
• Node.js, Vert.x
• Вся работа в event loop
• Плюсы
• Событийны, асинхронны, неблокируемы
• Минусы
40
Event Loop
• Node.js, Vert.x
• Вся работа в event loop
• Плюсы
• Событийны, асинхронны, неблокируемы
• Минусы
• Ограничен одной нодой
40
Event Loop
• Node.js, Vert.x
• Вся работа в event loop
• Плюсы
• Событийны, асинхронны, неблокируемы
• Минусы
• Ограничен одной нодой
• Не масштабируется по процессорам
40
Event Loop
• Node.js, Vert.x
• Вся работа в event loop
• Плюсы
• Событийны, асинхронны, неблокируемы
• Минусы
• Ограничен одной нодой
• Не масштабируется по процессорам
• Нет механизмов управления отказами
40
Event Loop
Actor Model
42
Actor Model
• Erlang, Akka
42
Actor Model
• Erlang, Akka
• Плюсы
42
Actor Model
• Erlang, Akka
• Плюсы
• Событийны, асинхронны, неблокируемы
42
Actor Model
• Erlang, Akka
• Плюсы
• Событийны, асинхронны, неблокируемы
• Не ограничены одной нодой
42
Actor Model
• Erlang, Akka
• Плюсы
• Событийны, асинхронны, неблокируемы
• Не ограничены одной нодой
• Присутствуют механизмы управления отказами
42
Actor Model
• Erlang, Akka
• Плюсы
• Событийны, асинхронны, неблокируемы
• Не ограничены одной нодой
• Присутствуют механизмы управления отказами
• Минусы
42
Actor Model
• Erlang, Akka
• Плюсы
• Событийны, асинхронны, неблокируемы
• Не ограничены одной нодой
• Присутствуют механизмы управления отказами
• Минусы
• Форсисрует архитектуру
42
Actor Model
43
Actor Model
43
Actor Model
43
Actor Model
43
Actor Model
43
Actor Model
43
Actor Model
43
Actor Model
43
Actor Model
Node 1
43
Actor Model
Node 2
Node 1
43
Actor Model
Node 2
44
Опыт в 2ГИС
• Внутренняя система
44
Опыт в 2ГИС
• Внутренняя система
• Несколько источников данных
44
Опыт в 2ГИС
• Внутренняя система
• Несколько источников данных
• Множество потребителей
44
Опыт в 2ГИС
• Внутренняя система
• Несколько источников данных
• Множество потребителей
• API
44
Опыт в 2ГИС
45
Опыт в 2ГИС
Микросервисы
47
Scala, Akka
• Модель акторов
47
Scala, Akka
• Модель акторов
• Строгая типизация
47
Scala, Akka
• Модель акторов
• Строгая типизация
• JVM-язык
47
Scala, Akka
• Модель акторов
• Строгая типизация
• JVM-язык
• Развитое сообщество
47
Scala, Akka
• Модель акторов
• Строгая типизация
• JVM-язык
• Развитое сообщество
• Истории успеха
47
Scala, Akka
Nginx
49
Spray
• Web Framework
49
Spray
• Web Framework
• Асинхронный
49
Spray
• Web Framework
• Асинхронный
• Неблокируемый
49
Spray
• Web Framework
• Асинхронный
• Неблокируемый
• Событийный
49
Spray
• Web Framework
• Асинхронный
• Неблокируемый
• Событийный
• Дружит с актор системами
49
Spray
REST
51
ØMQ
• Замена сокетам
51
ØMQ
• Замена сокетам
• Высокая производительность
51
ØMQ
• Замена сокетам
• Высокая производительность
• Балансировка
51
ØMQ
53
Hadoop, Spark
• Хранилище сырых данных
53
Hadoop, Spark
• Хранилище сырых данных
• 50Гб в день
53
Hadoop, Spark
• Хранилище сырых данных
• 50Гб в день
• Spark как реализация map-reduce
53
Hadoop, Spark
54
С чего начать
• Reactive Manifesto
54
С чего начать
• Reactive Manifesto
• Coursera
54
С чего начать
• Reactive Manifesto
• Coursera
• Functional Programming Principles in Scala
54
С чего начать
• Reactive Manifesto
• Coursera
• Functional Programming Principles in Scala
• Principles of Reactive Programming
54
С чего начать
• Reactive Manifesto
• Coursera
• Functional Programming Principles in Scala
• Principles of Reactive Programming
• Typesafe
54
С чего начать
• Reactive Manifesto
• Coursera
• Functional Programming Principles in Scala
• Principles of Reactive Programming
• Typesafe
• Activator
54
С чего начать
• Reactive Manifesto
• Coursera
• Functional Programming Principles in Scala
• Principles of Reactive Programming
• Typesafe
• Activator
• Видео
54
С чего начать
• Reactive Manifesto
• Coursera
• Functional Programming Principles in Scala
• Principles of Reactive Programming
• Typesafe
• Activator
• Видео
• Reactive Streams
54
С чего начать
Вопросы?
al.romanchuk@2gis.ru @1esha

Mais conteúdo relacionado

Mais procurados

Подводные камни в нагрузочном тестировании
Подводные камни в нагрузочном тестированииПодводные камни в нагрузочном тестировании
Подводные камни в нагрузочном тестированииVladimir Sitnikov
 
PostgreSQL и JDBC: выжимаем все соки
PostgreSQL и JDBC: выжимаем все сокиPostgreSQL и JDBC: выжимаем все соки
PostgreSQL и JDBC: выжимаем все сокиVladimir Sitnikov
 
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Ontico
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Ontico
 
Разбор сложных случаев OutOfMemoryError
Разбор сложных случаев OutOfMemoryErrorРазбор сложных случаев OutOfMemoryError
Разбор сложных случаев OutOfMemoryErrorVladimir Sitnikov
 
Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Кирилл Толкачёв
 
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Zabbix 3.2 - мониторинг качественно нового уровня / Алексей Владышев (Zabbix)
Zabbix 3.2 - мониторинг качественно нового уровня / Алексей Владышев (Zabbix)Zabbix 3.2 - мониторинг качественно нового уровня / Алексей Владышев (Zabbix)
Zabbix 3.2 - мониторинг качественно нового уровня / Алексей Владышев (Zabbix)Ontico
 
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)Ontico
 
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...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)
How to build solid CI-CD pipeline / Илья Беда (beda.software)Ontico
 
"Fault tolerant workflow orchestration on PHP", Anton Tsitou
"Fault tolerant workflow orchestration on PHP", Anton Tsitou"Fault tolerant workflow orchestration on PHP", Anton Tsitou
"Fault tolerant workflow orchestration on PHP", Anton TsitouFwdays
 
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Ontico
 
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...Ontico
 
gRPC в продакшне для мобильных приложений
gRPC в продакшне для мобильных приложенийgRPC в продакшне для мобильных приложений
gRPC в продакшне для мобильных приложенийMad Devs
 
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...Ontico
 
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)Ontico
 

Mais procurados (20)

Подводные камни в нагрузочном тестировании
Подводные камни в нагрузочном тестированииПодводные камни в нагрузочном тестировании
Подводные камни в нагрузочном тестировании
 
PostgreSQL и JDBC: выжимаем все соки
PostgreSQL и JDBC: выжимаем все сокиPostgreSQL и JDBC: выжимаем все соки
PostgreSQL и JDBC: выжимаем все соки
 
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
Разбор сложных случаев OutOfMemoryError
Разбор сложных случаев OutOfMemoryErrorРазбор сложных случаев OutOfMemoryError
Разбор сложных случаев OutOfMemoryError
 
Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016
 
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Zabbix 3.2 - мониторинг качественно нового уровня / Алексей Владышев (Zabbix)
Zabbix 3.2 - мониторинг качественно нового уровня / Алексей Владышев (Zabbix)Zabbix 3.2 - мониторинг качественно нового уровня / Алексей Владышев (Zabbix)
Zabbix 3.2 - мониторинг качественно нового уровня / Алексей Владышев (Zabbix)
 
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
 
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
Do it yourself profiler
Do it yourself profilerDo it yourself profiler
Do it yourself profiler
 
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)
How to build solid CI-CD pipeline / Илья Беда (beda.software)
 
"Fault tolerant workflow orchestration on PHP", Anton Tsitou
"Fault tolerant workflow orchestration on PHP", Anton Tsitou"Fault tolerant workflow orchestration on PHP", Anton Tsitou
"Fault tolerant workflow orchestration on PHP", Anton Tsitou
 
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
 
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
 
gRPC в продакшне для мобильных приложений
gRPC в продакшне для мобильных приложенийgRPC в продакшне для мобильных приложений
gRPC в продакшне для мобильных приложений
 
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...
 
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
 

Destaque

Функциональное программирование в браузере / Никита Прокопов
Функциональное программирование в браузере / Никита ПрокоповФункциональное программирование в браузере / Никита Прокопов
Функциональное программирование в браузере / Никита ПрокоповOntico
 
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScriptТрансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScriptMax Klymyshyn
 
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'еHappyDev
 
Назад в будущее! …и другие мысли о подготовке программистов в ВУЗах
Назад в будущее! …и другие мысли о подготовке программистов в ВУЗахНазад в будущее! …и другие мысли о подготовке программистов в ВУЗах
Назад в будущее! …и другие мысли о подготовке программистов в ВУЗахDennis Schetinin
 
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest
 
Построение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptПостроение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptFDConf
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)Ontico
 
JavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.asyncJavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.asyncFalko Riemenschneider
 
FlatGUI: Reactive GUI Toolkit Implemented in Clojure
FlatGUI: Reactive GUI Toolkit Implemented in ClojureFlatGUI: Reactive GUI Toolkit Implemented in Clojure
FlatGUI: Reactive GUI Toolkit Implemented in Clojuredenyslebediev
 
Asynchronous stream processing with Akka Streams
Asynchronous stream processing with Akka StreamsAsynchronous stream processing with Akka Streams
Asynchronous stream processing with Akka StreamsJohan Andrén
 
Akka Streams in Action @ ScalaDays Berlin 2016
Akka Streams in Action @ ScalaDays Berlin 2016Akka Streams in Action @ ScalaDays Berlin 2016
Akka Streams in Action @ ScalaDays Berlin 2016Konrad Malawski
 
End to End Akka Streams / Reactive Streams - from Business to Socket
End to End Akka Streams / Reactive Streams - from Business to SocketEnd to End Akka Streams / Reactive Streams - from Business to Socket
End to End Akka Streams / Reactive Streams - from Business to SocketKonrad Malawski
 
"Content Security Policy" — Алексей Андросов, MoscowJS 18
"Content Security Policy" — Алексей Андросов, MoscowJS 18"Content Security Policy" — Алексей Андросов, MoscowJS 18
"Content Security Policy" — Алексей Андросов, MoscowJS 18MoscowJS
 
Monte carlo simulation
Monte carlo simulationMonte carlo simulation
Monte carlo simulationAnurag Jaiswal
 
Reactive Stream Processing with Akka Streams
Reactive Stream Processing with Akka StreamsReactive Stream Processing with Akka Streams
Reactive Stream Processing with Akka StreamsKonrad Malawski
 
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
Understanding Akka Streams, Back Pressure, and Asynchronous ArchitecturesUnderstanding Akka Streams, Back Pressure, and Asynchronous Architectures
Understanding Akka Streams, Back Pressure, and Asynchronous ArchitecturesLightbend
 
Reactive integrations with Akka Streams
Reactive integrations with Akka StreamsReactive integrations with Akka Streams
Reactive integrations with Akka StreamsKonrad Malawski
 
Exploring Reactive Integrations With Akka Streams, Alpakka And Apache Kafka
Exploring Reactive Integrations With Akka Streams, Alpakka And Apache KafkaExploring Reactive Integrations With Akka Streams, Alpakka And Apache Kafka
Exploring Reactive Integrations With Akka Streams, Alpakka And Apache KafkaLightbend
 

Destaque (18)

Функциональное программирование в браузере / Никита Прокопов
Функциональное программирование в браузере / Никита ПрокоповФункциональное программирование в браузере / Никита Прокопов
Функциональное программирование в браузере / Никита Прокопов
 
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScriptТрансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
 
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
 
Назад в будущее! …и другие мысли о подготовке программистов в ВУЗах
Назад в будущее! …и другие мысли о подготовке программистов в ВУЗахНазад в будущее! …и другие мысли о подготовке программистов в ВУЗах
Назад в будущее! …и другие мысли о подготовке программистов в ВУЗах
 
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
 
Построение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptПостроение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascript
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
 
JavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.asyncJavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.async
 
FlatGUI: Reactive GUI Toolkit Implemented in Clojure
FlatGUI: Reactive GUI Toolkit Implemented in ClojureFlatGUI: Reactive GUI Toolkit Implemented in Clojure
FlatGUI: Reactive GUI Toolkit Implemented in Clojure
 
Asynchronous stream processing with Akka Streams
Asynchronous stream processing with Akka StreamsAsynchronous stream processing with Akka Streams
Asynchronous stream processing with Akka Streams
 
Akka Streams in Action @ ScalaDays Berlin 2016
Akka Streams in Action @ ScalaDays Berlin 2016Akka Streams in Action @ ScalaDays Berlin 2016
Akka Streams in Action @ ScalaDays Berlin 2016
 
End to End Akka Streams / Reactive Streams - from Business to Socket
End to End Akka Streams / Reactive Streams - from Business to SocketEnd to End Akka Streams / Reactive Streams - from Business to Socket
End to End Akka Streams / Reactive Streams - from Business to Socket
 
"Content Security Policy" — Алексей Андросов, MoscowJS 18
"Content Security Policy" — Алексей Андросов, MoscowJS 18"Content Security Policy" — Алексей Андросов, MoscowJS 18
"Content Security Policy" — Алексей Андросов, MoscowJS 18
 
Monte carlo simulation
Monte carlo simulationMonte carlo simulation
Monte carlo simulation
 
Reactive Stream Processing with Akka Streams
Reactive Stream Processing with Akka StreamsReactive Stream Processing with Akka Streams
Reactive Stream Processing with Akka Streams
 
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
Understanding Akka Streams, Back Pressure, and Asynchronous ArchitecturesUnderstanding Akka Streams, Back Pressure, and Asynchronous Architectures
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
 
Reactive integrations with Akka Streams
Reactive integrations with Akka StreamsReactive integrations with Akka Streams
Reactive integrations with Akka Streams
 
Exploring Reactive Integrations With Akka Streams, Alpakka And Apache Kafka
Exploring Reactive Integrations With Akka Streams, Alpakka And Apache KafkaExploring Reactive Integrations With Akka Streams, Alpakka And Apache Kafka
Exploring Reactive Integrations With Akka Streams, Alpakka And Apache Kafka
 

Semelhante a Алексей Романчук «Реактивное программирование»

Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Ontico
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Ontico
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ruRoman Ivliev
 
Технические аспекты блокировки интернета в России. Проблемы и перспективы
Технические аспекты блокировки интернета в России. Проблемы и перспективыТехнические аспекты блокировки интернета в России. Проблемы и перспективы
Технические аспекты блокировки интернета в России. Проблемы и перспективыPhilipp Kulin
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontendDenis Kolesnikov
 
Performance management lessons learnt / Андрей Дмитриев (JUGRU)
Performance management lessons learnt / Андрей Дмитриев (JUGRU)Performance management lessons learnt / Андрей Дмитриев (JUGRU)
Performance management lessons learnt / Андрей Дмитриев (JUGRU)Ontico
 
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...CodeFest
 
Про тестирование миграций
Про тестирование миграцийПро тестирование миграций
Про тестирование миграцийRoman Ivliev
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Alexei Lupan
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаRoman Dvornov
 
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...Ontico
 
Опыт повышения доступности ключевых банковских ИТ-систем
Опыт повышения доступности ключевых банковских ИТ-системОпыт повышения доступности ключевых банковских ИТ-систем
Опыт повышения доступности ключевых банковских ИТ-системVsevolod Shabad
 
Highload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPIHighload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPILeonid Yuriev
 
CodeFest 2013. Бабаев А. — Сервер для самых маленьких
CodeFest 2013. Бабаев А. — Сервер для самых маленькихCodeFest 2013. Бабаев А. — Сервер для самых маленьких
CodeFest 2013. Бабаев А. — Сервер для самых маленькихCodeFest
 
Микросервисы: первая кровь
Микросервисы: первая кровьМикросервисы: первая кровь
Микросервисы: первая кровьМаксим Сячин
 
Дублированный контент в SEO
Дублированный контент в SEOДублированный контент в SEO
Дублированный контент в SEOFedotov Alex
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016Roman Ivliev
 

Semelhante a Алексей Романчук «Реактивное программирование» (20)

Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ru
 
Технические аспекты блокировки интернета в России. Проблемы и перспективы
Технические аспекты блокировки интернета в России. Проблемы и перспективыТехнические аспекты блокировки интернета в России. Проблемы и перспективы
Технические аспекты блокировки интернета в России. Проблемы и перспективы
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontend
 
Performance management lessons learnt / Андрей Дмитриев (JUGRU)
Performance management lessons learnt / Андрей Дмитриев (JUGRU)Performance management lessons learnt / Андрей Дмитриев (JUGRU)
Performance management lessons learnt / Андрей Дмитриев (JUGRU)
 
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
 
Про тестирование миграций
Про тестирование миграцийПро тестирование миграций
Про тестирование миграций
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтенда
 
Ryazan
RyazanRyazan
Ryazan
 
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
 
Pandoras white box
Pandoras white boxPandoras white box
Pandoras white box
 
Опыт повышения доступности ключевых банковских ИТ-систем
Опыт повышения доступности ключевых банковских ИТ-системОпыт повышения доступности ключевых банковских ИТ-систем
Опыт повышения доступности ключевых банковских ИТ-систем
 
Highload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPIHighload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPI
 
Little Service in 2h
Little Service in 2hLittle Service in 2h
Little Service in 2h
 
CodeFest 2013. Бабаев А. — Сервер для самых маленьких
CodeFest 2013. Бабаев А. — Сервер для самых маленькихCodeFest 2013. Бабаев А. — Сервер для самых маленьких
CodeFest 2013. Бабаев А. — Сервер для самых маленьких
 
Микросервисы: первая кровь
Микросервисы: первая кровьМикросервисы: первая кровь
Микросервисы: первая кровь
 
Дублированный контент в SEO
Дублированный контент в SEOДублированный контент в SEO
Дублированный контент в SEO
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016
 

Mais de DevDay

«Bdd и реактивщина в 2ГИС», Евгений Тютюев
«Bdd и реактивщина в 2ГИС», Евгений Тютюев«Bdd и реактивщина в 2ГИС», Евгений Тютюев
«Bdd и реактивщина в 2ГИС», Евгений ТютюевDevDay
 
«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин
«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин
«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий МузюкинDevDay
 
«Я спросил у сервера...», Илья Пастушков
«Я спросил у сервера...», Илья Пастушков«Я спросил у сервера...», Илья Пастушков
«Я спросил у сервера...», Илья ПастушковDevDay
 
Фреймворк Slot, Good Parts, Александр Бирюков
Фреймворк Slot, Good Parts, Александр БирюковФреймворк Slot, Good Parts, Александр Бирюков
Фреймворк Slot, Good Parts, Александр БирюковDevDay
 
Рендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей СолодовниковРендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей СолодовниковDevDay
 
Devops-практики в разработке решений для бизнеса, Максим Пашук
Devops-практики в разработке решений для бизнеса, Максим ПашукDevops-практики в разработке решений для бизнеса, Максим Пашук
Devops-практики в разработке решений для бизнеса, Максим ПашукDevDay
 
Inversion of Control в деталях, Дмитрий Кожевников
Inversion of Control в деталях, Дмитрий КожевниковInversion of Control в деталях, Дмитрий Кожевников
Inversion of Control в деталях, Дмитрий КожевниковDevDay
 
«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин
«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин
«Используем неизменяемые данные и создаем качественный код», Игорь КудринDevDay
 
«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных«Велогосипед», Данил Ильиных
«Велогосипед», Данил ИльиныхDevDay
 
«Процесс создания продукта», Максим Берёзкин
«Процесс создания продукта», Максим Берёзкин«Процесс создания продукта», Максим Берёзкин
«Процесс создания продукта», Максим БерёзкинDevDay
 
«Вывод продукта на новых территориях», Елизавета Алексеенко
«Вывод продукта на новых территориях», Елизавета Алексеенко«Вывод продукта на новых территориях», Елизавета Алексеенко
«Вывод продукта на новых территориях», Елизавета АлексеенкоDevDay
 
Манипулятор на Ti Stellaris Launchpad, Лёша Романенко
Манипулятор на Ti Stellaris Launchpad, Лёша РоманенкоМанипулятор на Ti Stellaris Launchpad, Лёша Романенко
Манипулятор на Ti Stellaris Launchpad, Лёша РоманенкоDevDay
 
Лабиринт на Arduino, Вадим Ипполитов
Лабиринт на Arduino, Вадим ИпполитовЛабиринт на Arduino, Вадим Ипполитов
Лабиринт на Arduino, Вадим ИпполитовDevDay
 
«Хоба-хоба и в продакшн», Женя Пономарёв
«Хоба-хоба и в продакшн», Женя Пономарёв«Хоба-хоба и в продакшн», Женя Пономарёв
«Хоба-хоба и в продакшн», Женя ПономарёвDevDay
 
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев «Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев DevDay
 
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...«Роль исследований в формировании продуктового видения компании», Лиза Алексе...
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...DevDay
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел СташевскийDevDay
 
«Открытая веб картография», Илья Таратухин
«Открытая веб картография», Илья Таратухин«Открытая веб картография», Илья Таратухин
«Открытая веб картография», Илья ТаратухинDevDay
 
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
«Изоморфные js приложения с использованием catberry.js», Денис РечкуновDevDay
 
Матвей Мальков «Ещё один поиск контактов на Android»
Матвей Мальков «Ещё один поиск контактов на Android»Матвей Мальков «Ещё один поиск контактов на Android»
Матвей Мальков «Ещё один поиск контактов на Android»DevDay
 

Mais de DevDay (20)

«Bdd и реактивщина в 2ГИС», Евгений Тютюев
«Bdd и реактивщина в 2ГИС», Евгений Тютюев«Bdd и реактивщина в 2ГИС», Евгений Тютюев
«Bdd и реактивщина в 2ГИС», Евгений Тютюев
 
«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин
«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин
«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин
 
«Я спросил у сервера...», Илья Пастушков
«Я спросил у сервера...», Илья Пастушков«Я спросил у сервера...», Илья Пастушков
«Я спросил у сервера...», Илья Пастушков
 
Фреймворк Slot, Good Parts, Александр Бирюков
Фреймворк Slot, Good Parts, Александр БирюковФреймворк Slot, Good Parts, Александр Бирюков
Фреймворк Slot, Good Parts, Александр Бирюков
 
Рендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей СолодовниковРендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей Солодовников
 
Devops-практики в разработке решений для бизнеса, Максим Пашук
Devops-практики в разработке решений для бизнеса, Максим ПашукDevops-практики в разработке решений для бизнеса, Максим Пашук
Devops-практики в разработке решений для бизнеса, Максим Пашук
 
Inversion of Control в деталях, Дмитрий Кожевников
Inversion of Control в деталях, Дмитрий КожевниковInversion of Control в деталях, Дмитрий Кожевников
Inversion of Control в деталях, Дмитрий Кожевников
 
«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин
«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин
«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин
 
«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных«Велогосипед», Данил Ильиных
«Велогосипед», Данил Ильиных
 
«Процесс создания продукта», Максим Берёзкин
«Процесс создания продукта», Максим Берёзкин«Процесс создания продукта», Максим Берёзкин
«Процесс создания продукта», Максим Берёзкин
 
«Вывод продукта на новых территориях», Елизавета Алексеенко
«Вывод продукта на новых территориях», Елизавета Алексеенко«Вывод продукта на новых территориях», Елизавета Алексеенко
«Вывод продукта на новых территориях», Елизавета Алексеенко
 
Манипулятор на Ti Stellaris Launchpad, Лёша Романенко
Манипулятор на Ti Stellaris Launchpad, Лёша РоманенкоМанипулятор на Ti Stellaris Launchpad, Лёша Романенко
Манипулятор на Ti Stellaris Launchpad, Лёша Романенко
 
Лабиринт на Arduino, Вадим Ипполитов
Лабиринт на Arduino, Вадим ИпполитовЛабиринт на Arduino, Вадим Ипполитов
Лабиринт на Arduino, Вадим Ипполитов
 
«Хоба-хоба и в продакшн», Женя Пономарёв
«Хоба-хоба и в продакшн», Женя Пономарёв«Хоба-хоба и в продакшн», Женя Пономарёв
«Хоба-хоба и в продакшн», Женя Пономарёв
 
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев «Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев
 
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...«Роль исследований в формировании продуктового видения компании», Лиза Алексе...
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский
 
«Открытая веб картография», Илья Таратухин
«Открытая веб картография», Илья Таратухин«Открытая веб картография», Илья Таратухин
«Открытая веб картография», Илья Таратухин
 
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
 
Матвей Мальков «Ещё один поиск контактов на Android»
Матвей Мальков «Ещё один поиск контактов на Android»Матвей Мальков «Ещё один поиск контактов на Android»
Матвей Мальков «Ещё один поиск контактов на Android»
 

Алексей Романчук «Реактивное программирование»