Pull to refresh
12
0
Дмитрий Масленников @DAiMor

InterSystems Senior Developer

Send message
оперативки то у нас вообще 256GB, у каше есть проблемы с выделением буфера больше 100GB, поэтому используем только такой объем
еще есть проблема если количество ядер на сервере больше 64, но это только под Windows
нет, думаю на это не стоит обращать внимания
можно запустить проверку целостности, и в протоколе
есть показатель Big String blocks или Длинные Строки, он и указывает на что что значение не уместилось в 1 блок
ну у нас например размер буфера 100GB, размер CacheTemp 40-50GB
чистить, кроме как удалять глобалы за собой никак, размер БД не будет уменьшаться только свободное место внутри нее, можно удалить файл при остановленном Cache тогда при старте он создаст новую
как много сразу интересных вопросов,
работу с WIJ отследить ни как не получится, напрямую работать с блоками полагаю возможно но очень трудно, и точно не нужно, очень легко порушить целостность БД.
статей скорее нет, пока не откуда, рекомендую захаживать на sql.ru, и в блоке InterSystems, последнее время появляются новые статьи.

на счет прямого доступа, проекты с которыми я работал, практически без sql все только на собственных индексах и хранении, но используются объекты, но у объекта есть свойства с многомерной структурой данных в нем
скажем так, реальных проектов по крайней мере в россии, с большим количеством клиентов это только ПФР наверно, есть в казахстане и украине у нас, но там могу сказать что в системе заведено порядка 8000-10000 тыс пользователей, из которых одновременно заходят до 1500, мы выдерживаем правда в много серверной ECP конфигурации.

так по буферам, 2КБ так же как и 4КБ это со старых версия осталось, сейчас в зависимости от объема и характера данных нужно использовать 8КБ или выше, сейчас оставлять 2КБ кеш не имеет смысла, Cache при необходимости использования буфера например 2КБ, может использовать 8КБ буфер
в младших версиях Cache нельзя было настроить через интерфейс буфера отличные от 2КБ и 8КБ, в версии 2012, добавили возможность настраивать буфера 4, 8, 16, 32, 64, и убрали 2КБ
необходимость использования отличного от 8КБ буфера, это если у вас есть БД с размером блока больше 8КБ. Для БД размер блока больше 8КБ имеет смысл, если у вас большая часть данных, имеется ввиду значение глобала не умещается в 8КБ, и размещается сразу в нескольких блоках, тогда подбирается подходящий размер блока, и кеширование становится наиболее эффективным. так же в конфигурации с ECP не будут кешироваться значения не умещающиеся в один блок

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

самое простое, это использовать свои индексы, писать свои универсальные обработчики запросов, например у нас запросы к БД сводятся к нескольким запросам вида
d rs.Execute(«field1»,«value1»)
d rs.Execute(«field2»,«value2»,"&")
d rs.Execute(«field3»,«value3»,"|")
в итоге мы получаем нужную нам выборку, с которой можем дальше работать
InterSystems Cache` и Ensemble, опыт разработки
есть вопросы по разработке администрированию задавайте
ну по крайней мере, я полагаю что вижу только то что настроил (проверить теперь сложно, так как чтобы увидеть все теперь нельзя), а сделать уникальный rss нет никакого труда, в ссылке rss подставляется определенный хеш, по которому думаю можно определить пользователя и его ленту, и соответственно когда идет запрос на наличие новых постов, то список хабов берется из настроек ленты указанного пользователя.
что именно возможно?
вы настраиваете ленту как вам удобно, чтобы там было только то что вы хотите читать через rss
потом открыв например Лента Посты Новые, подписываетесь на rss на этой странице, для этого в хроме я использую расширение RSS Subscription Extension (от Google), но похоже это расширение уже недоступно
статья конечно кажется бредом, и я полагаю что, как и в данном случае нужно еще постараться написать так чтобы инъекция стала возможной.
но в качестве примера для попыток взлома могу предложить поиграть с InterSystems Cache, думаю написать там код подверженный инъекциям будет сделать сложнее, конечно если использовать именно NoSQL доступ к данным а не sql.
Я в свое время для киосков службы занятости долго корпел собирал флешку со SLAX Linux, в котором вырезал сколько смог и успел, так чтобы работало. иксы оставил совсем чистые, достаточные чтобы запустить во весь экран firefox, который сразу грузит нужный адрес. полагаю увидеть что кроме фокса можно было бы только если он упал. и все это влезло в 150Mb на флешку, и долго еще искали мелкие такие, так что пришлось и большие искать. причем по сути флешка получилась довольно универсальная, так как все настройки хранились в обычном текстовом файле, а первый запуск с такой флешки начинался с калибровки экрана, настройки которого сохранялись на флешке.
таким образом там не нужен ни полноценный диск, ни полноценная ОС, на компе под виндой с помощью готового инсталлятора формитировалась флешка, втыкалась в терминал и он готов к работе.
Мы в своем приложении последнее время стараемся чаще использовать именно jQuery, и в дальнейшем есть желание совсем отказаться от #call, в связи с тем что для него необходимо держать настроенным приложение /csp/, обработка ошибок при выполнении гиперевентов и нет возможности сделать свою точку входа, например для логгирования вызовов
#call имеет смысл использовать когда нужно вызвать методы описанные в том же классе где и описывается вызов
таким образом при компиляции класса данная конструкция преобразовывается в вызов JS функции из стандартной поставки Cache, куда передается ряд параметров, один из них хеш вызываемого метода который так же был сгенерирован при компиляции, скажем так данный подход использовался еще до jQuery, как предлагаемый способ реализации AJAX вызовов

т.е. описав например так
#call(..Test(Arg))

на выходе в уже готовом HTML будет нечто вроде этого
cspCallHttpServerMethod("EWBOUMfOcF44CH87oMHlleTmS7nyBZ1I3SP3yekGBZ7Rt2bLIrg6_jDSnfSiz6Br77r3ADUt2iA1SPY39ph8vJv9PW4IokLYzQnIpMXvGqs-&CSPCHD=000p0104000011cn55zy010000wxuFmWvB8m58PzqH2cxlJQ--",Arg)
наш проект в Украине вроде довольно неплохо взлетает
вообще то каше поддерживает UTF-8 и довольно давно
если вопросы не о скриншотах, то о чем вы еще хотели спросить про каше?
а к чему весь этот огород когда, у каждого пользователя есть своя RSS лента которую он настраивает. вот и фильтруйте настройками ленты на хабре
Помнится у меня при разработке под iPad 1 была проблема когда при выводе на страницу картинок общим весом вроде больше 5 мегабайт. пока предел не был достигнут картинки отображаются, а потом только вопросики.
Интересно, что топик называется «прочитать должен каждый разработчик ПО», но странно почему в этот список попадают книги по C/C++. Это очень неправильно судить что, все разработчики ПО должны его знать. Я хоть и являюсь разработчиком ПО, но С/C++ знаю постольку поскольку я его не изучал подробно и не писал на нем, т.к. как мне он все таки не нужен. полагаю в данном списке должны быть книги только по общим принципам в программировании, которые можно приложить ко всем или хотя бы к большинству «живых» языков программирования. а так это список для программистов C/C++.
Хорошо, посмотрим может и попробую наскребсти на статью
на стадии внедрения все согласовывается с клиентом людьми которые занимаются внедрением, решается по плану срочность реализации и реализуется. ТЗ по большей части мной не используется так как и задачи по сути не грандиозные. Сами внедренцы ТЗ используют.

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

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity