Метка «XML»

Данная статья посвящена одному из объектов Web API Interfaces, а именно — DOMParser.
Поиск на Хабре выдаёт 7 статей, где он упоминается лишь вскользь. Мне кажется, это требует исправления.
Читать полностью »

Некоторе время назад я задумался о том, чтобы выложить часть своих библиотек в общий доступ. И вот наконец дошли руки все подравнять и выложить на GitHub:

  • RObject — интроспеция с помощью describeTypeJSON
  • JsonMapper — типизированный JSON парсер
  • As3Query — DSL и ORM для Sqlite
  • FlexXB Mobile — оптимизированный xml-парсер FlexXB
  • air-hid-usb — расширение для работы с HID устройствами

Читать полностью »

Доброго времени суток хабр-сообщество.
С момента моего последнего поста про умный дом прошло много времени. Я решил его делать начиная с погодной станции.

Погодная станция на Ethernet (HTTP+Modbus) с питанием по POE
Рисунок 1 — Фотография макетного образца

Несмотря на обилие статей про погодные станции на arduino (http://habrahabr.ru/post/165747/, habrahabr.ru/post/171525/, habrahabr.ru/post/213405/ ) Я все-таки решил опубликовать своё решение.

Функционал

Функции которые она выполняет:

  • Измерение температуры
  • Измерение влажности
  • Измерение давления
  • Измерение освещенности
  • Индикация измеренных параметров
  • Выдача измеренных параметров по интерфейсу HTTP в виде XML документа
  • Выдача по протоколу HTTP XSLT процессора для стилизации XML при отображении браузером
  • Выдача информации по Modbus (его предполагаю использовать в качестве протокола управления умным домом)
  • Питание через Passive POE

Читать полностью »

«Звонок в один клик» или Push2Dial (P2D) — ещё одна функция, которая была анонсирована с новым 2ГИС. Суть проста — выбираете организацию, кликаете на номер телефона — и он готов к набору на вашем смартфоне.

Фича избавляет от необходимости самостоятельно набирать номер телефона, а значит шансы ошибиться и попасть не туда стремятся к нулю.

Делаем звонок в один клик
Читать полностью »

Работа с форматом JSON на языке PERL.

Формат JSON

JSON(JavaScript Object Notation) – текстовый формат данных. Является альтернативой формата XML. На примере рассмотрим отличия форматов JSON и XML. Допустим, разработчику необходимо хранить информацию о студентах в приложении «Journal students». В листинге, представленном ниже, приведена реализация хранения данных с использованием формата XML.

Читать полностью »

Добрый день, читатели.
Это моя первая статья, поэтому не судите строго. Несколько лет я занимаюсь разработкой интернет магазинов на базе Magento. За это время у меня накопилось много информации относительно работы данной платформы, которую невозможно вечно держать в голове, поэтому я решил структурировать ее в виде серии статей.
Кому интересно, добро пожаловать под кат.
Читать полностью »

В относительно недавнем прошлом, возникла задача автоматизировать процесс генерации и рассылки HTML отчетов руководству по продажам за текущий месяц. Так уж вышло, что для каждого руководящего лица создавались отдельные таблицы с необходимой только им информацией.

Поскольку, для каждого отчета, все делалось вручную, для начала мы решили воспользоваться возможностями dbForge, который позволял делать экспорт группы таблиц в HTML формат.

Однако, рассылку по-прежнему приходилось формировать вручную, что, мягко говоря, было нерациональным.

Было решено генерировать HTML со стороны сервера базы данных и через Database Mail формировать рассылку путем выполнения команды sp_send_dbmail.

Большинство примеров создавали разметку вручную — это было не слишком эффективным подходом. При этом я не нашел универсального решения, позволяющего работать с таблицой имеющей произвольную структуру.

Чтобы заполнить этот пробел предлагаю на рассмотрение мой вариант решения.
Читать полностью »

BaseX. Неизвестная NoSQL Вселенная
Далеко-далеко, где-то на краю Галактики, я обнаружил весьма впечатляющее NoSQL решение…

Любовь, апатия, ненависть, восхищение, гордость, гнев, радость — именно такие эмоции были у меня целый год. Чем больше я изучал этот продукт, тем сильнее были чувства.

Маркетинговая затравка от авторов звучит примерно так:

BaseX является очень легковесной, высокопроизводительной и масштабируемой XML базой данных с XPath/XQuery 3.0 процессором, который имеет полную поддержку W3C Update и Full Text спецификаций. Интерактивный и дружественный графический интерфейс позволяет легко изучать ваши XML документы

Звучит весьма вкусно, но реальность, как всегда, больно-больно ударяет по самым незащищенным местам
Читать полностью »

На практике, задачи по объединении строк в одну попадаются достаточно часто. Весьма печально, но стандарт T-SQL не предусматривает возможности использовании строковых данных внутри агрегирующей функции SUM:

Msg 8117, Level 16, State 1, Line 1
Operand data type char is invalid for sum operator.

Хотя для решения подобного рода задач, для MySQL была добавлена функция GROUP_CONCAT, а в Oracle LISTAGG. В свою же очередь, SQL Server такого встроенного функционала пока не имеет.

Однако, не стоит рассматривать это как недостаток, поскольку возможности T-SQL позволяют выполнять конкатенации строк более гибко и эффективно за счет применения других конструкций, которые будут рассмотрены далее.
Читать полностью »

Запасаем впрок

Иногда в процессе работы бывают нужны данные из веб-сервисов, тем более SOAP соединения сегодня практически стандарт.

ETL-процесс (Extract — Transform — Load) это термин из Business Intelligence и описывает процесс сбора и трансформации данных для создания аналитической базы данных (например хранилища данных).

SOAP протокол обмена данных и веб-сервисы описываемые WSDL — распространенные окна в мир практически всех ERP систем, многих онлайн порталов и финансовых организаций.

Попробую описать пошагово ETL процесс с помощью одного из мощнейших инструментов в классе — MS Integration Services.

Итак, рассмотрим тестовую задачу.

Задача

Необходимо собрать данные о курсах валют по отношению к рублю на каждую дату прошлого года и загрузить их в таблицу для последующего анализа. Центробанк России предоставляет историчекие данные — в виде веб сервисов с неплохим описанием.
Похоже это и есть решение.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js