Особенности и возможности должности web-программиста

История создания компании ООО "Ромашка". Цели фирмы, ее правовой статус. Характеристика услуг, основные возможности должности web-программиста, ее теоретические и практические основы. Трудности в профессии программиста. Режимы работы интерпретатора.

Рубрика Программирование, компьютеры и кибернетика
Вид отчет по практике
Язык русский
Дата добавления 08.10.2012
Размер файла 69,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Отчет о производственной практике

в ООО "Ромашка" в период с 01.02 по 03.03

Москва 2010

Содержание

  • 1. Общая характеристика предприятия
  • 1.1 История и цели создания
  • 1.2 Правовой статус
  • 1.3 Услуги фирмы
  • 2. Логотип предприятия
  • 3. Характер занимаемой должности
  • 4. Теоретические и практические основы занимаемой должности
  • 4.1 История PHP
  • 4.2 Режимы интерпретатора
  • 5. Трудности в профессии программиста
  • 6. Теоретический вопрос по курсу
  • Заключение
  • Характеристика
  • Дневник прохождения практики

1. Общая характеристика предприятия

1.1 История и цели создания

Компания ООО "Ромашка" действует на рынке с 2003 года и добилась определенных успехов в сфере своей деятельности. ООО "Ромашка" предоставляет услуги системного администрирования для юридических лиц и услуги ремонта компьютеров для физических лиц г. Москва. Так же направлениями деятельности фирмы являются: создание и разработка сайтов, массовые электронные рассылки.

Главная цель фирмы ООО "Ромашка" получение максимальной прибыли и расширение рынка сбыта готовой продукции, путем выпуска продукции соответствующей стандартам РБ, наличие сертификата качества на каждую единицу продукции. Фирма гарантирует совместимость и надежную работу каждого готового персонального компьютера. Фирма ведет своевременное обучение персонала, обеспечение понимания политики в области качества на всех уровнях.

1.2 Правовой статус

ООО "Ромашка" является юридическим лицом, имеет самостоятельный баланс, может от своего имени заключать договоры, приобретать имущественные и личные неимущественные права и нести обязанности, быть истцом и ответчиком в арбитражном суде, суде и третейском суде.

ООО "Ромашка" имеет круглую печать, может иметь штамп и бланки с изображением своего наименования на русском языке, эмблему и товарный знак, а так же прочие атрибуты юридического лица, открывает расчётные и иные счета в банках.

ООО "Ромашка" отвечает по своим обязательствам всем своим имуществом.

ООО "Ромашка" осуществляет все виды внешне экономической деятельности в установленном законодательством порядке.

1.3 Услуги фирмы

Фирма ООО "Ромашка" оказывает такие услуги, как:

Системное администрирование;

Продажа программных продуктов

Создание web-сайтов;

Компьютерная помощь;

Массовая рассылка.

Рассмотрим подробно каждый вид услуг.

Обслуживание компьютеров и сетей (техническое), администрирование обеспечивает клиентам:

Бесперебойную работу компьютеров/сети офиса

Телефонную техническую поддержку 24ч

Снижение затрат на ИТ инфраструктуру офиса

Перевод на бесплатное ПО (не требующее лицензии)

Защиту ценной информации от утечки внутри организации

Обеспечение защиты серверов и рабочих станций от внешних угроз и проникновений

Профессиональное администрирование, обслуживание компьютеров, сетей и серверов.

Выезд инженера в течение 1 часа, решение типичной проблемы - 15 минут

Команду профессионалов по цене 30-100% от зарплаты одного системного администратора в месяц.

Компьютерная помощь - это полный спектр компьютерных услуг. Все специалисты обладают высокой квалификацией в области компьютерных технологий.

Скорая компьютерная помощь включает в себя такие услуги, как:

Абонентское обслуживание компьютеров и серверов

Диагностика компьютеров

Подключение к Интернет

Проектирование и настройка локальных сетей

Обслуживание локальных сетей (в том числе многоуровневых)

Установка беспроводных Wi-Fi сетей

Антивирусная защита

Установка и настройка программного обеспечения (ПО)

Восстановление данных и файлов

Сборка компьютеров на заказ, помощь при покупке

Создание сайта. Порядок действий и технологии.

Компания предоставляет широкий спектр услуг по проектированию, разработке и сопровождению сайтов любой сложности.

Перед тем, как приступить к разработке сайта мы подробно обсуждаются и уточняются цели, задачи и предметную область проекта, выстраиваются перспективы и роль сайта в рекламной политике компании в будущем.

Интернет-сайт - это динамичная структура, которой свойственно меняться вместе с изменениями в компании, владеющей сайтом. В связи с оказывается дальнейшую поддержку ресурса в актуальном состоянии, это могут быть фото-галереи сданных объектов, прайс-листы, ввод новых услуг (разделов сайта), и удаление старых, и многое другое.

Массовая рассылка

Рекламная рассылка (спам) - наиболее эффективный вид рекламы, так как бьет точно в цель. При этом все рекламные усилия направляются на целевую аудиторию. Несмотря на негативное отношение к такому виду рекламы как спам, он еще весьма популярен даже у крупных фирм.

Рассылка позволяет заявить о себе на весь город, стимулируя продвижение, не вкладывая больших средств и времени, такая реклама действует целенаправленно, на потенциального потребителя, который обязательно заинтересуется при условии правильного составления коммерческого предложения.

Сроки и интенсивность рассылки определяются заказчиком, можно доставить коммерческое предложение сотням и тысячам Уфимских фирм за одни сутки, или же рассылать его в течение недели. На сегодняшний день в базе имеется ~ 20тысяч фирм Уфы и Башкортостана (80-90% Москва, 10-20% - другие районы Башкортостана).

2. Логотип предприятия

На данный момент у ООО "Ромашка" разработан собственный фирменный стиль. Он действует уже на протяжении двух лет. Ребрейдинг не планируется. Логотип помещается на печатную корреспонденцию, визитки, папки, ручки и другую канцелярскую продукцию.

3. Характер занимаемой должности

На протяжении месяца в ООО "Ромашка" мне было предложено изучить работу web-программиста.

Работа web-программиста непосредственно связана с глобальной сетью Интернет. Такой специалист создает программы, способные функционировать в ее пределах. Без его участия не может начать работать ни один интернет-проект. Так, например, на основе пожеланий заказчика дизайнер создает графическую концепцию будущего сайта, задача web-программиста воплотить эти идеи технически, заставить сайт ожить. Другими словами web-программисты создают динамические страницы, пишут интерфейсы к базам данных, составляют технические задания проектов.

Среди плюсов профессии программиста можно выделить:

Востребованность на рынке труда,

Творческая работа, так как каждая задача уникальна, и для ее решения

Можно совмещать с учебой,

Не всегда требуется диплом,

Возможность стать специалистом в молодом возрасте,

Свобода в принятии решений (как решать ту или иную задачу решает сам web-программист),

Возможность удаленной работы.

Минусами же являются:

В маленьких проектах web-программист совмещает функции нескольких специалистов,

Частые переключения с одной задачи на другую,

Иногда поставленные задачи приходится решать не только в будни, но и выходные,

Постоянная работа за компьютером сказывается на здоровье, особенно сильно страдают глаза.

Для web-программиста важна усидчивость, особенно на начальных стадиях карьеры. Готовому сайту постоянно требуется обслуживание, обновления и изменения. Создание web-сайта это процесс работы нескольких специалистов. Поэтому еще одним хорошим качеством для web-программиста будет умение работать в команде.

Успешный начинающий программист в будущем может претендовать на должности: руководитель группы программистов, менеджер проекта, ИТ-директор.

При приеме на работу у web-программистов редко когда спрашивают диплом. В основном работодатель обращает внимание на опыт работы, в каких проектах участвовал соискатель и что он умеет делать. Однако высшее образование лишним не будет, для web-программиста достаточно иметь любое техническое. Кроме этого, нужно владеть специфическими для Интернета языками программирования, такими как JavaScript, VBScript, Perl, PHP, Java, C++, базами данных, знать основные среды разработки и разбираться в протоколах.

программист web интерпретатор должность

4. Теоретические и практические основы занимаемой должности

В качестве изучаемого языка web-программирования был выбран PHP.

PHP (англ. PHP: Hypertext Preprocessor - "PHP: препроцессор гипертекста", Personal Home Page Tools (устар.) - "Инструменты для создания персональных веб-страниц") - скриптовый язык программирования общего назначения, интенсивно применяющийся для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.

Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.

В области программирования для Сети PHP - один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.net) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них:

Автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;

Файловые функции успешно обрабатывают как локальные, так и удалённые файлы;

Автоматическая отправка HTTP-заголовков;

Работа с cookies и сессиями;

Обработка файлов, загружаемых на сервер;

Работа с HTTP заголовками и HTTP авторизацией;

Работа с XForms;

Работа с удалёнными файлами и сокетами

В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу Tiobe, базирующемся на данных поисковых систем, в декабре 2009 года PHP находится на 3 месте среди языков программирования (уступая Java и C), поднявшись за год на две позиции

4.1 История PHP

В 1994 году датский программист Расмус Лердорф создал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl - интерпретатора скриптов - перестало хватать, и Лердорф разработал с использованием языка C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter - "Личная Домашняя Страница /Интерпретатор форм").

В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C - PHP/FI 2.0. Её использовали около 1 % (приблизительно 50 тысяч) всех интернет-доменов мира.

Версия PHP 3.0 подверглась значительной переработке, определившей современный облик и стиль языка программирования. В 1997 году два израильских программиста, Энди Гутманс и Зээв Сураски, полностью переписали код интерпретатора. PHP 3.0 был официально выпущен в июне 1998 года.

Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра дополнительными модулями. Впоследствии интерфейс написания расширений привлёк к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Большое количество разработчиков привело к быстрому развитию языка и стремительному росту его популярности. Также язык был переименован в PHP.

К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зээв Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Новый движок, названный Zend Engine, успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. В последующих версиях также были введены пространства имён и замыкания.

Шестая версия PHP находится в стадии разработки с октября 2006 года. В ней уже сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и "длинных" суперглобальных массивов, удаление директив safe_mode, magic_quotes_gpc и register_globals из конфигурационного файла php. ini. Также много внимания уделено поддержке Юникода.

Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.

Для работы программы не требуется описывать какие-либо переменные, используемые модули и т.п. Любая программа может начинаться непосредственно с оператора PHP.

Простейшая программа Hello world на PHP выглядит следующим образом:

<? php

echo 'Hello, world! ';

? >

PHP исполняет код, находящийся внутри ограничителей, таких как <? php? >. Всё, что находится вне ограничителей, выводится без изменений. В основном это используется для вставки PHP-кода в HTML-документ, например, так:

<html>

<head>

<title>Тестируем PHP</title>

</head>

<body>

<? php echo 'Hello, world! ';? >

</body>

</html>

Помимо ограничителей <? php? >, допускается использование дополнительных вариантов, таких как <?? > и <script language="php"> </script>. Кроме того, до версии 6.0 допускается использование ограничителей языка программирования ASP <% %> (конструкции <?? > и <% %> могут быть выключены в конфигурационном файле php. ini).

Имена переменных начинаются с символа $, тип переменной объявлять не нужно. В отличие от имён функций и классов, имена переменных чувствительны к регистру. Именованные константы могут быть объявлены как регистрозависимыми, так и регистронезависимыми. Переменные обрабатываются в строках, заключённых в апострофы или двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора <<<).

PHP рассматривает переход на новую строку как пробел, так же как HTML и другие языки со свободным форматом. Инструкции разделяются с помощью точки с запятой (;), за исключением некоторых случаев.

PHP поддерживает три типа комментариев: в стиле языка Си (ограниченные /* */), C++ (начинающиеся с // и идущие до конца строки) и оболочки UNIX (с # до конца строки).

PHP является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами зачастую осуществляются неявно без дополнительных усилий (впрочем, PHP предоставляет широкие возможности и для явного преобразования типов).

К скалярным типам данных относятся:

целый тип (integer),

вещественный тип данных (float, double),

логический тип (boolean),

строковый тип (string)

и специальный тип NULL.

К нескалярным типам относятся:

"ресурс" (resource),

массив (array)

и объект (object).

Диапазон целых чисел (integer) в PHP зависит от платформы (обычно это диапазон 32-битных знаковых целых чисел, то есть от ?2 147 483 648 до 2 147 483 647). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления. Диапазон вещественных чисел (double) также зависит от платформы (для 32-битной архитектуры диапазон позволяет оперировать числами от ±1.7Ч10?308 до ±1.7Ч10+308).

PHP предоставляет разработчикам логический тип (boolean), способный принимать только два значения TRUE ("истина") и FALSE ("ложь"). При преобразовании в логический тип число 0, пустая строка, ноль в строке "0", NULL и пустой массив считаются FALSE. Все остальные значения автоматически преобразуются в TRUE.

Специальный тип NULL предназначен для переменных без определённого значения. Единственным значением данного типа является константа NULL. Тип NULL принимают неинициализированные переменные, переменные инициализированные константой NULL, а также переменные, удалённые при помощи конструкции unset ().

Ссылки на внешние ресурсы имеют тип "ресурс" (resource). Переменные данного типа, как правило, представляют собой дескриптор, позволяющий управлять внешними объектами, такими как файлы, динамические изображения, результирующие таблицы базы данных и т.п.

Массивы (array) поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется.

Обращение к переменным осуществляется с помощью символа $, за которым следует имя переменной. Данная конструкция может быть применена также для создания динамических переменных и функций. Например:

$a = 'I am a'; // Запись значение в переменную $a

echo $a; // Вывод переменной

$b = 'a';

echo $$b; // Вывод переменной (дополнительный $ перед переменной $b)

function_name (); // Вызов функции function_name

$c = 'function_name';

$c (); // Вызов функции function_name,

$d = 'Class_name';

$ob = new Class_name; // Создание объекта класса Class_name

$obj = new $d (); // Создание объекта класса Class_name

$obj->b; // Обращение к полю b объекта

$obj->c (); // Вызов метода c () объекта

$obj->$b; // Обращение к полю a объекта, так как $b = 'a'

$obj->$c (); // Вызов метода function_name () объекта, так как $c = 'function_name'

В PHP echo и print не являются функциями (хотя print имеет возвращаемое значение), а являются синтаксическими единицами. При их использовании можно опустить скобки.

Суперглобальные массивы

Суперглобальными массивами (англ. Superglobal arrays) в PHP называются предопределённые массивы, имеющие глобальную область видимости без использования директивыglobal. Большая часть этих массивов содержит входные данные запроса пользователя (параметры GET-запроса, поля форм при посылке методом POST, куки и т.п.).

Все суперглобальные массивы кроме $GLOBALS и $_REQUEST имеют устаревшие аналоги с длинными именами, которые доступны вплоть до пятой версии PHP (в шестой версии планируется их исключение). Таким образом, обращения $_GET ['year'] и $HTTP_GET_VARS ['year'] идентичны (за исключением области видимости: массивы с "длинными" именами не являются суперглобальными).

$GLOBALS

Массив всех глобальных переменных (в том числе и пользовательских).

$_SERVER (устаревший аналог - $HTTP_SERVER_VARS)

Содержит переменные окружения, которые операционная система передаёт серверу.

$_ENV (уст. $HTTP_ENV_VARS)

Текущие переменные среды (англ. Environment variables). Их набор специфичен для платформы, на которой выполняется скрипт.

$_GET (уст. $HTTP_GET_VARS)

Содержит параметры GET-запроса, переданные в URI после знака вопроса "?".

$_POST (уст. $HTTP_POST_VARS)

Ассоциативный массив значений полей HTML-формы при отправки методом POST. Индексы элементов соответствуют значению атрибута name элементов управления HTML-формы.

$_FILES (уст. $HTTP_POST_FILES)

Ассоциативный массив со сведениями об отправленных методом POST файлах. Каждый элемент имеет индекс, идентичный значению атрибута "name" в форме, и, в свою очередь, также является массивом со следующими элементами:

['name'] - исходное имя файла на компьютере пользователя.

['type'] - указанный агентом пользователя MIME-тип файла. PHP не проверяет его, и поэтому нет никаких гарантий, что указанный тип соответствует действительности.

['size'] - размер файла в байтах.

['tmp_name'] - полный путь к файлу во временной папке. Файл необходимо переместить оттуда функцией move_uploaded_file. Загруженные файлы из временной папки PHP удаляет самостоятельно.

['error'] - код ошибки. Если файл удачно загрузился, то этот элемент будет равен 0 (UPLOAD_ERR_OK).

$_COOKIE (уст. $HTTP_COOKIE_VARS)

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

$_REQUEST

Содержит элементы из массивов $_GET, $_POST, $_COOKIE. С версии PHP 4.1 включает $_FILES.

$_SESSION (уст. $HTTP_SESSION_VARS)

Содержит данные сессии.

Объектно-ориентированное программирование

PHP поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка.

Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает все три основных механизма ООП - инкапсуляцию, полиморфизм и наследование (родительский класс указывается с помощью ключевого словаextends после имени класса). Поддерживаются интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов. Для обращения к методам родительского класса используется ключевое слово parent.

Классы в PHP имеют ряд специальных методов (англ. Magic methods), начинающихся с двух символов подчёркивания. Особо стоит отметить конструктор (__construct (), в версиях до 5.0 конструктором служил метод, одноимённый с классом) и деструктор (__destruct ()), а также методы чтения (__get ()) и записи (__set ()), свёртывания (__sleep ()) и развёртывания (__wake ()), клонирования (__clone ()) и др. Эти методы являются достаточно гибким инструментом: переопределяя их, можно добиться существенного изменения поведения объекта.

Экземпляры класса создаются с помощью ключевого слова new, обращение к полям и методам объекта производится с использованием оператора - >. Для доступа к членам класса из его методов используется переменная $this.

class C1 extends C2 implements I1, I2

{

private $a;

protected $b;

function __construct ($a, $b)

{

parent:: __construct ($a, $b);

$this->a = $a;

$this->b = $b;

}

public function plus ()

{

return $a + $b;

}

/*.... */

}

$d = new C1 (1,2);

echo $d->plus ();

Начиная с пятой версии PHP, объекты передаются по ссылке:

class a

{

public $color = 'red';

}

$a = new a ();

echo $a - > color; // red

$b = $a;

$b - > color = 'blue';

echo $a - > color; // blue

"Paamayim Nekudotayim" или просто "двойное двоеточие". Используя эту лексему, программист может обращаться к константам, статическим или перегруженным свойствам или методам класса. При обращении к этим элементам извне класса, программист должен использовать имя этого класса. "Paamayim Nekudotayim" на первый взгляд может показаться странным словосочетанием для обозначения двойного двоеточия. Однако, во время создания Zend Engine версии 0.5 (который входил в PHP3), Andi и Zeev выбрали именно это обозначение. "Paamayim Nekudotayim" действительно значит "двойное двоеточие". Намиврите. Просто это обозначение не менялось ни разу в течение всего времени разработки PHP.

<? php

class MyClass {

const CONST_VALUE = 'Значение константы';

}

// Использование:: вне объявления класса

echo MyClass:: CONST_VALUE;

? >

Особенности интерпретатора

PHP-скрипты обычно обрабатываются интерпретатором в порядке, обеспечивающем кроссплатформенность разработанного приложения:

Лексический анализ исходного кода и генерация лексем

Синтаксический анализ полученных лексем

Генерация байт-кода

Выполнение байт-кода интерпретатором (без создания исполняемого файла)

Для увеличения быстродействия приложений возможно использование специального программного обеспечения, т. н. акселераторов. Принцип их работы заключается в кэшировании однажды сгенерированного байт-кода в памяти и/или на диске, таким образом из процесса работы приложения исключаются этапы 1-3, что в общем случае ведёт к значительному ускорению работы. Наибольшая эффективность акселератора достигается на скриптах с большим количеством исходного кода, содержащих небольшое количество операций, ресурсоёмких при выполнении даже считанного количества раз (например таких, как масштабирование изображений).

Важной особенностью является то, что разработчику нет необходимости заботиться об распределении и освобождении памяти. Ядро PHP реализует средства для автоматического управления памятью; вся выделенная память возвращается системе после завершения работы скрипта.

Расширения

Интерпретатор состоит из ядра и подключаемых модулей, "расширений", представляющих собой динамические библиотеки. Расширения позволяют дополнить базовые возможности языка, предоставляя возможности для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDFи т.п. Любой желающий может разработать своё собственное расширение и подключить его. Существует огромное количество расширений, как стандартных, так и созданных сторонними компаниями и энтузиастами, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Множество расширений доступно в репозитории PECL.

Параметры настройки

Интерпретатор PHP имеет специальный конфигурационный файл - php. ini, содержащий множество настроек, изменение которых влияет на поведение интерпретатора. Имеется возможность отключить использование ряда функций, изменить ограничения на используемую скриптом оперативную память, время выполнения, объём загружаемых файлов, настроить журналирование ошибок, работу с сессиями и почтовыми сервисами, подключить дополнительные расширения, а также многое другое.

4.2 Режимы интерпретатора

Существует несколько способов использования интерпретатора PHP:

В качестве модуля к веб-серверу посредством SAPI или ISAPI (например, для Apache модуль mod_php). Веб-сервер запускается с загруженным модулем и при обращении к php-скрипту он выполняется в окружении процесса веб-сервера. Это наиболее распространённый метод использования PHP в силу следующих причин:

Он наиболее удобен для отладки, так как ошибки PHP выводятся на экран (если данный режим включен в настройках), тогда как в режиме CGI ошибка приводит к генерации HTTP-кода 500 и дополнительную информацию необходимо искать в логах веб-сервера.

Имеется возможность менять некоторые настройки PHP "на лету" с помощью файла. htaccess, без перезагрузки веб-сервера.

В режиме CGI нет возможности воспользоваться HTTP-аутентификацией.

Более высокая скорость работы.

В качестве CGI. В этом случае при вызове скрипта веб-сервер вызывает /usr/bin/php-cgi /path/to/script. php. При этом создаётся новый процесс и скрипт выполняется в окружении php-cgi, которое, в зависимости от настроек, может сильно отличаться от окружения процесса веб-сервера. Более современным вариантом является FastCGI. Несмотря на то, что препроцессор PHP все равно будет перезапускаться при каждом запросе, преимуществом данного варианта перед предыдущим является более высокая степень безопасности, потому как PHP работает как отдельное приложение со своими правами.

В качестве скрипта командной строки, являющегося исполняемым файлом, который вызывается пользователем из командной строки; скрипт выполняется в окружении вызвавшего пользователя. В этом случае возможно использование PHP для создания клиентскихGUI-приложений и решения административных задач в операционных системах UNIX, GNU/Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript

Пасхальные яйца

PHP имеет несколько пасхальных яиц (шуток). Передача специальных GET-параметров любому php-скрипту приводит к выводу различных изображений.

Например:

любой_сценарий. php? =PHPE9568F36-D428-11d2-A769-00AA001ACF42

введя это значение в адресную строку браузера можно увидеть различные изображения, в зависимости от версии интерпретатора:

фотография Thies Arntzen (версии 4.1.2, 4.2.2)

фотография таксы (владелец Stig Bakken) (версии 4.3.2, 4.3.3, 4.3.8 - 4.3.10)

фотография чёрного терьера (владелец Zeev Suraski) (версии 4.3.11, 4.4.0 - 4.4.4, 5.1.0, 5.1.2)

фотография кролика (версии 4.3.1, 5.0.0, 5.0.3)

искажённый логотип PHP (современные версии)

Следующие два значения позволят увидеть стандартный логотип PHP и ZEND, соответственно:

любой_сценарий. php? =PHPE9568F34-D428-11d2-A769-00AA001ACF42

любой_сценарий. php? =PHPE9568F35-D428-11d2-A769-00AA001ACF42

Эти значения можно получить и непосредственно в PHP-скрипте с помощью функций php_logo_guid и zend_logo_guid для логотипа Zend.

Также имеется специальное значение для отображения списка всех авторов PHP (4,5):

любой_сценарий. php? =PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

В силу популярности языка PHP и желания увеличить быстродействие основанных на нём веб-приложений, создано несколько альтернативных компиляторов близкого к PHP языка. Так в феврале 2010 года компания Facebook открыла свой компилятор PHP - HipHop HPHP, Hyper-PHP) генерирующий код на C++, с последующей компиляцией в машинный код с помощью gcc.

5. Трудности в профессии программиста

Если посмотреть на рынок ПО, то несложно заметить, что ничего нового фактически не появляется. Были эпохальные продукты вроде Windows, Office, 1C Что-То-Там и тому подобных монстров, которые закрыли собой гигантские ниши. Приходится признать: эпоха разработки массового софта заканчивается. Все, что нужно среднестатистическому пользователю, уже написано.

На данный момент разработчики (программист) веб - приложений требуются во многих фирмах. Сейчас "программист" уже в головах обывателей является синонимом "веб-программиста". Только вот беда - вердикт "уже написано" все чаще звучит и здесь. Народ уже не знает, что бы такое написать, поэтому пишет всякую ерунду, благо процесс ее создания упростился невероятно.

Появился парадокс: писать больше нечего, а программисты все работают (и неплохо зарабатывают). Ничего удивительного. Программисты работают по инерции.

С одной стороны, компании все еще думают, что стоит только нанять программиста, как все проблемы исчезнут. Видимо, сказываются смутные воспоминания о золотом веке софтостроения в 90-х годах. А поскольку у нас в стране бизнес основан не на грамотном управлении, то никто и не планирует просчитывать, действительно ли найм программистов за большие деньги приносит прибыль. Конечно, к софтверным компаниям (которые в данном случае выступают в роли метапрограммистов) это не относится.

С другой стороны, программисты все еще считают себя самыми востребованными специалистами на свете и всячески это мнение поддерживают. Вместе с тем их профессионализм стремительно падает, а самооценка столь же стремительно растет. "Российских Программистов" это касается в первую очередь.

Пройдет еще несколько лет (от 5 до 15), и запас инерции кончится. Собственно, зарплаты программистов уже падают (и в рублях, и в долларах), как и количество вакансий. А скоро мы получим:

в разы меньшее количество рабочих мест;

гораздо более высокие требования к квалификации;

жесточайшую конкуренцию.

6. Теоретический вопрос по курсу

Тема теоретического вопроса: "Сети сотовой подвижной связи".

Сотовая связь - один из видов мобильной радиосвязи, в основе которого лежит сотовая сеть. Ключевая особенность заключается в том, что общая зона покрытия делится на ячейки (соты), определяющиеся зонами покрытия отдельных базовых станций (БС). Соты частично перекрываются и вместе образуют сеть. На идеальной (ровной и без застройки) поверхности зона покрытия одной БС представляет собой круг, поэтому составленная из них сеть имеет вид сот с шестиугольными ячейками (сотами).

Сеть составляют разнесённые в пространстве приёмопередатчики, работающие в одном и том же частотном диапазоне, и коммутирующее оборудование, позволяющее определять текущее местоположение подвижных абонентов и обеспечивать непрерывность связи при перемещении абонента из зоны действия одного приёмопередатчика в зону действия другого.

Основные составляющие сотовой сети - это сотовые телефоны и базовые станции. Базовые станции обычно располагают на крышах зданий и вышках. Будучи включённым, сотовый телефон прослушивает эфир, находя сигнал базовой станции. После этого телефон посылает станции свой уникальный идентификационный код. Телефон и станция поддерживают постоянный радиоконтакт, периодически обмениваясь пакетами. Связь телефона со станцией может идти по аналоговому протоколу (AMPS, NAMPS, NMT-450) или по цифровому (DAMPS, CDMA, GSM, UMTS). Если телефон выходит из поля действия базовой станции, он налаживает связь с другой

Сотовые сети могут состоять из базовых станций разного стандарта, что позволяет оптимизировать работу сети и улучшить её покрытие.

Сотовые сети разных операторов соединены друг с другом, а также со стационарной телефонной сетью. Это позволяет абонентам одного оператора делать звонки абонентам другого оператора, с мобильных телефонов на стационарные и со стационарных на мобильные.

Операторы могут заключать между собой договоры роуминга. Благодаря таким договорам абонент, находясь вне зоны покрытия своей сети, может совершать и принимать звонки через сеть другого оператора. Как правило, это осуществляется по повышенным тарифам.

В России основная часть абонентов являются пользователями стандарта GSM, поэтому каждому из них выгодно развитие сетей GSM и сворачивание сетей других стандартов, так как абоненты хотят иметь широкий роуминг, а не слышать, что в данной местности работает только сеть другого стандарта. Также, операторы стандарта GSM лоббируют свои интересы, говоря что другие стандарты засаряют эфир. Сети других стандартов требуют материальных и технических ресурсов, что вызывает их распыление во вред абонентам стандарта GSM. Тем не менее рассмотрим какие же существуют альтернативные стандарты, их плюсы и минусы.

Стандарт GSM900 (Global System for Mobile Сommunications) - глобальная система подвижной связи. Панъевропейский цифровой стандарт, диапазон частот 890 - 960 МГц.

Главное достоинство GSM-900 - меньшие по сравнению с аналоговыми стандартами размеры и вес телефонных аппаратов при большем времени работы без подзарядки аккумулятора. Это становится возможным при использовании аппаратуры базовой станции, которая постоянно анализирует уровень сигнала, принимаемого от аппарата абонента. В тех случаях, когда он выше требуемого, автоматически снижается излучаемая мощность. Относительно высокая емкость сети. Низкий уровень помех. Более высокий уровень защиты от подслушивания и нелегального использования номера, чем у аналоговых стандартов (хотя защита у GSM-1800 и CDMA несколько выше, чем у GSM-900). Недостаток стандарта - небольшая дальность сигнала. Устойчивая связь возможна на расстоянии не более 35 км от ближайшей базовой станции даже при использовании усилителей и направленных антенн.

В стандарте GSM-900 для максимальной защиты от несанкционированного подключения применяется специальный модуль подлинности абонента: SIM-карта. Эта карточка, во встроенной микросхеме которой хранится специальная информация о конкретном абоненте, выдается ему при подключении телефона и может быть использована с любой моделью мобильного аппарата стандарта GSM. Чтобы похититель не смог ею воспользоваться, в нее вводят специальный идентификационный номер (РIN-код), который нужно набирать при каждом включении аппарата. Если три раза подряд неправильно набрать РIN - код, SIM-карта временно заблокируется. Использование SIM-карты также удобно тем, что при смене аппарата абоненту не нужно менять свой мобильный номер, он просто переставляет карту, и все сохраненные на ней данные (включая записную книжку) становятся доступными в новом аппарате.

Стандарт GSM1800 (Global System for Mobile Сommunications) - глобальная система подвижной связи. Цифровой стандарт, диапазон частот 1710 - 1880 МГц. Модификация стандарта GSM-900.

Это самый распространенный в мире стандарт. Отличительные его особенности - отличное качество передаваемого звука, конфиденциальность переговоров, невозможность пиратского доступа к абонентскому номеру, а также широкий выбор эргономичных и высоконадежных телефонных аппаратов.

Для GSM-1800 характерна меньшая, по сравнению с GSM-900, максимальная излучаемая мощность мобильных телефонов У стандарта GSM-1800 она составляет 1Вт, у стандарта GSM-900 - 2Вт. Высокая защита от подслушивания и нелегального использования номера. Высокая емкость сети, что важно для крупных городов. Недостаток тот же, что и у GSM-900 - небольшой охват. Максимальное удаление абонента от базовой станции - 5-6 километров.

В стандарте GSM-1800 для максимальной защиты от несанкционированного подключения применяется специальный модуль подлинности абонента - SIM-карта. Эта карточка, во встроенной микросхеме которой хранится специальная информация о конкретном абоненте, выдается ему при подключении телефона и может быть использована с любой моделью мобильного аппарата стандарта GSM. Чтобы похититель не смог ею воспользоваться, в нее вводят специальный идентификационный номер (РIN-код), который нужно набирать при каждом включении аппарата. Если три раза подряд неправильно набрать РIN - код, SIM-карта временно заблокируется. Использование SIM-карты также удобно тем, что при смене аппарата абоненту не нужно менять свой мобильный номер, он просто переставляет карту, и все сохраненные на ней данные (включая записную книжку) становятся доступными в новом аппарате.

Стандарт CDMA (Code Division Multiple Access) - система множественного доступа с кодовым разделением. Беспроводной абонентский доступ WLL (Wireless Local Loop), реализованный на базе новейшей цифровой технологии с кодовым разделением каналов CDMA.

Для данного стандарта характерны отличное качество звука и низкий уровень фоновых шумов. Повышенная емкость системы, которая в 10 раз выше чем у AMPS и в 3-5 раз больше чем у GSM, определяется максимально возможным количеством активных пользователей системы на территории зоны ее обслуживания. CDMA улучшает качество связи в перенаселенных районах, и местностях с холмистым рельефом, где возникают помехи от отраженных сигналов. CDMA увеличивает емкость системы, "виртуально" отсеивая занятые, перекрестные и повисшие вызовы. Это становится возможным благодаря многократному использованию одного частотного канала во всех сотах. Повышению емкости системы способствует применение механизма контроля мощности и речевой активности, что уменьшает взаимные помехи, влияющие на емкость системы и другие факторы. В результате абоненты не страдают от блокировки вызовов в часы наибольшей нагрузки на сеть.

Существенным отличием абонентских аппаратов CDMA является малая излучаемая мощность, которая составляет менее 10мВт, что на порядок меньше, чем в сетях DAMPS и GSM. Столь низкие требования к мощности позволяют использовать портативные аппараты с более длительным временем работы без подзарядки. CDMA использует более 4,4 триллиона кодов для разделения индивидуальных вызовов, обеспечивая полную защиту и предотвращая несанкционированные подключения. CDMA использует уникальный код для каждого вызова, что позволяет надежно защитить частную информацию. Провайдеры могут использовать одну из трех систем множественного доступа, и разделить абонентов так, чтобы они не мешали друг другу.

Стандарт NMT-450i (Nordic Mobile Teleрhone), диапазон частот 453 - 468 МГц. Аналоговый стандарт, разработан в Скандинавии. В стандарте NMT-450 создана первая федеральная сеть сотовой связи "СОТЕЛ". Сети NMT-450 охватывают территории практически всех крупных городов и областей России.

Достоинства NMT-450 - значительно большая по сравнению с другими стандартами площадь обслуживания одной базовой станции при гораздо меньших затратах; малое затухание сигнала на открытом пространстве. Для сетей NMT-450 характерна большая дальность - возможность пользоваться связью на расстоянии в несколько десятков километров от базовой станции (до 100 км). Сигнал фиксируется даже за пределами гарантированной зоны покрытия, если абонент может подключить высокоэффективные направленные антенны и усилители. Более естественное, чем при использовании цифровых стандартов, звучание человеческого голоса.

Недостатками данного стандарта являются слабая помехоустойчивость (уровень помех в этом диапазоне выше, чем в диапазонах 800, 900 и 1800 МГц); меньшая, чем в цифровых стандартах, возможность предоставления широкого спектра сервисных услуг; незащищенность от подслушивания. Габариты, вес, потребление энергии аккумуляторов у телефонных аппаратов больше, чем в цифровых системах, а время работы, соответственно, меньше (в новых моделях эти недостатки менее выражены). Вероятность снижения качества связи внутри помещений, увеличение времени дозвона в моменты пиковой нагрузки в сети. По этой причине в крупных городах число одновременно используемых номеров в пределах одной соты стандарта NMT-450 ограничено. Вероятность подключения "двойников".

Для защиты пользователей сети от "двойников" была разработана современная система защиты SIS (SIS - Subscriber Identification Security). Внедрение ее началось на сетях NMT450 c системы "Дельта Телеком" еще в 1994 году. С тех пор, как утверждает менеджмент компании, не зарегистрировано ни одного случая проникновения в сеть. Соответствующая реализация стандарта известна под названием NMT450i. Помимо функции защиты от фрода, оператор получает ряд дополнительных возможностей, например, пониженный тариф для телефона с ограниченной (одной сотой) мобильностью, ограничение зоны обслуживания для конкретного абонента, SMS и ряд других. Основное преимущество - возможность организации автоматического роуминга.

В процессе модернизации разрабатываются новые версии стандарта. Для увеличения емкости сотовых сетей стандарта NMT-450 планируется использовать шаг частотной сетки 12,5 кГц вместо стандартного шага 25 кГц, что позволит увеличить количество рабочих каналов с 180 до 359. Но этой привилегией смогут воспользоваться только владельцы новых моделей телефонов. Предполагается использовать временное разделение каналов, как в цифровых системах (работа нескольких абонентов на одной частоте). Спутниковые системы связи не смогут в ближайшее время составить серьезной конкуренции сетям NMT-450 из-за высокой стоимости предоставляемых услуг.

Стандарт DAMPS (Digital Advanced Mobile Рhone Service) - цифровая усовершенствованная подвижная телефонная служба. Цифровая модификация стандарта AMPS. Разработан для Северной Америки, но, завоевав популярность и в других странах, в 1993 г. появился в России. Диапазон частот 825 - 890 МГц.

Особенностью данного стандарта является высокая емкость сетей (значительно выше, чем у NMT-450 и AMРS). В DAMРS/AMРS пользователь получает возможность эксплуатации мобильного аппарата как в цифровом, так и в аналоговом режимах. Абонентам предоставляется широкий спектр сервисных услуг. Емкость сетей сотовой связи, работающих в этом стандарте, ниже, чем в полностью цифровых системах, но все же значительно выше, чем в аналоговых. Если при роуминге абонент из аналоговой сети AMРS попадает в цифровую - DAMРS, для работы ему выделяются аналоговые каналы. Однако в этом случае преимущества цифровой связи, оплаченные заранее, ему недоступны.

В перспективе сети AMРS постепенно будут заменяться сетями, работающими в цифровой версии этого стандарта. Последняя модификация IS-136 стандарта DAMРS по техническим воможностям приближает его к GSM, она применяется в московской сети "Би Лайн". Получает развитие и автоматический роуминг. У сотовых сетей есть свои "часы пик", когда мобильные абоненты не могут дозвониться или вынуждены прерывать разговор. Особенно это характерно для крупных городов, где сосредоточена основная масса пользователей. Для разрешения этой проблемы и удовлетворения растущих потребностей абонентов в сервисе операторы переходят от аналоговых к современным цифровым стандартам.

Стандарт AMPS/NAMPS (Advanced Mobile Рhone Service) была впервые введена в эксплуатацию в США в 1979г, это первый стандарт сотовой связи, взятый на эксплуатацию коммерческими операторами связи. Система работает в диапазоне 825-890 МГц и имеет 666 дуплексных каналов при ширине полосы частот каждого канала 30 кГц. Мощность передатчика базовой станции составляет 45 Вт, автомобильной подвижной станции 12 Вт, переносного аппарата до 2 Вт. В стандарте использован ряд оригинальных технических решений, направленных на обеспечение качественной связи при минимальной стоимости оборудования. На основе этого стандарта в дальнейшем были разработаны две его модификации: аналоговая N-AMPS и цифровая D-AMPS, Оба эти варианта были созданы, в первую очередь, для размещения в выделенной полосе частот большего числа разговорных каналов. В N-AMPS это достигается использованием более узких полос частот каналов, а в D-AMPS использованием временного разделения каналов. В системе сотовой связи стандарта AMPS применяются базовые станции с антеннами, имеющими ширину диаграммы направленности 120 градусов, которые устанавливаются в углах ячеек. Базовые станции подключены к центрам коммутации с помощью проводных линий, по которым передаются речевые сигналы и служебная информация. В системе используется принцип разнесенного приема сообщений, поэтому базовые станции содержат по две антенны и соответствующие полосовые фильтры. Приемник - двухканальный, с двойным преобразованием частоты в каждом канале. Блок контроля выполняет функции диагностики состояния станции. Для принятия решения о переключении каналов в системе осуществляется периодический контроль качества каждого из них путем измерения интенсивности принимаемого сигнала (напряженности поля) с помощью специального приемника. Информация об уровне сигнала в контролируемом канале передается в центр коммутации подвижной связи, где производится сравнение принятой информации с аналогичными данными соседних базовых станций и, в случае необходимости, принимается решение о переключении абонента на другую базовую станцию.

Сети подвижной связи стандарта AMPS широко используются в России. Операторов, работающих в этом стандарте, объединяет "Ассоциация-800? - организация, координирующая действия и защищающая права операторов, работающих в диапазоне 800 МГц. На сегодняшний день в ней состоят около 60 операторов России и ближнего зарубежья.

Одним из самых актуальных вопросов, стоящих перед членами "Ассоциации-800? из числа тех, кто эксплуатирует сотовые сети стандарта AMPS/NAMPS, является постепенный переход на более современные стандарты, работающие на частоте 800 МГц. Наиболее очевидный способ - это цифровизация этого же стандарта, т. е переход на D-AMPS, тем более, что существует много мобильных терминалов, работающих одновременно в AMPS и в D-AMPS. Более перспективный путь, но требующий комплексное переоборудование сетей, подразумевает переход на стандарт CDMA. Однако в связи с решением Минсвязи России, выдача лицензий на предоставление услуг связи в этом стандарте, приостановлена.

Ещё один вопрос, который касается модернизации сетей AMPS/D-AMPS, касается предоставления абонентам услуг передачи данных и выхода в Интернет. Богатейшие возможности открываются при использовании технологии пакетной коммутации данных, которая реализует вариант беспроводного доступа в Интернет, электронной почте, передачу сообщений (как двусторонних, так и широковещательных), доступ к базам данных и удаленной телеметрии. Существует одно полностью готовое решение - Пакетная Передача Данных в Сотовых Сетях (CDPD). CDPD - это коммерчески доступная технология, которая позволяет сетям AMPS/D-AMPS поддерживать пакетную передачу данных. Система CDPD интегрируется в существующую сеть, причем возможности пакетной передачи можно наращивать постепенно.

Таким образом, операторы сетей AMPS имеют большие перспективы на будущее. Для этого стандарта разрабатываются способы предоставления ранее недоступных услуг, что позволяет им конкурировать с более современными сетями.

Транковая связь (от англ. Trunk - ствол, магистраль) снована на использовании частотного диапазона 136-174 МГц, который не является опасным для человека. Транковые радиотелефонные системы, объединяя в себе преимущества радио - и телефонной связи, предлагают оригинальный способ мобильной коммуникации крупных групп абонентов.


Подобные документы

  • Описание языка html. Анализ IT инфраструктуры, обоснование выбора используемой системы. Характеристика условий труда программиста на предприятии. Организация рабочего места инженера-программиста методом сокращения затрат вспомогательного времени.

    дипломная работа [1,7 M], добавлен 21.06.2014

  • Создание автоматизированного рабочего места подготовки управляющих программ для станков с ЧПУ. Технологическая сущность и формализация алгоритма задачи; техническое и программное обеспечение АРМ. Организация оптимальных условий труда программиста; смета.

    дипломная работа [2,4 M], добавлен 22.05.2013

  • Режим работы, структура и функциональные задачи ГБОУ АО СПО "Астраханский промышленный колледж". Должностные инструкции техника, оператора, системного программиста. Аппаратное обеспечение и сетевые ресурсы учреждения. Требования к технике безопасности.

    отчет по практике [792,5 K], добавлен 10.06.2014

  • Разработка программы на языке Visual Basic. Спецификация на программный модуль. Ввод, изменение и удаление данных по определенным требованиям. Руководство системного программиста, программиста и оператора. Ведение базы данных в виде таблицы Excel.

    курсовая работа [272,5 K], добавлен 21.04.2014

  • Основные преимущества и возможности объектно-ориентированного языка программирования С#. Руководство пользователя: установка приложения, эксплуатация ежедневника, назначение полей, кнопок и пунктов меню. Руководство программиста. Событие элемента Timer.

    курсовая работа [4,5 M], добавлен 16.08.2012

  • Особенности профессии программиста как специалиста, который занимается разработкой алгоритмов и компьютерных программ на основе специальных математических моделей. Категории программистов: прикладные, системные и web, доминирующие виды их деятельности.

    презентация [2,3 M], добавлен 29.01.2012

  • Техническое задание на разработку программного продукта и требования к программе. Написание алгоритма работы и разработка интерфейса программы. Руководство системного программиста и оператора. Основные методы и принципы тестирования базы данных.

    дипломная работа [2,7 M], добавлен 27.01.2013

  • Общая характеристика и особенности организационной структуры предприятия. Потенциально опасные и вредные производственные факторы. Санитарно-гигиенические требования к помещениям и рабочим местам программистов. Программное и аппаратное обеспечение.

    отчет по практике [41,4 K], добавлен 10.10.2014

  • Статья профессионального программиста из Aiken WDS

    [5,9 K], добавлен 19.02.2002

  • Проектирование программного обеспечения для создания баз данных о работах студентов университета при помощи языка Visual Basic. Разработка интерфейса пользователя. Руководство для системного программиста. Краткое описание алгоритма работы с программой.

    курсовая работа [2,6 M], добавлен 19.03.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.