Computer Science
Відкрити в Telegram
По всем вопросам: @altmainf Уважаемый менеджер: @altaiface
Показати більше7 707
Підписники
-424 години
-177 днів
-6430 днів
Архів дописів
7 707
Каковы преимущества многофакторной аутентификации?
1. Уменьшение рисков безопасности
Многие методы атак, ведущих к несанкционированному доступу, основаны на краже учетных данных пользователей. MFA снижает вероятность успеха таких атак, требуя от пользователя использования более безопасных учетных данных на основе оборудования.
2. Повышение безопасности аутентификации
Повышает безопасность аутентификации за счет добавления методов, основанных на более сильных факторах, таких как решения на основе аппаратных токенов и персональных телефонов.
3. Повышение доверия пользователей
Компания, использующая многофакторную аутентификацию, показывает своим пользователям, что заботится об их безопасности.
4. Обеспечение гибкости
Легкость интегрирования с системой единого входа (SSO) и адаптивной аутентификацией (Risked-Based Authentication)
7 707
Что такое 3FA?
Трехфакторная аутентификация (3FA) — это тип аутентификации, который подтверждает личность пользователя с использованием трех различных факторов аутентификации:
⁃ Фактор знаний — что-то, что вы знаете (например, пароль, PIN-код, секретный вопрос)
⁃ Фактор владения — то, что у вас есть (например, смартфон с приложением для проверки подлинности, SIM-карту, ключ безопасности).
⁃ Фактор принадлежности — то, чем вы являетесь (например биометрические данные пользователя, например, сканирование отпечатков пальцев, распознавание лица, распознавание голоса).
Трехфакторная аутентификация требует от пользователя демонстрации всех трех факторов аутентификации для успешного завершения аутентификации и получения доступа к своей учетной записи.
7 707
Как работает многофакторная аутентификация (MFA)?
Однофакторные системы безопасности недостаточно безопасны и нуждаются в дополнительной защите. MFA обеспечивает дополнительный уровень безопасности и требует, чтобы пользователь представил как минимум два различных фактора аутентификации.
Первым фактором все еще может быть пароль (но не обязательно). Если пароль, предоставленный пользователем, правильный, то система MFA запрашивает по крайней мере еще одно доказательство, основанное на владении или принадлежности.
Второй фактор может быть: что-то, что у вас есть (мобильное устройство, смартфон, токен безопасности или аппаратный одноразовый пароль) или то, чем вы являетесь (отпечаток пальца или распознавание лица)
7 707
Тип данных — ассоциативный массив
Абстрактный тип данных, позволяющий хранить пары вида «(ключ, значение)» и поддерживающий операции добавления (insert), поиска(find) и удаления(remove) по ключу.
Предполагается, что ассоциативный массив не может хранить две пары с одинаковыми ключами.
В паре (k, v) значение v называется значением, ассоциированным с ключом k. Где k — это key, a v — value.
Семантика и названия вышеупомянутых операций в разных реализациях ассоциативного массива могут отличаться.
Примером ассоциативного массива является телефонный справочник: значением в данном случае является совокупность «Ф. И. О. + адрес», а ключом — номер телефона, один номер телефона имеет одного владельца, но один человек может иметь несколько номеров.
7 707
Ассоциативная память
АП — специальный вид машинной памяти, используемый в приложениях очень быстрого поиска.
Известна также под терминами «память, адресуемая по содержимому», «ассоциативное запоминающее устройство», «контентно-адресуемая память» или «ассоциативный массив»(чаще используется для обозначения структуры данных)
В отличие от обычной машинной памяти (RAM), в которой пользователь задает адрес памяти и ОЗУ возвращает слово данных, хранящееся по этому адресу, АП разработана таким образом, чтобы пользователь задавал слово данных, и АП осуществляла его поиск, чтобы выяснить, хранится ли оно где-либо в памяти.
Если слово данных найдено, АП возвращает список одного или более адресов хранения, где слово было найдено.
7 707
Буфер Ассоциативной Трансляции
Translation Lookaside Buffer (TLB) — это специализированный кэш ЦП, используемый для ускорения трансляции адреса виртуальной памяти в адрес физической памяти.
Используется всеми современными процессорами с поддержкой страничной организации памяти. TLB содержит фиксированный набор записей (от 8 до 4096) и является ассоциативной памятью.
Каждая запись содержит соответствие адреса страницы виртуальной памяти адресу физической памяти.
Если адрес отсутствует в TLB, процессор обходит таблицы страниц и сохраняет полученный адрес в TLB, что занимает в 10 — 60 раз больше времени, чем получение адреса из записи, уже закэшированной TLB.
Вероятность промаха TLB невысока и составляет в среднем от 0,01 % до 1 %.
7 707
❗️ Хардкорный тест для разработчиков MS SQL Server
Вырвитесь из однотипных задач. Освойте продвинутые подходы.
Ответьте на 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «MS SQL Server Developer»
Время прохождения теста ограничено 30 минут
⚡️ Курс создан для разработчиков, которые хотят понять, как устроены БД, научиться писать сложные запросы или заниматься проектированием на SQL профессионально.
Протестируйте обучение на открытом уроке:
👨💻 Перенос данных между серверами - репликация, мирроринг, очередь, AG - в чем разница и примеры использования, 29 марта в 20:00 — https://otus.pw/JKqz/
👉 ПРОЙТИ ТЕСТИРОВАНИЕ
https://otus.pw/U33B/
7 707
Capability-based addressing
В компьютерных науках Capability-based addressing — это схема, используемая некоторыми компьютерами для управления доступом к памяти в качестве эффективной реализации capability-based security.
В этой схеме указатели заменяются защищенными объектами (называемыми capabilities), которые могут быть созданы только с помощью привилегированных инструкций, которые могут выполняться только ядром или каким-либо другим привилегированным процессом, уполномоченным на это.
Таким образом, ядро может ограничить доступ кода приложения и других подсистем к минимально необходимым частям памяти (и отключить доступ для записи, где это необходимо), без необходимости использовать отдельные адресные пространства и, следовательно, требовать переключения контекста при доступе.
7 707
Конкатенация
Операция склеивания объектов линейной структуры, обычно строк.
Например, конкатенация слов «Computer» и «Science» даст слово «ComputerScience».
Операция конкатенации определяется для типов данных, имеющих структуру последовательности (список, очередь, массив и тд). В общем случае, результатом конкатенации двух объектов А и В является объект С = АB, полученный поочерёдным добавлением всех элементов объекта B, начиная с первого, в конец объекта A.
Из соображений удобства и эффективности различают две формы операции конкатенации:
1. Модифицирующая конкатенация. Результат операции формируется в левом операнде.
2. Немодифицирующая конкатенация. Результатом является новый объект, операнды остаются неизменными.
7 707
Многофакторная аутентификация
Концепция, которая произвела революцию в безопасности аутентификации.
MFA — это тип аутентификации, в котором используются как минимум два различных фактора аутентификации, чтобы определить, является ли человек тем, кем он себя называет.
Сила его заключается в том, что для подтверждения личности пользователя требуется как минимум два различных фактора.
Даже если злоумышленник скомпрометирует один фактор аутентификации, ему все равно придется скомпрометировать все остальные факторы аутентификации, чтобы получить доступ. Чем больше факторов аутентификации, тем выше безопасность.
Если вы используете один и тот же фактор дважды, то это двухэтапная аутентификация, но не двухфакторная аутентификация.
7 707
Без геймдизайнеров не было бы Dark Souls, The Last of Us и легендарной The Legend of Zelda. Эти специалисты создают захватывающие игровые миры и получают за это приличные деньги. По данным hh.ru, начинающие геймдизайнеры зарабатывают от 80 000 рублей, а опытные — от 200 000.
Попробуйте себя в геймдизайне бесплатно! На интенсиве Skillbox вы за 3 дня познакомитесь с основными приёмами проектирования игр, разработаете собственный концепт игры и узнаете, как презентовать его потенциальным инвесторам.
Ведёт интенсив Александр Ветушинский — эксперт лаборатории геймификации Сбербанка, преподаватель НИУ ВШЭ и В&D по геймдизайну. Вы получите знания, которые обычно стоят денег, совершенно бесплатно. А ещё спикер разберёт вашу работу в прямом эфире.
Подарки всем участникам интенсива:
🎁 Сертификат на скидку 10 000 рублей, на любой курс Skillbox.
🎁 Электронная книга «GAME isn’t OVER. Любимые приставки и игры, в которые рубились целые поколения».
🎁 Чек-лист для начинающего геймдизайнера.
Бесплатный онлайн-интенсив пройдёт 23–35 марта в 21:00 по МСК. Не забудьте записаться по ссылке: https://epic.st/ZwsQZI.
7 707
Принцип работы блока управления памятью
Он основан на разделении виртуального адресного пространства на участки одинакового размера (как правило, несколько килобайт),называемые страницами.
Младшие n бит адреса (смещение внутри страницы) остаются неизменными. Старшие биты адреса представляют собой номер (виртуальной) страницы.
MMU обычно преобразует номера виртуальных страниц в номера физических страниц, используя буфер ассоциативной трансляции (Translation Lookaside Buffer, TLB).
Если преобразование при помощи TLB невозможно, включается более медленный механизм преобразования, основанный на программных системных структурах. Данные в них — элементы таблицы страниц, а сами структуры — таблицы страниц.
Конкатенация («склеивание») номера физической страницы со смещением внутри страницы даёт физический адрес.
7 707
Блок управления памятью
Memory management unit (MMU) — компонент аппаратного обеспечения компьютера, отвечающий за управление доступом к памяти, запрашиваемым центральным процессором.
Его функции заключаются в трансляции адресов виртуальной памяти в адреса физической памяти (то есть управление виртуальной памятью), защите памяти, управлении кэш-памятью, арбитражем шины и, в более простых компьютерных архитектурах, переключением блоков памяти.
Иногда также упоминается как блок управления страничной памятью (Paged memory management unit, PMMU).
В настоящее время чаще всего упоминается в связи с организацией виртуальной памяти и, следовательно, критически важен для многих современных многозадачных OC, включая все современные Windows NT и многие из UNIX‐подобных.
Блок управления памятью в настоящее время очень часто включается в состав центрального процессора или чипсета компьютера.
7 707
Недостатки использования глобальных переменных
Используя глобальные переменные, нужно быть очень внимательным!
Глобальная переменная может быть изменена в любой точке программы (если она не находится в защищённой памяти или объявлена как переменная только для чтения), что может повлиять на работу других частей программы.
По этой причине глобальные переменные имеют неограниченный потенциал для создания взаимных зависимостей, что приводит к усложнению программы.
Глобальные переменные также затрудняют интеграцию модулей, поскольку код, написанный ранее, может содержать глобальные переменные с теми же именами, что и во встраиваемом модуле.
7 707
Глобальная переменная
Это такая переменная, областью видимости которой является вся программа, если только она не перекрыта.
Механизмы взаимодействия с глобальными переменными называют механизмами доступа к глобальному окружению или состоянию. Глобальные переменные могут использоваться для взаимодействия между процедурами и функциями как альтернатива передачи аргументов и возвращения значений.
Глобальные переменные широко используются для передачи данных между секциями кода, которые не участвуют в отношениях вызовов, такие как параллельные нити исполнения или обработчики сигналов.
Без надлежащей блокировки (например, с помощью мьютекса), код, использующий глобальные переменные, не будет потокобезопасным, за исключением переменных, доступных только для чтения в защищённой области памяти.
7 707
Сегментная адресация памяти
Сегментация - это деление памяти на сегменты.
Это механизм адресации, обеспечивающий существование нескольких независимых адресных пространств как в пределах одной задачи, так и в системе в целом для защиты задач от взаимного влияния.
С точки зрения разработчиков ПО, сегментация дает удобный способ совместного использования информации несколькими процессами. Конкретный сегмент может использоваться совместно с другими без нарушения требований его защиты.
Сегментация также предполагает естественное разделение программных строк и данных и отделение модуля от модуля.
7 707
Что такое замыкание?
Замыкание в программировании — одна функция возвращает как результат своей работы не переменную, а другую функцию. При этом хитрость в том, что внутренняя функция имеет доступ к переменным из внешней функции и может с ними работать в любой момент.
Чаще всего это используют, чтобы сделать переменную, которая на самом деле работает как функция.
На замыканиях строится около половины алгоритмов в функциональном программировании.
А ещё на них можно построить много разного:
⁃ изолировать логику выполнения фрагментов кода, если это не позволяют сделать встроенные возможности языка
⁃ лучше структурировать код, особенно при организации функций, которые отличаются только несколькими элементами;
⁃ реализовать инкапсуляцию в тех языках, где её нет.
7 707
Что такое сборщик мусора в программировании?
Когда мы пишем код, мы постоянно объявляем новые переменные, под которые выделяется кусок памяти.
Ели таких переменных будет много, то программа будет занимать много места, память будет забиваться и компьютер начнет тормозить. Поэтому очень важно заботится о том, чтобы уже использованные или ненужные переменные освобождали занятую ранее память.
Есть два подхода:
В ручном режиме программист сам следит за каждой переменной, объектом и сущностью. В этом режиме используются специальные команды-деструкторы, которые удаляют переменную и освобождают память.
Автоматический режим называется сборкой мусора. Это такая отдельная мини-программа внутри основной программы, которая периодически пробегает по объектам и переменным в коде и смотрит, нужны они или нет. Если нет — сборщик мусора сам удаляет переменную и освобождает память.
7 707
Область видимости переменных
Каждая переменная имеет определенную область видимости. Область видимости представляет участок программы, в рамках которого можно использовать переменную.
Переменные бывают:
Глобальными: определены в файле программы вне любой из функций и могут использоваться любой функцией.
Локальными или автоматическими: определяются внутри блока кода (например, внутри функции) и существуют только в рамках этого блока. При входе в блок для этих переменных выделяется память, а после завершения работы этого блока, выделенная память освобождается, а объекты удаляются.
Кроме глобальных и автоматических есть особый тип переменных - статические переменные.
Они определяются на уровне функций с помощью ключевого слово и инициализируются только один раз, а при последующих вызовах функции используется старое значение статической переменной.
7 707
Как работает автоматический сборщик мусора
Автоматический сборщик сам ходит по программе во время исполнения и аккуратно подчищает память, как только находит мусор.
Вроде все хорошо, но он тоже работает неидеально:
⁃ он удаляет только те переменные, в которых он уверен стопроцентно. Если есть один шанс, что переменная может когда-нибудь понадобиться, — её оставляют в памяти.
⁃ это отдельная программа, которая работает вместе с основной. И ей тоже нужны ресурсы и процессорное время. Это замедляет работу основной программы.
⁃ если рабочей памяти очень мало, то сборщик будет работать постоянно. Но ему тоже нужна своя память для работы. И может оказаться так, что без сборщика программа будет работать эффективнее.
