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

Персональный доступ к файлам на сайте сделанном на MODx

Время на прочтение2 мин
Количество просмотров6.1K
Задача: Есть CMS MODx Revolution. Среди всех зарегистрированных пользователей на сайте есть пользователь с именем 13335. Для него загружен файл, который не должен видеть никто, кроме него самого.
Читать дальше →
Всего голосов 32: ↑5 и ↓27-22
Комментарии2

Семафоры, или как разруливать доступ к ресурсам в DBMS Caché

Время на прочтение14 мин
Количество просмотров8.8K
Часто при многопользовательском или параллельном доступе к данным возникает ситуация, когда необходимо заблокировать/дать доступ к переменной или участку памяти одновременно нескольким процессам. Решается данная задача с помощью мьютексов, семафоров, мониторов и т. д. В данном посте рассмотрим как же реализован один из методов предоставления совместного доступа к данным — семафор — в СУБД Intersystems Caché.

Что же такое семафор в Cache и с чем его едят?
Всего голосов 19: ↑16 и ↓3+13
Комментарии6

Как выполнять методы предков в реализации прототипного наследования

Время на прочтение8 мин
Количество просмотров12K
При работе с наследованием иногда возникает желание иметь функцию доступа к методу предка (методу родительского класса) — в конструкторе (аналоге класса для Javascript) или в методе-потомке, потому что, бывает, что новый класс переопределяет его. Не просто какую-нибудь функцию (метод), а с совершенно понятной записью, чтобы название говорило само за себя, и имеющую доступ к указанному поколению предков (не «пра-пра-пра-», а «пра- 3 раза»).

Возьмём за основу метод прототипного наследования, который максимально эффективен тем, что производит минимум действий при описании цепочек наследуемых классов и при этом максимально поддерживает базовые операции и свойства наследования: instanceof, constructor. Для доступа к предку он создаёт свойство .superclass.
Читать дальше →
Всего голосов 38: ↑27 и ↓11+16
Комментарии37

Серия 2. Как выполнять методы предков в модификации прототипного наследования

Время на прочтение15 мин
Количество просмотров2.6K
imageОформим начатое в habrahabr.ru/blogs/javascript/130495 в удобный для использования метод .inherit4 конструктора Constr, чтобы, фактически построить модель классов и наследования (она будет более мощной, чем классическая, но это побочный эффект). Если у Вас нет желания подключать Mootools с аналогичной моделью, будет достаточно этого метода на 2 КБ несжатого кода, чтобы нормально работать с прототипным наследованием и иметь пару дополнительных методов: доступ к методам предков .ancestor('имя_метода', номер_поколения_предка) и расширение хешей. Применение всех 3 методов позволяет исключить из лексикона слова prototype и constructor, продолжая работать с тем и другим, и делает код легко читаемым.
Читать дальше →
Всего голосов 24: ↑19 и ↓5+14
Комментарии27