1. Спецификация
2. Дизайн
2.1. UX - User experiance (взаимодействие с интерфейсом) 1 этап разработки дизайна.
2.2. UI - User Interface (как выглядит интерфейс - навигация, окна, цвета, чекбоксы и т.д.) 2 этап разработки дизайна.
2.3. Особенности разработки дизайна
2.3.1. Apple Human Interface Guidelines
2.3.2. Android Design Guidelines
2.3.3. Material Design
2.4. Инструменты
2.4.1. Adobe XD
2.4.2. Sketch
2.4.3. Invision
2.4.4. Zeplin
2.5. ВАЖНО - проводить ревью с разработчиком конкретной платформы перед показом клиенту дизайна экранов.
3. Аналитика
3.1. Discovery phase
3.1.1. Артефакты Дискавери фазы
3.1.2. Technical questions
3.2. Полная аналитика (и Дизайн)
3.2.1. Use cases
3.2.2. Чек-лист
3.3. Разработка
3.3.1. BA Support
4. Администрирование
4.1. Сетевое
4.1.1. Планирование, установка, настройка, обслуживание корпоративной сети, обеспечение ее надежной, бесперебойной, высокопроизводительной и безопасной работы, особенность организации каналов связи при помощи КриптоПро (защищенные каналы связи)
4.1.1.1. VPN
4.1.1.1.1. Протоколы
4.1.1.2. NAT
4.1.1.2.1. Статическая адресная трансляция (Static NAT)
4.1.1.2.2. Динамическая адресная трансляция (Dynamic NAT)
4.1.1.2.3. Port Address Translation (NAT)
4.1.1.3. Планирование сети TCP/IP
4.1.1.3.1. 1) Выберите аппаратную архитектуру сети
4.1.1.3.2. 2) Спланируйте топологию сети
4.1.1.3.3. 3) Определите структуру сети - одноуровневая или иерархическая
4.1.1.3.4. 4) Если сеть будет подключена к другим сетям, то заранее составьте план установки и настройки шлюзов.
4.1.1.3.5. 5) Выберите схему адресации
4.1.1.3.6. 6) Решите, нужно ли разделить вашу сеть на несколько подсетей. Если да, то необходимо выбрать способ задания масок подсетей
4.1.1.3.7. 7) Выберите схему присвоения имен. Каждой системе в сети должно быть присвоено уникальное имя хоста.
4.1.1.3.8. 8) Решите, нужен ли вам сервер имен или будет достаточно файлов /etc/hosts.
4.1.1.3.9. 9) Решите, какие службы будут предоставляться удаленным пользователям
4.1.1.4. Настройка сети TCP/IP
4.1.1.4.1. Настройка хоста
4.1.1.4.2. Настройка хоста для работы в качестве сервера
4.1.1.4.3. Настройка шлюза
4.1.1.4.4. Команды настройки и управления TCP/IP
4.1.1.4.5. Настройка сети
4.1.1.5. Обслуживание сети
4.1.1.5.1. проведение профилактических работ
4.1.1.5.2. проведение аварийно-восстановительных работ
4.1.1.5.3. постоянный мониторинг корпоративной сети
4.1.1.5.4. непрерывный контроль за работоспособностью обслуживаемого оборудования, путем установки, настройки и постоянного обновления необходимого программного обеспечения
4.1.1.5.5. контроль за условиями, эксплуатации оборудования
4.2. Системное
4.2.1. Администрирование сети.
4.2.1.1. Сетевая топология
4.2.1.1.1. Полносвязная
4.2.1.1.2. Неполносвязная
4.2.1.1.3. Смешанная
4.2.1.2. Cервисы контроля доступа в интернет
4.2.1.2.1. Squid
4.2.1.2.2. IIS
4.2.1.2.3. IDS
4.2.1.2.4. Firewall
4.2.2. Администрирование рабочих станций. (Сгоревшие БП, переустановка ОС, решение проблемы с очередным банк-клиентом, починка отвалившейся печати, решение проблемы «чем мне открыть этот файл», борьба с вирусами для windows и т.д.)
4.2.3. Active Directory
4.2.3.1. Компоненты Active Directory
4.2.3.1.1. Организационное подразделение
4.2.3.1.2. Домены
4.2.3.1.3. Леса и деревья
4.2.3.1.4. Сайты и подсети
4.2.3.1.5. Хранилище данных
4.2.3.1.6. Глобальный каталог
4.2.4. Электронная почта
4.2.4.1. Протоколы
4.2.4.1.1. SMTP
4.2.4.1.2. POP3
4.2.4.1.3. IMAP
4.2.4.2. Microsoft Exchange Server
4.2.5. Базы данных (Бэк ап и восстановление данных)
4.2.5.1. Типы резервного копирования
4.2.5.1.1. Инкрементальное резервное копирование
4.2.5.1.2. Дифференциальное резервное копирование
4.2.5.1.3. Смешанное инкрементальное копирование
4.2.5.1.4. Смешанное дифференциальное копирование
4.2.6. Системы контроля доступа, разграничение доступов.
4.2.6.1. Основные задачи
4.2.6.1.1. Управление доступом на территорию
4.2.6.1.2. Ограничение доступа
4.2.6.1.3. Учет рабочего времени
4.2.6.1.4. Идентификация пользователей
5. QA
5.1. Виды тестирования
5.1.1. Функциональное тестирование
5.1.2. Нагрузочное тестирование
5.1.3. Регрессионное тестирование
5.1.4. Автоматизированное тестирование
5.1.4.1. Selenium
5.1.4.2. Katalon Studio
5.2. Особенности приемки функциональности для всех типов тестирования
5.2.1. Чек лист
6. Backend
6.1. Языки программирования + фреймворки
6.1.1. .Net (компилируемый, ошибок быть не может и не должно, иначе файл не запустится)
6.1.1.1. Фреймворки
6.1.1.1.1. .Net Framework (разница, особенности)
6.1.1.1.2. .Net Core (разница, особенности)
6.1.2. Node.js (интерпретируемый, даже плохо написанный код запустится, но с ним тяжело работать)
6.1.2.1. Фреймворки: 1. expressjs 2. loopback 3. sailsjs
6.1.3. Java (компилируемый)
6.1.4. PHP (интерпретируемый)
6.2. СуБД
6.2.1. Реляционные БД
6.2.1.1. Web-сокеты
6.2.1.2. Что такое индексы в БД? Ключи (первичный, уникальный).
6.2.1.3. SQL — Ограничения (Constraint)
6.2.1.4. Организация связей: * 1 к 1 * 1 ко многим * многие ко многим
6.2.1.5. Типы соединения таблиц (innerjoin и др)
6.2.1.6. Чем отличаются olap от oltp?
6.2.2. Нереляционные БД (NoSQL)
6.3. Интеграции
6.3.1. API( rest API, soap API - протоколы, xml-язык общения)
6.3.1.1. Rest API, Soap API - отличия
6.3.1.2. Xml-язык общения
6.3.2. Чаты
6.3.2.1. Реализация на firebase (достоинства недостатки)
6.3.3. Push-уведомления (реализация с гарантированной доставкой)
6.3.4. СМС-уведомления
6.3.4.1. Сервис Twillio (с возможностью гарантированной доставки)
6.3.5. 1C. (Создание баз, добавление/удаление пользователей, поправки конфигурации, добавление поля в отчет, взаимодействие 1С и SQL)
6.4. Облачные хранилища (IaaS)
6.4.1. Инфраструктура облачных хранилищ
6.4.2. Размещение на amazon
6.4.3. Какие хранилища есть, как размещать
6.4.4. Хранилище S3
6.4.5. Rabbit mq
6.4.6. Elastic search
6.5. Web scraping (парсинг)
7. Frontend
7.1. Фреймворки
7.1.1. React
7.1.2. Angular
7.1.3. Vue
7.1.4. jQuery
7.2. Стандарты
7.2.1. JS
7.2.2. HTML
7.2.3. CSS
7.2.4. XML
7.2.5. JSON
7.3. Книги по JS, HTML/CSS и не только
7.4. Что стоит изучать фронтенд разработчику в 2019 году?
7.5. Полезное
8. Mobile development
8.1. IOS
8.1.1. Языки разработки IOS-приложений
8.1.1.1. Swift
8.1.1.2. Objective C
8.1.1.3. Отличие между Obj-C и Swift
8.1.2. Распространение приложения
8.1.2.1. App Store
8.1.2.1.1. Apple Dev Account (создание аккаунта)
8.1.2.1.2. Enterprise in-house
8.1.2.2. Fabric.io
8.1.2.2.1. Регистрация аккаунта и интеграция
8.1.2.2.2. Стоимость аккаунта - бесплатно.
8.2. Android
8.2.1. Языки разработки Android-приложений
8.2.1.1. Java (jdk)
8.2.1.2. Kotlin
8.2.2. Распространение приложения
8.2.2.1. Google play
8.2.2.1.1. Регистрация аккаунта и публикация приложений
8.2.2.1.2. Условия использования Google Play
8.2.2.1.3. Стоимость аккаунта - 25$ единоразово.
8.2.2.1.4. Открытое, закрытое или внутреннее тестирование
8.2.2.2. Fabric.io
8.2.2.2.1. Регистрация аккаунта и интеграция
8.2.2.2.2. Стоимость аккаунта - бесплатно.
8.3. Особенности ненативной (кроссплатформенной) разработки
8.3.1. Разница между нативной и кроссплатформенной разработкой
8.3.2. Технологии, фреймворки и языки для кроссплатформенной разработки
8.3.3. Кроссплатформенная разработка в 2019 году