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

XML *

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

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

Как увеличить шрифт так, чтобы контейнер не поехал? Адаптация UI/UX для людей с проблемами зрения в XML и Compose

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 1.4K

Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI /UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку интерфейсов в XML и Compose для варьирующего размера шрифта. А также покажу почему атрибут contentDescription так важен.

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

Новости

Разработка Tizen-приложения для Samsung Smart Signage Platform(SSSP): гайд для js-разработчиков

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 1.2K

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

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

Двигай рукой справа налево: адаптация интерфейса в Android приложении под RTL в XML и Jetpack Compose

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 816

В общении важно уважать привычки и культурный контекст людей. Это относится и к мобильным приложениям. В статье рассказываю о культурном аспекте — чтении.

Рассмотрим как адаптировать интерфейс под RTL в XML и Jetpack Compose.

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

Парсер бинарных данных с WPF визуализацией в виде дерева структур и их полей. Структура, управляемая данными

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 4.4K

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

Адаптированный проект для публичного использования, рабочий на Гите, компилируется в простой exe-файл. Можно скачать как exe-файл, если доверяете своему антивирусу.  Надеюсь, кому-то пригодится. Но чтобы начать пользоваться надо научиться писать XАML определения вложенных структур, по которым работает парсер. Ссылка в конце статьи.

Не будет никаких модных слов, только то, что нужно для работы.

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

Истории

Визуальный и интерактивный отчёт матрицы коллизий из Autodesk Navisworks в Microsoft Power BI

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 2.8K

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

Эта статья является более расширенной версией поста с Dzen про формирование динамической матрицы коллизий. Судя по обратной связи, многим не хватило более подробного раскрытия процесса импорта и преобразования отчёта .xml в Power BI и дальнейшая работа с данными. В этой статье я постараюсь дать более подробный гайд, но также освещу весь процесс начиная с формирования поисковых наборов (Search Sets) в Autodesk Navisworks для более целостной картины.

В конце должны получить примерно такой результат...

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

Как и зачем мы парсим XML

Уровень сложности Простой
Время на прочтение 15 мин
Количество просмотров 6.5K

Большинство разработчиков рано или поздно сталкиваются с XML. Этот язык разметки настолько глубоко вошел в нашу жизнь, что сложно представить систему, в которой не используется он сам или его подмножества. Разбор XML - достаточно типовая задача, но даже в ней можно выделить несколько основных подходов. В этой статье мы хотим рассказать, зачем нам потребовалось парсить XML, какие подходы мы опробовали, а заодно продемонстрировать замеры производительности для самых популярных реализаций на C++.

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

Стандарт JDF простыми словами

Уровень сложности Простой
Время на прочтение 15 мин
Количество просмотров 1.8K

Организация CIP4 разработала стандарт JDF для автоматизации производственных процессов в печатной индустрии. Давайте подробнее рассмотрим сам формат и сегодняшнее состояние стандарта JDF.

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

Когда парсеры URL-адресов расходятся (CVE-2023-38633)

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 4.3K

Обнаружение и разбор уязвимости CVE-2023-38633 в librsvg, заключающейся в ситуации, когда две реализации URL-парсера (Rust и Glib) расходятся в парсинге схемы файла, создавая уязвимость к атаке обхода каталога.
Читать дальше →
Всего голосов 51: ↑51 и ↓0 +51
Комментарии 2

XML (SLD) схемы для Geoserver

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 868

Геоинформационные системы тема крайне обширная и довольно полезная. Для создания даже маленькой карты, нужно приложить большое количество сил, даже при использовании такого Opensource проекта как Geoserver. Одним из этапов создания красивой карты есть стилизация геоданных. В Geoserver для стилизации используются SLD схемы на основе XML, об этих схемах и пойдет речь.

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

JSON и XML для новичков

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 19K

Краткое описание понятий json и xml, а также работа с ними на языке python.

Всем привет! Это моя первая статья, немного волнительно, но потными ладошками все же пишу. Идея написания пришла ко мне после задачи на работе, которая была связана с направлением xml - файлов в ЦБ. Думаю, многие аналитики, работающие в банке, сталкивались или еще столкнутся с подобными задачами, поэтому хочу помочь будущим поколениям.

Читать далее
Всего голосов 22: ↑11 и ↓11 0
Комментарии 9

XPath — примеры запросов в html для парсинга сайта

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

Парсим данные с сайтов при помощи XPath и Screaming Frog без помощи программистов. Синтаксис XPath для выбора, ссылка на удобное расширение для извлечения пути, примеры для парсинга любых данных + запись моего мастер-класса в гостях у Михаила Шакина.

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

DesktopETL — кросс-платформенный прототип ETL-системы, или как регулярно загружать XML/JSON и сохранять в XLS/CSV

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 2.1K
image

Идея моего домашнего проекта началась с простой, на первый взгляд, задачи: с потребности конвертировать файлы формата XML в формат XLS (или CSV) для последующего анализа. И я был наивен, чтобы попробовать решение «в лоб» и с помощью Excel импортировать богатый внутренний мир SAP Business Objects, описанный в иерархической структуре XML, в табличную форму, — и примерно через час мое сознание, в очередной раз выдав исключение о переполнении памяти, подключило опыт, который намекнул, что иерархические структуры заранее неизвестной глубины проще всего обрабатывать посредством рекурсии. Так появился лаконичный скрипт на Python. Потом еще один. И еще. Потом скрипты пошли в массы среди коллег по цеху. Появились фантазии и мечты, например возможность каждые пять минут забирать XML (или JSON) из кафки (Apache Kafka), трансформировать на лету и класть, например, в DWH. Вполне ожидаемо, что была масса вопросов к скриптам и просьба «быстренько поправить». И в какой-то момент, как в том классическом анекдоте про «закопанную стюардессу», я понял, что хватит… Так и появился MVP, который я хотел бы представить в этой статье.
Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 4

Под капотом Госуслуг: про СМЭВ3 от первого лица

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 22K

Привет ИТ-сообщество! Я Анастасия Пятько, аналитик-внедренец из РТЛабс. Это компания, которая развивает всем известные Госуслуги и пытается облегчить нашу бюрократическую жизнь.

Недавно мне довелось выступить на HighLoad++ 2022 с похожей темой: «СМЭВ. Сильно проще, чем кажется. Полезные советы, как стартовать интеграцию через СМЭВ3 и СМЭВ4». Организаторы знают своё дело. В зале была заинтересованная аудитория, которая задавала вопросы с неподдельным интересом. С некоторыми разговор у стенда продолжался ещё несколько часов. Так родилась идея — зафиксировать всё текстом в этой статье.

Читать далее
Всего голосов 37: ↑35 и ↓2 +33
Комментарии 39

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Универсальный загрузчик XML на java. Или как загрузить файлы ГАР на 250 гб и остаться при памяти

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 4.6K

С проблемой загрузки больших XML столкнулся при переходе с КЛАДР и ФИАС на справочники ГАР - Государственный адресный реестр (Федеральная информационная адресная система).

Справочник ГАР содержит более подробную информацию чем предыдущие классификаторы. В том числе информацию по муниципальным делениям. В связи с чем справочник после распаковки занимет около 250 ГБ, что примерно в 3 раза больше чем тот же ФИАС.

Предыдущая загрузка работала на DOM-модели, т.е. весь XML-файл считывался в память. Соответственно при попытке загрузить ГАР таким же способом стали стабильно получать OutOfMemory. А значит настало время менять подход к загрузке)

Немного теории:

DOM (Document Object Model) - это стандартный интерфейс для работы с документами в формате XML (Extensible Markup Language). DOM-модель представляет XML-документ в виде дерева объектов, где каждый элемент и атрибут документа является узлом дерева.

SAX (Simple API for XML) является событийно-ориентированным API для чтения XML-документа. Он предоставляет возможность читать XML-документ последовательно и обрабатывать события, такие как начало и конец элемента, содержимое элемента и т.д.

StAX (Streaming API for XML) также является API для последовательного чтения и записи XML-документов. Он предоставляет потоковый доступ к XML-документу, позволяя читать его и записывать по частям. StAX предоставляет возможность читать и записывать XML-документы в виде потока событий, аналогично SAX, но также предоставляет возможность читать и записывать XML-документы в виде итерируемых наборов событий. StAX позволяет эффективно обрабатывать большие XML-документы и не требует реализации обработчиков событий.

Читать далее
Всего голосов 15: ↑9 и ↓6 +3
Комментарии 19

ЦУЦ — или как свести 15 тысяч товаров от разных поставщиков на коленке

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 2.3K

По мере роста бизнеса и расширения ассортимента товаров, компания столкнулась с проблемой остатков товаров и актуальными ценами. Если в начале моей работы, количество товара на сайте было в районе 3 тысяч, то на текущий момент позиций более 15 тысяч. Обновлять руками такое количество позиций нереально. С чего я начал работу по автоматизации цен и с какими трудностями столкнулся читайте в моей публикации.

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

Проверка XML. Schematron

Уровень сложности Сложный
Время на прочтение 9 мин
Количество просмотров 5.4K

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

Недавно мне довелось поучаствовать в проекте, особую роль в котором занимают функции форматно-логического контроля входящих документов. Как следствие, у меня появились некоторые варианты решения подобных задач. Одним из них я и хочу поделиться.
Читать дальше →
Всего голосов 40: ↑39 и ↓1 +38
Комментарии 1

XML дерево на С. Пишем подготовительный код для библиотеки targetXML

Уровень сложности Сложный
Время на прочтение 18 мин
Количество просмотров 1.8K

targetXML - маленький экскурс в структуру дерева XML на примере работоспособного кода «pure C».

Здравствуй уважаемый читатель. Я пишу код на С и С++. В этой короткой статье подробно описывается мой подготовительный этап создания маленькой библиотечки на языке С, работающей с файлами xml. Рассказ об опыте такой разработки может пригодится как новичкам, любителям, так и профессионалам. К тому же в статье есть ссылка на исходный код, и вы всегда можете, при желании, заняться оптимизацией.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 3

Краткий обзор Layout XML в Android. Часть 2

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 2.6K

Возможно, что когда-нибудь Compose вытеснит XML также как Kotlin подвинул Java, но пока этого не случилось — продолжу ознакомление новичков в Android-разработке с миром Layouts.

Это продолжение статьи Краткий обзор Layout XML в Android. Часть 1

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Комментарии 1

WPF: контролы лишенные внешнего вида и неразрешимая задача выбора конфигурации темплейта

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 2.7K

Мне последнее время приходится заниматься интерфейсом приложения для анализа данных, визуальным представлением данных на разных слоях анализа, а также навигацией по слоям и по данным. Соответственно, пришлось разбираться c новомодным WPF, который продвигает концепцию реализующую возможность параллельной (независимой) работы дизайнеров, занимающихся внешним видом приложения и разработчиков, реализующих поведение приложения. Дизайнер, конечно, из меня не очень (мягко говоря), а вот с реализованной концепцией программирования внешнего вида элементов управления в приложениях, мне, кажется, удалось разобраться. Собственно, вот этим пониманием некоторых аспектов концепции я и хочу поделиться, в том числе для того, чтобы расширить это понимание по результатам критики и/или обсуждения.

Возможно, кому‑то будет интересно сравнить то, что предлагает WPF, с концепциями реализованными, например, в JavaFX.

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

Краткий обзор Layout XML в Android. Часть 1

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 3.9K

Пока модные и современные тестируют Jetpack Compose в новых проектах, мы с вами поговорим о старой доброй XML разметке.

Буквально по паре предложений о каждом Layout, чтобы составить общее представление об их применении. Для тех, кто хочет подробностей — прикрепил дополнительные ссылки.

Статья рассчитана на тех, кто только начинает разработку на Android, но возможно и более опытные разработчики почерпнут для себя полезные сведения.

Читать далее
Всего голосов 10: ↑4 и ↓6 -2
Комментарии 3

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