• Как я генерил XML-статформу для таможни и про объединение ФТС с налоговой

      Все началось, когда пришло оно. Загадочное письмо с Владимирской(?!) таможни. Внутри обнаружилось требование предоставить статистические данные по торговле с Беларусью и Казахстаном аж за весь прошлый год. И ссылка на указ государев, как и полагается.
      «Ибо теперича ежели со странами таможенного союза торг ведешь — изволь ответ держать. Кому, куда, чего позапродал. Все без утайки пиши и особливо номер ГТД не забудь. Око государево — не глаз дремотный. Системы электронные псами железными за вами, нерадивыми, ныне следить поставлены, потому не хитри. Срок положенный помни.»



      Забегали бухгалтера, засуетились манагеры. Об указе век они не слыхали, не было им такой печали. Оказалось надо было еще год назад зарегистрироваться на сайте ФТС и ежемесячно передавать данные о всех торговых операциях со странами ЕАЭС (иначе административный штраф до 50 тысяч рублей за каждую форму. См. N 510-ФЗ от 28.12.2016).
      Читать дальше →
    • Парсинг 0.5Tb xml за несколько часов. Поиск организаций в открытых данных реестра субъектов МСП ФНС

      По роду деятельности (автоматизация процессов и разработка архитектуры информационных систем) часто приходится сталкиваться с необходимостью написать скрипт и получить результат «здесь и сейчас» для неожиданно «прилетевшей» задачи в ситуации, когда нет возможности оперативно привлечь внешних разработчиков.

      Решению одной из таких задач будет посвящен обзор. В какой-то момент появилась необходимость проанализировать на основе открытых данных “Единого реестра субъектов малого и среднего предпринимательства” Федеральной налоговой службы (далее Реестр МСП) динамику по месяцам количества организаций определенного вида деятельности, а именно, сельхозпредприятий. Подходы, которые использовались при ее решении, надеюсь будут полезны тем, кто ищет варианты обработки больших структурированных массивов данных XML, но распространенные средства обработки такие как SelectFromXML, он-лайн XML обработчики по каким-то причинам не подходят. Либо ограничен функционал, либо возникают проблемы при работе с кириллической кодировкой, либо не обеспечивается необходимая производительность, либо ограничены ресурсы «железа». Программисты и профессионалы надеюсь не буду слишком строги к стилю кодирования и выбору способов реализации, а критика и советы в комментариях приветствуются.

      Итак задача:
      Читать дальше →
    • Информационная архитектура и технология DITA. По мотивам лекции в Яндексе

        Darwin Information Typing Architecture (DITA) — XML-технология для автоматизации процессов, связанных с технической документацией. За время существования DITA накопилось большое количество разнообразных возможностей, подходов к организации контента, а также конкретных механизмов их реализации. Запутаться в них немудрено, и это часто приводит к появлению непонятных, неэффективных и просто неудобных решений по автоматизации документирования. Директор по проектам компании «Философт» Михаил Острогорский раскладывает всё по полочкам.


        Предисловие


        Предлагаемая статья написана по мотивам небольшого доклада, сделанного автором на одном из «Гипербатонов», которые время от времени бывают в Яндексе. Не то что бы я был слишком недоволен собой как оратором, но в этом случае публиковать дословную расшифровку устной речи — не лучшая идея, на мой взгляд.
        Читать дальше →
      • SQL Server 2017 JSON



          Когда много лет подряд Microsoft лихорадит из одной крайности в другую, то понемногу начинаешь привыкать к этому и все новое ждешь с неким скепсисом. Со временем это чувство становится только сильнее и подсознательно ничего хорошего уже не ожидаешь.

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

          Такое пафосное вступление имеет определенные на то основания, поскольку долгое время на Microsoft Connect поддержка работы с JSON на SQL Server была одной из самых востребованных фич. Шли годы и неожиданно данный функционал реализовали вместе с релизом SQL Server 2016. Забегая вперед скажу, что вышло очень даже хорошо, но Microsoft не остановилась на этом и в SQL Server 2017 существенно улучшили производительность и без того быстрого JSON парсера.
          Подробнее
        • Злой XML с двумя кодировками

            WAFы видят вместо документа белый шум!
            00000000 3C3F 786D 6C20 7665 7273 696F 6E3D 2231 <?xml version="1
            00000010 2E30 2220 656E 636F 6469 6E67 3D22 5554 .0" encoding="UT
            00000020 462D 3136 4245 2200 3F00 3E00 3C00 6100 F-16BE".?.>.<.a.
            00000030 3E00 3100 3300 3300 3700 3C00 2F00 6100 >.1.3.3.7.<./.a.
            00000040 3E >
            В статье — небольшой рассказ про кодировки в XML и про обход WAFов с их помощью.
            Читать дальше →
            • +18
            • 9,2k
            • 5
          • Java XML API: выбираем правильно. StAX: работаем с удовольствием

            • Tutorial
            Здравствуйте!
            Несмотря на снижение популярности формата XML с начала 2000х, он прочно занял свои ниши. Я сталкивался с обработкой XML ~ в 60% проектов и посвятил ей занятие своей стажировки Masterjava. Наиболее частые его применения: XHTML, SOAP, различные конфигурации (например Tomcat, SoapUI, IntelliJ IDEA, Spring XML конфигурация), импорт-экспорт данных.

            В Java есть несколько API для работы с XML и для разработчика важно понимать, какое из API требуется выбрать в каждой конкретной ситуации. В этой статье я кратко перечислю все Java XML API, их назначение и примеры использования, и подробнее остановлюсь на работе с достаточно редкой, но в ряде случаев единственно верной технологией StAX. Предполагается что с элементами XML вы уже знакомы.
            Читать дальше →
            • +9
            • 11,9k
            • 6
          • Ой, у вас баннер убежал!

            Ну. И что?
            Реклама
          • Семантическая разметка: LaTeX, DocBook или ???

              Писал комментарий к статье и понял, что надо выносить в отдельный пост.
              Как многие отмечают там в комментариях статья отстой, человек не разбирается и смешал всё в кучу, попробую поделиться своими выводами от использования разных разметок.
              Читать дальше →
            • Декларативное программирование в web-е

                image


                Что же такое декларативное программирование? Википедия подскажет нам:


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

                Далее в статье пойдет речь о том, как использовать данную парадигму в современном web-программировании. В частности, я хотел бы затронуть вопрос о валидации/верификации входных данных для веб сервисов. Примеры будут на php, так как это язык мне наиболее близок в профессиональном плане.

                Читать дальше →
              • Тестирование БД мобильного Delphi-приложения

                  В предыдущем материале «Выбор СУБД для мобильного Delphi-приложения», как следует из его названия, был показан первый этап в разработке той подсистемы приложения, что отвечает за хранение и бо́льшую часть обработки его данных; уточнение про «бо́льшую часть» сделано неспроста, т. к. в итоге обозначенный выбор пал на СУБД Interbase именно из-за возможности применять хранимые процедуры (ХП), которые и стали сосредоточением основной логики по работе с данными, оставляя за Делфи-кодом несложную задачу по их вызову.

                  Для лучшего понимания необходимости тестирования в данном конкретном случае, нужно отметить, что в описанном проекте изначально была задана довольно высокая планка качества, поддержание которой в части функционала, реализованного в процедурах, достиглось, в том числе, за счёт автотестов, проверяющих ключевые ХП (они ответственны за критический для приложения функционал – систему рекомендаций). Именно один из способов организации такого тестирования – на основе DUnitX и XML – и является предметом статьи.
                  Читать дальше →
                  • +16
                  • 6,9k
                  • 1
                • Возможности CodeRush for Roslyn для XAML

                    Редактировать XAML-разметку в Visual Studio достаточно удобно благодаря таким фичам как IntelliSense, автозакрытие тэгов, сворачивание тэгов. Но при реальной работе с этими фичами приходит понимание, что XAML в чистой студии достаточно обособлен: например, плохо отслеживаются связи между кодом и разметкой. Это не позволяет чистой студии делать многие полезные вещи, которые умеет делать студия c CodeRush for Roslyn. Под катом подробности...



                    Читать дальше →
                  Самое читаемое