Термины и понятия

Термины и понятия
Понятие
Описание
ТЗ
Аббревиатура, обозначающая далее настоящее Техническое задание на разработку сайта.
Система
Автоматизированная система управления сайтом.
Сайт
Глобальный уровень структуры системы, которому соответствуют отдельные домены второго уровня (например, «company.ru»), третьего уровня (например, «about.company.ru») и пр.
Языки программирования
Это язык, который используют программисты чтобы указать компьютеру какую работу он должен выполнить. Приложения пишутся на языках программирования.
Исходный код
Это набор инструкций, написанных программистом на языке программирования. После написания кода транслируется в машинный код (двоичный) при помощи компилятора. Исходный код это всего лишь состояние программы, чтобы программист мог читать и изменять поведение программы.
Фреймворк
Это уже написанный код, выполняющий определенные задачи. Программисты могут выборочно изменять поведение такого кода и добавлять свой в зависимости от бизнес-логики конечного приложения. Прогрммный фреймворк прежлстаывляет стандартный путь сборки и разворачивания прложений. В нем уже решены вопросы построения и сборки приложений и продуктов. При использовании фреймворков программисты не пишут абсолютно весь код самостоятельно. Вместо этого они используют уже готовые решения, которые предлагает фреймворк. Основные проблемы, которые решают фреймворки это увеличение продуктивности разработчиков, качества кода, читаемости и единообразия кодовой базы. К тому же, знание фреймворков для некоторых вакансий является важнейшим требованием. Примеры фреймворков: Bootstrap, React, Spring Framework, Rails, Symfony
Библиотека
Коллекция предопределенных функций или шаблонов, которые программа может использовать. Библиотеки полезны для применения каких-то общих функций для разных программ, потому что одну библиотеку может использовать сразу множество различных приложений. Примеры библиотек: JQuery, Google Guava, RxJava, d3.js
UX дизайнер
Дизайнер «пользовательского опыта» помогает создавать процесс использования приложения. Он упрощает визуальную часть приложения и фокусируется на тех, часятх, которые используются пользователями чаще других. Работа такого специалиста заключается в том, чтобы сделать приложение легким и полезным для пользователей настолько, насколько это возможно. Можно также сказать, что этот человек улучшает юзабилити приложения.
Бэк
Создает бизнес-логику приложения на стороне сервера. Как правило это заключается в работе с данными — записи и чтении их из базы данных, а также работа с сетевыми запросами, обработкой пользовательских данных с фронта и формировании ответов различным версиям приложения — мобильным клиентам, браузеру и т.д. В отличие от фронт-энд разработчика, работа бэкэнда не имеет визуального представления. Вместо этого он опирается на логические рассуждения и программную архитектуру. Современный Фронтенд и мобильные сетевые приложения напрямую взаимодействуют с серверами, где крутится код, который написал бэкенд. Без бэкенда сложно представить многие современные приложения.
Фуллстэк
Такой специалист комфортно чувствует себя работая и с фронтовой часть и с бэковой. Имеет общее представление о том, как работает каждая часть приложения, при этом не являясь
MEAN
Использует в работе JavaScript-стэк для построения динамических веб-приложений и сайтов. MEAN-стэк состоит из MongoDB, Express.js, AngularJS (or Angular), and Node.js. Поскольку все компоненты стэка написаны на JavaScript, MEAN-приложения могут быть написаны на одном языке и на фронте и на бэке.