SlideShare a Scribd company logo
1 of 31
HWdTech, LLC 
Или как 7 студентов и филолог делали сложный проект 
Карты Шухарта
Постановка задачи 
Текущая ситуация, проблемы и задачи по их решению 
02
Сайт бесплатных объявлений 03 
4,5 с – время отклика страницы 
70 тыс. ошибок на 1 млн. страниц 
30 с - время поиска по тексту объявления 
БД более 200 таблиц 
За 5 лет полностью сменилось 3 
команды разработчиков, плохая 
коммуникация между программистами и 
системными администраторами, задачи на 
разработку ставятся хаотично, скорость 
важнее качества.
Что нужно получить 04 
<1 с – время отклика страницы 
< 1 ош. на 10 тыс. страниц 
Полнотекстовый поиск должен стать 
основным 
Сделать редизайн сайта 
Использовать только Microsoft 
технологии 
Команда разработки 7 студентов + 
девушка филолог в качестве аналитика
Человек, который изменил все 
05 
Как сделать проект при 
таких исходных данных? 
Надо исключить влияние 
квалификации отдельного 
программиста на результаты 
проекта 
То есть конечный результат в 
большей степени зависеть не 
от навыков и умений 
конкретных людей, а 
определяться в большей 
степени архитектурными 
решениями и технологиями.
Решения 
База данных, время выполнения запроса, ошибки 
06
Модель акторов 
1973 г. A Universal Modular ACTOR 
Formalism for Artificial Intelligence 
Актор – вычислительная сущность 
• Отправить конечное число 
сообщений другим акторам 
• Создать конечное число акторов 
• Выбрать поведение для приема 
следующего сообщения 
Карл Хьюит 
07
В чем отличие от “обычной” 
модели вычислений 
Модель акторов vs Синхронизация 
08
Асинхронная обработка всех 
запросов 
Библиотека HWdTech.DS 
Реализация модели акторов. Среднее время отклика 
страницы 400-800 мс. 
3 сервера вместо 15. 
09 
Каждый обработчик – job 
– выполняет маленькое 
небольшое действие. 
Job’ы выполняются 
параллельно.
Вся параллельность свелась к вызову 
MessageBus.Send(message); 
10
NoSQL обертка над SQL 
базой: 10 таблиц вместо 200 
Документо-ориентированное хранилище 
Вся работа с данными сводится к ~5 запросам. Среднее 
время выполнения запроса 200 мс! 
{ 
"firstName": "Иван", 
"lastName": "Иванов", 
"address": { 
"streetAddress": "Московское ш., 101, кв.101", 
"city": "Ленинград", 
"postalCode": 101101 
}, 
"phoneNumbers": [ 
"812 123-1234", 
"916 123-4567" 
] 
} 
Вся информации о 
сущности хранится в 
виде одной записи в 
формате json. 
11
NoSQL обертка над SQL 
базой: 10 таблиц вместо 200 
The Search Request 
{ 
“FullTextSearch": “Mazda 3", 
“Ranges": { 
“Price": {“left“: 200000, right: 700000} 
}, 
“Filters”: { 
“Type”: “Продажа” 
}, 
Order: 
[ 
{Field: “PublishDate”, Reverse: true} 
], 
“Count”: 20, 
“Page”: 2 
} 
12 
Все поисковые запросы 
к хранилищу 
документов имеют 
общую стркутуру
NoSQL обертка над SQL 
базой: 10 таблиц вместо 200 
Коллекция документов хранилища 
Имя поля 
Searchable 
Filterable 
Rangeable 
13 
Каждый документ 
должен быть описан 
структурой следующего 
формата
Быстрая конфигурация 
операций 
Карты сообщений и сервер конфигураций 
Можно менять алгоритм обработки действий пользователя 
без программирования или быстро вернуть последнюю 
рабочую версию. 
Каждое действие 
пользователя представляет 
собой последовательность 
вызовов job’ов, которая 
описывается в виде json и 
хранится в конфигурации 
сервера. 
Job1 Job2 … JobN 
14
Ошибки скрыты от 
пользователя 
Контрольные точки 
Если в момент обработки произойдет ошибка, то 
пользователь этого никогда не заметит, а разработчики 
всегда могут повторить данную операцию без участия 
пользователя, когда исправят ошибку. 
Когда сервер получает 
сообщение, то первое, что 
происходит – сообщение 
сохраняется в 
контрольной точке и тут 
же отправляется ответ 
клиенту. 
CP1 Job … CPN 
Ответ на 
входящий 
запрос 
15
Проще приспособиться, чем ждать 
когда исправят все ошибки 
Версионирование сообщений 
Есть задержка между изменением интерфейсов и их 
реализацией сторонними разработчиками. 
Документация неидеальная – проще самим 
приспособиться, чем добиваться полного соотвествия 
Когда сервер получает 
сообщение, то это 
сообщение можно 
модифицировать так , 
чтобы его можно было 
дальше обрабатывать. 
CP1 Job … CPN 
Трансформация сообщения 
на основе адресата и 
версии сообщения 
16
Карты Шухарта 
1923 г. AT&T 
Ламповые усилители сигнала 
Количество аварийных бригад и 
транспорта? 
Применяются в различных сферах 
производства как средство 
постоянного улучшения качества 
выпускаемой продукции 
Уолтер Шухарт 
17
Как обнаруживать ошибки? 
Карты Шухарта 
Все процессы подвержены вариабельности. 
Управляемое явление - используя прошлый опыт 
можно предсказать, каких его вариаций можно 
ожидать в будущем. 
ГОСТ Р 50779.42-99 (ISO 8258-91) 
18 
выявление точек выхода 
процесса из стабильного 
состояния для установления 
причин появившегося 
отклонения и их устранения.
Использовать карты очень 
просто 
Карты средних и размаха 
19 
Множество измерений разбивается на подгруппы. 
Способ формирования подгрупп влияет на результат! 
ГОСТ Р 50779.42-99 (ISO 8258-91) 
Для построения карт 
достаточно простых 
арифметических действий
Карты работают? 
Инструмент больше эмпирический, 
чем математический 
Отношение к картам Шухарта 
неоднозначное 
Применяется на японских 
предприятиях, например, Toyota 
Чтобы применять карты, надо 
сначала добиться “статистической 
стабильности” 
Дональд Уиллер 
20
Как узнать, что изменения дали 
положительный эффект? 
Карта количества сообщений в контрольной 
точке 
Рост числа сообщений говорит о возникновении 
систематической ошибки, резкий спад – о том, что 
ошибка была устранена. 
21
Причина в коде или в 
инфраструктуре? 
Где искать проблему? 
Один из источников проблем – база данных. 
22 
• На старой системе – 1 серьезная авария в неделю! 
• Сис. администраторы не дают полной информации 
• Причина в коде или в инфраструктуре? 
Карта, которая измеряет среднюю скорость запросов к 
базе данных – если время запросов статистически 
стабильно, то проблема не в коде!
Карты Шухарта позволяют удерживать показатель 
1 ошибка на 
10 тыс. операций. 
23
Все ли пользователи 
одинаково полезны? 
24 
Обмен сообщениями между пользователями 
Анализ аномальной активности показал, что появился 
пользователь, который стал активно предлагать другим 
переходить на ресурс-конкурент.
Не все коллеги ведут себя 
корректно 
Аргумент при общении со сторонними 
разработчиками 
Один из клиентов предъявлял претензии, потому что его 
разработчики (компания-аутсорсер) говорили, что 
проблема в нас. 
25
Активность пользователей 
можно создавать 
Грамотный троллинг увеличивает рейтинги 
Постоянные посетители готовы общаться – им нужно 
только немного помочь. Стоит ли эффект вложенных 
средств? 
26
Не все зависит от технологий 
Эффективность рекламы 
Рекламная компания в СМИ имела незначительный 
краткосрочный эффект. 
27
Дело не в количестве 
параметров 
28 
Увеличение количества параметров 
Гипотеза: пользователям рубрики Авто нравятся подробные 
описания объявлений. Может быть, но это не самое 
главное, что привлекает посетителей.
Дело не в количестве 
параметров 
29 
Увеличение количества параметров 
Гипотеза: пользователям рубрики Недвижимость нравятся 
подробные описания объявлений. Может быть, но это не 
самое главное, что привлекает посетителей.
Человек, который изменил все 
Послесловие 
В титрах к фильму говорится, 
что герой Бреда Пита так до 
сих пор и не смог выиграть 
чемпионский титул со своей 
командой. 
У каждой технологии есть 
свой предел! 
30
Тюменцев 
Евгений 
Александрович 
Пишите: eytumentcev@hwdtech.ru 
Звоните: +7 913 150 22 04 
http://hwdtech.ru

More Related Content

Similar to Как 7 студентов и филолог делали сложный проект

Разработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоРазработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоDotNetConf
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?etyumentcev
 
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...CodeFest
 
О чем стоит подумать, приступая к разработке высоконагруженных систем
О чем стоит подумать, приступая к разработке высоконагруженных системО чем стоит подумать, приступая к разработке высоконагруженных систем
О чем стоит подумать, приступая к разработке высоконагруженных системArtem Volftrub
 
Нексмед
НексмедНексмед
Нексмедit-park
 
Мониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application InsightsМониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application InsightsMicrosoft
 
Отказоустойчивые игры с облаком – как делают игры на много пользователей
Отказоустойчивые игры с облаком – как делают игры на много пользователейОтказоустойчивые игры с облаком – как делают игры на много пользователей
Отказоустойчивые игры с облаком – как делают игры на много пользователейMicrosoft
 
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...rit2011
 
2 голов код безопасности
2   голов код безопасности2   голов код безопасности
2 голов код безопасностиjournalrubezh
 
Платформа SmartActors
Платформа SmartActorsПлатформа SmartActors
Платформа SmartActorsetyumentcev
 
Алексей Аникутин
Алексей АникутинАлексей Аникутин
Алексей АникутинDevGAMM Conference
 
Моделирование для NoSQL БД
Моделирование для NoSQL БДМоделирование для NoSQL БД
Моделирование для NoSQL БДAndrew Sovtsov
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Vadim Martynov
 
Комплексная автоматизация производства
Комплексная автоматизация производстваКомплексная автоматизация производства
Комплексная автоматизация производстваOstec-SMT
 
Мониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application InsightsМониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application InsightsGoSharp
 
Потоковая обработка данных и Микросервисная архитектура
Потоковая обработка данных и Микросервисная архитектураПотоковая обработка данных и Микросервисная архитектура
Потоковая обработка данных и Микросервисная архитектураVyacheslav Benedichuk
 
Консалтинг высоконагруженных web систем
Консалтинг высоконагруженных web системКонсалтинг высоконагруженных web систем
Консалтинг высоконагруженных web системMedia Gorod
 
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NETЭволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NETDev2Dev
 
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESB
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESBАрхитектура масштабируемых приложений. Микросервисы, CQRS, ESB
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESBPavel Treshnikov
 

Similar to Как 7 студентов и филолог делали сложный проект (20)

Разработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоРазработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешево
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
 
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
 
О чем стоит подумать, приступая к разработке высоконагруженных систем
О чем стоит подумать, приступая к разработке высоконагруженных системО чем стоит подумать, приступая к разработке высоконагруженных систем
О чем стоит подумать, приступая к разработке высоконагруженных систем
 
Нексмед
НексмедНексмед
Нексмед
 
Мониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application InsightsМониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application Insights
 
Отказоустойчивые игры с облаком – как делают игры на много пользователей
Отказоустойчивые игры с облаком – как делают игры на много пользователейОтказоустойчивые игры с облаком – как делают игры на много пользователей
Отказоустойчивые игры с облаком – как делают игры на много пользователей
 
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
 
2 голов код безопасности
2   голов код безопасности2   голов код безопасности
2 голов код безопасности
 
Платформа SmartActors
Платформа SmartActorsПлатформа SmartActors
Платформа SmartActors
 
Алексей Аникутин
Алексей АникутинАлексей Аникутин
Алексей Аникутин
 
Моделирование для NoSQL БД
Моделирование для NoSQL БДМоделирование для NoSQL БД
Моделирование для NoSQL БД
 
devpoint novotelecom
devpoint novotelecomdevpoint novotelecom
devpoint novotelecom
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
 
Комплексная автоматизация производства
Комплексная автоматизация производстваКомплексная автоматизация производства
Комплексная автоматизация производства
 
Мониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application InsightsМониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application Insights
 
Потоковая обработка данных и Микросервисная архитектура
Потоковая обработка данных и Микросервисная архитектураПотоковая обработка данных и Микросервисная архитектура
Потоковая обработка данных и Микросервисная архитектура
 
Консалтинг высоконагруженных web систем
Консалтинг высоконагруженных web системКонсалтинг высоконагруженных web систем
Консалтинг высоконагруженных web систем
 
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NETЭволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
 
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESB
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESBАрхитектура масштабируемых приложений. Микросервисы, CQRS, ESB
Архитектура масштабируемых приложений. Микросервисы, CQRS, ESB
 

Как 7 студентов и филолог делали сложный проект

  • 1. HWdTech, LLC Или как 7 студентов и филолог делали сложный проект Карты Шухарта
  • 2. Постановка задачи Текущая ситуация, проблемы и задачи по их решению 02
  • 3. Сайт бесплатных объявлений 03 4,5 с – время отклика страницы 70 тыс. ошибок на 1 млн. страниц 30 с - время поиска по тексту объявления БД более 200 таблиц За 5 лет полностью сменилось 3 команды разработчиков, плохая коммуникация между программистами и системными администраторами, задачи на разработку ставятся хаотично, скорость важнее качества.
  • 4. Что нужно получить 04 <1 с – время отклика страницы < 1 ош. на 10 тыс. страниц Полнотекстовый поиск должен стать основным Сделать редизайн сайта Использовать только Microsoft технологии Команда разработки 7 студентов + девушка филолог в качестве аналитика
  • 5. Человек, который изменил все 05 Как сделать проект при таких исходных данных? Надо исключить влияние квалификации отдельного программиста на результаты проекта То есть конечный результат в большей степени зависеть не от навыков и умений конкретных людей, а определяться в большей степени архитектурными решениями и технологиями.
  • 6. Решения База данных, время выполнения запроса, ошибки 06
  • 7. Модель акторов 1973 г. A Universal Modular ACTOR Formalism for Artificial Intelligence Актор – вычислительная сущность • Отправить конечное число сообщений другим акторам • Создать конечное число акторов • Выбрать поведение для приема следующего сообщения Карл Хьюит 07
  • 8. В чем отличие от “обычной” модели вычислений Модель акторов vs Синхронизация 08
  • 9. Асинхронная обработка всех запросов Библиотека HWdTech.DS Реализация модели акторов. Среднее время отклика страницы 400-800 мс. 3 сервера вместо 15. 09 Каждый обработчик – job – выполняет маленькое небольшое действие. Job’ы выполняются параллельно.
  • 10. Вся параллельность свелась к вызову MessageBus.Send(message); 10
  • 11. NoSQL обертка над SQL базой: 10 таблиц вместо 200 Документо-ориентированное хранилище Вся работа с данными сводится к ~5 запросам. Среднее время выполнения запроса 200 мс! { "firstName": "Иван", "lastName": "Иванов", "address": { "streetAddress": "Московское ш., 101, кв.101", "city": "Ленинград", "postalCode": 101101 }, "phoneNumbers": [ "812 123-1234", "916 123-4567" ] } Вся информации о сущности хранится в виде одной записи в формате json. 11
  • 12. NoSQL обертка над SQL базой: 10 таблиц вместо 200 The Search Request { “FullTextSearch": “Mazda 3", “Ranges": { “Price": {“left“: 200000, right: 700000} }, “Filters”: { “Type”: “Продажа” }, Order: [ {Field: “PublishDate”, Reverse: true} ], “Count”: 20, “Page”: 2 } 12 Все поисковые запросы к хранилищу документов имеют общую стркутуру
  • 13. NoSQL обертка над SQL базой: 10 таблиц вместо 200 Коллекция документов хранилища Имя поля Searchable Filterable Rangeable 13 Каждый документ должен быть описан структурой следующего формата
  • 14. Быстрая конфигурация операций Карты сообщений и сервер конфигураций Можно менять алгоритм обработки действий пользователя без программирования или быстро вернуть последнюю рабочую версию. Каждое действие пользователя представляет собой последовательность вызовов job’ов, которая описывается в виде json и хранится в конфигурации сервера. Job1 Job2 … JobN 14
  • 15. Ошибки скрыты от пользователя Контрольные точки Если в момент обработки произойдет ошибка, то пользователь этого никогда не заметит, а разработчики всегда могут повторить данную операцию без участия пользователя, когда исправят ошибку. Когда сервер получает сообщение, то первое, что происходит – сообщение сохраняется в контрольной точке и тут же отправляется ответ клиенту. CP1 Job … CPN Ответ на входящий запрос 15
  • 16. Проще приспособиться, чем ждать когда исправят все ошибки Версионирование сообщений Есть задержка между изменением интерфейсов и их реализацией сторонними разработчиками. Документация неидеальная – проще самим приспособиться, чем добиваться полного соотвествия Когда сервер получает сообщение, то это сообщение можно модифицировать так , чтобы его можно было дальше обрабатывать. CP1 Job … CPN Трансформация сообщения на основе адресата и версии сообщения 16
  • 17. Карты Шухарта 1923 г. AT&T Ламповые усилители сигнала Количество аварийных бригад и транспорта? Применяются в различных сферах производства как средство постоянного улучшения качества выпускаемой продукции Уолтер Шухарт 17
  • 18. Как обнаруживать ошибки? Карты Шухарта Все процессы подвержены вариабельности. Управляемое явление - используя прошлый опыт можно предсказать, каких его вариаций можно ожидать в будущем. ГОСТ Р 50779.42-99 (ISO 8258-91) 18 выявление точек выхода процесса из стабильного состояния для установления причин появившегося отклонения и их устранения.
  • 19. Использовать карты очень просто Карты средних и размаха 19 Множество измерений разбивается на подгруппы. Способ формирования подгрупп влияет на результат! ГОСТ Р 50779.42-99 (ISO 8258-91) Для построения карт достаточно простых арифметических действий
  • 20. Карты работают? Инструмент больше эмпирический, чем математический Отношение к картам Шухарта неоднозначное Применяется на японских предприятиях, например, Toyota Чтобы применять карты, надо сначала добиться “статистической стабильности” Дональд Уиллер 20
  • 21. Как узнать, что изменения дали положительный эффект? Карта количества сообщений в контрольной точке Рост числа сообщений говорит о возникновении систематической ошибки, резкий спад – о том, что ошибка была устранена. 21
  • 22. Причина в коде или в инфраструктуре? Где искать проблему? Один из источников проблем – база данных. 22 • На старой системе – 1 серьезная авария в неделю! • Сис. администраторы не дают полной информации • Причина в коде или в инфраструктуре? Карта, которая измеряет среднюю скорость запросов к базе данных – если время запросов статистически стабильно, то проблема не в коде!
  • 23. Карты Шухарта позволяют удерживать показатель 1 ошибка на 10 тыс. операций. 23
  • 24. Все ли пользователи одинаково полезны? 24 Обмен сообщениями между пользователями Анализ аномальной активности показал, что появился пользователь, который стал активно предлагать другим переходить на ресурс-конкурент.
  • 25. Не все коллеги ведут себя корректно Аргумент при общении со сторонними разработчиками Один из клиентов предъявлял претензии, потому что его разработчики (компания-аутсорсер) говорили, что проблема в нас. 25
  • 26. Активность пользователей можно создавать Грамотный троллинг увеличивает рейтинги Постоянные посетители готовы общаться – им нужно только немного помочь. Стоит ли эффект вложенных средств? 26
  • 27. Не все зависит от технологий Эффективность рекламы Рекламная компания в СМИ имела незначительный краткосрочный эффект. 27
  • 28. Дело не в количестве параметров 28 Увеличение количества параметров Гипотеза: пользователям рубрики Авто нравятся подробные описания объявлений. Может быть, но это не самое главное, что привлекает посетителей.
  • 29. Дело не в количестве параметров 29 Увеличение количества параметров Гипотеза: пользователям рубрики Недвижимость нравятся подробные описания объявлений. Может быть, но это не самое главное, что привлекает посетителей.
  • 30. Человек, который изменил все Послесловие В титрах к фильму говорится, что герой Бреда Пита так до сих пор и не смог выиграть чемпионский титул со своей командой. У каждой технологии есть свой предел! 30
  • 31. Тюменцев Евгений Александрович Пишите: eytumentcev@hwdtech.ru Звоните: +7 913 150 22 04 http://hwdtech.ru

Editor's Notes

  1. Эта презентация демонстрирует новые возможности PowerPoint. Ее рекомендуется просматривать в режиме показа слайдов. Эти слайды должны дать вам представление о том, какие эффектные презентации можно создать с помощью PowerPoint 2010. Для доступа к другим образцам шаблонов перейдите на вкладку "Файл", а затем щелкните "Образцы слайдов" на вкладке "Создать".