По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Чтобы обеспечить продолжительное и успешное продвижение бизнес-сайта, важно заложить основу доверия клиентов. Именно уверенность вашего клиента в конечном итоге приводит к лучшему удержанию клиентов. Сейчас существует множество способов завоевать доверие клиентов в своем бизнесе, но здесь мы обсудим установку SSL-сертификата. SSL или Secure Sockets Layer - это сертификаты, предназначенные для обозначения безопасности веб-страниц при передаче через них конфиденциальной информации. На веб-портале может быть много конфиденциальной информации, включая способы оплаты, вход в аккаунт, онлайн-банкинг и т. д. После установки SSL-сертификата URL-адрес веб-сайта изменяется с HTTP на HTTPS, и над адресной строкой появляется замок. Внешний вид висячего замка мгновенно укрепляет доверие в глазах посетителя. Введение CA или центр сертификации - это надежный сторонний поставщик, который создает и выпускает сертификаты SSL для веб-сайтов. Существует в основном шесть различных типов SSL-сертификатов, выпущенных CA. Прежде, чем приступить к установке, вам необходимо иметь информацию об этих сертификатах. Итак, давайте разберемся с каждым из них один за другим. Extended Validation Certificates (EV SSL) Это самый дорогой и самый высокорейтинговый сертификат SSL с расширенной проверкой. После установки сертификат отображает замок, название компании, HTTPS, страну в адресной строке браузера и т. Д. Чтобы получить сертификат EV SSL, владельцу веб-сайта необходимо пройти стандартизированный процесс проверки личности, чтобы подтвердить, что они являются законной стороной и несут исключительные права на домен. Organization Validated Certificates (OV SSL) Основное назначение этого сертификата - шифрование конфиденциальной информации пользователя в ходе транзакций. Сертификат помогает отображать информацию о владельце сайта через адресную строку, чтобы отличить ее от вредоносных сайтов. Эти сертификаты занимают второе место по цене и в основном используются публичными или коммерческими веб-сайтами. Domain Validated Certificates (DV SSL) Это своего рода сертификат SSL с минимальным шифрованием и низкой степенью защиты, который особенно используется для информационных веб-сайтов и блогов. Процесс проверки минимален и требует от владельцев бизнеса подтвердить право собственности на домен после ответа на телефонный звонок или электронную почту. Это тип сертификата, который быстрее всего получить и наименее дорогой по своей природе. Сертификат не будет отображать название компании в адресной строке. Wildcard SSL Certificate Он используется для защиты неограниченного количества поддоменов вместе с базовым доменом. Это недорогая покупка и доступно в виде сертификатов DV Wildcard SSL и сертификатов OV Wildcard SSL. Стоит отметить, что сертификаты Wildcard SSL содержат знак звездочки * как часть общего имени. Здесь знак звездочки * представляет любой тип допустимого субдомена, имеющего тот же базовый домен. Например, общее имя может быть как "*.example.com". Multi-Domain SSL Certificate (MDC) Эти сертификаты могут защищать до 100 различных имен доменов и поддоменов с помощью одного сертификата. Это помогает сэкономить время и деньги. Он помогает вам контролировать поле SAN (Subject Alternative Name) для добавления, удаления и изменения любого вида SAN в соответствии с требованиями. Некоторые из наиболее распространенных примеров: www.domainname.com, www.domainname.org, www.domainname.in, www.domainname.in, secure.exampledomainname.org, mail.domainname.com, www.example.co.uk и т. д. Unified Communications Certificate (UCC) Это многодоменные SSL-сертификаты, изначально предназначенные для защиты Microsoft Exchange, а также серверов Live Communications. В настоящее время эти сертификаты разрешают безопасность нескольких доменных имен на основе одного сертификата. Они отображают замок над браузером и через сертификаты EV SSL предлагают зеленую адресную строку, указывающую на максимальную уверенность для посетителей. Вывод Из вышеприведенной информации мы можем понять тот факт, что значение SSL-сертификатов для защиты веб-сайтов нельзя игнорировать. Шифрование чрезвычайно важно, чтобы завоевать доверие клиентов на современном конкурентном рынке. Кроме того, Google отдает предпочтение сайтам, на которых установлены SSL-сертификаты.
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
Сегодня хотим рассказать про любопытный сценарий, которой наверняка может быть полезен в сфере E-commerce. Речь пойдет про автоматизацию клиентского обслуживания, а именно: /p> Клиент звонит в интернет – магазин и ему предлагают ввести номер заказа; Введенные абонентом значения по DTMF передаются в AGI скрипт; По номеру заказа, мы формируем SQL – запрос к базе данных, где храним информацию о заказах. Из соответствующей таблицы мы получаем статус заказа и имя клиента; Мы формируем строку, которую необходимо озвучить клиенту и отправляем ее на аудио-генерацию в сторону API Yandex.SpeechKit (TTS технология – text to speech); Получаем аудио файл от Yandex, декодируем его в нужный нам формат (.wav, 8k) и воспроизводим клиенту; Удаляем воспроизведенный файл и завершаем звонок клиента; На наш взгляд это любопытная автоматизация. Приступаем к настройке? :) Получение API - токена Yandex.SpeechKit Для знакомства с технологией Яндекс предоставляет бесплатный тестовый период в 1 месяц с момента отправки первого запроса. После этого, чтобы продолжить использование Yandex. SpeechKit Cloud нужно заключить договор. Подробности условия использования можно прочитать здесь. Первым делом перейдите в кабинет разработчика по ссылке https://developer.tech.yandex.ru и нажмите Получить ключ: Имя ключа - введите имя для ключа. Например, Asterisk + TTS; Подключение - выберите из списка SpeechKit Cloud; Запоминаем значение, которое выделено красным на скриншоте выше – это и есть ваш токен. Переходим к настройке AGI – скрипта. Создаем таблицу с заказами Создадим SQL – таблицу, в которой будем хранить данные о заказах. В лабораторных целях, мы развернем ее на том же хосте, что и IP – АТС Asterisk (+ это снизит задержку и процессинг по времени). Итак, вводим следующие команды в консоли сервера (предварительно подключитесь по SSH): use asteriskcdrdb; CREATE TABLE zakazy(name varchar(20),phone varchar(20),nomerzakaza varchar(20),status varchar(20)); INSERT INTO zakazy (name, phone, nomerzakaza, status) VALUES ("Александр", "79257777777", 300388, "Отправлен"); INSERT INTO zakazy (name, phone, nomerzakaza, status) VALUES ("Иван", "79251111111", 476656, "Оплачен"); INSERT INTO zakazy (name, phone, nomerzakaza, status) VALUES ("Сергей", "79252222222", 0089822, "Доставлен"); Мы создали и наполнили таблицу. Теперь необходимо создать пользователя, который сможет иметь SELECT – доступ к таблице: CREATE USER 'логин_mysql'@'localhost' IDENTIFIED BY 'пароль_mysql'; GRANT SELECT ON asteriskcdrdb.zakazy TO 'логин_mysql'; Запомните ваш логин и пароль и переходите к следующему шагу – адаптации скрипта AGI. Традиционно, комментарии к коду после двойного слеша //: AGI - скрипт Ниже представлена структура скрипта: #!/usr/bin/php -q <?php error_reporting(0); require('phpagi.php'); $agi = new AGI(); $result = $agi->get_data('custom/generate', 6000, 10); //принимаем DTMF от клиента; $number= $result['result']; //записываем в переменную введенный клиентом номер заказа; $hostname = "localhost"; // у нас localhost. У вас может быть IP адрес сервера, на котором хранится БД с заказами (настройте предварительно pg_hba.conf на удаленном хосте); $username = "логин_mysql"; // логин, который вы создали этапом ранее; $password = "пароль_mysql"; // пароль, который вы создали этапом ранее; $dbName = "asteriskcdrdb"; mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName) or die(mysql_error()); $query = "SELECT * FROM zakazy WHERE `nomerzakaza`='$number';"; // подключаемся и парсим данные по номеру заказа; $res=mysql_query($query) or die(mysql_error()); while ($row = mysql_fetch_assoc($res)) { $status = $row['status']; $name = $row['name']; // имя и статус, полученные из SQL пишем в переменные; }; $str = 'Дорогой '.$name.'! Статус вашего заказа '.$status.' Спасибо за обращение, всего доброго!'; // формируем строку, которую необходимо синтезировать; $qs = http_build_query(array("format" => "wav","lang" => "ru-RU","speaker" => "jane","key" => "ваш_токен","emotion" => "good", "text" => $str)); //описываем переменные, которые будем отправлять в сторону API Яндекса. Вы можете регулировать формат файла, локаль, спикера (мужской или женский голоса) и эмоциональный окрас. Заменить "ваш_токен" на ключ, полученный от API Yandex. SpeechKit Cloud; $ctx = stream_context_create(array("http"=>array("method"=>"GET","header"=>"Referer: "))); $soundfile = file_get_contents("https://tts.voicetech.yandex.net/generate?".$qs, false, $ctx); $file = fopen("file1.wav", "w"); fwrite($file, $soundfile); fclose($file); // получаем аудио файл (сохраняем его как file1.wav); shell_exec('sox -t raw -r 48k -e signed-integer -b 16 -c 1 file1.wav -t wav -r 8k -c 1 /var/lib/asterisk/sounds/ru/custom/output1.wav'); // выполняем преобразование аудио в нужный для Asterisk аудио-формат и копируем его в директорию /var/lib/asterisk/sounds/ru/custom/; shell_exec('chown asterisk:asterisk /var/lib/asterisk/sounds/ru/custom/output1.wav'); shell_exec('chmod 775 /var/lib/asterisk/sounds/ru/custom/output1.wav'); // даем файлу нужные пермишны; $agi->exec('Playback',"custom/output1"); // передаем в AGI команду проиграть полученный аудио – файл; shell_exec('rm -f /var/lib/asterisk/sounds/ru/custom/output1.wav'); shell_exec('rm -f file1.wav'); // удаляем оба файла; Скачать скрипт AGI После загрузки файла, сохраните его с расширением .php Сохраните скрипт под именем tts.php в директории /var/lib/asterisk/agi-bin и дайте следующие команды в консоль сервера: dos2unix /var/lib/asterisk/agi-bin/tts.php chown asterisk:asterisk /var/lib/asterisk/agi-bin/tts.php chmod 775 /var/lib/asterisk/agi-bin/tts.php Адаптируем функционал в «продакшн» Итак, первым делом, открываем файл /etc/asterisk/extensions_custom.conf для редактирования и добавляем в него следующую запись: [tts_menu] exten => s,1,Answer() exten => s,2,AGI(tts.php) Очень хорошо. Сделаем вызов кастомного контекста из FreePBX. Для этого воспользуемся модулем Custom Destinations. Переходим по пути Admin → Custom Destinations и нажимаем Add Destination: Нажимаем Submit и Apply Config. Мы хотим чтобы из главного IVR – меню клиент при нажатии 4 мог бы узнать статус своего заказа. Переходим в главный IVR и в секции IVR Entries добавляем следующее: Готово. Если что – либо не получилось, напишите нам в комментариях, постараемся помочь :)
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59