Two-factor authentication (2FA) или Двухфакторная аутентификация. Более подробно читаем про Двухфакторная аутентификация.
Big Design Up Front или BDUF Этот принцип разработки программного обеспечения утверждает, что разработчик должен сначала завершить проектирование, а после этого проект можно начинать реализовать.
Сторонники утверждают, что такой подход помогает обнаруживать проблемы на стадии требований и быстро и дёшево их решать.
Однако изменения в требованиях к программному обеспечению могут произойти в течение жизненного цикла проекта. Очень редко требования остаются неизменными на протяжении всего жизненного цикла проекта.
Это расшифровывается как Business Layer или Уровень бизнес логики. Более подробно читаем в Business Layer
Есть такой подход – слоёная архитектура, когда код делят на слои. В этой архитектуре BL – это Business Layer или более полно можно сказать Business Logic Layer – уровень бизнес логики. Здесь вы должны писать весь код, который относится к логике приложения.
За счёт отдельного слоя его проще будет тестировать отдельно от данных и разделять между приложениями разного типа – веб или мобильными приложениями.
Более подробно я подобные вещи показываю в своих примерах на практике. Можно много пытаться рассказать о том, как делить и что делить, но лучше увидеть слои на реальных примерах, что я показываю в своих практических примерах в разделе Roadmap.
Расшифровывается как Data Access Layer – уровень доступа к данным, так что более подробно читаем здесь Data Access Layer
Data Access Layer – уровень доступа к данным - предоставляет самые данные. За счёт отделения слоя данных его можно реализовать под различные базы данных и подменять по мере необходимости, можно абстрагироваться так, чтобы можно было тестировать другие слои отдельно от данных.
По мере роста приложения может потребоваться вносить изменения в данные с целью оптимизации, менять хранилище (например, поменять реляционную базу данных на документно-ориентированную).
Разделение на слои – является очень важным в разработке, чтобы проще было поддерживать код и расширять. На слое DAL не должно быть никакой логики, и он должен возвращать объекты, которые представляют данные, нужные для бизнес-логики.
Более подробно я подобные вещи показываю в своих примерах на практике. Можно много пытаться рассказать о том, как делить и что делить, но лучше увидеть слои на реальных примерах, что я показываю в своих практических примерах в разделе Roadmap.
Deface тип хакерской атаки, при которой какая-то страница веб-сайта заменяется на другую — как правило, вызывающего вида (реклама, предупреждение, угроза и т.д.). Если дословно перевести deface на русский, то это будет изменение лица.
В последнее время Deface встречается не так часто, как в 90-е. Эта атака больше выглядит как самоутверждение хакера – доказательство его возможностей.
Один из самых известных случаев относится ко второй половине 1990-х годов, когда была взломана домашняя страница Центрального разведывательного управления (ЦРУ). В течение трёх дней на сайте висел заголовок «Центральное управление идиотов»
Dependency Inversion Principle (Принцип инверсии зависимостей) - принцип объектно-ориентированного программирования, суть которого состоит в том, что классы должны зависеть от абстракций, а не от конкретных деталей. Используется для минимизации зацепления в компьютерных программах. Может рассматриваться как уменьшение знаний о данных и поведении объекта (и зацепления с ним) до минимума, описанного интерфейсом.
Более подробно смотрите: Принцип инверсии зависимостей