Словарь ИТшника

Словарь постоянно развивается и растёт. В этом словаре собраны термины и сокращения по программированию, безопасности и другим темам.

Двухфакторная аутентификация

Безопасность

Двухфакторная аутентификация (2FA) — это метод безопасности, требующий двух разных факторов аутентификации для доступа к системе. Это тип многофакторной аутентификации (MFA).

2FA используется для защиты учетных данных пользователей и ресурсов, к которым они могут получить доступ. Он помогает предотвратить кражу, уничтожение или доступ к записям данных киберпреступниками.

Примеры двухфакторной аутентификации:

- Доверенный номер телефона: пользователь получает по СМС код проверки.

- Приложение для смартфона: пользователь одобряет запрос аутентификации перед входом в систему с помощью приложения для смартфона.

- Биометрия: пользователь использует биометрический фактор, такой как отпечаток пальца или сканирование лица.

Двухфакторная аутентификация затрудняет злоумышленникам доступ даже если он украдёт пароль. 

Дядюшка Боб

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

Роберт Сесил Мартин  (Robert Cecil Martin), также известный как Дядя Боб (англ. Uncle Bob) — американский инженер и программист, консультант и автор в области разработки ПО. 

В 2001 он организует встречу группы, которая создала гибкую методологию разработки из техник экстремального программирования.

Автор книг:

- Быстрая разработка программ. Принципы, примеры, практика

- Чистый код. Создание, анализ и рефакторинг

- Идеальный программист. Как стать профессионалом разработки ПО

- Принципы, паттерны и методики гибкой разработки на языке C#

- Гибкая разработка программ на Java и C++. Принципы, паттерны и методики

- Чистая архитектура. Искусство разработки программного обеспечения

- Чистый Agile. Основы гибкости

- Идеальная работа. Программирование без прикрас

Красная команда

Безопасность

Красная команда - атакующая группа безопасников. Более подробно читаем тут Red Team

Многофакторная аутентификация

Безопасность

MFA или Multi-factor authentication – это метод контроля доступа к чему-либо в котором пользователю для получения доступа к информации необходимо предъявить более одного «доказательства механизма аутентификации». В качестве проверки аутентификации используется не только пароль, но и одно/несколько из следующих пунктов:

- Знание — информация, которую знает субъект. Например пароль, ПИН-код, код, контрольное слово и так далее.

- Владение — вещь, которой обладает субъект. Например, электронная или магнитная карта, токен, флеш-память.

- Свойство, которым обладает субъект. Например биометрия, природные уникальные отличия: лицо, отпечатки пальцев (папиллярные узоры), радужная оболочка глаз, последовательность ДНК.

Принцип единой ответственности

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

Один из принципов SOLID и это первая буква S в названии принципа - Single Responsibility Principle. Более подробно читаем в Single Responsibility Principle

Принцип замещения Лисков

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

Это Liskov Substitution Principle или LSP. Это третья буква в знаменитом сокращении SOLID. 

Барбара Лисков заявила, что производные классы должны быть спроектированы так, чтобы их при необходимости можно было заменить своими базовыми классами без потери обратной совместимости. 

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

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

Принцип инверсии зависимостей

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

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

Принцип входит в пятёрку принципов SOLID. Это буква D в этом сокращении. Принцип был выведен в трудах Роберта Мартина.

Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

Принцип открытости/закрытости

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

Чаще можно увидеть этот принцип в виде сокращения OCP или Open/Closed Principle. Более подробно читаем про этот принцип в Open Closed Principle

Принцип разделения интерфейса

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

Interface Segregation Principle (ISP) переводится как Принцип разделения интерфейса. Это четвёртая буква в аббревиатуре SOLID. 

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

Кто-то трактует этот принцип как – лучше больше маленьких интерфейсов, чем один маленький. Я предпочитаю больше маленьких интерфейсов, но не уверен, что это правильное объяснение принципа. 

Фиолетовая команда

Безопасность

Более подробно читаем Purple Team

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне