Как стать автором
Обновить
2

XML *

Расширяемый язык разметки

Сначала показывать
Порог рейтинга
Уровень сложности

Семантическая разметка: LaTeX, DocBook или ???

Время на прочтение4 мин
Количество просмотров18K
Писал комментарий к статье и понял, что надо выносить в отдельный пост.
Как многие отмечают там в комментариях статья отстой, человек не разбирается и смешал всё в кучу, попробую поделиться своими выводами от использования разных разметок.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии55

Декларативное программирование в web-е

Время на прочтение13 мин
Количество просмотров25K

image


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


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

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

Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии12

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

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

Для лучшего понимания необходимости тестирования в данном конкретном случае, нужно отметить, что в описанном проекте изначально была задана довольно высокая планка качества, поддержание которой в части функционала, реализованного в процедурах, достиглось, в том числе, за счёт автотестов, проверяющих ключевые ХП (они ответственны за критический для приложения функционал – систему рекомендаций). Именно один из способов организации такого тестирования – на основе DUnitX и XML – и является предметом статьи.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии1

Возможности CodeRush for Roslyn для XAML

Время на прочтение3 мин
Количество просмотров3.6K

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



Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии11

Истории

Применение IMS QTI в электронных курсах в формате ePUB

Время на прочтение13 мин
Количество просмотров7.1K

Суть проблемы


В системах электронного обучения (СЭО), используемых в образовательных учреждениях, часто требуется помимо подключения электронного курса к СЭО, также импортировать его отдельные компоненты для формирования единых банков образовательных ресурсов. Такие банки используются в образовательном процессе, в том числе для создания междисциплинарных спецкурсов, итоговых тестирований по всему периоду обучения. Как правило, это в первую очередь тестовые задания, изображения, мультимедийные компоненты. Некоторые элементы контента, в частности тестовые задания, созданные без использования машиночитаемых форматов (CSV, JSON, XML, XLS), не поддаются эффективному автоматизированному импорту в СЭО. Особенно это касается HTML/CSS/JavaScript, применяемых в контейнере для электронных курсов и публикаций ePUB. Для решения этой задачи автором предлагается использовать описания тестов и отдельных тестовых вопросов в составе курса в машиночитаемом формате XML в соответствии со спецификацией IMS Question and Test Interoperability v.2.2 (IMS QTI).


Пару слов о ePUB v.3


ePUB версии 3, разработан ассоциацией IDPF и является стандартом для обмена и дистрибуции электронных публикаций. ePUB получил широкое распространение среди издателей электронных учебников и курсов. Формат поддерживается на большинстве мобильных платформ, и лег в основу ряда других подобных форматов, например, ibooks компании Apple.


Рисунок 1. Структура EPUB-контейнера
image

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии8

Автоматизация печати в корпоративных системах или как подружить свой «велосипед» с принтером

Время на прочтение6 мин
Количество просмотров9.6K
Привет, хабражитель! Хочу поделиться с тобой наболевшим опытом, надеюсь, будет полезен. Сегодня расскажу о том, как разрабатывали систему печати документов в корпоративной системе.

С чего все начиналось


А началось все с разработки ERP-платформы в одной торговой компании примерно 2 года назад. Был выбран Linux, стек С++/Qt, PostgreSql и фронт под web. На C++/Qt был реализован сервер приложений и там же, через прослойку JS интерпретатора писалась бизнес логика. Почему так — это отдельная история, здесь рассмотрим, как разрабатывалась система печати.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии15

Интеграция XML данных — другой путь

Время на прочтение18 мин
Количество просмотров33K
В данной статье описывается «нетрадиционная», но достаточно мощная технология обработки XML, позволяющая импортировать любые XML-данные и преобразовывать их структуру эффективно и просто, при этом один и тот же процесс обработки позволяет трансформировать исходные данные любой структуры без какого-либо изменения программного кода.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии6

Чтение конфигурационных файлов без проблем

Время на прочтение5 мин
Количество просмотров17K
В данной статье мне бы хотелось рассмотреть проблему загрузки настроек из конфигурационных файлов. Как правило, разработчики используют тяжеловесное и сложное API из пространства имен System.Configuration и считывают настройки шаг за шагом. В случае если в конфигурационном файле секция, которую надо считать, представляет из себя простую структуру (без вложенностей), то, в принципе, считывание не вызывает особых проблем. Однако, как только конфигурация усложняется и/или появляются вложенные подсекции, то распарсивание превращается в настоящую головную боль. Для простого и быстрого считывания настроек и загрузку их в память отлично подойдет библиотека ConfigurationParser, которая возьмет на себя все сложности работы с конфигурационными файлами.
Читать дальше →
Всего голосов 24: ↑18 и ↓6+12
Комментарии44

VectorDrawable — часть третья

Время на прочтение4 мин
Количество просмотров5.7K
Ранее в этой серии статей мы рассмотрели реализацию VectorDrawable, изпользуя данные под тегом path в SVG. А после применили несколько простых анимаций к отдельным элементам path.

Romain Guy написал приложение, которое рисует маршруты. Он использовал SVG path, чтобы определить маршрут, а затем по этому маршруту «рисовал» линию путем регулирования параметра dash.

Так как VectorDrawable поддерживает данные SVG из тега path, можем ли мы использовать ту же технику? Конечно можем. Но, на сам деле, нам это не нужно. Мы можем достичь того же эффекта, манипулируя некоторыми атрибутами элемента в нашем VectorDrawable.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии2

Как я разбирал docx с помощью XSLT

Время на прочтение16 мин
Количество просмотров62K

Задача обработки документов в формате docx, а также таблиц xlsx и презентаций pptx является весьма нетривиальной. В этой статье расскажу как научиться парсить, создавать и обрабатывать такие документы используя только XSLT и ZIP архиватор.

Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии15

Simple XML Framework — пишем API для работы с диаграммами DIA

Время на прочтение8 мин
Количество просмотров6.9K
Simple Xml Framework Dia Diagram Editor   Dia Diagram Editor

Фреймфорк Simple XML — известен многим, при своей простоте, он способен потягаться возможностями с большим «интерпрайзным» JAXB, и при этом совместим с Андроид.

Статей по его использованию не «навалом», но хватает. Фреймфорк упоминался на Хабре, есть статья на ibm developerworks, в конце концов, на официальном сайте есть хорошие примеры и руководство.

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

В данной статье будет рассказано о том, как научить Simple Framework работать в такой ситуации. Мы создадим собственную «стратегию» для Simple Framework; мы отнаследуемся от класса TreeStrategy и опишем «хитрую логику» того, как надо сопоставлять элементы xml-файла DIA к Java классам.

И да, я предполагаю, что читатель знаком с основами использования Simple XML Framework.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии0

Экспорт табличных данных из приложений написанных под .NET на языке C#

Время на прочтение5 мин
Количество просмотров6.8K

Предыстория


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

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

Как осуществить экспорт данных?


image

Как видно из скриншота, в элементе меню «Файл» уже все заготовлено для Экспорта и Импорта нашей телефонной книги, осталось написать сам код.

При написании данной программы, у меня еще не было практического опыта работы с XML-файлами на языке С# под платформой .NET. Поэтому я стал искать материал на просторах интернета. Но все мои результаты поисков были не утешительные. Все найденные результаты давали очень грубый и «макаронный» код, который можно адаптировать под свои нужды. Однако, это все же не практично. Такой код не возможно легко использовать в разных проектах.

После чего я решил углубиться в саму особенность работы с XML-файлами на языке C#.
Читать дальше →
Всего голосов 43: ↑8 и ↓35-27
Комментарии21

Рецепты. Как установить ПО на серверы используя VMmanager и DCImanager

Время на прочтение6 мин
Количество просмотров5.6K


Согласитесь, приятно получить сервер уже готовый к выполнению задач. Установленный ISPmanager позволит сразу приступить к размещению сайта. Teamspeak – организовать тренировку по WoT без траты времени на инсталляцию.
Провайдеры за счет этого повышают доход. Сегодня они предлагают не просто машины с чистой ОС, а бухгалтерские, торговые, игровые серверы. «Предпродажная подготовка» повышает лояльность клиентов и уменьшает нагрузку на техподдержку.

Изначально в наших продуктах это было реализовано посредством установки нужных пакетов через Шаблон ОС. Проблема в том, что шаблоны требуют значительных затрат на создание, поддержку и актуализацию. Все усугубляется, когда клиент просит сделать предустановку непопулярного набора пакетов. К примеру, BigBlueButton, платформы для проведения вебинаров. Пользователь заказывает VDS и проводит видеоконференции, но только раз в 3 месяца. Он не хочет тратить по 30 минут на инсталляцию ПО при каждом заказе выделенного сервера. Провайдеру же подобные запросы не всегда интересны. Узкоспециализированный шаблон порой влечет неоправданные издержки.
Под катом мы расскажем о том, как решить такие проблемы с помощью рецептов — скриптов, выполняющих автоматическую установку ПО в VMmanager и DCImanager.

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии2

Ближайшие события

Разработка динамических REST-сервисов на документо-ориентированной БД Bagri

Время на прочтение16 мин
Количество просмотров5.2K
Не так давно, просматривая ленту CNews, наткнулся на анонс конференции “ИТ в здравоохранении: в ожидании прорыва”. Оказывается, “начиная с 2011 г. в России реализуется масштабный государственный проект по внедрению Единой государственной информационной системы в сфере здравоохранения (ЕГИСЗ)”. Углубившись немного в материал обнаружил, что ЕГИЗС базируется на широко используемых на западе стандартах организации Health Language 7 (далее HL7). А в основе стандартов HL7 лежит XML. Появилось желание построить прототип системы, обрабатывающей документы HL7, на документной БД Bagri и, если прототип выйдет удачным, подготовить доклад о нем на конференцию.

image

Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии8

Разработка на базе фреймворка COREmanager. Как наши партнёры создавали решение для аутсорсинга техподдержки

Время на прочтение18 мин
Количество просмотров4.7K


Если кто-то решил начать своё дело и хочет предоставлять виртуальный хостинг, запустить онлайн-сервис по продаже цветов или кофе по франшизе, есть множество готовых инструментов для организации работы. С другой стороны, если запустить какой-то бизнес просто, надо быть готовым к большому количеству конкурентов в этой сфере. Вероятность “прогореть” повышается.
Если же заходить в какую-то мало освоенную область, где конкуренция меньше, то готовых инструментов для автоматизации задач может и не быть. Да, первое время можно всё делать вручную, однако когда количество клиентов подрастёт, придётся всерьёз задуматься над оптимизацией процессов.

При разработке средства автоматизации можно использовать фреймворк COREmanager как основу, скелет, продукта. Это сократит затраченное на кодирование время, а также позволит применить разные языки программирования для реализации различных функций.

Под катом — подробности разработки системы для аутсорс-техподдержки компанией ISPlicense.

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

1С магия XDTO-пакетов на примере интеграций с ГИС ЖКХ

Время на прочтение15 мин
Количество просмотров52K
Есть очень много статей о том, как работать с XSL/XSD из 1С, но все они в стиле: возьмем нашу XSD схему (простую и удбоную) или наш web-сервис и смотрите, как все легко экспортировать или импортировать. А что делать, если нам дали пачку XSD-схем со сложным взаимосвязями и изменять мы них не можем, а работать и поддерживать актуальность схем надо?
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии13

YML (Yandex Market Language) — Генерация файла товаров для Яндекс Вебмастер

Время на прочтение2 мин
Количество просмотров40K
Недавно я заметил что в Yandex Webmaster появился новый есть раздел, он называется «Товары и цены». Там я увидел как можно бесплатно улучшить в выдаче яндекса, страницы товаров магазина.

yandex

Так как я разрабатываю сейчас интернет магазин, такая возможность показалось очень заманчивой.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии11

Генерация автоматических тестов: Excel, XML, XSLT, далее — везде

Время на прочтение7 мин
Количество просмотров15K

Проблема


Есть определенная функциональная область приложения: некая экспертная система, анализирующая состояние данных, и выдающая результат — множество рекомендаций на базе набора правил. Компоненты системы покрыты определенным набором юнит-тестов, но основная «магия» заключается в выполнении правил. Набор правил определен заказчиком на стадии проекта, конфигурация выполнена.
Более того, поскольку после первоначальной приемки (это было долго и сложно — потому, что “вручную") в правила экспертной системы регулярно вносятся изменения по требованию заказчика. При этом, очевидно, неплохо — бы проводить регрессионное тестирование системы, чтобы убедиться, что остальные правила все еще работают корректно и никаких побочных эффектов последние изменения не внесли.

Основная сложность заключается даже не в подготовке сценариев — они есть, а в их выполнении. При выполнении сценариев “вручную", примерно 99% времени и усилий уходит на подготовку тестовых данных в приложении. Время исполнения правил экспертной системой и последующего анализа выдаваемого результата — незначительно по сравнению с подготовительной частью. Сложность выполнения тестов, как известно, серьезный негативный фактор, порождающий недоверие со стороны заказчика, и влияющий на развитие системы («Изменишь что-то, а потом тестировать еще прийдется… Ну его...»).

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

Под катом будет рассказано об одном подходе, реализующим данную идею — с использованием MS Excel, XML и XSLT преобразований.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии2

Поддержка BizTalk Server: полезные советы. Часть 2

Время на прочтение3 мин
Количество просмотров3K
Мы продолжаем цикл статей, в которых делимся с вами своим опытом поддержки MS BizTalk Server 2010. В данной статье мы расскажем об инструменте, который сэкономит вам кучу времени! Речь пойдет о пайплайнах (Pipelines), а точнее о пайплайн-компонентах (Pipeline components). Ссылка на первую статью находится тут. В ней вы найдете немного общей информации о том, что такое MS BizTalk Server и для чего он может вам понадобиться.

image
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Предоставление облачных ресурсов на базе VMware с помощью BILLmanager. Или как появился новый личный кабинет CloudLITE

Время на прочтение8 мин
Количество просмотров3.6K


Эта история про то, как компания ISPsystem и ведущий российский поставщик облачных услуг DataLine нашли друг друга на конференции WHD.global в Германии и что из этого вышло. Мы рассказали про высокую адаптируемость BILLmanager, а коллегам из DataLine нужен был новый личный кабинет для их проекта CloudLITE. В результате через месяц DataLine попросил нас адаптировать BILLmanager для предоставления облачных ресурсов на базе VMware.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии0

Вклад авторов