Soumettre la recherche
Mettre en ligne
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
•
0 j'aime
•
670 vues
MoscowJS
Suivre
Доклад Ольги "Observable и Computed на пример KnockoutJS" на MoscowJS 29
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 45
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Сергей Константинов — Простая обработка групп геообъектов на карте
Сергей Константинов — Простая обработка групп геообъектов на карте
Yandex
ObjectManager, или как работать с большим количеством объектов на карте, Мари...
ObjectManager, или как работать с большим количеством объектов на карте, Мари...
Ontico
iOS-05_2-UIKit
iOS-05_2-UIKit
Noveo
Александр Сычев "Разделяй и властвуй: CQRS в iOS"
Александр Сычев "Разделяй и властвуй: CQRS в iOS"
IT Event
Кастомная кнопка: взгляд изнутри
Кастомная кнопка: взгляд изнутри
Kirill Averyanov
Кирилл Аверьянов — Кастомная кнопка: взгляд изнутри
Кирилл Аверьянов — Кастомная кнопка: взгляд изнутри
CocoaHeads
#2 "Распространённые ошибки в JavaScript" Денис Речкунов
#2 "Распространённые ошибки в JavaScript" Денис Речкунов
JSib
Алексей Распопов "Будущее асинхронного программирования в ECMAScript"
Алексей Распопов "Будущее асинхронного программирования в ECMAScript"
Fwdays
Recommandé
Сергей Константинов — Простая обработка групп геообъектов на карте
Сергей Константинов — Простая обработка групп геообъектов на карте
Yandex
ObjectManager, или как работать с большим количеством объектов на карте, Мари...
ObjectManager, или как работать с большим количеством объектов на карте, Мари...
Ontico
iOS-05_2-UIKit
iOS-05_2-UIKit
Noveo
Александр Сычев "Разделяй и властвуй: CQRS в iOS"
Александр Сычев "Разделяй и властвуй: CQRS в iOS"
IT Event
Кастомная кнопка: взгляд изнутри
Кастомная кнопка: взгляд изнутри
Kirill Averyanov
Кирилл Аверьянов — Кастомная кнопка: взгляд изнутри
Кирилл Аверьянов — Кастомная кнопка: взгляд изнутри
CocoaHeads
#2 "Распространённые ошибки в JavaScript" Денис Речкунов
#2 "Распространённые ошибки в JavaScript" Денис Речкунов
JSib
Алексей Распопов "Будущее асинхронного программирования в ECMAScript"
Алексей Распопов "Будущее асинхронного программирования в ECMAScript"
Fwdays
Коротко о React.js
Коротко о React.js
Mad Devs
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
solit
Дуров Р. - Cocos2d
Дуров Р. - Cocos2d
Innim
"FRP — делаем жизнь проще", Трдат Мкртчян, MoscowJS 19
"FRP — делаем жизнь проще", Трдат Мкртчян, MoscowJS 19
MoscowJS
ReactiveUI: Rx + MVVM
ReactiveUI: Rx + MVVM
Stas Shusha
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Ontico
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Vadim Martynov
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
MoscowJS
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
MoscowJS
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
MoscowJS
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
MoscowJS
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
MoscowJS
Как мы общаемся с пользователями на 46 языках и понимаем друг друга
Как мы общаемся с пользователями на 46 языках и понимаем друг друга
Badoo Development
Sergii Tsypanov "Performance 1001 Tips"
Sergii Tsypanov "Performance 1001 Tips"
LogeekNightUkraine
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
Igor Khrol
Делаем кроссбраузерные тесты поверх Webdriver
Делаем кроссбраузерные тесты поверх Webdriver
SQALab
Multiprocessor Programming Intro (lecture 3)
Multiprocessor Programming Intro (lecture 3)
Dmitry Tsitelov
Обзор ES2015(ES6)
Обзор ES2015(ES6)
Alex Filatov
Роман Ермолов - Отладка приложений под iOS
Роман Ермолов - Отладка приложений под iOS
Alexander Zimin
Производительность в Django
Производительность в Django
MoscowDjango
Превышаем скоросные лимиты с Angular 2
Превышаем скоросные лимиты с Angular 2
Oleksii Okhrymenko
Максим Хромцов "Yandex MapKit для Android OS в примерах"
Максим Хромцов "Yandex MapKit для Android OS в примерах"
Yandex
Contenu connexe
Tendances
Коротко о React.js
Коротко о React.js
Mad Devs
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
solit
Дуров Р. - Cocos2d
Дуров Р. - Cocos2d
Innim
"FRP — делаем жизнь проще", Трдат Мкртчян, MoscowJS 19
"FRP — делаем жизнь проще", Трдат Мкртчян, MoscowJS 19
MoscowJS
ReactiveUI: Rx + MVVM
ReactiveUI: Rx + MVVM
Stas Shusha
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Ontico
Tendances
(6)
Коротко о React.js
Коротко о React.js
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...
Дуров Р. - Cocos2d
Дуров Р. - Cocos2d
"FRP — делаем жизнь проще", Трдат Мкртчян, MoscowJS 19
"FRP — делаем жизнь проще", Трдат Мкртчян, MoscowJS 19
ReactiveUI: Rx + MVVM
ReactiveUI: Rx + MVVM
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
Денормализованное хранение данных в PostgreSQL 9.2 (Александр Коротков)
En vedette
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Vadim Martynov
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
MoscowJS
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
MoscowJS
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
MoscowJS
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
MoscowJS
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
MoscowJS
Как мы общаемся с пользователями на 46 языках и понимаем друг друга
Как мы общаемся с пользователями на 46 языках и понимаем друг друга
Badoo Development
En vedette
(7)
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
Как мы общаемся с пользователями на 46 языках и понимаем друг друга
Как мы общаемся с пользователями на 46 языках и понимаем друг друга
Similaire à "Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
Sergii Tsypanov "Performance 1001 Tips"
Sergii Tsypanov "Performance 1001 Tips"
LogeekNightUkraine
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
Igor Khrol
Делаем кроссбраузерные тесты поверх Webdriver
Делаем кроссбраузерные тесты поверх Webdriver
SQALab
Multiprocessor Programming Intro (lecture 3)
Multiprocessor Programming Intro (lecture 3)
Dmitry Tsitelov
Обзор ES2015(ES6)
Обзор ES2015(ES6)
Alex Filatov
Роман Ермолов - Отладка приложений под iOS
Роман Ермолов - Отладка приложений под iOS
Alexander Zimin
Производительность в Django
Производительность в Django
MoscowDjango
Превышаем скоросные лимиты с Angular 2
Превышаем скоросные лимиты с Angular 2
Oleksii Okhrymenko
Максим Хромцов "Yandex MapKit для Android OS в примерах"
Максим Хромцов "Yandex MapKit для Android OS в примерах"
Yandex
ES2015+: давно пора!
ES2015+: давно пора!
Vitebsk Miniq
Сложности микробенчмаркинга
Сложности микробенчмаркинга
Andrey Akinshin
ПВТ - осень 2014 - Лекция 7. Многопоточное программирование без блокировок. М...
ПВТ - осень 2014 - Лекция 7. Многопоточное программирование без блокировок. М...
Alexey Paznikov
Как модуль geoQuery упрощает работу с API Яндекс.Карт.
Как модуль geoQuery упрощает работу с API Яндекс.Карт.
Optima-PROMO
Как навести порядок в коде вашего web-приложения, Андрей Чебукин
Как навести порядок в коде вашего web-приложения, Андрей Чебукин
Sigma Software
Владимир Горбенко «Использование блоков в Objective-C»
Владимир Горбенко «Использование блоков в Objective-C»
e-Legion
Григорий Демченко — Асинхронное программирование и сопрограммы
Григорий Демченко — Асинхронное программирование и сопрограммы
Yandex
Распространённые ошибки оценки производительности .NET-приложений
Распространённые ошибки оценки производительности .NET-приложений
Andrey Akinshin
Распространённые ошибки оценки производительности .NET-приложений
Распространённые ошибки оценки производительности .NET-приложений
Mikhail Shcherbakov
Сергей Константинов — Что интересного готовит нам W3C
Сергей Константинов — Что интересного готовит нам W3C
Yandex
Асинхронный JavaScript
Асинхронный JavaScript
Александр Рудевич
Similaire à "Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
(20)
Sergii Tsypanov "Performance 1001 Tips"
Sergii Tsypanov "Performance 1001 Tips"
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
Делаем кроссбраузерные тесты поверх Webdriver
Делаем кроссбраузерные тесты поверх Webdriver
Multiprocessor Programming Intro (lecture 3)
Multiprocessor Programming Intro (lecture 3)
Обзор ES2015(ES6)
Обзор ES2015(ES6)
Роман Ермолов - Отладка приложений под iOS
Роман Ермолов - Отладка приложений под iOS
Производительность в Django
Производительность в Django
Превышаем скоросные лимиты с Angular 2
Превышаем скоросные лимиты с Angular 2
Максим Хромцов "Yandex MapKit для Android OS в примерах"
Максим Хромцов "Yandex MapKit для Android OS в примерах"
ES2015+: давно пора!
ES2015+: давно пора!
Сложности микробенчмаркинга
Сложности микробенчмаркинга
ПВТ - осень 2014 - Лекция 7. Многопоточное программирование без блокировок. М...
ПВТ - осень 2014 - Лекция 7. Многопоточное программирование без блокировок. М...
Как модуль geoQuery упрощает работу с API Яндекс.Карт.
Как модуль geoQuery упрощает работу с API Яндекс.Карт.
Как навести порядок в коде вашего web-приложения, Андрей Чебукин
Как навести порядок в коде вашего web-приложения, Андрей Чебукин
Владимир Горбенко «Использование блоков в Objective-C»
Владимир Горбенко «Использование блоков в Objective-C»
Григорий Демченко — Асинхронное программирование и сопрограммы
Григорий Демченко — Асинхронное программирование и сопрограммы
Распространённые ошибки оценки производительности .NET-приложений
Распространённые ошибки оценки производительности .NET-приложений
Распространённые ошибки оценки производительности .NET-приложений
Распространённые ошибки оценки производительности .NET-приложений
Сергей Константинов — Что интересного готовит нам W3C
Сергей Константинов — Что интересного готовит нам W3C
Асинхронный JavaScript
Асинхронный JavaScript
Plus de MoscowJS
Александр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in action
MoscowJS
Favicon на стероидах
Favicon на стероидах
MoscowJS
E2E-тестирование мобильных приложений
E2E-тестирование мобильных приложений
MoscowJS
Reliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkey
MoscowJS
Basis.js - Production Ready SPA Framework
Basis.js - Production Ready SPA Framework
MoscowJS
Контекст в React, Николай Надоричев, MoscowJS 31
Контекст в React, Николай Надоричев, MoscowJS 31
MoscowJS
Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31
MoscowJS
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
MoscowJS
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
MoscowJS
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
MoscowJS
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
MoscowJS
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
MoscowJS
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
MoscowJS
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27
MoscowJS
"Web Audio Api", Анатолий Найда, MoscowJS 27
"Web Audio Api", Анатолий Найда, MoscowJS 27
MoscowJS
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
MoscowJS
"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25
"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25
MoscowJS
"HTML5 Cache Manifest на практике", Дмитрий Головин, MoscowJS 25
"HTML5 Cache Manifest на практике", Дмитрий Головин, MoscowJS 25
MoscowJS
"Подход к написанию безопасного клиентского кода на примере React", Иван Елки...
"Подход к написанию безопасного клиентского кода на примере React", Иван Елки...
MoscowJS
"Готовим промисы правильно", Андрей Яманов, MoscowJS 24
"Готовим промисы правильно", Андрей Яманов, MoscowJS 24
MoscowJS
Plus de MoscowJS
(20)
Александр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in action
Favicon на стероидах
Favicon на стероидах
E2E-тестирование мобильных приложений
E2E-тестирование мобильных приложений
Reliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkey
Basis.js - Production Ready SPA Framework
Basis.js - Production Ready SPA Framework
Контекст в React, Николай Надоричев, MoscowJS 31
Контекст в React, Николай Надоричев, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Web Audio Api", Анатолий Найда, MoscowJS 27
"Web Audio Api", Анатолий Найда, MoscowJS 27
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25
"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25
"HTML5 Cache Manifest на практике", Дмитрий Головин, MoscowJS 25
"HTML5 Cache Manifest на практике", Дмитрий Головин, MoscowJS 25
"Подход к написанию безопасного клиентского кода на примере React", Иван Елки...
"Подход к написанию безопасного клиентского кода на примере React", Иван Елки...
"Готовим промисы правильно", Андрей Яманов, MoscowJS 24
"Готовим промисы правильно", Андрей Яманов, MoscowJS 24
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
1.
Observable и Computed на
пример KnockoutJS 1
2.
Hello, MoscowJS 29 2
3.
Ну что,начнём?! $(function ()
{ // ... }); 01. 02. 03. 3
4.
А теперь пора? if
(document.readyState === 'complete') { ready(); } else { window.addEventListener('load', ready); } 01. 02. 03. 04. 05. 4
5.
1. Реактивное программирование 2.
Observable и Сomputed 3. Заглянем под капот 4. Другие реализации 5
6.
Реактивное программирование 6
7.
7 bit.ly/what-is-reactive
8.
“I have no
... idea” Erik Meijer 8
9.
// 3 // Hello,
World var a = 1; var b = 2; var sum = a + b; console.log(sum); a = 'Hello, '; b = 'World'; console.log(sum); 01. 02. 03. 04. 05. 06. 07. 9
10.
10
11.
11
12.
Резюмируя • Деклативно описывать
поведение • Автоматически обновлять зависимости 12
13.
Observable и Computed 13
14.
Observable • Поддерживает чтение
и запись • Можно подписаться 14
15.
// Create // Write
value // Read value var myObservable = ko.observable(); myObservable(42); myObservable(); 01. 02. 03. 04. 05. 06. 15
16.
// 42 Подписка на
изменения var myObservable = ko.observable(); myObservable .subscribe(value => console.log(value)); myObservable(42); 01. 02. 03. 16
17.
Computed • Вычисляется из
зависимостей • Поддерживает только чтение • Можно подписаться 17
18.
// Create // Read
value // Subscribe to change var myComputed = ko.computed( () => myObservable() + 1 ); myComputed(); myComputed.subscribe(onChange); 01. 02. 03. 04. 05. 06. 07. 08. 18
19.
a() b() // 3 //
Hello, 2 // Hello, World var a = ko.observable(1); var b = ko.observable(2); var sum = ko.computed(() => + ); console.log(sum()); sum.subscribe(value => console.log(value)); a('Hello, '); b('World'); 01. 02. 03. 04. 05. 06. 07. 19
20.
20
21.
Задача • Выводить список
операций • Обновлять его по таймеру 21
22.
22
23.
key insert update Хранение данных view.operations =
ko.collection({ : data => data.id, : data => new Operation(data), : (item, data) => item.data(data) }); 01. 02. 03. 04. 05. 23
24.
Операция function Operation(data) { var
view = this; view.id = data.id; view.data = ko.observable(data); view.progress = ko.computed(() => { return view.data().progress; }; } 01. 02. 03. 04. 05. 06. 07. 08. 24
25.
Получение данных get('/operations') .then(data =>
view.operations(data)); 01. 02. 25
26.
Ещё • Добавить сортировку 26
27.
27
28.
view.operation() view.sort() Хранение данных view.sort
= ko.observable('id'); view.columns = { id: item => item.id, progress: item => item.progress() } view.sortedOperations = ko.computed(() => { return sort( , ); }); 01. 02. 03. 04. 05. 06. 07. 08. 28
29.
Ещё • Добавить фильтр
по id 29
30.
30
31.
view.sortedOperation() view.filter() Хранение данных view.filter =
ko.observable(''); view.filteredOperations = ko.computed(() => { return filter( , ); }); 01. 02. 03. 04. 05. 06. 07. 31
32.
XHR operations sortedOp filteredOp sort
filter DOM 32
33.
33
34.
Заглянем под капот 34
35.
a() Пример var a =
ko.observable(); var b = ko.computed(() => + 1); 01. 02. 35
36.
Подписка var a =
ko.observable(); a.subscribe(value => console.log(value)); ----> a._subscribers.push({ callback: callback }); 01. 02. 36
37.
Оповещение a(42); ----> a._notifySubscribers(); ----> a._subscribers[0].callback();
// 42 37
38.
Вычислительный контекст • Стек
из контекстов • Регистрация в контексте 38
39.
Чтение и регистрация a(); ---->
ko._context.register(a); 39
40.
Создание контекста var b
= ko.computed(() => a() + 1;); ----> ko._context.create(b); ----> b._evaluate(); ----> ko._context.register(a); ----> a.subscribe(() => b._evaluate();); ----> ko._context.remove(); 40
41.
Создание computed 1. Вызываем
конструктор Computed 2. Computed создаёт контекст 3. Knockout вычисляет Computed 4. Computed подписывается на зависимости 5. Computed удаляет вычислительный контекст 41
42.
Другие реализации 42
43.
Reactive Extentions • Пример
bit.ly/rx-example • Доклад bit.ly/rx-talk 43
44.
Elm • Пример bit.ly/elm-example •
Доклад bit.ly/elm-talk 44
45.
Спасибо за внимание.
Вопросы? • Оля Кобец, Яндекс • Twitter @homyasusina • Пример bit.ly/ko-example • Слайды bit.ly/homyasusina-talk 45
Télécharger maintenant