Разработка

Начать. Это бесплатно
или Регистрация c помощью Вашего email-адреса
Rocket clouds
Разработка создатель Mind Map: Разработка

1. Backend

1.1. Языки программирования + фреймворки

1.1.1. .Net (компилируемый, ошибок быть не может и не должно, иначе файл не запустится)

1.1.1.1. Фреймворки

1.1.1.1.1. .Net Framework (разница, особенности)

1.1.1.1.2. .Net Core (разница, особенности)

1.1.2. Node.js (интерпретируемый, даже плохо написанный код запустится, но с ним тяжело работать)

1.1.2.1. Фреймворки: 1. expressjs 2. loopback 3. sailsjs

1.1.3. Java (компилируемый)

1.1.4. PHP (интерпретируемый)

1.2. СуБД

1.2.1. Реляционные БД отдельно (организация связей 1 к 1, 1 ко многим, многие ко многим) Типы соединения таблиц (innerjoin и др) Чем отличаются olap от oiltp

1.2.1.1. Структурированные данные. Вся информация хранится в таблицах, cвязанных друг с другом специальными отношениями. Эти отношения позволяют нам извлекать и объединять данные из одной или нескольких таблиц с помощью одного запроса. Электронная таблица состоит из строк и столбцов. Все строки имеют одинаковые столбцы, а каждый столбец содержит данные. Что такое индексы? Ключи(первичный, уникальный)?, констраенты (англ)?

1.2.2. Нереляционные БД (NoSQL)

1.2.2.1. Неструктурированные данные. Используются для хранения данных, которые не требуют четкой организации в таблицах и для большого объема данных. Также NoSQL обычно предоставляют киллер-фичу, которой до сих пор нет у реляционных (так как структуры данных разные) - шардинг. Это такая штука, которая размазывает данные по какому то кол-ву серверов, сама. Это удобно и масштабируемо. Но тут много нюансов и совершенно не значит что если много данных, то только NoSQL.

1.3. Интеграции

1.3.1. API( rest API, soap API - протоколы, xml-язык общения)

1.3.2. Чаты

1.3.2.1. Web-сокеты

1.3.2.1.1. Веб-сокетам для ответа не нужны ваши повторяющиеся запросы. Достаточно выполнить один запрос и ждать отклика. Вы можете просто слушать сервер, который будет отправлять вам сообщения по мере готовности. Веб-сокеты можно использовать, если вы разрабатываете: - приложения реального времени; - чат-приложения; - IoT-приложения; - многопользовательские игры.

1.3.2.2. Реализация на firebase (достоинства недостатки)

1.3.3. Push-уведомления (реализация с гарантированной доставкой)

1.3.4. СМС-уведомления

1.3.4.1. Сервис Twillio (с возможностью гарантированной доставки)

1.3.5. 1C. (Создание баз, добавление/удаление пользователей, поправки конфигурации, добавление поля в отчет, взаимодействие 1С и SQL)

1.4. Облачные хранилища (IaaS) - выделить отдельно ИНФРАСТРУКТуру 1. размещение на amazon (принципы) 2. какие хранилища есть, как размещать 3. хранилище S3 4. rabbit mq 5. elastic search

1.4.1. Клиент получает возможность использовать облачную инфраструктуру по своему усмотрению и самостоятельно управлять ресурсами обработки и хранения, а также сетями. «Пользователь может создать виртуальную инфраструктуру и изменить её в любой момент», – говорит консультант Эван Лейт (Ewan Leith). Аутсорсинг стал популярным еще в те времена, когда компании хотели использовать компьютеры, но не хотели нести издержки по их содержанию и обслуживанию. По этой причине мы сегодня имеем технологию виртуализации.

2. Frontend

2.1. Фреймворки

2.1.1. React

2.1.2. Angular

2.1.3. Vue

2.1.4. jQuery

2.2. Стандарты

2.2.1. JS

2.2.2. HTML

2.2.3. CSS

2.2.4. XML

2.2.5. JSON

3. Дизайн

3.1. UX - User experiance (взаимодействие с интерфейсом) 1 этап разработки дизайна.

3.2. UI - User Interface (как выглядит интерфейс - навигация, окна, цвета, чекбоксы и т.д.) 2 этап разработки дизайна.

3.3. Особенности разработки дизайна

3.3.1. Apple Human Interface Guidelines

3.3.2. Android Design Guidelines

3.3.3. Material Design

3.4. Инструменты

3.4.1. Adobe XD

3.4.2. Sketch

3.4.3. Invision

3.4.4. Zeplin

3.5. ВАЖНО - проводить ревью с разработчиком конкретной платформы перед показом клиенту дизайна экранов.

4. Аналитика

5. Администрирование

5.1. Сетевое

5.1.1. Планирование, установка, настройка, обслуживание корпоративной сети, обеспечение ее надежной, бесперебойной, высокопроизводительной и безопасной работы, особенности маршрутизации, vpn, nat, особенность организации каналов связи при помощи крипто про (защищенные каналы связи)

5.1.1.1. Задачи сетевого администрирования: Планирование сети. Установка и настройка сетевых узлов. Установка и настройка сетевых протоколов. Установка и настройка сетевых служб. Поиск неисправностей. Поиск узких мест сети и повышения эффективности работы сети. Мониторинг сетевых узлов. Мониторинг сетевого трафика. Защита информации в сети.

5.2. Системное

5.2.1. Администрирование сети. (Топология сети (какую железку в какую втыкать и зачем), планирование СКС (где и сколько розеток), конфигурация nat'ов и vpn'ов и т.д. Дополнительно сервисы контроля доступа в интернет — squid, IIS, файрволы, IDS и т.д)

5.2.2. Администрирование рабочих станций. (Сгоревшие БП, переустановка виндов, решение проблемы с очередным банк-клиентом, починка отвалившейся печати, решение проблемы «чем мне открыть этот файл», борьба с вирусами для windows и т.д.)

5.2.3. Централизованная авторизация. (Active Directory - добавить/удалить пользователей, вогнать рабочую станцию в домен, реализовать автоматическое назначение политик на пользователей заданного OU и т.д.)

5.2.4. Почта. Условно делится на три мира: мелкие виндовые почтовые сервера (класса Kerio), Exchange,pop smtp , imap (определения)

5.2.5. Базы данных (Бэк ап и восстановление данных)

5.2.6. Системы контроля доступа, разграничение доступов.

6. QA

6.1. Виды тестирования

6.1.1. Функциональное тестирование

6.1.2. Нагрузочное тестирование

6.1.3. Регрессионное тестирование

6.1.4. Автоматизированное тестирование

6.1.4.1. Selenium

6.1.4.2. Katalon Studio

6.2. Особенности приемки функционала для всех типов тестирования

6.2.1. Чек лист

7. Mobile development

7.1. IOS

7.1.1. Языки разработки IOS-приложений

7.1.1.1. Swift

7.1.1.2. Objective C

7.1.2. Возможные ограничения в реализации

7.1.3. Распространение приложения

7.1.3.1. App Store

7.1.3.1.1. Apple Dev Account

7.1.3.2. Enterprise in-house

7.1.3.2.1. Регистрация аккаунта

7.1.3.2.2. Получение сертификата

7.1.3.2.3. Стоимость аккаунта - 300$ ежегодно.

7.1.3.3. External тестирование - TestFlight (Аналог Alpha channel в Google)

7.1.3.3.1. Регистрация аккаунта

7.1.3.3.2. Правила публикации

7.1.3.3.3. Стоимость аккаунта - 99$ ежегодно.

7.1.3.4. Fabric.io

7.1.3.4.1. Регистрация аккаунта и интеграция

7.1.3.4.2. Стоимость аккаунта - бесплатно.

7.2. Android

7.2.1. Языки разработки Android-приложений

7.2.1.1. Kotlin

7.2.1.2. Java (jdk)

7.2.2. Возможные ограничения в реализации

7.2.3. Распространение приложения

7.2.3.1. Распространение приложения

7.2.3.2. Распространение приложения

7.2.3.2.1. Распространение приложения

7.2.4. Публикация в Google play

7.3. Особенности ненативной разработки

7.3.1. Разница между нативной и ненативной разработкой:

7.3.2. Технологии, фреймворки и языки для ненативной разработки: