Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Справочник IT-терминов

Покупка
Основная коллекция
Артикул: 810748.02.99
Представлены основные IT-термины в области разработки, тестирования, системного администрирования, облачных вычислений. Для начинающих IT-рекрутеров и всех, кто интересуется информационными технологиями.
Новосадова, М. В. Справочник IT-терминов : справочник / М. В. Новосадова. - Москва ; Вологда : Инфра-Инженерия, 2023. - 68 с. - ISBN 978-5-9729-1156-1. - Текст : электронный. - URL: https://znanium.com/catalog/product/2099119 (дата обращения: 05.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
М. В. Новосадова





                СПРАВОЧНИК IT-ТЕРМИНОВ














Москва Вологда «Инфра-Инженерия» 2023

УДК 004
ББК 32.81
    Н76










    Новосадова, М. В.

Н76 Справочник IT-терминов / М. В. Новосадова. - Москва ; Вологда : Инфра-Инженерия, 2023. - 68 с.
        ISBN 978-5-9729-1156-1

        Представлены основные IT-термины в области разработки, тестирования, системного администрирования, облачных вычислений.
        Для начинающих IT-рекрутеров и всех, кто интересуется информационными технологиями.


                                                           УДК 004
ББК 32.81












ISBN 978-5-9729-1156-1

© Новосадова М. В., 2023
         © Издательство «Инфра-Инженерия», 2023
                                © Оформление. Издательство «Инфра-Инженерия», 2023

        СОДЕРЖАНИЕ


Основные понятия....................................................4
Программирование....................................................8
Языки программирования.............................................12
  1. Java ........................................................ 12
  2. Android...................................................... 15
  3. Objective-C/Swift.............................................17
  4. JavaScript....................................................19
  5. PHP.......................................................... 24
  6. Ruby..........................................................26
  7. C# (.NET).....................................................26
  8. C/C++.........................................................28
  9. Python....................................................... 29
  10. Go/Golang ...................................................30
  ll. Perl.........................................................31
  12. Scala........................................................31
  13. Другие ЯП....................................................32
Тестирование.......................................................33
Системное администрирование/DevOps.................................37
Cloud computing....................................................45
Базы данных........................................................48
BigData............................................................51
IDE................................................................52
Blockchain.........................................................53
loT................................................................54
Операционные системы...............................................57
Методологии........................................................59
Алфавитный указатель...............................................61

            Основные понятия



     Переменная — поименованная, либо адресуемая иным способом область памяти, адрес которой можно использовать для осуществления доступа к данным. Данные, находящиеся в переменной, называются значением этой переменной.

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

     Функция — фрагмент программного кода (подпрограмма), к которому можно обратиться из другого места программы.
     Функция должна быть соответствующим образом объявлена и определена. Объявление функции, кроме имени, содержит список имен и типов передаваемых параметров (аргументов), а также, тип возвращаемого функцией значения. Функции, которые возвращают пустое значение, часто называют процедурами.
     Определение функции содержит исполняемый код функции. В объектноориентированном программировании функции, объявления которых являются неотъемлемой частью определения класса, называются методами.

     Параметр — принятый функцией аргумент.

     Класс — это элемент ПО, описывающий абстрактный тип данных и его частичную или полную реализацию.

     Метод — это функция или процедура, принадлежащая какому-то классу или объекту. Метод состоит из некоторого количества операторов для выполнения какого-то действия и имеет набор входных аргументов.

     Язык программирования — формальный язык, предназначенный для записи компьютерных программ. Язык программирования представляет набор правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно - ЭВМ) под ее управлением.

     Объектно-ориентированное программирование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

     Прототипное программирование — стиль объектно-ориентированного программирования, при котором отсутствует понятие класса, а наследование


4

производится путем клонирования существующего экземпляра объекта — прототипа.

     Аспектно-ориентированное программирование (АОП) — парадигма программирования, основанная на идее разделения функциональности для улучшения разбиения программы на модули.

     Функциональное программирование — раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних.

     Процедурное программирование — программирование на императивном языке, при котором последовательно выполняемые операторы можно собрать в подпрограммы, то есть более крупные целостные единицы кода, с помощью механизмов самого языка

     Frontend и backend — термины в программной инженерии, которые различают согласно принципу разделения ответственности между представительским уровнем и уровнем доступа к данным соответственно. Frontend — интерфейс взаимодействия между пользователем и основной программно-аппаратной частью (backend).

     Операционная система (ОС) — комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем. С 1990-х годов наиболее распространенными операционными системами являются системы семейства Windows, Unix и UNIX-подобные системы.

     Программное обеспечение (ПО) — программа или множество программ, используемых для управления компьютером.

     Платформа — это аппаратно-программный комплекс, обеспечивающий базовый набор сервисов, необходимых пользователям для выполнения определенных задач.

     Фреймворк — программная платформа, определяющая структуру программной системы. Это ПО, облегчающее разработку и объединение разных компонентов большого программного проекта.

     Интерфейс — программная/синтаксическая структура, определяющая отношение между объектами, которые разделяют определенное поведенческое множество и не связаны никак иначе. При проектировании классов, разработка интерфейса тождественна разработке спецификации (множества методов, которые каждый класс, использующий интерфейс, должен реализовывать).


5

     Компилятор — программа или техническое средство, выполняющее трансляцию машинной программы с предметно-ориентированного языка на машинно-ориентированный язык.

     Кастомизация — процесс настройки функциональности программного продукта под требования конечного потребителя.

     Система управления пакетами — набор программного обеспечения, позволяющего управлять процессом установки, удаления, настройки и обновления различных компонентов программного обеспечения.

     API (application programming interface, интерфейс программирования приложений) — набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) или ОС для использования во внешних программных продуктах. Используется программистами при написании всевозможных приложений.

     SOAP — протокол обмена структурированными сообщениями в распределенной вычислительной среде.

     SSL — криптографический протокол, который подразумевает более безопасную связь. Он использует асимметричную криптографию для аутентификации ключей обмена, симметричное шифрование для сохранения конфиденциальности, коды аутентификации сообщений для целостности сообщений. Протокол широко использовался для обмена мгновенными сообщениями и передачи голоса через IP в таких приложениях как электронная почта, интернет-факс и др.

     Apache Kafka — распределенный программный брокер сообщений, проект с открытым исходным кодом, разрабатываемый в рамках фонда Apache. Спроектирован как распределенная, горизонтально масштабируемая система, обеспечивающая наращивание пропускной способности как при росте числа и нагрузки со стороны источников, так и количества систем-подписчиков.

     Архитектура IT решений — принципиальная организация системы, воплощенная в ее элементах, их взаимоотношениях друг с другом и со средой, а также принципы, направляющие ее проектирование и развитие. Архитектура IT-системы организации — это упрощенный взгляд на IT, который тем не менее позволяет во многом оценить существующую ситуацию и спланировать дальнейшее развитие. Разработка IT-архитектуры позволяет ясно представить:
     •  какая информация/данные критичны для бизнеса компании и как они организованы;
     •  какие приложения будут поддерживать бизнес;
     •  смогут ли эти приложения эффективно взаимодействовать между собой и с внешними системами партнеров и клиентов;


6

     •  соответствуют ли используемые технологии требованиям поддержки бизнес-процессов;
     •  достаточно ли обеспечена информационная безопасность систем;
     •  смогут ли сотрудники компании получить своевременный доступ к нужным данным из любого необходимого места;
     •  какие стандарты должны использоваться при разработке и закупке компонентов системы;
     •  насколько современна техническая инфраструктура (серверы, сети, другое оборудование в системе) и как эффективно она используется.

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

     Архитектура web-решений. Web-приложения представляют собой определенный тип программ, построенных по архитектуре «клиент-сервер». Особенность их заключается в том, что само web-приложение находится и выполняется на сервере, — клиент при этом получает только результаты работы. Работа приложения основывается на получении запросов от пользователя (клиента), их обработке и выдачи результата. Передача запросов и результатов их обработки происходит через Интернет. Отображением результатов запросов занимается специальное приложение — браузер (Chrome, Internet Explorer, Opera, Safari и др.). К наиболее типичным операциям, выполняемым web-приложениями, относятся:
     •  прием данных от пользователя и сохранение их на сервере;
     •  выполнение различных действий по запросу пользователя (извлечение данных из базы, их добавление, удаление, изменение, проведение сложных вычислений);
     •  идентифицирование пользователя и отображение интерфейса системы, соответствующего данному пользователю;
     •  отображение постоянно изменяющейся оперативной информации и т. д.

     Клиент-сервер (Client-server) — вычислительная или сетевая архитектура, в которой задания распределены между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами. Физически клиент и сервер — это программное обеспечение. Обычно они взаимодействуют через


7

компьютерную сеть посредством сетевых протоколов. Программы-серверы ожидают от клиентских программ запросы и предоставляют им свои ресурсы в виде данных (например, загрузка файлов) или сервисных функций (например, работа с электронной почтой).

     ESB (сервисная шина предприятия) — связующее ПО, обеспечивающее централизованный и унифицированный обмен сообщениями между различными информационными системами на принципах сервис-ориентированной архитектуры. Основной принцип шины — концентрация обмена сообщениями между различными системами через единую точку, в которой обеспечивается транзакционный контроль, преобразование данных, сохранность сообщений.

     REST — архитектурный стиль взаимодействия компонентов распределенного приложения в сети. REST представляет собой согласованный набор ограничений, учитываемых при проектировании распределенной гипермедиа-системы. В определенных случаях это приводит к повышению производительности и упрощению архитектуры. RESTful API — это практическое воплощение REST, которое сводится к четырем базовым операциям: получение данных в удобном для клиента формате, создание новых данных, обновление данных, удаление данных.

     WebHook — механизм получения уведомлений об определенных событиях (в основном о действиях пользователей) на свой собственный сайт.

     CMS (система управления содержимым) — информационная система или компьютерная программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления контентом.



            Программирование



      Software Developer (разработчик программного обеспечения) — среднестатистический программист, работающий в команде. Часто приклеен к языку/ платформе, поэтому приписывает себе его название. Например, Java Developer, NET Developer и т. д., Software Developer отличается от кодера тем, что непосредственно кодирование — это всего лишь одна из его обязанностей. Чаще всего в обязанности разработчика входят: предметный анализ, спецификация, дизайн, кодирование, отладка, юнит тесты, документация, оптимизация.

      Full Stack Developer. Термин «full stack» описывает разработчика, который одинаково хорошо справляется с написанием фронтенда и бэкенда.


8

      MVC (model-view-controller) — схема использования нескольких шаблонов проектирования, с помощью которых модель приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента таким образом, чтобы модификация одного из компонентов оказывала минимальное воздействие на остальные.

      MVVM (Model-View-ViewModel) — шаблон проектирования архитектуры приложения. Используется для разделения модели и ее представления.

      SOLID — набор из пяти основных принципов объектно-ориентированного программирования и проектирования. Эти принципы предназначены для повышения вероятности того, что программист создаст систему, которую будет легко поддерживать и расширять в течение долгого времени. Это руководства предписывают программисту выполнять рефакторинг исходного кода, пока тот не станет разборчиво написанным и расширяемым. Это часть общей стратегии гибкой и адаптивной разработки.
      •       Single responsibility — принцип единственной ответственности (каждый класс должен иметь одну и только одну причину для изменений).
      •       Open-closed — принцип открытости/закрытости (программные сущности должны быть открыты для расширения, но закрыты для модификации).
      •       Liskov substitution — принцип подстановки Барбары Дисков (объекты в программе должны быть заменяемыми на экземпляры их подтипов без изменения правильности выполнения программы. Наследующий класс должен дополнять, а не изменять базовый).
      •       Interface segregation — принцип разделения интерфейса (много интерфейсов, специально предназначенных для клиентов, лучше, чем один интерфейс общего назначения).
      •       Dependency inversion — принцип инверсии зависимостей (зависимость на Абстракциях. Нет зависимости на что-то конкретное).

      KISS (Keep it simple, stupid) — принцип проектирования, который утверждает, что большинство систем работают лучше всего, если они остаются простыми, а не усложняются. Принцип, запрещающий использование более сложных средств, чем необходимо.

      DRY (Don’t repeat yourself) — принцип разработки программного обеспечения, нацеленный на снижение повторения информации различного рода, особенно в системах со множеством слоев абстрагирования.

      YAGNI (You aren't gonna need it) — процесс и принцип проектирования ПО, при котором в качестве основной цели и/или ценности декларируется отказ от избыточной функциональности, — то есть отказ добавления функциональности, в которой нет непосредственной надобности.


9

      SOA (сервис-ориентированная архитектура) — модульный подход к разработке программного обеспечения, основанный на использовании распределенных, слабо связанных (заменяемых компонентов, оснащенных стандартизированными интерфейсами для взаимодействия по стандартизированным протоколам.

      Рефакторинг (переработка кода) — процесс изменения внутренней структуры программы, не затрагивающий ее внешнего поведения и имеющий целью облегчить понимание ее работы. В его основе лежит последовательность небольших преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению ее согласованности.

      Code review (просмотр кода) — систематическая проверка исходного кода программы с целью обнаружения и исправления ошибок, которые остались незамеченными в начальной фазе разработки. Целью просмотра является улучшение качества программного продукта и совершенствование навыков разработчика.

      XML (https://www.w3.org/XML/) — расширяемый язык разметки. XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, нацеленных на использование в Интернете.

      UML (унифицированный язык моделирования) (https://www.uml.org/) — язык графического описания для объектного моделирования в области разработки ПО, моделирования бизнес-процессов, системного проектирования и отображения организационных структур.

      BPMN (нотация и модель бизнес-процессов) — система условных обозначений для моделирования бизнес-процессов.

      Oracle Coherence

      (https://www.oracle.com/middleware/technologies/ coherence.html) — это решение по распределенным вычислениям в памяти, которое позволяет предсказуемо масштабировать критические приложения, обеспечивая быстрый и надежный доступ к часто используемым данным. Позволяет проводить в оперативной памяти распределенные вычисления.

      GoF паттерны — шаблоны проектирования. Представляют собой консистенцию некоего опыта, пригодную для повторного использования. Применяются при реализации архитектурных решений на любом ООП.


10

      DI — контейнер или система, которая создает объекты. DI паттерны — сервис-локаторы, паттерны проектирования.

      PWA (прогрессивное веб-приложение) — технология в веб-разработке, которая добавляет сайтам возможности приложений для мобильных устройств, трансформирует сайт в приложение, гибрид сайта и приложения для мобильных устройств, продукт совместной эволюции мобильного сайта и классического нативного приложения.

      OAuth (https://oauth.net/) — открытый протокол авторизации, который позволяет предоставить третьей стороне ограниченный доступ к защищенным ресурсам пользователя без необходимости передавать этой стороне логин и пароль.

      JWT (https://jwt.io/) — открытый стандарт для создания токенов доступа, основанный на формате JSON. Используется для передачи данных для аутентификации в клиент-серверных приложениях. Токены создаются сервером, подписываются секретным ключом и передаются клиенту, который в дальнейшем использует данный токен для подтверждения своей личности.

      SPA (одностраничное приложение) — веб-приложение или веб-сайт, использующий единственный HTML-документ как оболочку для всех веб-страниц и организующий взаимодействие с пользователем через динамически подгружаемые HTML, CSS, JavaScript посредством AJAX. ОП напоминают native приложения, с той разницей, что исполняются в рамках браузера, а не в собственном процессе операционной системы.

      AJAX — подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся быстрее и удобнее.

      Closures — функция, которая ссылается на свободные переменные в своей области видимости.

      MVP (минимально жизнеспособный продукт) — продукт, обладающий минимальными, но достаточными для удовлетворения первых потребителей функциями. Минимально жизнеспособный продукт имеет только те основные функции, которые достаточны для развертывания продукта. MVP может быть частью стратегии и процесса, направленных на создание и продажу продукта клиентам.

      CSLA — инфраструктура бизнес-объектов, которая позволяет легко создавать бизнес-объекты поверх слоя данных.


11