По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Перечисления, или перечисляемые типы данных, - это список постоянных значений с именами, которые удобны для разработчиков. В программировании они нужны для того, чтобы определить набор предопределенных значений, которые может принимать переменная. Определение списка значений Перечисления – это список значений, где каждое значение уникально. В перечислении не может быть двух значений с идентичными именами. Это весьма полезно, если нужно определить все возможные варианты значений, которые может обрабатывать функция.  Например, у вас есть перечисление под названием «Fruits». В нем хранится список фруктов, которые понятны для приложения. Именно в этом и есть ключевое отличие перечисления от использования строки для того, чтобы представить эту переменную, – строка может иметь бесконечное число возможных значений, а это перечисление – только три.  Это перечисление вы можете использовать в своем коде, например, для того, чтобы проверить, соответствует ли тип пользовательского ввода элементу Apple, или для передать его оператору switch/case в качестве аргумента для того, чтобы выполнить определенные действия для каждого типа возможного значения.  С точки зрения внутренней структуры перечисления сами по себе являются значениями. Это, конечно, зависит от реализации языка, но, например, в C# перечисления по умолчанию являются целыми значениями. Значения по умолчанию начинаются с 0, 1, 2, 3 и т.д., но их можно изменить вручную. Можно установить определенное значение для каждого элемента перечисления. Например, это могут быть коды состояния HTTP: Они могут преобразовываться из значения в перечисление и наоборот с помощью простого приведения типов: Перечисления не просто полезны для определения набора элементов, но они также неплохо помогают разработчикам. Даже если вы конвертируете данные в строковый или целочисленный тип перед тем, как отправить их в API, использования перечислений в вашей кодовой базе в любом случае обеспечит большую гибкость и приведет ваш код в порядок.  К тому же, наличие выпадающих списков с автозаполнением со списком возможных значений может помочь не только вам, но и любому, кто будет работать с вашей кодовой базой в дальнейшем. Никто не хочет сопровождать программный код, который в качестве аргументов принимает строки и выполняет случайные действия, основываясь на входных данных. Использование перечислений, напротив, строго определяет то, как себя будет вести приложение.  Недостатки использования перечислений Основной недостаток перечислений заключается в том, что, как только они перестают находиться в вашей кодовой базе, они теряют свое особое значение. Например, у вас есть API, в котором вы сохраняете и отправляете данные. Для начала вам необходимо сериализовать перечисление, которое, скорее всего, по умолчанию принимает базовые значения 0, 1, 2 и т.д. Некоторые языки программирования поддерживают перечисления с базовыми строковыми значениями или настраивают правила сериализации перечислений так, чтобы сгладить эту проблему.  Проблемой может стать и изменение перечислений. Как только вы начинаете использовать перечисление, вы не можете больше менять порядок элементов. У вас есть право только добавить элементы в конец списка. В противном случае хранящиеся данные, которые используют старую версию перечисления, перестанут быть актуальными и будут искажены.  Перечисления как флаги Еще одно популярное направление использования перечислений – это определение битовых флагов. Это достаточно продвинутая концепция, но по сути речь идет о том, что каждое значение перечисления – это логическое значение. Все эти перечисления можно хранить вместе в одном целом числе и использовать для выполнения быстрого поиска логических данных. Это действительно работает, потому что каждое значение перечисления соответствует разным битам базового числа. Для двоичного представления значения перечисления будут следующие: 0, 1, 2, 4, 8, 16 и т.д. И вы можете соединить их вместе, чтобы получить список логических значений.  Почему именно такой вариант, а не несколько логических значений? Что ж, во-первых, это экономит место, а это в некоторых ситуациях (когда у вас их много) может быть очень на руку. Но, что еще важнее, при таком подходе можно очень быстро получить доступ к каждому значению, особенно если вам нужно получить доступ к нескольким значениям. Например, вы хотите проверить, выходной сегодня или нет. Вы можете проверить суббота сегодня или воскресенье ( Saturday | Sunday ), и все это из того же байта, что был загружен в память. Центральному процессору необходимо извлечь лишь один элемент, чтобы получить список всех флагов. 
img
В данной статье рассматривается вопросы настройки и использования командной оболочки. Вопросы: Установка переменных во время входа в систему или при запуске оболочки. Написание bash-сценариев для часто используемых цепочек команд. Управление структурой каталогов для новых пользователей. Настройка корректных путей поиска команд. Командная оболочка в Unix системах называется Shell – это командный интерпретатор, который используется во всех Unix подобных операционных системах. Оболочек огромное количество. Одной из основных оболочек является оболочка BASH или Bourne-again-shell (Еще одна оболочка Борна). Данная оболочка самая распространенная оболочка Unix, которая используется по умолчанию практически во всех дистрибутивах Linux. Все, о чем будет написано далее справедливо для большинства дистрибутивов Linux. Есть небольшой нюанс с Ubuntu. Есть вот такая картинка по профилям. Значок ~ в данном случае означает домашнюю папку пользователя по умолчанию. Например, /home/john. Существует папка /etc/profile в ней лежат настройки глобального профиля. Такой профиль, который будет применяться для всех пользователей на данной машине, которые запускают командную оболочку. Функционал у него достаточно большой, но в первую очередь он грузит все что есть в /etc/profile.d и настройки глобального пользователя /etc/bash.bashrc и /etc/bashrc. Получается так, что ищется файл bash.bashrc или bashrc файлы, т.к в разных дистрибутивах разные файлы и грузит то, что он нашел. В документации по Linux написано, если запускается инициализационный скрипт при входе в систему, т.е пользователь заходит в систему, то отрабатывает левая часть картинки, если запускается оболочка вне контекста пользователя, то правая часть. Если пользователь залогинился в систему, то помимо того, что отрабатывает папка /etc/profile.d начинается проверка в домашнем каталоге пользователя наличие файлов ~/.bash_profile, ~/.bash_login, ~/.profile. В разных дистрибутивах по-разному называется локальный профиль пользователя. В Ubuntu файл ~/.profile просто ссылит на ~/.bashrc, который так же лежит в домашней папке пользователя. Т.е у нас по порядку инициализационный скрипт ищет, как указанно в левой части картинки. Точкой у Ubuntu обозначаются скрытые файлы. Вот этот файл ~/.bashrc – это настройки конкретного пользователя, настройки оболочки. Файл /etc/bashrc – это настройки глобального пользователя, настройки для всех пользователей. Суть процесса: оболочка bash используется, как интерактивная оболочка входа в систему. Данная оболочка вызывает команды из файла /etc/profile, если он существует. Далее она по порядку начинает обрабатывать файлы ~/.bash_profile, ~/.bash_login, ~/.profile. И еще есть такой файл в home директории ~/.bash_logout – он отрабатывает при выходе из системы, что следует из его названия. Есть второй сценарий, использование интерактивной оболочки bash, без входа в систему, то читаются файлы /etc/bash.bashrc и /etc/bashrc. Мы можем посмотреть, что происходит при запуске оболочки. Для начала найдем файл /etc/profile. Из картинки мы видим, что данный файл грузит /etc/bash.bashrc, в некоторых дистрибутивах это просто /etc/bashrc. И затем он выполняет из папки /etc/profile.d/*.sh, т.е все скрипты. Об этом можно прочитать в комментарии, всего два действия. Посмотрим файл cat /etc/bash.bashrc. Данный файл определяет поведение командной строки, он определяет глобальный профиль пользователей. Все, что в нем указанно справедливо для всех пользователей. Данный файл запускает различные псевдонимы и глобальные функции, различные настройки. В каталоге /etc, есть папка profile.d, в ней могут находиться различные скрипты и они будут запускаться. Теперь посмотрим, что у нас в домашней папке, в ней лежат настройки конкретного пользователя, который работает в оболочке. Переходим в домашнюю директорию cd ~, смотрим какие файлы там находятся. Смотрим очередность запуска файлов и видим, что следующий файл, который запустится, будет ~/.profile. он содержит настройки конкретного пользователя. Посмотрим, что в нем есть cat ~/.profile. В нем несколько переменных и он ссылит на файл ~/.bashrc. Это особенность Ubuntu. И в файле ~/.bashrc хранятся все настройки. Он достаточно большой. В нем пишутся настройки истории, как происходит обновление, псевдонимы, цветовые настройки. Можно посмотреть файл ~/.bash_logout. В данном файле нет ничего особенного, просто, когда кто-то выходит экран в целях безопасности очищается. Посмотрим, как создается структура каталогов для новых пользователей. Есть такая папка в /etc/skel/. Если мы туда перейдем и посмотрим, что в ней находиться. Как вы видите в папке есть несколько файлов. В ней содержится все, то что будет добавляться в домашнюю папку нового пользователя. Если мы хотим пользователю, что-то добавить в его домашнюю папку, мы можем создать в данной папке файл или директорию. И у всех новых пользователей данные папки или файлы будут появляться.
img
Решение Cisco Unified Contact Center Enterprise предназначено для крупных контактных центров, которые имею географически распределенные площадки и большое количество персонала, работающего в рамках центра. Выделим следующие основные преимущества UCCE: Интеллектуальная маршрутизация с универсальными очередями; Computer Telephony Integration (CTI) в рамках модели сеть – рабочее место; Возможность обрабатывать различные канала взаимодействия (звонки, чаты, e-mail, web – обращения, sms и так далее.); Голосовое меню IVR; «Умный» алгоритм очередей; Интеграция со устаревшими моделями телефонных станций; Единая платформа отчетности. Рассмотрим архитектуру решения UCCE: Компонент Intelligent Contact Manager (ICM) это элемент, ответственный за принятие решений о маршрутизации вызова, отчетности и CTI интеграции. Параллельно, с развертыванием ICM компоненты, устанавливается множество других важных узлов, таких как: Контроллер: делится на две компоненты: Router («роутер») - выполняет функции направления и контроля почти всех событий происходящих в рамках ICM. С точки зрения маршрутизации, роутер ответственен за обработку входящих запросов на маршрутизацию и отвечает на исходящие события. Запрос на маршрутизацию может приходить из сети провайдера или других периферийных устройств (ACD, IVR IP PBX и так далее); Logger («логгер») - так же называется сервер базы данных. Главная функция логгера это быть базой данных для ICM компонента. В предыдущих версиях ICM, логгер содержал только информацию об ICM. Текущие актуальные версии логгера выполняют копии конфигурации ICM и другие административные задачи, такие как уведомления в случае ошибок. Логгер частично содержит историческую отчетность, которая, в большинстве своем, передается на Administration & Data Server (сервер администрирования и информации), на котором хранится историческая отчетность и отчетность типа Real – time (реального времени); Network Interface Controller (NIC) - интерфейс взаимодействия с провайдером. Не все ICM системы напрямую подключаются к провайдеру услуг. Так же ICM может быть развернут без NIC. В рамках разворачиваемой архитектуры, NIC может быть развернут как сторонним сервере, так и на одном сервере с компонентом Router; Administration & Data Server - интерфейс пользователя для взаимодействия с конфигурацией и отчетностью; Периферийный шлюз (Peripheral gateway, PG) - термин «переферийный» используется для обозначения того, что любое внешнее устройство может быть подключено к ICM через PG. Внешними устройствами, или как принято говорить «периферийными», могут быть устаревшие типы ACD, IVR – системы, Cisco Unified Communications Manager, Cisco Unified CVP [7] (Customer Voice Portal) и многие другие. Периферийный шлюз это интерфейс между контроллером и периферией. Взгляните на архитектуру контактного центра Unified Contact Center Enterprise: В итоге получаем, что сочетание ICM, CUCM и IVR, и есть Unified Contact Center Enterprise. Рассмотрим требования Unified CCE к программному обеспечению: Microsoft Windows Server 2003 SP2 или Microsoft Windows Server 2003 R2 SP2 (стандартный или корпоративный). Данные системы необходимы для таких компонент, как Router, Administration & Data Server, Logger, PG и CTI сервер; SQl Server 2005; Только 32-х битная архитектура; Microsoft SQL Server 2005 SP3 (стандартный или корпоративный). Необходим для таких компонент как Logger и Administration & Data Server; Требования к аппаратной платформе ниже: MCS сервера; Виртуализация возможна только для некоторых компонент; Многоядерный процессор; Полнодуплексные сетевые интерфейсы. Лицензирование Лицензирование UCCE происходит по двум принципам. Первый, это покупка обязательных лицензий для компонентов и агентов. Вторая часть, это покупка дополнительных лицензий, таких как интеграция со сторонними IVR системами и лицензии на сложные модели развертывания. К любой системе Unified CCE необходимо приобрести одну (или несколько) категорий лицензий для конкретных клиентских каналов взаимодействия центра, такие как: Голосовые взаимодействия: Лицензия на развертывание компонент Router/Logger, PG, отказоустойчивые компоненты IVR PG, AWDB, HDS, NIC и так далее; Взаимодействие по каналу e-mail: Лицензия на развертывание обязательных компонент для обработки e-mail транзакций, таких как Services Server, Application Server, Database Server и так далее; Взаимодействие по каналу WEB: Для общения с клиентом через WEB формы на сайте компании, необходимо приобрести соответствующие лицензии на компоненты, указанные выше. Лицензия включает встраиваемые шаблоны HTML для взаимодействия по каналу WEB, коннекторы в базы данных и так далее; Существует 4 возможных схемы лицензирования агентов для обработки голосовых транзакций: Стандартная лицензия - включает в себя Cisco Agent Desktop (CAD) или Cisco Supervisor Desktop. Приложение CAD является тонким клиентом, где агент может работать с входящим и исходящими вызовами; Расширенная лицензия - включает в себя Enhanced Cisco Agent Desktop или Enhanced Cisco Supervisor Desktop. Расширение представляет из себя возможность «кастомизации» агентского интерфейса; Премиум лицензия - в рамках данной лицензии предоставляется возможность выбора одного из агентских рабочих мест, а именно: Cisco Finesse Agent Desktop - представляет из себя WEB – интерфейс, в котором агент может производить обработку различных событий. Обладает широчайшими возможностями «кастомизации»; Cisco Toolkit Desktop (CTI OS) - разновидность агентского рабочего места. Представляет широкий набор возможностей обработки вызова, таких как набор номера, ответ, отбой, удержание, подключение, помощь супервизора и так далее; Premium CAD и Supervisor Desktop - максимальный функциональный набор; CRM Agent Licenses - включает в себя Cisco Unified CRM Connector для Siebel CRM.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59