SlideShare a Scribd company logo
1 of 34
Download to read offline
Инструменты
разработчика
Сергей Лихобабин, Александр
Горный
2
• Unix: командная строка,
отладка, демоны, пакеты
• Веб-сервера: разница между
ними и их устройство
• ЯП для веба и их экосистемы
Обзор лекции
3
• Почему именно Unix?
• Что надо о нем знать?
• Что надо в нем уметь?
Unix
4
• Процессы
• fork()
• exec()
Unix: процессы
5
• Сигналы
• Shared memory
• Семафоры
• Pipes
• Message queue
Взаимодействие между процессами
6
• Unix-сокет
• Сеть
• Файлы
• Файлы в памяти
Взаимодействие между процессами
7
• Отличия от процессов
• Реентерабельность
• Взаимодействие между потоками
Потоки
8
• cp, mv, …
• “|”
• grep
• cut, sort, uniq
• awk, perl –ne
• xargs
• переменные окружения
Unix: командная строка
9
grep –r “Error found” logdir | awk ‘{print $4}’
| sort | uniq –c | sort –rn | head -10
Командная строка
awk –F ‘;’ ‘{print $1” “$6}’ log | sort –u | awk
‘{print $1}’ | sort | uniq –c | sort –rn
tail -10000 log | grep “attack” | awk ‘{print
$1}’ | xargs block.sh
10
•
•
• trace, truss, gdb
•
Unix: средства отладки
11
ps
12
top
13
iostat
14
lsof
15
strace
16
gdb
17
•
•
•
•
Отладка сети
18
• Сборка из исходников
• Конфигурационный софт
• Пакеты
Unix: установка нового софта
19
• Предназначение
• Init-скрипты, pid-файлы
• Конфигурация
• Логи
• Примеры
Демоны
20
Вопросы
21
• Предназначение
• Основные метрики
• История
Веб-сервера
22
• На процессах
• На тредах
• Машина состояний
Архитектура
23
• История
• Основные характеристики
• Варианты использования
• Альтернативы
apache
24
• История
• Основные характеристики
• Варианты использования
• Альтернативы
nginx
25
• Что это такое?
• Зачем это нужно?
• Примеры использования
SSI
26
<!--#include virtual=“/footer.html” -->
<!--#if expr=""$DOCUMENT_URI" = "/foo/file.html"" -->
in foo
<!--#elif expr=""$DOCUMENT_URI" = "/bar/file.html"" -->
in bar
<!--#else -->
in neither
<!--#endif -->
SSI
27
• Возможные мотивы
• Технологии написания
Собственные веб-сервера
28
Вопросы
29
• От ассемблера до web-языков
• Perl
• PHP
• Ruby
• Python
Языки программирования
30
• Интерпретируемость
• Регулярные выражения
• Хеши как элементы языка
Преимущества web-языков
31
Преимущества web-языков
32
• xs
• CPAN
• perldoc
• mod_perl
Экосистема
33
Вопросы
Спасибо за внимание!
Александр Горный,
gornyi@corp.mail.ru
Сергей Лихобабин,
s.lihobabin@corp.mail.ru

More Related Content

What's hot

По Вашей просьбе, продукты Atlassian в Docker
По Вашей просьбе, продукты Atlassian в DockerПо Вашей просьбе, продукты Atlassian в Docker
По Вашей просьбе, продукты Atlassian в Docker
Gonchik Tsymzhitov
 
Файловые системы
Файловые системыФайловые системы
Файловые системы
yaevents
 
Как мы сбежали от PostgreSQL или когда реляционная БД не справляется, Куманяе...
Как мы сбежали от PostgreSQL или когда реляционная БД не справляется, Куманяе...Как мы сбежали от PostgreSQL или когда реляционная БД не справляется, Куманяе...
Как мы сбежали от PostgreSQL или когда реляционная БД не справляется, Куманяе...
Coub
 
Ubuntu и другие OpenSource-продукты в компании «Яндекс»
Ubuntu и другие  OpenSource-продукты в компании «Яндекс»Ubuntu и другие  OpenSource-продукты в компании «Яндекс»
Ubuntu и другие OpenSource-продукты в компании «Яндекс»
syndicut
 
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
Yandex
 
Безопасность без антивирусов 4
Безопасность без антивирусов 4Безопасность без антивирусов 4
Безопасность без антивирусов 4
Positive Hack Days
 
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
Ontico
 
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Tanya Denisyuk
 

What's hot (18)

Барнаул15
Барнаул15Барнаул15
Барнаул15
 
03 - Установка Xcode
03 - Установка Xcode03 - Установка Xcode
03 - Установка Xcode
 
По Вашей просьбе, продукты Atlassian в Docker
По Вашей просьбе, продукты Atlassian в DockerПо Вашей просьбе, продукты Atlassian в Docker
По Вашей просьбе, продукты Atlassian в Docker
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"
 
Файловые системы
Файловые системыФайловые системы
Файловые системы
 
Avito Stachka 2012
Avito Stachka 2012Avito Stachka 2012
Avito Stachka 2012
 
Как мы сбежали от PostgreSQL или когда реляционная БД не справляется, Куманяе...
Как мы сбежали от PostgreSQL или когда реляционная БД не справляется, Куманяе...Как мы сбежали от PostgreSQL или когда реляционная БД не справляется, Куманяе...
Как мы сбежали от PostgreSQL или когда реляционная БД не справляется, Куманяе...
 
Ubuntu и другие OpenSource-продукты в компании «Яндекс»
Ubuntu и другие  OpenSource-продукты в компании «Яндекс»Ubuntu и другие  OpenSource-продукты в компании «Яндекс»
Ubuntu и другие OpenSource-продукты в компании «Яндекс»
 
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
 
parinov_hseos
parinov_hseosparinov_hseos
parinov_hseos
 
Безопасность без антивирусов 4
Безопасность без антивирусов 4Безопасность без антивирусов 4
Безопасность без антивирусов 4
 
Kolibri OS
Kolibri OSKolibri OS
Kolibri OS
 
08 server mgmt_ru
08 server mgmt_ru08 server mgmt_ru
08 server mgmt_ru
 
09 server mgmt_ii_ru
09 server mgmt_ii_ru09 server mgmt_ii_ru
09 server mgmt_ii_ru
 
гипертекст
гипертекстгипертекст
гипертекст
 
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
 
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
 
Сокеты
СокетыСокеты
Сокеты
 

Similar to Web лекция 2

Анатомия веб-сервиса, Андрей Смирнов
Анатомия веб-сервиса, Андрей СмирновАнатомия веб-сервиса, Андрей Смирнов
Анатомия веб-сервиса, Андрей Смирнов
Ontico
 
Анатомия веб-сервиса (РИТ-2014)
Анатомия веб-сервиса (РИТ-2014)Анатомия веб-сервиса (РИТ-2014)
Анатомия веб-сервиса (РИТ-2014)
Andrey Smirnov
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Ontico
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Ontico
 
андрей паньгин
андрей паньгинандрей паньгин
андрей паньгин
kuchinskaya
 
Выжимаем из сервера максимум (Андрей Паньгин)
Выжимаем из сервера максимум (Андрей Паньгин)Выжимаем из сервера максимум (Андрей Паньгин)
Выжимаем из сервера максимум (Андрей Паньгин)
Ontico
 
Cocoa Networking
Cocoa NetworkingCocoa Networking
Cocoa Networking
guest57eb8a
 

Similar to Web лекция 2 (20)

Approaches to the Fragmentation of a Paravirtualization System
Approaches to the Fragmentation of a Paravirtualization SystemApproaches to the Fragmentation of a Paravirtualization System
Approaches to the Fragmentation of a Paravirtualization System
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и Django
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
 
Анатомия веб-сервиса, Андрей Смирнов
Анатомия веб-сервиса, Андрей СмирновАнатомия веб-сервиса, Андрей Смирнов
Анатомия веб-сервиса, Андрей Смирнов
 
Анатомия веб-сервиса (РИТ-2014)
Анатомия веб-сервиса (РИТ-2014)Анатомия веб-сервиса (РИТ-2014)
Анатомия веб-сервиса (РИТ-2014)
 
1. ЛК ОС семейства Linux. Администрирование информационных систем и веб-порталов
1. ЛК ОС семейства Linux. Администрирование информационных систем и веб-порталов1. ЛК ОС семейства Linux. Администрирование информационных систем и веб-порталов
1. ЛК ОС семейства Linux. Администрирование информационных систем и веб-порталов
 
OTUS Infrastructure as Code
OTUS Infrastructure as CodeOTUS Infrastructure as Code
OTUS Infrastructure as Code
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
 
андрей паньгин
андрей паньгинандрей паньгин
андрей паньгин
 
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
 
Выжимаем из сервера максимум (Андрей Паньгин)
Выжимаем из сервера максимум (Андрей Паньгин)Выжимаем из сервера максимум (Андрей Паньгин)
Выжимаем из сервера максимум (Андрей Паньгин)
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
 
Solaris OS
Solaris OSSolaris OS
Solaris OS
 
Caché Native Access. InterSystems Meetup 2014
Caché Native Access. InterSystems  Meetup 2014Caché Native Access. InterSystems  Meetup 2014
Caché Native Access. InterSystems Meetup 2014
 
Операционные системы 2015, лекция № 3
Операционные системы 2015, лекция № 3Операционные системы 2015, лекция № 3
Операционные системы 2015, лекция № 3
 
Управление ресурсами в Linux и OpenVZ
Управление ресурсами в Linux и OpenVZ Управление ресурсами в Linux и OpenVZ
Управление ресурсами в Linux и OpenVZ
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Клиент-серверные приложения на iPhone
Клиент-серверные приложения на iPhoneКлиент-серверные приложения на iPhone
Клиент-серверные приложения на iPhone
 
Cocoa Networking
Cocoa NetworkingCocoa Networking
Cocoa Networking
 

More from Technosphere1

L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: Заключительная
Technosphere1
 

More from Technosphere1 (20)

Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
 
Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети"
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
 
Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов"
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии"
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
 
Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"
 
L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: Заключительная
 
Л9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийЛ9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложений
 
Л8 Django. Дополнительные темы
Л8 Django. Дополнительные темыЛ8 Django. Дополнительные темы
Л8 Django. Дополнительные темы
 
Webdev7 (2)
Webdev7 (2)Webdev7 (2)
Webdev7 (2)
 
L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблей
 
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного веб
 
Web лекция 1
Web   лекция 1Web   лекция 1
Web лекция 1
 

Web лекция 2