По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Firebase - это платформа для разработки приложений, запущенная в 2012 году и двумя годами позже приобретенная Google. Изначально Firebase задумывалась как база данных для приложений реального времени, но Google увидел ее потенциал и решил добавить к ней дополнительные сервисы. В настоящее время Firebase представляет собой систему BaaS (Backend as as Service) для упрощения создания веб-приложений и мобильных приложений с 18 службами. Среди компаний, использующих услуги BaaS Firebase, - Accenture, Alibaba Travels, Stack, Twitch и Instacart, а также более 2300 других. Преимущества использования Firebase Первой из услуг, предлагаемых Firebase, была база данных в реальном времени, и она остается одной из самых привлекательных. Real-time базы данных Firebase размещаются в облаке, хранят данные в формате JSON и синхронизируются в реальном времени с каждым подключенным к ним клиентом. Независимо от того, используете ли вы iOS SDK, Android SDK или JavaScript SDK, все приложения, подключенные к Realtime базе данных Firebase, совместно используют один экземпляр базы данных, всегда работают с последними данными. Cloud Firestore - еще один интересный сервис Firebase. Это NoSQL база данных документов, предназначенная для облегчения хранения, синхронизации и выполнения запросов для мобильных и веб-приложений в глобальном масштабе. Создание иерархий для хранения связанных данных и запросов для получения данных позволяет полностью реализовать потенциал Cloud Firestore. В свою очередь, запросы масштабируются в зависимости от размера результатов, а не от размера набора данных. Это позволяет приложениям масштабироваться с самого начала, не дожидаясь момента, когда запрашиваемые ресурсы превысят имеющиеся. В дополнение к вышеупомянутым службам баз данных Firebase также предлагает услуги хостинга, хранилища файлов, функции (в стиле AWS Lambda) и многое другое. Создание API API-интерфейсы - это способ предоставления услуг для использования вашими собственными или сторонними приложениями. Firebase позволяет предоставлять настраиваемые службы, которые, в свою очередь, используют собственные службы Firebase, без необходимости настраивать серверную часть для этих служб. Вы можете, например, предложить доступ к базе данных Firebase в реальном времени для сторонних приложений для запроса информации, собираемой промышленными датчиками. Первым шагом в создании API в Firebase является доступ к консоли Firebase и добавление проекта, нажав «Добавить проект» (Add project) и присвоив название новому проекту. Google предоставит вам возможность включить Google Analytics для вашего нового проекта. Рекомендуется принять эту рекомендацию, так как вы получите такие преимущества, как A/B-тестирование и широкий спектр статистических отчетов относительно вашего API. После создания проекта вы сможете выбрать службы Firebase, которые будет использовать ваш API. Чтобы проиллюстрировать эту задачу, мы разберём, как использовать службу базы данных Firebase Realtime. Настройка базы данных реального времени в Firebase На панели навигации слева в разделе «Разработка» (Develop) щелкните «Realtime Database». Справа появится кнопка «Create Database». Нажмите на нее, чтобы создать свою первую базу данных в Firebase. Затем вам нужно будет выбрать один из нескольких вариантов географического местоположения для вашей новой базы данных. Выберите тот, который ближе всего к вашим пользователям. Это важный аспект для минимизации задержки вашего API, особенно для приложений реального времени. Следующим шагом является настройка основных правил безопасности для вашей базы данных. Вы можете выбрать заблокированный режим, а затем назначить права доступа по мере необходимости или выбрать тестовый режим, который разрешает все операции чтения и записи. Для начала, чтобы не усложнять свою жизнь настройками безопасности, можно выбрать тестовый режим. А правила безопасности можете настроить позже. Как только вы закончите настройку своей базы данных, соответствующий API также будет добавлен в разделе API and Services в консоли Google Cloud Platform. Программирование Firebase API На данный момент у вас уже есть основные элементы вашего проекта, настроенные в консоли Firebase. Следующим шагом будет написание кода API. Для этого вам нужно будет инициализировать хостинг и функции Firebase на вашем локальном компьютере. Вы можете установить firebase-tools с помощью npm: npm install -g firebase-tools Затем вы можете войти в firebase и инициализировать свой проект с помощью следующих команд: firebase login firebase init Отобразится экран приветствия, в котором Firebase укажет папку папке, в которой будет храниться ваш проект, и появится меню параметров. В этом меню выберите Functions and Hosting (опция «Хостинг» позволит вам иметь собственный URL-адрес для API). Затем выберите из списка приложение Firebase, которое вы создали ранее, после чего вы должны выбрать язык для использования. Для разработки веб-API вы можете выбрать JavaScript. Если вы будете использовать зависимости пакетов, установите их с помощью npm внутри папки функций. Затем вы можете начать писать код для своих функций. Не забудьте включить пакеты firebase-functions и firebase-admin наряду с другими пакетами, которые вам нужны: import * as functions from 'firebase-functions'; import * as admin from 'firebase-admin'; Чтобы использовать базу данных в реальном времени, вы должны указать ее URL при инициализации вашего JavaScript SDK. URL-адрес находится в разделе Realtime Database консоли Firebase. Вы можете узнать его по формату: https://<database-name>.<region>.firebasedatabase.app Вы можете использовать следующий фрагмент кода для инициализации вашего SDK, заменяя данные на свои: var config = { apiKey: "apiKey", authDomain: "projectId.firebaseapp.com", databaseURL: "https://databaseName.firebaseio.com", storageBucket: "bucket.appspot.com" }; firebase.initializeApp(config); var database = firebase.database(); После того, как написали код функции API, пора приступить к развертыванию. Но перед этим нужно будет внести некоторые изменения в firebase.json, добавив следующие строки, измененные в соответствии с конфигурацией нашего проекта: "rewrites": [ { "source": "/api/v1/**", "function": "webApi" } ] Следующий шаг - развертывание. В первый раз нужно выполнить полное развертывание, выполнив команду: firebase deploy При последующих развертываниях вы сможете развертывать только функции, используя параметр –only functions. После выполнения команды Firebase CLI в терминале отобразит URL-адреса HTTP эндпоинтов ваших функций, которые вы можете использовать для вызова ваших API-интерфейсов из веб-приложения. URL-адрес содержит идентификатор вашего проекта и регион для функции HTTP. Например, следующий URL-адрес можно использовать для вызова функции запроса элемента, передав его itemid = 1 в качестве параметра: https://us-central1-apiproject-8753c.cloudfunctions.net/itemQuery?itemid=1 Чтобы выполнить функцию, откройте URL-адрес с соответствующими параметрами в браузере. Обратите внимание, что для развертывания в производственной среде требуется подписка на план Firebase Blaze. Данный план снимает деньги по мере использования, о чем вы можете прочитать на странице цен на Firebase. Это услуга выставляет счет по факту использования, что означает, что вам выставляется счет за использование в конце каждого месяца. Если у вас нет подписки на Blaze, команда развертывания не отобразит URL-адрес для API. Вместо этого вы увидите сообщение, информирующее о том, что вы должны подписаться на план Blaze, если вы хотите выполнить развертывание в среде выполнения. В этом случае вы все равно можете использовать Firebase Local Emulation Suite для создания и тестирования приложений на локальном компьютере вместо их развертывания в производственной среде Firebase. Локальное тестирование полезно, чтобы избежать ненужных затрат во время разработки приложения, поскольку каждый запуск теста может приводить к расходам на вашем счете. Локальное тестирование и прототипирование Инструмент Local Emulator Suite предлагает интегрированный пользовательский интерфейс, который делает упрощает создание прототипов и тестирование ваших приложений на локальном компьютере. С помощью пользовательского интерфейса Emulator Suite вы можете тестировать проекты своей базы данных, рабочие процессы облачных функций, анализировать производительность серверных служб и оценивать изменения в правилах безопасности и пр. По сути, это безопасная песочница для проверки функциональности вашего API перед отправкой в производственную среду. Чтобы эмулировать свои функции или протестировать приложение локально, запустите эмуляторы firebase: start. Чтобы использовать эмулятор Firestore, на компьютере должна быть установлена Java. При вызове Firestore Emulator, команда вернет URL-адрес, который позволит вам открыть пользовательский интерфейс Emulator Suite в вашем браузере. По умолчанию этот URL-адрес будет localhost: 4000, но он может отличаться на каждой машине. Вы также получите полный URL-адрес своей функции HTTP. Этот URL будет выглядеть примерно так: http://localhost:5001/apiproject-8753c/us-central1/itemQuery Только он будет иметь имя вашего проекта, имя вашей функции, а также может иметь другой номер порта на вашем локальном компьютере. Чтобы протестировать функцию, скопируйте URL-адрес, возвращаемый эмулятором, добавив все необходимые параметры (например, ?itemid = 1), и откройте в новой вкладке браузера. Результаты выполнения API появятся в пользовательском интерфейсе Emulator Suite. На вкладке «Logs» вы увидите новые логи, указывающие, что функция itemQuery() была выполнена. Если ваша функция генерирует новые данные в базе данных Firestore, вы увидите их на вкладке Firestore. Расширение возможностей вашего API Если вы хотите, чтобы разрабатываемые вами API стали популярными, Firebase может помочь и с этим. Не только потому, что это позволяет вам быстрее создавать приложение, снимая много работы по настройке и запуску серверных сервисов, но также помогая вам в позиционировании вашего продукта. Как такое возможно? Просто потому, что приложения, связанные с Firebase, занимают более высокие позиции в поисковом рейтинге, чем другие приложения. Также примите во внимание API индексирования приложений Firebase. Этот инструмент улучшает поисковый рейтинг ссылок приложений и помогает пользователям находить желаемый контент. Он также помещает кнопку "Установить" после кнопки на главной странице вашего приложения, чтобы заинтересованные пользователи всего за один клик могли пользоваться вашим приложением. В заключение отметим, что Firebase не только предлагает услуги бэкэнда, которые значительно ускоряют разработку собственного API, но и помогает продвигать его и зарабатывать на этом деньги.
img
При первичной настройке Asterisk или дальнейшей отладке очень часто может возникнуть потребность в совершении звонка без использования физического телефона или софтфона. К примеру, изменились настройки фаерволла, транка или экстеншена и необходимо при каждом изменении совершать тестовые исходящие звонки. Подобную функцию выполняет команда «Dial», но в данном случае необходимо создать так называемый «call» файл, просто текстовый файл, который содержит следующие строки: Channel: SIP/flowroute/84951112233 MaxRetries: 1 RetryTime: 60 WaitTime: 30 Context: test_forcall Extension: 1 Priority: 1 Set: variablename=variablevalue CallerID: Test <84954445566> Первая строчка определяет канал, который будет использоваться для совершения вызова и экстеншен, в данном случае – любой номер телефона, в данном примере 84951112233. Следующая строка – параметр, определяющий сколько раз Asterisk произведет попыток вызова на данный номер. Далее – временной интервал между вызовами и начальное время ожидания перед первым звонком. Параметр «Context» отвечает соответственно за контекст, через который пойдет вызов, экстеншен и приоритет. Кроме того, можно настроить CallerID (номер вызывающего абонента), в данном случае - Test <84954445566>. Для того, что бы Астериск прочел и использовал .call файл, его необходимо поместить в директорию /var/spool/asterisk/outgoing/ - важно, что он должен быть именно перемещён в неё с помощью команды «mv», а не создан в самой директории. Кроме того, необходимо, что бы Астериск имел достаточно прав для того, чтобы удалить этот файл после использования. Суммируя вышесказанное, необходимо: Создать .call файл с необходимым наполнением Настроить необходимые разрешения с помощью команды chmod chmod 777 callfile.call 3. Переместить файл в директорию для его исполнения командой mv mv callfile.call /var/spool/asterisk/outgoing/ Так как файл совершает вызов с использованием контекста, экстеншена и приоритета, ниже приведён пример контекста, который использовался для данного примера: [test_forcall] exten => 1,1,Answer() exten => 1,n,Record(/home/test/asterisk_sounds/rec/incoming_call.gsm,5,30) exten => 1,n,Playback(vm-goodbye) exten => 1,n,Hangup() В описании данного контекста нет никакой специфики, кроме того что необходимо зарегистрировать экстеншен с номером 1, так как через него идет вызов (.call файл в начале статьи). Если изменить дату создания .call файла, то Asterisk совершит вызов в указанный момент. Для этого используется команда touch, как указано ниже. touch -t YYYYMMDDHHMM.SS filename // формат использования команды touch -t echo date('YmdHi'); .00 callfile.call // изменение даты файла так, что Asterisk совершит вызов echo date('d'); function getMonthRus($num_month = false){ if(!$num_month){ $num_month = date('n'); } $monthes = array( 1 => 'января', 2 => 'февраля', 3 => 'марта', 4 => 'апреля', 5 => 'мая', 6 => 'июня', 7 => 'июля', 8 => 'августа',9 => 'сентября', 10 => 'октября', 11 => 'ноября', 12 => 'декабря' ); $name_month = $monthes[$num_month]; return $name_month; } echo getMonthRus(); echo date('Y'); года в echo date('H:i'); .Это если Вы решите позвонить прямо сейчас :) Если необходимо проверить список файлов, которые ожидают исполнения, необходимо ввести следующую команду: ls --full-time /var/spool/asterisk/outgoing/ Таким образом, можно генерировать файлы для совершения автодозвона в целях тестирования, в любое необходимое время – к примеру, можно проверять работоспособность АТС в критичные моменты.
img
Введение Добрый день, коллеги! Недавно я получил свой первый сертификат и теперь я сертифицированный специалист Cisco. Но это было маленькое лирическое отступление. Сегодня хочу рассказать о том, как сделать бэкап конфигурации сетевого оборудования. Правда, на оборудовании компании Cisco уже есть встроенная возможность архивации конфигурации. Но в этом случае придется вручную настраивать все оборудование. Если у вас сотни коммутатаров, то думаю даже копи-паст нельзя считать выходом. В сети есть много платного ПО с очень удобным интерфейсом и под каждую ОС. Но цены на них бешеные, поэтому решили найти опенсорсный аналог. После недолгих поисков нашёл пару программ из которых выбрали rConfig. Тут решил собрать более-менее подробное руководство по установке и настройке данного ПО. Коротко об rConfig Как уже и было сказано, программа совершенно бесплатна, работает на CentOS 7, не очень требователен к ресурсам. Правда, на сайте разработчика не нашел информацию о минимальной конфигурации сервера, но вот то, что раскопал в сети: Выделенный сервер (физический или виртуальный) ; 100 GB свободного места на диске; 1 GB оперативки (рекомендую 4 GB); Процессор Intel x86_64. Но минимальные требования к софту разработчик разместил: Centos 7+ PHP 7+ MySQL 5.6+ Apache 2.4+ Browser IE7+, Firefox3.5+, Chrome11+, Safari3+, Opera 9.4+ Установка Для начала нужно поднять Linux-сервер. Разработчик рекомендует CentOS с минимальной конфигурацией. Дальше подключаемся к серверу по SSH (можно использовать всем знакомый PuTTY), качаем софт с сайта разработчика, файл установки делаем исполняемым и запускаем его: cd /home curl -O http://files.rconfig.com/downloads/scripts/install_rConfig.sh chmod +x install_rConfig.sh ./install_rConfig.sh Установка длится около 20-30 минут, нужно ответить на пару вопросов типа настройки NTP, root пароля для MySQL и т.п. Проследить ход установки можно открыв вторую сессию и введя команду tail -f /home/install.log После установки требуется перезагрузить сервер. После перезагрузки нужно ввести команду: /home/centos7_postReboot.sh Настройка rConfig После завершения установки (система оповестит об этом) можно переходить непосредственно к самой настройке rConfig. Для начала создаём пользователя базы данных, базу данных и привязываем пользователя к БД: mysql -u root –p Enter new password: mysql> GRANT ALL ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password'; mysql> FLUSH PRIVILEGES; mysql> CREATE DATABASE rconfig_db; После этого в браузере открываем веб интерфейс: https://yourhostname/install Здесь проверяется соответствие необходимого программного обеспечения требованиям rConfig. Далее принимаем лицензионное соглашение, которое, как правило, никто не читает, и переходим к настройке базы данных: Кнопкой Check Settings проверяется правильность имени БД, логина и пароля. Затем нажимаем Install Settings. После этого в фоновом режиме запускается скрипт, которые заполняет БД необходимыми данными. У меня в первый раз вышла ошибка, мол данная БД уже есть, но думаю это связано с тем, что я не дождался выполнения команды и несколько раз кликнул по кнопке. Если у вас будет также, просто нажимаем Last затем опять Next, вводим нужные данные, нажимаем на Install Settings и набираемся чуток терпения :) Далее переходим к финальной проверке: Прежде чем перейти к странице входа в систему, удаляем каталог установки: rm -fr /home/rconfig/www/install/ Добавление устройства Для добавления устройства заходим на веб интерфейс системы введя доменное имя или IP адрес сервера, вводим логин и пароль, по умолчанию admin/admin. Затем переходим на вкладку Devices и нажимаем на кнопку Add device: Вводим название устройства, выбираем категорию (можно добавлять и удалять категории в одноименной вкладке), прописываем IP адрес, можно добавить расположение оборудования, вводим имя и пароль для входа на устройство. Тут сделаю небольшое отступление. Как правило, в крупных организациях пользуются TACACS+ или RADIUS серверами для авторизации на устройствах, которые используют Active Directory. В соотвествие со внутренней политикой пароль пользователя меняется каждый месяц, значит нам придется каждый месяц заходить и менять пароль для входа на устройство. В настройках rConfig есть интеграция с LDAP, но сам пока не настраивал его, и не знаю будет ли работать так, как нужно. Когда настрою и все заработает, постараюсь написать руководство. А пока для тестов ввёл свой username и текущий пароль. Кроме этого, можно настроить имя пользователя и пароль по умолчанию. Делается это на вкладке Settings: А при добавлении устройства просто можно поставить галочку перед Default username/password. В Enable Prompt и Main Prompt я просто ввел hostname устройства и поставил соответствующие символы (, #). Далее выбираем вендора (по умолчанию только Cisco, но можно отредактировать этот список на вкладке Vendors) и вписываем модель. Из выпадающего списка Template выбираем подключение по SSH: Cisco IOS - SSH - Enable - ios-ssh-enable.yml. Нажимаем Save и вуаля, если все прописано правильно, то при клике на названии устройства переходим на новую страницу и там статус устройства должен быть Online: Дополнительные настройки По умолчанию система выполняет на оборудовании три команды: show ip access-list, show cdp neighbors и show startup-config. Данное действие можно сократить до одной команды, для этого на вкладке Devices переходим в раздел Commands, выбираем команду и делаем Remove Command: Просмотреть сохранённую конфигурацию можно на странице Device Management, куда можно перейти кликнув на устройство на вкладке Devices: 01 до удаления лишних, по моему мнению, команд, а 02 уже после. Можно настроить автоматическое выполнение бэкапа, для чего, собственно, и было затеяно все это дело. Для настройки задания переходим на вкладку Scheduled Task, нажимаем на Add Scheduled Task заполняем соответствующие поля: Выбираем Download Configuration, задаём название и описание задания. Можно настроить отправку e-mail при выполнении или при ошибке выполнения или выбрать сразу оба. Далее можно выбрать конкретное устройство, а можно выбрать всю категорию. Задаём частоту выполнения, в данном случае я выбрал раз в день. Система автоматом прописывает время выполнения в 00:00, что можно изменить. Нажимаем Save и радуемся :) На этом пока все, думаю материал будет полезен как начинающим сетевым администраторам, так и имеющим достаточный опыт работы с сетью профессионалам. Удачи!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59