В процессе проектирования веб-приложения профессиональный программист разрабатывает архитектуру проекта и баз данных и с помощью языков программирования создаёт для него весь необходимый функционал.
Основная цель курса состоит в полном, углубленном изучении возможностей языков веб‑программирования, внутренних механизмов и их правильное применение, детальный обзор баз данных и их возможностей, а так же комплексная безопасность приложений.
В программу включено освоение принципов работы технологий Всемирной паутины и поисковой оптимизации, а также изучение веб-стандартов, с помощью которых разработчик сможет сверстать макет веб-страницы любой сложности. Кроме того, студенты практикуют работу в команде с помощью механизмов контроля версий, а особое внимание уделяется практическому созданию веб-приложений, используя как специализированные средства, так и создавая собственные каркасы ускоренной разработки.
Содержание программы
Основы веб-технологий
Общие понятия о структуре Всемирной паутины, её истории, веб-технологиях и стандартах. Принципы работы интернета от физического до логического уровня. Организация взаимодействия доменных имён, IP-адресов и браузеров пользователей, работа поисковых систем и основы поисковой оптимизации.
Цель предмета — продемонстрировать возможности современных веб-технологий и сформировать общее представление о принципах создания веб-страниц и сервисов.
Веб-вёрстка
Обучение технологиям верстки и стилизации веб‑страниц (HTML5 и CSS 3), а так же другим технологиям хранения и передачи и отображения данных. При помощи этих знаний учащийся сможет создавать веб‑страницы, адекватно отображаемые во всех современных браузерах, и оптимизировать код для эффективной индексации содержимого веб‑страницы поисковыми системами.
Языки программирования
Предмет предназначен для всестороннего, углублённого изучения веб-программирования, включая основы алгоритмики и всех необходимых возможностей серверных и клиентских языков программирования. В предмет включено практическое создание веб-приложений, взаимодействие с базами данных и Объектной моделью веб-документа.
Предмет содержит теоретическую и практическую базу скриптового языка PHP, его особенности и тонкости использования — конструкции языка, структуры данных, файлы, сессии, работа с датами и временными зонами, работа с MySQL API, тенденции развития и как писать совместимый в будущем код.
Особое внимание уделено ООП (Объектно-ориентированное программирование), работе с XML, графикой, удалёнными ресурсами. В предмете также содержится изучение языка JavaScript, с помощью которого осваивается программирование пользовательского интерфейса: реакция на действия пользователя, загрузка удалённых ресурсов, манипулирование объектной моделью документа (DOM) и другие действия, обеспечиваемые пользовательским интерфейсом.
Базы данных
Предмет ориентирован на изучение принципов работы баз данных и систем их управления (СУБД). Основное внимание уделяется детальному обзору возможностей баз данных MySQL, созданию запросов от простого пользовательского уровня до сложных многоуровневых запросов и их оптимизации для веб-проектов с высокой нагрузкой и сложной структурой данных.
Изучив возможности MySQL — структурирование, систематизацию, организацию, обмен и обработку данных на практике, программист сможет эффективно решать самые разные задачи для веб-приложений, ориентированных на любые сферы деятельности, начиная с производства и заканчивая финансами и телекоммуникациями.
Основные темы предмета:
- теоретическая и практическая база сервера баз данных MySQL — аутентификация, права доступа;
- проектирование баз данных, разбор типов таблиц и полей и практическая работа с данными;
- составление запросов ввода, вывода и обработки данных;
- оптимизация сложных запросов, создание триггеров и процедур.
Администрирование веб-проектов
Главная задача предмета научить работать в операционных системах, ориентированных на создание веб-серверов, обучить администрированию данных операционных систем, обеспечению их безопасности, а также умению работать в команде и ответственно вести документацию проекта.
Основные темы предмета:
- детальное изучение работы протоколов, браузеров, веб-серверов, веб-приложений и систем управления базами данных, их установка и конфигурирование;
- обзор работы UNIX-like операционных систем, их установка и настройка;
- изучение командных языков программирования и настройка прав доступа пользователей;
- разработка приложений в команде, системы контроля версий;
- обслуживание, выполнение заданий по расписанию, разработка администрационной панели проекта и документирование кода.
Разработка приложений
В данном предмете рассматриваются теоретические и практические вопросы и задачи разработки веб-приложений средней сложности и использования соответствующих инструментов, разбор «подводных камней»:
- терминология веб-разработчика;
- безопасность приложений — как защитить своё приложение от Injections, ботов, спаммеров и прочие вопросы безопасности;
- отладка приложений;
- распределение нагрузки, кластеризация — memcached, кластерные файловые системы, кластер баз данных MySQL NDB Cluster;
- CMS системы — их особенности, возможности и недостатки;
- паттерны проектирования — обзор наработанных годами приёмов разработки, моделей программирования,
и т. д. ; - фреймворки — обзор возможностей и практическое использование.
Квалификационная практика
В конце программы учащиеся проходят квалификационную практику (1 месяц), где учатся применять во время учебы полученные знания на реальном предприятии, специализирующемся в конкретной сфере деятельности. Это возможность не только развить свои навыки, но и зарекомендовать себя потенциальному работодателю как хорошего специалиста и остаться на постоянную работу.
Квалификационный экзамен
После успешно пройденной практики учащиеся сдают квалификационный экзамен. Экзамен состоит из двух частей: теоретической и практической. Теоретическая часть состоит из 70 тестовых вопросов + 10 вопросов повышенной сложности, в свою очередь практическая часть включает в себя защиту самостоятельно разработанного проекта.
Диплом
При успешной сдаче квалификационного экзамена присваивается профессиональная квалификация 3 уровня «техник программирования» (programmešanas tehniķis) и выдается соответствующее удостоверение.