Як я розбирав docx з допомогою XSLT

Завдання обробки документів у форматі docx, а також таблиць xlsx і презентацій pptx є досить нетривіальною. У цій статті розповім як навчитися парсити, створювати і обробляти такі документи використовуючи тільки XSLT і ZIP архіватор.
Читати далі →

Дружимо Prometheus з Caché

Prometheus – одна з систем моніторингу, адаптованих під збір time series даних.
Вона досить проста в інсталяції і початкового налаштування. Має вбудовану графічну підсистему для відображення даних PromDash, проте самі ж розробники рекомендують використовувати безкоштовний сторонній продукт Grafana. Prometheus вміє моніторити багато чого («залізо», контейнери, різні СУБД), однак у даній статті хотілося б зупинитися на реалізації моніторингу инстанса Caché (точніше, інстанси буде Ensemble, але метрики будемо брати кашовые). Кому цікаво — ласкаво просимо під кат.


Читати далі →

Перегляд глобалів на Порталі Керування СКБД Caché

Викликає антирес і ше такий розріз
(Цар з «Про Федота-стрільця»)
Все в Caché зберігається в глобалах. Дані, метадані, класи, програми. Для перегляду глобалів на Порталі керування існує зручний інструмент — сторінка «Перегляд даних глобала». Її-то ми сьогодні і розглянемо.
Прикладом глобал нам буде служити ^DeepSee.Cubes. Це глобал, в якому зберігається список кубів DeepSee. Для читання цієї статті знати DeepSee вам зовсім не обов'язково.
Щоб потрапити на сторінку «Перегляд даних глобал», відкрийте Портал Керування, виберіть «Оглядач системи» (System Explorer) → «Глобаль» (Globals). Потім зліва потрібну область і натисніть «Перегляд» поряд з потрібним глобалом.
Читати далі →

Реліз СУБД InterSystems Caché 2016.2


Всім привіт! Відбувся черговий випуск нової версії Caché під номером 2016.2. Змін не так багато, але всі вони важливі. Як завжди, спочатку публікуємо посилання на повний список змін (англійською мовою).
Отже.
Читати далі →

Клас віддаленого проксі — це не (дуже) боляче

Fish Out Of Watermelon by Joan Pollak (Динамічна диспетчеризація поспішає на допомогу)
Після кількох статей про MapReduce нам здалося необхідним ще раз відійти в сторону і поговорити про інфраструктуру, яка допоможе полегшити побудову рішення MapReduce. Ми, як і раніше, говоримо про InterSystems Caché, і, як і раніше, намагаємося побудувати MapReduce систему на базі наявних в системі підручних матеріалів.
На певному етапі написання системи, типу MapReduce, постає завдання зручного виклику віддалених методів і процедур (наприклад, здійснення керуючих повідомлень з контролера на бік керованих вузлів). У середовищі Caché є кілька простих, але не дуже зручних методів досягти цієї мети, тоді як хочеться отримати саме зручний.

Читати далі →

Caché Localization Manager або I11N в InterSystems Caché



Caché Localization Manager
Якщо двома словами, то CLM це утиліта, яка може бути корисна при локалізації/інтернаціоналізації/додавання мультимовності проектів на InterSystems Caché.

Читати далі →

MapReduce на коліні. Частина III – збираємо всі разом

Mosaic by Joan PollakУ першій (досить капітанською) частини цієї серії ми розповіли про базові концепції MapReduce чому це погано, чому це неминуче, і як з цим жити в інших середовищах розробки (якщо ви не про Сі++ або Java). У другий частини ми таки почали розповідати про базові класи реалізації MapReduce на Caché ObjectScript, ввівши абстрактні інтерфейси і їх первинні реалізації.
Прийшов сьогодні наш день! – ми покажемо перший приклад зібраний у парадигмі MapReduce, так, він буде дивний і не найефективніший, і зовсім не розподілений, але цілком MapReduce.


Читати далі →

Розробка в InterSystems Caché в вашої улюбленої IDE

Доброго дня! У InterSystems Caché є цілком практичний спосіб розробляти рішення без використання інтегрованих в неї інструментів. Весь код проекту можна зберігати у вигляді традиційних файлів з вихідним кодом, редагувати в улюбленій середовищі розробки, індексувати системою контролю версій і однією командою виконувати імпорт та компіляцію класів у СКБД Caché. Більш того, це надає можливість використовувати будь-які інші зовнішні інструменти, наприклад, для складання і препроцессинга коду. У даній статті буде розглянуто поки що не традиційний для Caché, але досить практичний цикл розробки проектів.

Читати далі →