По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Рост статичных веб-сайтов является доказательством того, что старые вещи возвращаются раз за разом. Сегодня как малые, так и крупные предприятия используют статические веб-сайты и свои расширенные преимущества. Статические веб-сайты вернулись, сильнее, чем когда-либо. Но в чем причина, которая стимулировала внезапный рост статических сайтов? Ну, тенденции в веб-разработке приходят и уходят, но одно остается постоянным всегда - желание иметь высокоэффективный сайт. Кроме того, поведение конечных пользователей быстро меняется, поскольку они ожидают быстрой загрузки страницы и более привлекательного опыта без места для разочарования. Чтобы удовлетворить этот спрос, веб-разработчики постоянно добавляют к веб-сайтам и приложениям больше функций. Но в процессе этого производительность веб-сайта оказывается под угрозой. Вот где статичные веб-сайты приходят на сцену! Что такое статичный веб-сайт? Существует распространенный миф, что статичные веб-сайты - это новая технология. На самом деле, статичные сайты – это самые первые сайты эпохи Интернета. Ранее для создания веб-сайта разработчики использовали чистый HTML, JavaScript и CSS без библиотек, плагинов или фреймворков. Проще говоря, контент на статичном веб-сайте остается одинаковым после каждого посещения, в отличие от динамического, где он меняется. Сервер создает эти статичные файлы и возвращает их браузерам. Эти веб-сайты могут извлекать данные практически из любого места, включая API, CMS и другие файлы данных. Такой веб-сайт отбрасывает ненужные сложности и в основном фокусируется на повышении эффективности и производительности. Она не опирается на базы данных; вместо этого он включает базовые HTML, JavaScript и CSS для создания невесомых бизнес-профилей и целевых страниц. В результате это помогает избавиться от долгих загрузок и раздражающих задержек. Таким образом, разработчики могут создавать быстрые, надежные и эффективные приложения, предлагая пользователям хорошие впечатления от работы на вашем сайте с меньшим временем разработки. Какие плюсы использования статичных веб-сайтов? Скорость Так как отсутствуют бэкэнд система, запросы клиент-сервер или запросы к базам данных, связанных с доставкой статического веб-сайта, такие сайты демонстрирует высочайшую производительность, поскольку его серверы всегда готовы к HTML-выводам. Кроме того, он может включать в себя функцию кэширования для устранения задержек. Безопасность Из-за отсутствия базы данных, а также подключаемых модулей и расширений статичные веб-сайты предлагают гораздо большую безопасность, чем динамический веб-сайт. Таким образом, вы избежите фишинговых кампаний, онлайн-отслеживаний, вредоносных программ или любой потери данных. Расширяемость Масштабирование статичных веб-сайтов относительно проще, в то время как сложные приложение более стабильны. Ввиду статичности файлов уменьшается нагрузка на серверы, а те легко справляются с обработкой огромного трафика. Хостинг и доступность Базовые HTML файлы требуют меньше места, что упрощает размещение этих веб-сайтов. Можно сократить расходы, направляя ресурсы на интеграцию автоматизированных сборок или Git для включения модификаций в систему. Звучит круто? Если ответ утвердительный, давайте выясним лучшие платформы, где можно разместить статичный веб-сайт, чтобы начать использовать его преимущества. 1. Netlify С помощью Netlify можно публиковать веб-проекты из репозиториев Git без сложных настроек и навыков обслуживания сервера. Поддерживается автоматизация процессов с помощью конвейера CI/CD для разработчиков веб-сайтов. Также есть возможность предварительного просмотра всего сайта, чтобы увидеть, как будет выглядеть веб-сайт, прежде чем публиковать его. Развернув статичный веб-сайт в глобальной сети CDN с несколькими облаками – Edge, вы получите хорошую производительность. Netlify поддерживает множество сторонних приложений и инструментов, включая такие надстройки, как Analytics, Identity, Forms и база данных Fauna. Netifly предоставляет удобные инструменты для автоматизации рабочих процессов, в том числе с помощью Atomic можно упростить развертывание новых сайтов, можно делать неограниченное количество снимков состояния и откатывать до них, можно назначать пользовательские заголовки, управлять DNS, перенаправлением и правилам прокси. Netlify размещает веб-сайт в отказоустойчивой глобальной сети доставки приложений для непрерывного и быстрого обслуживания веб-страниц. Можно также управлять зонами DNS с помощью их панели мониторинга. Автоматического HTTPS обеспечивает безопасность сайта, так как Netlify предлагает сертификат TLS бесплатно. Она обеспечивает расширенные функции, управляемые API, без сложных интеграций. Он предлагает шлюз API, управление доступом к данным на основе JWT, прокси-заголовки для аутентификации, сохраненные переменные и вебхуки. Благодаря Netlify Analytics можно получить подробную информацию о посетителях веб-сайта, источниках, просмотрах страниц и т.д. Также можно использовать функции AWS Lambda, управлять подписями, восстановлением паролей, входами в систему и т. д. без развертывания службы аутентификации. Управление отправками и формами без внедрения JavaScript или дополнительных кодов. Netlify Large Media позволяет управлять большими ресурсами и контролем версий файлов независимо от их размера. 2. Google Cloud Storage Высокая безопасность и масштабируемость платформы Google Cloud расширяет возможности компаний любого размера, от индивидуальных разработчиков до крупных предприятий. Возможность управления жизненным циклом объектов (Object Lifecycle Management OLM), которое можно использовать для настройки автоматического перехода всех данных на более недорогие хранилища. Можно легко устанавливать критерии для данных и управлять ими. Google Cloud включает в себя растущий список глобальных центров обработки данных с достаточно большим количеством вариантов автоматического резервирования. Можно выбрать расположение и способ хранения данных, чтобы оптимизировать веб-сайт для быстрого реагирования и создать полный план аварийного восстановления. С помощью класса хранения можно определить модель ценообразования, а также доступность, применимую к хранению данных. Вы можете выбрать из четырех возможных вариантов: Стандарт Nearline - один раз в месяц Coldline - раз в квартал Архивирование один раз в год Google Cloud предлагает управление версиями объектов, которое позволяет хранить копии объектов в случае их перезаписи или удаления. Можно определить периоды хранения данных перед безвозвратным удалением. Можно даже прикрепить объект, чтобы предотвратить его удаление. Шифрование и хранение объектных данных с помощью ключей шифрования, хранящихся в службе управления облачными ключами. Можно отключить ACL объектов для равномерного управления доступом к ресурсам в Google Cloud. Функция Bucket Lock включена для настройки политик хранения данных. Отправка уведомлений при создании, удалении или обновлении объектов. Ведение журналов доступа к данным и активности, и управление разрешениями доступа с помощью облачного управления удостоверениями и доступом (IAM). Google Cloud предлагает интегрированные репозитории для машинного обучения и аналитики. Альтернативы облачным хранилищам Google: Amazon S3 Amazon S3 включает прямые функции управления, чтобы позволить Вам организовать и настроить данные. Он предназначен для обеспечения высокой долговечности и хранения данных для огромного числа приложений. Amazon S3 может создать копии объекта, предлагает доступные тарифы для мест хранения, обладает возможностями аудита и утверждает, что соблюдает строгие меры безопасности как собственные в виде S3 Block Public Access, так и известные стандарты соответствия PCI-DSS, HITECH/HIPAA, FISMA, и т.д. Vultr Vultr поддерживает гибкую интеграцию через S3 API и предоставляет масштабируемому по требованию архитектуру, на которую вы можете полагаться. Она использует кэширование NVMe для обеспечения сверхпроизводительности и постоянной доступности данных. Можно также хранить статические данные мультимедиа, такие как изображения, видео и аудио. 3. Surge Surge предоставляет разработчику простой путь для развертывания проектов на высококачественном CDN через Grunt, NPM и Gulp. С каждым проектом можно использовать поддержку настраиваемого домена, поддержку pushState, бесплатную сертификацию SSL для доменов Surge, пользовательские страницы ошибок 404, развертывание CLI без ограничений, интеграцию с цепью инструментов Grunt и перекрестную поддержку ресурсов. Surge интегрируется с инструментом сборки, который используется для упрощения развертывания. Такие инструменты включают плагин Grunt, плагин Gulp, скрипт npm, хуки Git, Jekyll, Node.js, статические генераторы сайтов, службы CI и другие инструменты автоматического развертывания. Пригласите своих коллег и сотрудников. Все, что вам нужно для публикации содержимого на вашем веб-сайте – это ввести одну команду. 4. Render Легко разворачивайте статичный сайт в Render. Просто привяжите GitLab или репозиторий GitHub, и пусть он создаст ваш веб-сайт и обслуживает его на глобальном CDN. Лучше всего то, что статичные сайты с трафиком до 100 ГБ в месяц на Render можно размещать совершенно бесплатно. После превышения данного лимита за каждый гигабайт придется платить $0,10 в месяц. Render предлагает автоматическое и непрерывное развертывание и превентивное аннулирование кэша. Можно бесплатно присоединять к проекту сотрудников, чтобы получить их помощь в управлении сайтом. Render предлагает функцию Pull Request Preview, которая позволяет автоматически тестировать и просматривать введенные изменения перед публикацией. Хостинг предоставляет подробные графики пропускной способности, встроенную поддержку HTTP/2 для повышения скорости загрузки страниц, возможности перезаписи и перенаправления, поэтому для повышения производительности и безопасности не требуется писать дополнительный код и пользовательские заголовки HTTP. Для повышения производительности Render предлагает автоматическое сжатие Brotli, которое уменьшает размеры страниц и ускоряет работу сайтов. Render также включает автоматические перенаправления с HTTP на HTTPS, а также неограниченное количество пользовательских доменов. Помимо поддержки простых HTML/JavaScript/CSS сайтов, он предлагает мощные генераторы сайтов, такие как Create React Application, Jekyll, Vue.js, Gatsby, Hugo, Next.js и Docusaurus. Его глобальная сеть CDN невероятно быстрая, безопасная и надежная, и они также кэшируют весь ваш контент по всему миру, чтобы обеспечить наилучшие возможности для пользователей. 5. GitHub Pages Отдельные разработчики и желающие разместить статичные веб-сайты и развернуть коды онлайн могут использовать GitHub бесплатно. Добавить настраиваемый домен просто: для этого достаточно включить файл CNAM в свою учетную запись. Для создания статичного кода можно создать новый репозиторий из панели управления учетными записями и развернуть его с помощью поддомена, чтобы протестировать его. GitHub предоставляет вам один веб-сайт для каждой учетной записи GitHub, а также организацию вместе с неограниченными сайтами проектов. 6. Firebase Хотите статический хостинг сайта производственного уровня? Firebase - хороший вариант! В дополнение к размещению сайта, вы можете использовать его базу данных в реальном времени вместе с хранилищем файлов. Он предлагает бесплатный SSL сертификат и индивидуальный домен, даже в бесплатном тарифном плане. Однако для увеличения пропускной способности и объема хранилища можно купить платную версию. С помощью Firebase можно развернуть не только личный веб-сайт, но и одностраничное веб-приложение, прогрессивное веб-приложение и целевую страницу мобильного приложения без проблем. Не имеет значения, откуда пользователь обращается к вашему сайту; Firebase обеспечивает высокую производительность с помощью твердотельных накопителей на эффективных CDN. Вы получаете автоматически настроенный SSL абсолютно бесплатно для каждого сайта. Пользователи также могут подключать свои домены без нудной проверки. Развертывание сайта также возможно с помощью одной команды, и можно выполнить откат к предыдущей версии или просмотреть историю развертываний через консоль Firebase. 7. Vercel Платформа Vercel, которую можно назвать платформой все в одном, предлагает развертывание JAMStack и Static веб-сайтов. Она не требует настройки и работает с любым типом веб-инфраструктуры. С каждым сайтом вы получаете предварительный URL-адрес, которым вы можете поделиться со своей группой для совместной работы. Vercel обеспечивает высочайшую производительность сайта благодаря масштабируемым и упрощенным развертываниям. Просто перейдите в Git, чтобы оживить ваш сайт. Он поддерживает популярные фронтэнд-фреймворки, такие как Next.js, Vue.js, React, Angular, Gatsby, Hugo, Nuxt, Ember и Svelte. На данной платформе можно запускать мгновенные тесты для каждого развертывания, а затем выпускать их с полной уверенностью. Это облегчает интеграцию с такими поставщиками Git, как GitHub, Bitbucket и GitLab. Кроме того, Vercel предлагает динамическое восстановление сайта с помощью развертываемых хуков, что удобно при работе с CMS. Можно создать одну страницу за один раз, поэтому не нужно перестраивать весь сайт. Vercel благодаря своим сверхбыстрым глобальным CDN, расположенным в 70 городах, гарантирует доступность в 99,99%. Заключение Статичные сайты еще не забыты. Особенно сегодня, когда угрозы в Интернете вызывают наибольшую обеспокоенность во всем мире, статичные сайты становятся еще сильнее, чем когда-либо, чтобы снова управлять Интернетом и поддерживать ваш бизнес.
img
Мы уже рассказывали об опасности атак на системы IP-телефонии, о том, как можно использовать скомпрометированную систему и кому это может быть выгодно. В данной статье, подробно разберём один из способов атак на системы, работающие по протоколу SIP, через генерацию вредоносного пакета и последующую компрометацию учётной записи. Вы убедитесь, что провести подобную атаку - совсем не сложно. Инструменты для её осуществления не являются какой-то сверхсекретной разработкой и находятся в свободном доступе. Цель данной статьи - показать, к чему может привести недостаточное внимание, уделённое вопросам безопасности при настройке систем IP-телефонии и как просто это могут использовать злоумышленники. Внимание! Информация, представленная в данной статье, носит исключительно ознакомительный характер. Компания Мерион Нетворкс не несёт ответственности за последствия применения техник и способов, описанных в данном материале. Напоминаем, что неправомерный доступ к компьютерной информации преследуется по закону и влечет за собой уголовную ответственность. Атака, о которой мы поговорим, связана с процессом аутентификации по протоколу SIP, а именно - с получением информации из заголовков SIP пакета и её последующая обработка для извлечения учётных данных. Чтобы понять её суть и определить, какие системы уязвимы к данной атаке, нужно вспомнить как происходит SIP аутентификация. Как показано на рисунке: Клиент отправляет запрос регистрации на сервер; Сервер сообщает о необходимости зарегистрироваться и запрашивает данные для аутентификации; Клиент повторно отправляет запрос регистрации, но на этот раз со строкой Authorization, в которой указаны учётные данные; Сервер проверяет учётные данные в локальной базе и если есть совпадения – разрешает регистрацию. В стандартном процессе SIP аутентификации все запросы клиентов и ответы от сервера идут в строгой последовательности. Пользователь просто вводит учётные данные и клиент сам формирует пакеты для отправки на сервер, которые он может обработать. Если учётные данные не верны, то сервер не разрешит регистрацию и дальнейшее взаимодействие для осуществления звонков. Однако, злоумышленник, используя специальные инструменты, может сам решать какие отправлять пакеты и более того - осуществлять их формирование. Наверное, Вы догадались, что ключевым моментом процесса SIP аутентификации является отправка клиентом повторного запроса REGISTER, который также содержит учётные данные для регистрации на сервере. Как раз в этот момент, наш потенциальный злоумышленник и нанесёт свой удар. Давайте рассмотрим, что из себя представляет строка Authorization в повторном запросе REGISTER. Как видно на рисунке, заголовок Authorization включает в себя следующие поля: Authentication Scheme - метод аутентификации; Поскольку SIP многое унаследовал от протокола HTTP, то и схема аутентификации в нём основана на HTTP аутентификации, которая также называется Дайджест (Digest) аутентификация. Эта схема применяется серверами для обработки учётных данных от клиентов. При этом, часть учётных данных передаётся в виде хэш-сумм, которые сервер комбинирует с открытыми данными и вычисляет пароль для данного клиента. Это значительно повышает уровень безопасности, но как мы убедимся в дальнейшем – не помогает при некорректной настройке учётной записи. Username - имя пользователя, заданное на сервере. В нашем случае – это внутренний номер 3354; Realm - параметр, определяющий подключение к серверу телефонии; Как правило, администратор VoIP сервера сам настраивает realm и транслирует его пользователю, который хочет осуществить подключение. Например, у провайдеров облачных услуг это может быть строка вида domain.com, в сервере Asterisk, по-умолчанию значение этой строки - asterisk. Nonce Value - рандомно сгенерированная сервером, уникальная строка, при формировании ответа 401 в сторону клиента. В дальнейшем используется сервером в вычислениях после получения учетных данных от клиента, должна совпадать с тем, что пришло от сервера; Authentication URI - унифицированный идентификатор ресурса. В нашем случае, ресурсом является сервер, расположенный по адресу 123.45.67.89, обращение к нему происходит по протоколу SIP, по порту 5060. Digest Authentication Response - ответ от клиента, посчитанный на основании данных, полученных от сервера. На основании этого значения сервер в том числе сверяет пароль, который задан клиенту. Согласно RFC 2069, который описывает HTTP дайджест аутентификацию, response вычисляется следующим образом: HA1 = MD5(username:realm:password) HA2 = MD5(method:digestURI) response = MD5(HA1:nonce:HA2) Как видите, на основании MD5 хэш-сумм полей: username, realm, password (да, это пароль клиента), method, digestURI и nonce высчитывается тот самый заветный response, от которого зависит регистрация клиента на сервере, а следовательно, и возможность осуществлять им вызовы. Algorithm - алгоритм, по которому высчитывался response Догадываетесь о чём идёт речь? О том, что если злоумышленник заполучит полную строку Authorization, то он может вычислить пароль клиента, зарегистрироваться на сервере и спокойно звонить куда ему вздумается. Пространство для данной атаки достаточно обширное. Дело в том, что клиент может передавать строку авторизации в нескольких запросах – в уже известном нам REGISTER, INVITE или BYE. Атакующему не составит труда притвориться “сервером” и затребовать от клиента аутентификации. Для этого, атакующий направит в сторону клиента, созданный с помощью специальной программы вредоносный SIP пакет с ответом 401 Unauthorized, который будет содержать строку, заставляющую клиента отправить учётные данные. Данная строка должна содержать realm и nonce . Выглядит эта строка следующим образом: Таким образом, атака может выглядеть следующим образом: С точки зрения атакуемого, это будет выглядеть как простой звонок, на другой стороне трубки которого будет тишина. Он даже не будет подозревать о том, что его учётные данные вот-вот утекут к злоумышленнику. Атакующий в нужный момент разорвёт соединение, отправив BYE и затем сформированный вредоносный пакет. Нагляднее всего приводить в пример прямое взаимодействие между клиентами. Такой сценарий становится, когда есть возможность отправлять SIP запросы напрямую до оконечного клиента. Например, когда телефон выставлен в открытую сеть по SIP порту. Помимо этого, уязвимости подвержены сервера, разрешающие прямое взаимодействия между оконечными клиентами. Лучше всего, пропускать все запросы через Proxy-сервер. Итак, данной атаке могут быть подвержены: IP-телефоны с открытыми в интернет SIP-портами; IP-телефоны, отвечающие на запросы INVITE от неизвестных серверов; IP-АТС, разрешающие запросы INVITE напрямую до клиентов.; Заполучив полную строку Authorization атакующий может в оффлайн режиме подобрать пароль к учётной записи. Для этого ему нужно подать на вход специального скрипта, который перебирает хэш-суммы по словарям, перехваченные данные: username, realm, method, digestURI, nonce и наконец - response. На выходе он получит пароль от учётной записи. Если пароль слабый или, ещё хуже, совпадает с username, то время перебора не превысит 1 секунды. Чтобы этого не случилось, даже если злоумышленник перехватит необходимую информацию, используйте стойкие пароли к учётным записям, да и вообще везде, где только можно. В этом Вам может помочь наш генератор паролей.
img
Все мы любим компьютеры. Они могут делать столько удивительных вещей. За пару десятилетий компьютеры произвели самую настоящую революцию почти во всех аспектах человеческой жизни. Они могут справляться с задачами различной степени сложности, просто переворачивая нули и единицы. Просто удивительно, как такое простое действие может привести к такому уровню сложности. Но я уверен, что вы все знаете, что такой сложности нельзя добиться (практически нельзя) простым случайным переворачиванием чисел. Но за этим стоит определенные логические рассуждения. Есть правила, которые определяют, как это все должно происходить. В данной статье мы обсудим эти правила и увидим, как они управляют «мышлением» компьютера. Что такое булева алгебра? Это правила, о которых я упоминал выше, описываются некой областью математики, называемой булевой алгеброй. В своей книге 1854 года британский математик Джордж Буль предложил использовать систематический набор правил для работы со значениями истинности. Эти правила положили математическую основу для работы с логическими высказываниями. А эти основы привели к развитию булевой алгебры. Для того, чтобы понять, что из себя представляет булева алгебра, сначала мы должны понять сходства и различия между ней и другими формами алгебры. Алгебра в целом занимается изучением математических символов и операций, которые можно выполнять над этими символами. Эти символы сами по себе ничего не значат. Они обозначают некую величину. Именно эти величины и придают ценность этим символам, и именно с этими величинами и выполняются операции. Булева алгебра также имеет дело с символами и правилами, позволяющими выполнять различные операции над этими символами. Разница заключается в том, что эти символы что-то значат. В случае обычной алгебры символы обозначают действительные числа. А в булевой алгебре они обозначают значения истинности. На рисунке ниже представлен весь набор действительных чисел. Набор действительных чисел включает натуральные числа (1, 2, 3, 4, …), положительные целые числа (все натуральные числа и 0), целые числа (…, -2, -1, 0, 1, 2, 3, …) и т.д. Обычная алгебра имеет дело со всем этим набором чисел. Для сравнения, значения истинности состоят из набора, который включает в себя только два значения: True и False. Здесь я хотел бы отметить, что мы можем использовать любые другие символы для обозначения этих значений. Например, в информатике, как правило, эти значения обозначают через 0 и 1 (0 используется в качестве False, 1 – в качестве True). Вы также можете сделать это более оригинальным способом, обозначая значения истинности какими-то другими символами, например, кошки и собаки или бананы и апельсины. Суть здесь в том, что смысл этих значений останется неизменным, как бы вы их не обозначили. Но убедитесь, что вы не меняете символы в процессе выполнения операций. Теперь вопрос в том, что если (True и False), (0 и 1) – это просто обозначения, то что же они пытаются обозначить? Смысл, лежащий в основе значений истинности, исходит из области логики, где значения истинности используются для того, чтобы определить, является ли высказывание «Истинным» (True) или «Ложным» (False). Здесь значения истинности обозначают соответствие высказывания истине, то есть показывают, является ли высказывание истинным или ложным. Высказывание – это просто некоторое утверждение, что-то вроде «Все кошки милые». Если приведенное выше высказывание верно, то мы присваиваем ему значение истинности «Истина» (True) или «1», в противном случае мы присваиваем ему значение истинности «Ложь» (False) или «0». В цифровой электронике значения истинности используются для обозначения состояний электронных схем «включено» и «выключено». Подробнее об этом мы поговорим позже в этой же статье. Логические операции и таблицы истинности Как и в обычной алгебре, в булевой алгебре также можно применять операции к значениям для получения некоторых результатов. Однако эти операции не похожи на операции в обычной алгебре, поскольку, как мы уже упоминали ранее, булева алгебра работает со значениями истинности, а не с действительными числами. В булевой алгебре есть три основные операции. OR: OR или "ИЛИ", также известная как дизъюнкция. Эта операция выполняется над двумя логическими переменными. Результатом операции OR будет 0, если оба операнда равны 0, иначе будет 1. Для того, чтобы более наглядно продемонстрировать принцип работы этой операции, визуализируем ее с помощью таблицы истинности. Таблицы истинности дают нам хорошее представление о том, как работают логические операции. Также это удобный инструмент для выполнения логических операций. Операция OR: Переменная 1 Переменная 2 Результат 0 0 0 0 1 1 1 0 1 1 1 1 AND: AND или "И", также известная как конъюнкция. Эта операция выполняется над двумя логическими переменными. Результатом операции AND будет 1, если оба операнда равны 1, иначе будет 0. Таблица истинности выглядит следующим образом. Операция AND: Переменная 1 Переменная 2 Результат 0 0 0 0 1 0 1 0 0 1 1 1 NOT: NOT или "НЕ", также известное как отрицание. Эта операция выполняется только над одной переменной. Если значение переменной равно 1, то результатом этой операции будет 0, и наоборот, если значение переменной равно 0, то результатом операции будет 1. Операция NOT: Переменная 1 Результат 0 1 1 0 Булева алгебра и цифровые схемы Булева алгебра после своего появления очень долго оставалась одним из тех понятий в математике, которые не имели какого-то значительного практического применения. В 1930-х годах Клод Шеннон, американский математик, обнаружил, что булеву алгебру можно использовать в схемах, где двоичные переменные могут обозначать сигналы «низкого» и «высокого» напряжения или состояния «включено» и «выключено». Эта простая идея создания схем с помощью булевой алгебры привела к развитию цифровой электроники, которая внесла большой вклад в разработку схем для компьютеров. Цифровые схемы реализуют булеву алгебру при помощи логических элементов – схем, обозначающих логическую операцию. Например, элемент OR будет обозначать операцию OR. То же самое относится и к элементам AND и NOT. Наряду с основными логическими элементами существуют и логические элементы, которые можно создать путем комбинирования основных логических элементов. NAND: элемент NAND, или "И-НЕ", образован комбинацией элементов NOT и AND. Элемент NAND дает на выходе 0, если на обоих входах 1, в противном случае – 1. Элемент NAND обладает свойством функциональной полноты. Это означает, что любая логическая функция может быть реализована только с помощью элементов NAND. Элемент NAND: Вход 1 Вход 2 Результат 0 0 1 0 1 1 1 0 1 1 1 0 NOR: элемент NOR, или "ИЛИ-НЕ", образован комбинацией элементов NOT и OR. Элемент NOR дает на выходе 1, если на обоих входах 0, в противном случае – 0. Элемент NOR, как и элемент NAND, обладает свойством функциональной полноты. Это означает, что любая логическая функция может быть реализована только с помощью элементов NOR. Элемент NOR: Вход 1 Вход 2 Результат 0 0 1 0 1 0 1 0 0 1 1 0 Большинство цифровых схем построены с использованием элементов NAND и NOR из-за их функциональной полноты, а также из-за простоты изготовления. Помимо элементов, рассмотренных выше, существуют также особые элементы, которые служат для определенных целей. Вот они: XOR: элемент XOR, или "исключающее ИЛИ", - это особый тип логических элементов, который дает на выходе 0, если оба входа равны 0 или 1, в противном случае – 1. Элемент XOR: Вход 1 Вход 2 Результат 0 0 0 0 1 1 1 0 1 1 1 0 XNOR: элемент XNOR, или "исключающее ИЛИ-НЕ", - это особый тип логических элементов, который дает на выходе 1, когда оба входа равны 0 или 1, в противном случае – 0. Элемент XNOR: Вход 1 Вход 2 Результат 0 0 1 0 1 0 1 0 0 1 1 1 Заключение Итак, на этом мы можем закончить обсуждение булевой алгебры. Надеюсь, что к текущему моменту у вас сложилась неплохая картина того, что же такое булева алгебра. Это, конечно, далеко не все, что вам следует знать о булевой алгебре. В ней есть множество понятий и деталей, которые мы не обсудили в данной статье.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59