Я тоже не разработчик. И тоже постараюсь ответить.
У функции $Increment есть определённая спецификация (контракт), которую она выполняет. Написано много когда, который на эту спецификацию расчитывает. $Sequence работает быстрее, за счёт нарушения этой спецификация. Даже не так — это вообще другая функция, с другой спецификацией (кеширование, шаг только в 1 и только вверх и т.д), которая может быть использована для той же цели, что и $Increment.
$Increment и так улучшается, но без нарушения совместимости.
Я постарался взять минимум из справки по $Sequence — зачем делать перевод на русский язык (почти наверняка корявый), того что просто, понятно, с примерами и не слишком длинно написано по-английски.
Если вас это устраивает, то ok.
А если нет — то ещё рекламирую отличную книжку «Growing object-oriented software guided by tests», в которой отлично описана философия юнит-тестов и TDD.
Можно включить аутентификацию на уровне ОС (http://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?KEY=GCAS_secmgmt#GCAS_secmgmt_autheopts) и запускать программы из командной строки Windows:
ccontrol cterminal CACHE ^^test
(http://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?KEY=GSA_using_instance#GSA_B150513)
В программе ^test может быть всё что угодно, в том числе запуск тестов
Для реляционных СУБД единственный способ хранения информации — таблицы. Столбцы этих таблиц могут быть разных типов, в том числе сложных (XML, JSON), но таблица должна быть. Внутри эти таблицы могут представляться как угодно, но сама СУБД программистов баз данных на уровень ниже таблиц не пускает.
Многие данные ложатся на таблицы естественно. Некоторые (иерархические, например) данные на таблицы естественным образом не отображаются, но есть много способов как их в таблицах моделировать.
Caché хороша в том числе многомодельностью. Если в таблицы что-то ложится плохо, можно использовать другие модели данных — объектную или иерархическую (глобалы). И рассматривать одни и те же данные с разных точек зрения. Или создать на основе глобалов свою модель, если нужно.
«замкнутый мирок», «вылез», «затроллили». Отчего такая неприязнь?
Раньше на Хабре, чтобы опубликовать статью в блоге компании, нужно было числиться сотрудником этой компании, поэтому у всех авторов блога InterSystems стоит галочка «работаю в InterSystems», хотя не все они в InterSystems работают.
JSON из Caché пишется достаточно просто. Например: write ##class(%ZEN.Auxiliary.jsonSQLProvider).%WriteJSONFromSQL("json", "SELECT * FROM Sample.Person")
«Когда Родина собирается с чем-то бороться, что она делает? Выпускает закон «О регулировании...». » avn475.livejournal.com/120324.html
Интересный пост про запрет ЦБ биткоинов.
У функции $Increment есть определённая спецификация (контракт), которую она выполняет. Написано много когда, который на эту спецификацию расчитывает. $Sequence работает быстрее, за счёт нарушения этой спецификация. Даже не так — это вообще другая функция, с другой спецификацией (кеширование, шаг только в 1 и только вверх и т.д), которая может быть использована для той же цели, что и $Increment.
$Increment и так улучшается, но без нарушения совместимости.
Вы, конечно, никуда лезть не должны.
Я постарался взять минимум из справки по $Sequence — зачем делать перевод на русский язык (почти наверняка корявый), того что просто, понятно, с примерами и не слишком длинно написано по-английски.
Численное переполнение, если начать с 1 никому не грозит.
А если нет — то ещё рекламирую отличную книжку «Growing object-oriented software guided by tests», в которой отлично описана философия юнит-тестов и TDD.
ccontrol cterminal CACHE ^^test
(http://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?KEY=GSA_using_instance#GSA_B150513)
В программе ^test может быть всё что угодно, в том числе запуск тестов
Многие данные ложатся на таблицы естественно. Некоторые (иерархические, например) данные на таблицы естественным образом не отображаются, но есть много способов как их в таблицах моделировать.
Caché хороша в том числе многомодельностью. Если в таблицы что-то ложится плохо, можно использовать другие модели данных — объектную или иерархическую (глобалы). И рассматривать одни и те же данные с разных точек зрения. Или создать на основе глобалов свою модель, если нужно.
«замкнутый мирок», «вылез», «затроллили». Отчего такая неприязнь?
JSON из Caché пишется достаточно просто. Например:
write ##class(%ZEN.Auxiliary.jsonSQLProvider).%WriteJSONFromSQL("json", "SELECT * FROM Sample.Person")
https://www.coursera.org/instructor/~28
Robert Sedgewick — Algorithms
https://www.coursera.org/instructor/~211
avn475.livejournal.com/120324.html
Интересный пост про запрет ЦБ биткоинов.
За 28-м февраля 1900-го идёт 1-е марта 1900-го