По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
CatOS (Catalyst Operating System) – это операционная система, которая использовалась в коммутаторах Cisco в линейке Catalyst, но впоследствии была вытеснена Cisco IOS. Первоначально она называлась "XDI" от компании Crescendo Communications, Cisco переименовала ее в CatOS, когда они приобрели Crescendo в конце 1993 года. /p> CatOS работала на коммутаторах серий 200, 2948G, 4000, 4500, 5000, 5500, 6000 и 6500. CatOS все еще может работать на некоторых модульных коммутаторах Cisco, «гибридных» режимах. В гибридном режиме NMP (процессор коммутатора) запускает CatOS, а в маршрутном процессоре работает Cisco IOS. Сравнение CatOS и IOS Есть три варианта ОС для коммутаторов линейки Catalyst: CatOS, гибридный режим (hybrid) и нативный режим (Native IOS). CatOS настраивает только коммутацию второго уровня. Для коммутаторов Catalyst третьего уровня (Catalyst 6500 с MSFC - многоуровневой функциональной картой коммутатора), CatOS можно использовать для функций второго уровня, а IOS может управлять MSFC. Этот процесс называется гибридным режимом. В нативном режиме IOS управляет функциями уровня 2 и уровня 3 в коммутаторе. Новые модели Cisco Catalyst Switch (с новейшими версиями Cisco IOS) также позволяют конфигурировать через модуль веб-графического интерфейса (GUI), который представлен на HTTP-сервере, расположенном на коммутаторе Cisco Catalyst. Команда IOS ip http-server позволяет использовать эту конфигурацию. В IOS 12.x эта команда всегда включена как заводская настройка. Некоторые новейшие модели коммутатора Cisco Catalyst (называемые Catalyst Express) больше не разрешают доступ к IOS или CatOS вообще - эти коммутаторы можно настроить только с помощью графического интерфейса. Свойство CatOS Cisco IOS Конфигурационный файл Два конфигурационных файла: один для NMP, один для MSFC Один конфигурационный файл Образ ОС Два образа: один для NMP, один для MSFC Один образ Стандартный статус порта Каждый порт включен Каждый порт в выключенном состоянии Формат конфигурационных команд Команды с ключевым словом set определяет каждую конфигурационную команду Структура команд Cisco IOS с командами глобального уровня и уровня интерфейса Режим конфигурации Нет конфигурационного режима (команды set, clear и show) Команда configure terminal активирует режим конфигурации Теперь сравним команды CatOS и IOS CatOS Cisco IOS set vlan [vlan-id] [mod]/[port] interface [gigabit/fastethernet] [mod]/[port]switchportswitchport mode accessswitchport access vlan [vlan-id] set port enable [mod]/[port] interface [gigabit/fastethernet] [mod]/[port]no shutdown set port disable [mod]/[port] interface [gigabit/fastethernet] [mod]/[port]shutdown set spantree portfast interface [gigabit/fastethernet] [mod]/[port]spanning-tree portfast set port speed [mod]/[port] [auto/10/100/1000] interface [gigabit/fastethernet] [mod]/[port]speed [auto/10/100/1000] set port duplex [mod]/[port] [half/full] interface [gigabit/fastethernet] [mod]/[port]duplex [auto/full/haif] reset system reload show cam dynamic show mac-address-table dynamic show channel show etherchannel summary show port [mod]/[port] show nterface [gigabit/fastethernet] [mod]/[port] show spantree show spanning-tree show trunk show interfaces trunk show vlan show vlan show vtp domain show vtp status set system name [label] hostname [label] set spantree backbonefast spanning-tree backbonefast set spantree macreduction table spanning-terr extend system-id
img
В данной статье я расскажу про опыт одного из наших партнеров, которым мы помогли увеличить рост заказов до 35% за счет уменьшения оттока клиентов и избавили от проблем со связью в офисе навсегда. Наверное, большинство из нас сталкивалось с проблемой связи в офисе: хрипит телефон, непонятные помехи и шум, прерывания в разговоре, сбои при подключении, недоступность оператора, занятые линии и так далее. Вы или ваши сотрудники начинают нервничать, собеседник раздражается от того, что приходится снова и снова повторять слова или постоянно переспрашивать информацию и в конечном итоге мы получаем: Негатив от клиента и потерю лояльности к компании, которая «не может наладить даже качество телефонного разговора»; Эмоциональный стресс сотрудников, который отрицательно отражается на их эффективности работы. Совершенно очевидно, что это огромная проблема для бизнеса, которая влечет за собой конкретные как экономические, так и нематериальные издержки, перечислю только самые основные: Потеря клиентов из-за нестабильной работы телефонии; Низкая эффективность работы сотрудников; Нехватка компетенций внутри команды для решения проблем; Растущие расходы и недополученная прибыль. Предыстория В августе 2018 года к нам обратилась компания «ООО НИКАС», занимающаяся оптовой торговлей напитков и продуктов питания. Телефонные звонки – основной и жизненно важный способ связи для их бизнеса, т.к. по данному каналу: принимаются заказы от текущих клиентов; генерируются заявки новых клиентов (номер телефона привязан к рекламе Яндекса и Google) В офисе клиента была установлена устаревшая аналоговая АТС, которая, как выяснилось, была балластом, тянувшим бизнес ко дну: постоянные срывы звонков и помехи прямо во время разговоров, а порой и невозможность просто дозвониться, сильно пошатнули доверие клиентов в профессионализм и надежность компании. Проблема Из-за некачественных или сорвавшихся звонков, как снежный ком, накапливались отрицательные результаты и к моменту обращения к нам, на стороне клиента по статистике были зафиксированы следующие критические точки: 29% ежемесячный отток лояльных клиентов; 33% потери новых клиентов и «прожигание» маркетинговых бюджетов. Огромные убытки для бизнеса и угроза прекращения существования компании возникли всего лишь из-за игнорирования банальной проблемы. В дальнейшем, как признался один из совладельцев бизнеса – Андрей, причиной того, что на проблему закрывались глаза было простое незнание возможностей IP телефонии: «Мы просто боялись, что-то трогать, т.к. у нас не было на своей стороне компетенции, чтобы решить задачу, а обращаться к подрядчику нам казалось, что будет очень долго, дорого и сложно – и за это «незнание» мы заплатили в 10 раз дороже, чем любому подрядчику и потратили впустую кучу времени…» К счастью для коллег, пускай поздно, но они все-таки обратились к нам для решения своих проблем и оказались абсолютно правы. Проанализировав ситуацию, взвесив все «за» и «против» мы пришли к выводу, что для нашего клиента идеально подойдет установка Asterisk по следующим характеристикам: Стоимость - бюджетное решение, которое мог позволить наш клиент; Скорость выполнения работ – очень быстрая и оперативная реализация; Надежность технологии – отличное сочетание по соотношению цены и качества. Что было сделано: Встретились с клиентом для выяснения основных «болевых точек»; Уточнили пожелания клиента со стороны бизнес и IT подразделений; Проанализировали полученные вводные данные и согласовали смету; Презентовали на демонстрационном стенде возможности технологии; Сформировали проектную документацию; Получили доступы к системе и приступили к пуско-наладочным работам; Завершили настройку системы и провели приемочные испытания; Ошибок выявлено не было, и мы передали систему клиенту в эксплуатацию; Через 3 месяц собрали и провели анализ ключевых показателей эффективности Предложили пути оптимизации скриптов разговора. Что получил наш клиент: Привлечение новых заказов за счет: Уменьшения оттока лояльных клиентов с 29% до 12% * (по результатам работы системы за 3 месяца) Увеличения % удержания новых клиентов с 7% до 35% Увеличение эффективности работы сотрудников за счет экономии времени на разговор снизили среднее время разговора со 156 до 132 секунд Увеличение лояльности клиентов за счет снижения среднего времени нахождения звонка в очереди с 21 до 9 секунд; Увеличение количества отвеченных звонков на 15% за счет уменьшения количества не дошедших до оператора вызовов; Увеличение количества звонков, когда оператор решил проблему клиента с первого раза с 72% до 89%; Основные поставленные перед нами KPI клиента в графиках: Кроме этого: Быструю и качественную модернизацию связи в офисе без лишних затрат; Абсолютно прозрачный план проекта с четкими сроками выполнения работ и расчета стоимости; Техническую поддержку и личного account-менеджера; Обучение сотрудников по использованию продукта; Предоставление технической документации; Предоставление скидок при закупке оборудования. Заключение Из-за недооценки необходимости иметь качественную связь в офисе наш клиент заплатил огромную цену, и точка невозврата была очень близка. Не бойтесь смотреть проблемам в глаза, а самое главное – признаться в себе, что пора начать действовать. Не попадайте в ситуацию нашего клиента и модернизируйте телефонию вовремя, а команда Merion Networks будет всегда готова помочь. Наш лендинг: https://asterisk.merionet.ru/. Пришло время изменений :)
img
SQL расшифровывается как Structured Query Language, или структурированный язык запросов. Команды SQL – это инструкции, которые даются базе данных для выполнения задач, функций и запросов с данными. SQL-командами можно пользоваться для поиска по базе данных и выполнения различных функций: создания и удаления таблиц, добавления данных в таблицы и их редактирования. Ниже приведен список основных команд (их иногда называют операторами), которые необходимо знать при работе с SQL. SELECT и FROM SELECT в запросе определяет, какие столбцы данных отобразить в результатах. Кроме того, в SQL есть возможности отображать данные не из столбца таблицы. В примере ниже показаны 3 столбца, взятые из таблицы студентов Student (через SELECT и FROM) и один вычисляемый столбец. В базе данных хранятся ID (studentID), имя (FirstName) и фамилия (LastName) студента. Мы можем объединить столбцы с именем и фамилией и создать вычисляемое поле с полным именем (FullName). SELECT studentID, FirstName, LastName, FirstName + ' ' + LastName AS FullName FROM student; Вывод: +-----------+-------------------+------------+------------------------+ | studentID | FirstName | LastName | FullName | +-----------+-------------------+------------+------------------------+ | 1 | Monique | Davis | Monique Davis | | 2 | Teri | Gutierrez | Teri Gutierrez | | 3 | Spencer | Pautier | Spencer Pautier | | 4 | Louis | Ramsey | Louis Ramsey | | 5 | Alvin | Greene | Alvin Greene | | 6 | Sophie | Freeman | Sophie Freeman | | 7 | Edgar Frank "Ted" | Codd | Edgar Frank "Ted" Codd | | 8 | Donald D. | Chamberlin | Donald D. Chamberlin | | 9 | Raymond F. | Boyce | Raymond F. Boyce | +-----------+-------------------+------------+------------------------+ 9 rows in set (0.00 sec) CREATE TABLE Название CREATE TABLE говорит само за себя – оператор создает таблицу. Вы можете задать название таблицы и настроить, какие столбцы будут присутствовать в таблице. CREATE TABLE table_name ( column_1 datatype, column_2 datatype, column_3 datatype ); ALTER TABLE ALTER TABLE изменяет структуру таблицы. Вот так можно добавить столбец в базу данных: ALTER TABLE table_name ADD column_name datatype; CHECK CHECK ограничивает диапазон значений, которые можно добавить в столбец. Когда вы настраиваете ограничение CHECK для отдельного столбца, оператор проверяет, что в этом столбце присутствуют строго определенные значения. Если же CHECK настраивается для таблицы, то он может ограничивать значения в отдельных столбцах на основании значений из других столбцов этой строки. В следующем примере при создании таблицы Persons используется ограничение CHECK для столбца «Возраст» (Age). Таким образом проверяется, что в таблицу не попадают лица младше 18 лет. CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, CHECK (Age>=18) ); Следующий синтаксис используется для присвоения названия оператору CHECK и настройки CHECK для нескольких столбцов: CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, City varchar(255), CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes') ); WHERE (AND, OR, IN, BETWEEN и LIKE) Оператор WHERE используется для ограничения количества возвращаемых строк. Сначала, в качестве примере, мы покажем оператор SELECT и его результат без оператора WHERE. Затем добавим оператор WHERE, в котором используются сразу 5 из вышеуказанных квалификаторов. SELECT studentID, FullName, sat_score, rcd_updated FROM student; +-----------+------------------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+------------------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 | | 3 | Spencer Pautier | 1000 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | | 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 | | 7 | Edgar Frank "Ted" Codd | 2400 | 2017-08-16 15:35:33 | | 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 | | 9 | Raymond F. Boyce | 2400 | 2017-08-16 15:35:33 | +-----------+------------------------+-----------+---------------------+ 9 rows in set (0.00 sec) Теперь повторим запрос SELECT, но ограничим возвращаемые строки оператором WHERE. STUDENT studentID, FullName, sat_score, recordUpdated FROM student WHERE (studentID BETWEEN 1 AND 5 OR studentID = 8) AND sat_score NOT IN (1000, 1400); +-----------+----------------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+----------------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | | 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 | +-----------+----------------------+-----------+---------------------+ 5 rows in set (0.00 sec) UPDATE Для обновления записи в таблице используется оператор UPDATE. Условием WHERE можно уточнить, какие именно записи вы бы хотели обновить. Вы можете обновлять по одному или нескольким столбцам сразу. Синтаксис выглядит так: UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; В примере ниже обновляется название записи (поле Name) с Id 4: UPDATE Person SET Name = “Elton John” WHERE Id = 4; Помимо этого, можно обновлять столбцы в таблице значениями из других таблиц. Чтобы получить данные из нескольких таблиц, воспользуйтесь оператором JOIN. Синтаксис выглядит так: UPDATE table_name1 SET table_name1.column1 = table_name2.columnA table_name1.column2 = table_name2.columnB FROM table_name1 JOIN table_name2 ON table_name1.ForeignKey = table_name2.Key В примере ниже мы обновляем поле «Менеджер» (Manager) для всех записей: UPDATE Person SET Person.Manager = Department.Manager FROM Person JOIN Department ON Person.DepartmentID = Department.ID GROUP BY GROUP BY позволяет объединять строки и агрегировать данные. Вот так выглядит синтаксис GROUP BY: SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name; HAVING HAVING позволяет сортировать данные, которые собираются через GROUP BY. Таким образом, пользователю показывается лишь ограниченный набор записей. Вот так выглядит синтаксис HAVING: SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > value; AVG() AVG, или среднее, вычисляет среднее значение числового столбца из набора строк, которые возвращает оператор SQL. Вот так выглядит синтаксис: SELECT groupingField, AVG(num_field) FROM table1 GROUP BY groupingField А вот пример этого оператора для таблицы Student: SELECT studentID, FullName, AVG(sat_score) FROM student GROUP BY studentID, FullName; AS AS позволяет переименовать столбец или таблицу с помощью псевдонима. SELECT user_only_num1 AS AgeOfServer, (user_only_num1 - warranty_period) AS NonWarrantyPeriod FROM server_table И вот так будет выглядеть результат. +-------------+------------------------+ | AgeOfServer | NonWarrantyPeriod | +-------------+------------------------+ | 36 | 24 | | 24 | 12 | | 61 | 49 | | 12 | 0 | | 6 | -6 | | 0 | -12 | | 36 | 24 | | 36 | 24 | | 24 | 12 | +-------------+------------------------+ Кроме того, через оператор AS вы можете задать название таблицы – так будет проще обращаться к ней в JOIN. SELECT ord.product, ord.ord_number, ord.price, cust.cust_name, cust.cust_number FROM customer_table AS cust JOIN order_table AS ord ON cust.cust_number = ord.cust_number Результат выглядит так. +-------------+------------+-----------+-----------------+--------------+ | product | ord_number | price | cust_name | cust_number | +-------------+------------+-----------+-----------------+--------------+ | RAM | 12345 | 124 | John Smith | 20 | | CPU | 12346 | 212 | Mia X | 22 | | USB | 12347 | 49 | Elise Beth | 21 | | Cable | 12348 | 0 | Paul Fort | 19 | | Mouse | 12349 | 66 | Nats Back | 15 | | Laptop | 12350 | 612 | Mel S | 36 | | Keyboard| 12351 | 24 | George Z | 95 | | Keyboard| 12352 | 24 | Ally B | 55 | | Air | 12353 | 12 | Maria Trust | 11 | +-------------+------------+-----------+-----------------+--------------+ ORDER BY ORDER BY позволяет сортировать результирующий набор данных по одному или нескольким элементам в разделе SELECT. Ниже дан пример сортировки студентов по имени (FullName) в порядке убывания. Изначально используется стандартная сортировка по возрастанию (ASC), поэтому для сортировки в обратном порядке мы применяем DESC. SELECT studentID, FullName, sat_score FROM student ORDER BY FullName DESC; COUNT COUNT вычисляет количество строк и возвращает результирующее значение в столбце. Ниже приводятся возможные сценарии использования COUNT: Подсчет всех строк в таблице (не требуется Group by) Подсчет общего числа подмножеств данных (в операторе обязательно прописывается Group By) Этот оператор SQL выводит количество всех строк. Кроме того, что вы можете настроить название результирующего столбца COUNT с помощью AS. SELECT count(*) AS studentCount FROM student; DELETE DELETE используется для удаления записи из таблицы. Будьте внимательны! Вы можете удалить несколько записей в таблице, либо сразу все. С помощью условия WHERE вы указываете, какие записи необходимо удалить. Синтаксис выглядит так: DELETE FROM table_name WHERE condition; Вот так выглядит удаление из таблицы Person записи с Id 3: DELETE FROM Person WHERE Id = 3; INNER JOIN JOIN, или внутреннее соединение, выбирает записи, соответствующие значениям в двух таблицах. SELECT * FROM A x JOIN B y ON y.aId = x.Id LEFT JOIN LEFT JOIN возвращает все строки из левой таблицы и соответствующие им строки из правой таблицы. Строки из левой таблицы возвращаются даже при пустых значениях в правой таблице. Если для строк из левой таблицы нет соответствия в правой, то в значениях последней будет стоять null. SELECT * FROM A x LEFT JOIN B y ON y.aId = x.Id RIGHT JOIN RIGHT JOIN возвращает все строки из правой таблицы и соответствующие им строки из левой. В отличие от левого соединения, здесь возвращаются все строки из правой таблицы, даже если им ничего не соответствует в левой. В таком случае, в значениях столбцов из левой таблицы будет стоять null. SELECT * FROM A x RIGHT JOIN B y ON y.aId = x.Id FULL OUTER JOIN FULL OUTER JOIN возвращает все строки, соответствующие условиям в любой из таблиц. Если в левой таблице есть строки, которым ничего не соответствует в правой, то они все равно отобразятся в результирующих значениях. То же самое распространяется и на строки из правой таблицы без соответствующих значений в левой. SELECT Customers.CustomerName, Orders.OrderID FROM Customers FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID ORDER BY Customers.CustomerName INSERT INSERT используется для добавления данных в таблицу. INSERT INTO table_name (column_1, column_2, column_3) VALUES (value_1, 'value_2', value_3); LIKE LIKE используется в связке с WHERE или HAVING (в составе оператора GROUP BY) и ограничивает выбранные строки по элементам, если в столбце содержится определенный шаблон символов. Этот SQL запрос выбирает студентов, чье значение в FullName начинается с «Monique» или заканчивается с «Greene». SELECT studentID, FullName, sat_score, rcd_updated FROM student WHERE FullName LIKE 'Monique%' OR FullName LIKE '%Greene'; +-----------+---------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+---------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | +-----------+---------------+-----------+---------------------+ 2 rows in set (0.00 sec) Перед LIKE вы можете добавить NOT, и тогда строки, соответствующие условию, будут исключаться, а не добавляться. Этот SQL исключает записи, у которых в столбце FULL NAME содержится «cer Pau» и «Ted». SELECT studentID, FullName, sat_score, rcd_updated FROM student WHERE FullName NOT LIKE '%cer Pau%' AND FullName NOT LIKE '%"Ted"%'; +-----------+----------------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+----------------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | | 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 | | 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 | | 9 | Raymond F. Boyce | 2400 | 2017-08-16 15:35:33 | +-----------+----------------------+-----------+---------------------+ 7 rows in set (0.00 sec)
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59