По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Привет, сегодня расскажем что такое база данных и SQL. У современных баз данных куча нюансов - погнали разбираться. Представь - собираешь ты деньги на подарок корешу, и записываешь на бумажке, кто сколько скинул. Табличка с денежками организована, разделена по именам и сумме долга, и имеет удобную структуру - ну вот оно, это и есть база данных! Ага, теперь, перемещаемся в цифровое пространство и заводим целый эксель файл для этого дела. Стало удобнее, можно редактировать, сортировать и даже данные удалять! Круто! Но достаточно ли этого для роста этой базы данных? Нет. Со временем данных становится так много, что админам приходится связывать их друг с другом, а тут одним эксель файлом уже не обойтись. Представим, решили вы сделать свой аналог ютуба, как будете хранить инфу о пользователях? Список юзеров, там, каналы, кто на что подписан, лайки и вот это все. Сложить это все в одну таблицу? Будет неудобно и медленно работать. Очевидно, надо разделить сущности на несколько таблиц - юзеры, каналы и видосы: Теперь свяжем данные между собой и добавим информацию о том, кто создал канал, и на каком канале залили видео. Ага, получились связанные таблицы. Связанные, от слова связь. А связь, это по-английски relation. А в айти тусовке они так и называются - реляционные базы данных, и это один самых распространенных типов баз данных. Еще есть нереляционные базы данных, о них подробнее можно прочитать в этой статье про NoSQL. Уф, ну теперь с данными стало гораздо удобнее работать, и мы избежали большой таблицы с повторяющимися строчками, разбив все на несколько табличек. Такой процесс еще называется нормализацией, когда мы избавляемся от избыточных данных. Ну и как раз для этого мы ввели в каждой таблице специальное поле - ID, которое идентифицирует каждую запись. Этот айди называется Primary Key, он же “первичный ключ”. А в таблице которая будет на него ссылаться, он будет называться Foreign Key, или по-русски “внешний ключ”. Нырнем в детали и поговорим про типы связей между таблицами. Первый тип называется “Один-ко-многим” или “многие-к-одному” (One-to-Many или Many-to-One). В нашем примере, у каждого видео может быть только один канал, где оно выложено, но на одном канале может быть много видео, поэтому в двух последних строках ID канала у нас повторяется, верно? Отношения «один-ко-многим» также можно рассматривать как отношения «многие-к-одному», в зависимости от того, с какой стороны вы на это смотрите. Второй тип связей называется “один-к-одному” (One-to-One) - классические табличные отношения. Вообще, это редко используемый тип связи, обычно его делают для безопасности. Это как если на нашем аналоге ютуба, мы разрешили бы создавать только один канал одному пользователю и в таблице с каналами ID создателя не могло повторяться. Такое себе, согласен? В таком случае вообще можно было бы обойтись и одной таблицей. Ну и третий тип связей, это “многие ко многим” (Many-to-many). Это когда у нас появляется промежуточная таблица связей, которая как бы соединяет два отношения “один ко многим”, которые мы обсудили в начале разбора типов связей. Давайте сделаем таблицу с лайками балалайками, где будем хранить ID пользователей и ID видео, к которым они поставили лайк: А вот так они связан: каждый пользователь может поставить лайк каждому видео. Теперь вопрос - а где все это хранить? Не в экселе же. И тут на сцену выходит термин СУБД, она же система управления базами данных - это программа, которая позволяет создавать, редактировать и администрировать реляционную базу. Ну и для управления всей этой петрушкой используется язык структурированных запросов, SQL (Structured Query Language) эскюэль или сиквел, как иногда его называют за рубежом. Он очень простой и понятный, вот смотри - чтобы найти названия всех видео с одного канала, нам нужно выполнить следующий запрос: SELECT name FROM videos WHERE channel_id = 201 То есть мы буквально говорим: выбери (SELECT) имена из (FROM) таблицы видео, где (WHERE) айдишник (ID) канала равен 201. Если вы хотите взять данные из нескольких таблиц и объединить результат, то нужно использовать в запрос параметр JOIN (от английского соединить). Вот такая упрощающая жизнь админам аналогия с разговорным языком. Так, SQL конечно позволяет добавлять, удалять и изменять данные и сами таблицы. Но важно не забывать про схему базы данных (Database schema), которая служит для описания структуры таблицы, ее полей и ограничений. Прикол в том, что если вам потребуется добавить или убрать столбец в таблице, то это изменение коснется вообще всех данных в таблице, таким образом если мы добавляем новый столбец, то он теперь будет присутствовать в каждой строке. Окей, а для чего вообще нужны ограничения? Для целостности твоих данных. Помнишь мы рассказали про первичный и внешний ключ? Так вот, благодаря им мы можем удостовериться, что в таблицу не попадет запись, которая ссылается на несуществующий айдишник. Или различные ограничения полей, которые не дадут записать дублирующие или пустые данные в нашу базу (Not NULL и Unique). И еще: транзакции. Эта штука, которая позволяет как бы склеить несколько SQL запросов в один. Ну вот представь такую задачку: вставить данные в первую таблицу, а во второй указать ID вставленной записи. Если ты делаешь это без использования транзакций, а во время второго этапа у тебя отвалится интернет, то первая запись попадет в базу, а вторая нет. Ага, появляется интернет, и ты с улыбкой на лице идешь снова выполнить эти запросы, только на этот раз получишь ошибку, что такая запись уже есть, ибо первая то уже в базе! А в случае использования транзакций, при получении ошибки, мы откатимся до того момента, который был до начала транзакции. А еще все эти радости помогают реляционным БД (базам данных) соответствовать так называемым требованиям ACID, которые нужны для сохранности данных - это очень важно в банковской отрасли, или любой другой, где целостность и сохранность данных супер важны. Давай разберемся с аббревиатурой: Atomicity — атомарность, или же проще говоря, непрерывность: это как раз про транзакции, которые мы обсудили только что. Либо операция выполняется целиком, либо никак. Consistency — согласованность: данные, записываемые в таблицу должны соответствовать всем выставленным правилам и ограничениям, помнишь, мы говорили про первичный и внешний ключи, а также про уникальность? Isolation — изолированность: если вы гоняете тонну транзакций одновременно, они не должны пересекаться и влиять друг на друга. Это очень важно для высоконагруженных баз Durability — надежность: если мы получили подтверждение, что транзакция выполнена, то значит наши данные в сохранности, даже если после этого произошел сбой. Ну и в качестве примеров таких баз данных назовем: Microsoft SQL Server, Oracle Database, MySQL, MariaDB и PostgreSQL.
img
Многие люди, работающие в сферах, где утечка информации может нанести существенный ущерб компании или её репутации, беспокоились о безопасности хранения данных на компьютерах, различных носителях. Вскоре эта проблема была решена с появлением различных антивирусов, шифрований, пресекавших несанкционированный доступ к данным. Но как быть, если необходимо хранить данные в какой-то сети, скажем, из 5 компьютеров, но при этом, чтобы они имели выход в интернет? Для решения такой задачи были созданы межсетевые экраны. Одним из фаворитов, среди производителей сетевого оборудования является компания cisco. Название пишется с маленькой буквы, так как при оформлении уже существовала компания CISCO, а владельцам не осталось ничего иного, как cisco. Интересно, что такое название компания получила от сокращенного названия города Сан-Франциско, в котором была образована. На логотипе изображена достопримечательность города – мост «Золотые ворота», которые некоторые люди ошибочно принимают за модулированный сигнал. Компания регулярно радует «сетевиков» своими новинками, что и сделало cisco популярными повсеместно. Перейдем непосредственно к решению задачи по обеспечению безопасного хранения данных в локальной сети. Сетевой экран позволяет блокировать нежелательный трафик из сети Интернет, посредством фильтрации проходящей через них информации. Условно экран (Firewall) может находиться на любом из уровней модели OSI (взаимодействия открытых систем), за исключением физического. Как и любое сетевое устройство, которое вводится в эксплуатацию, Firewall должен разграничить доступ к настройке фильтрации. Рассмотрим на примере 2 ПК, cisco ASA 5505 по пунктам: Подключаем кабель через консольный порт (console), который отмечен голубым цветом вокруг. Второй конец подключаем к ПК, с которого будет производиться настройка. Есть 3 режима работы, многие ошибочно считают, что их всего 2. Общий Пользовательский Привилегированный Для настройки ASA 5005 нам необходим привилегированный режим. Чтобы перейти в него, нужно пройти предыдущие два. Вначале мы оказываемся в общем режиме. Чтобы перейти в пользовательский, вводим команду en или enable (разницы нет, это всего лишь сокращение). ciscoasa> ciscoasa> enable ciscoasa# Система известила нас о том, что произошел переход с пользовательский режим ответом ciscoasa#. #(решетка) означает тот самый пользовательский режим. Далее переходим в привилегированный режим командой conf t или configure terminal. ciscoasa# configure terminal ciscoasa(config)# С помощью ответа в виде ciscoasa(config)# firewall уведомил о переходе в максимально возможный режим с доступов ко всем настройкам. Чтобы ограничить доступ посторонних лиц к настройке, рекомендуется устанавливать пароль командой enable password XXX, где XXX – ваш пароль. ciscoasa(config)# enable password XXX Настроим интерфейсы cisco. Для этого в привилегированном режиме вводим следующие команды: Interface GigabitEthernet 0/0 (входим в настройку интерфейса 0/0). Далее, при новой настройке указывается Interface GigabitEthernet 0/1 и т.д. nameif XXX (XXX – имя интерфейса) security-level 0 (если на этот порт будет поступать информация из Интернета) или security-level 100 (если информация будет находиться в локальной сети) ip address 192.168.1.10 255.255.255.0 (присваиваем IP-адрес интерфейсу) no shutdown (открываем порт для прохождения информации через него) Настроим статическую маршрутизацию командой: ciscoasa(config)# route outside 0.0.0.0 0.0.0.0 83.230.23.69 Главное – последний IP. Задается IP провайдера. Настроим доступ по HTTP: ciscoasa(config)# http server enable ciscoasa(config)# http 192.168.1.10 255.255.255. 0 inside ciscoasa(config)# aaa authentication http console LOCAL Включили HTTPS-сервер, присвоили его к нашему интерфейсу, назначили его работу через локальную сеть. Настроим доступ по SSH: hostname XXX domain-name yyy.ru crypto key generate rsa modulus 2048 ssh 192.168.1.10 255.255.255.0 inside aaa authentication ssh console LOCAL Для того, чтобы можно было проверить соединение с помощью командой ping в командной строке, необходимо выключить ICMP протокол: fixup protocol icmo Если необходимо, чтобы все устройства локальной сети имели общий адрес в сети Интернет, вводим следующую команду: nat (inside,outside) after-auto source dynamic any interface Таким образом на данном межсетевом экране можно настроить и остальные 4 ПК, которые нам необходимо было настроить.
img
Привет, друг! В этой статье мы расскажем про подключение Third Party SIP телефонов (то есть телефонов и софтфонов от других вендоров, поддерживающих RFC3261) к Cisco Unified Communications Manager (CUCM) . В качестве примера будем подключать популярный и бесплатный софтфон X-Lite. Настройка Cisco Unified Communications Manager Первым делом создадим пользователя в CUCM. Для этого переходим во вкладку User Management → End User. Здесь указываем следующую информацию: User ID Password (не используется в X-Lite, но необходимо указать при создании пользователя) PIN (также не используется в X-Lite) Last Name Digest Credentials (это поле используется как пароль в X-Lite) Затем добавляем SIP Phone. Для этого переходим во вкладку Device – Phone и нажимаем Add. Здесь в поле Phone Type выбираем Third-party SIP Device. Basic поддерживает одну линию, Advanced поддерживает до восьми линий. Далее нужно заполнить следующие поля: MAC Address – нужно указать уникальный адрес, для X-Lite можно указать любой, т.к не используемся для авторизации; Device Pool – можно указать стандартный Default; Phone Button Template – Third-party SIP Device; Security Device Profile – стандартный профиль Third-party SIP Device; SIP Profile – Standard SIP Profile; Owner User ID и Digest User – End User которого мы создавали ранее; После этого нажимаем Save и переходим в окно настроек телефона. Здесь нажимаем Line [1] – Add a new DN и в поле Directory Number указываем номер, который будем использовать. После этого возвращаемся во вкладку User Management → End User, находим созданного пользователя, и проверяем находиться ли SIP Phone в Controlled Devices. Если нет, то нажимаем Device Association, и тут выбираем добавленный нами SIP Phone, после чего он должен появиться в поле Controlled Devices. Настройка софтфона Открываем программу X-Lite, переходим в меню Account Settings. Тут заполняем следующие поля: Display Name – указываем желаемое имя, которое будет отображаться в программе; User Name – указываем Directory Number (DN) в CUCM; Password – Digest Credentials в CUCM; Authorization user name – User ID в CUCM; Domain – адрес сервера CUCM; После этого нажимаем OK и наш софтфон должен зарегистрироваться.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59