Сегодня 26 апреля 2022 года 13 часов 42 минуты, +16
Всем доброго дня!
Продолжаем рассматривать вопросы на собеседованиях.
Предыдущие темы:
Ведущий программист 1С: вопросы на собеседовании и ответы на них (УФ)
Ведущий программист 1С: вопросы на собеседовании и ответы на них (СКД, запросы)
Ведущий программист 1С: вопросы на собеседовании и ответы на них (транзакции, блокировки)
Ведущий программист 1С: вопросы на собеседовании и ответы на них (индексы)
XML
Что такое xml?
eXtensible Markup Language
А своим языком?
расширяемый язык разметки
Как закрывать теги?
Вот тут хотелось бы остановится подробнее. После этого вопроса я испытал некий шок. Из всего спектра вопросов про xml великую государственную конторку мучает только один вопрос?
Возможно эксперты испытывали какие-то затруднения с закрытием тегов и это для них является архиважным вопросом при собеседовании с кандидатом.
Лично я не испытывал никогда затруднения с закрытием тегов.
Ну да ладно, мы начали подробно обсуждать как же выглядит закрытие тега.
Знак "меньше", "правая косая черта", "знак больше".
Отдельно обсудили можно и нужно ли указывать имя.
Если мы указываем имя, то где его нужно ставить: до черточки или после?
<req>
<query>Виктор Иван</query>
<count>7</count>
</req>
Я человек аккуратный и люблю читаемость и красоту кода, поэтому даже закрытие тега именное.
У нас был разработчик, довольно безалаберный, который не утруждал себя закрывать теги с именем. Все работало при интеграции с SAP. Главное, чтобы количество открытых тегов соответствовало количеству закрытых.
14 мая 2022 года 15 часов 9 минут, +15
JSON
У меня на собеседованиях до этой темы не доходит. Видно достаточно ответа, что я с http не работал, поэтому априори не могу этого знать. Открою большой секрет: я ни с чем не работал до того как стал программистом.
На последнем месте работы я работал с 1С Розницей. До этого я в глаза ее не видел. Странно да?
Ну, да ладно.
Что такое JSON?
JavaScript Object Notation
А своими словами?
текстовый формат обмена данными, основанный на JavaScript.
Чем отличаются XML и JSON?
В принципе, вот толковая статья на эту тему:
JSON vs XML. Сравнение технологий и области применения
Дам выжимку из этой статьи.
Для начала, JSON - это просто формат данных, тогда как XML - это язык разметки.
В любом случае, если проекту требуется разметка документа и информация о метаданных, лучше использовать XML, а для более организованного обмена данными JSON может быть вашим предпочтительным выбором.
Формат JSON более читаемый
XML:
- XML - это язык разметки, а не язык программирования, в котором существуют теги для определения элементов.
- Данные XML хранятся в виде древовидной структуры.
- Может выполнять обработку и форматирование документов и объектов.
- Долгий и медленный анализ, ведущий к медленной передаче данных
- Поддерживает пространства имен, комментарии и метаданные
- Размер документа большой, а с большими файлами структура тегов делает его огромным и сложным для чтения.
- Не поддерживает массив напрямую. Чтобы иметь возможность использовать массив, нужно добавить теги для каждого элемента.
- Поддерживает множество сложных типов данных, включая диаграммы, изображения и другие типы данных.
- XML поддерживает кодировки UTF-8 и UTF-16.
- XML-структуры подвержены некоторым атакам, так как расширение внешнего объекта и проверка DTD включены по умолчанию. Когда они отключены, парсить XML безопасней.
JSON:
- JSON - это текстовый формат, написанный на JavaScript.
- Данные хранятся в виде карты с парами ключ-значение.
- JSON не делает никакой обработки или вычисления
- Очень быстрый, поскольку размер файла значительно меньше, более быстрый синтаксический анализ с помощью механизма JavaScript и, следовательно, более быстрая передача данных
- Нет поддержки пространства имен, добавления комментариев или написания метаданных
- Компактный и легкий для чтения, без лишних или пустых тегов, что делает файл простым.
- JSON поддерживает: строки, числа, массивы и объекты.
- JSON поддерживает кодировки UTF и ASCII.
- Синтаксический анализ JSON безопасен почти все время, за исключением использования JSONP, что может привести к атаке подделки межсайтовых запросов (CSRF).
- Поскольку данные в JSON обрабатываются последовательно, использование его с AJAX обеспечивает более быструю обработку данных. Данные можно легко манипулировать с помощью метода eval().
#ведущий программист 1с #xml #json #xml vs json #json vs xml