Страница ученика Geekbrains.

Обучение проходит по Профессии WEB-разработчик

* Связаться со мной вы можите через эту форму.

Курс составлен так:

Урок 1. Основные понятия в веб-разработке Что представляет собой веб-страница; виды сайтов; процесс разработки сайта; что такое гипертекст, теги и атрибуты; подготовка рабочего места; структура HTML-документа; основные теги оформления текста; простой пример HTML странички; пример сложной веб-страницы; горячие клавиши для перемещения по документам. 2. Основы языка разметки документов HTML Спецсимволы; комментарии в HTML; гиперссылки; типы изображений для web; загрузка изображений на страницу; списки, формы и их элементы. 3. Основы языка оформления стилей документа CSS Что такое CSS; синтаксис CSS; способы объявления CSS; селекторы (id, class, tag); селекторы атрибутов.; основные свойства стилей; вложенность; наследование и группирование свойств; проверка подключения файла стилей. 4. Псевдоклассы и псевдоэлементы, табличная вёрстка Приоритеты применения стилей; псевдоклассы и псевдоэлементы; создание таблиц; объединение ячеек; вложенные таблицы; стилевое оформление таблиц. 5. Формирование блочной модели; блочная вёрстка Основные теги для верстки (div и span); отступы элементов (margin и padding); обтекаемые элементы; позиционирование блоков. 6. Работа с макетом дизайна в формате PSD Основные функции и знакомство с программой Photoshop; выделение основных частей макета; нарезка макета; вёрстка макета сайта при помощи блоков; вставка частей макета в вёрстку; установка плагина PerfectPixel. 7. Разметка сайта и знакомство с Bootstrap Создание основной разметки сайт; применение overflow и clear в реальной вёрстке; заполнение разметки частями нарезанного макета; приёмы позиционирования элементов; знакомство и применение Bootstrap. 8. Стандарты web и вспомогательные инструменты Загрузка проектов на сервер; проблема «кроссбраузерности»; стандарты HTML/CSS; будущее за стандартами HTML5 и CSS3; грамотная, универсальная вёрстка; знакомство с препроцессорами на примере LESS.

Урок 1. HTML5: начало Обзор HTML5; новые семантические элементы HTML5; новый способ структурирования страниц; семантика текстового уровня; узнаем, что из себя представляет html5, какие новшества в нем есть, какие элементы добавлены, в чем его отличие от предыдущих версий; рассмотрим и подробно разберём на практических примерах данные особенности. Урок 2. HTML5: продвинутые веб-формы Усовершенствование традиционных форм (добавление подсказок, фокусировка на элементе и т.д.); проверка форм на ошибки заполнения; новые типы элементов (адреса электронной почты, URL-адреса и т.д.); рассмотрим и реализуем на практике новые возможности HTML5; увидим, как работают новые элементы, и протестируем их в работе. Урок 3. HTML5: аудио и видео. Работа с видео и аудио в HTML5; воспроизведение аудио и видео информации на странице; добавим в наш проект видео и аудио информацию; посмотрим, как всё это реализуется на практике; взвесим все плюсы и минусы нового подхода к воспроизведению аудио-видео информации. Урок 4. CSS3: параметры CSS для фона Ссинтаксис; методы и свойства задания фона; модернизируем наш проект в соответствии с новыми возможностями CSS3; добавим необходимые элементы и эффекты. Урок 5. CSS3: современное использование шрифтов, работа с текстом Работа с шрифтами; веб-шрифты Google; размещение текста в несколько колонок; рассмотрим механизмы представления текстовой информации: оформление, выравнивание, отступы и т.д.; используем в нашем проекте новые возможности работы с шрифтами, текстом; преобразуем текстовую информацию нашего проекта в соответствии с новыми возможностями. Урок 6. Анимация в CSS Создание анимации средствами в CSS3; добавим в рабочий проект анимацию, созданную при помощи CSS3; оживим страницы нашего сайта. Урок 7. CSS3: современные методы работы с рамками Работа с границами в CSS; способы создания рамок элементов; создание прозрачных рамок, теней, скругленных углов, градиентов; модернизируем страницы нашего сайта в соответствии с новшествами CSS3; придадим дизайну современный вид. Урок 8. CSS3: Углубленное изучение Эффекты перехода; применение трансформации; на данном этапе сделаем финальный проект со всеми доработками и нововведениями, представленными CSS3.

Уровень 1. Урок 1. Основы языка Javascript Синтаксис. Структура кода. Внешние скрипты и порядок их исполнения. Переменные и типы данных. Hello world. Современные стандарты Урок 2. Основные операторы Javascript Операторы и операнды. Приоритет операций. Операции сравнения. Побитовые операции. Операции взаимодействия с пользователем (alert, prompt, confirm). Урок 3. Условные операторы. Циклы Условный оператор. Тернарный оператор. Оператор множественного выбора. Логические операторы. Короткий цикл вычисления операторов «И» и «ИЛИ». Преобразование типов для примитивов. Урок 4. Функции Области видимости. Замыкания. Функциональные выражения. Именованные функциональные выражения. Рекурсия. Урок 5. Структуры данных Введение в методы и свойства. Числа, строки, объекты и массивы. Перебор свойств и передача по ссылке. Объект Math. Объект Date. Массив arguments. Урок 6. Объекты. Контекст вызова Методы объектов. Ключевое слово this. Преобразование объектов, создание объектов. Статические методы. Явное указание this (call, apply, bind). Декораторы. Урок 7. DOM. Документ и объекты страницы Дерево DOM. Работа с DOM из консоли. Навигация по DOM. Свойства узлов, атрибуты, стили, размеры, координаты и прочее. Добавление/удаление узлов. Урок 8. DOM. События Введение в браузерные события, порядок их обработки. Объект события. Всплытие и перехват. Делегирование событий. Генерация событий. Действия браузера по умолчанию.

Уровень 2. Урок 1. ООП в JavaScript Prototype. Жизненные циклы объекта. Прототипный vs функциональный стиль. Наследование. Встроенные классы. Урок 2. AJAX XMLHttpRequest. Типы запросов. Кросс-доменные запросы. Загрузка файлов и индикация прогресса. CSRF и защита от него. Урок 3. Регулярные выражения в JavaScript Паттерны и флаги. Regexp и String. Квантификаторы . Наборы и диапазоны. Урок 4. Создание графических компонентов и объекты HTML5 Canvas. Websockets. Графические компоненты. Урок 5. Введение в jQuery Селекторы. События. AJAX в jQuery. Работа со стилями и анимация. Урок 6. jQuery UI и другие расширения jQuery Виджеты. Поведения. Дополнительная анимация. Подключение и использование объекта Carousel. Подключение и использование Endless Scroll. Урок 7. Полезные библиотеки, сборщики и шаблонизаторы Сборщики Gulp, Grunt, Webpack. Шаблонизатор Mustache. Библиотека Underscore. Линтеры. Урок 8. Куда дальше? Новые стандарты Обзор стандарта ES2015. Ключевые фреймворки. Оптимизация скриптов. Утечки памяти.

Уровень 1. Урок 1. Основы PHP Устройство сети интернет. Работа web-сервера. Подготовка ПО. Первая программа — вывод приветствия на экран. Переменные, константы, типы данных, операции со строками и числами. Преобразование типов. Урок 2. Условия и функции Ветвление программы. Оператор if. Тернарный оператор условия. Оператор switch. Функции: определение, значения по умолчанию, рекурсия. Область видимости и время жизни переменных. Урок 3. Циклы и массивы Циклы в PHP: цикл while, цикл do..while, цикл for, бесконечный цикл. Оператор выхода из цикла. Оператор прерывания итерации цикла. Массивы: обход массивов в цикле, функции для работы с массивами, многомерные массивы, предопределенные массивы. Урок 4. Работа с памятью и файлами. Файловая система. Чтение и запись файлов. Организация хранения файлов на сайте. Оптимизация кода и кеширование. Типовые форматы хранения данных. Обработка ошибок. Урок 5. Объектно-ориентированное программирование, часть 1 Класс, объект, инкапсуляция, полиморфизм, наследование и другие страшные слова. Основные принципы ООП. Урок 6. Объектно-ориентированное программирование, часть 2 Абстракция, интерфейсы, пространства имён, трейты. Шаблоны проектирования. Учимся мыслить «объектно-ориентированно». Урок 7. Работа с базой данных. Запоминаем пользователя Основы работы с SQL: SELECT, INSERT, UPDATE, DELETE, сессии и cookie, авторизация. Создаём форму входа на сайт. Основы безопасности. Урок 8. Шаблон проектирования MVC Модель-представление-контроллер. Архитектура проекта. Расширяемое приложение. Готовим шаблон для будущих проектов.

Уровень 2. Урок 1. Работа с базой данных БД и СУБД, Реляционные базы данных, Нормальные формы, Типы связей, Организация связей, между сущностями, Язык SQL, SQL: соединение таблиц с помощью JOIN, Работа с MySQL средствами PHP Урок 2. Архитектура MVC Архитектура программы, Структура программы, Что такое хороший код, Архитектура MVC, Реализация MVC в PHP Урок 3. Базовый шаблон Базовый шаблон, Вложенные шаблоны, Трудности при работе со вложенными шаблонами, Буферизация в PHP, Универсальный метод шаблонизации Урок 4. Объектно-ориентированное программирование Класс и объект, Свойства и методы, Конструктор класса, Наследование, Полиморфизм, Инкапсуляция, Модификаторы доступа, Статические свойства и методы, Константы классов, Абстрактные классы и методы, Интерфейсы Урок 5. MVC и ООП Перегрузка свойств и методов класса, Модель, Представление, Контроллер, Точка входа, Иерархия контроллеров, Цикл обработки запроса, Автозагрузка классов Урок 6. Создание класса модели. Драйвер БД Преобразование модели от процедурного подхода к ООП, Статический класс, Шаблон проектирования "Одиночка", Драйвер работы с БД, Способы подключения классов контроллеров и модели, Выбор способов автозагрузки, Как правильно называть классы Урок 7. Работа с пользователями. Авторизация и разделение прав доступа Пользователь, Сессия, Привилегия, Роль, Механизм авторизации, Механизм контроля доступа, Гибкая схема разделения полномочий, Сокрытие страниц сайта, Особенности протокола HTTP, Шифрование паролей, md5 Генерация случайных строковых последовательностей, Схема БД для реализации всего механизма, Создание законченного программного модуля, реализующего весь механизм Урок 8. Мини-Фреймворк для создания сайтов ЧПУ, RewriteEngine в htaccess, Готовое решение для создания сайта (пакет-сборка и правила расширения)

Урок 1. Реляционные базы данных Чем отличается БД от СУБД; какие базы данных называются реляционными; обзор современных СУБД. Урок 2. Установка СУБД Установка СУБД MySql и графического приложения Mysql Workbench. Урок 3. Проектирование базы данных, нормальные формы Проектирование данных в Excel; нормальные формы; первичный ключ. Урок 4. SQL-команда CREATE Создание таблиц в графическом интерфейсе MySql Workbench; команда CREATE; типы данных; работа в консоли. Урок 5. SQL-команда INSERT Заполнение таблиц данными с помощью графического интерфейса; команда INSERT; AUTO INCREMENT. Урок 6. SQL-команды SELECT и WHERE Получение и фильтрация данных с помощью SQL-команд SELECT и WHERE; проверка на NULL; фильтрация данных по нескольким условиям. Урок 7. SQL-команды DISTINCT, ORDER BY, LIMIT Получение и фильтрация данных с помощью SQL-команд DISTINCT и LIMIT; сортировка с помощью команды ORDER BY. Урок 8. SQL-команды DELETE и UPDATE Обновление и удаление данных с помощью SQL-команд DELETE и UPDATE; фильтрация данных с помощью WHERE IN. Урок 9. Согласованность данных Понятие согласованности или консистентности данных. Урок 10. Внешний ключ Понятие внешнего ключа и ограничений на значения столбцов; FOREIGN KEY CONSTRAINTS. Урок 11. Создание таблиц с отношением “многие ко многим” Добавление корзины в базу данных интернет-магазина. Урок 12. Составной первичный ключ Использование составного первичного ключа при проектировании таблицы с отношением “многие ко многим”. Урок 13. Объединение данных из нескольких таблиц Получение данных из нескольких взаимосвязанных таблиц; несостоятельность подхода с использованием нескольких SELECT-ов. Урок 14. Оператор INNER JOIN Объединение данных из нескольких таблиц с помощью оператора INNER JOIN. Урок 15. Операторы LEFT JOIN, RIGHT JOIN Объединение данных из нескольких таблиц с помощью операторов LEFT JOIN и RIGHT JOIN. Урок 16. Оператор UNION Объединение результатов нескольких SQL-запросов с помощью оператора UNION. Урок 17. Агрегирующие функции Агрегирующие функции COUNT, SUM, MIN, MAX. Урок 18. Оператор GROUP BY Группировка выбранного набора строк с использованием оператора GROUP BY. Урок 19. Индексы Фильтрация в GROUP BY с использованием HAVING; увеличение скорости выполнения запросов с использованием индексов. Урок 20. Транзакции Понятие транзакции; оператор TRANSACTION; требования ACID к транзакционной системе.

Урок 1. Основы D3.js и векторной графики SVG Библиотека D3.js; концепция работы с данными в стиле D3.js; формирование [связи] данных (Data Joins); выборки данных: Enter, Update, Exit; свойства выборки; методы для работы с выборками; краткие сведения о векторной графике SVG; координатная система SVG; элементы <svg> и <g>; графические примитивы (объекты) SVG: <rect>, <circle>, <line>, <text>, <path>; аффинные преобразования объектов SVG; фильтры SVG. Урок 2. Подготовка рабочей среды и введение в Angular.js Библиотека Browserify; менеджеры пакетов Bower, npm; автоматизированная сборка проекта с помощью Grunt или Gulp (по желанию слушателей); настройка локального сервера для обслуживания запросов приложения; использование распределенной системы контроля версий Git и сервиса GitHub.com для организации работы над проектом. Урок 3. Angular.js: введение; D3.js: разработка рабочего поля векторного конструктора Введение в Angular.js; модель, представление и контроллер в Angular.js; управление зависимостями, для чего это необходимо; модули, директивы и сервисы; сервис $q в Angular.js; поведение Zoom в D3.js; переходы (Transitions) в D3.js: что это такое, как с ними работать; реализация сетки конструктора. Урок 4. Создание статичных перетаскиваемых компонентов (деталей макета) Интерполяция в D3.js; поведение Drag в D3.js; разработка директив компонентов – общие подходы; разработка поведений объектов на поле конструктора; реализация сервиса «прилипания» деталей к линиям сетки конструктора; создание первой детали – прямоугольника с отверстиями; компиляция директив Angular.js; работа с элементом <path> в SVG, основные команды; правила заполнения сложных фигур. Урок 5. Создание вращающихся компонентов и креплений Функция d3.timer, рисование зубчатой передачи; управление скоростью вращения; отрисовка гексагональных креплений-болтов; модель отрисовки SVG; управление порядком отрисовки и наложения объектов SVG. Урок 6. Работа над сервисом отрисовки деталей и доработка их функциональности Создание треугольника; написание сервиса отрисовки деталей; реализация дополнительной функциональности для всех деталей: вращение, удаление с поля конструктора, изменение цвета. Урок 7. Реализация палитры компонентов (деталей макета) Реализация перетаскивания Drag & Drop на элемент SVG; определение координат при перетаскивании: пользовательские (user) и экранные (viewport) координаты в SVG, матрица текущих преобразований (CTM, Current Transformation Matrix) SVG, перевод из одной системы координат в другую. Урок 8. Написание тестов для приложения Конфигурация запускателя модульных тестов Karma; запускатель функциональных (E2E) тестов Protractor, его конфигурация; написание модульных и функциональных тестов с использованием Jasmine; тестирование асинхронного кода; подведение итогов.

Урок 1. Настройка рабочей среды на базе Ubuntu, шаблоны Yii Что такое YII; возможности фреймфорка; установка веб-сервера на Ubuntu 15.10; установка фреймворка; обзор базового и продвинутого шаблона; запуск шаблонов. Урок 2. Инструменты проектирования БД, модели и формы Yii Установка MySQL Workbench; проектирование БД; создание модели через Gii. Урок 3. Инструменты работы с БД в Yii; DAO и ORM Рассмотрим DAO и ActiveRecord; сгенерируем модель User и сделаем авторизацию пользователя через БД. Урок 4. Автоматическая генерация кода с использованием GII. Часть 1 Детальное изучение Gii; генерация CRUD-операций на основные таблицы БД; теоретическая и практическая часть. Урок 5. Автоматическая генерация кода с использованием GII. Часть 2 Детальное изучение Gii; генерация CRUD-операций на основные таблицы БД; теоретическая и практическая часть. Урок 6. Кеширование данных Рассмотрим механизмы кеширования в Yii; определим какие данные выгодно кешировать нам; реализация кешей. Урок 7. Расширения и особенности фреймворка Рассмотрим основные расширения; использование сторонних расширений; Assets; сессии и куки. Урок 8. Консольное приложение На уроке будем заниматься созданием консольного приложения и запускать его через cron.