Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комаров Дмитрий - Разработка сайта для строител...doc
Скачиваний:
7
Добавлен:
25.09.2019
Размер:
7.95 Mб
Скачать

2.2.Выбор и обоснование средств разработки

2.2.1.Выбор языка программирования для сервера

Наиболее приемлимым языком для выполнения задания является PHP. К его неоспоримым достоинствам стоит отнести:

  • Язык разработан и предназначен специально для работы с гипертекстовыми документами.

  • Хорошие встроенные функции для работы со строками, аутентификацией, cookies, sql-запросами, кодировкой, сессиями, почтой.

  • В языке с 5-й версии полностью реализовано Объектно-ориентированное программирование и ссылки на объекты.

  • Популярность языка. Большое число выполненных проектов, фреймворков, CMS и модулей для них. Развитые сообщества пользователей.

  • Низкие требования к ресурсам сервера.

2.2.2.Выбор субд sql

MariaDB- бесплатный форк MySQL. (http://mariadb.org)

Является полностью заменимой версией MySQL и в отличие от него не имеет лицензионных ограничений.

2.2.3.Выбор Web-сервера

LAMP – Linux + Apache + MySQL + PHP

2.2.4.Выбор хостинга

http://masterhost.ru/ (тариф «Аспирант» - 200 р./мес.)

  • до пяти сайтов на одном аккаунте

  • хорошая техническая поддержка

  • хороший аптайм, гарантия надёжности

  • минимум настроек

Альтернатива – http://firstvds.ru/ (тариф VDS-отрыв 400 р./мес.)

  • Виртуальный выделенный сервер с характеристиками CPU 1.8 GHz, 1.5 GB RAM, 24 GB HDD (неплохо в сравнении с 3 GB на masterhost'е)

  • Дистрибутив Debian-6-i386-ISPmanager, виртуализуемый в OpenVZ. ISPManager - это web-интерфейс, позволяющий быстро и удобно изменять все важные настройки, не копаясь в тестовых конфигах. Доступ к консоли и тонкая настройка осуществляется по ssh, например, из-под Windows Xp с помощью ssh-клиента PuTTY (http://www.putty.org/) либо утилиты ssh, входящей в пакет unix-подобных утилит для windows Cygwin (http://www.cygwin.com/).

  • Безлимитный трафик.

  • Возможность тонкой ручной настройки LAMP-сервера, автоматизации бэкапов, доступ по FTP. Возможность обработки загружаемых файлов любыми приложениями и утилитами.

  • Возможность размещения неограниченного числа будущих проектов на этом же хостинге.

2.2.5.Выбор интегрированной среды разработки

IDE NetBeans (http://netbeans.org/):

Достоинства:

  • кросплатформенность (IDE написана на Java)

  • заточенность на работу с web-проектами

  • подсветка и автодополнение php, html, css, js

  • удобный текстовый редактор

  • система встраиваемых плагинов, расширяющих IDE

  • огромное сообщество пользователей

Недостатки:

  • высокие системные требования

  • нестабильная работа

2.2.6.Выбор вспомогательных программных средств

Gimp – бесплатный растровый графический редактор.

InkScape – бесплатный векторный графический редактор.

Mercurial – простая и удобная бесплатная кроссплатформенная система контроля версий на Python, не требующая дополнительной конфигурации.

MySQL Workbench – визуальное проектирование базы данных и экспорт структуры таблиц в исполняемый sql-скрипт.

Oracle VirtualBox 4 – виртуальная машина для проверки работы linux-хостинга

2.2.7.Обход недостатков php как динамически типизированного языка

Как известно, PHP является динамически типизированным объектно-ориентированным языком. В статически типизированных языках ещё на этапе компиляции предупреждается о многих возможных ошибках, например, нельзя передать в функцию число вместо строки, а к фамилии прибавить дату рождения. В PHP же такое очень даже возможно, типы входных параметров функций разрешено указывать только для сложных объектов. Поэтому планируется использовать систему автоматизированного модульного тестирования SimpleTest а также включить в цикл разработки некоторые приёмы из практики TDD (Test-Driven Development).