Модель разрешения Firebase позволяет пользователю получить доступ к данным, к которым вы явно разрешаете доступ. Поскольку в ваших правилах безопасности вы предоставляете доступ только к /users/$uid
, пользователь не может читать из root /
. Документация Firebase описывает это в разделе «rules cascade» .
Кажется, вы хотите использовать правила безопасности для фильтрации данных, что невозможно в модели безопасности Firebase. См. Раздел «Правила не являются фильтрами» в документации Firebase, а также эти предыдущие вопросы и ответы:
Самое простое решение - разрешить чтение узла users
:
{
"rules": {
"users": {
".read": "auth !== null && auth.provider === 'password'"
}
}
}
И затем запросить на этом уровне:
getData(ref.child("users"));
Контроль страница TimeComplexity на py отмечает точкой org Wiki. Это покрывает set/dicts/lists/etc, по крайней мере, насколько временная сложность идет.
Raymond D. Hettinger делает превосходный разговор ( слайды ) о встроенных наборах Python, названных 'Базовые Контейнеры Python - Под Капотом'. Версия, которую я видел сфокусированный главным образом на set
и dict
, но list
, была покрыта также.
существуют также некоторые фотографии подходящих слайдов от EuroPython в [1 113], блог .
Здесь является сводкой моих примечаний по list
:
memcpy
при росте путем сверхвыделения. Много маленьких списков потратят впустую много пространства, но большие списки никогда не тратят впустую больше, чем приблизительно 12,5% к сверхвыделению. range(n)
, map()
, list()
, [None] * n
, и разрезание. realloc
редактор только, когда он тратит впустую 50% пространства. pop
является дешевым. Если Ваше выяснение, что я думаю Ваше выяснение, можно найти их Здесь ... страница 476 и на.
Это записано вокруг методов оптимизации для Python; это - главным образом Нотация "большого О" эффективности времени не много памяти.