| Главная | Математика | Программирование | Caché | Творчество | Решатели |

Технологии Caché

Этот раздел посвящен М-технологиям и, в основном, СУБД Caché.

Список ссылок на различные ресурсы по М-технологиям, Cache и другие.

Проект MiniM
Страница проекта М-системы моей разработки.

Вакансии для программистов Каше.
Для помещения объявления о вакансии пришлите текст объявления письмом на ekarataev@mail.ru.

Callout - плагины для Cache

Шарымов Михаил, MUMPS и Объекты
Один из вариантов добавления к языку MUMPS объектов.

Модернизированный Makova Global Viewer для каше 5.0 и выше, который может работать как с 8-битовой каше так и с юникодовой каше с русскими символами.
Download glview.zip
Если установлен оригинальный Makova Global Viewer, то нужно заменить glview.exe на клиенте и zmrobjXXX на сервере.

История (Hardhats) «Каски»
Перевод Александра Концедалова истории создания программной системы Hardhats.

Александр Концедалов, письма.
История началась.
MUMPS – Масачусетские утилиты многопрограммной системы.
Появление MUMPS в СССР
ПЕРВАЯ КОНФЕРЕНЦИЯ ПОЛЬЗОВАТЕЛЕЙ MUMPS в СССР: 1985 год
Вторая конференция пользователей MUMPS в Алма-Ате в 1986 г.
Ассоциация «Союз-ДИАМС»
Советский MUMPS: системы MIDUS и NTSM.
Встреча MUMPS-миров: американцы в Москве.

Интервью.
Интервью с Константином Аристовым
Интервью с Александром Дроздовым
Интервью с Алексеем Коломийцем

Заметки и другие материалы:

Пользовательский интерфейс для "горячего" монтирования разных CACHE.DAT в один namespace.
Как позволить пользователям самим устанавливать старую базу (по сути файл Cache.dat) в namespace предназначенный для просмотра архивных баз.
Автор Артем Рева.

Чем мне не нравится SQL.
Взгляд мампсера на SQL.

Cache + BCB: Датасет для SQL запросов.
Василенко Богдан. Мне захотелось иметь такой компонент который бы фетчил все что угодно. Переписывать Борландовские компоненты и урезать в них некоторые типы было бы глупо и трудоемко, я решил написать свой собственный на базе CacheObject и TRxMemoryData.

Cache': Где наша переменная цикла?
С какой переменной работает команда циклов for в cache?

Вывод данных на веб страничке с помощью ActiveX ListView (только IE)
Как используя Cache CSP и ActiveX вывести на html страничке информацию из базы данных. Автор Артем Рева.

Cache': Как написать свою функцию агрегации для group by?
В некоторых случаях при использовании выборки с группировкой (group by) хотелось бы использовать свой алгоритм агрегации значений. Как это сделать в Cache?

Cache': Как параметризовать select from in?
Как в cache sql передать через параметр несколько значений в выражение in?

Cache': Как сделать select from limit
В некоторых случаях при использовании sql нужно ограничить выборку числа строк, указав, с какой строки выдать и сколько строк выдать. Как сделать то же самое в Cache?

Cache': Как развернуть значение параметра в несколько строк
В некоторых случаях при использовании хранимых процедур ну очень хочется иметь механизм получения нескольких строк в select где значения строк определяются содержанием параметра запроса. Как это сделать в Cache?

Cache': Как сделать select from dual
В некоторых случаях при использовании хранимых процедур ну очень хочется иметь механизм аналогичный псевдотаблице dual из Oracle. Как сделать то же самое в Cache?

М-программисты настолько суровы...
Насколько же суровы М-программисты?

MSM: Компиляция исходных текстов
Как скомпилировать в MSM программу, использующую директивы препроцессора. Автор Александр Павлов.

Создатель инсталяций серверной части для Intersystems Cache 5.
Программа позволяет установить в произвольную область на сервере глобалы, классы и программы заранее выгруженные в соответствующие файлы, стандартными средствами Cache.
Автор Василенко Богдан.

Cache': Дефект в косвенности аргумента команд
При исследовании особенностей выполнения argument indirection в различных реализациях MUMPS, я натолкнулся на дефект его реализации в cache и msm.

Cache': Пишем инсталлятор программ для локальной Cache на InnoSetup
Как вставить в инсталлятор сделанный на InnoSetup импорт и исполнение кода в каше не используя VisM и CacheObject.

Cache': Иконки Cache'-куба
Как сменить иконки каше-куба в трее, чтобы различить несколько инсталляций каше. Автор infer_no.

Cache': Обращаемся к своему свойству.
В методе объекта обратиться к своему свойству можно 4-мя способами. Когда какой предпочтительней и какая между ними разница?

Cache': О безопасности csp приложений.
Что я рекомендую сделать для повышения безопасности Cache' при выставлении csp приложений в интернет.

Cache' Backdoors Guide
Какие меры надо принять после инсталляции Cache' чтобы повысить безопасность инсталляции. Автор Антон Умников.

MUMPS: Очередность выполнения и вычисления выражений.
В какой последовательности вычисляются выражения и выполняются операции, нюансы mumps.

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

SMWrap: Как выполнить скрипт на клиенте.
Как в программе на SMWrap выполнить скрипт на языке VBScript или JavaScript на клиентской стороне?

SMWrap: Как сделать имитатор гиперссылки.
Как в программе на SMWrap сделать гиперссылку, при клике по которой работало бы http: или mailto: как в браузере?

Инсталляция ZMRPMD на Cache 5.2
Что нужно сделать если штатные средства инсталляции серверной части Makova SMWrap или Makova Global Viewer на Cache 5.2 по каким-либо причинам не подходят.

Cache': О непечатном
Как посмотреть что именно содержится в строке если команда write выводит какие-то непонятные непечатные символы?

Cache': Где наши данные?
Как получить доступ к данным с нестандартным размещением через объектный и sql интерфейсы?

Cache: Ищем в потоке или в сегментированных данных
Как найти подстроку в потоке или в данных, которые представлены последовательностью строк?

Cache': Торможение при индексировании
Как можно улучшить временные характеристики при индексировании большого количества данных.

Cache': Как в списке удалить или вставить элементы?
Если есть список полученный с помощью $listbuild(), то как в нем вставить другие элементы в заданной позиции или удалить элементы из заданной позиции? Как взять подсписок из списка?

SMWrap: Инсталляция вручную.
Как установить SMWrap вручную для случаев когда автоматические средства штатного инсталлятора не подошли по каким-либо причинам.

Cache emergency mode
Что можно сделать если забыт пароль администратора инсталляции Каше 5.2. Автор infer_no, по материалам InterSystems.

Cache': Удаляем русскую локализацию.
Краткий набор правил как удалить русскую локализацию Каше если она по каким-либо причинам не устраивает или мешает. Автор infer_no.

Cache': zobj команды и $zobj функции.
Список документированных (в некоторых версиях) и недокументированных zobj команд и $zobj функций. Список получен сборкой информации из различных источников и конечно не претендует на полноту. Материал может быть интересен тем кому требуется оперировать объектами на низком уровне.

Портал Управления Системой Cache' 5.1 и User StartUp
Как преодолеть незапуск сервера при ошибке в startup. Автор infer_no. Каждый может ошибиться, и нужно знать что делать чтобы ошибку исправить.

Доступ к MSSQL из Cache' на платформе Linux
Как можно организовать связь cache' на linux в качестве клиента и MSSQL в качестве сервера. Перевод на английский язык. Заметка Алимова Игоря, перевод Тимура Сафина.

Универсальный MUMPS-commander
Менеджер для работы с routines/globals в MUMPS системах. Работает под следующими MUMPS системами: msm (4 версия и выше), cache, m21, m3-Lite, gtm. Автор Андрей Вологдин

Cache': Просмотр базы read-only
Вариант решения проблемы с просмотром глобалов в проводнике в базе данных, смонтированной только на чтение.

Cache': Политика обработки ошибок в приложениях.
Данный документ представляет собой пример "политики по обработке ошибок". Сформулированные здесь правила представляют собой свод проверенных на практике приемов и решений по обработке ошибок в Cache приложениях. Вы можете использовать ее в качестве примера для разработки правил обработки ошибок в своем коллективе.

М-системы: нестандартный $tr
Оригинальные способы использования функции $tr для перестановок символов.

M-системы: проверка корректности синтаксиса
Как проверить синтаксическую корректность строки под Cache и MSM.

Cache': восстановление иконки в трее
Как восстановить иконку Каше Куба в системном трее если она пропала по каким-то причинам.

Cache': перехват текущего устройства
Описание возможности организовать перехват операций ввода-вывода с текущим устройством.

Комментарии в Cache.
Описание какие комментарии бывают в Cache и как ими можно пользоваться в полезных целях.

Программа для прямого доступа к Cache.
Программа состоит из серверной части (mdapi), устанавливается в Cache и запускается фоновым заданием, и набора библиотек для взаимодействия по TCP/IP с сервером. Есть библиотеки для Delphi, Java, C++. Автор Максим Мержвинский.

Cache': отладка callout-модуля
Приводится способ запуска cache.exe в качестве хост-программы для отладки callout-модуля.

CacheObject: SetOutput в Delphi.
Приводится техника использования callback - функциональности CacheObject в Delphi.

Смотрим план запроса
Краткая csp - утилита показа плана выполнения sql - запроса.

CSP: делаем отчет в pdf
Приводится вариант получения на сервере отчета в формате pdf с использованием механизма csp и csp тегов.

Борьба с deadlock.
Приводится вариант решения проблемы deadlock используя разбиение блокировок на упорядоченные группы.

Три трюка с макросами.
Приводятся трюки применения макрокоманд и их возможностей для облегчения работы.

Использование плагина ekscr для чтения лога сообщений
Описание схемы и пример применения скрипта на языке perl с хранением тела скрипта в комментариях программы на COS.

Использование плагина ekscr для построения отчета на сервере
Описание схемы и пример генерации на сервере отчета с использованиям средств Microsoft Office.

Caché: профилируем программу
Небольшое описание использования утилиты ^%MONLBL для профилирования выполнения программы.

Проверка строки на "списочность"
Функция на M проверки является ли строка потенциально корректным списком. В некоторых случаях это важно.

SMWrap: Пример использования в отчетах секции GroupHeader
Описывается техника использования в отчетах SMWrap банда типа GroupHeader. Демонстрируется на простеньком примерчике.

ZMRPMD: Настройка алиасов на клиентских машинах
Описывается механизм хранения алиасов и их использование при администрировании большой сети.

Как сделать двунаправленный запрос
Описание способа реализовать sql-запрос, который можно прокручивать в обоих направлениях. Вариант опирается на предположение о внутреннем поведении sql-движка Cache' и проверялся на версии 4.1.9.

Cache': Передача аргументов
Описание вариантов передачи аргументов функций на Cache Object Script. Варианты передачи фактических и приема формальных.

Cache': перенос классов без исходников
Описание варианта переноса класса Cache' без раскрытия исходного кода.

Cache': техника группировки
Описание методики группирования данных - виды, плюсы, минусы.

Caché: Прямой доступ через CacheObject
Описание методики получения прямого доступа через COM - библиотеку CacheObject. Пример демонстрируется на Perl - клиенте.

Caché: Прямой доступ через ODBC
Описание несколько нестандартной методики получения прямого доступа к СУБД Caché из ODBC - клиента. Описывается механизм прямого чтения, записи, косвенного выполнения выражения и получение результата работы выражения, выводящего данные в текущее устройство. В качестве проверочных примеров приводится компиляция класса из ODBC - клиента и просмотр контекста работы ODBC шлюза Caché изнутри процесса. Пример демонстрируется на Perl - клиенте.

Пишем генератор диалоговых окон для SMWrap
Описание визарда диалогового окна SMWrap, написанного на SMWrap. Визард запрашивает параметры диалогового окна, создает необходимый класс, компилирует его и запускает полученное окно на выполнение, демонстрируя результат. Форма генерируется в формате, позволяющем ее последующее редактирование SMWrap Developer.

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

Некоторые документы по работе с Caché SQLStorage и Caché CustomStorage
Материалы опираются на устаревший язык описания классов CDL. В современных версиях Каше компания ИНтерсистемс рекомендует использовать XML описания.

Проектирование для иерархических баз данных
Приемы проектирования схемы данных для иерархических баз данных. Применение индексов частного вида, приемы нормализации и денормализации схемы. Эволюция схемы данных.

Директивы препроцессора Cache
Неофициальное описание директив препроцессора Cache. Приведены для версии 3.2.2. Большинство из них должно работать и на других версиях. В официальной документации описание препроцессора недостаточно для полноценного использования, поэтому это описание может оказаться весьма полезным. Все приведенные директивы были проверены. Описания собраны по отдельности из различных источников и гарантии полноты списка дать не могу. Если будут дополнения, пришлите, добавлю в список.

Вырабатываем командный голос или zz-команды в Cache
Краткое описание создания пользовательских zz-команд в Cache.

Вызываем Cache!
Набор рецептов по соединению с базой данных Cache и обращению к ее объектам из клиентских программ, написанных на разных языках программирования.

Apache - CSP - Cache'
Описание для программистов способа настройки Apache и CSP. По шагам и понятно.

Создание пользовательских z-переменных и z-функций в Cache'
Описание правил создания пользовательских z-переменных и z-функций. Просто и понятно.

Вызываем метод базового класса на COS
Два способа вызвать переопределяемый метод базового класса на языке CacheObjectScript.

Ссылки по теме

Сайт www.cache.ru

Программа учета медосмотров

Сайт ФинСтрим

Раздел сайта Димас Кашевар

Сайт MakovaSoft

Электронное руководство по cache

Сайт ИнформИкс

Сайт Эскейп

Чехословацкие мампсеры

Немецкие мампсеры

Форум бразильских мампсеров

Блог о технологиях InterSystems


| Главная | Математика | Программирование | Caché | Творчество | Решатели |

Дизайн и сопровождение: Евгений Каратаев








Если вам необходим почтовый аккаунт, тогда почта на Qip.ru - ваш выбор. Для хранения фото и видео рекомендуем бесплатный фотохостинг.
Для студентов и абитуриентов: крупнейшая библиотека рефератов и сочинений. Скриншот экрана - просто и удобно с QIP Shot.