По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Ранее мы уже рассказывали про регулировку громкости в Asterisk. Этот метод рабочий, но весьма статичен. Поэтому в голову пришла интересная мысль. Представьте, вы совершаете звонок. И, неожиданно, ваш собеседник начинает "кричать" в трубку. Пусть кричит – наши нервы прошли и не такое, но дело в том, что громкость звонка задана жёстко в кастомном диалплане. Поэтому, ощущения от крика буду особенно острыми :) А теперь, вообразите, что у вас есть возможность сделать собеседника "тише" кнопками телефонного аппарата. А потом, когда он успокоится, сделать снова громче. Интересно? Поехали. Подготовка Откроем FreePBX. Открыв модуль сервисных кодов (feature codes), мы обнаружим, что в нем можно только изменить существующие коды, но добавить новые нельзя. Решение указанной в начале статьи задачи будет базироваться на встроенных функциях Asterisk. То есть мы не будем добавлять кастомный контекст. Настройка Открываем файл /etc/asterisk/globals_custom.conf. Этот файл позволяет переписать или добавить глобальные переменные, используемые Asterisk (как стандартные, так и ваши личные). Если данного файла нет, то его нужно создать. Например, вот так: touch /etc/asterisk/globals_custom.conf chown asterisk:asterisk /etc/asterisk/globals_custom.conf chmod 775 /etc/asterisk/globals_custom.conf В файл добавляем следующую конструкцию: DYNAMIC_FEATURES=VUp#VDown#MUp#MDown Vol=0 Mic=0 Мы задали специальные функции, которые понадобятся нам далее. Сейчас будем закреплять комбинации цифр за кодами. Для этого открываем файл etc/asterisk/features_applicationmap_custom.conf и запишем в него следующее: VUp => 52*,self,Macro,VolumeUp VDown => 58*,self,Macro,VolumeDown MUp => 54*,self,Macro,MicUp MDown => 56*,self,Macro,MicDown Мы закрепили за кодами выполнение макроса громкости, который мы напишем далее. Не пугайтесь - "странные" комбинации выбраны по причине того, что их просто запомнить, так как на клавиатуре телефона, это так называемый "крест", наподобие джойстика ;) Go ahead. Приступаем к самим макросам. Для этого открываем файл /etc/asterisk/extensions_custom.conf и добавляе: [from-internal-custom] Set(__DYNAMIC_FEATURES=VUp#VDown#MUp#MDown) Таким образом, мы подключаем добавленные коды в диалплан Asterisk, который генерирует FreePBX. Не спешите закрывать файл extensions_custom.conf. В него же добавляем механизм увеличения громкости. То есть, макросы о которых мы писали ранее: [macro-VolumeUp] exten => s,1,Set(Vol=$[${Vol}+5]) same => n,Set(VOLUME(TX)=${Vol}) [macro-VolumeDown] exten => s,1,Set(Vol=$[${Vol}-5]) same => n,Set(VOLUME(TX)=${Vol}) [macro-MUp] exten => s,1,Set(Mic=$[${Mic}+5]) same => n,Set(VOLUME(RX)=${Mic}) [macro-MDown] exten => s,1,Set(Mic=$[${Mic}-5]) same => n,Set(VOLUME(RX)=${Mic}) Можно выдохнуть. На этом правки закончены. Как вы могли заметить, почему-то "громкостей" несколько. Все достаточно просто. Это 2 макроса на увеличение и уменьшение громкости канала звука и, соответственно, канала микрофона. Что нам все эти коды дают (по сравнению с жестко прописанными числами)? В любой момент разговора, если вы плохо (тихо) слышите собеседника, нужно набрать на телефоне 52* и громкость увеличится, так можно делать несколько раз пока уровень громкости собеседника не станет приемлемым. Это работает и наоборот: 58* и собеседник становится "тише". Удобно, правда? :) Из плюсов - не надо прерывать звонок. Нет жёсткого ограничения громкости. Если разговор затягивается на длительное время, можно выставить комфортную слышимость. Ну а второй макрос, спросите вы? Представьте: что делать, если собеседник жалуется, что вас тихо слышно? Нет проблем. Набираем 54* и собеседник начинает нас лучше слышать, то есть, мы увеличиваем громкость канала нашего микрофона!
img
Среди обилия различных вариантов довольно трудно выбрать ту модель базы данных (БД), который идеально подойдет под ваши нужды. Если говорить о разновидностях СУБД, то чаще всего предпочтение отдается реляционным базам. В данной статье мы поговорим об устройстве реляционных баз данных, обсудим принципы их работы, а также плюсы и минусы использования этих систем. Кроме того, продемонстрируем примеры, которые наглядно показывают, как реляционные БД систематизируют данные. Что такое реляционная база данных Реляционная база данных – это тип БД, который специализируется на связях (отношениях) между элементами данных. Он позволяет устанавливать взаимосвязи между различными наборами данных и использовать эти связи для управления и обращения к связанным данным. Для создания и поддержки данных во многих реляционных БД используется SQL (Structured Query Language - структурированный язык запросов). Реляционные и нереляционные базы данных Реляционные БД делают упор на отношениях между данными. Следовательно, реляционные БД должны хранить данные в строго структурированном виде. Это ускоряет индексирование и время ответа на запросы, а также улучшает безопасность и постоянство данных. Нереляционные базы данных, наоборот, не так сильно зависят от структуры данных, поэтому могут хранить большие объемы данных, не теряя гибкости и легко масштабируя хранение и производительность. Как структурируются данные в реляционных системах управления данными? В реляционных системах управления данными (РСУБД) используется модель, которая структурирует данные в таблицы строк (их еще называют записями или кортежами) и столбцов (или атрибутов/полей). Обычно в столбцах размещаются категории данных, а в строки добавляются отдельные экземпляры. В качестве примера рассмотрим онлайн-магазин. В нашей базе данных находится таблица с информацией о клиентах. В столбцах указываются имена клиентов и адреса, а в строках – данные по каждому клиенту. Такие таблицы можно связать или соотнести с помощью ключей. Каждая строка в таблице идентифицируется с помощью уникального ключа (его называют первичный ключ - primary key). Этот ключ можно добавить в другую таблицу, и там он превратится во внешний ключ (foreign key). Отношение первичный/внешний ключ лежит в основе того, как работают РСУБД. Вернемся к нашему примеру. Допустим, у нас есть таблица с заказами товаров. В одном столбце этой таблицы находится информация о клиенте. Сюда мы можем импортировать первичный ключ, который ссылается на строку с информацией по отдельному клиенту. Таким способом мы можем ссылаться на данные или дублировать данные из таблицы с информацией о клиентах. Кроме того, теперь эти две таблицы связаны. Примеры реляционных баз данных Сейчас, когда мы рассмотрели, как работают РСУБД, пора поговорить о популярных примерах их использования. MySQL MySQL разрабатывалась как РСУБД с открытым кодом, затем ее купила компания Sun Microsystems (теперь это Oracle Corporation). Она по-прежнему доступна со свободной лицензией, но с добавлением проприетарных опций. В MySQL заложена встроенная поддержка репликации с ACID-совместимостью, кластеризация без разделения ресурсов между узлами и поддержка многих движков БД. Но на некоторых движках SQL может работать некорректно. MySQL преуспел в быстром вводе данных и масштабируемости, сохранив при этом высокую доступность и производительность. Все это делает MySQL крайне полезным в веб-разработке и создании приложений. PostgreSQL PostgreSQL – это бесплатный менеджер управления реляционными БД, доступный по свободной лицензии. В нем можно найти некоторые функции MySQL с весомым добавлением MVCC (multi-version concurrency contro - управление параллельным доступом посредством многоверсионности), поэтому такая система совместима с ACID. PostgreSQL сохраняет высокий уровень гибкости и производительности даже при обработке больших баз данных. Это подходящее решение для пользователей, которым важна высокая скорость записи/чтения и разноплановый анализ данных. Среди известных пользователей PostgreSQL стоит упомянуть Reddit, Skype и Instagram. MariaDB Изначально MariaDB создавалась сообществом в качестве форка MySQL, когда тот выкупила Oracle. MariaDB все еще свободно распространяется под стандартной универсальной лицензией GNU. MariaDB создана на базе MySQL с добавлением поддержки еще большего количество движков и исправлением ограничений по хранению данных. Она работает быстрее MySQL и позволяет запускать SQL и NoSQL в одной базе данных. Среди известных пользователей MariaDB можно выделить Google, Mozilla и Wikimedia Foundation. SQLite В отличие от других представителей в этом списке, SQLite не является менеджером баз данных с архитектурой клиент-сервер; он, скорее, встраивается в конечное приложение, благодаря чему мало весит и способен работать с большими массивами систем и платформ. В SQLite есть некоторые ограничения, поскольку он лишь частично предоставляет триггеры, имеет ограниченную функцию ALTER TABLE и не может записывать в представления. Кроме того, SQLite ограничивает максимальный размер базы до 32 000 столбцов и 140 ТБ. Получается, что SQLite лучше всего использовать в качестве компонента базы данных для других приложений. Среди известных пользователей можно назвать Google Chrome, Mozilla Firefox, Opera и Safari. Что такое система управления реляционными базами данных? Система управления базой данных (СУБД или DBMS) – это программное решение, которое позволяет пользователям просматривать, запрашивать и управлять базами данных. Система управления реляционными базами данных (РСУБД или RDBMS) – это более расширенное подмножество СУБД для управления реляционными базами данных. Ниже приведены некоторые различия между универсальной СУБД и РСУБД СУБД РСУБД Хранит меньшее количество данных в виде файлов; нет взаимосвязей Сохраняет большие объемы данных в виде связанных друг с другом таблиц Можно обращаться к одному элементу данных за раз Можно обращаться ко многим элементам данных одновременно. При работе с большими объемами замедляется получение данных В реляционном подходе получение данных не замедляется даже для больших БД. Нет нормализации БД. Есть нормализация БД. Не поддерживает распределенные БД Поддерживает распределенные БД. Поддержка одного пользователя. Поддержка нескольких пользователей. Низкий уровень безопасности Много уровней безопасности. Низкие требования к программному и аппаратному обеспечению. Высокие требования к программному и аппаратному обеспечению Плюсы и минусы реляционных баз данных Как и во всех моделях баз данных, здесь есть свои плюсы и минусы. Плюсы Реляционные БД используют таблицы столбцов и строк, поэтому они отображают данные проще, чем другие типы, и работать с ними удобнее. Такая табличная структура создана специально для обработки данных, что повышает производительность и позволяет использовать сложные, высокоуровневые запросы. И, наконец, в реляционных БД легко масштабировать данные, добавляя строки, столбцы или целые таблицы, не нарушая при этом общей структуры базы. Минусы Реляционные БД могут масштабироваться только до определенного предела. Если говорить о размере базы, то в некоторых БД есть строгое ограничение по длине столбцов. Если вы создаете базу на отдельном сервере, то при ее разрастании придется покупать дополнительное место, то есть в долгосрочной перспективе ее поддержание обходится не дешево. Кроме того, постоянное добавление новых элементов может усложнить базу и затруднить установление связей между новыми частями. Сложные отношения между данными замедляют запросы и негативно сказываются на производительности. Заключение После прочтения этой статьи у вас должно появиться четкое понимание того, как работают реляционные базы данных. Также вы познакомились с рядом интересных примеров РСУБД.
img
Всем привет! Одной из серьезных потребностей системы Linux является регулярное обновление последних обновлений безопасности или обновлений, доступных для соответствующего дистрибутива. Сегодня мы расскажем, как настроить дистрибутив CentOS и RHEL 7/6 для автоматического обновления необходимых пакетов безопасности при необходимости. Другие дистрибутивы Linux из тех же семейств (Fedora или Scientific Linux) могут быть настроены аналогичным образом. Настройка автоматических обновлений безопасности в системах CentOS и RHEL На CentOS или RHEL 7/6 необходимо установить пару нужных пакетов: # yum update -y && yum install yum-cron -y Включение автоматического обновления безопасности на CentOS и RHEL 7 После завершения установки откройте /etc/yum/yum-cron.conf и найдите эти строки и установите следующие значения: update_cmd = security update_messages = yes download_updates = yes apply_updates = yes Кстати, у нас есть статья, как сделать автоматическое обновление пакетов безопасности на Debian или Ubuntu Первая строка указывает, что команда автоматического обновления будет: # yum --security upgrade В то время как другие строки включают уведомления и автоматическую загрузку, и установку обновлений безопасности. В следующих строках также указывается, что уведомления будут отправляться по электронной почте от root@localhost на ту же учетную запись. Можно выбрать другую, если необходимо. emit_via = email email_from = root@localhost email_to = root Включение автоматического обновления безопасности на CentOS и RHEL 6 Изначально cron настроен на немедленную загрузку и установку всех обновлений, но мы можем изменить это в файле конфигурации /etc/sysconfig/yum-cron, установив два параметра на yes. # Don't install, just check (valid: yes|no) CHECK_ONLY=yes # Don't install, just check and download (valid: yes|no) # Implies CHECK_ONLY=yes (gotta check first to see what to download) DOWNLOAD_ONLY=yes Чтобы включить уведомление по электронной почте об обновлениях пакета безопасности, установите для параметра MAILTO нужный почтовый адрес. # by default MAILTO is unset, so crond mails the output by itself # example: MAILTO=root MAILTO=wiki@merionet.com И наконец запускаем наш yum-cron сервис: ------------- Для CentOS/RHEL 7 ------------- systemctl start yum-cron systemctl enable yum-cron ------------- Для CentOS/RHEL 6 ------------- # service yum-cron start # chkconfig --level 35 yum-cron on Успех! Вы успешно настроили автоматические обновления CentOS и RHEL 7/6. В этой статье мы обсудили, как регулярно обновлять ваш сервер с помощью последних обновлений безопасности. Кроме того, вы узнали, как настроить уведомления по электронной почте, чтобы быть в курсе новых патчей.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59