Идем дальше.
Любой из трех релизов для пользователя означает, что наш
Возможные изменения:
1. Новые функциональности (основной и дополнительный
релизы);
2. Изменение/удаление старых функциональностей (основ-
ной и дополнительный релизы);
3. Починка багов, пропущенных в одном из релизов любого
типа (заплаточный релиз).
Давайте представим, что ЗАО "Тест-шоп", предназначенное,
кстати, для продажи книг, только начинает работу.
107
У нас есть
• два программиста (Дима и Митя) и
• хозяин-барин (месье Кукушкин Илья Харитонович),
а также
• два компьютера с "Виндоуз" для программистов (здесь и
далее я не буду давать версий не нашего ПО),
• клевый лэптоп Харитоныча (ОС значения не имеет) и
• машина с Линуксом (далее называемая тест-машина) для
разработки и тестирования ПО.
Проект начинается:
1. Регистрируется домен
2. У интернет-провайдера и по совместительству хостинг-про-
вайдера покупается доступ в Интернет и арендуется сервер,
чтобы весь мир мог зайти на огонек, увидеть и оценить.
3. Программистские компьютеры, лэптоп
объединяются в локальную сеть с выходом в Интернет.
4. Программисты начинают работать над проектом.
Мы уже говорили о том, что классическая архитектура веб-про-
екта — это
• веб-сервер;
• сервер с приложением;
• база данных.
Так вот, так как мы — интернет-компания молодая, то у нас все
будет по-простому: на тест-машине будут все три компонента.
Архитектура
1. Веб-сервер
американского племени индейцев, издревле промышлявших под-
работками на интернет-проектах, а от
память о неимоверном количестве заплаток, на него приклеен-
ных, в результате чего он приобрел белизну и пушистость).
В директориях
• файлы, содержащие
файлы и может служить, например, для проверки е-мейла
при регистрации на наличие двух @. Достоинство
использования
проверка осуществ-
108
ляется на компьютере пользователя в отличие от варианта,
когда мы посылаем непроверенную форму с регистрацией
на сервер с приложением, нагружая этот сервер;
• файлы-картинки
2. Приложение на
• файлов с Python-скриптами, которые можно использовать,
например, для "перевода" регистрационной формы, от-
правленной пользователем, на язык, понятный базе дан-
ных, и для создания новой строки в таблице для новых
пользователей;
• файлов с C++ кодом. Например, нам нужно вставить новое
значение в определенной колонке определенной таблицы
базы данных для всех пользователей, зарегистрированных
у нас более 1 года. Для этой цели мы можем написать про-
грамму на C++.
3. База данных
данные
• о пользователях (например, день регистрации в системе, е-
мейл, имя, фамилию и пароль);
• о транзакциях пользователя (например, когда и что купил);
• о наименованиях книг и их наличии.
Идем дальше.
Начинаются первые неудобства и проблемы, связанные с отсут-
ствием релиз-инженерных знаний:
1. При каждом сохранении файла в той же директории нужно
давать ему новое имя, чтобы не удалить старый вариант
редакции.
2. При сохранении файла после редактирования нельзя про-