Основы веб-технологий

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

Цель предмета — продемонстрировать возможности современных веб-технологий и сформировать общее представление о принципах создания веб-страниц и сервисов.

Веб-вёрстка

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

Изучаемые технологии

  • Спецификации HTML 4.01 и HTML 5
  • CSS 2.1 и CSS 3
  • XML(RSS)/XSL
  • SVG/VML

Языки программирования

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

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

Особое внимание уделено ООП (Объектно-ориентированное программирование), работе с XML, графикой, удалёнными ресурсами.

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

Изучаемые языки

  • PHP
  • JavaScript

Базы данных

Предмет ориентирован на изучение принципов работы баз данных и систем их управления (СУБД). Основное внимание уделяется детальному обзору возможностей баз данных MySQL, созданию запросов от простого пользовательского уровня до сложных многоуровневых запросов и их оптимизации для веб-проектов с высокой нагрузкой и сложной структурой данных.

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

Основные темы предмета:

  • Теоретическая и практическая база сервера баз данных MySQL — аутентификация, права доступа,
  • Проектирование баз данных, разбор типов таблиц и полей и практическая работа с данными
  • Составление запросов ввода, вывода и обработки данных
  • Оптимизация сложных запросов, создание триггеров и процедур.

Администрирование веб-проектов

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

Основные темы предмета:

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

Разработка приложений

В данном предмете рассматриваются теоретические и практические вопросы и задачи разработки веб-приложений средней сложности и использования соответствующих инструментов, разбор «подводных камней»:

  • Терминология веб-разработчика;
  • Безопасность приложений — как защитить своё приложение от Injections, ботов, спаммеров и прочие вопросы безопасности;
  • Отладка приложений;
  • Распределение нагрузки, кластеризация — memcached, кластерные файловые системы, кластер баз данных MySQL NDB Cluster;
  • CMS системы — их особенности, возможности и недостатки;
  • Паттерны проектирования — обзор наработанных годами приёмов разработки, моделей программирования, и т. д.;
  • Фреймворки — обзор возможностей и практическое использование.