Уилл Скарлет
Уилл Скарлет
Хранитель Шервуда
Администратор
Награда за 5000 очков репутации
За шикарный аватар!
2FA подключил - Награду получил!
- Регистрация
- 22/02/2018
- Сообщения
- 25.247
- Репутация
- 41.715
Автор: SkillFactory
Название: Fullstack веб-разработчик на JavaScript и PHP
Вы научитесь делать сайты, приложения и изучите два востребованных языка программирования — JavaScript и PHP — для создания фронтенда и бэкенда.
Введение в веб-разработку: обзор IDE Visual Studio, командная строка, использование чужого кода, техническое задание, культура кода
Введение в программирование: переменные и константы, абстрактные типы данных, массив, объект, действия с данными, основные алгоритмические конструкции, функции
Markdown: описание, применение и синтаксис
GIT. Система контроля версий. GitHub: основные операции, файл .gitignore, ветвление, конфликты, методологии ветвления, культура коммитов, форки
Базовый HTML: основы языка, структура и элементы веб-страницы, основные атрибуты, создание сайта
Базовый CSS: синтаксис языка, подключение стилей к HTML, селекторы простые и комбинированные, псевдоклассов и псевдоэлементов, их приоритет, цвета и размеры в CSS, блочная модель документа, слои, позиционирование и z-index, пример работы со стилями
Принципы работы JavaScript: что такое JS, ES, ES6+, консоль браузера, переменные и константы, возможности JavaScript в браузере, alert и prompt, работа с DOM, работа с событиями, объект события
Числа и строки в JavaScript: числа и операции с ними, Math, строки и операции с ними
Условия в JavaScript: логические переменные, алгебра логики, условия, Null, Undefined, алгоритм бинарного поиска
Циклы и массивы в JavaScript: циклы, массивы, методы массивов, перебирающие методы, деструктуризация, Map, Set, алгоритмы сортировки
Функции и объекты в JavaScript: пользовательские функции, объекты, JSON, область видимости, замыкания, анонимные функции, стрелочные функции, функция обратного вызова Сallback, каррирование
Основы языка PHP, инструменты разработчика PHP, локальный веб-сервер
Основные алгоритмические конструкции: условия, пользовательские функции, циклы, рекурсия, исключения, перехват исключений
Типы данных: арифметика, логика, строки, массивы
Сессии и Cookie: передача по значению и ссылке, работа с файлами и подключение файлов с кодом, сохранение состояния пользователя, передача данных между страницами, GET/POST запросы
Чем Frontend отличается от Backend
Продвинутый HTML: семантическая верстка, адаптивная верстка, БЭМ, инструменты макетирования, Figma
Продвинутый CSS: стилизация span, типы шрифтов, подключение шрифтов, свойство display, адаптивная вёрстка, медиазапросы, кроссбраузерность, принцип mobile first
Сетки CSS: Flexbox, Grid, Bootstrap
Анимации: CSS в больших приложениях, Transition, Transform, Keyframes, JS анимации
Проект «Верстка лендинга по макету» одностраничный лендинг дизайнерского агентства
Продвинутая работа с объектами в JS: объекты, прототип и конструктор объекта, ООП в JS и ES6, наследование, полиморфизм, инкапсуляция
Стандарты написания кода и общие подходы: объектная модель в JS, прототипирование и наследование, bind, call, ES стандарт, стрелочные функции, Function Expression, SOLID
Асинхронность (AJAX): JSON vs XML, XHR, механизмы хранения данных на клиенте, promises, async/await, работа с HTTP (fetch, async/await)
API браузера: Drag & Drop, SVG, Canvas, Geolocation, Notification, Screen size, Event Source, WebSocket
Инфраструктура Frontend: сборщики и зависимости, архитектура кода в JS, минификация и обфускация кода, use strict, модули, Import/Export, Gulp, Webpack, SCSS, препроцессоры Pug, SASS
Введение в принципы построения SPA: токены, запросы, контент без перезагрузки страницы, навигация
Проект «SPA чат портал»: разработка одностраничного SPA чат портала
Введение в тестирование: качество кода, зачем нужны тесты, виды тестирования, пирамида тестирования, фреймворки для написания тестов, Npm,Yarn, экстремальное программирование, Unit-тесты, тестирование в браузере
Тестирование и линтеры: форматтеры, линтеры, виды тестирования, подходы: TDD, BDD, обзор фреймворков для тестирования
Архитектура приложений: введение и установка, разворачиваем проект из архива, маршрутизация — роутинг — router, шаблонизатор — template — pug, контроллеры и MVC, middleware и обработка ошибок
Взаимодействие с backend: взаимодействие с сервером, что такое XHR, REST API, коды ответа, инструмент для разработки API: swagger
Алгоритмы и структуры данных. Оптимизация приложений: структуры данных, деревья, бинарное дерево поиска, хеш-таблицы, map, алгоритмы, оптимизация приложений, сортировка пузырьком, быстрая сортировка, сортировка слиянием, сложность алгоритма, оптимизация приложений через Webpack, оптимизация через картинки, SVG спрайты, Graph QL
Проект «Таск-менеджер»: разработка менеджера постановки и контроля выполнения задач
Работа в команде и трудоустройство: составление резюме, подготовка к интервью, подготовка к тестовому заданию, как адаптироваться в команде, разработка ПО, описание рабочих процессов, тренировочное собеседование
Работа на фрилансе: русскоязычные биржи, международная биржа Upwork, как выбрать биржу для работы, составление профиля, как заполнить портфолио, как оценивать и брать заказы, общение с заказчиком
Писать программы на TypeScript
Подключать TypeScript к проекту и настраивать
Компонентный подход, модули, преимущества React, JSX, Virtual DOM, быстрый старт React-приложения
Типы компонентов, State и Props, презентационные и компоненты-контейнеры, методы жизненного цикла, Render, возвращаемые значения
Children, обработка событий, работа с CSS, типизация React-приложений, паттерны программирования, однонаправленный поток данных
React Developers Tools, Render Prop, High Order Components, пример HOC и Render Prop, функциональное программирование, PureComponent, Hooks, UseState, UseEffect, продвинутый API, обзор Hooks, Best Practices
React Router, роутинг с использованием ссылок и History API, знакомство с библиотекой React-router-v4, Refs и контекст
Проект «Канбан-доска»: разработка инструмента для визуализации и разбивки какой-либо задачи на этапы.
Разработка ведения учета случаев кражи велосипеда с отслеживанием прогресса. Требуется реализовать клиентскую часть, используя готовую серверную часть.
Введение в реляционные базы данных: базы данных и зачем они нужны, реляционные и нереляционные базы данных, что такое первичный ключ и внешний ключ
Язык запросов SQL: настройка окружения и PostgreSQL, связи в таблицах и ER-диаграммы, язык запросов SQL, операторы и функции, сортировки и агрегация данных, запрос данных из нескольких таблиц, объединение результатов запросов
Транзакции: понятие данных и метаданных, DDL, DML и CRUD, транзакции, нормальные формы БД
Продвинутое использование реляционной БД: индексы, триггеры, представления, хранимые процедуры, использование предвыборок в запросах
ООП: наследование, инкапсуляция, полиморфизм в PHP, абстрактные классы и интерфейсы, проектирование классов и их вызов, исключения
MVC: Понятие MVC, Front Controller и настройка веб-сервера, Composer, PSR (PSR-4), роутинг
Работа с БД: сохранение пользовательских данных, PDO, SQL-инъекции, передача данных из формы в БД
Авторизация и аутентификация: создание формы, хранение паролей и криптофункции, RBAC
Конфигурирование приложения: подключение конфигураций, внешние библиотеки конфигураций, логирование данных, .env синтаксис и почему нельзя хранить конфигурацию вместе с кодом в одном репозитории
Тестирование приложения: PHPUnit, моки и стабы
SOLID, паттерны, PSR: SOLID, паттерны проектирования их применение в MVC-приложениях, PSR 1, 12
Скорость работы приложения: профилирование приложения, кэширование и cache hit rate, Memcached
Проект. Мессенджер
Работа с файлами и директориями в терминале: концепция Linux, установка виртуальной машины, Manual, директории, чтение файлов, редактирование файлов, элементарная работа с файлами, системы поиска
Linux: виртуальные машины, сборка виртуальной машины, разработка на виртуальных машинах, командная строка Linux
Настройка веб-серверов: что такое веб-сервера и какие они бывают, Nginx, его установка и настройка, Apache, его установка, настройка и связка с nginx, обработчики кода, PHP, установка, настройка, производительность, связь с Apache, настройка связки Nginx + Apache + PHP. Инфраструктуры веб-серверов, Nginx как файловый сервер. Веб-сервер и FTP
Troubleshooting веб-серверов: введение в troubleshouting веб-серверов, логи веб-серверов, решение проблем с запуском службы веб-сервера, решение проблем со сторонними службами. PHP, проблемы в работе сайта, связанные с веб-сервером, безопасность, когда всё совсем плохо. Бэкапы, репликация, балансировщики
Контейнеры и Docker: контейнеризация, Docker, Docker Compose, разработка с Docker
Работа в команде и трудоустройство: составление резюме, подготовка к интервью, подготовка к тестовому заданию, как адаптироваться в команде, разработка ПО, описание рабочих процессов, тренировочное собеседование
Работа на фрилансе: русскоязычные биржи, международная биржа Upwork, как выбрать биржу для работы, составление профиля, как заполнить портфолио, как оценивать и брать заказы, общение с заказчиком
Установка Laravel, устройство MVC в Laravel, область применения Laravel, IDE Helper, роутинг, контроллеры, Blade, директивы и компоненты, локализация
Artisan, миграции, Eloquent ORM, связи моделей в Eloquent
Принципы работы маршрутов, кастомные маршруты, CSRF в Laravel, Routing Сonventions, контроллеры в Laravel, посредники, контроллеры ресурсов
Авторизация и аутентификация, разграничение прав, авторизация по токену, Gate, OAuth, сброс пароля, токен
Юнит-тесты в Laravel, инструменты Mockery и Testbench
Проект. Список задач
Трекер трафика, созданный для организации взаимодействия компаний (рекламодателей), которые хотят привлечь к себе на сайт посетителей и покупателей (клиентов), и владельцев сайтов (веб-мастеров)
Название: Fullstack веб-разработчик на JavaScript и PHP
Вы научитесь делать сайты, приложения и изучите два востребованных языка программирования — JavaScript и PHP — для создания фронтенда и бэкенда.
Программа курса
Введение в Веб-разработку
Введение в программирование
Содержание курса:Введение в веб-разработку: обзор IDE Visual Studio, командная строка, использование чужого кода, техническое задание, культура кода
Введение в программирование: переменные и константы, абстрактные типы данных, массив, объект, действия с данными, основные алгоритмические конструкции, функции
Markdown: описание, применение и синтаксис
GIT. Система контроля версий. GitHub: основные операции, файл .gitignore, ветвление, конфликты, методологии ветвления, культура коммитов, форки
Раздел 2. Базовая верстка
Содержание курса:Базовый HTML: основы языка, структура и элементы веб-страницы, основные атрибуты, создание сайта
Базовый CSS: синтаксис языка, подключение стилей к HTML, селекторы простые и комбинированные, псевдоклассов и псевдоэлементов, их приоритет, цвета и размеры в CSS, блочная модель документа, слои, позиционирование и z-index, пример работы со стилями
Раздел 3. Базовый Frontend
Содержание курса:Принципы работы JavaScript: что такое JS, ES, ES6+, консоль браузера, переменные и константы, возможности JavaScript в браузере, alert и prompt, работа с DOM, работа с событиями, объект события
Числа и строки в JavaScript: числа и операции с ними, Math, строки и операции с ними
Условия в JavaScript: логические переменные, алгебра логики, условия, Null, Undefined, алгоритм бинарного поиска
Циклы и массивы в JavaScript: циклы, массивы, методы массивов, перебирающие методы, деструктуризация, Map, Set, алгоритмы сортировки
Функции и объекты в JavaScript: пользовательские функции, объекты, JSON, область видимости, замыкания, анонимные функции, стрелочные функции, функция обратного вызова Сallback, каррирование
Раздел 4. Базовый Backend
Содержание курса:Основы языка PHP, инструменты разработчика PHP, локальный веб-сервер
Основные алгоритмические конструкции: условия, пользовательские функции, циклы, рекурсия, исключения, перехват исключений
Типы данных: арифметика, логика, строки, массивы
Сессии и Cookie: передача по значению и ссылке, работа с файлами и подключение файлов с кодом, сохранение состояния пользователя, передача данных между страницами, GET/POST запросы
Раздел 5. Профориентация
Содержание курса:Чем Frontend отличается от Backend
Направление «Frontend-разработчик»
Раздел 1. Продвинутая верстка
Содержание курса:Продвинутый HTML: семантическая верстка, адаптивная верстка, БЭМ, инструменты макетирования, Figma
Продвинутый CSS: стилизация span, типы шрифтов, подключение шрифтов, свойство display, адаптивная вёрстка, медиазапросы, кроссбраузерность, принцип mobile first
Сетки CSS: Flexbox, Grid, Bootstrap
Анимации: CSS в больших приложениях, Transition, Transform, Keyframes, JS анимации
Проект «Верстка лендинга по макету» одностраничный лендинг дизайнерского агентства
Раздел 2. Продвинутый Frontend
Содержание курса:Продвинутая работа с объектами в JS: объекты, прототип и конструктор объекта, ООП в JS и ES6, наследование, полиморфизм, инкапсуляция
Стандарты написания кода и общие подходы: объектная модель в JS, прототипирование и наследование, bind, call, ES стандарт, стрелочные функции, Function Expression, SOLID
Асинхронность (AJAX): JSON vs XML, XHR, механизмы хранения данных на клиенте, promises, async/await, работа с HTTP (fetch, async/await)
API браузера: Drag & Drop, SVG, Canvas, Geolocation, Notification, Screen size, Event Source, WebSocket
Инфраструктура Frontend: сборщики и зависимости, архитектура кода в JS, минификация и обфускация кода, use strict, модули, Import/Export, Gulp, Webpack, SCSS, препроцессоры Pug, SASS
Введение в принципы построения SPA: токены, запросы, контент без перезагрузки страницы, навигация
Проект «SPA чат портал»: разработка одностраничного SPA чат портала
Раздел 3. Архитектура приложений
Содержание курса:Введение в тестирование: качество кода, зачем нужны тесты, виды тестирования, пирамида тестирования, фреймворки для написания тестов, Npm,Yarn, экстремальное программирование, Unit-тесты, тестирование в браузере
Тестирование и линтеры: форматтеры, линтеры, виды тестирования, подходы: TDD, BDD, обзор фреймворков для тестирования
Архитектура приложений: введение и установка, разворачиваем проект из архива, маршрутизация — роутинг — router, шаблонизатор — template — pug, контроллеры и MVC, middleware и обработка ошибок
Взаимодействие с backend: взаимодействие с сервером, что такое XHR, REST API, коды ответа, инструмент для разработки API: swagger
Алгоритмы и структуры данных. Оптимизация приложений: структуры данных, деревья, бинарное дерево поиска, хеш-таблицы, map, алгоритмы, оптимизация приложений, сортировка пузырьком, быстрая сортировка, сортировка слиянием, сложность алгоритма, оптимизация приложений через Webpack, оптимизация через картинки, SVG спрайты, Graph QL
Проект «Таск-менеджер»: разработка менеджера постановки и контроля выполнения задач
Раздел 4. Трудоустройство и soft skills
Содержание курса:Работа в команде и трудоустройство: составление резюме, подготовка к интервью, подготовка к тестовому заданию, как адаптироваться в команде, разработка ПО, описание рабочих процессов, тренировочное собеседование
Работа на фрилансе: русскоязычные биржи, международная биржа Upwork, как выбрать биржу для работы, составление профиля, как заполнить портфолио, как оценивать и брать заказы, общение с заказчиком
Бонус. TypeScript
Содержание курса:Писать программы на TypeScript
Подключать TypeScript к проекту и настраивать
Раздел 5. Фреймворк React
Содержание курса:Компонентный подход, модули, преимущества React, JSX, Virtual DOM, быстрый старт React-приложения
Типы компонентов, State и Props, презентационные и компоненты-контейнеры, методы жизненного цикла, Render, возвращаемые значения
Children, обработка событий, работа с CSS, типизация React-приложений, паттерны программирования, однонаправленный поток данных
React Developers Tools, Render Prop, High Order Components, пример HOC и Render Prop, функциональное программирование, PureComponent, Hooks, UseState, UseEffect, продвинутый API, обзор Hooks, Best Practices
React Router, роутинг с использованием ссылок и History API, знакомство с библиотекой React-router-v4, Refs и контекст
Проект «Канбан-доска»: разработка инструмента для визуализации и разбивки какой-либо задачи на этапы.
Раздел 6. Финальный проект «Реализация клиентской части»
Содержание курса:Разработка ведения учета случаев кражи велосипеда с отслеживанием прогресса. Требуется реализовать клиентскую часть, используя готовую серверную часть.
Направление «BACKEND-разработчик»
Раздел 1. SQL и работа с базами данных
Содержание курса:Введение в реляционные базы данных: базы данных и зачем они нужны, реляционные и нереляционные базы данных, что такое первичный ключ и внешний ключ
Язык запросов SQL: настройка окружения и PostgreSQL, связи в таблицах и ER-диаграммы, язык запросов SQL, операторы и функции, сортировки и агрегация данных, запрос данных из нескольких таблиц, объединение результатов запросов
Транзакции: понятие данных и метаданных, DDL, DML и CRUD, транзакции, нормальные формы БД
Продвинутое использование реляционной БД: индексы, триггеры, представления, хранимые процедуры, использование предвыборок в запросах
Раздел 2. Продвинутый Backend
Содержание курса:ООП: наследование, инкапсуляция, полиморфизм в PHP, абстрактные классы и интерфейсы, проектирование классов и их вызов, исключения
MVC: Понятие MVC, Front Controller и настройка веб-сервера, Composer, PSR (PSR-4), роутинг
Работа с БД: сохранение пользовательских данных, PDO, SQL-инъекции, передача данных из формы в БД
Авторизация и аутентификация: создание формы, хранение паролей и криптофункции, RBAC
Конфигурирование приложения: подключение конфигураций, внешние библиотеки конфигураций, логирование данных, .env синтаксис и почему нельзя хранить конфигурацию вместе с кодом в одном репозитории
Тестирование приложения: PHPUnit, моки и стабы
SOLID, паттерны, PSR: SOLID, паттерны проектирования их применение в MVC-приложениях, PSR 1, 12
Скорость работы приложения: профилирование приложения, кэширование и cache hit rate, Memcached
Проект. Мессенджер
Раздел 3. Основы администрирования
Содержание курса:Работа с файлами и директориями в терминале: концепция Linux, установка виртуальной машины, Manual, директории, чтение файлов, редактирование файлов, элементарная работа с файлами, системы поиска
Linux: виртуальные машины, сборка виртуальной машины, разработка на виртуальных машинах, командная строка Linux
Настройка веб-серверов: что такое веб-сервера и какие они бывают, Nginx, его установка и настройка, Apache, его установка, настройка и связка с nginx, обработчики кода, PHP, установка, настройка, производительность, связь с Apache, настройка связки Nginx + Apache + PHP. Инфраструктуры веб-серверов, Nginx как файловый сервер. Веб-сервер и FTP
Troubleshooting веб-серверов: введение в troubleshouting веб-серверов, логи веб-серверов, решение проблем с запуском службы веб-сервера, решение проблем со сторонними службами. PHP, проблемы в работе сайта, связанные с веб-сервером, безопасность, когда всё совсем плохо. Бэкапы, репликация, балансировщики
Контейнеры и Docker: контейнеризация, Docker, Docker Compose, разработка с Docker
Раздел 4. Трудоустройство и soft skills
Содержание курса:Работа в команде и трудоустройство: составление резюме, подготовка к интервью, подготовка к тестовому заданию, как адаптироваться в команде, разработка ПО, описание рабочих процессов, тренировочное собеседование
Работа на фрилансе: русскоязычные биржи, международная биржа Upwork, как выбрать биржу для работы, составление профиля, как заполнить портфолио, как оценивать и брать заказы, общение с заказчиком
Раздел 5. Фреймворк Laravel
Содержание курса:Установка Laravel, устройство MVC в Laravel, область применения Laravel, IDE Helper, роутинг, контроллеры, Blade, директивы и компоненты, локализация
Artisan, миграции, Eloquent ORM, связи моделей в Eloquent
Принципы работы маршрутов, кастомные маршруты, CSRF в Laravel, Routing Сonventions, контроллеры в Laravel, посредники, контроллеры ресурсов
Авторизация и аутентификация, разграничение прав, авторизация по токену, Gate, OAuth, сброс пароля, токен
Юнит-тесты в Laravel, инструменты Mockery и Testbench
Проект. Список задач
Раздел 6. Финальный проект «Партнерская сеть»
Содержание курса:Трекер трафика, созданный для организации взаимодействия компаний (рекламодателей), которые хотят привлечь к себе на сайт посетителей и покупателей (клиентов), и владельцев сайтов (веб-мастеров)
Данная публикация является партнерской. Доступ к материалу предоставляется после оплаты на сайте партнера.