SlideShare a Scribd company logo
1 of 18
Download to read offline
Григорий Петров
TypeScript
Кому нужна строгая типизация?
Что сейчас будет?
Рассказывает Григорий Петров
Специализация Руководство разработкой
Чем занимается Частный консультант
Опыт Более 15 лет
Время выступления 15 минут
Вопросы В конце выступления, 5 минут
2
Кошелек Миллера
3
Картина пишется мазками
4
Проблема сложности
- Набрали технического долга
- Не угадали с архитектурой
- Не нашли время на рефакторинг
- ...
5
Статическая типизация
Защита на этапе отдельных мазков.
6
Статическая типизация
Защита на этапе отдельных мазков.
Пока мы держим в голове, как оно работает.
7
Например
Users.prototype.isUsersActive = function() {
return this._isActive && this._usersCount > 0;
}
Core.prototype.isBusy = function() {
var conditions = [
…
{flag: Users.isUsersActive(), info: "active users"},
];
return _.any(conditions, {flag: true});
}
8
Например
Users.prototype.isUsersActive = function() {
+ return this._isActive && this._usersCount > 0;
- return _.find(this._users, (user) => { return user.isActive(); });
}
Core.prototype.isBusy = function() {
var conditions = [
…
{flag: Users.isUsersActive(), info: "active users"},
];
return _.any(conditions, {flag: true});
}
9
Например
Users.prototype.isUsersActive = function() {
return _.find(this._users, (user) => { return user.isActive(); });
}
Core.prototype.isBusy = function() {
var conditions = [
…
{flag: Users.isUsersActive(), info: "active users"},
];
return _.any(conditions, {flag: true});
}
10
Например
Users.prototype.isUsersActive = function(): boolean {
return _.find(this._users, (user) => { return user.isActive(); });
}
Core.prototype.isBusy = function() {
var conditions = [
…
{flag: Users.isUsersActive(), info: "active users"},
];
return _.any(conditions, {flag: true});
}
11
Как это ловит TypeScript
12
Все имеет свою цену
- Обучение разработчиков
- Избыточная защита - больше кода
- Замедляет начальную разработку
13
Опциональная типизация
Лучшее из двух миров: накладываем защиту
только там, где она нужна.
14
Опциональная типизация
- Быстрая фаза разработки: защита только
в уязвимых местах
- Стабильный модуль - больше защиты
15
Что защищать в первую очередь?
- сигнатуры публичных методов
- .d.ts для библиотек
16
Вывод
Замечательный инструмент, если без
фанатизма
17
Это все на сегодня
Теперь можно задавать вопросы.
Рассказывал и показывал Григорий Петров
grigory.v.p@gmail.com
http://facebook.com/grigoryvp
18

More Related Content

What's hot

Андрей Рохилько – J-meter внутри и снаружи Яндекс.Танка
Андрей Рохилько – J-meter внутри и снаружи Яндекс.ТанкаАндрей Рохилько – J-meter внутри и снаружи Яндекс.Танка
Андрей Рохилько – J-meter внутри и снаружи Яндекс.ТанкаYandex
 
Фреймворк для регрессионного тестирования на основе WebDriver
Фреймворк для регрессионного тестирования на основе WebDriverФреймворк для регрессионного тестирования на основе WebDriver
Фреймворк для регрессионного тестирования на основе WebDriverautomated-testing.info
 
Илья Климов "О драконах ни слова"
Илья Климов "О драконах ни слова"Илья Климов "О драконах ни слова"
Илья Климов "О драконах ни слова"Fwdays
 
BDD. Gherkin+Ruby или автотесты для гуманитариев
BDD. Gherkin+Ruby или автотесты для гуманитариевBDD. Gherkin+Ruby или автотесты для гуманитариев
BDD. Gherkin+Ruby или автотесты для гуманитариевSQALab
 
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)Dmytro Zharii
 
“Обезьянье тестирование” в мобильных проектах
“Обезьянье тестирование” в мобильных проектах“Обезьянье тестирование” в мобильных проектах
“Обезьянье тестирование” в мобильных проектахautomated-testing.info
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныRoman Dvornov
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромKirill Kovalchuk
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?PyNSK
 
Проблемы автоматизации крупных проектов: TestComplete
Проблемы автоматизации крупных проектов: TestCompleteПроблемы автоматизации крупных проектов: TestComplete
Проблемы автоматизации крупных проектов: TestCompleteautomated-testing.info
 
Modules and assembling of JavaScript (in russian)
Modules and assembling of JavaScript (in russian)Modules and assembling of JavaScript (in russian)
Modules and assembling of JavaScript (in russian)Mikhail Davydov
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаAleksandr Makhomet
 

What's hot (13)

Андрей Рохилько – J-meter внутри и снаружи Яндекс.Танка
Андрей Рохилько – J-meter внутри и снаружи Яндекс.ТанкаАндрей Рохилько – J-meter внутри и снаружи Яндекс.Танка
Андрей Рохилько – J-meter внутри и снаружи Яндекс.Танка
 
Фреймворк для регрессионного тестирования на основе WebDriver
Фреймворк для регрессионного тестирования на основе WebDriverФреймворк для регрессионного тестирования на основе WebDriver
Фреймворк для регрессионного тестирования на основе WebDriver
 
Илья Климов "О драконах ни слова"
Илья Климов "О драконах ни слова"Илья Климов "О драконах ни слова"
Илья Климов "О драконах ни слова"
 
BDD. Gherkin+Ruby или автотесты для гуманитариев
BDD. Gherkin+Ruby или автотесты для гуманитариевBDD. Gherkin+Ruby или автотесты для гуманитариев
BDD. Gherkin+Ruby или автотесты для гуманитариев
 
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
 
Ruby exceptions
Ruby exceptionsRuby exceptions
Ruby exceptions
 
“Обезьянье тестирование” в мобильных проектах
“Обезьянье тестирование” в мобильных проектах“Обезьянье тестирование” в мобильных проектах
“Обезьянье тестирование” в мобильных проектах
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важны
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодером
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?
 
Проблемы автоматизации крупных проектов: TestComplete
Проблемы автоматизации крупных проектов: TestCompleteПроблемы автоматизации крупных проектов: TestComplete
Проблемы автоматизации крупных проектов: TestComplete
 
Modules and assembling of JavaScript (in russian)
Modules and assembling of JavaScript (in russian)Modules and assembling of JavaScript (in russian)
Modules and assembling of JavaScript (in russian)
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кода
 

Viewers also liked

TypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersTypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersRutenis Turcinas
 
TypeScript: Angular's Secret Weapon
TypeScript: Angular's Secret WeaponTypeScript: Angular's Secret Weapon
TypeScript: Angular's Secret WeaponLaurent Duveau
 
002. Introducere in type script
002. Introducere in type script002. Introducere in type script
002. Introducere in type scriptDmitrii Stoian
 
Introducing type script
Introducing type scriptIntroducing type script
Introducing type scriptRemo Jansen
 
Typescript + Graphql = <3
Typescript + Graphql = <3Typescript + Graphql = <3
Typescript + Graphql = <3felixbillon
 
TypeScript Seminar
TypeScript SeminarTypeScript Seminar
TypeScript SeminarHaim Michael
 
Angular 2 - Typescript
Angular 2  - TypescriptAngular 2  - Typescript
Angular 2 - TypescriptNathan Krasney
 
Typescript tips & tricks
Typescript tips & tricksTypescript tips & tricks
Typescript tips & tricksOri Calvo
 
Power Leveling your TypeScript
Power Leveling your TypeScriptPower Leveling your TypeScript
Power Leveling your TypeScriptOffirmo
 
TypeScript: особенности разработки / Александр Майоров (Tutu.ru)
TypeScript: особенности разработки / Александр Майоров (Tutu.ru)TypeScript: особенности разработки / Александр Майоров (Tutu.ru)
TypeScript: особенности разработки / Александр Майоров (Tutu.ru)Ontico
 
TypeScript: Un lenguaje aburrido para programadores torpes y tristes
TypeScript: Un lenguaje aburrido para programadores torpes y tristesTypeScript: Un lenguaje aburrido para programadores torpes y tristes
TypeScript: Un lenguaje aburrido para programadores torpes y tristesMicael Gallego
 
Typescript Fundamentals
Typescript FundamentalsTypescript Fundamentals
Typescript FundamentalsSunny Sharma
 
TypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painTypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painSander Mak (@Sander_Mak)
 

Viewers also liked (20)

TypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersTypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack Developers
 
Typescript
TypescriptTypescript
Typescript
 
TypeScript: Angular's Secret Weapon
TypeScript: Angular's Secret WeaponTypeScript: Angular's Secret Weapon
TypeScript: Angular's Secret Weapon
 
TypeScript Overview
TypeScript OverviewTypeScript Overview
TypeScript Overview
 
TypeScript
TypeScriptTypeScript
TypeScript
 
002. Introducere in type script
002. Introducere in type script002. Introducere in type script
002. Introducere in type script
 
Introducing type script
Introducing type scriptIntroducing type script
Introducing type script
 
Typescript + Graphql = <3
Typescript + Graphql = <3Typescript + Graphql = <3
Typescript + Graphql = <3
 
TypeScript Seminar
TypeScript SeminarTypeScript Seminar
TypeScript Seminar
 
Angular 2 - Typescript
Angular 2  - TypescriptAngular 2  - Typescript
Angular 2 - Typescript
 
Typescript tips & tricks
Typescript tips & tricksTypescript tips & tricks
Typescript tips & tricks
 
Power Leveling your TypeScript
Power Leveling your TypeScriptPower Leveling your TypeScript
Power Leveling your TypeScript
 
TypeScript: особенности разработки / Александр Майоров (Tutu.ru)
TypeScript: особенности разработки / Александр Майоров (Tutu.ru)TypeScript: особенности разработки / Александр Майоров (Tutu.ru)
TypeScript: особенности разработки / Александр Майоров (Tutu.ru)
 
TypeScript
TypeScriptTypeScript
TypeScript
 
TypeScript: Un lenguaje aburrido para programadores torpes y tristes
TypeScript: Un lenguaje aburrido para programadores torpes y tristesTypeScript: Un lenguaje aburrido para programadores torpes y tristes
TypeScript: Un lenguaje aburrido para programadores torpes y tristes
 
Typescript Fundamentals
Typescript FundamentalsTypescript Fundamentals
Typescript Fundamentals
 
TypeScript - An Introduction
TypeScript - An IntroductionTypeScript - An Introduction
TypeScript - An Introduction
 
Getting started with typescript
Getting started with typescriptGetting started with typescript
Getting started with typescript
 
TypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painTypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the pain
 
Typescript ppt
Typescript pptTypescript ppt
Typescript ppt
 

Similar to «Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21

Kicking Off A Scrum Startup
Kicking Off A Scrum StartupKicking Off A Scrum Startup
Kicking Off A Scrum StartupAgile Base Camp
 
Methods for building dialog agents and the technologies we used
Methods for building dialog agents and the technologies we used Methods for building dialog agents and the technologies we used
Methods for building dialog agents and the technologies we used Grid Dynamics
 
Kак продать Scrum команде
Kак продать Scrum команде Kак продать Scrum команде
Kак продать Scrum команде Mykola Mytko
 
Agile\scrum: все что необходимо знать
Agile\scrum: все что необходимо знатьAgile\scrum: все что необходимо знать
Agile\scrum: все что необходимо знатьYuri Navruzov
 
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серыйVladislav Morgun
 
Практика внедрения Scrum
Практика внедрения ScrumПрактика внедрения Scrum
Практика внедрения ScrumAndrey Bibichev
 
2015 Secon. Как сделать сервис не для программистов
2015 Secon. Как сделать сервис не для программистов2015 Secon. Как сделать сервис не для программистов
2015 Secon. Как сделать сервис не для программистовOlga Samarina
 
Как сделать сервис не для программистов, или О роли слов в проекте
Как сделать сервис не для программистов, или О роли слов в проектеКак сделать сервис не для программистов, или О роли слов в проекте
Как сделать сервис не для программистов, или О роли слов в проектеСобака Павлова
 
IDM - это непросто!
IDM - это непросто!IDM - это непросто!
IDM - это непросто!Sergey Soldatov
 
Использование игровых элементов и методов в процессе тестирования
Использование игровых элементов и методов в процессе тестированияИспользование игровых элементов и методов в процессе тестирования
Использование игровых элементов и методов в процессе тестированияSQALab
 
Ladutko - Gamification in Quality Assurance
Ladutko - Gamification in Quality AssuranceLadutko - Gamification in Quality Assurance
Ladutko - Gamification in Quality AssuranceAndrey Ladutko
 
hse{sun} Как НЕ надо работать с hardware проектами или как частный бизнес-инк...
hse{sun} Как НЕ надо работать с hardware проектами или как частный бизнес-инк...hse{sun} Как НЕ надо работать с hardware проектами или как частный бизнес-инк...
hse{sun} Как НЕ надо работать с hardware проектами или как частный бизнес-инк...Business incubator HSE
 
Agile transformation_keynote
Agile transformation_keynoteAgile transformation_keynote
Agile transformation_keynoteProvectus
 
Дизайн мобильных приложений: обо всем понемножку
Дизайн мобильных приложений: обо всем понемножкуДизайн мобильных приложений: обо всем понемножку
Дизайн мобильных приложений: обо всем понемножкуAndrasz Husti
 
Вебинар: Как научить команду работать по Скраму?
Вебинар: Как научить команду работать по Скраму?Вебинар: Как научить команду работать по Скраму?
Вебинар: Как научить команду работать по Скраму?LuxoftAgilePractice
 
DaKiRy_PMWeekend2016_Микола Митько "Як «продати» Scrum команді?"
DaKiRy_PMWeekend2016_Микола Митько "Як «продати» Scrum команді?"DaKiRy_PMWeekend2016_Микола Митько "Як «продати» Scrum команді?"
DaKiRy_PMWeekend2016_Микола Митько "Як «продати» Scrum команді?"Dakiry
 

Similar to «Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21 (20)

Kicking Off A Scrum Startup
Kicking Off A Scrum StartupKicking Off A Scrum Startup
Kicking Off A Scrum Startup
 
Methods for building dialog agents and the technologies we used
Methods for building dialog agents and the technologies we used Methods for building dialog agents and the technologies we used
Methods for building dialog agents and the technologies we used
 
Kак продать Scrum команде
Kак продать Scrum команде Kак продать Scrum команде
Kак продать Scrum команде
 
Agile\scrum: все что необходимо знать
Agile\scrum: все что необходимо знатьAgile\scrum: все что необходимо знать
Agile\scrum: все что необходимо знать
 
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый
 
Практика внедрения Scrum
Практика внедрения ScrumПрактика внедрения Scrum
Практика внедрения Scrum
 
2015 Secon. Как сделать сервис не для программистов
2015 Secon. Как сделать сервис не для программистов2015 Secon. Как сделать сервис не для программистов
2015 Secon. Как сделать сервис не для программистов
 
Как сделать сервис не для программистов, или О роли слов в проекте
Как сделать сервис не для программистов, или О роли слов в проектеКак сделать сервис не для программистов, или О роли слов в проекте
Как сделать сервис не для программистов, или О роли слов в проекте
 
IDM - это непросто!
IDM - это непросто!IDM - это непросто!
IDM - это непросто!
 
Deadline management
Deadline managementDeadline management
Deadline management
 
Deadline management
Deadline managementDeadline management
Deadline management
 
Использование игровых элементов и методов в процессе тестирования
Использование игровых элементов и методов в процессе тестированияИспользование игровых элементов и методов в процессе тестирования
Использование игровых элементов и методов в процессе тестирования
 
Ladutko - Gamification in Quality Assurance
Ladutko - Gamification in Quality AssuranceLadutko - Gamification in Quality Assurance
Ladutko - Gamification in Quality Assurance
 
hse{sun} Как НЕ надо работать с hardware проектами или как частный бизнес-инк...
hse{sun} Как НЕ надо работать с hardware проектами или как частный бизнес-инк...hse{sun} Как НЕ надо работать с hardware проектами или как частный бизнес-инк...
hse{sun} Как НЕ надо работать с hardware проектами или как частный бизнес-инк...
 
Agile transformation_keynote
Agile transformation_keynoteAgile transformation_keynote
Agile transformation_keynote
 
Дизайн мобильных приложений: обо всем понемножку
Дизайн мобильных приложений: обо всем понемножкуДизайн мобильных приложений: обо всем понемножку
Дизайн мобильных приложений: обо всем понемножку
 
Работа с Usability
Работа с UsabilityРабота с Usability
Работа с Usability
 
Вебинар: Как научить команду работать по Скраму?
Вебинар: Как научить команду работать по Скраму?Вебинар: Как научить команду работать по Скраму?
Вебинар: Как научить команду работать по Скраму?
 
Вебинар: Как научить команду работать по Скраму?
Вебинар: Как научить команду работать по Скраму?Вебинар: Как научить команду работать по Скраму?
Вебинар: Как научить команду работать по Скраму?
 
DaKiRy_PMWeekend2016_Микола Митько "Як «продати» Scrum команді?"
DaKiRy_PMWeekend2016_Микола Митько "Як «продати» Scrum команді?"DaKiRy_PMWeekend2016_Микола Митько "Як «продати» Scrum команді?"
DaKiRy_PMWeekend2016_Микола Митько "Як «продати» Scrum команді?"
 

More from MoscowJS

Александр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in actionАлександр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in actionMoscowJS
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIMoscowJS
 
Favicon на стероидах
Favicon на стероидахFavicon на стероидах
Favicon на стероидахMoscowJS
 
E2E-тестирование мобильных приложений
E2E-тестирование мобильных приложенийE2E-тестирование мобильных приложений
E2E-тестирование мобильных приложенийMoscowJS
 
Reliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkeyReliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkeyMoscowJS
 
Basis.js - Production Ready SPA Framework
Basis.js - Production Ready SPA FrameworkBasis.js - Production Ready SPA Framework
Basis.js - Production Ready SPA FrameworkMoscowJS
 
Контекст в React, Николай Надоричев, MoscowJS 31
Контекст в React, Николай Надоричев, MoscowJS 31Контекст в React, Николай Надоричев, MoscowJS 31
Контекст в React, Николай Надоричев, MoscowJS 31MoscowJS
 
Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31MoscowJS
 
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31MoscowJS
 
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31MoscowJS
 
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33MoscowJS
 
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33MoscowJS
 
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33MoscowJS
 
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...MoscowJS
 
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter..."Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...MoscowJS
 
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29MoscowJS
 
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29MoscowJS
 
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29MoscowJS
 
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28MoscowJS
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27MoscowJS
 

More from MoscowJS (20)

Александр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in actionАлександр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in action
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
 
Favicon на стероидах
Favicon на стероидахFavicon на стероидах
Favicon на стероидах
 
E2E-тестирование мобильных приложений
E2E-тестирование мобильных приложенийE2E-тестирование мобильных приложений
E2E-тестирование мобильных приложений
 
Reliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkeyReliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkey
 
Basis.js - Production Ready SPA Framework
Basis.js - Production Ready SPA FrameworkBasis.js - Production Ready SPA Framework
Basis.js - Production Ready SPA Framework
 
Контекст в React, Николай Надоричев, MoscowJS 31
Контекст в React, Николай Надоричев, MoscowJS 31Контекст в React, Николай Надоричев, MoscowJS 31
Контекст в React, Николай Надоричев, MoscowJS 31
 
Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31
 
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
 
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
 
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
 
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
 
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
 
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
 
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter..."Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
 
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
 
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
 
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
 
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27
 

«Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21