Web лекция 2

Post on 15-Jun-2015

110 views 0 download

description

Базовый инструментарий и окружение (Лекция №2)

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

Вопросы

Спасибо за внимание!

Александр Горный,

gornyi@corp.mail.ru

Сергей Лихобабин,

s.lihobabin@corp.mail.ru