По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Помимо обычной Windows, которая стоит почти на всех домашних компьютерах, есть версия с названием Windows Server, которая используется для серверов. О ней и поговорим. Windows Server - это целая линейка операционных систем, которые Microsoft специально создает для использования на серверах. Windows Server выпускается под этим названием с момента выпуска Windows Server 2003. Однако даже до этого были доступны серверные версии Windows, например, Windows NT 4.0 была доступна как для обычных домашних компьютеров, так и для серверов. Обычно каждый выпуск Windows Server соответствует обычной пользовательской версии Windows. Например, Windows Server 2003 - это серверная версия Windows XP, Windows Server 2016 основана на Windows 10 Anniversary Update, а Windows Server 2019, основана на версии Windows 10 версии 1809. С первого взгляда не поймешь, чем Windows Server отличается от обычных версий Windows - рабочий стол выглядит так же, есть значки и даже есть кнопка Пуск. Поскольку Windows Server и обычная версия имеют общую базу кода, многие вещи можно делать одинаково и там, и там, например, загружать и устанавливать программы, а многие основные функции включены в Windows Server. Однако в Windows Server не получится найти различные свистелки для пользователя - например Microsoft Store или браузер Edge. Скажем так - серверная версия Windows отлично подходит для корпоративных целей, когда компании нужно создать внутренний или внешний сервис, который будет решать конкретную бизнес задачу. Давайте теперь про основные различия: первое, что Windows Server включает в себя, это специальное корпоративное программное обеспечение, которое называется Enterprise Management Software С помощью него можно давать серверу различные роли, например: Роль Active Directory: это готовая роль, в которой сервер, сможет выступать как контроллер домена, и будет выполнять всю проверку подлинности учетных записей пользователей в компании. Роль DHCP и DNS Server: сервер может автоматически назначать IP-адреса всем устройствам в сети, и резолвить адреса. Быть файловым хранилищем: хранить важные файлы и устанавливать порядок доступа к ним. Службы печати: позволяет обеспечивать общий доступ к принтерам и сканнерам. Службы обновления Windows: можно направлять все обновления рабочей станции через этот сервер и настраивать определенные правила их работы. Веб сервер: позволяет поднимать на этом сервере сервисы, которые будут доступны для других пользователей через web-доступ. И это лишь малая часть возможных ролей в Windows Server. Очень часто кампании имеют больше одного сервера, и конечно же разделяют разные роли между ними. Еще одним важным отличие серверной Windows от пользовательской, это меньшее количество аппаратных ограничений. Например, Windows 10 позволяет юзерам устанавливать 2 ТБ оперативной памяти, что кажется и так очень много, но Windows Server предоставляет до 24 ТБ ОЗУ, потому что компаниям нужны большие мощности. Представь сервер, на котором крутятся десятки виртуальных машин! Конечно ему потребуется много оперативной памяти. А еще Windows Server может обрабатывать больше ядер и процессоров, так как имеет 64 сокета. Помнишь мы сказали, что Windows Server выглядит так же как обычный Windows? Да, но серверная Windows может вообще работать без графической оболочки! Windows Server можно установить двух формах - Server Core или Desktop Experience. Если вы отдадите предпочтение Windows Server Core без графического интерфейса, то будете наслаждаться управлением сервером через командную строку PowerShell, или сможете накатить инструмент с графическим интерфейсом, например RSAT (Remote Server Administration Tools) или Windows Admin Center. Не подумайте, это не мазохизм - это позволяет снизить нагрузку на сервер убрав “тяжелый” интерфейс. А еще многим администраторам, зачастую, удобнее работать с конмадной строке. Что выбрать под мой сервак, спросишь ты? Linux или Windows? Зависит от цели: Linux экономичнее и по деньгам, и по ресурсам, но если ты работаешь с инфраструктурой Microsoft, то тут нужно определенно выбирать Windows Server.
img
Всем известно, что кроме GSM-шлюзов FS (FreeSWITCH) умеет работать и с dongle. Как заставить с донгла получить СМСку, расскажем в этой статье. Предполагается, что у вас уже установлен и настроен mod_gsmopen и Lua. Если нет, то предлагаю обратиться к официальному источнику https://freeswitch.com/confluence/display/FREESWITCH/mod_gsmopen Для работы с СМСками на нужно настроить chatplan ../freeswitch/conf/chatplan/default.xml В котором нам нужно написать примерно следующее: .. <extension name="demo"> <condition field="to" expression="^gsm(.*)$" break="on-true"> <action application="lua" data="mail.lua"/> </condition> </extension> .. То есть, мы указываем имена донглов, которые нужно слушать и отправляем в Lua-скрипт, который и будет пересылать СМСку в нужное нам место - Grounwire. Пример Lua-скрипта: mail.lua -- -- Устанавливаем переменные выдергивая из заголовков сообщений local from = message:getHeader("from"); local to = message:getHeader("to"); local body = message:getBody(); local time = message:getHeader("Event-Date-Local"); local ext = "1001"; -- Указываем extension куда нужно отправлять СМСку -- Переправляем полученные СМС в софтфон freeswitch.consoleLog("info", "chat console*********************************************************************** ") -- Выводим в CLI local event = freeswitch.Event("CUSTOM", "SMS::SEND_MESSAGE"); event:addHeader("proto", "sip"); event:addHeader("dest_proto", "sip"); event:addHeader("from", "sip:".. from .."@voip.ru"); event:addHeader("from_full", "sip:".. from .."@voip.ru:5063"); -- Я думаю это понятно что означает :) event:addHeader("to", "".. ext .."@voip.ru"); event:addHeader("subject", "sip:".. to .."@voip.ru:5063"); event:addHeader("type", "text/html"); event:addHeader("hint", "the hint"); event:addHeader("replying", "true"); event:addBody('Сообщение для '.. to ..' в '.. time ..', '.. body ..''); event:fire(); Вот и всё. Теперь все сообщения, которые будут приходить на dongle будут перенаправляться в софтфон: Так же можно писать и в базу MySQL и отправлять на почту. У меня это именно так сделано. Кроме этого можно и отправлять СМСки из веб-морды, а так же, и через смартфон, но для этого нужно дописать Lua-скрипт. А ещё можно управлять, например, своим компьютером на основе текста в СМС, то есть, перезагрузить/выключить, или ещё чем-то. Так у меня отправляется СМСка из WEB – интерфейса:
img
Многим приложениям нужно обмениваться данными между клиентом и сервером. Долгое время эталонным форматом данных для обмена информацией между двумя объектами считался XML. Затем, в начале 2000-х, появился альтернативный формат JSON. В данной статье вы узнаете все о JSON. Мы рассмотрим, что это, и как им пользоваться, а также разберем ряд популярных заблуждений. Что такое JSON? JSON (JavaScript Object Notation, нотация объектов JavaScript) - это текстовый формат обмена данными. Он представлен наборами пар "ключ-значение", причем ключ - это всегда строка, а значение может задаваться одним из следующих типов: число; строка; логическое значение; массив; объект; нулевое значение null. Несколько важных правил: В формате данных JSON ключи прописываются в двойных кавычках. Ключ и значение разделяются двоеточием (:). Может быть несколько пар "ключ-значение". Каждая пара отделяется запятой (,). В данных JSON недопустимы комментарии (// или /* */). (Но при желании это ограничение можно обойти) Ниже приведен пример простых данных в JSON: { "name": "Alex C", "age": 2, "city": "Houston" } Допустимые данные в JSON возможны в 2 разных форматах: Набор пар «ключ-значение» в фигурных скобках {...}. Это показано в примере выше. Упорядоченные списки пар «ключ-значение», разделенных запятой (,) и заключенных в квадратные скобки [...]. См. пример ниже: [ { "name": "Alex C", "age": 2, "city": "Houston" }, { "name": "John G", "age": 40, "city": "Washington" }, { "name": "Bala T", "age": 22, "city": "Bangalore" } ] Предположим, вы уже писали что-то на JavaScript. Тогда у вы можете ошибочно предположить, что формат JSON и объекты JavaScript (и массивы объектов) очень похожи. Но это не так. Чуть позже мы подробно об этом поговорим. Структура JSON разработана на основе синтаксиса объектов JavaScript, и это единственное, что объединяет JSON и объекты JavaScript. Формат JSON не зависит от языка программирования. Мы можем использовать JSON в Python, Java, PHP и многих других языках. Примеры формата данных JSON Сохранять данные JSON можно в файле с расширением .json. Давайте создадим файл employee.json с атрибутами сотрудника. Они представлены в виде ключей и значений. { "name": "Aleix Melon", "id": "E00245", "role": ["Dev", "DBA"], "age": 23, "doj": "11-12-2019", "married": false, "address": { "street": "32, Laham St.", "city": "Innsbruck", "country": "Austria" }, "referred-by": "E0012" } В примере выше присутствуют следующие атрибуты сотрудника: name – имя сотрудника. Значение в строковом формате (String). Оно указано в двойных кавычках. id – уникальный идентификатор сотрудника. Опять же, в строковом формате. role – роли, которые сотрудник выполняет в организации. Таких ролей может быть несколько, поэтому лучше перечислять эти данные в формате массива (Array). age – текущий возраст сотрудника. Это числовое значение (Number). doj – дата найма сотрудника. Поскольку это дата, ее добавляют в двойных кавычках и обрабатывают как строку. married – замужем/женат ли сотрудник? Ответом может быть да/нет (то есть true или false), так что это логический формат (Boolean). address – адрес сотрудника. Может состоять из нескольких частей: улица, город, страна, индекс и т.д. Такое поле лучше представлять в виде объекта (Object с парами «ключ-значение»). referred-by – идентификатор сотрудника, который порекомендовал этого человека на должность в организацию. Если сотрудник пришел по рекомендации, то атрибут имеет значение. В остальных случаях поле остается пустым, т.е. null. Теперь давайте создадим набор данных по сотрудникам в формате JSON. Если мы хотим добавить несколько записей о разных сотрудниках, то необходимо прописать их в квадратных скобках [...]. [ { "name": "Aleix Melon", "id": "E00245", "role": ["Dev", "DBA"], "age": 23, "doj": "11-12-2019", "married": false, "address": { "street": "32, Laham St.", "city": "Innsbruck", "country": "Austria" }, "referred-by": "E0012" }, { "name": "Bob Washington", "id": "E01245", "role": ["HR"], "age": 43, "doj": "10-06-2010", "married": true, "address": { "street": "45, Abraham Lane.", "city": "Washington", "country": "USA" }, "referred-by": null } ] Обратите внимание на значение атрибута referred-by для сотрудника Боба Вашингтона (Bob Washington). Оно пустое. То есть никто из сотрудников не давал ему рекомендаций. Как использовать данные JSON в качестве значения строки Мы узнали, как форматировать данные внутри файла JSON. Еще можно использовать данные JSON в качестве строковых значений и присваивать их переменной. Поскольку JSON считается текстовым форматом, в большинстве языков программирования его можно обрабатывать как строку. Давайте рассмотрим пример, как это делается JavaScript. Вы можете добавить данные JSON в одну строку. Перечисление делается через одинарные кавычки '...'. const user = '{"name": "Alex C", "age": 2, "city": "Houston"}'; Если вы хотите сохранить форматирование, то данные JSON лучше создавать с помощью шаблонных литералов (template literals). const user = `{ "name": "Alex C", "age": 2, "city": "Houston" }`; Кроме того, это очень удобное решение, если нужно создать данные JSON с динамическими значениями. const age = 2; const user = `{ "name": "Alex C", "age": ${age}, "city": "Houston" }`; console.log(user); // Output { "name": "Alex C", "age": 2, "city": "Houston" } Объекты JavaScript и JSON – это НЕ одно и то же Формат данных JSON создавался на базе объектной структуры JavaScript. Но все сходства на этом заканчиваются. Объекты в JavaScript: у объектов JavaScript могут быть методы, а у JSON – нет; ключи можно добавлять без кавычек; разрешены комментарии; отдельные сущности Как преобразовать JSON в объект JavaScript и наоборот В JavaScript есть 2 встроенных метода по преобразованию данных JSON в объекты JavaScript и наоборот. Как преобразовать данные JSON в объект JavaScript Для преобразования данных JSON в объект JavaScript используется метод JSON.parse(). Он проводит синтаксический разбор (парсинг) допустимой строки JSON в объект JavaScript. const userJSONData = `{ "name": "Alex C", "age": 2, "city": "Houston" }`; const userObj = JSON.parse(userJSONData); console.log(userObj); Вывод: Как преобразовать объект JavaScript в данные JSON Для преобразования объекта JavaScript в данные JSON используется метод JSON.stringify(). const userObj = { name: 'Alex C', age: 2, city: 'Houston' } const userJSONData = JSON.stringify(userObj); console.log(userJSONData); Вывод: Должно быть, вы обратили внимание на слово JSON, которое используется для вызова методов parse() и stringify(). Это встроенный объект JavaScript, который, хоть и называется JSON (хотя с тем же успехом он мог бы называться JSONUtil), но не имеет никакого отношения к формату JSON. Так что, пожалуйста, помните об этом. Как обрабатывать ошибки "Unexpected token u in JSON at position 1" и другие? При обработке JSON могут возникать ошибки. Это нормально. Например, при разборе данных JSON в объект JavaScript вдруг появляется следующее сообщение: Если возникает такая ошибка, обязательно проверьте корректность ваших данных в JSON. Чаще всего причина синтаксического сбоя кроется в небольшой ошибке, которую вы случайно сделали в исходных данных JSON. Проверить правильность данных и форматов JSON можно с помощью JSON Linter.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59