SlideShare uma empresa Scribd logo
1 de 25
НЕТРИВИАЛЬНЫЙ ВЕБ
Пашкевич Дмитрий
«Тамтэк», директор
Как устроен веб
Части системы
• Пользователь: человек или робот
• Браузер: IE, Chrome, Safari, Opera
• Страница: HTML, CSS, JavaScript
• Сеть интернет: HTTP, DNS, TCP/IP
• Веб-сервер: Apache, Nginx, IIS
• Веб-приложение: PHP, Python, Java, .Net
• База данных: MySQL, PostgreSQL, MongoDB
• Кэш: Memcache, Redis, Varnish
FRONTEND / САЙТ
Браузеры
На волнах Интернет
• DNS преобразует имя сайта в IP адрес
• HTTP – язык для общения браузера и веб-
сервера без установления постоянного
соединения
• TCP/IP отвечает за гарантированную
доставку документов и файлов
DNS + HTTP + TCP/IP
1. Узнаем IP по имени сайта через DNS
2. Отправляем HTTP запрос на веб-сервер
3. Получаем HTTP ответ (страницу)
4. Отображаем страницу пользователю
Браузер. Frontend
• HTML – язык разметки документа
• CSS – стиль и красота
• JavaScript – динамика, реакция на события
• Браузер загружает документ, стили,
скрипты, картинку и «статику» с сервера
через Интернет и отображает их во
взаимодействии с пользователем
Родом из мира модемов
• HTTP
– прост, как 3 копейки
• GET http://thumbtack.ru HTTP/1.1
– каждый запрос – отдельное соединение
• Большая страница – много элементов, много
соединений
Большое количество
запросов замедляет
загрузку страницы
Инструмент
разработчика
позволяет проводить
отладку в браузере
Frontend: типичные проблемы
• Долгая загрузка страницы
– Много запросов
– «Тяжелые» ресурсы
• Разная реализация стандартов браузерами
• Высокая ресурсоемкость JavaScript
• Плохо структурированный код
Frontend: стратегия оптимизации
• Быстрее начинать показывать контент
• Минимизировать количество соединений
• Уменьшать объем данных
• Хранить данные близко к пользователю
• Использовать кеш для статических ресурсов
• Быть аккуратнее со скриптами
Frontend: вредные советы
• Верстайте «в таблицах»
• Не включайте на сервере Keep-alive
• Берите картинки в максимально доступном
разрешении
• Не тратьте время на кеширование и CDN
• Assets только для слабаков
• Загружайте сразу весь контент. Не важно,
что 90% пользователь его не увидят
• Тестируют только неуверенные в себе
Рейтинг и
рекомендации
Инструменты диагностики сайтов
• Встроенные инструменты браузеров
• WebPageTest
• Google PageSpeed
Позволяют понять, как сделать отображение
страницы более быстрым. Дают
конкретные рекомендации.
Backend /
СЕРВЕР
Нескучный Backend
Что происходит на Backend
• Получение запроса пользователя
• Сбор данных из разных источников
• Обработка данных
• Сборка страницы для показа пользователю
• Оптимизация и отправка страницы
• Длительные фоновые операции
Backend: проблемы
• Их очень много и они разные
• Неоптимизированный код
• Медленные запросы к базе данных
– Нет индексов
– Много запросов в цикле
• Отказ серверов
• А что, если придет 1 млн пользователей?
Масштабирование backend
Масштабируемая архитектура
Frontend vs. Backend
Frontend Backend
Можно показать бабушке + -
Низкий порог вхождения +/- -
Удовольствие от решения сложных
задач
+ ++
Работа мечты 
Обучение в «Тамтэк»
• Школа Разработчика
– Сервер + веб + мобайл
– Набор весной, обучение с сентября
• Школа Тестировщиков
– Следите за объявлениями!
• Больше подробностей на стенде «Тамтэк» и
на сайте thumbtack.ru/training/
Спасибо за внимание!
Пашкевич Дмитрий
«Тамтэк», директор
Skype, vk.com: dmitrypashkevich

Mais conteúdo relacionado

Mais procurados

How to optimize Magento
How to optimize MagentoHow to optimize Magento
How to optimize MagentoMageCloud
 
русоникс скорость-сайтов
русоникс скорость-сайтоврусоникс скорость-сайтов
русоникс скорость-сайтовAndreas Schwarzkopf
 
Как сделать сайт быстрее?
Как сделать сайт быстрее?Как сделать сайт быстрее?
Как сделать сайт быстрее?Danil Negrienko
 
Информационная безопасность весна 2013 лекция 4
Информационная безопасность весна 2013 лекция 4Информационная безопасность весна 2013 лекция 4
Информационная безопасность весна 2013 лекция 4Technopark
 
My Open Source (Sept 2017)
My Open Source (Sept 2017)My Open Source (Sept 2017)
My Open Source (Sept 2017)Roman Dvornov
 
Ускоряем Wordpress: кеширование, CDN, Varnish Cache
Ускоряем Wordpress: кеширование, CDN, Varnish CacheУскоряем Wordpress: кеширование, CDN, Varnish Cache
Ускоряем Wordpress: кеширование, CDN, Varnish CacheIgor Sazonov
 
Sergey Cherebedov. Node.js+Drupal
Sergey Cherebedov. Node.js+DrupalSergey Cherebedov. Node.js+Drupal
Sergey Cherebedov. Node.js+DrupalDrupalSib
 
Web весна 2013 лекция 1
Web весна 2013 лекция 1Web весна 2013 лекция 1
Web весна 2013 лекция 1Technopark
 
Nazapad 7. Оптимизация скорости загрузки и перелинковки
Nazapad 7. Оптимизация скорости загрузки и перелинковкиNazapad 7. Оптимизация скорости загрузки и перелинковки
Nazapad 7. Оптимизация скорости загрузки и перелинковкиIhor Bankovskyi
 
[ONSEC ]XSS vs waf
[ONSEC ]XSS vs waf[ONSEC ]XSS vs waf
[ONSEC ]XSS vs wafd0znp
 
Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"Tanya Denisyuk
 
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.rusonyx
 
скорость загрузки
скорость загрузкискорость загрузки
скорость загрузкиAlexei Smolyanov
 
Высокая доступность web приложений. SHALB.com
Высокая доступность web приложений. SHALB.comВысокая доступность web приложений. SHALB.com
Высокая доступность web приложений. SHALB.comAlexandr Yatsuk
 
SEO-Friendly Websites
SEO-Friendly WebsitesSEO-Friendly Websites
SEO-Friendly WebsitesElkaakle
 
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.Омские ИТ-субботники
 
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Badoo Development
 
Оптимизация времени загрузки сайта: проблемы и решения
Оптимизация времени загрузки сайта: проблемы и решенияОптимизация времени загрузки сайта: проблемы и решения
Оптимизация времени загрузки сайта: проблемы и решенияMedia Gorod
 

Mais procurados (20)

How to optimize Magento
How to optimize MagentoHow to optimize Magento
How to optimize Magento
 
русоникс скорость-сайтов
русоникс скорость-сайтоврусоникс скорость-сайтов
русоникс скорость-сайтов
 
Как сделать сайт быстрее?
Как сделать сайт быстрее?Как сделать сайт быстрее?
Как сделать сайт быстрее?
 
Информационная безопасность весна 2013 лекция 4
Информационная безопасность весна 2013 лекция 4Информационная безопасность весна 2013 лекция 4
Информационная безопасность весна 2013 лекция 4
 
My Open Source (Sept 2017)
My Open Source (Sept 2017)My Open Source (Sept 2017)
My Open Source (Sept 2017)
 
Ускоряем Wordpress: кеширование, CDN, Varnish Cache
Ускоряем Wordpress: кеширование, CDN, Varnish CacheУскоряем Wordpress: кеширование, CDN, Varnish Cache
Ускоряем Wordpress: кеширование, CDN, Varnish Cache
 
Sergey Cherebedov. Node.js+Drupal
Sergey Cherebedov. Node.js+DrupalSergey Cherebedov. Node.js+Drupal
Sergey Cherebedov. Node.js+Drupal
 
Mobile web apps
Mobile web appsMobile web apps
Mobile web apps
 
Web весна 2013 лекция 1
Web весна 2013 лекция 1Web весна 2013 лекция 1
Web весна 2013 лекция 1
 
Nazapad 7. Оптимизация скорости загрузки и перелинковки
Nazapad 7. Оптимизация скорости загрузки и перелинковкиNazapad 7. Оптимизация скорости загрузки и перелинковки
Nazapad 7. Оптимизация скорости загрузки и перелинковки
 
[ONSEC ]XSS vs waf
[ONSEC ]XSS vs waf[ONSEC ]XSS vs waf
[ONSEC ]XSS vs waf
 
Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"
 
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
 
скорость загрузки
скорость загрузкискорость загрузки
скорость загрузки
 
Высокая доступность web приложений. SHALB.com
Высокая доступность web приложений. SHALB.comВысокая доступность web приложений. SHALB.com
Высокая доступность web приложений. SHALB.com
 
SEO-Friendly Websites
SEO-Friendly WebsitesSEO-Friendly Websites
SEO-Friendly Websites
 
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
 
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
 
Speed Up Your Website
Speed Up Your WebsiteSpeed Up Your Website
Speed Up Your Website
 
Оптимизация времени загрузки сайта: проблемы и решения
Оптимизация времени загрузки сайта: проблемы и решенияОптимизация времени загрузки сайта: проблемы и решения
Оптимизация времени загрузки сайта: проблемы и решения
 

Semelhante a HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб

полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...rit2011
 
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Sergey Xek
 
NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...Ontico
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...rit2011
 
доклад на вмк 15.10.2015
доклад на вмк 15.10.2015доклад на вмк 15.10.2015
доклад на вмк 15.10.2015Alexandr Petrov
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Ontico
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéInterSystems CEE
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезныSergey Xek
 
Выступление Сергея Аверина, Badoo, на High Performance Conference
Выступление Сергея Аверина, Badoo, на High Performance ConferenceВыступление Сергея Аверина, Badoo, на High Performance Conference
Выступление Сергея Аверина, Badoo, на High Performance ConferenceEYevseyeva
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезныSergey Xek
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukInterSystems
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Ontico
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхSergey Xek
 
Rsnx tsvetkov che btrix conf 2015
Rsnx tsvetkov che btrix conf 2015Rsnx tsvetkov che btrix conf 2015
Rsnx tsvetkov che btrix conf 2015Yulia Karpova
 
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Ontico
 
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Badoo Development
 
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнBadoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнSergey Xek
 
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнBadoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнSergey Xek
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоАлександр Ежов
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхSergey Xek
 

Semelhante a HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб (20)

полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
 
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
 
NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
 
доклад на вмк 15.10.2015
доклад на вмк 15.10.2015доклад на вмк 15.10.2015
доклад на вмк 15.10.2015
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для Caché
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
 
Выступление Сергея Аверина, Badoo, на High Performance Conference
Выступление Сергея Аверина, Badoo, на High Performance ConferenceВыступление Сергея Аверина, Badoo, на High Performance Conference
Выступление Сергея Аверина, Badoo, на High Performance Conference
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard Lebedyuk
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
 
Rsnx tsvetkov che btrix conf 2015
Rsnx tsvetkov che btrix conf 2015Rsnx tsvetkov che btrix conf 2015
Rsnx tsvetkov che btrix conf 2015
 
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
 
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
 
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнBadoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
 
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнBadoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это просто
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
 

Mais de HappyDev-lite

2017-03-26 06 Алексей Губарев. Разработка встраиваемого программного обеспеч...
2017-03-26 06 Алексей Губарев. Разработка встраиваемого программного обеспеч...2017-03-26 06 Алексей Губарев. Разработка встраиваемого программного обеспеч...
2017-03-26 06 Алексей Губарев. Разработка встраиваемого программного обеспеч...HappyDev-lite
 
2017-03-26 05 Дмитрий Козиенко. Оптимизируй это!
2017-03-26 05 Дмитрий Козиенко. Оптимизируй это!2017-03-26 05 Дмитрий Козиенко. Оптимизируй это!
2017-03-26 05 Дмитрий Козиенко. Оптимизируй это!HappyDev-lite
 
2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза
2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза
2017-03-26 04 вячеслав виноградов. есть ли жизнь после релизаHappyDev-lite
 
2017-03-26 03 Илья Сиганов. Что такое машинное обучение
2017-03-26 03 Илья Сиганов. Что такое машинное обучение2017-03-26 03 Илья Сиганов. Что такое машинное обучение
2017-03-26 03 Илья Сиганов. Что такое машинное обучениеHappyDev-lite
 
2017-03-26 02 Кирилл Лейфер. Мобильные платформы с точки зрения безопасности
2017-03-26 02 Кирилл Лейфер. Мобильные платформы с точки зрения безопасности2017-03-26 02 Кирилл Лейфер. Мобильные платформы с точки зрения безопасности
2017-03-26 02 Кирилл Лейфер. Мобильные платформы с точки зрения безопасностиHappyDev-lite
 
2017-03-26 01 Григорий Косьяненко. Разработка ПО — это про людей, а не про код
2017-03-26 01 Григорий Косьяненко. Разработка ПО — это про людей, а не про код2017-03-26 01 Григорий Косьяненко. Разработка ПО — это про людей, а не про код
2017-03-26 01 Григорий Косьяненко. Разработка ПО — это про людей, а не про кодHappyDev-lite
 
2017-03-26 06 Виталий Онянов. Разработка ERP-систем
2017-03-26 06 Виталий Онянов. Разработка ERP-систем2017-03-26 06 Виталий Онянов. Разработка ERP-систем
2017-03-26 06 Виталий Онянов. Разработка ERP-системHappyDev-lite
 
2017-03-26 05 Алексей Еременко. Проектный менеджер моей мечты
2017-03-26 05 Алексей Еременко. Проектный менеджер моей мечты2017-03-26 05 Алексей Еременко. Проектный менеджер моей мечты
2017-03-26 05 Алексей Еременко. Проектный менеджер моей мечтыHappyDev-lite
 
2017-03-26 04 Екатерина Скорых. Профессия — тестировщик ПО
2017-03-26 04 Екатерина Скорых. Профессия — тестировщик ПО2017-03-26 04 Екатерина Скорых. Профессия — тестировщик ПО
2017-03-26 04 Екатерина Скорых. Профессия — тестировщик ПОHappyDev-lite
 
2017-03-26 03 Кирилл Лейфер. Прелести и ужасы мобильной разработки
2017-03-26 03 Кирилл Лейфер. Прелести и ужасы мобильной разработки2017-03-26 03 Кирилл Лейфер. Прелести и ужасы мобильной разработки
2017-03-26 03 Кирилл Лейфер. Прелести и ужасы мобильной разработкиHappyDev-lite
 
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутриHappyDev-lite
 
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едятHappyDev-lite
 
HappyDev-lite-2016-осень, день 2 12 Сергей Мячин. Как переделывать игру-2
HappyDev-lite-2016-осень, день 2 12 Сергей Мячин. Как переделывать игру-2HappyDev-lite-2016-осень, день 2 12 Сергей Мячин. Как переделывать игру-2
HappyDev-lite-2016-осень, день 2 12 Сергей Мячин. Как переделывать игру-2HappyDev-lite
 
HappyDev-lite-2016-осень, день 2 11 Анна Тарасенко. Почему нельзя просто так ...
HappyDev-lite-2016-осень, день 2 11 Анна Тарасенко. Почему нельзя просто так ...HappyDev-lite-2016-осень, день 2 11 Анна Тарасенко. Почему нельзя просто так ...
HappyDev-lite-2016-осень, день 2 11 Анна Тарасенко. Почему нельзя просто так ...HappyDev-lite
 
HappyDev-lite-2016-осень, день 2 10 Алексей Коровянский. Будущее мобильной...
HappyDev-lite-2016-осень, день 2 10 Алексей Коровянский. Будущее мобильной...HappyDev-lite-2016-осень, день 2 10 Алексей Коровянский. Будущее мобильной...
HappyDev-lite-2016-осень, день 2 10 Алексей Коровянский. Будущее мобильной...HappyDev-lite
 
HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...
HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...
HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...HappyDev-lite
 
HappyDev-lite-2016-осень, день 2 08 Александр Мишурин. Развитие CTF-движения ...
HappyDev-lite-2016-осень, день 2 08 Александр Мишурин. Развитие CTF-движения ...HappyDev-lite-2016-осень, день 2 08 Александр Мишурин. Развитие CTF-движения ...
HappyDev-lite-2016-осень, день 2 08 Александр Мишурин. Развитие CTF-движения ...HappyDev-lite
 
HappyDev-lite-2016-осень, день 2 06 Серик Бейсенов. Время собирать требования
HappyDev-lite-2016-осень, день 2 06 Серик Бейсенов. Время собирать требованияHappyDev-lite-2016-осень, день 2 06 Серик Бейсенов. Время собирать требования
HappyDev-lite-2016-осень, день 2 06 Серик Бейсенов. Время собирать требованияHappyDev-lite
 
HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки...
HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки...HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки...
HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки...HappyDev-lite
 
HappyDev-lite-2016-осень, день 2 04 Михаил Колганов. Интерфейс пользователя ...
HappyDev-lite-2016-осень, день 2 04 Михаил Колганов. Интерфейс пользователя ...HappyDev-lite-2016-осень, день 2 04 Михаил Колганов. Интерфейс пользователя ...
HappyDev-lite-2016-осень, день 2 04 Михаил Колганов. Интерфейс пользователя ...HappyDev-lite
 

Mais de HappyDev-lite (20)

2017-03-26 06 Алексей Губарев. Разработка встраиваемого программного обеспеч...
2017-03-26 06 Алексей Губарев. Разработка встраиваемого программного обеспеч...2017-03-26 06 Алексей Губарев. Разработка встраиваемого программного обеспеч...
2017-03-26 06 Алексей Губарев. Разработка встраиваемого программного обеспеч...
 
2017-03-26 05 Дмитрий Козиенко. Оптимизируй это!
2017-03-26 05 Дмитрий Козиенко. Оптимизируй это!2017-03-26 05 Дмитрий Козиенко. Оптимизируй это!
2017-03-26 05 Дмитрий Козиенко. Оптимизируй это!
 
2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза
2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза
2017-03-26 04 вячеслав виноградов. есть ли жизнь после релиза
 
2017-03-26 03 Илья Сиганов. Что такое машинное обучение
2017-03-26 03 Илья Сиганов. Что такое машинное обучение2017-03-26 03 Илья Сиганов. Что такое машинное обучение
2017-03-26 03 Илья Сиганов. Что такое машинное обучение
 
2017-03-26 02 Кирилл Лейфер. Мобильные платформы с точки зрения безопасности
2017-03-26 02 Кирилл Лейфер. Мобильные платформы с точки зрения безопасности2017-03-26 02 Кирилл Лейфер. Мобильные платформы с точки зрения безопасности
2017-03-26 02 Кирилл Лейфер. Мобильные платформы с точки зрения безопасности
 
2017-03-26 01 Григорий Косьяненко. Разработка ПО — это про людей, а не про код
2017-03-26 01 Григорий Косьяненко. Разработка ПО — это про людей, а не про код2017-03-26 01 Григорий Косьяненко. Разработка ПО — это про людей, а не про код
2017-03-26 01 Григорий Косьяненко. Разработка ПО — это про людей, а не про код
 
2017-03-26 06 Виталий Онянов. Разработка ERP-систем
2017-03-26 06 Виталий Онянов. Разработка ERP-систем2017-03-26 06 Виталий Онянов. Разработка ERP-систем
2017-03-26 06 Виталий Онянов. Разработка ERP-систем
 
2017-03-26 05 Алексей Еременко. Проектный менеджер моей мечты
2017-03-26 05 Алексей Еременко. Проектный менеджер моей мечты2017-03-26 05 Алексей Еременко. Проектный менеджер моей мечты
2017-03-26 05 Алексей Еременко. Проектный менеджер моей мечты
 
2017-03-26 04 Екатерина Скорых. Профессия — тестировщик ПО
2017-03-26 04 Екатерина Скорых. Профессия — тестировщик ПО2017-03-26 04 Екатерина Скорых. Профессия — тестировщик ПО
2017-03-26 04 Екатерина Скорых. Профессия — тестировщик ПО
 
2017-03-26 03 Кирилл Лейфер. Прелести и ужасы мобильной разработки
2017-03-26 03 Кирилл Лейфер. Прелести и ужасы мобильной разработки2017-03-26 03 Кирилл Лейфер. Прелести и ужасы мобильной разработки
2017-03-26 03 Кирилл Лейфер. Прелести и ужасы мобильной разработки
 
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
 
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
 
HappyDev-lite-2016-осень, день 2 12 Сергей Мячин. Как переделывать игру-2
HappyDev-lite-2016-осень, день 2 12 Сергей Мячин. Как переделывать игру-2HappyDev-lite-2016-осень, день 2 12 Сергей Мячин. Как переделывать игру-2
HappyDev-lite-2016-осень, день 2 12 Сергей Мячин. Как переделывать игру-2
 
HappyDev-lite-2016-осень, день 2 11 Анна Тарасенко. Почему нельзя просто так ...
HappyDev-lite-2016-осень, день 2 11 Анна Тарасенко. Почему нельзя просто так ...HappyDev-lite-2016-осень, день 2 11 Анна Тарасенко. Почему нельзя просто так ...
HappyDev-lite-2016-осень, день 2 11 Анна Тарасенко. Почему нельзя просто так ...
 
HappyDev-lite-2016-осень, день 2 10 Алексей Коровянский. Будущее мобильной...
HappyDev-lite-2016-осень, день 2 10 Алексей Коровянский. Будущее мобильной...HappyDev-lite-2016-осень, день 2 10 Алексей Коровянский. Будущее мобильной...
HappyDev-lite-2016-осень, день 2 10 Алексей Коровянский. Будущее мобильной...
 
HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...
HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...
HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...
 
HappyDev-lite-2016-осень, день 2 08 Александр Мишурин. Развитие CTF-движения ...
HappyDev-lite-2016-осень, день 2 08 Александр Мишурин. Развитие CTF-движения ...HappyDev-lite-2016-осень, день 2 08 Александр Мишурин. Развитие CTF-движения ...
HappyDev-lite-2016-осень, день 2 08 Александр Мишурин. Развитие CTF-движения ...
 
HappyDev-lite-2016-осень, день 2 06 Серик Бейсенов. Время собирать требования
HappyDev-lite-2016-осень, день 2 06 Серик Бейсенов. Время собирать требованияHappyDev-lite-2016-осень, день 2 06 Серик Бейсенов. Время собирать требования
HappyDev-lite-2016-осень, день 2 06 Серик Бейсенов. Время собирать требования
 
HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки...
HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки...HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки...
HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки...
 
HappyDev-lite-2016-осень, день 2 04 Михаил Колганов. Интерфейс пользователя ...
HappyDev-lite-2016-осень, день 2 04 Михаил Колганов. Интерфейс пользователя ...HappyDev-lite-2016-осень, день 2 04 Михаил Колганов. Интерфейс пользователя ...
HappyDev-lite-2016-осень, день 2 04 Михаил Колганов. Интерфейс пользователя ...
 

HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб

  • 3. Части системы • Пользователь: человек или робот • Браузер: IE, Chrome, Safari, Opera • Страница: HTML, CSS, JavaScript • Сеть интернет: HTTP, DNS, TCP/IP • Веб-сервер: Apache, Nginx, IIS • Веб-приложение: PHP, Python, Java, .Net • База данных: MySQL, PostgreSQL, MongoDB • Кэш: Memcache, Redis, Varnish
  • 6. На волнах Интернет • DNS преобразует имя сайта в IP адрес • HTTP – язык для общения браузера и веб- сервера без установления постоянного соединения • TCP/IP отвечает за гарантированную доставку документов и файлов
  • 7. DNS + HTTP + TCP/IP 1. Узнаем IP по имени сайта через DNS 2. Отправляем HTTP запрос на веб-сервер 3. Получаем HTTP ответ (страницу) 4. Отображаем страницу пользователю
  • 8. Браузер. Frontend • HTML – язык разметки документа • CSS – стиль и красота • JavaScript – динамика, реакция на события • Браузер загружает документ, стили, скрипты, картинку и «статику» с сервера через Интернет и отображает их во взаимодействии с пользователем
  • 9. Родом из мира модемов • HTTP – прост, как 3 копейки • GET http://thumbtack.ru HTTP/1.1 – каждый запрос – отдельное соединение • Большая страница – много элементов, много соединений Большое количество запросов замедляет загрузку страницы Инструмент разработчика позволяет проводить отладку в браузере
  • 10. Frontend: типичные проблемы • Долгая загрузка страницы – Много запросов – «Тяжелые» ресурсы • Разная реализация стандартов браузерами • Высокая ресурсоемкость JavaScript • Плохо структурированный код
  • 11. Frontend: стратегия оптимизации • Быстрее начинать показывать контент • Минимизировать количество соединений • Уменьшать объем данных • Хранить данные близко к пользователю • Использовать кеш для статических ресурсов • Быть аккуратнее со скриптами
  • 12. Frontend: вредные советы • Верстайте «в таблицах» • Не включайте на сервере Keep-alive • Берите картинки в максимально доступном разрешении • Не тратьте время на кеширование и CDN • Assets только для слабаков • Загружайте сразу весь контент. Не важно, что 90% пользователь его не увидят • Тестируют только неуверенные в себе
  • 14.
  • 15. Инструменты диагностики сайтов • Встроенные инструменты браузеров • WebPageTest • Google PageSpeed Позволяют понять, как сделать отображение страницы более быстрым. Дают конкретные рекомендации.
  • 18. Что происходит на Backend • Получение запроса пользователя • Сбор данных из разных источников • Обработка данных • Сборка страницы для показа пользователю • Оптимизация и отправка страницы • Длительные фоновые операции
  • 19. Backend: проблемы • Их очень много и они разные • Неоптимизированный код • Медленные запросы к базе данных – Нет индексов – Много запросов в цикле • Отказ серверов • А что, если придет 1 млн пользователей?
  • 22. Frontend vs. Backend Frontend Backend Можно показать бабушке + - Низкий порог вхождения +/- - Удовольствие от решения сложных задач + ++
  • 24. Обучение в «Тамтэк» • Школа Разработчика – Сервер + веб + мобайл – Набор весной, обучение с сентября • Школа Тестировщиков – Следите за объявлениями! • Больше подробностей на стенде «Тамтэк» и на сайте thumbtack.ru/training/
  • 25. Спасибо за внимание! Пашкевич Дмитрий «Тамтэк», директор Skype, vk.com: dmitrypashkevich