SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Осознанность
рефакторинга
Евгений Кривошеев,
Цели доклада
•  Участники смогут принимать
осознанные инженерные решения
•  Участники смогут обеспечить
высокое качество дизайна
•  Участники решат как минимум
одну нерешенную практическую
проблему
Сценарий
Понятие качества
Scope, Defects
Time Resources
Quality
Сценарий
Обоснование через качество
Не уверен, что делаю в коде
так, потому что надо…
…или потому что так
написано в книжке
Кейсы рефакторингов
// extract method
Кейсы рефакторингов
// move method
Кейсы рефакторингов
// extract class
Кейсы рефакторингов
// creator pattern → factory pattern
Кейсы участников
•  Напишите на листочке
последнюю сложную или
нерешенную проблему
•  Последний holy war
•  Проблема любая, но
желательно в контексте
дизайна / рефакторинга
•  В конце Вы решите её для себя
Сценарий
Задача рефакторинга
Привести дизайн
к желаемым характеристикам
Какие характеристики
желаемые?*
*→быть фабрике или
создателю?
Сценарий
Место QA в требованиях
Важность простоты
Простота vs Понятность*
Влияние D.M. на QA
Дизайн должен
реализовать
требования
Рефакторинги и QA
Рефакторинг Гибкость Простота Понимаемость Тестабельность
extract method
extract class
move method
introduce factory
↑ или ↓ или ?
Меняя дизайн, меняем и QA
Сценарий
Корреляции требований
Корреляции требований
Корреляции требований
Требования зачастую
конфликтуют.
Дизайн – это компромисс.*
*За все приходится платить
Конфликты требований
интеллект
готовка
уборкаTCO
специальные
навыки
Ирка Петрова
Саша Грей
Design is a tradeoff
Factory
Pattern
Cache
Pattern
Design is a tradeoff
Нет «хорошего» и «плохого»
дизайна.
Есть подходящий и
неподходящий.
Так быть или не быть?
Factory
Pattern
Сценарий
Минутка матана
<матан>	
	
<a>Вторая теорема Гёделя о неполноте</a>	
</матан>
Метамодель дизайна
Дизайн через требования
Инкапсулируем
ответственность в
класс
Инлайнируем
ответственность
Гибкость Простота
Функционал
вариабелен
(ось вариативности)
Функционал
стабилен
Полнота требований
Функционал
вариабелен
(ось вариативности)
Функционал
стабилен?	
  
Метамодель требований
BDUF YAGNI
Метамодель требований
BDUF YAGNI?	
  
Метамодель процесса
Сценарий
Обоснованный дизайн
Инкапсулируем
ответственность в
класс
Инлайнируем
ответственность
Гибкость Простота
Функционал
вариабелен
(ось вариативности)
Функционал
стабилен?
BDUF YAGNI
?
?
Обоснованный дизайн
Наличие java interface в кодев итоге обосновываетсябизнес-моделью компании
Сценарий
Отлить в граните
•  Рефакторинг – направленное
обоснованное изменение дизайна.
•  Дизайн – это компромисс. За все
нужно платить.
•  Необходимо выявить конфликт
ожиданий.
•  Для принятия решения следует
подняться выше на уровень
абстракции.
•  Решения локальны и специфичны.
Персональный кейс
Получилось ли решить Ваш
кейс?*
*Если нет, продолжим за
Контакты
Евгений Кривошеев, ekrivosheyev@scrumtrek.ru
«Тяжело в учении – легко в бою»
SkillTrek – это корпоративный центр компетенций,
где специалисты получают востребованные на
рынке знания и навыки в условиях реальных
проектов с выбором удобной им загрузки

Más contenido relacionado

Destacado

Research into linkin park
Research into linkin parkResearch into linkin park
Research into linkin parkzkgkilla1
 
Олеся Кащеева, Ostrovok.ru
Олеся Кащеева, Ostrovok.ruОлеся Кащеева, Ostrovok.ru
Олеся Кащеева, Ostrovok.ruDiana Dymolazova
 
Валентин Симонов, Unity
Валентин Симонов, UnityВалентин Симонов, Unity
Валентин Симонов, UnityDiana Dymolazova
 
Артем Кумпель, ITmozg.ru
Артем Кумпель, ITmozg.ruАртем Кумпель, ITmozg.ru
Артем Кумпель, ITmozg.ruDiana Dymolazova
 
Research into linkin park
Research into linkin parkResearch into linkin park
Research into linkin parkzkgkilla1
 
Константин Кичинский, Microsoft
Константин Кичинский, MicrosoftКонстантин Кичинский, Microsoft
Константин Кичинский, MicrosoftDiana Dymolazova
 
Алена Соснина, ENAZA
Алена Соснина, ENAZAАлена Соснина, ENAZA
Алена Соснина, ENAZADiana Dymolazova
 
Research into linkin park
Research into linkin parkResearch into linkin park
Research into linkin parkzkgkilla1
 
kajian dalam penganjuran sukan bertaraf antarabangsa
kajian dalam penganjuran sukan bertaraf antarabangsakajian dalam penganjuran sukan bertaraf antarabangsa
kajian dalam penganjuran sukan bertaraf antarabangsaNamaKu Ica
 
Дмитрий Сошников, Microsoft
Дмитрий Сошников, MicrosoftДмитрий Сошников, Microsoft
Дмитрий Сошников, MicrosoftDiana Dymolazova
 
Современные технологии в R&D проектах
Современные технологии в R&D проектахСовременные технологии в R&D проектах
Современные технологии в R&D проектахDiana Dymolazova
 
Рабочая коммуникация. Как общаться с коллегами? ч.2
Рабочая коммуникация. Как общаться с коллегами? ч.2Рабочая коммуникация. Как общаться с коллегами? ч.2
Рабочая коммуникация. Как общаться с коллегами? ч.2Diana Dymolazova
 
Андрей Игумнов, PayOnline
Андрей Игумнов, PayOnlineАндрей Игумнов, PayOnline
Андрей Игумнов, PayOnlineDiana Dymolazova
 
Стартап внутри корпорации или как дожить до второго релиза
Стартап внутри корпорации или как дожить до второго релизаСтартап внутри корпорации или как дожить до второго релиза
Стартап внутри корпорации или как дожить до второго релизаDiana Dymolazova
 

Destacado (16)

Digipak
DigipakDigipak
Digipak
 
Research into linkin park
Research into linkin parkResearch into linkin park
Research into linkin park
 
Олеся Кащеева, Ostrovok.ru
Олеся Кащеева, Ostrovok.ruОлеся Кащеева, Ostrovok.ru
Олеся Кащеева, Ostrovok.ru
 
Валентин Симонов, Unity
Валентин Симонов, UnityВалентин Симонов, Unity
Валентин Симонов, Unity
 
Артем Кумпель, ITmozg.ru
Артем Кумпель, ITmozg.ruАртем Кумпель, ITmozg.ru
Артем Кумпель, ITmozg.ru
 
Research into linkin park
Research into linkin parkResearch into linkin park
Research into linkin park
 
Константин Кичинский, Microsoft
Константин Кичинский, MicrosoftКонстантин Кичинский, Microsoft
Константин Кичинский, Microsoft
 
Алена Соснина, ENAZA
Алена Соснина, ENAZAАлена Соснина, ENAZA
Алена Соснина, ENAZA
 
Male gaze
Male gazeMale gaze
Male gaze
 
Research into linkin park
Research into linkin parkResearch into linkin park
Research into linkin park
 
kajian dalam penganjuran sukan bertaraf antarabangsa
kajian dalam penganjuran sukan bertaraf antarabangsakajian dalam penganjuran sukan bertaraf antarabangsa
kajian dalam penganjuran sukan bertaraf antarabangsa
 
Дмитрий Сошников, Microsoft
Дмитрий Сошников, MicrosoftДмитрий Сошников, Microsoft
Дмитрий Сошников, Microsoft
 
Современные технологии в R&D проектах
Современные технологии в R&D проектахСовременные технологии в R&D проектах
Современные технологии в R&D проектах
 
Рабочая коммуникация. Как общаться с коллегами? ч.2
Рабочая коммуникация. Как общаться с коллегами? ч.2Рабочая коммуникация. Как общаться с коллегами? ч.2
Рабочая коммуникация. Как общаться с коллегами? ч.2
 
Андрей Игумнов, PayOnline
Андрей Игумнов, PayOnlineАндрей Игумнов, PayOnline
Андрей Игумнов, PayOnline
 
Стартап внутри корпорации или как дожить до второго релиза
Стартап внутри корпорации или как дожить до второго релизаСтартап внутри корпорации или как дожить до второго релиза
Стартап внутри корпорации или как дожить до второго релиза
 

Similar a Евгений Кривошеев, SkillTrek

Осознанность рефакторинга: Модель принятия инженерных решений
Осознанность рефакторинга: Модель принятия инженерных решенийОсознанность рефакторинга: Модель принятия инженерных решений
Осознанность рефакторинга: Модель принятия инженерных решенийEvgeniy Krivosheev
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахMaxim Tsepkov
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьCUSTIS
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахSQALab
 
Обзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignОбзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignAndrey Bibichev
 
Тестирование без требований
Тестирование без требованийТестирование без требований
Тестирование без требованийArtem Shapoval
 
Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2Denis Umnov
 
Специфика разработки и тестирования статического анализатора
Специфика разработки и тестирования статического анализатораСпецифика разработки и тестирования статического анализатора
Специфика разработки и тестирования статического анализатораAndrey Karpov
 
Опыт внедрения фазы прототипирования
Опыт внедрения фазы прототипированияОпыт внедрения фазы прототипирования
Опыт внедрения фазы прототипированияSQALab
 
Tool View Interface of Integrated Development Environment / Исследование инте...
Tool View Interface of Integrated Development Environment / Исследование инте...Tool View Interface of Integrated Development Environment / Исследование инте...
Tool View Interface of Integrated Development Environment / Исследование инте...Ivan Ruchkin
 
Инженер-прочнист: особенности работы и возможности развития
Инженер-прочнист: особенности работы и возможности развитияИнженер-прочнист: особенности работы и возможности развития
Инженер-прочнист: особенности работы и возможности развитияDystlab
 
Пара слов о рисках
Пара слов о рискахПара слов о рисках
Пара слов о рискахMikhail Payson
 
Технический долг: взгляд и действия со стороны QA / QC&AT
Технический долг: взгляд и действия со стороны QA / QC&ATТехнический долг: взгляд и действия со стороны QA / QC&AT
Технический долг: взгляд и действия со стороны QA / QC&ATCodeFest
 
C++ осень 2012 лекция 7
C++ осень 2012 лекция 7C++ осень 2012 лекция 7
C++ осень 2012 лекция 7Technopark
 
PM Innovation 2013 - Управление непредсказуемым проектом
PM Innovation 2013 - Управление непредсказуемым проектомPM Innovation 2013 - Управление непредсказуемым проектом
PM Innovation 2013 - Управление непредсказуемым проектомITD Systems
 
Развитие IT-организации - от рассвета до заката
Развитие IT-организации - от рассвета до закатаРазвитие IT-организации - от рассвета до заката
Развитие IT-организации - от рассвета до закатаSQALab
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииGleb Rybalko
 
Cup misis final guide (1)
Cup misis final guide (1)Cup misis final guide (1)
Cup misis final guide (1)GPNT
 
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.ScrumTrek
 

Similar a Евгений Кривошеев, SkillTrek (20)

Осознанность рефакторинга: Модель принятия инженерных решений
Осознанность рефакторинга: Модель принятия инженерных решенийОсознанность рефакторинга: Модель принятия инженерных решений
Осознанность рефакторинга: Модель принятия инженерных решений
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
 
Обзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignОбзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven Design
 
Тестирование без требований
Тестирование без требованийТестирование без требований
Тестирование без требований
 
Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2
 
Специфика разработки и тестирования статического анализатора
Специфика разработки и тестирования статического анализатораСпецифика разработки и тестирования статического анализатора
Специфика разработки и тестирования статического анализатора
 
Опыт внедрения фазы прототипирования
Опыт внедрения фазы прототипированияОпыт внедрения фазы прототипирования
Опыт внедрения фазы прототипирования
 
Agile In House
Agile In HouseAgile In House
Agile In House
 
Tool View Interface of Integrated Development Environment / Исследование инте...
Tool View Interface of Integrated Development Environment / Исследование инте...Tool View Interface of Integrated Development Environment / Исследование инте...
Tool View Interface of Integrated Development Environment / Исследование инте...
 
Инженер-прочнист: особенности работы и возможности развития
Инженер-прочнист: особенности работы и возможности развитияИнженер-прочнист: особенности работы и возможности развития
Инженер-прочнист: особенности работы и возможности развития
 
Пара слов о рисках
Пара слов о рискахПара слов о рисках
Пара слов о рисках
 
Технический долг: взгляд и действия со стороны QA / QC&AT
Технический долг: взгляд и действия со стороны QA / QC&ATТехнический долг: взгляд и действия со стороны QA / QC&AT
Технический долг: взгляд и действия со стороны QA / QC&AT
 
C++ осень 2012 лекция 7
C++ осень 2012 лекция 7C++ осень 2012 лекция 7
C++ осень 2012 лекция 7
 
PM Innovation 2013 - Управление непредсказуемым проектом
PM Innovation 2013 - Управление непредсказуемым проектомPM Innovation 2013 - Управление непредсказуемым проектом
PM Innovation 2013 - Управление непредсказуемым проектом
 
Развитие IT-организации - от рассвета до заката
Развитие IT-организации - от рассвета до закатаРазвитие IT-организации - от рассвета до заката
Развитие IT-организации - от рассвета до заката
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 
Cup misis final guide (1)
Cup misis final guide (1)Cup misis final guide (1)
Cup misis final guide (1)
 
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.
 

Más de Diana Dymolazova

Онлайн-взаимодействие: вовлечение, исследование и обучение сотрудников
Онлайн-взаимодействие: вовлечение, исследование и обучение сотрудниковОнлайн-взаимодействие: вовлечение, исследование и обучение сотрудников
Онлайн-взаимодействие: вовлечение, исследование и обучение сотрудниковDiana Dymolazova
 
Рабочая коммуникация. Как общаться с коллегами? ч.1
Рабочая коммуникация. Как общаться с коллегами? ч.1Рабочая коммуникация. Как общаться с коллегами? ч.1
Рабочая коммуникация. Как общаться с коллегами? ч.1Diana Dymolazova
 
В какие игры играют команды
В какие игры играют командыВ какие игры играют команды
В какие игры играют командыDiana Dymolazova
 
Проектирование мобильного приложения
Проектирование мобильного приложенияПроектирование мобильного приложения
Проектирование мобильного приложенияDiana Dymolazova
 
Как быть счастливым в работе
Как быть счастливым в работеКак быть счастливым в работе
Как быть счастливым в работеDiana Dymolazova
 
SCRUM: Как полететь в космос за полтора часа
SCRUM: Как полететь в космос за полтора часаSCRUM: Как полететь в космос за полтора часа
SCRUM: Как полететь в космос за полтора часаDiana Dymolazova
 
Работа в офисе или Фриланс. Что выбрать?
Работа в офисе или Фриланс. Что выбрать?Работа в офисе или Фриланс. Что выбрать?
Работа в офисе или Фриланс. Что выбрать?Diana Dymolazova
 
Работа в игровой индустрии: профессия или призвание?
Работа в игровой индустрии: профессия или призвание?Работа в игровой индустрии: профессия или призвание?
Работа в игровой индустрии: профессия или призвание?Diana Dymolazova
 
Импотека или как перестать быть кому-то должным
Импотека или как перестать быть кому-то должнымИмпотека или как перестать быть кому-то должным
Импотека или как перестать быть кому-то должнымDiana Dymolazova
 
Как заставить работодателя работать на тебя
Как заставить работодателя работать на тебяКак заставить работодателя работать на тебя
Как заставить работодателя работать на тебяDiana Dymolazova
 
Облако рядом. От теории к кейсам.
Облако рядом. От теории к кейсам.Облако рядом. От теории к кейсам.
Облако рядом. От теории к кейсам.Diana Dymolazova
 
Современная защита виртуальных серверов. Секреты мгновенного восстановления п...
Современная защита виртуальных серверов. Секреты мгновенного восстановления п...Современная защита виртуальных серверов. Секреты мгновенного восстановления п...
Современная защита виртуальных серверов. Секреты мгновенного восстановления п...Diana Dymolazova
 
Карьера через руководителя: чего они хотят?
Карьера через руководителя: чего они хотят?Карьера через руководителя: чего они хотят?
Карьера через руководителя: чего они хотят?Diana Dymolazova
 
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...Diana Dymolazova
 
Android и iOS приложение на .NET за 24 часа. Инструкция по применению
Android и iOS приложение на .NET за 24 часа. Инструкция по применениюAndroid и iOS приложение на .NET за 24 часа. Инструкция по применению
Android и iOS приложение на .NET за 24 часа. Инструкция по применениюDiana Dymolazova
 
Enterprise-приложения: Web против Objective C
Enterprise-приложения:  Web против Objective CEnterprise-приложения:  Web против Objective C
Enterprise-приложения: Web против Objective CDiana Dymolazova
 
Java Embedded у вас дома
Java Embedded у вас домаJava Embedded у вас дома
Java Embedded у вас домаDiana Dymolazova
 
Мобильный Free-to-Play: руководство по выживанию
Мобильный Free-to-Play: руководство по выживаниюМобильный Free-to-Play: руководство по выживанию
Мобильный Free-to-Play: руководство по выживаниюDiana Dymolazova
 
Hack-driven development для cable TV или история одного проекта
Hack-driven development для cable TV или история одного проектаHack-driven development для cable TV или история одного проекта
Hack-driven development для cable TV или история одного проектаDiana Dymolazova
 
Ярослав Городецкий, CDNvideo
Ярослав Городецкий, CDNvideoЯрослав Городецкий, CDNvideo
Ярослав Городецкий, CDNvideoDiana Dymolazova
 

Más de Diana Dymolazova (20)

Онлайн-взаимодействие: вовлечение, исследование и обучение сотрудников
Онлайн-взаимодействие: вовлечение, исследование и обучение сотрудниковОнлайн-взаимодействие: вовлечение, исследование и обучение сотрудников
Онлайн-взаимодействие: вовлечение, исследование и обучение сотрудников
 
Рабочая коммуникация. Как общаться с коллегами? ч.1
Рабочая коммуникация. Как общаться с коллегами? ч.1Рабочая коммуникация. Как общаться с коллегами? ч.1
Рабочая коммуникация. Как общаться с коллегами? ч.1
 
В какие игры играют команды
В какие игры играют командыВ какие игры играют команды
В какие игры играют команды
 
Проектирование мобильного приложения
Проектирование мобильного приложенияПроектирование мобильного приложения
Проектирование мобильного приложения
 
Как быть счастливым в работе
Как быть счастливым в работеКак быть счастливым в работе
Как быть счастливым в работе
 
SCRUM: Как полететь в космос за полтора часа
SCRUM: Как полететь в космос за полтора часаSCRUM: Как полететь в космос за полтора часа
SCRUM: Как полететь в космос за полтора часа
 
Работа в офисе или Фриланс. Что выбрать?
Работа в офисе или Фриланс. Что выбрать?Работа в офисе или Фриланс. Что выбрать?
Работа в офисе или Фриланс. Что выбрать?
 
Работа в игровой индустрии: профессия или призвание?
Работа в игровой индустрии: профессия или призвание?Работа в игровой индустрии: профессия или призвание?
Работа в игровой индустрии: профессия или призвание?
 
Импотека или как перестать быть кому-то должным
Импотека или как перестать быть кому-то должнымИмпотека или как перестать быть кому-то должным
Импотека или как перестать быть кому-то должным
 
Как заставить работодателя работать на тебя
Как заставить работодателя работать на тебяКак заставить работодателя работать на тебя
Как заставить работодателя работать на тебя
 
Облако рядом. От теории к кейсам.
Облако рядом. От теории к кейсам.Облако рядом. От теории к кейсам.
Облако рядом. От теории к кейсам.
 
Современная защита виртуальных серверов. Секреты мгновенного восстановления п...
Современная защита виртуальных серверов. Секреты мгновенного восстановления п...Современная защита виртуальных серверов. Секреты мгновенного восстановления п...
Современная защита виртуальных серверов. Секреты мгновенного восстановления п...
 
Карьера через руководителя: чего они хотят?
Карьера через руководителя: чего они хотят?Карьера через руководителя: чего они хотят?
Карьера через руководителя: чего они хотят?
 
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone...
 
Android и iOS приложение на .NET за 24 часа. Инструкция по применению
Android и iOS приложение на .NET за 24 часа. Инструкция по применениюAndroid и iOS приложение на .NET за 24 часа. Инструкция по применению
Android и iOS приложение на .NET за 24 часа. Инструкция по применению
 
Enterprise-приложения: Web против Objective C
Enterprise-приложения:  Web против Objective CEnterprise-приложения:  Web против Objective C
Enterprise-приложения: Web против Objective C
 
Java Embedded у вас дома
Java Embedded у вас домаJava Embedded у вас дома
Java Embedded у вас дома
 
Мобильный Free-to-Play: руководство по выживанию
Мобильный Free-to-Play: руководство по выживаниюМобильный Free-to-Play: руководство по выживанию
Мобильный Free-to-Play: руководство по выживанию
 
Hack-driven development для cable TV или история одного проекта
Hack-driven development для cable TV или история одного проектаHack-driven development для cable TV или история одного проекта
Hack-driven development для cable TV или история одного проекта
 
Ярослав Городецкий, CDNvideo
Ярослав Городецкий, CDNvideoЯрослав Городецкий, CDNvideo
Ярослав Городецкий, CDNvideo
 

Евгений Кривошеев, SkillTrek