По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
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.
img
Хеширование находит широкое применение не только для аутентификации юзера в системе, но также и для проверки целостности файлов. Если у вас имеется контрольная сумма, вы можете сравнить ее с контрольной суммой имеющегося файла, убедившись таким образом в его подлинности. Способных вычислять хэш файлов программ существует более чем достаточно, но не все они стоят внимания. Что, если имеющаяся у вас программа не поддерживает тот алгоритм, с помощью которого был получен хэш файла? Бесплатная программа GtkHash имеет в этом плане преимущество, поддерживая 23 разных алгоритма хэширования и отличаясь в то же время простотой и удобством использования. Процедура установки утилиты несколько отличается от процедуры инсталляции большинства других приложений. В процессе установки мастером будет открыто окно командной строки для автоматической установки фреймворка MinGW, кроме того, вам нужно будет закрыть окно установщика нажатием кнопки "Close". Настройка утилиты По умолчанию в GtkHash включена поддержка только четырех алгоритмов - MD5, SHA1, SHA256 и CRC32. Чтобы добавить другие алгоритмы, зайдите в параметры программы и отметьте галочками нужные вам пункты. Обратите внимание на опцию HMAC, она позволяет использовать секретные ключи (как в MacOS), но включать ее необязательно, равно как и менять формат дайджеста. После сохранения настройки в окне программы у вас появится дополнительные поля. Допустим, у вас есть некий файл и его контрольная сумма. Путь к файлу укажите в поле "Файл", контрольную сумму вставьте в поле "Сравнить" и нажмите "Хэш". В результате программой будут вычислены разные типы хэшей, причем совпавшие будут отмечены зеленым значком. Кстати, если вам нужно просто получить контрольную сумму объекта, поле сравнения можно вообще не заполнять. Хотелось бы также отметить, что утилитой поддерживается хэширования не только файлов, но и текста. Причем вычисление контрольной суммы производится в режиме реального времени. А еще инструментом можно вычислять хэши целой группы файлов, перетащив их на окно программы и нажав "Хэш". Правда, просматривать результаты работы программы в этом случае не очень удобно, так как данные выводятся длинной строкой. Поэтому будет лучше экспортировать данные в файл через меню "Save Digest File". Файл дайджеста не имеет расширения, но его содержимое без проблем можно просмотреть Notepad++ или другим текстовым редактором.
img
SSH (Secure Shell) - это сетевой протокол, который обеспечивает безопасное удаленное соединение между двумя системами. Системные администраторы используют утилиты SSH для управления компьютерами, копирования или перемещения файлов между системами. Поскольку SSH передает данные по зашифрованным каналам, безопасность находится на высоком уровне. Установка клиента OpenSSH Есть много SSH-клиентов, бесплатных и платных, и OpenSSH является наиболее широко используемым клиентом. Он доступен на всех основных платформах, включая Linux, OpenBSD, Windows и macOS. Клиент OpenSSH предустановлен в большинстве дистрибутивов Linux по умолчанию, однако если в вашей системе не установлен клиент ssh, вы можете установить его с помощью диспетчера пакетов. sudo apt install openssh-client Как получить доступ к удаленному серверу Для подключения к удаленному компьютеру вам потребуется его IP-адрес или имя. Загрузите терминал или любой SSH-клиент и введите ssh, а затем IP-адрес: ssh 192.168.56.101 или имя: ssh test.server.com При первом подключении к хосту вы увидите следующее сообщение: Введите yes и нажмите Enter. Возможно, вам также потребуется ввести свой пароль. Укажите имя пользователя для SSH-подключения SSH использует текущего пользователя при доступе к удаленному серверу. Чтобы указать пользователя для SSH-соединения, выполните команду в следующем формате: ssh username@hostname_or_ip Например: ssh testuser@10.0.0.55 Примечание. Если вы столкнулись с ошибкой «Connection refused», обратитесь к нашему руководству, чтобы найти решения. Используйте другой номер порта для SSH-соединения По умолчанию сервер SSH прослушивает соединение на порту 22. Если настройка порта в файле конфигурации SSH была изменена, вам необходимо указать порт. В противном случае вы получите такую ошибку: Чтобы подключиться к удаленному хосту с настраиваемым номером порта SSH, используйте флаг -p. Например: ssh test.server.com -p 3322 Генерация ключей SSH с помощью SSH Keygen Чтобы повысить безопасность соединений SSH, сгенерируйте пару ключей с помощью утилиты keygen. Пара состоит из открытого и закрытого ключей. Открытый ключ может быть общим, а закрытый ключ должен оставаться в безопасности. Пары ключей SSH используются для автоматической аутентификации клиентов на серверах. Когда вы создаете пару ключей SSH, больше не нужно вводить пароль для доступа к серверу. На терминале хост-машины используйте эту команду для создания пары ключей: ssh-keygen -t rsa Чтобы использовать настройки по умолчанию, нажмите Enter в ответ на запрос местоположения файла и парольной фразы. Копировать открытый ключ SSH Чтобы использовать пару ключей для аутентификации SSH, вам необходимо скопировать открытый ключ на сервер. Ключ - это файл id_rsa.pub, ранее созданный с помощью утилиты генерации ключей SSH. Чтобы скопировать ключ на сервер, запустите эту команду на клиенте: ssh-copy-id hostname_or_IP Вы также можете указать имя пользователя, если не хотите использовать текущего пользователя. Введите пароль для аутентификации, когда его спросят. После этого вам больше не нужно будет использовать пароль для подключения к тому же серверу. Копирование файла удаленно через SSH с помощью SCP Вы можете безопасно копировать файлы по протоколу SSH с помощью инструмента SCP. Базовый синтаксис: scp fileName user@remotehost:/home/username/destination Например, чтобы скопировать файл sample3 на рабочий стол на удаленном сервере с проверкой имени пользователя, введите: scp sample3 test@10.0.10.5:/home/test/Desktop Выходные данные показывают сводку операции. Обязательно используйте флаг -P в верхнем регистре, если вам нужно указать порт. Редактировать файл конфигурации SSH Вы можете контролировать, как удаленные пользователи могут получить доступ к серверу через SSH. Измените настройки в файле sshd_config, чтобы настроить параметры сервера SSH. Обязательно редактируйте только те параметры, которые вам знакомы. Сервер может стать недоступным из-за неправильной конфигурации. Используйте любой редактор по вашему выбору, чтобы отредактировать файл. Для внесения изменений вам потребуются права суперпользователя. В Linux мы используем vim. В командной строке на удаленном хосте введите: sudo vim /etc/ssh/sshd_config Введите пароль sudo, и оболочка откроет файл в редакторе, который вы использовали. Перезапустить службу SSH Когда вы вносите изменения в конфигурацию SSH, вам нужно будет перезапустить службу в Linux. В зависимости от дистрибутива Linux выполните одну из следующих команд на машине, на которой вы изменили настройки: sudo ssh service restart или: sudo sshd service restart Наконец, введите пароль, чтобы завершить процесс. В результате в следующем сеансе SSH будут использоваться новые настройки. Выполнение команды на удаленном сервере с локального компьютера Этот метод не создает новую оболочку. Вместо этого он запускает команду и возвращает пользователя в локальную подсказку. Вы можете создать файл, скопировать файлы или запустить любую другую команду SSH в этом формате. Чтобы удаленно выполнить команду с локального компьютера, добавьте инструкцию к команде SSH. Например, чтобы удалить файл, введите: ssh test.server.com rm ~/Desktop/Dir1/sample4 Введите пароль, и файл на удаленном сервере будет удален без создания новой оболочки. Параметры командной строки SSH Инструмент SSH имеет множество дополнительных параметров. Ниже перечислены общие параметры SSH и соответствующие описания. -1 - указывает ssh использовать версию протокола 1 -2 - указывает ssh использовать протокол версии 2. -4 - разрешает только адреса IPv4. -6 - разрешает только адреса IPv6. -A - включает переадресацию соединения агента аутентификации. Используйте эту опцию с осторожностью. -a - Отключает переадресацию соединения агента аутентификации. -b bind_address - используйте эту опцию на локальном хосте с более чем одним адресом, чтобы установить исходный адрес соединения. -C - включает сжатие данных для всех файлов. Только для использования с медленными соединениями. -c cipher_spec - используется для выбора спецификации шифра. Перечислите значения через запятую. -E log_fileName - прикрепляет журналы отладки к log_file вместо стандартной ошибки. -f - отправляет ssh в фоновый режим даже до ввода пароля или ключевой фразы. -g - Разрешает удаленным хостам подключаться к портам, перенаправленным на локальном компьютере. -q - запускает ssh в тихом режиме. Он подавляет большинство сообщений об ошибках и предупреждениях. -V - отображает версию инструмента ssh и завершает работу. -v - печатает отладочные сообщения для ssh-соединения. Подробный режим полезен при устранении неполадок конфигурации. -X - Используйте этот параметр, чтобы включить пересылку X11. -x - Отключить пересылку X11.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59