Web лекция 2
-
Upload
technosphere1 -
Category
Software
-
view
108 -
download
0
description
Transcript of Web лекция 2
Инструменты
разработчика
Сергей Лихобабин, Александр
Горный
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
Вопросы
Спасибо за внимание!
Александр Горный,
Сергей Лихобабин,